@kyndryl-design-system/shidoka-applications 2.58.7 → 2.58.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/scss/menu-item.scss +6 -12
- package/components/reusable/dropdown/dropdown.js +1 -0
- package/components/reusable/dropdown/dropdown.js.map +1 -1
- package/components/reusable/dropdown/dropdownOption.js +17 -20
- package/components/reusable/dropdown/dropdownOption.js.map +1 -1
- package/components/reusable/dropdown/enhancedDropdownOption.js +10 -13
- package/components/reusable/dropdown/enhancedDropdownOption.js.map +1 -1
- package/components/reusable/overflowMenu/overflowMenuItem.js +9 -12
- package/components/reusable/overflowMenu/overflowMenuItem.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
.menu-item {
|
|
10
10
|
background-color: var(--kd-color-background-menu-state-default);
|
|
11
|
+
transition: background-color 150ms ease-out;
|
|
11
12
|
|
|
12
13
|
.menu-item-inner-el {
|
|
13
14
|
color: var(--kd-color-text-level-primary);
|
|
@@ -18,14 +19,16 @@
|
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
transition: background-color 150ms ease-out, color 150ms ease-out;
|
|
22
|
-
|
|
23
22
|
&:hover:not([disabled]) {
|
|
24
23
|
background-color: var(--kd-color-background-menu-state-hover);
|
|
25
24
|
|
|
26
25
|
.menu-item-inner-el {
|
|
27
26
|
color: var(--kd-color-text-level-light);
|
|
28
27
|
}
|
|
28
|
+
|
|
29
|
+
slot[name='icon']::slotted(span) {
|
|
30
|
+
color: var(--kd-color-icon-light);
|
|
31
|
+
}
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
&:is(:focus, :focus-within, :focus-visible):not([disabled]) {
|
|
@@ -36,14 +39,6 @@
|
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
|
|
39
|
-
&:active:not([disabled]) {
|
|
40
|
-
background-color: var(--kd-color-background-menu-state-pressed);
|
|
41
|
-
|
|
42
|
-
.menu-item-inner-el {
|
|
43
|
-
color: var(--kd-color-text-level-light);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
42
|
&[selected]:not([disabled]) {
|
|
48
43
|
background-color: var(--kd-color-background-menu-state-open);
|
|
49
44
|
|
|
@@ -160,8 +155,7 @@
|
|
|
160
155
|
&[highlighted]:not([disabled]) {
|
|
161
156
|
background-color: var(--kd-color-background-menu-state-ai-open);
|
|
162
157
|
|
|
163
|
-
&:hover
|
|
164
|
-
&[highlighted] {
|
|
158
|
+
&:hover {
|
|
165
159
|
background-color: var(--kd-color-background-menu-state-ai-hover);
|
|
166
160
|
|
|
167
161
|
.menu-item-inner-el {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.js","sources":["../../../../src/components/reusable/dropdown/dropdown.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, PropertyValues, html, unsafeCSS } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport DropdownScss from './dropdown.scss?inline';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { deepmerge } from 'deepmerge-ts';\n\nimport './dropdownOption';\nimport './enhancedDropdownOption';\nimport '../tag';\nimport '../button';\n\nimport { DropdownOption } from './dropdownOption';\nimport { EnhancedDropdownOption } from './enhancedDropdownOption';\n\nimport downIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-down.svg';\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nconst _defaultTextStrings = {\n title: 'Dropdown',\n selectedOptions: 'List of selected options',\n requiredText: 'Required',\n errorText: 'Error',\n clearAll: 'Clear all',\n clear: 'Clear',\n addItem: 'Add item...',\n add: 'Add',\n};\n\nconst KEY = {\n Enter: 'Enter',\n Escape: 'Escape',\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n} as const;\n\n/**\n * Dropdown, single select.\n * @fires on-change - Captures the dropdown change event and emits the selected value and original event details. `detail:{ value: string/array }`\n * @fires on-search - Capture the search input event and emits the search text.`detail:{ searchText: string }`\n * @fires on-clear-all - Captures the the multi-select clear all button click event and emits the value. `detail:{ value: array }`\n * @fires on-add-option - Captures the add button click and emits the newly added option. `detail:{ value: string }`\n * @slot unnamed - Slot for dropdown options.\n * @slot tooltip - Slot for tooltip.\n * @slot anchor - Slot for custom dropdown anchor element. If not provided, defaults to standard input-style anchor.\n * @attr {string/array} [value=''/[]] - The selected value(s) of the input. For single select, it is a string. For multi-select, it is an array of strings.\n * @attr {string} [name=''] - The name of the input, used for form submission.\n * @attr {string} [invalidText=''] - The custom validation message when the input is invalid.\n */\n@customElement('kyn-dropdown')\nexport class Dropdown extends FormMixin(LitElement) {\n static override styles = unsafeCSS(DropdownScss);\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Dropdown size/height. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n accessor size = 'md';\n\n /** Dropdown kind. */\n @property({ type: String, attribute: 'kind' })\n accessor kind: 'ai' | 'default' = 'default';\n\n /** Dropdown inline style type. */\n @property({ type: Boolean })\n accessor inline = false;\n\n /** Optional text beneath the input. */\n @property({ type: String })\n accessor caption = '';\n\n /** Dropdown placeholder. */\n @property({ type: String })\n accessor placeholder = '';\n\n /** Listbox/drawer open state. */\n @property({ type: Boolean, reflect: true })\n accessor open = false;\n\n /** Makes the dropdown searchable. */\n @property({ type: Boolean })\n accessor searchable = false;\n\n /** Makes the dropdown enhanced. */\n @property({ type: Boolean })\n accessor enhanced = false;\n\n /** Searchable variant filters results. */\n @property({ type: Boolean })\n accessor filterSearch = false;\n\n /** Enabled multi-select functionality. */\n @property({ type: Boolean })\n accessor multiple = false;\n\n /** Makes the dropdown required. */\n @property({ type: Boolean })\n accessor required = false;\n\n /** Visually hide the label. */\n @property({ type: Boolean })\n accessor hideLabel = false;\n\n /** Dropdown disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Hide the tags below multi-select. */\n @property({ type: Boolean })\n accessor hideTags = false;\n\n /** Adds a \"Select all\" option to the top of a multi-select dropdown. */\n @property({ type: Boolean })\n accessor selectAll = false;\n\n /** \"Select all\" text customization. */\n @property({ type: String })\n accessor selectAllText = 'Select all';\n\n /** Menu CSS min-width value. */\n @property({ type: String })\n accessor menuMinWidth = 'initial';\n\n /** Controls direction that dropdown opens. */\n @property({ type: String })\n accessor openDirection: 'auto' | 'up' | 'down' = 'auto';\n\n /** Is \"Select All\" box checked.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllChecked = false;\n\n /** Is \"Select All\" indeterminate.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllIndeterminate = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Enables the \"Add New Option\" feature. */\n @property({ type: Boolean })\n accessor allowAddOption = false;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**\n * New dropdown option value.\n * @ignore\n */\n @state()\n accessor newOptionValue = '';\n\n /**\n * Selected option text, automatically derived.\n * @ignore\n */\n @state()\n accessor text = '';\n\n /**\n * Search input value.\n */\n @property({ type: String })\n accessor searchText = '';\n\n /**\n * Assistive text for screen readers.\n * @ignore\n */\n @state()\n accessor assistiveText = 'Dropdown menu options.';\n\n /**\n * Queries any slotted options, default or enhanced.\n * @ignore\n */\n protected get options(): Array<DropdownOption | EnhancedDropdownOption> {\n return Array.from(\n this.querySelectorAll<DropdownOption | EnhancedDropdownOption>(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n }\n\n /**\n * Queries any slotted selected options.\n * @ignore\n */\n protected get selectedOptions(): Array<\n DropdownOption | EnhancedDropdownOption\n > {\n return this.options.filter(\n (opt): opt is DropdownOption | EnhancedDropdownOption =>\n opt.hasAttribute('selected')\n );\n }\n\n /**\n * Queries the .search DOM element.\n * @ignore\n */\n @query('.search')\n accessor searchEl!: HTMLInputElement;\n\n /**\n * Queries the .select DOM element.\n * @ignore\n */\n @query('.select')\n accessor buttonEl!: HTMLElement;\n\n /**\n * Queries the .options DOM element.\n * @ignore\n */\n @query('.options')\n accessor listboxEl!: HTMLElement;\n\n /**\n * Queries the .clear-multiple DOM element.\n * @ignore\n */\n @query('.clear-multiple')\n accessor clearMultipleEl!: HTMLElement;\n\n /**\n * Queries the .add-option-input DOM element.\n * @ignore\n */\n @query('.add-option-input')\n accessor addOptionInputEl!: HTMLInputElement;\n\n /**\n * Open drawer upwards.\n * @ignore\n */\n @state()\n accessor _openUpwards = false;\n\n /**\n * Tags value/text reference.\n * @ignore\n */\n @state()\n accessor _tags: Array<object> = [];\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n searchTextEntered: any = false;\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n prevSearchKeydownIndex = -1;\n\n private _onDocumentClick = (e: Event) => this._handleClickOut(e);\n private _onChildClick = (e: Event) => this._handleClick(e as any);\n private _onChildRemove = (_e: Event) => this._handleRemoveOption();\n private _onChildBlur = (e: Event) => this._handleBlur(e as any);\n\n override render() {\n const mainDropdownClasses = {\n dropdown: true,\n [`ai-connected-${this.kind === 'ai'}`]: true,\n };\n\n return html`\n <div\n class=${classMap(mainDropdownClasses)}\n ?disabled=${this.disabled}\n ?open=${this.open}\n ?inline=${this.inline}\n ?searchable=${this.searchable}\n >\n <label\n id=\"label-${this.name}\"\n class=\"label-text ${this.hideLabel || this.inline ? 'sr-only' : ''}\"\n for=${this.name}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText || 'Required'}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </label>\n\n <div\n class=${classMap({\n wrapper: true,\n open: this.open,\n })}\n >\n <div\n class=\"custom\"\n @click=${(e: MouseEvent) => this.handleAnchorClick(e)}\n @keydown=${(e: KeyboardEvent) => this.handleAnchorKeydown(e)}\n >\n <slot name=\"anchor\">\n <div\n class=\"${classMap({\n select: true,\n 'input-custom': true,\n 'size--sm': this.size === 'sm',\n 'size--lg': this.size === 'lg',\n inline: this.inline,\n })}\"\n aria-labelledby=\"label-${this.name}\"\n aria-expanded=${this.open}\n aria-controls=\"options\"\n role=\"combobox\"\n id=${this.name}\n name=${this.name}\n title=${this._textStrings.title}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?invalid=${this._isInvalid}\n tabindex=${this.disabled ? '' : this.searchable ? '-1' : '0'}\n @mousedown=${(e: any) => {\n if (!this.searchable) {\n e.preventDefault();\n }\n }}\n @blur=${(e: any) => e.stopPropagation()}\n >\n ${this.multiple && this.value.length\n ? html`\n <button\n class=\"clear-multiple\"\n aria-label=\"${this.value\n .length} items selected. Clear selections\"\n ?disabled=${this.disabled}\n title=${this._textStrings.clear}\n @click=${(e: Event) => this.handleClearMultiple(e)}\n >\n ${this.value.length}\n <span style=\"display:flex;\" class=\"clear-multiple-icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </button>\n `\n : null}\n ${this.searchable\n ? html`\n <input\n class=\"search\"\n type=\"text\"\n placeholder=${this.placeholder}\n value=${this.searchText}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled}\n @keydown=${(e: any) => this.handleSearchKeydown(e)}\n @input=${(e: any) => this.handleSearchInput(e)}\n @blur=${(e: any) => e.stopPropagation()}\n @click=${(e: any) => this.handleSearchClick(e)}\n />\n `\n : html`\n <span\n class=\"${classMap({\n 'placeholder-text': this.text === '',\n })}\"\n >\n ${this.multiple\n ? this.placeholder\n : this.value === ''\n ? this.placeholder\n : this.text}\n </span>\n `}\n\n <span class=\"arrow-icon\">${unsafeSVG(downIcon)}</span>\n </div>\n </slot>\n\n <div\n id=\"options\"\n class=${classMap({\n options: true,\n open: this.open,\n upwards: this._openUpwards,\n })}\n style=\"min-width: ${this.menuMinWidth};\"\n aria-hidden=${!this.open}\n @keydown=${this.handleListKeydown}\n @blur=${this.handleListBlur}\n @focus=${this._handleListFocus}\n >\n ${this.allowAddOption\n ? html`\n <div class=\"add-option\">\n <input\n class=\"add-option-input\"\n type=\"text\"\n placeholder=${this._textStrings.addItem}\n .value=${this.newOptionValue}\n aria-label=\"Add new option\"\n @input=${this._handleInputNewOption}\n @keydown=${this._onAddOptionInputKeydown}\n @focus=${this._onAddOptionInputFocus}\n />\n <kyn-button\n type=\"button\"\n size=\"small\"\n kind=\"secondary\"\n @on-click=${this._handleAddOption}\n >\n ${this._textStrings.add}\n </kyn-button>\n </div>\n `\n : null}\n\n <div role=\"listbox\" aria-labelledby=\"label-${this.name}\">\n ${this.multiple && this.selectAll\n ? html`\n ${this.enhanced\n ? html`\n <kyn-enhanced-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-enhanced-dropdown-option>\n `\n : html`\n <kyn-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-dropdown-option>\n `}\n `\n : null}\n\n <slot\n id=\"children\"\n @slotchange=${() => this.handleSlotChange()}\n ></slot>\n </div>\n </div>\n </div>\n ${this.hasSearch && this.open\n ? html`\n <kyn-button\n ?disabled=${this.disabled}\n class=\"clear-button dropdown-clear\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${(e: Event) => this.handleClear(e)}\n >\n <span style=\"display:flex;\">${unsafeSVG(clearIcon)}</span>\n </kyn-button>\n `\n : null}\n </div>\n ${this.renderHelperContent()}\n </div>\n `;\n }\n\n private _onAddOptionInputKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n switch (e.key) {\n case KEY.Enter:\n this._handleAddOption();\n break;\n case KEY.Escape:\n this.newOptionValue = '';\n this.open = false;\n this.buttonEl.focus();\n break;\n case KEY.ArrowDown:\n this.handleKeyboard(e, 40, 'addOption');\n break;\n case KEY.ArrowUp:\n this.handleKeyboard(e, 38, 'addOption');\n break;\n }\n }\n\n private _onAddOptionInputFocus() {\n this.assistiveText = 'Add new option input';\n }\n\n private handleAnchorClick(e: MouseEvent) {\n if (this.disabled) return;\n\n const path = (e.composedPath?.() || []) as Array<EventTarget>;\n const isInOptions =\n path.some((t) => (t as HTMLElement)?.classList?.contains('options')) ||\n (e.target as HTMLElement)?.closest?.(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option, .add-option'\n );\n\n if (isInOptions) return;\n\n this.handleClick();\n }\n private handleAnchorKeydown(e: any) {\n if (this.disabled) return;\n this.handleButtonKeydown(e);\n }\n\n private _handleAddOption() {\n const v = this.newOptionValue.trim();\n if (!v) return;\n this.dispatchEvent(\n new CustomEvent('on-add-option', { detail: { value: v } })\n );\n this.newOptionValue = '';\n }\n\n private renderHelperContent() {\n return html`\n ${\n this.multiple && !this.hideTags && this._tags.length\n ? html`\n <kyn-tag-group\n filter\n role=\"list\"\n aria-label=${this._textStrings.selectedOptions}\n >\n ${this._tags.map((tag: any) => {\n return html`\n <kyn-tag\n role=\"listitem\"\n label=${tag.text}\n ?disabled=${this.disabled || tag.disabled}\n @on-close=${() => this.handleTagClear(tag)}\n ></kyn-tag>\n `;\n })}\n </kyn-tag-group>\n `\n : null\n }\n ${\n this.caption !== ''\n ? html`\n <div class=\"caption\" aria-disabled=${this.disabled}>\n ${this.caption}\n </div>\n `\n : null\n }\n ${\n this._isInvalid\n ? html`\n <div class=\"error\">\n <span\n class=\"error-icon\"\n role=\"img\"\n title=${this._textStrings.errorText}\n aria-label=${this._textStrings.errorText}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null\n }\n\n <div\n class=\"assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${this.assistiveText}\n </div>\n </div>\n `;\n }\n\n override firstUpdated() {\n // set a default placeholder if none provided\n if (this.placeholder === '') {\n if (this.searchable) {\n this.placeholder = 'Search';\n } else {\n if (this.multiple) {\n this.placeholder = 'Select items';\n } else {\n this.placeholder = 'Select an option';\n }\n }\n }\n }\n\n private handleSlotChange() {\n this.updateChildOptions();\n this._updateOptions();\n this._updateSelectedText();\n }\n\n private updateChildOptions() {\n // Get all slotted kyn-dropdown-option elements\n const slot = this.shadowRoot?.querySelector('#children') as HTMLSlotElement;\n const options = slot.assignedElements({ flatten: true }) as HTMLElement[];\n\n // Pass allowAddOption to each kyn-dropdown-option\n options.forEach((option) => {\n if (\n option.tagName === 'KYN-DROPDOWN-OPTION' ||\n option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION'\n ) {\n (option as any).allowAddOption = this.allowAddOption;\n }\n });\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.open = !this.open;\n\n // focus search input if searchable\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private handleButtonKeydown(e: any) {\n this.handleKeyboard(e, e.keyCode, 'button');\n }\n\n private handleListKeydown(e: any) {\n const TAB_KEY_CODE = 9;\n\n if (e.keyCode !== TAB_KEY_CODE) {\n e.preventDefault();\n }\n\n this.handleKeyboard(e, e.keyCode, 'list');\n }\n\n private _handleListFocus() {\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n\n const firstEnabled = visibleOptions.find((o: any) => !o.disabled) as any;\n if (!firstEnabled) return;\n\n visibleOptions.forEach((o: any) => (o.highlighted = false));\n\n if (!('tabIndex' in firstEnabled) || firstEnabled.tabIndex < 0) {\n firstEnabled.tabIndex = 0;\n }\n firstEnabled.focus();\n firstEnabled.scrollIntoView({ block: 'nearest' });\n this.assistiveText = firstEnabled.text || 'Option';\n }\n\n private handleListBlur(e: FocusEvent): void {\n if (this.multiple) {\n return;\n }\n\n this.options.forEach((o) => (o.highlighted = false));\n const target = e.relatedTarget as HTMLElement | null;\n\n if (\n target &&\n (target.closest('kyn-dropdown-option') ||\n target.closest('kyn-enhanced-dropdown-option') ||\n target.classList.contains('search') ||\n target.closest('.add-option'))\n ) {\n return;\n }\n\n this.open = false;\n this.assistiveText = 'Dropdown menu options.';\n }\n\n private handleKeyboard(e: any, keyCode: number, target: string) {\n const SPACEBAR_KEY_CODE = [0, 32];\n const ENTER_KEY_CODE = 13;\n const DOWN_ARROW_KEY_CODE = 40;\n const UP_ARROW_KEY_CODE = 38;\n const ESCAPE_KEY_CODE = 27;\n\n // get highlighted element + index and selected element\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n // visibleOptions.forEach((e) => (e.tabIndex = 0));\n\n const highlightedEl = visibleOptions.find(\n (option: any) => option.highlighted\n );\n const selectedEl = visibleOptions.find((option: any) => option.selected);\n let highlightedIndex = highlightedEl\n ? visibleOptions.indexOf(highlightedEl)\n : selectedEl\n ? visibleOptions.indexOf(selectedEl)\n : 0;\n\n // prevent page scroll on spacebar press\n if (SPACEBAR_KEY_CODE.includes(keyCode)) {\n e.preventDefault();\n }\n\n const isListboxElOpened = this.open;\n // open the listbox\n if (target === 'button' || target === 'addOption') {\n let openDropdown =\n SPACEBAR_KEY_CODE.includes(keyCode) ||\n keyCode === ENTER_KEY_CODE ||\n keyCode == DOWN_ARROW_KEY_CODE ||\n keyCode == UP_ARROW_KEY_CODE;\n\n if (e.target === this.clearMultipleEl && keyCode === ENTER_KEY_CODE) {\n openDropdown = false;\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n highlightedIndex = 0;\n if (keyCode !== ENTER_KEY_CODE) return;\n }\n\n if (openDropdown) {\n this.open = true;\n\n if (\n this.allowAddOption &&\n target === 'button' &&\n keyCode === ENTER_KEY_CODE\n ) {\n setTimeout(() => {\n this.addOptionInputEl?.focus();\n }, 100);\n } else {\n // scroll to highlighted option\n if (!this.multiple && this.value !== '') {\n visibleOptions[highlightedIndex].scrollIntoView({\n block: 'nearest',\n });\n }\n }\n }\n }\n switch (keyCode) {\n case 0:\n case 32:\n case ENTER_KEY_CODE: {\n // select highlighted option\n visibleOptions[highlightedIndex].highlighted = true;\n if (isListboxElOpened) {\n if (this.multiple) {\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n this._handleClick({\n detail: {\n value: visibleOptions[highlightedIndex].value,\n selected: visibleOptions[highlightedIndex].selected,\n },\n });\n } else {\n visibleOptions.forEach((e) => (e.selected = false));\n visibleOptions[highlightedIndex].selected = true;\n this.updateValue(visibleOptions[highlightedIndex].value, true);\n this.emitValue();\n\n this.open = false;\n this.assistiveText = `Selected ${visibleOptions[highlightedIndex].value}`;\n }\n }\n return;\n }\n case DOWN_ARROW_KEY_CODE: {\n // go to next option\n let nextIndex =\n !highlightedEl && !selectedEl\n ? 0\n : highlightedIndex === visibleOptions.length - 1\n ? 0\n : highlightedIndex + 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === visibleOptions.length - 1 ? 0 : nextIndex + 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case UP_ARROW_KEY_CODE: {\n // go to previous option\n let nextIndex =\n highlightedIndex === 0\n ? visibleOptions.length - 1\n : highlightedIndex - 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === 0 ? visibleOptions.length - 1 : nextIndex - 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case ESCAPE_KEY_CODE: {\n // close listbox\n this.open = false;\n\n // restore focus\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n\n this.assistiveText = 'Dropdown menu options.';\n return;\n }\n default: {\n return;\n }\n }\n }\n\n private handleClearMultiple(e: any) {\n e.stopPropagation();\n\n // clear values\n if (this.multiple) {\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n } else {\n this.value = '';\n }\n\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n\n const event = new CustomEvent('on-clear-all', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleTagClear(tag: any) {\n // remove value\n this.updateValue(tag.value, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n\n private handleClear(e: any) {\n e.stopPropagation();\n\n // reset search input text\n this.text = '';\n this.searchText = '';\n this.searchEl.value = '';\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // reveal all options\n this.options.map((option: any) => {\n option.style.display = 'block';\n });\n }\n\n // clear selection for single select\n if (!this.multiple) {\n this.value = '';\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n }\n\n private handleSearchClick(e: any) {\n e.stopPropagation();\n this.open = true;\n if ((this.searchText ?? '').trim() === '') this.searchText = '';\n }\n\n private handleSearchKeydown(e: any) {\n e.stopPropagation();\n\n const ENTER_KEY_CODE = 13;\n const ESCAPE_KEY_CODE = 27;\n const option = this.options.find((option) => option.highlighted);\n const highlightedIndex = this.options.findIndex(\n (option) => option.highlighted\n );\n this.searchTextEntered = false;\n // select option\n if (e.keyCode === ENTER_KEY_CODE) {\n this.searchTextEntered = true;\n if (option) {\n if (this.prevSearchKeydownIndex !== highlightedIndex) {\n if (this.multiple) {\n option.selected = !option.selected;\n } else {\n this.options.forEach((e) => (e.selected = false));\n option.selected = true;\n this.open = false;\n }\n this.updateValue(option.value, option.selected);\n }\n\n if (option.selected) {\n this.assistiveText = `Selected ${option.innerHTML}`;\n this.prevSearchKeydownIndex = highlightedIndex;\n } else {\n this.assistiveText = `Deselected ${option.innerHTML}`;\n }\n } else {\n this.assistiveText = 'No item matched.';\n }\n }\n\n // close listbox\n if (e.keyCode === ESCAPE_KEY_CODE) {\n this.open = false;\n this.buttonEl.focus();\n }\n }\n\n private handleSearchInput(e: any) {\n const value = e.target.value;\n this.searchText = value;\n this.open = true;\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // hide items that don't match\n this.options.map((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n if (searchText.toLowerCase().includes(value.toLowerCase())) {\n option.style.display = 'block';\n } else {\n option.style.display = 'none';\n }\n });\n } else {\n // find matches\n const options = this.options.filter((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n return searchText.toLowerCase().startsWith(value.toLowerCase());\n });\n\n // reset options highlighted state\n this.options.forEach((option) => (option.highlighted = false));\n\n // option highlight and scroll\n if (value !== '' && options.length) {\n options[0].highlighted = true;\n options[0].scrollIntoView({ block: 'nearest' });\n if (this.searchTextEntered) this.assistiveText = 'Option Matched';\n }\n }\n }\n\n private _updateSelectedOptions() {\n // set selected state for each option\n this.options.forEach((option: any) => {\n if (this.multiple) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleClick(e: any) {\n if (e.detail.value === 'selectAll') {\n this.selectAllChecked = e.detail.selected;\n\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n if (e.detail.selected) {\n this.value = this.options\n .filter(\n (option) => !option.disabled || (option.disabled && option.selected)\n )\n .map((option) => option.value);\n this.assistiveText = 'Selected all items.';\n } else {\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n this.assistiveText = 'Deselected all items.';\n }\n\n this._validate(true, false);\n } else {\n this.updateValue(e.detail.value, e.detail.selected);\n this.assistiveText = e.detail.selected\n ? `Selected ${e.detail.value}`\n : `Deselected ${e.detail.value}`;\n }\n\n this._updateSelectedOptions();\n\n if (!this.multiple) {\n this.open = false;\n }\n\n // emit selected value\n this.emitValue();\n }\n\n private _handleBlur(e: any) {\n const relatedTarget = e.detail.origEvent.relatedTarget;\n\n if (\n !relatedTarget ||\n (relatedTarget?.localName !== 'kyn-dropdown-option' &&\n relatedTarget?.localName !== 'kyn-enhanced-dropdown-option' &&\n relatedTarget.localName !== 'kyn-dropdown')\n ) {\n this.open = false;\n }\n }\n\n private _handleClickOut(e: Event) {\n if (!e.composedPath().includes(this)) {\n this.open = false;\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this._onConnected();\n\n document.addEventListener('click', this._onDocumentClick);\n\n this.addEventListener('on-click', this._onChildClick);\n this.addEventListener('on-remove-option', this._onChildRemove);\n this.addEventListener('on-blur', this._onChildBlur);\n }\n\n override disconnectedCallback() {\n this._onDisconnected();\n\n document.removeEventListener('click', this._onDocumentClick);\n this.removeEventListener('on-click', this._onChildClick);\n this.removeEventListener('on-remove-option', this._onChildRemove);\n this.removeEventListener('on-blur', this._onChildBlur);\n\n super.disconnectedCallback();\n }\n\n private updateValue(value: string, selected = false) {\n // set value\n if (this.multiple) {\n const values =\n this.value === '' ? [] : JSON.parse(JSON.stringify(this.value));\n\n // update array\n if (selected) {\n values.push(value);\n } else {\n const index = values.indexOf(value);\n values.splice(index, 1);\n }\n\n this.value = values;\n } else {\n this.value = value;\n }\n\n this._validate(true, false);\n\n // reset focus\n if (!this.multiple) {\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private _validate(interacted: Boolean, report: Boolean) {\n // set validity flags\n const Validity = {\n customError: this.invalidText !== '',\n valueMissing:\n this.required &&\n (!this.value ||\n (this.multiple && !this.value.length) ||\n (!this.multiple && this.value === '')),\n };\n\n // set validationMessage\n const InternalMsg =\n this.required && !this.value.length ? 'Please fill out this field.' : '';\n const ValidationMessage =\n this.invalidText !== '' ? this.invalidText : InternalMsg;\n\n const validationAnchor = this.buttonEl || this.listboxEl;\n\n if (validationAnchor) {\n this._internals.setValidity(\n Validity,\n ValidationMessage,\n validationAnchor\n );\n } else {\n this._internals.setValidity(Validity, ValidationMessage);\n }\n\n if (interacted) {\n this._internalValidationMsg = InternalMsg;\n }\n\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n private emitValue() {\n const event = new CustomEvent('on-change', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private _emitSearch() {\n const event = new CustomEvent('on-search', {\n detail: {\n searchText: this.searchText,\n },\n });\n this.dispatchEvent(event);\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n\n override updated(changedProps: PropertyValues) {\n super.updated(changedProps);\n\n if (changedProps.has('kind')) {\n this.dispatchEvent(\n new CustomEvent('kind-changed', {\n detail: this.kind,\n bubbles: true,\n composed: true,\n })\n );\n\n this.classList.toggle('ai-connected-true', this.kind === 'ai');\n }\n\n const root = this.shadowRoot;\n if (!root) return;\n\n if (changedProps.has('open')) {\n const slot = root.querySelector<HTMLSlotElement>('slot[name=\"anchor\"]');\n const assigned = slot?.assignedElements({ flatten: true }) as\n | HTMLElement[]\n | undefined;\n const btn = assigned?.find(\n (el) => !el.querySelector('.clear-multiple-icon')\n );\n const icon = btn?.querySelector<HTMLElement>('span[slot=\"icon\"]');\n if (icon) {\n icon.style.transition = 'transform 0.2s ease-in-out';\n icon.style.transform = this.open ? 'rotate(180deg)' : 'rotate(0deg)';\n }\n }\n\n this._onUpdated(changedProps);\n\n if (changedProps.has('value')) {\n this._updateOptions();\n\n const childrenSlot = root.querySelector<HTMLSlotElement>('slot#children');\n const options = childrenSlot\n ? childrenSlot\n .assignedElements()\n .filter((o): o is HTMLElement => !o.hasAttribute('disabled'))\n : [];\n const selected = options.filter((o) => o.hasAttribute('selected'));\n\n this.selectAllChecked = selected.length === options.length;\n this.selectAllIndeterminate =\n selected.length > 0 && selected.length < options.length;\n\n this._updateTags();\n this._updateSelectedText();\n }\n\n if (changedProps.has('open') || changedProps.has('openDirection')) {\n if (this.open) {\n this.options.forEach((o) => (o.highlighted = false));\n\n if (!this.searchable && this.listboxEl) {\n this.listboxEl.focus({ preventScroll: true });\n this.assistiveText =\n 'Selecting items. Use up and down arrow keys to navigate.';\n }\n }\n\n if (this.openDirection === 'up') {\n this._openUpwards = true;\n } else if (this.openDirection === 'down') {\n this._openUpwards = false;\n } else if (this.open) {\n const rect = this.buttonEl.getBoundingClientRect();\n this._openUpwards = rect.top > window.innerHeight * 0.6;\n }\n\n if (this.open && !this.multiple) {\n const firstSelected = this.options.find((o) => o.selected);\n firstSelected?.scrollIntoView({ block: 'nearest' });\n }\n }\n\n if (changedProps.has('multiple')) {\n this.options.forEach((opt) => (opt.multiple = this.multiple));\n }\n\n if (changedProps.has('searchText') && this.searchEl) {\n this.searchEl.value = this.searchText;\n }\n\n if (changedProps.has('allowAddOption')) {\n this.updateChildOptions();\n }\n }\n\n private get hasSearch(): boolean {\n return (this.searchText ?? '').trim().length > 0;\n }\n\n // add selected options to Tags array\n private _updateTags() {\n if (this.multiple) {\n const Options: any = Array.from(\n this.querySelectorAll(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n const Tags: Array<object> = [];\n\n if (Options) {\n Options.forEach((option: any) => {\n if (option.selected) {\n let text = option.textContent;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n text = titleSlot.textContent.trim();\n } else {\n text = option.displayText || option.value;\n }\n } else {\n text = option.textContent.trim();\n }\n\n Tags.push({\n value: option.value,\n text: text,\n disabled: option.disabled,\n });\n }\n });\n\n this._tags = Tags;\n }\n }\n }\n\n private _updateOptions() {\n const Options: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n Options.forEach((option: any) => {\n // set option multiple state\n option.multiple = this.multiple;\n\n if (this.multiple) {\n const Selected = this.value.includes(option.value);\n // set option selected state\n option.selected = Selected;\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleInputNewOption(e: Event) {\n const target = e.target as HTMLInputElement;\n this.newOptionValue = target.value;\n }\n\n private _handleRemoveOption() {\n this.assistiveText = 'MY option removed ';\n setTimeout(() => {\n this.open = false;\n this.buttonEl.focus();\n }, 100);\n }\n\n private _updateSelectedText() {\n // update selected option text\n const AllOptions: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n if (!this.multiple) {\n if (AllOptions.length && this.value !== '') {\n const option = AllOptions.find(\n (option: any) => option.value === this.value\n );\n if (option) {\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n this.text = titleSlot.textContent.trim();\n } else {\n this.text = option.displayText || this.value;\n }\n } else {\n this.text = option.textContent.trim();\n }\n } else {\n this.text = '';\n console.warn(`No dropdown option found with value: ${this.value}`);\n }\n }\n\n if (this.searchable && this.text) {\n this.searchText = this.text === this.placeholder ? '' : this.text;\n this.searchEl.value = this.searchText;\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-dropdown': Dropdown;\n }\n}\n"],"names":["_defaultTextStrings","title","selectedOptions","requiredText","errorText","clearAll","clear","addItem","add","KEY","Dropdown","customElement","FormMixin","LitElement","_classThis","_classSuper","_Dropdown_label_accessor_storage","set","this","__runInitializers","_label_initializers","_Dropdown_size_accessor_storage","_label_extraInitializers","_size_initializers","_Dropdown_kind_accessor_storage","_size_extraInitializers","_kind_initializers","_Dropdown_inline_accessor_storage","_kind_extraInitializers","_inline_initializers","_Dropdown_caption_accessor_storage","_inline_extraInitializers","_caption_initializers","_Dropdown_placeholder_accessor_storage","_caption_extraInitializers","_placeholder_initializers","_Dropdown_open_accessor_storage","_placeholder_extraInitializers","_open_initializers","_Dropdown_searchable_accessor_storage","_open_extraInitializers","_searchable_initializers","_Dropdown_enhanced_accessor_storage","_searchable_extraInitializers","_enhanced_initializers","_Dropdown_filterSearch_accessor_storage","_enhanced_extraInitializers","_filterSearch_initializers","_Dropdown_multiple_accessor_storage","_filterSearch_extraInitializers","_multiple_initializers","_Dropdown_required_accessor_storage","_multiple_extraInitializers","_required_initializers","_Dropdown_hideLabel_accessor_storage","_required_extraInitializers","_hideLabel_initializers","_Dropdown_disabled_accessor_storage","_hideLabel_extraInitializers","_disabled_initializers","_Dropdown_hideTags_accessor_storage","_disabled_extraInitializers","_hideTags_initializers","_Dropdown_selectAll_accessor_storage","_hideTags_extraInitializers","_selectAll_initializers","_Dropdown_selectAllText_accessor_storage","_selectAll_extraInitializers","_selectAllText_initializers","_Dropdown_menuMinWidth_accessor_storage","_selectAllText_extraInitializers","_menuMinWidth_initializers","_Dropdown_openDirection_accessor_storage","_menuMinWidth_extraInitializers","_openDirection_initializers","_Dropdown_selectAllChecked_accessor_storage","_openDirection_extraInitializers","_selectAllChecked_initializers","_Dropdown_selectAllIndeterminate_accessor_storage","_selectAllChecked_extraInitializers","_selectAllIndeterminate_initializers","_Dropdown_textStrings_accessor_storage","_selectAllIndeterminate_extraInitializers","_textStrings_initializers","_Dropdown_allowAddOption_accessor_storage","_textStrings_extraInitializers","_allowAddOption_initializers","_Dropdown__textStrings_accessor_storage","_allowAddOption_extraInitializers","__textStrings_initializers","_Dropdown_newOptionValue_accessor_storage","__textStrings_extraInitializers","_newOptionValue_initializers","_Dropdown_text_accessor_storage","_newOptionValue_extraInitializers","_text_initializers","_Dropdown_searchText_accessor_storage","_text_extraInitializers","_searchText_initializers","_Dropdown_assistiveText_accessor_storage","_searchText_extraInitializers","_assistiveText_initializers","_Dropdown_searchEl_accessor_storage","_assistiveText_extraInitializers","_searchEl_initializers","_Dropdown_buttonEl_accessor_storage","_searchEl_extraInitializers","_buttonEl_initializers","_Dropdown_listboxEl_accessor_storage","_buttonEl_extraInitializers","_listboxEl_initializers","_Dropdown_clearMultipleEl_accessor_storage","_listboxEl_extraInitializers","_clearMultipleEl_initializers","_Dropdown_addOptionInputEl_accessor_storage","_clearMultipleEl_extraInitializers","_addOptionInputEl_initializers","_Dropdown__openUpwards_accessor_storage","_addOptionInputEl_extraInitializers","__openUpwards_initializers","_Dropdown__tags_accessor_storage","__openUpwards_extraInitializers","__tags_initializers","searchTextEntered","__tags_extraInitializers","prevSearchKeydownIndex","_onDocumentClick","e","_handleClickOut","_onChildClick","_handleClick","_onChildRemove","_e","_handleRemoveOption","_onChildBlur","_handleBlur","label","__classPrivateFieldGet","value","__classPrivateFieldSet","size","kind","inline","caption","placeholder","open","searchable","enhanced","filterSearch","multiple","required","hideLabel","disabled","hideTags","selectAll","selectAllText","menuMinWidth","openDirection","selectAllChecked","selectAllIndeterminate","textStrings","allowAddOption","_textStrings","newOptionValue","text","searchText","assistiveText","options","Array","from","querySelectorAll","filter","opt","hasAttribute","searchEl","buttonEl","listboxEl","clearMultipleEl","addOptionInputEl","_openUpwards","_tags","render","mainDropdownClasses","dropdown","html","classMap","name","_a","wrapper","handleAnchorClick","handleAnchorKeydown","select","_isInvalid","preventDefault","stopPropagation","length","handleClearMultiple","unsafeSVG","clearIcon","handleSearchKeydown","handleSearchInput","handleSearchClick","downIcon","upwards","handleListKeydown","handleListBlur","_handleListFocus","_handleInputNewOption","_onAddOptionInputKeydown","_onAddOptionInputFocus","_handleAddOption","handleSlotChange","hasSearch","handleClear","renderHelperContent","key","focus","handleKeyboard","isInOptions","composedPath","call","some","t","classList","contains","_c","_b","target","closest","handleClick","handleButtonKeydown","v","trim","dispatchEvent","CustomEvent","detail","map","tag","handleTagClear","errorIcon","invalidText","_internalValidationMsg","firstUpdated","updateChildOptions","_updateOptions","_updateSelectedText","shadowRoot","querySelector","assignedElements","flatten","forEach","option","tagName","keyCode","visibleOptions","style","display","firstEnabled","find","o","highlighted","tabIndex","scrollIntoView","block","relatedTarget","SPACEBAR_KEY_CODE","highlightedEl","selectedEl","selected","highlightedIndex","indexOf","includes","isListboxElOpened","openDropdown","setTimeout","updateValue","emitValue","nextIndex","DisabledSelectedOptions","_validate","_updateSelectedOptions","event","_emitSearch","findIndex","innerHTML","titleSlot","textContent","displayText","toLowerCase","startsWith","origEvent","localName","connectedCallback","super","_onConnected","document","addEventListener","disconnectedCallback","_onDisconnected","removeEventListener","values","JSON","parse","stringify","push","index","splice","interacted","report","Validity","customError","valueMissing","InternalMsg","ValidationMessage","validationAnchor","_internals","setValidity","reportValidity","willUpdate","changedProps","has","deepmerge","updated","bubbles","composed","toggle","root","slot","assigned","btn","el","icon","transition","transform","_onUpdated","childrenSlot","_updateTags","preventScroll","rect","getBoundingClientRect","top","window","innerHeight","firstSelected","Options","Tags","Selected","AllOptions","console","warn","_label_decorators","property","type","String","_size_decorators","attribute","_inline_decorators","Boolean","_caption_decorators","_placeholder_decorators","reflect","_searchable_decorators","_enhanced_decorators","_filterSearch_decorators","_multiple_decorators","_required_decorators","_hideLabel_decorators","_disabled_decorators","_hideTags_decorators","_selectAll_decorators","_selectAllText_decorators","_menuMinWidth_decorators","_openDirection_decorators","_selectAllChecked_decorators","_selectAllIndeterminate_decorators","_textStrings_decorators","Object","_allowAddOption_decorators","__textStrings_decorators","state","_newOptionValue_decorators","_text_decorators","_searchText_decorators","_assistiveText_decorators","query","__openUpwards_decorators","__tags_decorators","__esDecorate","static","private","access","obj","get","metadata","_metadata","_kind_decorators","_open_decorators","_searchEl_decorators","_buttonEl_decorators","_listboxEl_decorators","_clearMultipleEl_decorators","_addOptionInputEl_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","DropdownScss"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown.js","sources":["../../../../src/components/reusable/dropdown/dropdown.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, PropertyValues, html, unsafeCSS } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport DropdownScss from './dropdown.scss?inline';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { deepmerge } from 'deepmerge-ts';\n\nimport './dropdownOption';\nimport './enhancedDropdownOption';\nimport '../tag';\nimport '../button';\n\nimport { DropdownOption } from './dropdownOption';\nimport { EnhancedDropdownOption } from './enhancedDropdownOption';\n\nimport downIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-down.svg';\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nconst _defaultTextStrings = {\n title: 'Dropdown',\n selectedOptions: 'List of selected options',\n requiredText: 'Required',\n errorText: 'Error',\n clearAll: 'Clear all',\n clear: 'Clear',\n addItem: 'Add item...',\n add: 'Add',\n};\n\nconst KEY = {\n Enter: 'Enter',\n Escape: 'Escape',\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n} as const;\n\n/**\n * Dropdown, single select.\n * @fires on-change - Captures the dropdown change event and emits the selected value and original event details. `detail:{ value: string/array }`\n * @fires on-search - Capture the search input event and emits the search text.`detail:{ searchText: string }`\n * @fires on-clear-all - Captures the the multi-select clear all button click event and emits the value. `detail:{ value: array }`\n * @fires on-add-option - Captures the add button click and emits the newly added option. `detail:{ value: string }`\n * @slot unnamed - Slot for dropdown options.\n * @slot tooltip - Slot for tooltip.\n * @slot anchor - Slot for custom dropdown anchor element. If not provided, defaults to standard input-style anchor.\n * @attr {string/array} [value=''/[]] - The selected value(s) of the input. For single select, it is a string. For multi-select, it is an array of strings.\n * @attr {string} [name=''] - The name of the input, used for form submission.\n * @attr {string} [invalidText=''] - The custom validation message when the input is invalid.\n */\n@customElement('kyn-dropdown')\nexport class Dropdown extends FormMixin(LitElement) {\n static override styles = unsafeCSS(DropdownScss);\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Dropdown size/height. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n accessor size = 'md';\n\n /** Dropdown kind. */\n @property({ type: String, attribute: 'kind' })\n accessor kind: 'ai' | 'default' = 'default';\n\n /** Dropdown inline style type. */\n @property({ type: Boolean })\n accessor inline = false;\n\n /** Optional text beneath the input. */\n @property({ type: String })\n accessor caption = '';\n\n /** Dropdown placeholder. */\n @property({ type: String })\n accessor placeholder = '';\n\n /** Listbox/drawer open state. */\n @property({ type: Boolean, reflect: true })\n accessor open = false;\n\n /** Makes the dropdown searchable. */\n @property({ type: Boolean })\n accessor searchable = false;\n\n /** Makes the dropdown enhanced. */\n @property({ type: Boolean })\n accessor enhanced = false;\n\n /** Searchable variant filters results. */\n @property({ type: Boolean })\n accessor filterSearch = false;\n\n /** Enabled multi-select functionality. */\n @property({ type: Boolean })\n accessor multiple = false;\n\n /** Makes the dropdown required. */\n @property({ type: Boolean })\n accessor required = false;\n\n /** Visually hide the label. */\n @property({ type: Boolean })\n accessor hideLabel = false;\n\n /** Dropdown disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Hide the tags below multi-select. */\n @property({ type: Boolean })\n accessor hideTags = false;\n\n /** Adds a \"Select all\" option to the top of a multi-select dropdown. */\n @property({ type: Boolean })\n accessor selectAll = false;\n\n /** \"Select all\" text customization. */\n @property({ type: String })\n accessor selectAllText = 'Select all';\n\n /** Menu CSS min-width value. */\n @property({ type: String })\n accessor menuMinWidth = 'initial';\n\n /** Controls direction that dropdown opens. */\n @property({ type: String })\n accessor openDirection: 'auto' | 'up' | 'down' = 'auto';\n\n /** Is \"Select All\" box checked.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllChecked = false;\n\n /** Is \"Select All\" indeterminate.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllIndeterminate = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Enables the \"Add New Option\" feature. */\n @property({ type: Boolean })\n accessor allowAddOption = false;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**\n * New dropdown option value.\n * @ignore\n */\n @state()\n accessor newOptionValue = '';\n\n /**\n * Selected option text, automatically derived.\n * @ignore\n */\n @state()\n accessor text = '';\n\n /**\n * Search input value.\n */\n @property({ type: String })\n accessor searchText = '';\n\n /**\n * Assistive text for screen readers.\n * @ignore\n */\n @state()\n accessor assistiveText = 'Dropdown menu options.';\n\n /**\n * Queries any slotted options, default or enhanced.\n * @ignore\n */\n protected get options(): Array<DropdownOption | EnhancedDropdownOption> {\n return Array.from(\n this.querySelectorAll<DropdownOption | EnhancedDropdownOption>(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n }\n\n /**\n * Queries any slotted selected options.\n * @ignore\n */\n protected get selectedOptions(): Array<\n DropdownOption | EnhancedDropdownOption\n > {\n return this.options.filter(\n (opt): opt is DropdownOption | EnhancedDropdownOption =>\n opt.hasAttribute('selected')\n );\n }\n\n /**\n * Queries the .search DOM element.\n * @ignore\n */\n @query('.search')\n accessor searchEl!: HTMLInputElement;\n\n /**\n * Queries the .select DOM element.\n * @ignore\n */\n @query('.select')\n accessor buttonEl!: HTMLElement;\n\n /**\n * Queries the .options DOM element.\n * @ignore\n */\n @query('.options')\n accessor listboxEl!: HTMLElement;\n\n /**\n * Queries the .clear-multiple DOM element.\n * @ignore\n */\n @query('.clear-multiple')\n accessor clearMultipleEl!: HTMLElement;\n\n /**\n * Queries the .add-option-input DOM element.\n * @ignore\n */\n @query('.add-option-input')\n accessor addOptionInputEl!: HTMLInputElement;\n\n /**\n * Open drawer upwards.\n * @ignore\n */\n @state()\n accessor _openUpwards = false;\n\n /**\n * Tags value/text reference.\n * @ignore\n */\n @state()\n accessor _tags: Array<object> = [];\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n searchTextEntered: any = false;\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n prevSearchKeydownIndex = -1;\n\n private _onDocumentClick = (e: Event) => this._handleClickOut(e);\n private _onChildClick = (e: Event) => this._handleClick(e as any);\n private _onChildRemove = (_e: Event) => this._handleRemoveOption();\n private _onChildBlur = (e: Event) => this._handleBlur(e as any);\n\n override render() {\n const mainDropdownClasses = {\n dropdown: true,\n [`ai-connected-${this.kind === 'ai'}`]: true,\n };\n\n return html`\n <div\n class=${classMap(mainDropdownClasses)}\n ?disabled=${this.disabled}\n ?open=${this.open}\n ?inline=${this.inline}\n ?searchable=${this.searchable}\n >\n <label\n id=\"label-${this.name}\"\n class=\"label-text ${this.hideLabel || this.inline ? 'sr-only' : ''}\"\n for=${this.name}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText || 'Required'}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </label>\n\n <div\n class=${classMap({\n wrapper: true,\n open: this.open,\n })}\n >\n <div\n class=\"custom\"\n @click=${(e: MouseEvent) => this.handleAnchorClick(e)}\n @keydown=${(e: KeyboardEvent) => this.handleAnchorKeydown(e)}\n >\n <slot name=\"anchor\">\n <div\n class=\"${classMap({\n select: true,\n 'input-custom': true,\n 'size--sm': this.size === 'sm',\n 'size--lg': this.size === 'lg',\n inline: this.inline,\n })}\"\n aria-labelledby=\"label-${this.name}\"\n aria-expanded=${this.open}\n aria-controls=\"options\"\n role=\"combobox\"\n id=${this.name}\n name=${this.name}\n title=${this._textStrings.title}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?invalid=${this._isInvalid}\n tabindex=${this.disabled ? '' : this.searchable ? '-1' : '0'}\n @mousedown=${(e: any) => {\n if (!this.searchable) {\n e.preventDefault();\n }\n }}\n @blur=${(e: any) => e.stopPropagation()}\n >\n ${this.multiple && this.value.length\n ? html`\n <button\n class=\"clear-multiple\"\n aria-label=\"${this.value\n .length} items selected. Clear selections\"\n ?disabled=${this.disabled}\n title=${this._textStrings.clear}\n @click=${(e: Event) => this.handleClearMultiple(e)}\n >\n ${this.value.length}\n <span style=\"display:flex;\" class=\"clear-multiple-icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </button>\n `\n : null}\n ${this.searchable\n ? html`\n <input\n class=\"search\"\n type=\"text\"\n placeholder=${this.placeholder}\n value=${this.searchText}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled}\n @keydown=${(e: any) => this.handleSearchKeydown(e)}\n @input=${(e: any) => this.handleSearchInput(e)}\n @blur=${(e: any) => e.stopPropagation()}\n @click=${(e: any) => this.handleSearchClick(e)}\n />\n `\n : html`\n <span\n class=\"${classMap({\n 'placeholder-text': this.text === '',\n })}\"\n >\n ${this.multiple\n ? this.placeholder\n : this.value === ''\n ? this.placeholder\n : this.text}\n </span>\n `}\n\n <span class=\"arrow-icon\">${unsafeSVG(downIcon)}</span>\n </div>\n </slot>\n\n <div\n id=\"options\"\n class=${classMap({\n options: true,\n open: this.open,\n upwards: this._openUpwards,\n })}\n style=\"min-width: ${this.menuMinWidth};\"\n aria-hidden=${!this.open}\n @keydown=${this.handleListKeydown}\n @blur=${this.handleListBlur}\n @focus=${this._handleListFocus}\n >\n ${this.allowAddOption\n ? html`\n <div class=\"add-option\">\n <input\n class=\"add-option-input\"\n type=\"text\"\n placeholder=${this._textStrings.addItem}\n .value=${this.newOptionValue}\n aria-label=\"Add new option\"\n @input=${this._handleInputNewOption}\n @keydown=${this._onAddOptionInputKeydown}\n @focus=${this._onAddOptionInputFocus}\n />\n <kyn-button\n type=\"button\"\n size=\"small\"\n kind=\"secondary\"\n @on-click=${this._handleAddOption}\n >\n ${this._textStrings.add}\n </kyn-button>\n </div>\n `\n : null}\n\n <div role=\"listbox\" aria-labelledby=\"label-${this.name}\">\n ${this.multiple && this.selectAll\n ? html`\n ${this.enhanced\n ? html`\n <kyn-enhanced-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-enhanced-dropdown-option>\n `\n : html`\n <kyn-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-dropdown-option>\n `}\n `\n : null}\n\n <slot\n id=\"children\"\n @slotchange=${() => this.handleSlotChange()}\n ></slot>\n </div>\n </div>\n </div>\n ${this.hasSearch && this.open\n ? html`\n <kyn-button\n ?disabled=${this.disabled}\n class=\"clear-button dropdown-clear\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${(e: Event) => this.handleClear(e)}\n >\n <span style=\"display:flex;\">${unsafeSVG(clearIcon)}</span>\n </kyn-button>\n `\n : null}\n </div>\n ${this.renderHelperContent()}\n </div>\n `;\n }\n\n private _onAddOptionInputKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n switch (e.key) {\n case KEY.Enter:\n this._handleAddOption();\n break;\n case KEY.Escape:\n this.newOptionValue = '';\n this.open = false;\n this.buttonEl.focus();\n break;\n case KEY.ArrowDown:\n this.handleKeyboard(e, 40, 'addOption');\n break;\n case KEY.ArrowUp:\n this.handleKeyboard(e, 38, 'addOption');\n break;\n }\n }\n\n private _onAddOptionInputFocus() {\n this.assistiveText = 'Add new option input';\n }\n\n private handleAnchorClick(e: MouseEvent) {\n if (this.disabled) return;\n\n const path = (e.composedPath?.() || []) as Array<EventTarget>;\n const isInOptions =\n path.some((t) => (t as HTMLElement)?.classList?.contains('options')) ||\n (e.target as HTMLElement)?.closest?.(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option, .add-option'\n );\n\n if (isInOptions) return;\n\n this.handleClick();\n }\n private handleAnchorKeydown(e: any) {\n if (this.disabled) return;\n this.handleButtonKeydown(e);\n }\n\n private _handleAddOption() {\n const v = this.newOptionValue.trim();\n if (!v) return;\n this.dispatchEvent(\n new CustomEvent('on-add-option', { detail: { value: v } })\n );\n this.newOptionValue = '';\n }\n\n private renderHelperContent() {\n return html`\n ${\n this.multiple && !this.hideTags && this._tags.length\n ? html`\n <kyn-tag-group\n filter\n role=\"list\"\n aria-label=${this._textStrings.selectedOptions}\n >\n ${this._tags.map((tag: any) => {\n return html`\n <kyn-tag\n role=\"listitem\"\n label=${tag.text}\n ?disabled=${this.disabled || tag.disabled}\n @on-close=${() => this.handleTagClear(tag)}\n ></kyn-tag>\n `;\n })}\n </kyn-tag-group>\n `\n : null\n }\n ${\n this.caption !== ''\n ? html`\n <div class=\"caption\" aria-disabled=${this.disabled}>\n ${this.caption}\n </div>\n `\n : null\n }\n ${\n this._isInvalid\n ? html`\n <div class=\"error\">\n <span\n class=\"error-icon\"\n role=\"img\"\n title=${this._textStrings.errorText}\n aria-label=${this._textStrings.errorText}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null\n }\n\n <div\n class=\"assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${this.assistiveText}\n </div>\n </div>\n `;\n }\n\n override firstUpdated() {\n // set a default placeholder if none provided\n if (this.placeholder === '') {\n if (this.searchable) {\n this.placeholder = 'Search';\n } else {\n if (this.multiple) {\n this.placeholder = 'Select items';\n } else {\n this.placeholder = 'Select an option';\n }\n }\n }\n }\n\n private handleSlotChange() {\n this.updateChildOptions();\n this._updateOptions();\n this._updateSelectedText();\n }\n\n private updateChildOptions() {\n // Get all slotted kyn-dropdown-option elements\n const slot = this.shadowRoot?.querySelector('#children') as HTMLSlotElement;\n const options = slot.assignedElements({ flatten: true }) as HTMLElement[];\n\n // Pass allowAddOption to each kyn-dropdown-option\n options.forEach((option) => {\n if (\n option.tagName === 'KYN-DROPDOWN-OPTION' ||\n option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION'\n ) {\n (option as any).allowAddOption = this.allowAddOption;\n }\n });\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.open = !this.open;\n\n // focus search input if searchable\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private handleButtonKeydown(e: any) {\n this.handleKeyboard(e, e.keyCode, 'button');\n }\n\n private handleListKeydown(e: any) {\n const TAB_KEY_CODE = 9;\n\n if (e.keyCode !== TAB_KEY_CODE) {\n e.preventDefault();\n }\n\n this.handleKeyboard(e, e.keyCode, 'list');\n }\n\n private _handleListFocus() {\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n\n const firstEnabled = visibleOptions.find((o: any) => !o.disabled) as any;\n if (!firstEnabled) return;\n\n visibleOptions.forEach((o: any) => (o.highlighted = false));\n\n if (!('tabIndex' in firstEnabled) || firstEnabled.tabIndex < 0) {\n firstEnabled.tabIndex = 0;\n }\n firstEnabled.focus();\n firstEnabled.scrollIntoView({ block: 'nearest' });\n this.assistiveText = firstEnabled.text || 'Option';\n }\n\n private handleListBlur(e: FocusEvent): void {\n if (this.multiple) {\n return;\n }\n\n this.options.forEach((o) => (o.highlighted = false));\n const target = e.relatedTarget as HTMLElement | null;\n\n if (\n target &&\n (target.closest('kyn-dropdown-option') ||\n target.closest('kyn-enhanced-dropdown-option') ||\n target.classList.contains('search') ||\n target.closest('.add-option'))\n ) {\n return;\n }\n\n this.open = false;\n this.assistiveText = 'Dropdown menu options.';\n }\n\n private handleKeyboard(e: any, keyCode: number, target: string) {\n const SPACEBAR_KEY_CODE = [0, 32];\n const ENTER_KEY_CODE = 13;\n const DOWN_ARROW_KEY_CODE = 40;\n const UP_ARROW_KEY_CODE = 38;\n const ESCAPE_KEY_CODE = 27;\n\n // get highlighted element + index and selected element\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n // visibleOptions.forEach((e) => (e.tabIndex = 0));\n\n const highlightedEl = visibleOptions.find(\n (option: any) => option.highlighted\n );\n const selectedEl = visibleOptions.find((option: any) => option.selected);\n let highlightedIndex = highlightedEl\n ? visibleOptions.indexOf(highlightedEl)\n : selectedEl\n ? visibleOptions.indexOf(selectedEl)\n : 0;\n\n // prevent page scroll on spacebar press\n if (SPACEBAR_KEY_CODE.includes(keyCode)) {\n e.preventDefault();\n }\n\n const isListboxElOpened = this.open;\n // open the listbox\n if (target === 'button' || target === 'addOption') {\n let openDropdown =\n SPACEBAR_KEY_CODE.includes(keyCode) ||\n keyCode === ENTER_KEY_CODE ||\n keyCode == DOWN_ARROW_KEY_CODE ||\n keyCode == UP_ARROW_KEY_CODE;\n\n if (e.target === this.clearMultipleEl && keyCode === ENTER_KEY_CODE) {\n openDropdown = false;\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n highlightedIndex = 0;\n if (keyCode !== ENTER_KEY_CODE) return;\n }\n\n if (openDropdown) {\n this.open = true;\n\n if (\n this.allowAddOption &&\n target === 'button' &&\n keyCode === ENTER_KEY_CODE\n ) {\n setTimeout(() => {\n this.addOptionInputEl?.focus();\n }, 100);\n } else {\n // scroll to highlighted option\n if (!this.multiple && this.value !== '') {\n visibleOptions[highlightedIndex].scrollIntoView({\n block: 'nearest',\n });\n }\n }\n }\n }\n switch (keyCode) {\n case 0:\n case 32:\n case ENTER_KEY_CODE: {\n // select highlighted option\n visibleOptions[highlightedIndex].highlighted = true;\n if (isListboxElOpened) {\n if (this.multiple) {\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n this._handleClick({\n detail: {\n value: visibleOptions[highlightedIndex].value,\n selected: visibleOptions[highlightedIndex].selected,\n },\n });\n } else {\n visibleOptions.forEach((e) => (e.selected = false));\n visibleOptions[highlightedIndex].selected = true;\n this.updateValue(visibleOptions[highlightedIndex].value, true);\n this.emitValue();\n\n this.open = false;\n this.assistiveText = `Selected ${visibleOptions[highlightedIndex].value}`;\n }\n }\n return;\n }\n case DOWN_ARROW_KEY_CODE: {\n // go to next option\n let nextIndex =\n !highlightedEl && !selectedEl\n ? 0\n : highlightedIndex === visibleOptions.length - 1\n ? 0\n : highlightedIndex + 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === visibleOptions.length - 1 ? 0 : nextIndex + 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case UP_ARROW_KEY_CODE: {\n // go to previous option\n let nextIndex =\n highlightedIndex === 0\n ? visibleOptions.length - 1\n : highlightedIndex - 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === 0 ? visibleOptions.length - 1 : nextIndex - 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case ESCAPE_KEY_CODE: {\n // close listbox\n this.open = false;\n\n // restore focus\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n\n this.assistiveText = 'Dropdown menu options.';\n return;\n }\n default: {\n return;\n }\n }\n }\n\n private handleClearMultiple(e: any) {\n e.stopPropagation();\n\n // clear values\n if (this.multiple) {\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n } else {\n this.value = '';\n }\n\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n\n const event = new CustomEvent('on-clear-all', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleTagClear(tag: any) {\n // remove value\n this.updateValue(tag.value, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n\n private handleClear(e: any) {\n e.stopPropagation();\n\n // reset search input text\n this.text = '';\n this.searchText = '';\n this.searchEl.value = '';\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // reveal all options\n this.options.map((option: any) => {\n option.style.display = 'block';\n });\n }\n\n // clear selection for single select\n if (!this.multiple) {\n this.value = '';\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n }\n\n private handleSearchClick(e: any) {\n e.stopPropagation();\n this.open = true;\n if ((this.searchText ?? '').trim() === '') this.searchText = '';\n }\n\n private handleSearchKeydown(e: any) {\n e.stopPropagation();\n\n const ENTER_KEY_CODE = 13;\n const ESCAPE_KEY_CODE = 27;\n const option = this.options.find((option) => option.highlighted);\n const highlightedIndex = this.options.findIndex(\n (option) => option.highlighted\n );\n this.searchTextEntered = false;\n // select option\n if (e.keyCode === ENTER_KEY_CODE) {\n this.searchTextEntered = true;\n if (option) {\n if (this.prevSearchKeydownIndex !== highlightedIndex) {\n if (this.multiple) {\n option.selected = !option.selected;\n } else {\n this.options.forEach((e) => (e.selected = false));\n option.selected = true;\n this.open = false;\n }\n this.updateValue(option.value, option.selected);\n }\n\n if (option.selected) {\n this.assistiveText = `Selected ${option.innerHTML}`;\n this.prevSearchKeydownIndex = highlightedIndex;\n } else {\n this.assistiveText = `Deselected ${option.innerHTML}`;\n }\n } else {\n this.assistiveText = 'No item matched.';\n }\n }\n\n // close listbox\n if (e.keyCode === ESCAPE_KEY_CODE) {\n this.open = false;\n this.buttonEl.focus();\n }\n }\n\n private handleSearchInput(e: any) {\n const value = e.target.value;\n this.searchText = value;\n this.open = true;\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // hide items that don't match\n this.options.map((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n if (searchText.toLowerCase().includes(value.toLowerCase())) {\n option.style.display = 'block';\n } else {\n option.style.display = 'none';\n }\n });\n } else {\n // find matches\n const options = this.options.filter((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n return searchText.toLowerCase().startsWith(value.toLowerCase());\n });\n\n // reset options highlighted state\n this.options.forEach((option) => (option.highlighted = false));\n\n // option highlight and scroll\n if (value !== '' && options.length) {\n options[0].highlighted = true;\n options[0].scrollIntoView({ block: 'nearest' });\n if (this.searchTextEntered) this.assistiveText = 'Option Matched';\n }\n }\n }\n\n private _updateSelectedOptions() {\n // set selected state for each option\n this.options.forEach((option: any) => {\n if (this.multiple) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleClick(e: any) {\n if (e.detail.value === 'selectAll') {\n this.selectAllChecked = e.detail.selected;\n\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n if (e.detail.selected) {\n this.value = this.options\n .filter(\n (option) => !option.disabled || (option.disabled && option.selected)\n )\n .map((option) => option.value);\n this.assistiveText = 'Selected all items.';\n } else {\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n this.assistiveText = 'Deselected all items.';\n }\n\n this._validate(true, false);\n } else {\n this.updateValue(e.detail.value, e.detail.selected);\n this.assistiveText = e.detail.selected\n ? `Selected ${e.detail.value}`\n : `Deselected ${e.detail.value}`;\n }\n\n this._updateSelectedOptions();\n\n if (!this.multiple) {\n this.open = false;\n }\n\n // emit selected value\n this.emitValue();\n }\n\n private _handleBlur(e: any) {\n const relatedTarget = e.detail.origEvent.relatedTarget;\n\n if (\n !relatedTarget ||\n (relatedTarget?.localName !== 'kyn-dropdown-option' &&\n relatedTarget?.localName !== 'kyn-enhanced-dropdown-option' &&\n relatedTarget.localName !== 'kyn-dropdown')\n ) {\n this.open = false;\n }\n }\n\n private _handleClickOut(e: Event) {\n if (!e.composedPath().includes(this)) {\n this.open = false;\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this._onConnected();\n\n document.addEventListener('click', this._onDocumentClick);\n\n this.addEventListener('on-click', this._onChildClick);\n this.addEventListener('on-remove-option', this._onChildRemove);\n this.addEventListener('on-blur', this._onChildBlur);\n }\n\n override disconnectedCallback() {\n this._onDisconnected();\n\n document.removeEventListener('click', this._onDocumentClick);\n this.removeEventListener('on-click', this._onChildClick);\n this.removeEventListener('on-remove-option', this._onChildRemove);\n this.removeEventListener('on-blur', this._onChildBlur);\n\n super.disconnectedCallback();\n }\n\n private updateValue(value: string, selected = false) {\n // set value\n if (this.multiple) {\n const values =\n this.value === '' ? [] : JSON.parse(JSON.stringify(this.value));\n\n // update array\n if (selected) {\n values.push(value);\n } else {\n const index = values.indexOf(value);\n values.splice(index, 1);\n }\n\n this.value = values;\n } else {\n this.value = value;\n }\n\n this._validate(true, false);\n\n // reset focus\n if (!this.multiple) {\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private _validate(interacted: Boolean, report: Boolean) {\n // set validity flags\n const Validity = {\n customError: this.invalidText !== '',\n valueMissing:\n this.required &&\n (!this.value ||\n (this.multiple && !this.value.length) ||\n (!this.multiple && this.value === '')),\n };\n\n // set validationMessage\n const InternalMsg =\n this.required && !this.value.length ? 'Please fill out this field.' : '';\n const ValidationMessage =\n this.invalidText !== '' ? this.invalidText : InternalMsg;\n\n const validationAnchor = this.buttonEl || this.listboxEl;\n\n if (validationAnchor) {\n this._internals.setValidity(\n Validity,\n ValidationMessage,\n validationAnchor\n );\n } else {\n this._internals.setValidity(Validity, ValidationMessage);\n }\n\n if (interacted) {\n this._internalValidationMsg = InternalMsg;\n }\n\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n private emitValue() {\n const event = new CustomEvent('on-change', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private _emitSearch() {\n const event = new CustomEvent('on-search', {\n detail: {\n searchText: this.searchText,\n },\n });\n this.dispatchEvent(event);\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n\n override updated(changedProps: PropertyValues) {\n super.updated(changedProps);\n\n if (changedProps.has('kind')) {\n this.dispatchEvent(\n new CustomEvent('kind-changed', {\n detail: this.kind,\n bubbles: true,\n composed: true,\n })\n );\n\n this.classList.toggle('ai-connected-true', this.kind === 'ai');\n }\n\n const root = this.shadowRoot;\n if (!root) return;\n\n if (changedProps.has('open')) {\n const slot = root.querySelector<HTMLSlotElement>('slot[name=\"anchor\"]');\n const assigned = slot?.assignedElements({ flatten: true }) as\n | HTMLElement[]\n | undefined;\n const btn = assigned?.find(\n (el) => !el.querySelector('.clear-multiple-icon')\n );\n const icon = btn?.querySelector<HTMLElement>('span[slot=\"icon\"]');\n if (icon) {\n icon.style.transition = 'transform 0.2s ease-in-out';\n icon.style.transform = this.open ? 'rotate(180deg)' : 'rotate(0deg)';\n }\n }\n\n this._onUpdated(changedProps);\n\n if (changedProps.has('value')) {\n this._updateOptions();\n\n const childrenSlot = root.querySelector<HTMLSlotElement>('slot#children');\n const options = childrenSlot\n ? childrenSlot\n .assignedElements()\n .filter((o): o is HTMLElement => !o.hasAttribute('disabled'))\n : [];\n const selected = options.filter((o) => o.hasAttribute('selected'));\n\n this.selectAllChecked = selected.length === options.length;\n this.selectAllIndeterminate =\n selected.length > 0 && selected.length < options.length;\n\n this._updateTags();\n this._updateSelectedText();\n }\n\n if (changedProps.has('open') || changedProps.has('openDirection')) {\n if (this.open) {\n this.options.forEach((o) => (o.highlighted = false));\n\n if (!this.searchable && this.listboxEl) {\n this.listboxEl.focus({ preventScroll: true });\n this.assistiveText =\n 'Selecting items. Use up and down arrow keys to navigate.';\n }\n }\n\n if (this.openDirection === 'up') {\n this._openUpwards = true;\n } else if (this.openDirection === 'down') {\n this._openUpwards = false;\n } else if (this.open) {\n const rect = this.buttonEl.getBoundingClientRect();\n this._openUpwards = rect.top > window.innerHeight * 0.6;\n }\n\n if (this.open && !this.multiple) {\n const firstSelected = this.options.find((o) => o.selected);\n firstSelected?.scrollIntoView({ block: 'nearest' });\n }\n }\n\n if (changedProps.has('multiple')) {\n this.options.forEach((opt) => (opt.multiple = this.multiple));\n }\n\n if (changedProps.has('searchText') && this.searchEl) {\n this.searchEl.value = this.searchText;\n }\n\n if (changedProps.has('allowAddOption')) {\n this.updateChildOptions();\n }\n }\n\n private get hasSearch(): boolean {\n return (this.searchText ?? '').trim().length > 0;\n }\n\n // add selected options to Tags array\n private _updateTags() {\n if (this.multiple) {\n const Options: any = Array.from(\n this.querySelectorAll(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n const Tags: Array<object> = [];\n\n if (Options) {\n Options.forEach((option: any) => {\n if (option.selected) {\n let text = option.textContent;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n text = titleSlot.textContent.trim();\n } else {\n text = option.displayText || option.value;\n }\n } else {\n text = option.textContent.trim();\n }\n\n Tags.push({\n value: option.value,\n text: text,\n disabled: option.disabled,\n });\n }\n });\n\n this._tags = Tags;\n }\n }\n }\n\n private _updateOptions() {\n const Options: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n Options.forEach((option: any) => {\n // set option multiple state\n option.multiple = this.multiple;\n\n if (this.multiple) {\n const Selected = this.value.includes(option.value);\n // set option selected state\n option.selected = Selected;\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleInputNewOption(e: Event) {\n const target = e.target as HTMLInputElement;\n this.newOptionValue = target.value;\n }\n\n private _handleRemoveOption() {\n this.assistiveText = 'MY option removed ';\n setTimeout(() => {\n this.open = false;\n this.buttonEl.focus();\n }, 100);\n }\n\n private _updateSelectedText() {\n // update selected option text\n const AllOptions: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n if (!this.multiple) {\n if (AllOptions.length && this.value !== '') {\n const option = AllOptions.find(\n (option: any) => option.value === this.value\n );\n if (option) {\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n this.text = titleSlot.textContent.trim();\n } else {\n this.text = option.displayText || this.value;\n }\n } else {\n this.text = option.textContent.trim();\n }\n } else {\n this.text = '';\n console.warn(`No dropdown option found with value: ${this.value}`);\n }\n }\n\n if (this.searchable && this.text) {\n this.searchText = this.text === this.placeholder ? '' : this.text;\n this.searchEl.value = this.searchText;\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-dropdown': Dropdown;\n }\n}\n"],"names":["_defaultTextStrings","title","selectedOptions","requiredText","errorText","clearAll","clear","addItem","add","KEY","Dropdown","customElement","FormMixin","LitElement","_classThis","_classSuper","_Dropdown_label_accessor_storage","set","this","__runInitializers","_label_initializers","_Dropdown_size_accessor_storage","_label_extraInitializers","_size_initializers","_Dropdown_kind_accessor_storage","_size_extraInitializers","_kind_initializers","_Dropdown_inline_accessor_storage","_kind_extraInitializers","_inline_initializers","_Dropdown_caption_accessor_storage","_inline_extraInitializers","_caption_initializers","_Dropdown_placeholder_accessor_storage","_caption_extraInitializers","_placeholder_initializers","_Dropdown_open_accessor_storage","_placeholder_extraInitializers","_open_initializers","_Dropdown_searchable_accessor_storage","_open_extraInitializers","_searchable_initializers","_Dropdown_enhanced_accessor_storage","_searchable_extraInitializers","_enhanced_initializers","_Dropdown_filterSearch_accessor_storage","_enhanced_extraInitializers","_filterSearch_initializers","_Dropdown_multiple_accessor_storage","_filterSearch_extraInitializers","_multiple_initializers","_Dropdown_required_accessor_storage","_multiple_extraInitializers","_required_initializers","_Dropdown_hideLabel_accessor_storage","_required_extraInitializers","_hideLabel_initializers","_Dropdown_disabled_accessor_storage","_hideLabel_extraInitializers","_disabled_initializers","_Dropdown_hideTags_accessor_storage","_disabled_extraInitializers","_hideTags_initializers","_Dropdown_selectAll_accessor_storage","_hideTags_extraInitializers","_selectAll_initializers","_Dropdown_selectAllText_accessor_storage","_selectAll_extraInitializers","_selectAllText_initializers","_Dropdown_menuMinWidth_accessor_storage","_selectAllText_extraInitializers","_menuMinWidth_initializers","_Dropdown_openDirection_accessor_storage","_menuMinWidth_extraInitializers","_openDirection_initializers","_Dropdown_selectAllChecked_accessor_storage","_openDirection_extraInitializers","_selectAllChecked_initializers","_Dropdown_selectAllIndeterminate_accessor_storage","_selectAllChecked_extraInitializers","_selectAllIndeterminate_initializers","_Dropdown_textStrings_accessor_storage","_selectAllIndeterminate_extraInitializers","_textStrings_initializers","_Dropdown_allowAddOption_accessor_storage","_textStrings_extraInitializers","_allowAddOption_initializers","_Dropdown__textStrings_accessor_storage","_allowAddOption_extraInitializers","__textStrings_initializers","_Dropdown_newOptionValue_accessor_storage","__textStrings_extraInitializers","_newOptionValue_initializers","_Dropdown_text_accessor_storage","_newOptionValue_extraInitializers","_text_initializers","_Dropdown_searchText_accessor_storage","_text_extraInitializers","_searchText_initializers","_Dropdown_assistiveText_accessor_storage","_searchText_extraInitializers","_assistiveText_initializers","_Dropdown_searchEl_accessor_storage","_assistiveText_extraInitializers","_searchEl_initializers","_Dropdown_buttonEl_accessor_storage","_searchEl_extraInitializers","_buttonEl_initializers","_Dropdown_listboxEl_accessor_storage","_buttonEl_extraInitializers","_listboxEl_initializers","_Dropdown_clearMultipleEl_accessor_storage","_listboxEl_extraInitializers","_clearMultipleEl_initializers","_Dropdown_addOptionInputEl_accessor_storage","_clearMultipleEl_extraInitializers","_addOptionInputEl_initializers","_Dropdown__openUpwards_accessor_storage","_addOptionInputEl_extraInitializers","__openUpwards_initializers","_Dropdown__tags_accessor_storage","__openUpwards_extraInitializers","__tags_initializers","searchTextEntered","__tags_extraInitializers","prevSearchKeydownIndex","_onDocumentClick","e","_handleClickOut","_onChildClick","_handleClick","_onChildRemove","_e","_handleRemoveOption","_onChildBlur","_handleBlur","label","__classPrivateFieldGet","value","__classPrivateFieldSet","size","kind","inline","caption","placeholder","open","searchable","enhanced","filterSearch","multiple","required","hideLabel","disabled","hideTags","selectAll","selectAllText","menuMinWidth","openDirection","selectAllChecked","selectAllIndeterminate","textStrings","allowAddOption","_textStrings","newOptionValue","text","searchText","assistiveText","options","Array","from","querySelectorAll","filter","opt","hasAttribute","searchEl","buttonEl","listboxEl","clearMultipleEl","addOptionInputEl","_openUpwards","_tags","render","mainDropdownClasses","dropdown","html","classMap","name","_a","wrapper","handleAnchorClick","handleAnchorKeydown","select","_isInvalid","preventDefault","stopPropagation","length","handleClearMultiple","unsafeSVG","clearIcon","handleSearchKeydown","handleSearchInput","handleSearchClick","downIcon","upwards","handleListKeydown","handleListBlur","_handleListFocus","_handleInputNewOption","_onAddOptionInputKeydown","_onAddOptionInputFocus","_handleAddOption","handleSlotChange","hasSearch","handleClear","renderHelperContent","key","focus","handleKeyboard","isInOptions","composedPath","call","some","t","classList","contains","_c","_b","target","closest","handleClick","handleButtonKeydown","v","trim","dispatchEvent","CustomEvent","detail","map","tag","handleTagClear","errorIcon","invalidText","_internalValidationMsg","firstUpdated","updateChildOptions","_updateOptions","_updateSelectedText","shadowRoot","querySelector","assignedElements","flatten","forEach","option","tagName","keyCode","visibleOptions","style","display","firstEnabled","find","o","highlighted","tabIndex","scrollIntoView","block","relatedTarget","SPACEBAR_KEY_CODE","highlightedEl","selectedEl","selected","highlightedIndex","indexOf","includes","isListboxElOpened","openDropdown","setTimeout","updateValue","emitValue","nextIndex","DisabledSelectedOptions","_validate","_updateSelectedOptions","event","_emitSearch","findIndex","innerHTML","titleSlot","textContent","displayText","toLowerCase","startsWith","origEvent","localName","connectedCallback","super","_onConnected","document","addEventListener","disconnectedCallback","_onDisconnected","removeEventListener","values","JSON","parse","stringify","push","index","splice","interacted","report","Validity","customError","valueMissing","InternalMsg","ValidationMessage","validationAnchor","_internals","setValidity","reportValidity","willUpdate","changedProps","has","deepmerge","updated","bubbles","composed","toggle","root","slot","assigned","btn","el","icon","transition","transform","_onUpdated","childrenSlot","_updateTags","preventScroll","rect","getBoundingClientRect","top","window","innerHeight","firstSelected","Options","Tags","Selected","AllOptions","console","warn","_label_decorators","property","type","String","_size_decorators","attribute","_inline_decorators","Boolean","_caption_decorators","_placeholder_decorators","reflect","_searchable_decorators","_enhanced_decorators","_filterSearch_decorators","_multiple_decorators","_required_decorators","_hideLabel_decorators","_disabled_decorators","_hideTags_decorators","_selectAll_decorators","_selectAllText_decorators","_menuMinWidth_decorators","_openDirection_decorators","_selectAllChecked_decorators","_selectAllIndeterminate_decorators","_textStrings_decorators","Object","_allowAddOption_decorators","__textStrings_decorators","state","_newOptionValue_decorators","_text_decorators","_searchText_decorators","_assistiveText_decorators","query","__openUpwards_decorators","__tags_decorators","__esDecorate","static","private","access","obj","get","metadata","_metadata","_kind_decorators","_open_decorators","_searchEl_decorators","_buttonEl_decorators","_listboxEl_decorators","_clearMultipleEl_decorators","_addOptionInputEl_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","DropdownScss"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as e,a as t,b as i,c as
|
|
1
|
+
import{_ as e,a as t,b as i,c as o,d as n}from"../../../vendor/tslib-Ac8XvvSX.js";import{e as a,x as s,o as l}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as r,a as d,t as c,r as m,n as h}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{i as u}from"../../../vendor/lit-element-m-OqzV5s.js";import"../checkbox/checkbox.js";import"../checkbox/checkboxGroup.js";import"../checkbox/checkboxSubgroup.js";import"../button/button.js";import{h as v,c as b}from"../../../vendor/@kyndryl-design-system/shidoka-icons-bi0_OAYf.js";import"../../../vendor/deepmerge-ts-OFb5ej8y.js";import"../../../common/mixins/form-input.js";import"../textInput/textInput.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var g=r`*,
|
|
2
2
|
*::before,
|
|
3
3
|
*::after {
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -38,7 +38,7 @@ import{_ as e,a as t,b as i,c as n,d as o}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
38
38
|
|
|
39
39
|
.menu-item {
|
|
40
40
|
background-color: var(--kd-color-background-menu-state-default);
|
|
41
|
-
transition: background-color 150ms ease-out
|
|
41
|
+
transition: background-color 150ms ease-out;
|
|
42
42
|
}
|
|
43
43
|
.menu-item .menu-item-inner-el {
|
|
44
44
|
color: var(--kd-color-text-level-primary);
|
|
@@ -53,18 +53,15 @@ import{_ as e,a as t,b as i,c as n,d as o}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
53
53
|
.menu-item:hover:not([disabled]) .menu-item-inner-el {
|
|
54
54
|
color: var(--kd-color-text-level-light);
|
|
55
55
|
}
|
|
56
|
+
.menu-item:hover:not([disabled]) slot[name=icon]::slotted(span) {
|
|
57
|
+
color: var(--kd-color-icon-light);
|
|
58
|
+
}
|
|
56
59
|
.menu-item:is(:focus, :focus-within, :focus-visible):not([disabled]) {
|
|
57
60
|
background-color: var(--kd-color-background-menu-state-open);
|
|
58
61
|
}
|
|
59
62
|
.menu-item:is(:focus, :focus-within, :focus-visible):not([disabled]) .menu-item-inner-el {
|
|
60
63
|
color: var(--kd-color-text-level-primary);
|
|
61
64
|
}
|
|
62
|
-
.menu-item:active:not([disabled]) {
|
|
63
|
-
background-color: var(--kd-color-background-menu-state-pressed);
|
|
64
|
-
}
|
|
65
|
-
.menu-item:active:not([disabled]) .menu-item-inner-el {
|
|
66
|
-
color: var(--kd-color-text-level-light);
|
|
67
|
-
}
|
|
68
65
|
.menu-item[selected]:not([disabled]) {
|
|
69
66
|
background-color: var(--kd-color-background-menu-state-open);
|
|
70
67
|
}
|
|
@@ -148,10 +145,10 @@ import{_ as e,a as t,b as i,c as n,d as o}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
148
145
|
.menu-item.ai-connected-true[selected]:not([disabled]), .menu-item.ai-connected-true[highlighted]:not([disabled]) {
|
|
149
146
|
background-color: var(--kd-color-background-menu-state-ai-open);
|
|
150
147
|
}
|
|
151
|
-
.menu-item.ai-connected-true[selected]:not([disabled]):hover, .menu-item.ai-connected-true[
|
|
148
|
+
.menu-item.ai-connected-true[selected]:not([disabled]):hover, .menu-item.ai-connected-true[highlighted]:not([disabled]):hover {
|
|
152
149
|
background-color: var(--kd-color-background-menu-state-ai-hover);
|
|
153
150
|
}
|
|
154
|
-
.menu-item.ai-connected-true[selected]:not([disabled]):hover .menu-item-inner-el, .menu-item.ai-connected-true[
|
|
151
|
+
.menu-item.ai-connected-true[selected]:not([disabled]):hover .menu-item-inner-el, .menu-item.ai-connected-true[highlighted]:not([disabled]):hover .menu-item-inner-el {
|
|
155
152
|
color: var(--kd-color-text-level-light);
|
|
156
153
|
}
|
|
157
154
|
.menu-item.ai-connected-true[disabled] {
|
|
@@ -223,7 +220,7 @@ kyn-checkbox {
|
|
|
223
220
|
}
|
|
224
221
|
.remove-option .clear-icon {
|
|
225
222
|
padding-top: 0.25rem;
|
|
226
|
-
}`;let p=(()=>{var r,p,k,f,x,w,y,$,S,j,C,I,M;let W,O,E,B,A,P,D,z,N,R,U,F,G,L,_,q=[c("kyn-dropdown-option")],H=[],J=u,K=[],Q=[],T=[],V=[],X=[],Y=[],Z=[],ee=[],te=[],ie=[],
|
|
223
|
+
}`;let p=(()=>{var r,p,k,f,x,w,y,$,S,j,C,I,M;let W,O,E,B,A,P,D,z,N,R,U,F,G,L,_,q=[c("kyn-dropdown-option")],H=[],J=u,K=[],Q=[],T=[],V=[],X=[],Y=[],Z=[],ee=[],te=[],ie=[],oe=[],ne=[],ae=[],se=[],le=[],re=[],de=[],ce=[],me=[],he=[],ue=[],ve=[],be=[],ge=[],pe=[],ke=[];return O=class extends J{get value(){return o(this,r,"f")}set value(e){n(this,r,e,"f")}get selected(){return o(this,p,"f")}set selected(e){n(this,p,e,"f")}get disabled(){return o(this,k,"f")}set disabled(e){n(this,k,e,"f")}get allowAddOption(){return o(this,f,"f")}set allowAddOption(e){n(this,f,e,"f")}get highlighted(){return o(this,x,"f")}set highlighted(e){n(this,x,e,"f")}get multiple(){return o(this,w,"f")}set multiple(e){n(this,w,e,"f")}get removable(){return o(this,y,"f")}set removable(e){n(this,y,e,"f")}get text(){return o(this,$,"f")}set text(e){n(this,$,e,"f")}get indeterminate(){return o(this,S,"f")}set indeterminate(e){n(this,S,e,"f")}get kind(){return o(this,j,"f")}set kind(e){n(this,j,e,"f")}get hasIcon(){return o(this,C,"f")}set hasIcon(e){n(this,C,e,"f")}get role(){return o(this,I,"f")}set role(e){n(this,I,e,"f")}get ariaSelected(){return o(this,M,"f")}set ariaSelected(e){n(this,M,e,"f")}render(){const e={option:!0,"menu-item":!0,[`ai-connected-${"ai"===this.kind}`]:!0};return s`
|
|
227
224
|
<div
|
|
228
225
|
class=${a(e)}
|
|
229
226
|
?highlighted=${this.highlighted}
|
|
@@ -236,7 +233,7 @@ kyn-checkbox {
|
|
|
236
233
|
@blur=${e=>this.handleBlur(e)}
|
|
237
234
|
>
|
|
238
235
|
<span class="menu-item-inner-el text">
|
|
239
|
-
${this.multiple?
|
|
236
|
+
${this.multiple?s`
|
|
240
237
|
<kyn-checkbox
|
|
241
238
|
type="checkbox"
|
|
242
239
|
value=${this.value}
|
|
@@ -251,28 +248,28 @@ kyn-checkbox {
|
|
|
251
248
|
<slot
|
|
252
249
|
@slotchange=${e=>this.handleSlotChange(e)}
|
|
253
250
|
></slot>
|
|
254
|
-
`:
|
|
251
|
+
`:s`
|
|
255
252
|
<slot
|
|
256
253
|
@slotchange=${e=>this.handleSlotChange(e)}
|
|
257
254
|
></slot>
|
|
258
255
|
`}
|
|
259
256
|
</span>
|
|
260
|
-
${this.hasIcon?
|
|
257
|
+
${this.hasIcon?s`<slot
|
|
261
258
|
name="icon"
|
|
262
259
|
style="display:flex"
|
|
263
260
|
@slotchange=${e=>this.handleIconSlotChange(e)}
|
|
264
|
-
></slot>`:
|
|
261
|
+
></slot>`:s`
|
|
265
262
|
<slot
|
|
266
263
|
name="icon"
|
|
267
264
|
style="display:none"
|
|
268
265
|
@slotchange=${e=>this.handleIconSlotChange(e)}
|
|
269
266
|
></slot>
|
|
270
267
|
`}
|
|
271
|
-
${this.selected&&!this.multiple?
|
|
268
|
+
${this.selected&&!this.multiple?s`
|
|
272
269
|
<span class="menu-item-inner-el check-icon"
|
|
273
|
-
>${
|
|
270
|
+
>${l(v)}</span
|
|
274
271
|
>
|
|
275
|
-
`:this.allowAddOption&&this.removable?
|
|
272
|
+
`:this.allowAddOption&&this.removable?s`
|
|
276
273
|
<kyn-button
|
|
277
274
|
class="remove-option"
|
|
278
275
|
kind="ghost"
|
|
@@ -286,10 +283,10 @@ kyn-checkbox {
|
|
|
286
283
|
@focus=${e=>e.stopPropagation()}
|
|
287
284
|
>
|
|
288
285
|
<span slot="icon" class="clear-icon">
|
|
289
|
-
${
|
|
286
|
+
${l(b)}
|
|
290
287
|
</span>
|
|
291
288
|
</kyn-button>
|
|
292
289
|
`:null}
|
|
293
290
|
</div>
|
|
294
|
-
`}firstUpdated(){const e=this.closest("kyn-dropdown");e&&(this.kind=e.kind,e.addEventListener("kind-changed",(e=>{this.kind=e.detail})))}willUpdate(e){e.has("selected")&&(this.ariaSelected=this.selected.toString())}handleRemoveClick(e){e.stopPropagation();const t=new CustomEvent("on-remove-option",{bubbles:!0,composed:!0,detail:{value:this.value}});this.dispatchEvent(t)}handleSlotChange(e){const t=e.target.assignedNodes({flatten:!0});let i="";for(let e=0;e<t.length;e++)i+=t[e].textContent.trim();this.text=i}handleClick(e){if(this.disabled)return;this.multiple?this.selected=!this.selected:this.selected=!0;const t=new CustomEvent("on-click",{bubbles:!0,composed:!0,detail:{selected:this.selected,value:this.value,origEvent:e}});this.dispatchEvent(t)}handleBlur(e){const t=new CustomEvent("on-blur",{bubbles:!0,composed:!0,detail:{origEvent:e}});this.dispatchEvent(t)}handleIconSlotChange(e){const t=e.target.assignedNodes({flatten:!0});this.hasIcon=t.length>0}constructor(){super(...arguments),r.set(this,i(this,K,"")),p.set(this,(i(this,Q),i(this,T,!1))),k.set(this,(i(this,V),i(this,X,!1))),f.set(this,(i(this,Y),i(this,Z,!1))),x.set(this,(i(this,ee),i(this,te,!1))),w.set(this,(i(this,ie),i(this,
|
|
291
|
+
`}firstUpdated(){const e=this.closest("kyn-dropdown");e&&(this.kind=e.kind,e.addEventListener("kind-changed",(e=>{this.kind=e.detail})))}willUpdate(e){e.has("selected")&&(this.ariaSelected=this.selected.toString())}handleRemoveClick(e){e.stopPropagation();const t=new CustomEvent("on-remove-option",{bubbles:!0,composed:!0,detail:{value:this.value}});this.dispatchEvent(t)}handleSlotChange(e){const t=e.target.assignedNodes({flatten:!0});let i="";for(let e=0;e<t.length;e++)i+=t[e].textContent.trim();this.text=i}handleClick(e){if(this.disabled)return;this.multiple?this.selected=!this.selected:this.selected=!0;const t=new CustomEvent("on-click",{bubbles:!0,composed:!0,detail:{selected:this.selected,value:this.value,origEvent:e}});this.dispatchEvent(t)}handleBlur(e){const t=new CustomEvent("on-blur",{bubbles:!0,composed:!0,detail:{origEvent:e}});this.dispatchEvent(t)}handleIconSlotChange(e){const t=e.target.assignedNodes({flatten:!0});this.hasIcon=t.length>0}constructor(){super(...arguments),r.set(this,i(this,K,"")),p.set(this,(i(this,Q),i(this,T,!1))),k.set(this,(i(this,V),i(this,X,!1))),f.set(this,(i(this,Y),i(this,Z,!1))),x.set(this,(i(this,ee),i(this,te,!1))),w.set(this,(i(this,ie),i(this,oe,!1))),y.set(this,(i(this,ne),i(this,ae,!1))),$.set(this,(i(this,se),i(this,le,""))),S.set(this,(i(this,re),i(this,de,!1))),j.set(this,(i(this,ce),i(this,me,"default"))),C.set(this,(i(this,he),i(this,ue,!1))),I.set(this,(i(this,ve),i(this,be,"option"))),M.set(this,(i(this,ge),i(this,pe,"option"))),i(this,ke)}},r=new WeakMap,p=new WeakMap,k=new WeakMap,f=new WeakMap,x=new WeakMap,w=new WeakMap,y=new WeakMap,$=new WeakMap,S=new WeakMap,j=new WeakMap,C=new WeakMap,I=new WeakMap,M=new WeakMap,e(O,"DropdownOption"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=J[Symbol.metadata])&&void 0!==e?e:null):void 0;E=[h({type:String})],B=[h({type:Boolean})],A=[h({type:Boolean})],P=[h({type:Boolean})],D=[d()],z=[h({type:Boolean})],N=[h({type:Boolean})],R=[d()],U=[h({type:Boolean,reflect:!0})],F=[d()],G=[d()],L=[h({type:String,reflect:!0})],_=[h({type:String,reflect:!0,attribute:"aria-selected"})],t(O,null,E,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:i},K,Q),t(O,null,B,{kind:"accessor",name:"selected",static:!1,private:!1,access:{has:e=>"selected"in e,get:e=>e.selected,set:(e,t)=>{e.selected=t}},metadata:i},T,V),t(O,null,A,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:i},X,Y),t(O,null,P,{kind:"accessor",name:"allowAddOption",static:!1,private:!1,access:{has:e=>"allowAddOption"in e,get:e=>e.allowAddOption,set:(e,t)=>{e.allowAddOption=t}},metadata:i},Z,ee),t(O,null,D,{kind:"accessor",name:"highlighted",static:!1,private:!1,access:{has:e=>"highlighted"in e,get:e=>e.highlighted,set:(e,t)=>{e.highlighted=t}},metadata:i},te,ie),t(O,null,z,{kind:"accessor",name:"multiple",static:!1,private:!1,access:{has:e=>"multiple"in e,get:e=>e.multiple,set:(e,t)=>{e.multiple=t}},metadata:i},oe,ne),t(O,null,N,{kind:"accessor",name:"removable",static:!1,private:!1,access:{has:e=>"removable"in e,get:e=>e.removable,set:(e,t)=>{e.removable=t}},metadata:i},ae,se),t(O,null,R,{kind:"accessor",name:"text",static:!1,private:!1,access:{has:e=>"text"in e,get:e=>e.text,set:(e,t)=>{e.text=t}},metadata:i},le,re),t(O,null,U,{kind:"accessor",name:"indeterminate",static:!1,private:!1,access:{has:e=>"indeterminate"in e,get:e=>e.indeterminate,set:(e,t)=>{e.indeterminate=t}},metadata:i},de,ce),t(O,null,F,{kind:"accessor",name:"kind",static:!1,private:!1,access:{has:e=>"kind"in e,get:e=>e.kind,set:(e,t)=>{e.kind=t}},metadata:i},me,he),t(O,null,G,{kind:"accessor",name:"hasIcon",static:!1,private:!1,access:{has:e=>"hasIcon"in e,get:e=>e.hasIcon,set:(e,t)=>{e.hasIcon=t}},metadata:i},ue,ve),t(O,null,L,{kind:"accessor",name:"role",static:!1,private:!1,access:{has:e=>"role"in e,get:e=>e.role,set:(e,t)=>{e.role=t}},metadata:i},be,ge),t(O,null,_,{kind:"accessor",name:"ariaSelected",static:!1,private:!1,access:{has:e=>"ariaSelected"in e,get:e=>e.ariaSelected,set:(e,t)=>{e.ariaSelected=t}},metadata:i},pe,ke),t(null,W={value:O},q,{kind:"class",name:O.name,metadata:i},null,H),O=W.value,i&&Object.defineProperty(O,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),O.styles=m(g),i(O,H),O})();export{p as DropdownOption};
|
|
295
292
|
//# sourceMappingURL=dropdownOption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdownOption.js","sources":["../../../../src/components/reusable/dropdown/dropdownOption.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport '../checkbox';\nimport '../button';\n\nimport checkIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/check.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nimport DropdownOptionScss from './dropdownOption.scss?inline';\n\n/**\n * Dropdown option.\n * @fires on-click - Emits the option details to the parent dropdown. `detail:{ selected: boolean, value: string, origEvent: PointerEvent }`\n * @fires on-remove-option - Emits the option that is removed. `detail:{ value: string }`\n * @slot unnamed - Slot for option text.\n * @slot icon - Slot for option icon. Icon size should be 16px only.\n */\n@customElement('kyn-dropdown-option')\nexport class DropdownOption extends LitElement {\n static override styles = unsafeCSS(DropdownOptionScss);\n\n /** Option value. */\n @property({ type: String })\n accessor value = '';\n\n /** Internal text strings.\n * @internal\n */\n @property({ type: Boolean })\n accessor selected = false;\n\n /** Option disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Allow Add Option state, derived from parent. */\n @property({ type: Boolean })\n accessor allowAddOption = false;\n\n /**\n * Option highlighted state for keyboard navigation, automatically derived.\n * @ignore\n */\n @state()\n accessor highlighted = false;\n\n /** Multi-select state, derived from parent.\n * @ignore\n */\n @property({ type: Boolean })\n accessor multiple = false;\n\n /** Removable option. */\n @property({ type: Boolean })\n accessor removable = false;\n\n /**\n * Option text, automatically derived.\n * @ignore\n */\n @state()\n accessor text: any = '';\n\n /** Determines whether the checkbox is in an indeterminate state. */\n @property({ type: Boolean, reflect: true })\n accessor indeterminate = false;\n\n /** Kind of the item, derived from parent.\n * @ignore\n */\n @state()\n accessor kind: 'ai' | 'default' = 'default';\n\n /** slotted icon added state.\n * @ignore\n */\n @state()\n accessor hasIcon = false;\n\n @property({ type: String, reflect: true })\n override accessor role = 'option';\n\n @property({ type: String, reflect: true, attribute: 'aria-selected' })\n override accessor ariaSelected = 'option';\n\n override render() {\n const classes = {\n option: true,\n 'menu-item': true,\n [`ai-connected-${this.kind === 'ai'}`]: true,\n };\n\n return html`\n <div\n class=${classMap(classes)}\n ?highlighted=${this.highlighted}\n ?selected=${this.selected}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled}\n ?multiple=${this.multiple}\n title=${this.text}\n @pointerup=${(e: any) => this.handleClick(e)}\n @blur=${(e: any) => this.handleBlur(e)}\n >\n <span class=\"menu-item-inner-el text\">\n ${this.multiple\n ? html`\n <kyn-checkbox\n type=\"checkbox\"\n value=${this.value}\n .checked=${this.selected}\n ?checked=${this.selected}\n ?disabled=${this.disabled}\n notFocusable\n .indeterminate=${this.indeterminate}\n >\n </kyn-checkbox>\n\n <slot\n @slotchange=${(e: any) => this.handleSlotChange(e)}\n ></slot>\n `\n : html`\n <slot\n @slotchange=${(e: any) => this.handleSlotChange(e)}\n ></slot>\n `}\n </span>\n ${this.hasIcon\n ? html`<slot\n name=\"icon\"\n style=\"display:flex\"\n @slotchange=${(e: any) => this.handleIconSlotChange(e)}\n ></slot>`\n : html`\n <slot\n name=\"icon\"\n style=\"display:none\"\n @slotchange=${(e: any) => this.handleIconSlotChange(e)}\n ></slot>\n `}\n ${this.selected && !this.multiple\n ? html`\n <span class=\"menu-item-inner-el check-icon\"\n >${unsafeSVG(checkIcon)}</span\n >\n `\n : this.allowAddOption && this.removable\n ? html`\n <kyn-button\n class=\"remove-option\"\n kind=\"ghost\"\n size=\"small\"\n aria-label=\"Delete ${this.value}\"\n description=\"Delete ${this.value}\"\n ?disabled=${this.disabled}\n @click=${(e: Event) => this.handleRemoveClick(e)}\n @mousedown=${(e: Event) => e.stopPropagation()}\n @keydown=${(e: KeyboardEvent) => e.stopPropagation()}\n @focus=${(e: KeyboardEvent) => e.stopPropagation()}\n >\n <span slot=\"icon\" class=\"clear-icon\">\n ${unsafeSVG(clearIcon)}\n </span>\n </kyn-button>\n `\n : null}\n </div>\n `;\n }\n\n override firstUpdated() {\n const parent = this.closest('kyn-dropdown') as any;\n if (parent) {\n this.kind = parent.kind;\n\n parent.addEventListener('kind-changed', (e: Event) => {\n this.kind = (e as CustomEvent<'ai' | 'default'>).detail;\n });\n }\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('selected')) {\n this.ariaSelected = this.selected.toString();\n }\n }\n\n private handleRemoveClick(e: Event) {\n e.stopPropagation();\n const event = new CustomEvent('on-remove-option', {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleSlotChange(e: any) {\n // set text prop from slotted text, for ease of access\n const nodes = e.target.assignedNodes({ flatten: true });\n let text = '';\n\n for (let i = 0; i < nodes.length; i++) {\n text += nodes[i].textContent.trim();\n }\n\n this.text = text;\n }\n\n private handleClick(e: Event) {\n // prevent click if disabled\n if (this.disabled) {\n return;\n }\n\n // update selected state\n if (this.multiple) {\n this.selected = !this.selected;\n } else {\n this.selected = true;\n }\n\n // emit selected value, bubble so it can be captured by the parent dropdown\n const event = new CustomEvent('on-click', {\n bubbles: true,\n composed: true,\n detail: {\n selected: this.selected,\n value: this.value,\n origEvent: e,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleBlur(e: any) {\n // emit blur event, bubble so it can be captured by the parent dropdown\n const event = new CustomEvent('on-blur', {\n bubbles: true,\n composed: true,\n detail: {\n origEvent: e,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleIconSlotChange(e: any) {\n const nodes = e.target.assignedNodes({ flatten: true });\n this.hasIcon = nodes.length > 0;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-dropdown-option': DropdownOption;\n }\n}\n"],"names":["DropdownOption","customElement","LitElement","_classThis","_classSuper","value","__classPrivateFieldGet","this","_DropdownOption_value_accessor_storage","__classPrivateFieldSet","selected","_DropdownOption_selected_accessor_storage","disabled","_DropdownOption_disabled_accessor_storage","allowAddOption","_DropdownOption_allowAddOption_accessor_storage","highlighted","_DropdownOption_highlighted_accessor_storage","multiple","_DropdownOption_multiple_accessor_storage","removable","_DropdownOption_removable_accessor_storage","text","_DropdownOption_text_accessor_storage","indeterminate","_DropdownOption_indeterminate_accessor_storage","kind","_DropdownOption_kind_accessor_storage","hasIcon","_DropdownOption_hasIcon_accessor_storage","role","_DropdownOption_role_accessor_storage","ariaSelected","_DropdownOption_ariaSelected_accessor_storage","render","classes","option","html","classMap","e","handleClick","handleBlur","handleSlotChange","handleIconSlotChange","unsafeSVG","checkIcon","handleRemoveClick","stopPropagation","clearIcon","firstUpdated","parent","closest","addEventListener","detail","willUpdate","changedProps","has","toString","event","CustomEvent","bubbles","composed","dispatchEvent","nodes","target","assignedNodes","flatten","i","length","textContent","trim","origEvent","set","__runInitializers","_value_initializers","_value_extraInitializers","_selected_initializers","_selected_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_allowAddOption_initializers","_allowAddOption_extraInitializers","_highlighted_initializers","_highlighted_extraInitializers","_multiple_initializers","_multiple_extraInitializers","_removable_initializers","_removable_extraInitializers","_text_initializers","_text_extraInitializers","_indeterminate_initializers","_indeterminate_extraInitializers","_kind_initializers","_kind_extraInitializers","_hasIcon_initializers","_hasIcon_extraInitializers","_role_initializers","_role_extraInitializers","_ariaSelected_initializers","_value_decorators","property","type","String","_selected_decorators","Boolean","_disabled_decorators","_allowAddOption_decorators","_highlighted_decorators","state","_multiple_decorators","_removable_decorators","_text_decorators","reflect","_kind_decorators","_hasIcon_decorators","_ariaSelected_decorators","attribute","__esDecorate","name","static","private","access","obj","get","metadata","_metadata","_indeterminate_decorators","_role_decorators","_ariaSelected_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","DropdownOptionScss"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdownOption.js","sources":["../../../../src/components/reusable/dropdown/dropdownOption.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport '../checkbox';\nimport '../button';\n\nimport checkIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/check.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nimport DropdownOptionScss from './dropdownOption.scss?inline';\n\n/**\n * Dropdown option.\n * @fires on-click - Emits the option details to the parent dropdown. `detail:{ selected: boolean, value: string, origEvent: PointerEvent }`\n * @fires on-remove-option - Emits the option that is removed. `detail:{ value: string }`\n * @slot unnamed - Slot for option text.\n * @slot icon - Slot for option icon. Icon size should be 16px only.\n */\n@customElement('kyn-dropdown-option')\nexport class DropdownOption extends LitElement {\n static override styles = unsafeCSS(DropdownOptionScss);\n\n /** Option value. */\n @property({ type: String })\n accessor value = '';\n\n /** Internal text strings.\n * @internal\n */\n @property({ type: Boolean })\n accessor selected = false;\n\n /** Option disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Allow Add Option state, derived from parent. */\n @property({ type: Boolean })\n accessor allowAddOption = false;\n\n /**\n * Option highlighted state for keyboard navigation, automatically derived.\n * @ignore\n */\n @state()\n accessor highlighted = false;\n\n /** Multi-select state, derived from parent.\n * @ignore\n */\n @property({ type: Boolean })\n accessor multiple = false;\n\n /** Removable option. */\n @property({ type: Boolean })\n accessor removable = false;\n\n /**\n * Option text, automatically derived.\n * @ignore\n */\n @state()\n accessor text: any = '';\n\n /** Determines whether the checkbox is in an indeterminate state. */\n @property({ type: Boolean, reflect: true })\n accessor indeterminate = false;\n\n /** Kind of the item, derived from parent.\n * @ignore\n */\n @state()\n accessor kind: 'ai' | 'default' = 'default';\n\n /** slotted icon added state.\n * @ignore\n */\n @state()\n accessor hasIcon = false;\n\n @property({ type: String, reflect: true })\n override accessor role = 'option';\n\n @property({ type: String, reflect: true, attribute: 'aria-selected' })\n override accessor ariaSelected = 'option';\n\n override render() {\n const classes = {\n option: true,\n 'menu-item': true,\n [`ai-connected-${this.kind === 'ai'}`]: true,\n };\n\n return html`\n <div\n class=${classMap(classes)}\n ?highlighted=${this.highlighted}\n ?selected=${this.selected}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled}\n ?multiple=${this.multiple}\n title=${this.text}\n @pointerup=${(e: any) => this.handleClick(e)}\n @blur=${(e: any) => this.handleBlur(e)}\n >\n <span class=\"menu-item-inner-el text\">\n ${this.multiple\n ? html`\n <kyn-checkbox\n type=\"checkbox\"\n value=${this.value}\n .checked=${this.selected}\n ?checked=${this.selected}\n ?disabled=${this.disabled}\n notFocusable\n .indeterminate=${this.indeterminate}\n >\n </kyn-checkbox>\n\n <slot\n @slotchange=${(e: any) => this.handleSlotChange(e)}\n ></slot>\n `\n : html`\n <slot\n @slotchange=${(e: any) => this.handleSlotChange(e)}\n ></slot>\n `}\n </span>\n ${this.hasIcon\n ? html`<slot\n name=\"icon\"\n style=\"display:flex\"\n @slotchange=${(e: any) => this.handleIconSlotChange(e)}\n ></slot>`\n : html`\n <slot\n name=\"icon\"\n style=\"display:none\"\n @slotchange=${(e: any) => this.handleIconSlotChange(e)}\n ></slot>\n `}\n ${this.selected && !this.multiple\n ? html`\n <span class=\"menu-item-inner-el check-icon\"\n >${unsafeSVG(checkIcon)}</span\n >\n `\n : this.allowAddOption && this.removable\n ? html`\n <kyn-button\n class=\"remove-option\"\n kind=\"ghost\"\n size=\"small\"\n aria-label=\"Delete ${this.value}\"\n description=\"Delete ${this.value}\"\n ?disabled=${this.disabled}\n @click=${(e: Event) => this.handleRemoveClick(e)}\n @mousedown=${(e: Event) => e.stopPropagation()}\n @keydown=${(e: KeyboardEvent) => e.stopPropagation()}\n @focus=${(e: KeyboardEvent) => e.stopPropagation()}\n >\n <span slot=\"icon\" class=\"clear-icon\">\n ${unsafeSVG(clearIcon)}\n </span>\n </kyn-button>\n `\n : null}\n </div>\n `;\n }\n\n override firstUpdated() {\n const parent = this.closest('kyn-dropdown') as any;\n if (parent) {\n this.kind = parent.kind;\n\n parent.addEventListener('kind-changed', (e: Event) => {\n this.kind = (e as CustomEvent<'ai' | 'default'>).detail;\n });\n }\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('selected')) {\n this.ariaSelected = this.selected.toString();\n }\n }\n\n private handleRemoveClick(e: Event) {\n e.stopPropagation();\n const event = new CustomEvent('on-remove-option', {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleSlotChange(e: any) {\n // set text prop from slotted text, for ease of access\n const nodes = e.target.assignedNodes({ flatten: true });\n let text = '';\n\n for (let i = 0; i < nodes.length; i++) {\n text += nodes[i].textContent.trim();\n }\n\n this.text = text;\n }\n\n private handleClick(e: Event) {\n // prevent click if disabled\n if (this.disabled) {\n return;\n }\n\n // update selected state\n if (this.multiple) {\n this.selected = !this.selected;\n } else {\n this.selected = true;\n }\n\n // emit selected value, bubble so it can be captured by the parent dropdown\n const event = new CustomEvent('on-click', {\n bubbles: true,\n composed: true,\n detail: {\n selected: this.selected,\n value: this.value,\n origEvent: e,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleBlur(e: any) {\n // emit blur event, bubble so it can be captured by the parent dropdown\n const event = new CustomEvent('on-blur', {\n bubbles: true,\n composed: true,\n detail: {\n origEvent: e,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleIconSlotChange(e: any) {\n const nodes = e.target.assignedNodes({ flatten: true });\n this.hasIcon = nodes.length > 0;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-dropdown-option': DropdownOption;\n }\n}\n"],"names":["DropdownOption","customElement","LitElement","_classThis","_classSuper","value","__classPrivateFieldGet","this","_DropdownOption_value_accessor_storage","__classPrivateFieldSet","selected","_DropdownOption_selected_accessor_storage","disabled","_DropdownOption_disabled_accessor_storage","allowAddOption","_DropdownOption_allowAddOption_accessor_storage","highlighted","_DropdownOption_highlighted_accessor_storage","multiple","_DropdownOption_multiple_accessor_storage","removable","_DropdownOption_removable_accessor_storage","text","_DropdownOption_text_accessor_storage","indeterminate","_DropdownOption_indeterminate_accessor_storage","kind","_DropdownOption_kind_accessor_storage","hasIcon","_DropdownOption_hasIcon_accessor_storage","role","_DropdownOption_role_accessor_storage","ariaSelected","_DropdownOption_ariaSelected_accessor_storage","render","classes","option","html","classMap","e","handleClick","handleBlur","handleSlotChange","handleIconSlotChange","unsafeSVG","checkIcon","handleRemoveClick","stopPropagation","clearIcon","firstUpdated","parent","closest","addEventListener","detail","willUpdate","changedProps","has","toString","event","CustomEvent","bubbles","composed","dispatchEvent","nodes","target","assignedNodes","flatten","i","length","textContent","trim","origEvent","set","__runInitializers","_value_initializers","_value_extraInitializers","_selected_initializers","_selected_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_allowAddOption_initializers","_allowAddOption_extraInitializers","_highlighted_initializers","_highlighted_extraInitializers","_multiple_initializers","_multiple_extraInitializers","_removable_initializers","_removable_extraInitializers","_text_initializers","_text_extraInitializers","_indeterminate_initializers","_indeterminate_extraInitializers","_kind_initializers","_kind_extraInitializers","_hasIcon_initializers","_hasIcon_extraInitializers","_role_initializers","_role_extraInitializers","_ariaSelected_initializers","_value_decorators","property","type","String","_selected_decorators","Boolean","_disabled_decorators","_allowAddOption_decorators","_highlighted_decorators","state","_multiple_decorators","_removable_decorators","_text_decorators","reflect","_kind_decorators","_hasIcon_decorators","_ariaSelected_decorators","attribute","__esDecorate","name","static","private","access","obj","get","metadata","_metadata","_indeterminate_decorators","_role_decorators","_ariaSelected_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","DropdownOptionScss"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as e,a as t,b as i,c as n,d as o}from"../../../vendor/tslib-Ac8XvvSX.js";import{e as a,x as l,o as s}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as d,a as r,t as c,r as h,n as m}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{i as u}from"../../../vendor/lit-element-m-OqzV5s.js";import"../checkbox/checkbox.js";import"../checkbox/checkboxGroup.js";import"../checkbox/checkboxSubgroup.js";import"../button/button.js";import{h as p,c as
|
|
1
|
+
import{_ as e,a as t,b as i,c as n,d as o}from"../../../vendor/tslib-Ac8XvvSX.js";import{e as a,x as l,o as s}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as d,a as r,t as c,r as h,n as m}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{i as u}from"../../../vendor/lit-element-m-OqzV5s.js";import"../checkbox/checkbox.js";import"../checkbox/checkboxGroup.js";import"../checkbox/checkboxSubgroup.js";import"../button/button.js";import{h as p,c as v}from"../../../vendor/@kyndryl-design-system/shidoka-icons-bi0_OAYf.js";import"../../../vendor/deepmerge-ts-OFb5ej8y.js";import"../../../common/mixins/form-input.js";import"../textInput/textInput.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var g=d`*,
|
|
2
2
|
*::before,
|
|
3
3
|
*::after {
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -38,7 +38,7 @@ import{_ as e,a as t,b as i,c as n,d as o}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
38
38
|
|
|
39
39
|
.menu-item {
|
|
40
40
|
background-color: var(--kd-color-background-menu-state-default);
|
|
41
|
-
transition: background-color 150ms ease-out
|
|
41
|
+
transition: background-color 150ms ease-out;
|
|
42
42
|
}
|
|
43
43
|
.menu-item .menu-item-inner-el {
|
|
44
44
|
color: var(--kd-color-text-level-primary);
|
|
@@ -53,18 +53,15 @@ import{_ as e,a as t,b as i,c as n,d as o}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
53
53
|
.menu-item:hover:not([disabled]) .menu-item-inner-el {
|
|
54
54
|
color: var(--kd-color-text-level-light);
|
|
55
55
|
}
|
|
56
|
+
.menu-item:hover:not([disabled]) slot[name=icon]::slotted(span) {
|
|
57
|
+
color: var(--kd-color-icon-light);
|
|
58
|
+
}
|
|
56
59
|
.menu-item:is(:focus, :focus-within, :focus-visible):not([disabled]) {
|
|
57
60
|
background-color: var(--kd-color-background-menu-state-open);
|
|
58
61
|
}
|
|
59
62
|
.menu-item:is(:focus, :focus-within, :focus-visible):not([disabled]) .menu-item-inner-el {
|
|
60
63
|
color: var(--kd-color-text-level-primary);
|
|
61
64
|
}
|
|
62
|
-
.menu-item:active:not([disabled]) {
|
|
63
|
-
background-color: var(--kd-color-background-menu-state-pressed);
|
|
64
|
-
}
|
|
65
|
-
.menu-item:active:not([disabled]) .menu-item-inner-el {
|
|
66
|
-
color: var(--kd-color-text-level-light);
|
|
67
|
-
}
|
|
68
65
|
.menu-item[selected]:not([disabled]) {
|
|
69
66
|
background-color: var(--kd-color-background-menu-state-open);
|
|
70
67
|
}
|
|
@@ -148,10 +145,10 @@ import{_ as e,a as t,b as i,c as n,d as o}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
148
145
|
.menu-item.ai-connected-true[selected]:not([disabled]), .menu-item.ai-connected-true[highlighted]:not([disabled]) {
|
|
149
146
|
background-color: var(--kd-color-background-menu-state-ai-open);
|
|
150
147
|
}
|
|
151
|
-
.menu-item.ai-connected-true[selected]:not([disabled]):hover, .menu-item.ai-connected-true[
|
|
148
|
+
.menu-item.ai-connected-true[selected]:not([disabled]):hover, .menu-item.ai-connected-true[highlighted]:not([disabled]):hover {
|
|
152
149
|
background-color: var(--kd-color-background-menu-state-ai-hover);
|
|
153
150
|
}
|
|
154
|
-
.menu-item.ai-connected-true[selected]:not([disabled]):hover .menu-item-inner-el, .menu-item.ai-connected-true[
|
|
151
|
+
.menu-item.ai-connected-true[selected]:not([disabled]):hover .menu-item-inner-el, .menu-item.ai-connected-true[highlighted]:not([disabled]):hover .menu-item-inner-el {
|
|
155
152
|
color: var(--kd-color-text-level-light);
|
|
156
153
|
}
|
|
157
154
|
.menu-item.ai-connected-true[disabled] {
|
|
@@ -381,7 +378,7 @@ import{_ as e,a as t,b as i,c as n,d as o}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
381
378
|
|
|
382
379
|
.enhanced-option[multiple] .content {
|
|
383
380
|
align-items: flex-start;
|
|
384
|
-
}`;let k=(()=>{var d,k,b,f,x,y,w,z,$,S,j,M,W,I;let C,E,O,T,B,A,N,P,R,D,U,q,F,G,L,_,H=[c("kyn-enhanced-dropdown-option")],J=[],K=u,Q=[],V=[],X=[],Y=[],Z=[],ee=[],te=[],ie=[],ne=[],oe=[],ae=[],le=[],se=[],de=[],re=[],ce=[],he=[],me=[],ue=[],pe=[],
|
|
381
|
+
}`;let k=(()=>{var d,k,b,f,x,y,w,z,$,S,j,M,W,I;let C,E,O,T,B,A,N,P,R,D,U,q,F,G,L,_,H=[c("kyn-enhanced-dropdown-option")],J=[],K=u,Q=[],V=[],X=[],Y=[],Z=[],ee=[],te=[],ie=[],ne=[],oe=[],ae=[],le=[],se=[],de=[],re=[],ce=[],he=[],me=[],ue=[],pe=[],ve=[],ge=[],ke=[],be=[],fe=[],xe=[],ye=[],we=[];return E=class extends K{get value(){return n(this,d,"f")}set value(e){o(this,d,e,"f")}get selected(){return n(this,k,"f")}set selected(e){o(this,k,e,"f")}get disabled(){return n(this,b,"f")}set disabled(e){o(this,b,e,"f")}get allowAddOption(){return n(this,f,"f")}set allowAddOption(e){o(this,f,e,"f")}get highlighted(){return n(this,x,"f")}set highlighted(e){o(this,x,e,"f")}get multiple(){return n(this,y,"f")}set multiple(e){o(this,y,e,"f")}get removable(){return n(this,w,"f")}set removable(e){o(this,w,e,"f")}get indeterminate(){return n(this,z,"f")}set indeterminate(e){o(this,z,e,"f")}get role(){return n(this,$,"f")}set role(e){o(this,$,e,"f")}get ariaSelected(){return n(this,S,"f")}set ariaSelected(e){o(this,S,e,"f")}get text(){return n(this,j,"f")}set text(e){o(this,j,e,"f")}get displayText(){return n(this,M,"f")}set displayText(e){o(this,M,e,"f")}get hasIcon(){return n(this,W,"f")}set hasIcon(e){o(this,W,e,"f")}get kind(){return n(this,I,"f")}set kind(e){o(this,I,e,"f")}render(){const e={"enhanced-option":!0,"menu-item":!0,[`ai-connected-${"ai"===this.kind}`]:!0};return l`
|
|
385
382
|
<div
|
|
386
383
|
class=${a(e)}
|
|
387
384
|
?highlighted=${this.highlighted}
|
|
@@ -438,10 +435,10 @@ import{_ as e,a as t,b as i,c as n,d as o}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
438
435
|
@click=${this.onRemove}
|
|
439
436
|
@mousedown=${e=>e.stopPropagation()}
|
|
440
437
|
>
|
|
441
|
-
<span slot="icon">${s(
|
|
438
|
+
<span slot="icon">${s(v)}</span>
|
|
442
439
|
</kyn-button>
|
|
443
440
|
`:null}
|
|
444
441
|
</div>
|
|
445
442
|
</div>
|
|
446
|
-
`}firstUpdated(){this.hasIcon=this.iconSlot.assignedNodes({flatten:!0}).length>0;const e=this.closest("kyn-dropdown");e&&(this.kind=e.kind,e.addEventListener("kind-changed",(e=>{this.kind=e.detail})))}onIconSlotChange(){this.hasIcon=this.iconSlot.assignedNodes({flatten:!0}).length>0}willUpdate(e){e.has("selected")&&(this.ariaSelected=this.selected.toString())}get iconSlot(){return this.shadowRoot.querySelector('slot[name="icon"]')}onTitleSlotChange(e){const t=e.target.assignedNodes({flatten:!0}).map((e=>{var t,i;return null!==(i=null===(t=e.textContent)||void 0===t?void 0:t.trim())&&void 0!==i?i:""})).join(" ");this.displayText=t,this.text=t}onClick(e){this.disabled||(this.selected=!this.multiple||!this.selected,this.dispatchEvent(new CustomEvent("on-click",{bubbles:!0,composed:!0,detail:{selected:this.selected,value:this.value,origEvent:e}})))}onRemove(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent("on-remove-option",{bubbles:!0,composed:!0,detail:{value:this.value}}))}onBlur(e){this.dispatchEvent(new CustomEvent("on-blur",{bubbles:!0,composed:!0,detail:{origEvent:e}}))}constructor(){super(...arguments),d.set(this,i(this,Q,"")),k.set(this,(i(this,V),i(this,X,!1))),b.set(this,(i(this,Y),i(this,Z,!1))),f.set(this,(i(this,ee),i(this,te,!1))),x.set(this,(i(this,ie),i(this,ne,!1))),y.set(this,(i(this,oe),i(this,ae,!1))),w.set(this,(i(this,le),i(this,se,!1))),z.set(this,(i(this,de),i(this,re,!1))),$.set(this,(i(this,ce),i(this,he,"option"))),S.set(this,(i(this,me),i(this,ue,"option"))),j.set(this,(i(this,pe),i(this,
|
|
443
|
+
`}firstUpdated(){this.hasIcon=this.iconSlot.assignedNodes({flatten:!0}).length>0;const e=this.closest("kyn-dropdown");e&&(this.kind=e.kind,e.addEventListener("kind-changed",(e=>{this.kind=e.detail})))}onIconSlotChange(){this.hasIcon=this.iconSlot.assignedNodes({flatten:!0}).length>0}willUpdate(e){e.has("selected")&&(this.ariaSelected=this.selected.toString())}get iconSlot(){return this.shadowRoot.querySelector('slot[name="icon"]')}onTitleSlotChange(e){const t=e.target.assignedNodes({flatten:!0}).map((e=>{var t,i;return null!==(i=null===(t=e.textContent)||void 0===t?void 0:t.trim())&&void 0!==i?i:""})).join(" ");this.displayText=t,this.text=t}onClick(e){this.disabled||(this.selected=!this.multiple||!this.selected,this.dispatchEvent(new CustomEvent("on-click",{bubbles:!0,composed:!0,detail:{selected:this.selected,value:this.value,origEvent:e}})))}onRemove(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent("on-remove-option",{bubbles:!0,composed:!0,detail:{value:this.value}}))}onBlur(e){this.dispatchEvent(new CustomEvent("on-blur",{bubbles:!0,composed:!0,detail:{origEvent:e}}))}constructor(){super(...arguments),d.set(this,i(this,Q,"")),k.set(this,(i(this,V),i(this,X,!1))),b.set(this,(i(this,Y),i(this,Z,!1))),f.set(this,(i(this,ee),i(this,te,!1))),x.set(this,(i(this,ie),i(this,ne,!1))),y.set(this,(i(this,oe),i(this,ae,!1))),w.set(this,(i(this,le),i(this,se,!1))),z.set(this,(i(this,de),i(this,re,!1))),$.set(this,(i(this,ce),i(this,he,"option"))),S.set(this,(i(this,me),i(this,ue,"option"))),j.set(this,(i(this,pe),i(this,ve,""))),M.set(this,(i(this,ge),i(this,ke,""))),W.set(this,(i(this,be),i(this,fe,!1))),I.set(this,(i(this,xe),i(this,ye,"default"))),i(this,we)}},d=new WeakMap,k=new WeakMap,b=new WeakMap,f=new WeakMap,x=new WeakMap,y=new WeakMap,w=new WeakMap,z=new WeakMap,$=new WeakMap,S=new WeakMap,j=new WeakMap,M=new WeakMap,W=new WeakMap,I=new WeakMap,e(E,"EnhancedDropdownOption"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=K[Symbol.metadata])&&void 0!==e?e:null):void 0;O=[m({type:String})],T=[m({type:Boolean,reflect:!0})],B=[m({type:Boolean})],A=[m({type:Boolean})],N=[r()],P=[m({type:Boolean})],R=[m({type:Boolean})],D=[m({type:Boolean,reflect:!0})],U=[m({type:String,reflect:!0})],q=[m({type:String,reflect:!0,attribute:"aria-selected"})],F=[r()],G=[r()],L=[r()],_=[r()],t(E,null,O,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:i},Q,V),t(E,null,T,{kind:"accessor",name:"selected",static:!1,private:!1,access:{has:e=>"selected"in e,get:e=>e.selected,set:(e,t)=>{e.selected=t}},metadata:i},X,Y),t(E,null,B,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:i},Z,ee),t(E,null,A,{kind:"accessor",name:"allowAddOption",static:!1,private:!1,access:{has:e=>"allowAddOption"in e,get:e=>e.allowAddOption,set:(e,t)=>{e.allowAddOption=t}},metadata:i},te,ie),t(E,null,N,{kind:"accessor",name:"highlighted",static:!1,private:!1,access:{has:e=>"highlighted"in e,get:e=>e.highlighted,set:(e,t)=>{e.highlighted=t}},metadata:i},ne,oe),t(E,null,P,{kind:"accessor",name:"multiple",static:!1,private:!1,access:{has:e=>"multiple"in e,get:e=>e.multiple,set:(e,t)=>{e.multiple=t}},metadata:i},ae,le),t(E,null,R,{kind:"accessor",name:"removable",static:!1,private:!1,access:{has:e=>"removable"in e,get:e=>e.removable,set:(e,t)=>{e.removable=t}},metadata:i},se,de),t(E,null,D,{kind:"accessor",name:"indeterminate",static:!1,private:!1,access:{has:e=>"indeterminate"in e,get:e=>e.indeterminate,set:(e,t)=>{e.indeterminate=t}},metadata:i},re,ce),t(E,null,U,{kind:"accessor",name:"role",static:!1,private:!1,access:{has:e=>"role"in e,get:e=>e.role,set:(e,t)=>{e.role=t}},metadata:i},he,me),t(E,null,q,{kind:"accessor",name:"ariaSelected",static:!1,private:!1,access:{has:e=>"ariaSelected"in e,get:e=>e.ariaSelected,set:(e,t)=>{e.ariaSelected=t}},metadata:i},ue,pe),t(E,null,F,{kind:"accessor",name:"text",static:!1,private:!1,access:{has:e=>"text"in e,get:e=>e.text,set:(e,t)=>{e.text=t}},metadata:i},ve,ge),t(E,null,G,{kind:"accessor",name:"displayText",static:!1,private:!1,access:{has:e=>"displayText"in e,get:e=>e.displayText,set:(e,t)=>{e.displayText=t}},metadata:i},ke,be),t(E,null,L,{kind:"accessor",name:"hasIcon",static:!1,private:!1,access:{has:e=>"hasIcon"in e,get:e=>e.hasIcon,set:(e,t)=>{e.hasIcon=t}},metadata:i},fe,xe),t(E,null,_,{kind:"accessor",name:"kind",static:!1,private:!1,access:{has:e=>"kind"in e,get:e=>e.kind,set:(e,t)=>{e.kind=t}},metadata:i},ye,we),t(null,C={value:E},H,{kind:"class",name:E.name,metadata:i},null,J),E=C.value,i&&Object.defineProperty(E,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),E.styles=h(g),i(E,J),E})();export{k as EnhancedDropdownOption};
|
|
447
444
|
//# sourceMappingURL=enhancedDropdownOption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhancedDropdownOption.js","sources":["../../../../src/components/reusable/dropdown/enhancedDropdownOption.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport '../checkbox';\nimport '../button';\n\nimport checkIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/check.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nimport EnhancedDropdownOptionScss from './enhancedDropdownOption.scss?inline';\n\n/**\n * Enhanced Dropdown option with rich content support.\n * @fires on-click - Emits the option details to the parent dropdown. `detail:{ selected: boolean, value: string, origEvent: PointerEvent }`\n * @fires on-remove-option - Emits the option that is removed. `detail:{ selected: boolean, value: string, origEvent: PointerEvent }`\n * @slot icon - Slot for option icon. Icon size should be 16px only.\n * @slot title - Slot for option title text.\n * @slot tag - Slot for inline tag appended to title.\n * @slot description - Slot for option description text.\n * @slot optionType - Slot for option type label.\n * @slot unnamed - Fallback slot for simple text content.\n */\n@customElement('kyn-enhanced-dropdown-option')\nexport class EnhancedDropdownOption extends LitElement {\n static override styles = unsafeCSS(EnhancedDropdownOptionScss);\n\n /** Option value. */\n @property({ type: String })\n accessor value = '';\n\n /** Internal text strings.\n * @internal\n */\n @property({ type: Boolean, reflect: true })\n accessor selected = false;\n\n /** Option disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Allow Add Option state, derived from parent. */\n @property({ type: Boolean })\n accessor allowAddOption = false;\n\n /**\n * Option highlighted state for keyboard navigation, automatically derived.\n * @ignore\n */\n @state()\n accessor highlighted = false;\n\n /** Multi-select state, derived from parent.\n * @ignore\n */\n @property({ type: Boolean })\n accessor multiple = false;\n\n /** Removable option. */\n @property({ type: Boolean })\n accessor removable = false;\n\n /** Determines whether the checkbox is in an indeterminate state. */\n @property({ type: Boolean, reflect: true })\n accessor indeterminate = false;\n\n /** ARIA role for the option, defaults to 'option'. */\n @property({ type: String, reflect: true })\n override accessor role = 'option';\n\n /** ARIA selected must mirror `selected`. */\n @property({ type: String, reflect: true, attribute: 'aria-selected' })\n override accessor ariaSelected = 'option';\n\n /**\n * Option text, automatically derived.\n * @ignore\n */\n @state()\n accessor text: any = '';\n\n /**\n * Title text for display purposes, automatically derived.\n * @ignore\n */\n @state()\n accessor displayText: any = '';\n\n /**\n * Whether the icon slot has content.\n * @ignore\n */\n @state()\n accessor hasIcon = false;\n\n /** Kind of the item, derived from parent. */\n @state()\n accessor kind: 'ai' | 'default' = 'default';\n\n override render() {\n const classes = {\n 'enhanced-option': true,\n 'menu-item': true,\n [`ai-connected-${this.kind === 'ai'}`]: true,\n };\n\n return html`\n <div\n class=${classMap(classes)}\n ?highlighted=${this.highlighted}\n ?selected=${this.selected}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled}\n ?multiple=${this.multiple}\n title=${this.text}\n @pointerup=${this.onClick}\n @blur=${this.onBlur}\n >\n ${this.multiple\n ? html`\n <kyn-checkbox\n .checked=${this.selected}\n .indeterminate=${this.indeterminate}\n ?disabled=${this.disabled}\n notFocusable\n value=${this.value}\n ></kyn-checkbox>\n `\n : null}\n\n <div class=\"content\">\n <div\n class=\"menu-item-inner-el icon-container\"\n style=${this.hasIcon ? '' : 'display:none'}\n >\n <slot name=\"icon\" @slotchange=${this.onIconSlotChange}></slot>\n </div>\n\n <div class=\"menu-item-inner-el text\">\n <div class=\"title-content\">\n <slot name=\"title\" @slotchange=${this.onTitleSlotChange}></slot>\n ${!this.selected\n ? html`<span class=\"tag-container\"\n ><slot name=\"tag\"></slot\n ></span>`\n : null}\n </div>\n <div class=\"description-container\">\n <slot name=\"description\"></slot>\n </div>\n <div class=\"option-type-container\">\n <slot name=\"optionType\"></slot>\n </div>\n </div>\n </div>\n\n <div class=\"status-icons\">\n ${!this.multiple && this.selected\n ? html`<span class=\"menu-item-inner-el check-icon\"\n >${unsafeSVG(checkIcon)}</span\n >`\n : this.allowAddOption && this.removable\n ? html`\n <kyn-button\n kind=\"ghost\"\n size=\"small\"\n aria-label=\"Delete ${this.value}\"\n @click=${this.onRemove}\n @mousedown=${(e: Event) => e.stopPropagation()}\n >\n <span slot=\"icon\">${unsafeSVG(clearIcon)}</span>\n </kyn-button>\n `\n : null}\n </div>\n </div>\n `;\n }\n\n override firstUpdated() {\n // derive whether icon slot has content\n this.hasIcon = this.iconSlot.assignedNodes({ flatten: true }).length > 0;\n\n // sync kind from parent and listen for changes\n const parent = this.closest('kyn-dropdown') as any;\n if (parent) {\n this.kind = parent.kind;\n parent.addEventListener('kind-changed', (e: Event) => {\n this.kind = (e as CustomEvent<'ai' | 'default'>).detail;\n });\n }\n }\n\n private onIconSlotChange() {\n this.hasIcon = this.iconSlot.assignedNodes({ flatten: true }).length > 0;\n }\n\n override willUpdate(changed: Map<string, unknown>) {\n if (changed.has('selected')) {\n this.ariaSelected = this.selected.toString();\n }\n }\n\n private get iconSlot(): HTMLSlotElement {\n return this.shadowRoot!.querySelector(\n 'slot[name=\"icon\"]'\n )! as HTMLSlotElement;\n }\n\n private onTitleSlotChange(e: Event) {\n const titleText = (e.target as HTMLSlotElement)\n .assignedNodes({ flatten: true })\n .map((n) => n.textContent?.trim() ?? '')\n .join(' ');\n this.displayText = titleText;\n this.text = titleText;\n }\n\n private onClick(e: PointerEvent) {\n if (this.disabled) return;\n this.selected = this.multiple ? !this.selected : true;\n this.dispatchEvent(\n new CustomEvent('on-click', {\n bubbles: true,\n composed: true,\n detail: { selected: this.selected, value: this.value, origEvent: e },\n })\n );\n }\n\n private onRemove(e: Event) {\n e.stopPropagation();\n this.dispatchEvent(\n new CustomEvent('on-remove-option', {\n bubbles: true,\n composed: true,\n detail: { value: this.value },\n })\n );\n }\n\n private onBlur(e: FocusEvent) {\n this.dispatchEvent(\n new CustomEvent('on-blur', {\n bubbles: true,\n composed: true,\n detail: { origEvent: e },\n })\n );\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-enhanced-dropdown-option': EnhancedDropdownOption;\n }\n}\n"],"names":["EnhancedDropdownOption","customElement","LitElement","_classThis","_classSuper","value","__classPrivateFieldGet","this","_EnhancedDropdownOption_value_accessor_storage","__classPrivateFieldSet","selected","_EnhancedDropdownOption_selected_accessor_storage","disabled","_EnhancedDropdownOption_disabled_accessor_storage","allowAddOption","_EnhancedDropdownOption_allowAddOption_accessor_storage","highlighted","_EnhancedDropdownOption_highlighted_accessor_storage","multiple","_EnhancedDropdownOption_multiple_accessor_storage","removable","_EnhancedDropdownOption_removable_accessor_storage","indeterminate","_EnhancedDropdownOption_indeterminate_accessor_storage","role","_EnhancedDropdownOption_role_accessor_storage","ariaSelected","_EnhancedDropdownOption_ariaSelected_accessor_storage","text","_EnhancedDropdownOption_text_accessor_storage","displayText","_EnhancedDropdownOption_displayText_accessor_storage","hasIcon","_EnhancedDropdownOption_hasIcon_accessor_storage","kind","_EnhancedDropdownOption_kind_accessor_storage","render","classes","html","classMap","onClick","onBlur","onIconSlotChange","onTitleSlotChange","unsafeSVG","checkIcon","onRemove","e","stopPropagation","clearIcon","firstUpdated","iconSlot","assignedNodes","flatten","length","parent","closest","addEventListener","detail","willUpdate","changed","has","toString","shadowRoot","querySelector","titleText","target","map","n","_a","_b","textContent","trim","join","dispatchEvent","CustomEvent","bubbles","composed","origEvent","set","__runInitializers","_value_initializers","_value_extraInitializers","_selected_initializers","_selected_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_allowAddOption_initializers","_allowAddOption_extraInitializers","_highlighted_initializers","_highlighted_extraInitializers","_multiple_initializers","_multiple_extraInitializers","_removable_initializers","_removable_extraInitializers","_indeterminate_initializers","_indeterminate_extraInitializers","_role_initializers","_role_extraInitializers","_ariaSelected_initializers","_ariaSelected_extraInitializers","_text_initializers","_text_extraInitializers","_displayText_initializers","_displayText_extraInitializers","_hasIcon_initializers","_hasIcon_extraInitializers","_kind_initializers","_value_decorators","property","type","String","Boolean","reflect","_disabled_decorators","_allowAddOption_decorators","_highlighted_decorators","state","_multiple_decorators","_removable_decorators","_ariaSelected_decorators","attribute","_text_decorators","_displayText_decorators","_hasIcon_decorators","_kind_decorators","__esDecorate","name","static","private","access","obj","get","metadata","_metadata","_selected_decorators","_indeterminate_decorators","_role_decorators","_kind_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","EnhancedDropdownOptionScss"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enhancedDropdownOption.js","sources":["../../../../src/components/reusable/dropdown/enhancedDropdownOption.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport '../checkbox';\nimport '../button';\n\nimport checkIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/check.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nimport EnhancedDropdownOptionScss from './enhancedDropdownOption.scss?inline';\n\n/**\n * Enhanced Dropdown option with rich content support.\n * @fires on-click - Emits the option details to the parent dropdown. `detail:{ selected: boolean, value: string, origEvent: PointerEvent }`\n * @fires on-remove-option - Emits the option that is removed. `detail:{ selected: boolean, value: string, origEvent: PointerEvent }`\n * @slot icon - Slot for option icon. Icon size should be 16px only.\n * @slot title - Slot for option title text.\n * @slot tag - Slot for inline tag appended to title.\n * @slot description - Slot for option description text.\n * @slot optionType - Slot for option type label.\n * @slot unnamed - Fallback slot for simple text content.\n */\n@customElement('kyn-enhanced-dropdown-option')\nexport class EnhancedDropdownOption extends LitElement {\n static override styles = unsafeCSS(EnhancedDropdownOptionScss);\n\n /** Option value. */\n @property({ type: String })\n accessor value = '';\n\n /** Internal text strings.\n * @internal\n */\n @property({ type: Boolean, reflect: true })\n accessor selected = false;\n\n /** Option disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Allow Add Option state, derived from parent. */\n @property({ type: Boolean })\n accessor allowAddOption = false;\n\n /**\n * Option highlighted state for keyboard navigation, automatically derived.\n * @ignore\n */\n @state()\n accessor highlighted = false;\n\n /** Multi-select state, derived from parent.\n * @ignore\n */\n @property({ type: Boolean })\n accessor multiple = false;\n\n /** Removable option. */\n @property({ type: Boolean })\n accessor removable = false;\n\n /** Determines whether the checkbox is in an indeterminate state. */\n @property({ type: Boolean, reflect: true })\n accessor indeterminate = false;\n\n /** ARIA role for the option, defaults to 'option'. */\n @property({ type: String, reflect: true })\n override accessor role = 'option';\n\n /** ARIA selected must mirror `selected`. */\n @property({ type: String, reflect: true, attribute: 'aria-selected' })\n override accessor ariaSelected = 'option';\n\n /**\n * Option text, automatically derived.\n * @ignore\n */\n @state()\n accessor text: any = '';\n\n /**\n * Title text for display purposes, automatically derived.\n * @ignore\n */\n @state()\n accessor displayText: any = '';\n\n /**\n * Whether the icon slot has content.\n * @ignore\n */\n @state()\n accessor hasIcon = false;\n\n /** Kind of the item, derived from parent. */\n @state()\n accessor kind: 'ai' | 'default' = 'default';\n\n override render() {\n const classes = {\n 'enhanced-option': true,\n 'menu-item': true,\n [`ai-connected-${this.kind === 'ai'}`]: true,\n };\n\n return html`\n <div\n class=${classMap(classes)}\n ?highlighted=${this.highlighted}\n ?selected=${this.selected}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled}\n ?multiple=${this.multiple}\n title=${this.text}\n @pointerup=${this.onClick}\n @blur=${this.onBlur}\n >\n ${this.multiple\n ? html`\n <kyn-checkbox\n .checked=${this.selected}\n .indeterminate=${this.indeterminate}\n ?disabled=${this.disabled}\n notFocusable\n value=${this.value}\n ></kyn-checkbox>\n `\n : null}\n\n <div class=\"content\">\n <div\n class=\"menu-item-inner-el icon-container\"\n style=${this.hasIcon ? '' : 'display:none'}\n >\n <slot name=\"icon\" @slotchange=${this.onIconSlotChange}></slot>\n </div>\n\n <div class=\"menu-item-inner-el text\">\n <div class=\"title-content\">\n <slot name=\"title\" @slotchange=${this.onTitleSlotChange}></slot>\n ${!this.selected\n ? html`<span class=\"tag-container\"\n ><slot name=\"tag\"></slot\n ></span>`\n : null}\n </div>\n <div class=\"description-container\">\n <slot name=\"description\"></slot>\n </div>\n <div class=\"option-type-container\">\n <slot name=\"optionType\"></slot>\n </div>\n </div>\n </div>\n\n <div class=\"status-icons\">\n ${!this.multiple && this.selected\n ? html`<span class=\"menu-item-inner-el check-icon\"\n >${unsafeSVG(checkIcon)}</span\n >`\n : this.allowAddOption && this.removable\n ? html`\n <kyn-button\n kind=\"ghost\"\n size=\"small\"\n aria-label=\"Delete ${this.value}\"\n @click=${this.onRemove}\n @mousedown=${(e: Event) => e.stopPropagation()}\n >\n <span slot=\"icon\">${unsafeSVG(clearIcon)}</span>\n </kyn-button>\n `\n : null}\n </div>\n </div>\n `;\n }\n\n override firstUpdated() {\n // derive whether icon slot has content\n this.hasIcon = this.iconSlot.assignedNodes({ flatten: true }).length > 0;\n\n // sync kind from parent and listen for changes\n const parent = this.closest('kyn-dropdown') as any;\n if (parent) {\n this.kind = parent.kind;\n parent.addEventListener('kind-changed', (e: Event) => {\n this.kind = (e as CustomEvent<'ai' | 'default'>).detail;\n });\n }\n }\n\n private onIconSlotChange() {\n this.hasIcon = this.iconSlot.assignedNodes({ flatten: true }).length > 0;\n }\n\n override willUpdate(changed: Map<string, unknown>) {\n if (changed.has('selected')) {\n this.ariaSelected = this.selected.toString();\n }\n }\n\n private get iconSlot(): HTMLSlotElement {\n return this.shadowRoot!.querySelector(\n 'slot[name=\"icon\"]'\n )! as HTMLSlotElement;\n }\n\n private onTitleSlotChange(e: Event) {\n const titleText = (e.target as HTMLSlotElement)\n .assignedNodes({ flatten: true })\n .map((n) => n.textContent?.trim() ?? '')\n .join(' ');\n this.displayText = titleText;\n this.text = titleText;\n }\n\n private onClick(e: PointerEvent) {\n if (this.disabled) return;\n this.selected = this.multiple ? !this.selected : true;\n this.dispatchEvent(\n new CustomEvent('on-click', {\n bubbles: true,\n composed: true,\n detail: { selected: this.selected, value: this.value, origEvent: e },\n })\n );\n }\n\n private onRemove(e: Event) {\n e.stopPropagation();\n this.dispatchEvent(\n new CustomEvent('on-remove-option', {\n bubbles: true,\n composed: true,\n detail: { value: this.value },\n })\n );\n }\n\n private onBlur(e: FocusEvent) {\n this.dispatchEvent(\n new CustomEvent('on-blur', {\n bubbles: true,\n composed: true,\n detail: { origEvent: e },\n })\n );\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-enhanced-dropdown-option': EnhancedDropdownOption;\n }\n}\n"],"names":["EnhancedDropdownOption","customElement","LitElement","_classThis","_classSuper","value","__classPrivateFieldGet","this","_EnhancedDropdownOption_value_accessor_storage","__classPrivateFieldSet","selected","_EnhancedDropdownOption_selected_accessor_storage","disabled","_EnhancedDropdownOption_disabled_accessor_storage","allowAddOption","_EnhancedDropdownOption_allowAddOption_accessor_storage","highlighted","_EnhancedDropdownOption_highlighted_accessor_storage","multiple","_EnhancedDropdownOption_multiple_accessor_storage","removable","_EnhancedDropdownOption_removable_accessor_storage","indeterminate","_EnhancedDropdownOption_indeterminate_accessor_storage","role","_EnhancedDropdownOption_role_accessor_storage","ariaSelected","_EnhancedDropdownOption_ariaSelected_accessor_storage","text","_EnhancedDropdownOption_text_accessor_storage","displayText","_EnhancedDropdownOption_displayText_accessor_storage","hasIcon","_EnhancedDropdownOption_hasIcon_accessor_storage","kind","_EnhancedDropdownOption_kind_accessor_storage","render","classes","html","classMap","onClick","onBlur","onIconSlotChange","onTitleSlotChange","unsafeSVG","checkIcon","onRemove","e","stopPropagation","clearIcon","firstUpdated","iconSlot","assignedNodes","flatten","length","parent","closest","addEventListener","detail","willUpdate","changed","has","toString","shadowRoot","querySelector","titleText","target","map","n","_a","_b","textContent","trim","join","dispatchEvent","CustomEvent","bubbles","composed","origEvent","set","__runInitializers","_value_initializers","_value_extraInitializers","_selected_initializers","_selected_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_allowAddOption_initializers","_allowAddOption_extraInitializers","_highlighted_initializers","_highlighted_extraInitializers","_multiple_initializers","_multiple_extraInitializers","_removable_initializers","_removable_extraInitializers","_indeterminate_initializers","_indeterminate_extraInitializers","_role_initializers","_role_extraInitializers","_ariaSelected_initializers","_ariaSelected_extraInitializers","_text_initializers","_text_extraInitializers","_displayText_initializers","_displayText_extraInitializers","_hasIcon_initializers","_hasIcon_extraInitializers","_kind_initializers","_value_decorators","property","type","String","Boolean","reflect","_disabled_decorators","_allowAddOption_decorators","_highlighted_decorators","state","_multiple_decorators","_removable_decorators","_ariaSelected_decorators","attribute","_text_decorators","_displayText_decorators","_hasIcon_decorators","_kind_decorators","__esDecorate","name","static","private","access","obj","get","metadata","_metadata","_selected_decorators","_indeterminate_decorators","_role_decorators","_kind_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","EnhancedDropdownOptionScss"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as e,a as t,b as i,c as o,d as n}from"../../../vendor/tslib-Ac8XvvSX.js";import{i as r,a,t as
|
|
1
|
+
import{_ as e,a as t,b as i,c as o,d as n}from"../../../vendor/tslib-Ac8XvvSX.js";import{i as r,a as s,t as a,r as l,n as d}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{e as c,x as u}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as m}from"../../../vendor/lit-element-m-OqzV5s.js";import"../tooltip/tooltip.js";import"../../../vendor/@kyndryl-design-system/shidoka-icons-bi0_OAYf.js";var h=r`*,
|
|
2
2
|
*::before,
|
|
3
3
|
*::after {
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -38,7 +38,7 @@ import{_ as e,a as t,b as i,c as o,d as n}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
38
38
|
|
|
39
39
|
.menu-item {
|
|
40
40
|
background-color: var(--kd-color-background-menu-state-default);
|
|
41
|
-
transition: background-color 150ms ease-out
|
|
41
|
+
transition: background-color 150ms ease-out;
|
|
42
42
|
}
|
|
43
43
|
.menu-item .menu-item-inner-el {
|
|
44
44
|
color: var(--kd-color-text-level-primary);
|
|
@@ -53,18 +53,15 @@ import{_ as e,a as t,b as i,c as o,d as n}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
53
53
|
.menu-item:hover:not([disabled]) .menu-item-inner-el {
|
|
54
54
|
color: var(--kd-color-text-level-light);
|
|
55
55
|
}
|
|
56
|
+
.menu-item:hover:not([disabled]) slot[name=icon]::slotted(span) {
|
|
57
|
+
color: var(--kd-color-icon-light);
|
|
58
|
+
}
|
|
56
59
|
.menu-item:is(:focus, :focus-within, :focus-visible):not([disabled]) {
|
|
57
60
|
background-color: var(--kd-color-background-menu-state-open);
|
|
58
61
|
}
|
|
59
62
|
.menu-item:is(:focus, :focus-within, :focus-visible):not([disabled]) .menu-item-inner-el {
|
|
60
63
|
color: var(--kd-color-text-level-primary);
|
|
61
64
|
}
|
|
62
|
-
.menu-item:active:not([disabled]) {
|
|
63
|
-
background-color: var(--kd-color-background-menu-state-pressed);
|
|
64
|
-
}
|
|
65
|
-
.menu-item:active:not([disabled]) .menu-item-inner-el {
|
|
66
|
-
color: var(--kd-color-text-level-light);
|
|
67
|
-
}
|
|
68
65
|
.menu-item[selected]:not([disabled]) {
|
|
69
66
|
background-color: var(--kd-color-background-menu-state-open);
|
|
70
67
|
}
|
|
@@ -148,10 +145,10 @@ import{_ as e,a as t,b as i,c as o,d as n}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
148
145
|
.menu-item.ai-connected-true[selected]:not([disabled]), .menu-item.ai-connected-true[highlighted]:not([disabled]) {
|
|
149
146
|
background-color: var(--kd-color-background-menu-state-ai-open);
|
|
150
147
|
}
|
|
151
|
-
.menu-item.ai-connected-true[selected]:not([disabled]):hover, .menu-item.ai-connected-true[
|
|
148
|
+
.menu-item.ai-connected-true[selected]:not([disabled]):hover, .menu-item.ai-connected-true[highlighted]:not([disabled]):hover {
|
|
152
149
|
background-color: var(--kd-color-background-menu-state-ai-hover);
|
|
153
150
|
}
|
|
154
|
-
.menu-item.ai-connected-true[selected]:not([disabled]):hover .menu-item-inner-el, .menu-item.ai-connected-true[
|
|
151
|
+
.menu-item.ai-connected-true[selected]:not([disabled]):hover .menu-item-inner-el, .menu-item.ai-connected-true[highlighted]:not([disabled]):hover .menu-item-inner-el {
|
|
155
152
|
color: var(--kd-color-text-level-light);
|
|
156
153
|
}
|
|
157
154
|
.menu-item.ai-connected-true[disabled] {
|
|
@@ -219,7 +216,7 @@ import{_ as e,a as t,b as i,c as o,d as n}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
219
216
|
text-indent: 200%;
|
|
220
217
|
white-space: nowrap;
|
|
221
218
|
width: 1px;
|
|
222
|
-
}`;let v=(()=>{var r,v,b,k,g,p,f,w,x;let y,_,T,$,I,S,M,W,q,R,j,C=[
|
|
219
|
+
}`;let v=(()=>{var r,v,b,k,g,p,f,w,x;let y,_,T,$,I,S,M,W,q,R,j,C=[a("kyn-overflow-menu-item")],E=[],O=m,D=[],K=[],B=[],L=[],z=[],A=[],F=[],H=[],P=[],U=[],G=[],J=[],N=[],Q=[],V=[],X=[],Y=[],Z=[];return _=class extends O{get href(){return o(this,r,"f")}set href(e){n(this,r,e,"f")}get destructive(){return o(this,v,"f")}set destructive(e){n(this,v,e,"f")}get disabled(){return o(this,b,"f")}set disabled(e){n(this,b,e,"f")}get description(){return o(this,k,"f")}set description(e){n(this,k,e,"f")}get _menuItems(){return o(this,g,"f")}set _menuItems(e){n(this,g,e,"f")}get _menu(){return o(this,p,"f")}set _menu(e){n(this,p,e,"f")}get isTruncated(){return o(this,f,"f")}set isTruncated(e){n(this,f,e,"f")}get tooltipText(){return o(this,w,"f")}set tooltipText(e){n(this,w,e,"f")}get kind(){return o(this,x,"f")}set kind(e){n(this,x,e,"f")}render(){const e={"overflow-menu-item":!0,"menu-item":!0,[`ai-connected-${"ai"===this.kind}`]:!0,destructive:this.destructive},t=this.isTruncated?this.tooltipText:"";return""!==this.href?u`
|
|
223
220
|
<a
|
|
224
221
|
class=${c(e)}
|
|
225
222
|
href=${this.href}
|
|
@@ -242,5 +239,5 @@ import{_ as e,a as t,b as i,c as o,d as n}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
242
239
|
<span class="menu-item-inner-el text"><slot></slot></span>
|
|
243
240
|
${this.destructive?u`<span class="sr-only">${this.description}</span>`:null}
|
|
244
241
|
</button>
|
|
245
|
-
`}firstUpdated(){const e=this.closest("kyn-overflow-menu");e&&(this._menuItems=e.getMenuItems(),this._menu=e.getMenu(),this.kind=e.kind,e.addEventListener("kind-changed",(e=>{const t=e;requestAnimationFrame((()=>{this.kind=t.detail}))}))),this.checkOverflow()}handleClick(e){const t=new CustomEvent("on-click",{detail:{origEvent:e}});this.dispatchEvent(t)}handleKeyDown(e){var t,i,o,n,r,a,
|
|
242
|
+
`}firstUpdated(){const e=this.closest("kyn-overflow-menu");e&&(this._menuItems=e.getMenuItems(),this._menu=e.getMenu(),this.kind=e.kind,e.addEventListener("kind-changed",(e=>{const t=e;requestAnimationFrame((()=>{this.kind=t.detail}))}))),this.checkOverflow()}handleClick(e){const t=new CustomEvent("on-click",{detail:{origEvent:e}});this.dispatchEvent(t)}handleKeyDown(e){var t,i,o,n,r,s,a,l,d,c,u,m;const h=this._menuItems.length,v=document.activeElement,b=this._menuItems.findIndex((e=>e===v||e.shadowRoot&&v&&e.shadowRoot.contains(v)));switch(e.keyCode){case 40:if(b<h-1){const e=this._menuItems[b+1];e&&((null===(t=e.shadowRoot)||void 0===t?void 0:t.querySelector("button"))?null===(o=null===(i=e.shadowRoot)||void 0===i?void 0:i.querySelector("button"))||void 0===o||o.focus():null===(r=null===(n=e.shadowRoot)||void 0===n?void 0:n.querySelector("a"))||void 0===r||r.focus())}return;case 38:if(b>0){const e=this._menuItems[b-1];e&&((null===(s=e.shadowRoot)||void 0===s?void 0:s.querySelector("button"))?null===(l=null===(a=e.shadowRoot)||void 0===a?void 0:a.querySelector("button"))||void 0===l||l.focus():null===(c=null===(d=e.shadowRoot)||void 0===d?void 0:d.querySelector("a"))||void 0===c||c.focus())}else 0===b&&(null===(m=null===(u=this._menu)||void 0===u?void 0:u.querySelector("button"))||void 0===m||m.focus());return;default:return}}checkOverflow(){var e,t;const i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("button, a");if(i instanceof HTMLElement&&(this.isTruncated=i.scrollWidth>i.offsetWidth,this.isTruncated)){let e="";e+=null===(t=this.textContent)||void 0===t?void 0:t.trim(),this.tooltipText=e}}constructor(){super(...arguments),r.set(this,i(this,D,"")),v.set(this,(i(this,K),i(this,B,!1))),b.set(this,(i(this,L),i(this,z,!1))),k.set(this,(i(this,A),i(this,F,""))),g.set(this,(i(this,H),i(this,P,void 0))),p.set(this,(i(this,U),i(this,G,void 0))),f.set(this,(i(this,J),i(this,N,!1))),w.set(this,(i(this,Q),i(this,V,""))),x.set(this,(i(this,X),i(this,Y,"default"))),i(this,Z)}},r=new WeakMap,v=new WeakMap,b=new WeakMap,k=new WeakMap,g=new WeakMap,p=new WeakMap,f=new WeakMap,w=new WeakMap,x=new WeakMap,e(_,"OverflowMenuItem"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=O[Symbol.metadata])&&void 0!==e?e:null):void 0;T=[d({type:String})],$=[d({type:Boolean})],I=[d({type:Boolean})],S=[d({type:String})],M=[s()],W=[s()],q=[s()],R=[s()],j=[s()],t(_,null,T,{kind:"accessor",name:"href",static:!1,private:!1,access:{has:e=>"href"in e,get:e=>e.href,set:(e,t)=>{e.href=t}},metadata:i},D,K),t(_,null,$,{kind:"accessor",name:"destructive",static:!1,private:!1,access:{has:e=>"destructive"in e,get:e=>e.destructive,set:(e,t)=>{e.destructive=t}},metadata:i},B,L),t(_,null,I,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:i},z,A),t(_,null,S,{kind:"accessor",name:"description",static:!1,private:!1,access:{has:e=>"description"in e,get:e=>e.description,set:(e,t)=>{e.description=t}},metadata:i},F,H),t(_,null,M,{kind:"accessor",name:"_menuItems",static:!1,private:!1,access:{has:e=>"_menuItems"in e,get:e=>e._menuItems,set:(e,t)=>{e._menuItems=t}},metadata:i},P,U),t(_,null,W,{kind:"accessor",name:"_menu",static:!1,private:!1,access:{has:e=>"_menu"in e,get:e=>e._menu,set:(e,t)=>{e._menu=t}},metadata:i},G,J),t(_,null,q,{kind:"accessor",name:"isTruncated",static:!1,private:!1,access:{has:e=>"isTruncated"in e,get:e=>e.isTruncated,set:(e,t)=>{e.isTruncated=t}},metadata:i},N,Q),t(_,null,R,{kind:"accessor",name:"tooltipText",static:!1,private:!1,access:{has:e=>"tooltipText"in e,get:e=>e.tooltipText,set:(e,t)=>{e.tooltipText=t}},metadata:i},V,X),t(_,null,j,{kind:"accessor",name:"kind",static:!1,private:!1,access:{has:e=>"kind"in e,get:e=>e.kind,set:(e,t)=>{e.kind=t}},metadata:i},Y,Z),t(null,y={value:_},C,{kind:"class",name:_.name,metadata:i},null,E),_=y.value,i&&Object.defineProperty(_,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),_.styles=l(h),i(_,E),_})();export{v as OverflowMenuItem};
|
|
246
243
|
//# sourceMappingURL=overflowMenuItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflowMenuItem.js","sources":["../../../../src/components/reusable/overflowMenu/overflowMenuItem.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport SCSS from './overflowMenuItem.scss?inline';\nimport '../tooltip';\n\n/**\n * Overflow Menu.\n * @fires on-click - Captures the click event and emits the original event details.`detail:{ origEvent: PointerEvent }`\n * @slot unnamed - Slot for item text.\n */\n@customElement('kyn-overflow-menu-item')\nexport class OverflowMenuItem extends LitElement {\n static override styles = unsafeCSS(SCSS);\n\n /** Makes the item a link. */\n @property({ type: String })\n accessor href = '';\n\n /** Adds destructive styles. */\n @property({ type: Boolean })\n accessor destructive = false;\n\n /** Item disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Item description text for screen reader's */\n @property({ type: String })\n accessor description = '';\n\n /**\n * Has the menu items in the current oveflow menu.\n * @ignore\n */\n @state()\n accessor _menuItems: any;\n\n /**\n * Has the current oveflow menu.\n * @ignore\n */\n @state()\n accessor _menu: any;\n\n /**\n * Tracks if the item content is overflowing and needs a tooltip.\n * @ignore\n */\n @state()\n accessor isTruncated = false;\n\n /** Holds the text content for the title tooltip.\n * @ignore\n */\n @state()\n accessor tooltipText = '';\n\n /** Kind of the item, derived from parent.\n * @ignore\n */\n @state()\n accessor kind: 'ai' | 'default' = 'default';\n\n override render() {\n const classes = {\n 'overflow-menu-item': true,\n 'menu-item': true,\n [`ai-connected-${this.kind === 'ai'}`]: true,\n destructive: this.destructive,\n };\n\n const itemText = this.isTruncated ? this.tooltipText : '';\n\n if (this.href !== '') {\n return html`\n <a\n class=${classMap(classes)}\n href=${this.href}\n ?disabled=${this.disabled}\n @click=${(e: Event) => this.handleClick(e)}\n @keydown=${(e: Event) => this.handleKeyDown(e)}\n title=${itemText}\n >\n <span class=\"menu-item-inner-el text\"><slot></slot></span>\n ${this.destructive\n ? html`<span class=\"sr-only\">${this.description}</span>`\n : null}\n </a>\n `;\n } else {\n return html`\n <button\n class=${classMap(classes)}\n ?disabled=${this.disabled}\n @click=${(e: Event) => this.handleClick(e)}\n @keydown=${(e: Event) => this.handleKeyDown(e)}\n title=${itemText}\n >\n <span class=\"menu-item-inner-el text\"><slot></slot></span>\n ${this.destructive\n ? html`<span class=\"sr-only\">${this.description}</span>`\n : null}\n </button>\n `;\n }\n }\n\n override firstUpdated() {\n const parent = this.closest('kyn-overflow-menu');\n if (parent) {\n this._menuItems = parent.getMenuItems();\n this._menu = parent.getMenu();\n this.kind = parent.kind;\n\n parent.addEventListener('kind-changed', (e: Event) => {\n const customEvent = e as CustomEvent<'ai' | 'default'>;\n requestAnimationFrame(() => {\n this.kind = customEvent.detail;\n });\n });\n }\n this.checkOverflow();\n }\n\n private handleClick(e: Event) {\n const event = new CustomEvent('on-click', {\n detail: { origEvent: e },\n });\n this.dispatchEvent(event);\n }\n\n private handleKeyDown(e: any) {\n const DOWN_ARROW_KEY_CODE = 40;\n const UP_ARROW_KEY_CODE = 38;\n\n const menuItemsLength = this._menuItems.length;\n\n const activeEl = document.activeElement as Element | null;\n const activeIndex = this._menuItems.findIndex(\n (item: any) =>\n item === activeEl ||\n (item.shadowRoot && activeEl && item.shadowRoot.contains(activeEl))\n );\n\n switch (e.keyCode) {\n case DOWN_ARROW_KEY_CODE: {\n if (activeIndex < menuItemsLength - 1) {\n const nextItem = this._menuItems[activeIndex + 1];\n if (nextItem) {\n nextItem.shadowRoot?.querySelector('button')\n ? nextItem.shadowRoot?.querySelector('button')?.focus()\n : nextItem.shadowRoot?.querySelector('a')?.focus();\n }\n }\n return;\n }\n case UP_ARROW_KEY_CODE: {\n if (activeIndex > 0) {\n const prevItem = this._menuItems[activeIndex - 1];\n if (prevItem) {\n prevItem.shadowRoot?.querySelector('button')\n ? prevItem.shadowRoot?.querySelector('button')?.focus()\n : prevItem.shadowRoot?.querySelector('a')?.focus();\n }\n } else if (activeIndex === 0) {\n this._menu?.querySelector('button')?.focus();\n }\n return;\n }\n default: {\n return;\n }\n }\n }\n\n private checkOverflow() {\n const contentElement = this.shadowRoot?.querySelector('button, a');\n if (contentElement instanceof HTMLElement) {\n this.isTruncated =\n contentElement.scrollWidth > contentElement.offsetWidth;\n if (this.isTruncated) {\n let text = '';\n text += this.textContent?.trim();\n this.tooltipText = text;\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-overflow-menu-item': OverflowMenuItem;\n }\n}\n"],"names":["OverflowMenuItem","customElement","LitElement","_classThis","_classSuper","href","__classPrivateFieldGet","this","_OverflowMenuItem_href_accessor_storage","value","__classPrivateFieldSet","destructive","_OverflowMenuItem_destructive_accessor_storage","disabled","_OverflowMenuItem_disabled_accessor_storage","description","_OverflowMenuItem_description_accessor_storage","_menuItems","_OverflowMenuItem__menuItems_accessor_storage","_menu","_OverflowMenuItem__menu_accessor_storage","isTruncated","_OverflowMenuItem_isTruncated_accessor_storage","tooltipText","_OverflowMenuItem_tooltipText_accessor_storage","kind","_OverflowMenuItem_kind_accessor_storage","render","classes","itemText","html","classMap","e","handleClick","handleKeyDown","firstUpdated","parent","closest","getMenuItems","getMenu","addEventListener","customEvent","requestAnimationFrame","detail","checkOverflow","event","CustomEvent","origEvent","dispatchEvent","menuItemsLength","length","activeEl","document","activeElement","activeIndex","findIndex","item","shadowRoot","contains","keyCode","nextItem","_a","querySelector","_c","_b","focus","_e","_d","prevItem","_f","_h","_g","_k","_j","_m","_l","contentElement","HTMLElement","scrollWidth","offsetWidth","text","textContent","trim","set","__runInitializers","_href_initializers","_href_extraInitializers","_destructive_initializers","_destructive_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_description_initializers","_description_extraInitializers","__menuItems_initializers","__menuItems_extraInitializers","__menu_initializers","__menu_extraInitializers","_isTruncated_initializers","_isTruncated_extraInitializers","_tooltipText_initializers","_tooltipText_extraInitializers","_kind_initializers","_href_decorators","property","type","String","_destructive_decorators","Boolean","_disabled_decorators","_description_decorators","__menuItems_decorators","state","__menu_decorators","_isTruncated_decorators","_tooltipText_decorators","_kind_decorators","__esDecorate","name","static","private","access","has","obj","get","metadata","_metadata","_kind_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","SCSS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overflowMenuItem.js","sources":["../../../../src/components/reusable/overflowMenu/overflowMenuItem.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport SCSS from './overflowMenuItem.scss?inline';\nimport '../tooltip';\n\n/**\n * Overflow Menu.\n * @fires on-click - Captures the click event and emits the original event details.`detail:{ origEvent: PointerEvent }`\n * @slot unnamed - Slot for item text.\n */\n@customElement('kyn-overflow-menu-item')\nexport class OverflowMenuItem extends LitElement {\n static override styles = unsafeCSS(SCSS);\n\n /** Makes the item a link. */\n @property({ type: String })\n accessor href = '';\n\n /** Adds destructive styles. */\n @property({ type: Boolean })\n accessor destructive = false;\n\n /** Item disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Item description text for screen reader's */\n @property({ type: String })\n accessor description = '';\n\n /**\n * Has the menu items in the current oveflow menu.\n * @ignore\n */\n @state()\n accessor _menuItems: any;\n\n /**\n * Has the current oveflow menu.\n * @ignore\n */\n @state()\n accessor _menu: any;\n\n /**\n * Tracks if the item content is overflowing and needs a tooltip.\n * @ignore\n */\n @state()\n accessor isTruncated = false;\n\n /** Holds the text content for the title tooltip.\n * @ignore\n */\n @state()\n accessor tooltipText = '';\n\n /** Kind of the item, derived from parent.\n * @ignore\n */\n @state()\n accessor kind: 'ai' | 'default' = 'default';\n\n override render() {\n const classes = {\n 'overflow-menu-item': true,\n 'menu-item': true,\n [`ai-connected-${this.kind === 'ai'}`]: true,\n destructive: this.destructive,\n };\n\n const itemText = this.isTruncated ? this.tooltipText : '';\n\n if (this.href !== '') {\n return html`\n <a\n class=${classMap(classes)}\n href=${this.href}\n ?disabled=${this.disabled}\n @click=${(e: Event) => this.handleClick(e)}\n @keydown=${(e: Event) => this.handleKeyDown(e)}\n title=${itemText}\n >\n <span class=\"menu-item-inner-el text\"><slot></slot></span>\n ${this.destructive\n ? html`<span class=\"sr-only\">${this.description}</span>`\n : null}\n </a>\n `;\n } else {\n return html`\n <button\n class=${classMap(classes)}\n ?disabled=${this.disabled}\n @click=${(e: Event) => this.handleClick(e)}\n @keydown=${(e: Event) => this.handleKeyDown(e)}\n title=${itemText}\n >\n <span class=\"menu-item-inner-el text\"><slot></slot></span>\n ${this.destructive\n ? html`<span class=\"sr-only\">${this.description}</span>`\n : null}\n </button>\n `;\n }\n }\n\n override firstUpdated() {\n const parent = this.closest('kyn-overflow-menu');\n if (parent) {\n this._menuItems = parent.getMenuItems();\n this._menu = parent.getMenu();\n this.kind = parent.kind;\n\n parent.addEventListener('kind-changed', (e: Event) => {\n const customEvent = e as CustomEvent<'ai' | 'default'>;\n requestAnimationFrame(() => {\n this.kind = customEvent.detail;\n });\n });\n }\n this.checkOverflow();\n }\n\n private handleClick(e: Event) {\n const event = new CustomEvent('on-click', {\n detail: { origEvent: e },\n });\n this.dispatchEvent(event);\n }\n\n private handleKeyDown(e: any) {\n const DOWN_ARROW_KEY_CODE = 40;\n const UP_ARROW_KEY_CODE = 38;\n\n const menuItemsLength = this._menuItems.length;\n\n const activeEl = document.activeElement as Element | null;\n const activeIndex = this._menuItems.findIndex(\n (item: any) =>\n item === activeEl ||\n (item.shadowRoot && activeEl && item.shadowRoot.contains(activeEl))\n );\n\n switch (e.keyCode) {\n case DOWN_ARROW_KEY_CODE: {\n if (activeIndex < menuItemsLength - 1) {\n const nextItem = this._menuItems[activeIndex + 1];\n if (nextItem) {\n nextItem.shadowRoot?.querySelector('button')\n ? nextItem.shadowRoot?.querySelector('button')?.focus()\n : nextItem.shadowRoot?.querySelector('a')?.focus();\n }\n }\n return;\n }\n case UP_ARROW_KEY_CODE: {\n if (activeIndex > 0) {\n const prevItem = this._menuItems[activeIndex - 1];\n if (prevItem) {\n prevItem.shadowRoot?.querySelector('button')\n ? prevItem.shadowRoot?.querySelector('button')?.focus()\n : prevItem.shadowRoot?.querySelector('a')?.focus();\n }\n } else if (activeIndex === 0) {\n this._menu?.querySelector('button')?.focus();\n }\n return;\n }\n default: {\n return;\n }\n }\n }\n\n private checkOverflow() {\n const contentElement = this.shadowRoot?.querySelector('button, a');\n if (contentElement instanceof HTMLElement) {\n this.isTruncated =\n contentElement.scrollWidth > contentElement.offsetWidth;\n if (this.isTruncated) {\n let text = '';\n text += this.textContent?.trim();\n this.tooltipText = text;\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-overflow-menu-item': OverflowMenuItem;\n }\n}\n"],"names":["OverflowMenuItem","customElement","LitElement","_classThis","_classSuper","href","__classPrivateFieldGet","this","_OverflowMenuItem_href_accessor_storage","value","__classPrivateFieldSet","destructive","_OverflowMenuItem_destructive_accessor_storage","disabled","_OverflowMenuItem_disabled_accessor_storage","description","_OverflowMenuItem_description_accessor_storage","_menuItems","_OverflowMenuItem__menuItems_accessor_storage","_menu","_OverflowMenuItem__menu_accessor_storage","isTruncated","_OverflowMenuItem_isTruncated_accessor_storage","tooltipText","_OverflowMenuItem_tooltipText_accessor_storage","kind","_OverflowMenuItem_kind_accessor_storage","render","classes","itemText","html","classMap","e","handleClick","handleKeyDown","firstUpdated","parent","closest","getMenuItems","getMenu","addEventListener","customEvent","requestAnimationFrame","detail","checkOverflow","event","CustomEvent","origEvent","dispatchEvent","menuItemsLength","length","activeEl","document","activeElement","activeIndex","findIndex","item","shadowRoot","contains","keyCode","nextItem","_a","querySelector","_c","_b","focus","_e","_d","prevItem","_f","_h","_g","_k","_j","_m","_l","contentElement","HTMLElement","scrollWidth","offsetWidth","text","textContent","trim","set","__runInitializers","_href_initializers","_href_extraInitializers","_destructive_initializers","_destructive_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_description_initializers","_description_extraInitializers","__menuItems_initializers","__menuItems_extraInitializers","__menu_initializers","__menu_extraInitializers","_isTruncated_initializers","_isTruncated_extraInitializers","_tooltipText_initializers","_tooltipText_extraInitializers","_kind_initializers","_href_decorators","property","type","String","_destructive_decorators","Boolean","_disabled_decorators","_description_decorators","__menuItems_decorators","state","__menu_decorators","_isTruncated_decorators","_tooltipText_decorators","_kind_decorators","__esDecorate","name","static","private","access","has","obj","get","metadata","_metadata","_kind_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","SCSS"],"mappings":"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"}
|