@paperless/core 2.14.12 → 2.14.14
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/CHANGELOG.md +22 -0
- package/dist/build/{p-30f467cc.js → p-2ea4c8d2.js} +1 -1
- package/dist/build/p-acc09f05.entry.js +2 -0
- package/dist/build/p-acc09f05.entry.js.map +1 -0
- package/dist/build/p-select.entry.esm.js.map +1 -1
- package/dist/build/paperless.esm.js +1 -1
- package/dist/cjs/p-select.cjs.entry.js +21 -8
- package/dist/cjs/p-select.cjs.entry.js.map +1 -1
- package/dist/cjs/p-select.entry.cjs.js.map +1 -1
- package/dist/collection/components/molecules/select/select.component.js +21 -8
- package/dist/collection/components/molecules/select/select.component.js.map +1 -1
- package/dist/components/p-select.js +21 -8
- package/dist/components/p-select.js.map +1 -1
- package/dist/esm/p-select.entry.js +21 -8
- package/dist/esm/p-select.entry.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/paperless/p-acc09f05.entry.js +2 -0
- package/dist/paperless/p-acc09f05.entry.js.map +1 -0
- package/dist/paperless/p-select.entry.esm.js.map +1 -1
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/package.json +1 -1
- package/dist/build/p-948fca53.entry.js +0 -2
- package/dist/build/p-948fca53.entry.js.map +0 -1
- package/dist/paperless/p-948fca53.entry.js +0 -2
- package/dist/paperless/p-948fca53.entry.js.map +0 -1
|
@@ -314,7 +314,8 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends H {
|
|
|
314
314
|
this._resizeObserver.observe(this._el);
|
|
315
315
|
}
|
|
316
316
|
if (this.value) {
|
|
317
|
-
|
|
317
|
+
console.log('On load', this.value);
|
|
318
|
+
this._valueChange(this.value, null);
|
|
318
319
|
return;
|
|
319
320
|
}
|
|
320
321
|
this.itemChanges();
|
|
@@ -345,8 +346,8 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends H {
|
|
|
345
346
|
if (this.error?.length) {
|
|
346
347
|
buttonIcon = 'warning';
|
|
347
348
|
}
|
|
348
|
-
return (h(ThemedHost, { key: '
|
|
349
|
-
this._selectedItem?.[this.iconClassKey], onClick: ev => this._onClick(ev) }, h("div", { key: '
|
|
349
|
+
return (h(ThemedHost, { key: 'a41991f924c400f2427ff11f455edbbc9f0dfe89' }, h("p-field-container", { key: '964bba52127d2379e6a3f00260f791d559bcaedc', variant: 'write', prefix: this.prefix, label: this.label, helper: this.helper, required: this.required, showOptional: this.showOptional, error: this.error, forceShowTooltip: !!this.error?.length && !this._showDropdown }, h("p-dropdown", { key: 'a85a4fdd71d520033554156ee693b2befab5d9c3', applyFullWidth: true, applyMaxWidth: false, slot: 'content', insideClick: true, manual: true, scrollable: this.enableAutocomplete ? 'large' : true, "disable-trigger-click": this.disabled, show: this._showDropdown, onIsOpen: ev => this._onDropdownOpen(ev), strategy: this.strategy }, h("p-button", { key: '4e795615150e184a00ff2912dd80bb58780cfc30', slot: 'trigger', class: 'w-full', variant: 'secondary', size: this.size, chevron: this.showChevron ? (this._showDropdown ? 'up' : 'down') : false, active: this._showDropdown, error: !!this.error?.length, icon: buttonIcon, iconClass: this.applyClassOnSelectedItem &&
|
|
350
|
+
this._selectedItem?.[this.iconClassKey], onClick: ev => this._onClick(ev) }, h("div", { key: '371c51e120888c7837486ac5974e9da069aa8ce2', class: 'relative min-w-0 flex-1', ref: ref => (this._inputRef = ref) }, this._displayValue)), this.loading ? this._getLoadingItems() : this._getItems(), this.showAddItem && this._getAddItem()))));
|
|
350
351
|
}
|
|
351
352
|
documentClickHandler(event) {
|
|
352
353
|
if (!this._showDropdown || childOfComposed(event, this._el)) {
|
|
@@ -354,10 +355,10 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends H {
|
|
|
354
355
|
}
|
|
355
356
|
this._showDropdown = false;
|
|
356
357
|
}
|
|
357
|
-
_valueChange(value) {
|
|
358
|
-
console.log('value change');
|
|
358
|
+
_valueChange(value, oldVal) {
|
|
359
|
+
console.log('value change', value, oldVal);
|
|
359
360
|
setTimeout(() => {
|
|
360
|
-
this._preselectItem(
|
|
361
|
+
this._preselectItem();
|
|
361
362
|
this._setCheckSelectedItemsTimeout();
|
|
362
363
|
});
|
|
363
364
|
}
|
|
@@ -375,8 +376,12 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends H {
|
|
|
375
376
|
this._selectedItem = [];
|
|
376
377
|
}
|
|
377
378
|
}
|
|
378
|
-
_preselectItem(
|
|
379
|
-
|
|
379
|
+
_preselectItem() {
|
|
380
|
+
console.log('Preselect start', this.value);
|
|
381
|
+
let value = typeof this.value === 'string' && this.multi
|
|
382
|
+
? JSON.parse(this.value)
|
|
383
|
+
: this.value;
|
|
384
|
+
console.log('Post', value);
|
|
380
385
|
if (this.multi) {
|
|
381
386
|
if (!Array.isArray(value)) {
|
|
382
387
|
this.value = [];
|
|
@@ -397,6 +402,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends H {
|
|
|
397
402
|
if (!this._selectedItem && !value && this.autoSelectFirst) {
|
|
398
403
|
value = this._items[0];
|
|
399
404
|
}
|
|
405
|
+
console.log('post !this._selectedItem check', value);
|
|
400
406
|
const identifier = typeof value === 'object' && value !== null
|
|
401
407
|
? value[this._identifierKey]
|
|
402
408
|
: value;
|
|
@@ -409,10 +415,13 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends H {
|
|
|
409
415
|
const currentParsedValue = typeof currentValue === 'string' || typeof currentValue === 'number'
|
|
410
416
|
? currentValue
|
|
411
417
|
: JSON.stringify(currentValue);
|
|
418
|
+
console.log('parsedValue', parsedValue);
|
|
419
|
+
console.log('currentParsedValue', currentParsedValue);
|
|
412
420
|
if (this._selectedItem && currentParsedValue === parsedValue) {
|
|
413
421
|
return;
|
|
414
422
|
}
|
|
415
423
|
if (!this._items?.length && value) {
|
|
424
|
+
console.log('No length', value);
|
|
416
425
|
this._selectValue(value, false);
|
|
417
426
|
return;
|
|
418
427
|
}
|
|
@@ -424,15 +433,18 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends H {
|
|
|
424
433
|
: JSON.stringify(itemIdentifier);
|
|
425
434
|
return parsedItemIdentifier === parsedValue;
|
|
426
435
|
});
|
|
436
|
+
console.log('Found item', item, value);
|
|
427
437
|
this._selectValue(!!item ? item : value, false);
|
|
428
438
|
}
|
|
429
439
|
_selectValue(item, forceBlur = true) {
|
|
440
|
+
console.log('Start', item, this.valueKey, this.loading);
|
|
430
441
|
let value = !!this.valueKey &&
|
|
431
442
|
this.valueKey !== 'false' &&
|
|
432
443
|
item !== null &&
|
|
433
444
|
!this.loading
|
|
434
445
|
? item?.[this.valueKey]
|
|
435
446
|
: item;
|
|
447
|
+
console.log('Start', item);
|
|
436
448
|
if (this.multi) {
|
|
437
449
|
if (!this._selectedItem || !Array.isArray(this._selectedItem)) {
|
|
438
450
|
this._selectedItem = [];
|
|
@@ -461,6 +473,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends H {
|
|
|
461
473
|
if (value === this.value) {
|
|
462
474
|
return;
|
|
463
475
|
}
|
|
476
|
+
console.log('Setting value', value);
|
|
464
477
|
this.value = value;
|
|
465
478
|
this.valueChange.emit(value);
|
|
466
479
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-select.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/molecules/select/select.component.css?tag=p-select","src/components/molecules/select/select.component.tsx"],"sourcesContent":[":host {\n\t--tw-translate-y: 0px !important;\n\t--tw-translate-x: 0px !important;\n}\n","import { Strategy } from '@floating-ui/dom';\nimport {\n\tAttachInternals,\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOfComposed, cn } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\nimport { cva } from 'class-variance-authority';\nimport { ThemedHost } from '../../../internal/themed-host.component';\nimport { SELECT_DEFAULT_MAX_DISPLAYED_ITEMS } from '../../../utils/constants';\n\nconst multiContainer = cva([\n\t'flex items-center gap-2',\n\t'flex-1 min-w-0 h-full',\n\t'pointer-events-none overflow-hidden',\n]);\n\nconst multiItem = cva([\n\t'item group/item',\n\t'pointer-events-auto cursor-pointer',\n\t'flex h-[1.625rem] items-center gap-2',\n\t'h-[1.625rem] px-2',\n\t'text-sm font-semibold whitespace-nowrap',\n\t'rounded-lg',\n\t'bg-indigo-100',\n\t'dark:bg-white/15',\n]);\n\nconst textContainer = cva('block w-full overflow-hidden text-start', {\n\tvariants: {\n\t\tvariant: {\n\t\t\tplaceholder: 'text-storm-400 dark:text-white',\n\t\t\tdefault: null,\n\t\t},\n\t\tenableTextWrap: {\n\t\t\ttrue: false,\n\t\t\tfalse: 'text-ellipsis whitespace-nowrap',\n\t\t},\n\t\terror: {\n\t\t\ttrue: 'text-negative-red-700 dark:text-negative-red-alternative group-hover/button:text-negative-red-800',\n\t\t\tfalse: null,\n\t\t},\n\t},\n});\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.css',\n\tformAssociated: true,\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * The strategy to use for the dropdown placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string = 'icon';\n\n\t/**\n\t * The key of the class we can apploy to the icon\n\t */\n\t@Prop() iconClassKey: string = 'iconClass';\n\n\t/**\n\t * Wether to apply the item's icon on the selected item display\n\t */\n\t@Prop() showIconOnSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: boolean;\n\n\t/**\n\t * Wether to apply the item's class also on the selected item within the menu\n\t */\n\t@Prop() applyClassOnSelectedItemInMenu: boolean;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = SELECT_DEFAULT_MAX_DISPLAYED_ITEMS;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether to enable wrapping the text to a new line in the dropdown menu\n\t */\n\t@Prop() enableTextWrap?: boolean = false;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean = true;\n\n\t/**\n\t * Wether to show optional when not required\n\t */\n\t@Prop({ reflect: true }) showOptional: boolean = true;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\t@AttachInternals() _internals: ElementInternals;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement | HTMLTextAreaElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timeout | undefined;\n\tprivate _checkSelectedItemsTimeout: NodeJS.Timeout | undefined;\n\n\tget _items() {\n\t\treturn this._getParsedItems();\n\t}\n\n\tget _displayValue() {\n\t\tconst placeholder = (\n\t\t\t<div class={textContainer({ variant: 'placeholder' })}>\n\t\t\t\t{this.placeholder}\n\t\t\t</div>\n\t\t);\n\n\t\tif (!this._selectedItem) {\n\t\t\treturn placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={multiContainer()}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={multiItem()}\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tclass='text-xs text-indigo-500 group-hover/item:text-indigo-800 dark:text-white/15 dark:group-hover/item:text-white'\n\t\t\t\t\t\t\t\tvariant='negative'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra pointer-events-none hidden text-sm text-storm-100'>\n\t\t\t\t\t\t+{this._amountHidden}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tformResetCallback() {\n\t\tthis._selectValue(null);\n\t}\n\n\t// formDisabledCallback(disabled: boolean) {\n\t// \tif (!this._internals.form) {\n\t// \t\treturn;\n\t// \t}\n\t//\n\t// \t//this.disabled = disabled;\n\t// }\n\t//\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange(this.value);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\tlet buttonIcon = this.icon;\n\n\t\tif (\n\t\t\tthis._selectedItem &&\n\t\t\t!this.avatarKey &&\n\t\t\t!!this.iconKey &&\n\t\t\tthis._selectedItem?.[this.iconKey] &&\n\t\t\t!this.showIconOnSelectedItem\n\t\t) {\n\t\t\tbuttonIcon = this._selectedItem[this.iconKey];\n\t\t}\n\n\t\tif (\n\t\t\t(this.avatarKey && this._selectedItem?.[this.avatarKey]) ||\n\t\t\t(this.avatarLettersKey && this._selectedItem?.[this.avatarLettersKey])\n\t\t) {\n\t\t\tbuttonIcon = null;\n\t\t}\n\n\t\tif (this.error?.length) {\n\t\t\tbuttonIcon = 'warning';\n\t\t}\n\n\t\treturn (\n\t\t\t<ThemedHost>\n\t\t\t\t<p-field-container\n\t\t\t\t\tvariant='write'\n\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tshowOptional={this.showOptional}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\tforceShowTooltip={!!this.error?.length && !this._showDropdown}\n\t\t\t\t>\n\t\t\t\t\t<p-dropdown\n\t\t\t\t\t\tapplyFullWidth={true}\n\t\t\t\t\t\tapplyMaxWidth={false}\n\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\tinsideClick={true}\n\t\t\t\t\t\tmanual={true}\n\t\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\t\tdisable-trigger-click={this.disabled}\n\t\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t\t\tstrategy={this.strategy}\n\t\t\t\t\t>\n\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\tchevron={\n\t\t\t\t\t\t\t\tthis.showChevron ? (this._showDropdown ? 'up' : 'down') : false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactive={this._showDropdown}\n\t\t\t\t\t\t\terror={!!this.error?.length}\n\t\t\t\t\t\t\ticon={buttonIcon}\n\t\t\t\t\t\t\ticonClass={\n\t\t\t\t\t\t\t\tthis.applyClassOnSelectedItem &&\n\t\t\t\t\t\t\t\tthis._selectedItem?.[this.iconClassKey]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ev => this._onClick(ev)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='relative min-w-0 flex-1'\n\t\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t\t</p-dropdown>\n\t\t\t\t</p-field-container>\n\t\t\t</ThemedHost>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler(event) {\n\t\tif (!this._showDropdown || childOfComposed(event, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange(value) {\n\t\tconsole.log('value change');\n\t\tsetTimeout(() => {\n\t\t\tthis._preselectItem(value);\n\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t});\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tsetTimeout(() => this._preselectItem());\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem(value = this.value) {\n\t\tvalue = typeof value === 'string' && this.multi ? JSON.parse(value) : value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst items = this._getParsedItems(false);\n\t\tconst item = items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey &&\n\t\t\tthis.valueKey !== 'false' &&\n\t\t\titem !== null &&\n\t\t\t!this.loading\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis._onBlur(forceBlur);\n\n\t\tif (value === this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\t}\n\n\tprivate _onClick(event) {\n\t\tconst composed = event?.composedPath();\n\n\t\tfor (const item of composed) {\n\t\t\tif (item.nodeName.toLowerCase() === 'p-button') {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (item.classList?.contains('item')) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.detail;\n\t\tthis.queryChange.emit(ev.detail);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => {\n\t\t\tconst isSelected =\n\t\t\t\tthis.multi && !!this._selectedItem && Array.isArray(this._selectedItem)\n\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t ) >= 0\n\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t this._selectedItem?.[this._identifierKey];\n\t\t\treturn (\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tenableTextWrap={this.enableTextWrap}\n\t\t\t\t\tuseContainer={false}\n\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\tactive={isSelected}\n\t\t\t\t\tcheckbox={this.multi ? true : false}\n\t\t\t\t\tslot='items'\n\t\t\t\t>\n\t\t\t\t\t{this._getDisplay(item, false, isSelected)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t});\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p\n\t\t\t\t\tclass='w-full p-2 text-center text-sm text-storm-400 dark:text-hurricane-200'\n\t\t\t\t\tslot='items'\n\t\t\t\t>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tslot='items'\n\t\t\t\t\tuseContainer={false}\n\t\t\t\t\tcheckbox\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this.add.emit()}\n\t\t\t\tuseContainer={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-indigo-600'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tenableHover={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass='sticky top-0 z-10 mb-3 h-8'\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-field\n\t\t\t\t\tclass='block'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonValueChange={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tonInputRefChange={ev => (this.autocompleteInputRef = ev.detail)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst calced = this._inputRef.clientWidth - 16;\n\t\tthis._multiContainerRef.style.maxWidth = `${calced >= 16 ? calced : 16}px`;\n\t}\n\n\tprivate _setCheckSelectedItemsTimeout() {\n\t\tif (this._checkSelectedItemsTimeout) {\n\t\t\tclearTimeout(this._checkSelectedItemsTimeout);\n\t\t}\n\n\t\tthis._checkSelectedItemsTimeout = setTimeout(\n\t\t\t() => this._checkSelectedItems(),\n\t\t\t50\n\t\t);\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = this._multiContainerRef.querySelectorAll('.item');\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\t\t\tchild.classList.add('flex');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.remove('flex');\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => this.autocompleteInputRef.focus(), 100);\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false, isSelectedInMenu = false) {\n\t\tlet content = (\n\t\t\t<div\n\t\t\t\tclass={textContainer({\n\t\t\t\t\tvariant: 'default',\n\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\tenableTextWrap: this.enableTextWrap && !isSelection,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\titem[\n\t\t\t\t\t\tisSelection\n\t\t\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t\t\t: this.displayKey\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={textContainer({\n\t\t\t\t\t\t\tvariant: 'default',\n\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\tenableTextWrap: this.enableTextWrap && !isSelection,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconOnSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t{item[this.iconKey] && (\n\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\tclass={cn(\n\t\t\t\t\t\t\t\t'text-storm-300 dark:text-hurricane-200',\n\t\t\t\t\t\t\t\t(!isSelection || !!this.applyClassOnSelectedItem) &&\n\t\t\t\t\t\t\t\t\t(!isSelectedInMenu || !!this.applyClassOnSelectedItemInMenu)\n\t\t\t\t\t\t\t\t\t? item?.[this.iconClassKey] ?? ''\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tvariant={item[this.iconKey] as IconVariant}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={textContainer({\n\t\t\t\t\t\t\tvariant: 'default',\n\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\tenableTextWrap: this.enableTextWrap && !isSelection,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\t(!isSelection || !!this.applyClassOnSelectedItem) &&\n\t\t\t(!isSelectedInMenu || !!this.applyClassOnSelectedItemInMenu) &&\n\t\t\t!!item?.[this.classKey]?.length\n\t\t) {\n\t\t\treturn <div class={item[this.classKey]}>{content}</div>;\n\t\t}\n\n\t\treturn content;\n\t}\n\n\tprivate _getParsedItems(applyPagination = true) {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\tif (!applyPagination) {\n\t\t\treturn items;\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-select.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/molecules/select/select.component.css?tag=p-select","src/components/molecules/select/select.component.tsx"],"sourcesContent":[":host {\n\t--tw-translate-y: 0px !important;\n\t--tw-translate-x: 0px !important;\n}\n","import { Strategy } from '@floating-ui/dom';\nimport {\n\tAttachInternals,\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOfComposed, cn } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\nimport { cva } from 'class-variance-authority';\nimport { ThemedHost } from '../../../internal/themed-host.component';\nimport { SELECT_DEFAULT_MAX_DISPLAYED_ITEMS } from '../../../utils/constants';\n\nconst multiContainer = cva([\n\t'flex items-center gap-2',\n\t'flex-1 min-w-0 h-full',\n\t'pointer-events-none overflow-hidden',\n]);\n\nconst multiItem = cva([\n\t'item group/item',\n\t'pointer-events-auto cursor-pointer',\n\t'flex h-[1.625rem] items-center gap-2',\n\t'h-[1.625rem] px-2',\n\t'text-sm font-semibold whitespace-nowrap',\n\t'rounded-lg',\n\t'bg-indigo-100',\n\t'dark:bg-white/15',\n]);\n\nconst textContainer = cva('block w-full overflow-hidden text-start', {\n\tvariants: {\n\t\tvariant: {\n\t\t\tplaceholder: 'text-storm-400 dark:text-white',\n\t\t\tdefault: null,\n\t\t},\n\t\tenableTextWrap: {\n\t\t\ttrue: false,\n\t\t\tfalse: 'text-ellipsis whitespace-nowrap',\n\t\t},\n\t\terror: {\n\t\t\ttrue: 'text-negative-red-700 dark:text-negative-red-alternative group-hover/button:text-negative-red-800',\n\t\t\tfalse: null,\n\t\t},\n\t},\n});\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.css',\n\tformAssociated: true,\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * The strategy to use for the dropdown placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string = 'icon';\n\n\t/**\n\t * The key of the class we can apploy to the icon\n\t */\n\t@Prop() iconClassKey: string = 'iconClass';\n\n\t/**\n\t * Wether to apply the item's icon on the selected item display\n\t */\n\t@Prop() showIconOnSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: boolean;\n\n\t/**\n\t * Wether to apply the item's class also on the selected item within the menu\n\t */\n\t@Prop() applyClassOnSelectedItemInMenu: boolean;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = SELECT_DEFAULT_MAX_DISPLAYED_ITEMS;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether to enable wrapping the text to a new line in the dropdown menu\n\t */\n\t@Prop() enableTextWrap?: boolean = false;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean = true;\n\n\t/**\n\t * Wether to show optional when not required\n\t */\n\t@Prop({ reflect: true }) showOptional: boolean = true;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\t@AttachInternals() _internals: ElementInternals;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement | HTMLTextAreaElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timeout | undefined;\n\tprivate _checkSelectedItemsTimeout: NodeJS.Timeout | undefined;\n\n\tget _items() {\n\t\treturn this._getParsedItems();\n\t}\n\n\tget _displayValue() {\n\t\tconst placeholder = (\n\t\t\t<div class={textContainer({ variant: 'placeholder' })}>\n\t\t\t\t{this.placeholder}\n\t\t\t</div>\n\t\t);\n\n\t\tif (!this._selectedItem) {\n\t\t\treturn placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={multiContainer()}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={multiItem()}\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tclass='text-xs text-indigo-500 group-hover/item:text-indigo-800 dark:text-white/15 dark:group-hover/item:text-white'\n\t\t\t\t\t\t\t\tvariant='negative'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra pointer-events-none hidden text-sm text-storm-100'>\n\t\t\t\t\t\t+{this._amountHidden}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tformResetCallback() {\n\t\tthis._selectValue(null);\n\t}\n\n\t// formDisabledCallback(disabled: boolean) {\n\t// \tif (!this._internals.form) {\n\t// \t\treturn;\n\t// \t}\n\t//\n\t// \t//this.disabled = disabled;\n\t// }\n\t//\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tconsole.log('On load', this.value);\n\t\t\tthis._valueChange(this.value, null);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\tlet buttonIcon = this.icon;\n\n\t\tif (\n\t\t\tthis._selectedItem &&\n\t\t\t!this.avatarKey &&\n\t\t\t!!this.iconKey &&\n\t\t\tthis._selectedItem?.[this.iconKey] &&\n\t\t\t!this.showIconOnSelectedItem\n\t\t) {\n\t\t\tbuttonIcon = this._selectedItem[this.iconKey];\n\t\t}\n\n\t\tif (\n\t\t\t(this.avatarKey && this._selectedItem?.[this.avatarKey]) ||\n\t\t\t(this.avatarLettersKey && this._selectedItem?.[this.avatarLettersKey])\n\t\t) {\n\t\t\tbuttonIcon = null;\n\t\t}\n\n\t\tif (this.error?.length) {\n\t\t\tbuttonIcon = 'warning';\n\t\t}\n\n\t\treturn (\n\t\t\t<ThemedHost>\n\t\t\t\t<p-field-container\n\t\t\t\t\tvariant='write'\n\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\tshowOptional={this.showOptional}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\tforceShowTooltip={!!this.error?.length && !this._showDropdown}\n\t\t\t\t>\n\t\t\t\t\t<p-dropdown\n\t\t\t\t\t\tapplyFullWidth={true}\n\t\t\t\t\t\tapplyMaxWidth={false}\n\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\tinsideClick={true}\n\t\t\t\t\t\tmanual={true}\n\t\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\t\tdisable-trigger-click={this.disabled}\n\t\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t\t\tstrategy={this.strategy}\n\t\t\t\t\t>\n\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\tchevron={\n\t\t\t\t\t\t\t\tthis.showChevron ? (this._showDropdown ? 'up' : 'down') : false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactive={this._showDropdown}\n\t\t\t\t\t\t\terror={!!this.error?.length}\n\t\t\t\t\t\t\ticon={buttonIcon}\n\t\t\t\t\t\t\ticonClass={\n\t\t\t\t\t\t\t\tthis.applyClassOnSelectedItem &&\n\t\t\t\t\t\t\t\tthis._selectedItem?.[this.iconClassKey]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ev => this._onClick(ev)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='relative min-w-0 flex-1'\n\t\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t\t</p-dropdown>\n\t\t\t\t</p-field-container>\n\t\t\t</ThemedHost>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler(event) {\n\t\tif (!this._showDropdown || childOfComposed(event, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange(value, oldVal) {\n\t\tconsole.log('value change', value, oldVal);\n\t\tsetTimeout(() => {\n\t\t\tthis._preselectItem();\n\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t});\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tsetTimeout(() => this._preselectItem());\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tconsole.log('Preselect start', this.value);\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tconsole.log('Post', value);\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconsole.log('post !this._selectedItem check', value);\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tconsole.log('parsedValue', parsedValue);\n\t\tconsole.log('currentParsedValue', currentParsedValue);\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tconsole.log('No length', value);\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst items = this._getParsedItems(false);\n\t\tconst item = items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tconsole.log('Found item', item, value);\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tconsole.log('Start', item, this.valueKey, this.loading);\n\t\tlet value =\n\t\t\t!!this.valueKey &&\n\t\t\tthis.valueKey !== 'false' &&\n\t\t\titem !== null &&\n\t\t\t!this.loading\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\t\tconsole.log('Start', item);\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis._onBlur(forceBlur);\n\n\t\tif (value === this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log('Setting value', value);\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\t}\n\n\tprivate _onClick(event) {\n\t\tconst composed = event?.composedPath();\n\n\t\tfor (const item of composed) {\n\t\t\tif (item.nodeName.toLowerCase() === 'p-button') {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (item.classList?.contains('item')) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.detail;\n\t\tthis.queryChange.emit(ev.detail);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => {\n\t\t\tconst isSelected =\n\t\t\t\tthis.multi && !!this._selectedItem && Array.isArray(this._selectedItem)\n\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t ) >= 0\n\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t this._selectedItem?.[this._identifierKey];\n\t\t\treturn (\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tenableTextWrap={this.enableTextWrap}\n\t\t\t\t\tuseContainer={false}\n\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\tactive={isSelected}\n\t\t\t\t\tcheckbox={this.multi ? true : false}\n\t\t\t\t\tslot='items'\n\t\t\t\t>\n\t\t\t\t\t{this._getDisplay(item, false, isSelected)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t});\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p\n\t\t\t\t\tclass='w-full p-2 text-center text-sm text-storm-400 dark:text-hurricane-200'\n\t\t\t\t\tslot='items'\n\t\t\t\t>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tslot='items'\n\t\t\t\t\tuseContainer={false}\n\t\t\t\t\tcheckbox\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this.add.emit()}\n\t\t\t\tuseContainer={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-indigo-600'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tenableHover={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass='sticky top-0 z-10 mb-3 h-8'\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-field\n\t\t\t\t\tclass='block'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonValueChange={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tonInputRefChange={ev => (this.autocompleteInputRef = ev.detail)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst calced = this._inputRef.clientWidth - 16;\n\t\tthis._multiContainerRef.style.maxWidth = `${calced >= 16 ? calced : 16}px`;\n\t}\n\n\tprivate _setCheckSelectedItemsTimeout() {\n\t\tif (this._checkSelectedItemsTimeout) {\n\t\t\tclearTimeout(this._checkSelectedItemsTimeout);\n\t\t}\n\n\t\tthis._checkSelectedItemsTimeout = setTimeout(\n\t\t\t() => this._checkSelectedItems(),\n\t\t\t50\n\t\t);\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = this._multiContainerRef.querySelectorAll('.item');\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\t\t\tchild.classList.add('flex');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.remove('flex');\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => this.autocompleteInputRef.focus(), 100);\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false, isSelectedInMenu = false) {\n\t\tlet content = (\n\t\t\t<div\n\t\t\t\tclass={textContainer({\n\t\t\t\t\tvariant: 'default',\n\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\tenableTextWrap: this.enableTextWrap && !isSelection,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\titem[\n\t\t\t\t\t\tisSelection\n\t\t\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t\t\t: this.displayKey\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={textContainer({\n\t\t\t\t\t\t\tvariant: 'default',\n\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\tenableTextWrap: this.enableTextWrap && !isSelection,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconOnSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t{item[this.iconKey] && (\n\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\tclass={cn(\n\t\t\t\t\t\t\t\t'text-storm-300 dark:text-hurricane-200',\n\t\t\t\t\t\t\t\t(!isSelection || !!this.applyClassOnSelectedItem) &&\n\t\t\t\t\t\t\t\t\t(!isSelectedInMenu || !!this.applyClassOnSelectedItemInMenu)\n\t\t\t\t\t\t\t\t\t? item?.[this.iconClassKey] ?? ''\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tvariant={item[this.iconKey] as IconVariant}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={textContainer({\n\t\t\t\t\t\t\tvariant: 'default',\n\t\t\t\t\t\t\terror: !!this.error?.length,\n\t\t\t\t\t\t\tenableTextWrap: this.enableTextWrap && !isSelection,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\t(!isSelection || !!this.applyClassOnSelectedItem) &&\n\t\t\t(!isSelectedInMenu || !!this.applyClassOnSelectedItemInMenu) &&\n\t\t\t!!item?.[this.classKey]?.length\n\t\t) {\n\t\t\treturn <div class={item[this.classKey]}>{content}</div>;\n\t\t}\n\n\t\treturn content;\n\t}\n\n\tprivate _getParsedItems(applyPagination = true) {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\tif (!applyPagination) {\n\t\t\treturn items;\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n}\n"],"version":3}
|
|
@@ -309,7 +309,8 @@ const Select = class {
|
|
|
309
309
|
this._resizeObserver.observe(this._el);
|
|
310
310
|
}
|
|
311
311
|
if (this.value) {
|
|
312
|
-
|
|
312
|
+
console.log('On load', this.value);
|
|
313
|
+
this._valueChange(this.value, null);
|
|
313
314
|
return;
|
|
314
315
|
}
|
|
315
316
|
this.itemChanges();
|
|
@@ -340,8 +341,8 @@ const Select = class {
|
|
|
340
341
|
if (this.error?.length) {
|
|
341
342
|
buttonIcon = 'warning';
|
|
342
343
|
}
|
|
343
|
-
return (h(ThemedHost, { key: '
|
|
344
|
-
this._selectedItem?.[this.iconClassKey], onClick: ev => this._onClick(ev) }, h("div", { key: '
|
|
344
|
+
return (h(ThemedHost, { key: 'a41991f924c400f2427ff11f455edbbc9f0dfe89' }, h("p-field-container", { key: '964bba52127d2379e6a3f00260f791d559bcaedc', variant: 'write', prefix: this.prefix, label: this.label, helper: this.helper, required: this.required, showOptional: this.showOptional, error: this.error, forceShowTooltip: !!this.error?.length && !this._showDropdown }, h("p-dropdown", { key: 'a85a4fdd71d520033554156ee693b2befab5d9c3', applyFullWidth: true, applyMaxWidth: false, slot: 'content', insideClick: true, manual: true, scrollable: this.enableAutocomplete ? 'large' : true, "disable-trigger-click": this.disabled, show: this._showDropdown, onIsOpen: ev => this._onDropdownOpen(ev), strategy: this.strategy }, h("p-button", { key: '4e795615150e184a00ff2912dd80bb58780cfc30', slot: 'trigger', class: 'w-full', variant: 'secondary', size: this.size, chevron: this.showChevron ? (this._showDropdown ? 'up' : 'down') : false, active: this._showDropdown, error: !!this.error?.length, icon: buttonIcon, iconClass: this.applyClassOnSelectedItem &&
|
|
345
|
+
this._selectedItem?.[this.iconClassKey], onClick: ev => this._onClick(ev) }, h("div", { key: '371c51e120888c7837486ac5974e9da069aa8ce2', class: 'relative min-w-0 flex-1', ref: ref => (this._inputRef = ref) }, this._displayValue)), this.loading ? this._getLoadingItems() : this._getItems(), this.showAddItem && this._getAddItem()))));
|
|
345
346
|
}
|
|
346
347
|
documentClickHandler(event) {
|
|
347
348
|
if (!this._showDropdown || childOfComposed(event, this._el)) {
|
|
@@ -349,10 +350,10 @@ const Select = class {
|
|
|
349
350
|
}
|
|
350
351
|
this._showDropdown = false;
|
|
351
352
|
}
|
|
352
|
-
_valueChange(value) {
|
|
353
|
-
console.log('value change');
|
|
353
|
+
_valueChange(value, oldVal) {
|
|
354
|
+
console.log('value change', value, oldVal);
|
|
354
355
|
setTimeout(() => {
|
|
355
|
-
this._preselectItem(
|
|
356
|
+
this._preselectItem();
|
|
356
357
|
this._setCheckSelectedItemsTimeout();
|
|
357
358
|
});
|
|
358
359
|
}
|
|
@@ -370,8 +371,12 @@ const Select = class {
|
|
|
370
371
|
this._selectedItem = [];
|
|
371
372
|
}
|
|
372
373
|
}
|
|
373
|
-
_preselectItem(
|
|
374
|
-
|
|
374
|
+
_preselectItem() {
|
|
375
|
+
console.log('Preselect start', this.value);
|
|
376
|
+
let value = typeof this.value === 'string' && this.multi
|
|
377
|
+
? JSON.parse(this.value)
|
|
378
|
+
: this.value;
|
|
379
|
+
console.log('Post', value);
|
|
375
380
|
if (this.multi) {
|
|
376
381
|
if (!Array.isArray(value)) {
|
|
377
382
|
this.value = [];
|
|
@@ -392,6 +397,7 @@ const Select = class {
|
|
|
392
397
|
if (!this._selectedItem && !value && this.autoSelectFirst) {
|
|
393
398
|
value = this._items[0];
|
|
394
399
|
}
|
|
400
|
+
console.log('post !this._selectedItem check', value);
|
|
395
401
|
const identifier = typeof value === 'object' && value !== null
|
|
396
402
|
? value[this._identifierKey]
|
|
397
403
|
: value;
|
|
@@ -404,10 +410,13 @@ const Select = class {
|
|
|
404
410
|
const currentParsedValue = typeof currentValue === 'string' || typeof currentValue === 'number'
|
|
405
411
|
? currentValue
|
|
406
412
|
: JSON.stringify(currentValue);
|
|
413
|
+
console.log('parsedValue', parsedValue);
|
|
414
|
+
console.log('currentParsedValue', currentParsedValue);
|
|
407
415
|
if (this._selectedItem && currentParsedValue === parsedValue) {
|
|
408
416
|
return;
|
|
409
417
|
}
|
|
410
418
|
if (!this._items?.length && value) {
|
|
419
|
+
console.log('No length', value);
|
|
411
420
|
this._selectValue(value, false);
|
|
412
421
|
return;
|
|
413
422
|
}
|
|
@@ -419,15 +428,18 @@ const Select = class {
|
|
|
419
428
|
: JSON.stringify(itemIdentifier);
|
|
420
429
|
return parsedItemIdentifier === parsedValue;
|
|
421
430
|
});
|
|
431
|
+
console.log('Found item', item, value);
|
|
422
432
|
this._selectValue(!!item ? item : value, false);
|
|
423
433
|
}
|
|
424
434
|
_selectValue(item, forceBlur = true) {
|
|
435
|
+
console.log('Start', item, this.valueKey, this.loading);
|
|
425
436
|
let value = !!this.valueKey &&
|
|
426
437
|
this.valueKey !== 'false' &&
|
|
427
438
|
item !== null &&
|
|
428
439
|
!this.loading
|
|
429
440
|
? item?.[this.valueKey]
|
|
430
441
|
: item;
|
|
442
|
+
console.log('Start', item);
|
|
431
443
|
if (this.multi) {
|
|
432
444
|
if (!this._selectedItem || !Array.isArray(this._selectedItem)) {
|
|
433
445
|
this._selectedItem = [];
|
|
@@ -456,6 +468,7 @@ const Select = class {
|
|
|
456
468
|
if (value === this.value) {
|
|
457
469
|
return;
|
|
458
470
|
}
|
|
471
|
+
console.log('Setting value', value);
|
|
459
472
|
this.value = value;
|
|
460
473
|
this.valueChange.emit(value);
|
|
461
474
|
}
|