+ The switch component can be used in its smaller version using the
+ sizing parameter.
+ medium is the default. Passing
+ small you'll get the smaller version
+
+ There are situation in which the content is not disabled but it's also
+ only on reading. If the field is calculated and/or will never be
+ modified and it's passed in the form, than it's a read only field.
+ read-only renders an unclickable text but
+ it's value is included in form submissions.
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+ sed do eiusmod tempor incididunt ut labore et dolore magna
+ aliqua. Ut enim ad minim veniam, quis nostrud exercitation
+ ullamco laboris nisi.
Promise;
+ /**
+ * Sets the type of the button
+ * @default KupComponentSizing.MEDIUM
+ */
+ "sizing": KupComponentSizing;
/**
* This method activates or deactivates an item
* @param itemName - Name of the item.
@@ -151,6 +158,11 @@ export namespace Components {
"toggleItem": (itemName: string) => Promise;
}
interface KupAutocomplete {
+ /**
+ * Set alert message
+ * @default '''
+ */
+ "alert": string;
/**
* When true, the autocomplete fires the change event even when the value typed isn't included in the autocomplete list.
* @default false
@@ -177,6 +189,11 @@ export namespace Components {
* @default ItemsDisplayMode.DESCRIPTION
*/
"displayMode": ItemsDisplayMode;
+ /**
+ * Set error message
+ * @default '''
+ */
+ "error": string;
/**
* Used to retrieve component's props values.
* @param descriptions - When provided and true, the result will be the list of props with their description.
@@ -188,6 +205,11 @@ export namespace Components {
* @returns Value of the component.
*/
"getValue": () => Promise;
+ /**
+ * When set, the text-field will show this icon.
+ * @default null
+ */
+ "icon": string;
/**
* Sets the initial value of the component.
* @default ""
@@ -198,11 +220,31 @@ export namespace Components {
* @default 300
*/
"inputDelay": number;
+ /**
+ * Enables a clear trailing icon.
+ * @default false
+ */
+ "isClearable": boolean;
+ /**
+ * When set, its content will be shown as a label.
+ * @default null
+ */
+ "label": string;
+ /**
+ * When set to true, the label will be on the left of the component.
+ * @default false
+ */
+ "leadingLabel": boolean;
/**
* The minimum number of chars to trigger the autocomplete
* @default 1
*/
"minimumChars": number;
+ /**
+ * Sets the component to read only state, making it not editable, but interactable. Used in combobox component when it behaves as a select.
+ * @default false
+ */
+ "readOnly": boolean;
/**
* This method is used to trigger a new render of the component.
*/
@@ -236,6 +278,16 @@ export namespace Components {
* @default true
*/
"showDropDownIcon": boolean;
+ /**
+ * Sets the type of the button
+ * @default KupComponentSizing.MEDIUM
+ */
+ "sizing": KupComponentSizing;
+ /**
+ * When set, the icon will be shown after the text.
+ * @default false
+ */
+ "trailingIcon": boolean;
}
interface KupBadge {
/**
@@ -1019,7 +1071,7 @@ export namespace Components {
*/
"setProps": (props: GenericObject) => Promise;
/**
- * Sets the type of the chip
+ * Sets the size of the chip
* @default FChipSize.MEDIUM
*/
"sizing": FChipSize;
@@ -1131,21 +1183,6 @@ export namespace Components {
* @returns Value of the component.
*/
"getValue": () => Promise;
- /**
- * When set, its content will be shown as a help text below the field.
- * @default null
- */
- "helper": string;
- /**
- * When true, the helper will be displayed.
- * @default true
- */
- "helperEnabled": boolean;
- /**
- * When set, the helper will be shown only when the field is focused.
- * @default false
- */
- "helperWhenFocused": boolean;
/**
* When set, the text-field will show this icon.
* @default null
@@ -2079,7 +2116,7 @@ export namespace Components {
"hiddenSubmitButton": boolean;
/**
* Sets the label placement for 'all' fields in form
- * @default KupFormLabelPlacement.LEFT
+ * @default KupFormLabelPlacement.TOP
*/
"labelPlacement": KupFormLabelPlacement;
/**
@@ -3190,6 +3227,16 @@ export namespace Components {
* @returns List of props as object, each key will be a prop.
*/
"getProps": (descriptions?: boolean) => Promise;
+ /**
+ * Defaults at false. When set to true, the component is horizontal.
+ * @default false
+ */
+ "horizontal": boolean;
+ /**
+ * When set, its content will be shown as a label.
+ * @default null
+ */
+ "label": string;
/**
* Defaults at false. When set to true, the label will be on the left of the component.
* @default false
@@ -3399,6 +3446,11 @@ export namespace Components {
* @param props - Object containing props that will be set to the component.
*/
"setProps": (props: GenericObject) => Promise;
+ /**
+ * Sets the size of the switch
+ * @default FSwitchSizing.MEDIUM
+ */
+ "sizing": FSwitchSizing;
}
interface KupSwitcher {
"timeUnitChange": KupPlannerSwitcherProps['onTimeUnitChange'];
@@ -3415,6 +3467,11 @@ export namespace Components {
* @default null
*/
"data": KupTabBarNode[];
+ /**
+ * Defaults at false. When set to true, the component is dense.
+ * @default false
+ */
+ "dense": boolean;
/**
* Used to retrieve component's props values.
* @param descriptions - When provided and true, the result will be the list of props with their description.
@@ -5187,8 +5244,18 @@ declare namespace LocalJSX {
* @default true
*/
"ripple"?: boolean;
+ /**
+ * Sets the type of the button
+ * @default KupComponentSizing.MEDIUM
+ */
+ "sizing"?: KupComponentSizing;
}
interface KupAutocomplete {
+ /**
+ * Set alert message
+ * @default '''
+ */
+ "alert"?: string;
/**
* When true, the autocomplete fires the change event even when the value typed isn't included in the autocomplete list.
* @default false
@@ -5215,6 +5282,16 @@ declare namespace LocalJSX {
* @default ItemsDisplayMode.DESCRIPTION
*/
"displayMode"?: ItemsDisplayMode;
+ /**
+ * Set error message
+ * @default '''
+ */
+ "error"?: string;
+ /**
+ * When set, the text-field will show this icon.
+ * @default null
+ */
+ "icon"?: string;
/**
* Sets the initial value of the component.
* @default ""
@@ -5225,6 +5302,21 @@ declare namespace LocalJSX {
* @default 300
*/
"inputDelay"?: number;
+ /**
+ * Enables a clear trailing icon.
+ * @default false
+ */
+ "isClearable"?: boolean;
+ /**
+ * When set, its content will be shown as a label.
+ * @default null
+ */
+ "label"?: string;
+ /**
+ * When set to true, the label will be on the left of the component.
+ * @default false
+ */
+ "leadingLabel"?: boolean;
/**
* The minimum number of chars to trigger the autocomplete
* @default 1
@@ -5237,6 +5329,11 @@ declare namespace LocalJSX {
"onKup-autocomplete-iconclick"?: (event: KupAutocompleteCustomEvent) => void;
"onKup-autocomplete-input"?: (event: KupAutocompleteCustomEvent) => void;
"onKup-autocomplete-itemclick"?: (event: KupAutocompleteCustomEvent) => void;
+ /**
+ * Sets the component to read only state, making it not editable, but interactable. Used in combobox component when it behaves as a select.
+ * @default false
+ */
+ "readOnly"?: boolean;
/**
* Sets how to return the selected item value. Suported values: "code", "description", "both".
* @default ItemsDisplayMode.CODE
@@ -5252,6 +5349,16 @@ declare namespace LocalJSX {
* @default true
*/
"showDropDownIcon"?: boolean;
+ /**
+ * Sets the type of the button
+ * @default KupComponentSizing.MEDIUM
+ */
+ "sizing"?: KupComponentSizing;
+ /**
+ * When set, the icon will be shown after the text.
+ * @default false
+ */
+ "trailingIcon"?: boolean;
}
interface KupBadge {
/**
@@ -5959,7 +6066,7 @@ declare namespace LocalJSX {
*/
"onKup-chip-iconclick"?: (event: KupChipCustomEvent) => void;
/**
- * Sets the type of the chip
+ * Sets the size of the chip
* @default FChipSize.MEDIUM
*/
"sizing"?: FChipSize;
@@ -6032,21 +6139,6 @@ declare namespace LocalJSX {
* @default '''
*/
"error"?: string;
- /**
- * When set, its content will be shown as a help text below the field.
- * @default null
- */
- "helper"?: string;
- /**
- * When true, the helper will be displayed.
- * @default true
- */
- "helperEnabled"?: boolean;
- /**
- * When set, the helper will be shown only when the field is focused.
- * @default false
- */
- "helperWhenFocused"?: boolean;
/**
* When set, the text-field will show this icon.
* @default null
@@ -6802,7 +6894,7 @@ declare namespace LocalJSX {
"hiddenSubmitButton"?: boolean;
/**
* Sets the label placement for 'all' fields in form
- * @default KupFormLabelPlacement.LEFT
+ * @default KupFormLabelPlacement.TOP
*/
"labelPlacement"?: KupFormLabelPlacement;
/**
@@ -7702,6 +7794,16 @@ declare namespace LocalJSX {
* @default false
*/
"disabled"?: boolean;
+ /**
+ * Defaults at false. When set to true, the component is horizontal.
+ * @default false
+ */
+ "horizontal"?: boolean;
+ /**
+ * When set, its content will be shown as a label.
+ * @default null
+ */
+ "label"?: string;
/**
* Defaults at false. When set to true, the label will be on the left of the component.
* @default false
@@ -7871,6 +7973,11 @@ declare namespace LocalJSX {
* Triggered when the input element gets focused.
*/
"onKup-switch-focus"?: (event: KupSwitchCustomEvent) => void;
+ /**
+ * Sets the size of the switch
+ * @default FSwitchSizing.MEDIUM
+ */
+ "sizing"?: FSwitchSizing;
}
interface KupSwitcher {
"timeUnitChange"?: KupPlannerSwitcherProps['onTimeUnitChange'];
@@ -7887,6 +7994,11 @@ declare namespace LocalJSX {
* @default null
*/
"data"?: KupTabBarNode[];
+ /**
+ * Defaults at false. When set to true, the component is dense.
+ * @default false
+ */
+ "dense"?: boolean;
/**
* Triggered when the tab loses focus.
*/
diff --git a/packages/ketchup/src/components/kup-accordion/kup-accordion.tsx b/packages/ketchup/src/components/kup-accordion/kup-accordion.tsx
index 5ea3ea0fc9..b77d2b413e 100644
--- a/packages/ketchup/src/components/kup-accordion/kup-accordion.tsx
+++ b/packages/ketchup/src/components/kup-accordion/kup-accordion.tsx
@@ -13,7 +13,11 @@ import {
Watch,
} from '@stencil/core';
import { MDCRipple } from '@material/ripple';
-import type { GenericObject, KupComponent } from '../../types/GenericTypes';
+import {
+ GenericObject,
+ KupComponent,
+ KupComponentSizing,
+} from '../../types/GenericTypes';
import {
KupManager,
kupManagerInstance,
@@ -72,7 +76,12 @@ export class KupAccordion {
* When enabled displays Material's ripple effect on item headers.
* @default true
*/
- @Prop() ripple: boolean = true;
+ @Prop() ripple: boolean = false;
+ /**
+ * Sets the type of the button
+ * @default KupComponentSizing.MEDIUM
+ */
+ @Prop() sizing: KupComponentSizing = KupComponentSizing.MEDIUM;
/*-------------------------------------------------*/
/* I n t e r n a l V a r i a b l e s */
@@ -248,6 +257,7 @@ export class KupAccordion {
'accordion-item__header--expanded':
isItemExpandible && isItemSelected ? true : false,
'mdc-ripple-surface': this.ripple ? true : false,
+ [`accordion-item--${this.sizing}`]: this.sizing ? true : false,
};
const itemContentClass: GenericObject = {
@@ -260,6 +270,7 @@ export class KupAccordion {
items.push(
this.toggleItem(itemName)}
diff --git a/packages/ketchup/src/components/kup-accordion/styles/kup-accordion-main.scss b/packages/ketchup/src/components/kup-accordion/styles/kup-accordion-main.scss
index daa50b7446..a575d95696 100644
--- a/packages/ketchup/src/components/kup-accordion/styles/kup-accordion-main.scss
+++ b/packages/ketchup/src/components/kup-accordion/styles/kup-accordion-main.scss
@@ -16,51 +16,41 @@
*/
:host {
- --kup_accordion_background_color: var(
- --kup-accordion-background-color,
- var(--kup-background-color)
+ --kup_accordion_border_top_color: var(
+ --kup-accordion-border-top-color,
+ var(--kup-gray-color-20)
);
- --kup_accordion_border: var(
- --kup-accordion-border,
- 1px solid var(--kup-border-color)
+ --kup_accordion_item_small_height: var(
+ --kup-accordion-item-small-height,
+ 32px
);
- --kup_accordion_border_radius: var(--kup-accordion-border-radius, 4px);
- --kup-accordion_dropdown_icon_color: var(
- --kup-accordion-dropdown-icon-color,
- var(--kup-icon-color)
+ --kup_accordion_item_medium_height: var(
+ --kup-accordion-item-medium-height,
+ 40px
);
- --kup_accordion_font_family: var(
- --kup-accordion-font-family,
- var(--kup-font-family)
+ --kup_accordion_item_outline_color_active: var(
+ --kup-accordion-item-outline-color-focus,
+ var(--kup-primary-color-60)
);
- --kup_accordion_font_size: var(
- --kup-accordion-font-size,
- var(--kup-font-size)
+ --kup_accordion_item_large_height: var(
+ --kup-accordion-item-medium-height,
+ 48px
);
- --kup_accordion_hover_background_color: var(
- --kup-accordion-hover-background-color,
- var(--kup-hover-background-color)
+ --kup_accordion_header_background_color: var(
+ --kup-accordion-header-background-color,
+ var(--kup-gray-color-0)
);
- --kup_accordion_hover_color: var(
- --kup-accordion-hover-color,
- var(--kup-hover-color)
+ --kup_accordion_header_background_color_hover: var(
+ --kup-accordion-header-background-color-hover,
+ var(--kup-gray-color-20)
);
- --kup_accordion_padding: var(--kup-accordion-padding, 1em 1.5em);
- --kup_accordion_primary_color: var(
- --kup-accordion-primary-color,
- var(--kup-primary-color)
+ --kup_accordion_header_padding: var(
+ --kup-accordion-header-padding,
+ var(--kup-space-05)
);
- --kup_accordion_primary_color_rgb: var(
- --kup-accordion-primary-color-rgb,
- var(--kup-primary-color-rgb)
- );
- --kup_accordion_text_color: var(
- --kup-accordion-text-color,
- var(--kup-text-color)
- );
- --kup_accordion_text_on_primary_color: var(
- --kup-accordion-text-on-primary-color,
- var(--kup-text-on-primary-color)
+ --kup_accordion_dropdown_icon_color: var(
+ --kup-accordio-dropdown-icon-color,
+ var(--kup-gray-color-90)
);
--kup_accordion_transition: var(--kup-accordion-transition, 80ms);
@@ -70,10 +60,7 @@
}
.accordion {
- background-color: var(--kup_accordion_background_color);
- border-bottom: var(--kup_accordion_border);
border-radius: var(--kup_accordion_border_radius);
- border-top: var(--kup_accordion_border);
display: flex;
flex-wrap: wrap;
flex-direction: column;
@@ -81,8 +68,7 @@
}
.accordion-item {
- border-left: var(--kup_accordion_border);
- border-right: var(--kup_accordion_border);
+ border-top: 1px solid var(--kup_accordion_border_top_color);
box-sizing: border-box;
width: 100%;
@@ -90,11 +76,12 @@
display: block;
}
- &:not(:first-of-type) {
- border-top: var(--kup_accordion_border);
+ &:is(:last-of-type) {
+ border-bottom: 1px solid var(--kup_accordion_border_top_color);
}
&__header {
+ height: var(--kup_accordion_item_medium_height);
align-items: center;
border: none;
box-sizing: border-box;
@@ -108,24 +95,36 @@
transition: background-color var(--kup_accordion_transition),
color var(--kup_accordion_transition);
width: 100%;
+ outline: 2px solid transparent;
+ outline-offset: -2px;
+ padding-left: 16px;
+ padding-right: 16px;
+
+ &:focus {
+ outline: 2px solid var(--kup_accordion_item_outline_color_active);
+ }
+
+ &.accordion-item--small {
+ height: var(--kup_accordion_item_small_height);
+ }
+ &.accordion-item--large {
+ height: var(--kup_accordion_item_large_height);
+ }
&:hover:not(.accordion-item__header--selected) {
- color: var(--kup_accordion_hover_color);
- background-color: var(--kup_accordion_hover_background_color);
+ background-color: var(--kup_accordion_header_background_color_hover);
+ }
+ &:focus(.accordion-item__header--selected) {
+ outline: 2px solid var(--kup_accordion_item_outline_color_active);
}
&--expanded {
- color: var(--kup_accordion_hover_color);
- background-color: var(--kup_accordion_hover_background_color);
+ background-color: var(--kup_accordion_background_color);
.accordion-item__dropdown {
transform: rotate(-180deg);
}
}
-
- &--selected {
- background-color: rgba(var(--kup_accordion_primary_color_rgb), 0.175);
- }
}
&__text {
@@ -146,7 +145,7 @@
}
&__dropdown {
- background-color: var(--kup-accordion_dropdown_icon_color);
+ background-color: var(--kup_accordion_dropdown_icon_color);
height: 1.5em;
margin-left: auto;
margin-right: 0;
@@ -156,8 +155,13 @@
}
&__content {
+ padding-left: 16px;
+ padding-top: 8px;
+ padding-bottom: 24px;
+ padding-right: 80px;
animation: fade-in 0.25s ease-out;
display: none;
+ @include kup-body-compact-01;
&--selected {
display: block;
diff --git a/packages/ketchup/src/components/kup-autocomplete/kup-autocomplete.tsx b/packages/ketchup/src/components/kup-autocomplete/kup-autocomplete.tsx
index 1a39557500..7b4410e46a 100644
--- a/packages/ketchup/src/components/kup-autocomplete/kup-autocomplete.tsx
+++ b/packages/ketchup/src/components/kup-autocomplete/kup-autocomplete.tsx
@@ -17,7 +17,11 @@ import {
} from '../../managers/kup-manager/kup-manager';
import { FTextField } from '../../f-components/f-text-field/f-text-field';
import { FTextFieldMDC } from '../../f-components/f-text-field/f-text-field-mdc';
-import { GenericObject, KupComponent } from '../../types/GenericTypes';
+import {
+ GenericObject,
+ KupComponent,
+ KupComponentSizing,
+} from '../../types/GenericTypes';
import {
KupAutocompleteEventPayload,
KupAutocompleteIconClickEventPayload,
@@ -34,6 +38,7 @@ import { getProps, setProps } from '../../utils/utils';
import { componentWrapperId } from '../../variables/GenericVariables';
import { KupManagerClickCb } from '../../managers/kup-manager/kup-manager-declarations';
import { KupDynamicPositionPlacement } from '../../managers/kup-dynamic-position/kup-dynamic-position-declarations';
+import { FTextFieldProps } from '../../f-components/f-text-field/f-text-field-declarations';
@Component({
tag: 'kup-autocomplete',
@@ -57,6 +62,11 @@ export class KupAutocomplete {
/* P r o p s */
/*-------------------------------------------------*/
+ /**
+ * Set alert message
+ * @default '''
+ */
+ @Prop() alert: string = '';
/**
* When true, the autocomplete fires the change event even when the value typed isn't included in the autocomplete list.
* @default false
@@ -83,21 +93,52 @@ export class KupAutocomplete {
* @default ItemsDisplayMode.DESCRIPTION
*/
@Prop() displayMode: ItemsDisplayMode = ItemsDisplayMode.DESCRIPTION;
+ /**
+ * Set error message
+ * @default '''
+ */
+ @Prop() error: string = '';
+ /**
+ * When set, the text-field will show this icon.
+ * @default null
+ */
+ @Prop() icon: string = null;
/**
* Sets the initial value of the component.
* @default ""
*/
@Prop() initialValue: string = '';
+ /**
+ * Enables a clear trailing icon.
+ * @default false
+ */
+ @Prop() isClearable: boolean = false;
/**
* Input event emission delay in milliseconds.
* @default 300
*/
@Prop() inputDelay: number = 300;
+ /**
+ * When set, its content will be shown as a label.
+ * @default null
+ */
+ @Prop() label: string = null;
+ /**
+ * When set to true, the label will be on the left of the component.
+ * @default false
+ */
+ @Prop() leadingLabel: boolean = false;
+
/**
* The minimum number of chars to trigger the autocomplete
* @default 1
*/
@Prop() minimumChars: number = 1;
+ /**
+ * Sets the component to read only state, making it not editable, but interactable. Used in combobox component when it behaves as a select.
+ * @default false
+ */
+ @Prop() readOnly: boolean = false;
/**
* Sets how to return the selected item value. Suported values: "code", "description", "both".
* @default ItemsDisplayMode.CODE
@@ -113,6 +154,16 @@ export class KupAutocomplete {
* @default true
*/
@Prop() showDropDownIcon: boolean = true;
+ /**
+ * Sets the type of the button
+ * @default KupComponentSizing.MEDIUM
+ */
+ @Prop() sizing: KupComponentSizing = KupComponentSizing.MEDIUM;
+ /**
+ * When set, the icon will be shown after the text.
+ * @default false
+ */
+ @Prop() trailingIcon: boolean = false;
/*-------------------------------------------------*/
/* I n t e r n a l V a r i a b l e s */
@@ -393,6 +444,9 @@ export class KupAutocomplete {
this.#closeList();
return false;
}
+ const hasError = this.error.trim().length > 0;
+ const hasAlert = this.alert.trim().length > 0;
+ const topOffset = hasError || hasAlert ? -20 : 0;
this.#textfieldWrapper.classList.add('toggled');
this.#listEl.menuVisible = true;
const elStyle = this.#listEl.style;
@@ -407,7 +461,7 @@ export class KupAutocomplete {
this.#kupManager.dynamicPosition.register(
this.#listEl,
this.#textfieldWrapper,
- 0,
+ topOffset,
KupDynamicPositionPlacement.AUTO,
true
);
@@ -520,6 +574,30 @@ export class KupAutocomplete {
}
render() {
+ const props: FTextFieldProps = {
+ alert: this.alert,
+ danger: this.rootElement.classList.contains('kup-danger')
+ ? true
+ : false,
+ disabled: this.disabled,
+ error: this.error,
+ icon: this.icon,
+ info: this.rootElement.classList.contains('kup-info')
+ ? true
+ : false,
+ isClearable: this.isClearable,
+ label: this.label,
+ leadingLabel: this.leadingLabel,
+ readOnly: this.readOnly,
+ sizing: this.sizing,
+ success: this.rootElement.classList.contains('kup-success')
+ ? true
+ : false,
+ value: this.value,
+ warning: this.rootElement.classList.contains('kup-warning')
+ ? true
+ : false,
+ };
const fullHeight =
this.rootElement.classList.contains('kup-full-height');
const fullWidth = this.rootElement.classList.contains('kup-full-width');
@@ -538,6 +616,7 @@ export class KupAutocomplete {
;
const changeViewButtonProp: FButtonProps = {
- wrapperClass: 'change-view-button',
+ wrapperClass: 'change-view-button kup-neutral',
styling: FButtonStyling.FLAT,
label: changeViewButtonLabel,
onClick: () => changeView(component),
diff --git a/packages/ketchup/src/components/kup-chip/kup-chip.tsx b/packages/ketchup/src/components/kup-chip/kup-chip.tsx
index efbf4fb710..5af0b13190 100644
--- a/packages/ketchup/src/components/kup-chip/kup-chip.tsx
+++ b/packages/ketchup/src/components/kup-chip/kup-chip.tsx
@@ -83,7 +83,7 @@ export class KupChip {
*/
@Prop() type: FChipType = FChipType.STANDARD;
/**
- * Sets the type of the chip
+ * Sets the size of the chip
* @default FChipSize.MEDIUM
*/
@Prop() sizing: FChipSize = FChipSize.MEDIUM;
diff --git a/packages/ketchup/src/components/kup-chip/readme.md b/packages/ketchup/src/components/kup-chip/readme.md
index 67aef88461..33f467d549 100644
--- a/packages/ketchup/src/components/kup-chip/readme.md
+++ b/packages/ketchup/src/components/kup-chip/readme.md
@@ -11,7 +11,7 @@
| `data` | -- | List of elements. | `KupChipNode[]` | `[]` |
| `displayId` | `display-id` | When enabled, the chip's text will display both the id and the value. | `boolean` | `false` |
| `enableInput` | `enable-input` | When enabled, it's possible to add items to the chip's dataset through an input slot (kup-autocomplete, kup-combobox, kup-text-field). | `boolean` | `false` |
-| `sizing` | `sizing` | Sets the type of the chip | `FChipSize.MEDIUM \| FChipSize.SMALL` | `FChipSize.MEDIUM` |
+| `sizing` | `sizing` | Sets the size of the chip | `FChipSize.MEDIUM \| FChipSize.SMALL` | `FChipSize.MEDIUM` |
| `styling` | `styling` | Sets the style of the chip | `FChipStyling.OUTLINED \| FChipStyling.RAISED` | `FChipStyling.RAISED` |
| `type` | `type` | The type of chip. Available types: input, filter, choice or empty for default. | `FChipType.CHOICE \| FChipType.FILTER \| FChipType.INPUT \| FChipType.STANDARD` | `FChipType.STANDARD` |
diff --git a/packages/ketchup/src/components/kup-combobox/kup-combobox.tsx b/packages/ketchup/src/components/kup-combobox/kup-combobox.tsx
index e8bc295477..acc7851258 100644
--- a/packages/ketchup/src/components/kup-combobox/kup-combobox.tsx
+++ b/packages/ketchup/src/components/kup-combobox/kup-combobox.tsx
@@ -88,21 +88,6 @@ export class KupCombobox {
* @default '''
*/
@Prop() error: string = '';
- /**
- * When set, its content will be shown as a help text below the field.
- * @default null
- */
- @Prop() helper: string = null;
- /**
- * When true, the helper will be displayed.
- * @default true
- */
- @Prop() helperEnabled: boolean = true;
- /**
- * When set, the helper will be shown only when the field is focused.
- * @default false
- */
- @Prop() helperWhenFocused: boolean = false;
/**
* When set, the text-field will show this icon.
* @default null
@@ -571,7 +556,6 @@ export class KupCombobox {
: false,
disabled: this.disabled,
error: this.error,
- helper: this.helper,
icon: this.icon,
info: this.rootElement.classList.contains('kup-info')
? true
diff --git a/packages/ketchup/src/components/kup-combobox/readme.md b/packages/ketchup/src/components/kup-combobox/readme.md
index 51dc70973c..a8186607d6 100644
--- a/packages/ketchup/src/components/kup-combobox/readme.md
+++ b/packages/ketchup/src/components/kup-combobox/readme.md
@@ -5,18 +5,25 @@
## Properties
-| Property | Attribute | Description | Type | Default |
-| ------------------ | --------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------ |
-| `customStyle` | `custom-style` | Custom style of the component. | `string` | `''` |
-| `data` | -- | Props of the sub-components (date input text field). | `Object` | `undefined` |
-| `disabled` | `disabled` | Defaults at false. When set to true, the component is disabled. | `boolean` | `false` |
-| `displayMode` | `display-mode` | Sets how to show the selected item value. Suported values: "code", "description", "both". | `ItemsDisplayMode.CODE \| ItemsDisplayMode.DESCRIPTION \| ItemsDisplayMode.DESCRIPTION_AND_CODE` | `ItemsDisplayMode.DESCRIPTION` |
-| `initialValue` | `initial-value` | Sets the initial value of the component | `string` | `''` |
-| `isSelect` | `is-select` | Lets the combobox behave as a select element. | `boolean` | `false` |
-| `label` | `label` | When set, its content will be shown as a label. | `string` | `null` |
-| `leadingLabel` | `leading-label` | When set to true, the label will be on the left of the component. | `boolean` | `false` |
-| `selectMode` | `select-mode` | Sets how to return the selected item value. Suported values: "code", "description", "both". | `ItemsDisplayMode.CODE \| ItemsDisplayMode.DESCRIPTION \| ItemsDisplayMode.DESCRIPTION_AND_CODE` | `ItemsDisplayMode.CODE` |
-| `showDropDownIcon` | `show-drop-down-icon` | When true shows the drop-down icon, for open list. | `boolean` | `true` |
+| Property | Attribute | Description | Type | Default |
+| ------------------ | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------ |
+| `alert` | `alert` | Set alert message | `string` | `''` |
+| `customStyle` | `custom-style` | Custom style of the component. | `string` | `''` |
+| `data` | -- | Props of the sub-components (date input text field). | `Object` | `undefined` |
+| `disabled` | `disabled` | Defaults at false. When set to true, the component is disabled. | `boolean` | `false` |
+| `displayMode` | `display-mode` | Sets how to show the selected item value. Suported values: "code", "description", "both". | `ItemsDisplayMode.CODE \| ItemsDisplayMode.DESCRIPTION \| ItemsDisplayMode.DESCRIPTION_AND_CODE` | `ItemsDisplayMode.DESCRIPTION` |
+| `error` | `error` | Set error message | `string` | `''` |
+| `icon` | `icon` | When set, the text-field will show this icon. | `string` | `null` |
+| `initialValue` | `initial-value` | Sets the initial value of the component | `string` | `''` |
+| `isClearable` | `is-clearable` | Enables a clear trailing icon. | `boolean` | `false` |
+| `isSelect` | `is-select` | Lets the combobox behave as a select element. | `boolean` | `false` |
+| `label` | `label` | When set, its content will be shown as a label. | `string` | `null` |
+| `leadingLabel` | `leading-label` | When set to true, the label will be on the left of the component. | `boolean` | `false` |
+| `readOnly` | `read-only` | Sets the component to read only state, making it not editable, but interactable. Used in combobox component when it behaves as a select. | `boolean` | `false` |
+| `selectMode` | `select-mode` | Sets how to return the selected item value. Suported values: "code", "description", "both". | `ItemsDisplayMode.CODE \| ItemsDisplayMode.DESCRIPTION \| ItemsDisplayMode.DESCRIPTION_AND_CODE` | `ItemsDisplayMode.CODE` |
+| `showDropDownIcon` | `show-drop-down-icon` | When true shows the drop-down icon, for open list. | `boolean` | `true` |
+| `sizing` | `sizing` | Sets the type of the button | `KupComponentSizing.LARGE \| KupComponentSizing.MAX \| KupComponentSizing.MEDIUM \| KupComponentSizing.SMALL` | `KupComponentSizing.MEDIUM` |
+| `trailingIcon` | `trailing-icon` | When set, the icon will be shown after the text. | `boolean` | `false` |
## Events
diff --git a/packages/ketchup/src/components/kup-form/kup-form.tsx b/packages/ketchup/src/components/kup-form/kup-form.tsx
index b73b6a9b01..371660cdda 100644
--- a/packages/ketchup/src/components/kup-form/kup-form.tsx
+++ b/packages/ketchup/src/components/kup-form/kup-form.tsx
@@ -78,9 +78,9 @@ export class KupForm {
/**
* Sets the label placement for 'all' fields in form
- * @default KupFormLabelPlacement.LEFT
+ * @default KupFormLabelPlacement.TOP
*/
- @Prop() labelPlacement: KupFormLabelPlacement = KupFormLabelPlacement.LEFT;
+ @Prop() labelPlacement: KupFormLabelPlacement = KupFormLabelPlacement.TOP;
/**
* How the form will arrange its content.
* @default null
diff --git a/packages/ketchup/src/components/kup-form/readme.md b/packages/ketchup/src/components/kup-form/readme.md
index f9ca0afeb3..a372120307 100644
--- a/packages/ketchup/src/components/kup-form/readme.md
+++ b/packages/ketchup/src/components/kup-form/readme.md
@@ -5,14 +5,14 @@
## Properties
-| Property | Attribute | Description | Type | Default |
-| -------------------- | ---------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
-| `customStyle` | `custom-style` | Custom style of the component. | `string` | `''` |
-| `data` | -- | Actual data of the form. | `KupFormData` | `null` |
-| `hiddenSubmitButton` | `hidden-submit-button` | Creates a hidden submit button in order to submit the form with enter. | `boolean` | `false` |
-| `labelPlacement` | `label-placement` | Sets the label placement for 'all' fields in form | `KupFormLabelPlacement.BOTTOM \| KupFormLabelPlacement.HIDDEN \| KupFormLabelPlacement.LEFT \| KupFormLabelPlacement.PLACEHOLDER \| KupFormLabelPlacement.RIGHT \| KupFormLabelPlacement.TOP \| KupFormLabelPlacement.WATERMARK` | `KupFormLabelPlacement.LEFT` |
-| `layout` | -- | How the form will arrange its content. | `KupFormLayout` | `null` |
-| `submitCb` | -- | Sets the callback function on submit form | `(e: SubmitEvent) => unknown` | `null` |
+| Property | Attribute | Description | Type | Default |
+| -------------------- | ---------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- |
+| `customStyle` | `custom-style` | Custom style of the component. | `string` | `''` |
+| `data` | -- | Actual data of the form. | `KupFormData` | `null` |
+| `hiddenSubmitButton` | `hidden-submit-button` | Creates a hidden submit button in order to submit the form with enter. | `boolean` | `false` |
+| `labelPlacement` | `label-placement` | Sets the label placement for 'all' fields in form | `KupFormLabelPlacement.BOTTOM \| KupFormLabelPlacement.HIDDEN \| KupFormLabelPlacement.LEFT \| KupFormLabelPlacement.PLACEHOLDER \| KupFormLabelPlacement.RIGHT \| KupFormLabelPlacement.TOP \| KupFormLabelPlacement.WATERMARK` | `KupFormLabelPlacement.TOP` |
+| `layout` | -- | How the form will arrange its content. | `KupFormLayout` | `null` |
+| `submitCb` | -- | Sets the callback function on submit form | `(e: SubmitEvent) => unknown` | `null` |
## Events
diff --git a/packages/ketchup/src/components/kup-list/styles/kup-list-main.scss b/packages/ketchup/src/components/kup-list/styles/kup-list-main.scss
index 8924439e51..3953f982b5 100644
--- a/packages/ketchup/src/components/kup-list/styles/kup-list-main.scss
+++ b/packages/ketchup/src/components/kup-list/styles/kup-list-main.scss
@@ -36,6 +36,10 @@
--kup-list-item-padding,
var(--kup-space-05)
);
+ --kup_list_box_shadow: var(
+ --kup-box-shadow,
+ 0px 3px 6px 0 rgba(0, 0, 0, 0.3)
+ );
--kup_list_item_padding_right: var(--kup-list-item-padding, 0.75em);
--kup_list_max_height_as_menu: var(--kup-list-max-height-as-menu, 33vh);
--kup_list_primary_color: var(
@@ -218,7 +222,7 @@
.kup-menu {
animation: fade-in 0.25s ease-out;
background-color: var(--kup_list_background);
- box-shadow: var(--kup-box-shadow); // box shadow to be fixed
+ box-shadow: var(--kup_list_box_shadow);
border: 1px solid var(--kup_list_focus_color);
color: var(--kup-text-color);
display: none;
diff --git a/packages/ketchup/src/components/kup-radio/kup-radio.scss b/packages/ketchup/src/components/kup-radio/kup-radio.scss
index a6dd9c0e9d..a6e7f211b6 100644
--- a/packages/ketchup/src/components/kup-radio/kup-radio.scss
+++ b/packages/ketchup/src/components/kup-radio/kup-radio.scss
@@ -11,3 +11,8 @@
:host {
display: block;
}
+
+.kup-radio-wrapper {
+ display: grid;
+ gap: var(--kup-space-03);
+}
diff --git a/packages/ketchup/src/components/kup-radio/kup-radio.tsx b/packages/ketchup/src/components/kup-radio/kup-radio.tsx
index 00c61586cf..61dc695f1f 100644
--- a/packages/ketchup/src/components/kup-radio/kup-radio.tsx
+++ b/packages/ketchup/src/components/kup-radio/kup-radio.tsx
@@ -77,6 +77,16 @@ export class KupRadio {
* @default false
*/
@Prop() disabled: boolean = false;
+ /**
+ * Defaults at false. When set to true, the component is horizontal.
+ * @default false
+ */
+ @Prop() horizontal: boolean = false;
+ /**
+ * When set, its content will be shown as a label.
+ * @default null
+ */
+ @Prop() label: string = '';
/**
* Defaults at false. When set to true, the label will be on the left of the component.
* @default false
@@ -224,6 +234,9 @@ export class KupRadio {
info: this.rootElement.classList.contains('kup-info')
? true
: false,
+ horizontal: this.rootElement.classList.contains('kup-horizontal')
+ ? true
+ : false,
leadingLabel: this.leadingLabel,
secondary: this.rootElement.classList.contains('kup-secondary')
? true
@@ -246,7 +259,7 @@ export class KupRadio {
this.rootElement as KupComponent
)}
-
+
diff --git a/packages/ketchup/src/components/kup-radio/readme.md b/packages/ketchup/src/components/kup-radio/readme.md
index ab0a4ad0ab..fb3f30a9b2 100644
--- a/packages/ketchup/src/components/kup-radio/readme.md
+++ b/packages/ketchup/src/components/kup-radio/readme.md
@@ -11,6 +11,8 @@
| `customStyle` | `custom-style` | Custom style of the component. | `string` | `''` |
| `data` | -- | List of elements. | `FRadioData[]` | `null` |
| `disabled` | `disabled` | Defaults at false. When set to true, the component is disabled. | `boolean` | `false` |
+| `horizontal` | `horizontal` | Defaults at false. When set to true, the component is horizontal. | `boolean` | `false` |
+| `label` | `label` | When set, its content will be shown as a label. | `string` | `''` |
| `leadingLabel` | `leading-label` | Defaults at false. When set to true, the label will be on the left of the component. | `boolean` | `false` |
diff --git a/packages/ketchup/src/components/kup-switch/kup-switch.tsx b/packages/ketchup/src/components/kup-switch/kup-switch.tsx
index 70fe26e945..911ebc62bb 100644
--- a/packages/ketchup/src/components/kup-switch/kup-switch.tsx
+++ b/packages/ketchup/src/components/kup-switch/kup-switch.tsx
@@ -15,7 +15,10 @@ import {
kupManagerInstance,
} from '../../managers/kup-manager/kup-manager';
import { FSwitch } from '../../f-components/f-switch/f-switch';
-import { FSwitchProps } from '../../f-components/f-switch/f-switch-declarations';
+import {
+ FSwitchProps,
+ FSwitchSizing,
+} from '../../f-components/f-switch/f-switch-declarations';
import { GenericObject, KupComponent } from '../../types/GenericTypes';
import {
KupSwitchEventPayload,
@@ -75,6 +78,11 @@ export class KupSwitch {
* @default false
*/
@Prop() leadingLabel: boolean = false;
+ /**
+ * Sets the size of the switch
+ * @default FSwitchSizing.MEDIUM
+ */
+ @Prop() sizing: FSwitchSizing = FSwitchSizing.MEDIUM;
/*-------------------------------------------------*/
/* I n t e r n a l V a r i a b l e s */
@@ -221,6 +229,7 @@ export class KupSwitch {
secondary: this.rootElement.classList.contains('kup-secondary')
? true
: false,
+ sizing: this.sizing,
success: this.rootElement.classList.contains('kup-success')
? true
: false,
diff --git a/packages/ketchup/src/components/kup-switch/readme.md b/packages/ketchup/src/components/kup-switch/readme.md
index ac61f33064..8ffdc69e5b 100644
--- a/packages/ketchup/src/components/kup-switch/readme.md
+++ b/packages/ketchup/src/components/kup-switch/readme.md
@@ -5,13 +5,14 @@
## Properties
-| Property | Attribute | Description | Type | Default |
-| -------------- | --------------- | ------------------------------------------------------------------------------------ | --------- | ------- |
-| `checked` | `checked` | Defaults at false. When set to true, the component will be set to 'checked'. | `boolean` | `false` |
-| `customStyle` | `custom-style` | Custom style of the component. | `string` | `''` |
-| `disabled` | `disabled` | Defaults at false. When set to true, the component is disabled. | `boolean` | `false` |
-| `label` | `label` | Defaults at null. When specified, its content will be shown as a label. | `string` | `null` |
-| `leadingLabel` | `leading-label` | Defaults at false. When set to true, the label will be on the left of the component. | `boolean` | `false` |
+| Property | Attribute | Description | Type | Default |
+| -------------- | --------------- | ------------------------------------------------------------------------------------ | --------------------------------------------- | ---------------------- |
+| `checked` | `checked` | Defaults at false. When set to true, the component will be set to 'checked'. | `boolean` | `false` |
+| `customStyle` | `custom-style` | Custom style of the component. | `string` | `''` |
+| `disabled` | `disabled` | Defaults at false. When set to true, the component is disabled. | `boolean` | `false` |
+| `label` | `label` | Defaults at null. When specified, its content will be shown as a label. | `string` | `null` |
+| `leadingLabel` | `leading-label` | Defaults at false. When set to true, the label will be on the left of the component. | `boolean` | `false` |
+| `sizing` | `sizing` | Sets the size of the switch | `FSwitchSizing.MEDIUM \| FSwitchSizing.SMALL` | `FSwitchSizing.MEDIUM` |
## Events
diff --git a/packages/ketchup/src/components/kup-tab-bar/kup-tab-bar.scss b/packages/ketchup/src/components/kup-tab-bar/kup-tab-bar.scss
index 58cd61120a..5b409bba7b 100644
--- a/packages/ketchup/src/components/kup-tab-bar/kup-tab-bar.scss
+++ b/packages/ketchup/src/components/kup-tab-bar/kup-tab-bar.scss
@@ -9,22 +9,34 @@
*/
:host {
- --kup_tabbar_font_family: var(
- --kup-tabbar-font-family,
- var(--kup-font-family)
+ --kup_tabindicator_border_bottom_color: var(
+ --kup-tab-indicator-border-bottom-color,
+ var(--kup-gray-color-20)
);
+ --kup_tabindicator_border_bottom_color_active: var(
+ --kup-tabindicator-border-bottom-color-active,
+ var(--kup-primary-color-60)
+ );
+ --kup_tabbar_text_color: var(
+ --kup-tabbar-text-color,
+ var(--kup-gray-color-70)
+ );
+ --kup_tabbar_text_color_active: var(
+ --kup-tabbar-text-color-active,
+ var(--kup-gray-color-90)
+ );
+ --kup_tabbar_border_color_dense: var(
+ --kup-tabbar-border-color-dense,
+ var(--kup-gray-color-50)
+ );
+
--kup_tabbar_font_size: var(--kup-tabbar-font-size, var(--kup-font-size));
--kup_tabbar_font_weight: var(--kup-tabbar-font-weight, 500);
--kup_tabbar_height: var(--kup-tabbar-height, 36px);
- --kup_tabbar_primary_color: var(
- --kup-tabbar-primary-color,
- var(--kup-primary-color)
- );
- --kup_tabbar_primary_color_rgb: var(
- --kup-tabbar-primary-color-rgb,
- var(--kup-primary-color-rgb)
+ --kup_tabbar_tab_padding: var(
+ --kup-tabbar-tab-padding,
+ 0 var(--kup-space-05)
);
- --kup_tabbar_tab_padding: var(--kup-tabbar-tab-padding, 0 24px);
display: block;
font-size: var(--kup_tabbar_font_size);
@@ -48,63 +60,105 @@
flex: 1 0 auto;
transform: none;
will-change: transform;
+ gap: 2px;
}
}
+ // add the disabled status on specific field
.tab {
-webkit-font-smoothing: antialiased;
padding: var(--kup_tabbar_tab_padding);
- min-width: 90px;
position: relative;
display: flex;
- flex: 1 0 auto;
- justify-content: center;
box-sizing: border-box;
+ gap: 8px;
margin: 0px;
border: none;
- outline: none;
+ outline: 2px solid transparent;
+ outline-offset: -2px;
background: none;
- text-align: center;
+ text-align: left;
white-space: nowrap;
cursor: pointer;
appearance: none;
z-index: 1;
height: var(--kup_tabbar_height);
- font-family: var(--kup_tabbar_font_family);
- font-size: 0.875em;
- font-weight: var(--kup_tabbar_font_weight);
- letter-spacing: 0.0892857143em;
- text-transform: uppercase;
+ &:focus {
+ outline: 2px solid var(--kup_tabindicator_border_bottom_color_active);
+ }
.tab__icon + .tab__text-label {
padding-left: 8px;
padding-right: 0px;
+ @include kup-body-compact-01;
+ }
+
+ .tab__icon .f-image__icon {
+ background: var(--kup_tabbar_text_color) !important;
}
&:hover {
background-color: rgba(var(--kup_tabbar_primary_color_rgb), 0.075);
+ .tab-indicator .tab-indicator__content--underline {
+ --kup_tabindicator_border_bottom_color: var(--kup-gray-color-50);
+ }
+ }
+ &.tab--active {
+ .tab__content {
+ .tab__icon {
+ transition-delay: 100ms;
+ }
+ .tab__text-label {
+ transition-delay: 100ms;
+ @include kup-heading-compact-01;
+ }
+ }
+ }
+ &[disabled] {
+ --kup_tabindicator_border_bottom_color: var(--kup-gray-color-30);
+ --kup_tabbar_text_color: var(--kup-gray-color-30);
+ pointer-events: none;
+ }
+ &.kup-dense {
+ background: var(--kup-gray-color-20);
+ border-right: 1px solid var(--kup_tabbar_border_color_dense);
+ &.tab--active {
+ background: var(--kup-gray-color-10);
+ }
+ &:hover {
+ background: var(--kup-gray-color-30);
+ }
+ .tab-indicator {
+ height: 2px;
+ border-color: transparent;
+ }
+ .tab-indicator--active .tab-indicator__content {
+ border-color: var(--kup_tabindicator_border_bottom_color_active);
+ }
}
}
.tab__content {
position: relative;
+ width: 100%;
display: flex;
align-items: center;
- justify-content: center;
+ justify-content: space-between;
height: inherit;
pointer-events: none;
+ gap: var(--kup-space-03);
.tab__icon {
transition: color 150ms linear 0s;
- width: 24px;
- height: 24px;
- font-size: 24px;
+ width: 16px;
+ height: 16px;
+ font-size: 16px;
z-index: 2;
+ margin: 0;
&.#{$kup-icon} {
- background-color: var(--kup_tabbar_primary_color);
- height: 24px;
- width: 24px;
+ height: 16px;
+ width: 16px;
}
}
@@ -113,7 +167,8 @@
display: inline-block;
line-height: 1;
z-index: 2;
- color: var(--kup_tabbar_primary_color);
+ color: var(--kup_tabbar_text_color);
+ min-width: 150px;
}
}
@@ -131,13 +186,12 @@
&.tab-indicator--active {
.tab-indicator__content {
opacity: 1;
+ border-color: var(--kup_tabindicator_border_bottom_color_active);
}
}
.tab-indicator__content {
- border-color: var(--kup_tabbar_primary_color);
transform-origin: left center;
- opacity: 0;
&.tab-indicator__content--underline {
align-self: flex-end;
@@ -146,18 +200,10 @@
border-top-style: solid;
border-top-width: 2px;
transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0s;
+ color: var(--kup_tabindicator_border_bottom_color);
}
}
}
-
- &.tab--active {
- .tab__icon {
- transition-delay: 100ms;
- }
- .tab__text-label {
- transition-delay: 100ms;
- }
- }
}
}
diff --git a/packages/ketchup/src/components/kup-tab-bar/kup-tab-bar.tsx b/packages/ketchup/src/components/kup-tab-bar/kup-tab-bar.tsx
index ba14deeaf6..e46168217b 100644
--- a/packages/ketchup/src/components/kup-tab-bar/kup-tab-bar.tsx
+++ b/packages/ketchup/src/components/kup-tab-bar/kup-tab-bar.tsx
@@ -62,11 +62,16 @@ export class KupTabBar {
* @default null
*/
@Prop() data: KupTabBarNode[] = null;
+ /**
+ * Defaults at false. When set to true, the component is dense.
+ * @default false
+ */
+ @Prop() dense: boolean = false;
/**
* When enabled displays Material's ripple effect on item headers.
* @default true
*/
- @Prop() ripple: boolean = true;
+ @Prop() ripple: boolean = false;
/*-------------------------------------------------*/
/* I n t e r n a l V a r i a b l e s */
@@ -286,10 +291,11 @@ export class KupTabBar {
tab: true,
'tab--active': node.active ? true : false,
'mdc-ripple-surface': this.ripple ? true : false,
+ 'kup-dense': this.dense,
};
const tabEl: VNode = (
-
+
);
tabBar.push(tabEl);
}
diff --git a/packages/ketchup/src/date-picker.html b/packages/ketchup/src/date-picker.html
index 1ee2227347..5684500bb7 100644
--- a/packages/ketchup/src/date-picker.html
+++ b/packages/ketchup/src/date-picker.html
@@ -15,11 +15,6 @@
type="text/css"
/>
-
-