@rededor/cura 1.6.0 → 1.6.1-alpha.1

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.
Files changed (54) hide show
  1. package/dist/cjs/cura-accordion_18.cjs.entry.js +23 -4
  2. package/dist/cjs/cura-accordion_18.cjs.entry.js.map +1 -1
  3. package/dist/cjs/cura-calendar.cjs.entry.js +2997 -198
  4. package/dist/cjs/cura-calendar.cjs.entry.js.map +1 -1
  5. package/dist/cjs/cura.cjs.js +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/components/accordion/cura-accordion-item/cura-accordion-item.css +6 -2
  8. package/dist/collection/components/cura-calendar/cura-calendar.css +35 -4
  9. package/dist/collection/components/cura-calendar/cura-calendar.js +17 -9
  10. package/dist/collection/components/cura-calendar/cura-calendar.js.map +1 -1
  11. package/dist/collection/components/cura-calendar/cura-calendar.stories.js +0 -1
  12. package/dist/collection/components/cura-calendar/cura-calendar.stories.js.map +1 -1
  13. package/dist/collection/components/cura-card/cura-card.stories.js +56 -25
  14. package/dist/collection/components/cura-card/cura-card.stories.js.map +1 -1
  15. package/dist/collection/components/cura-dropdown-search/cura-dropdown-search.js +6 -1
  16. package/dist/collection/components/cura-dropdown-search/cura-dropdown-search.js.map +1 -1
  17. package/dist/collection/components/cura-modal/cura-modal.css +6 -2
  18. package/dist/collection/components/cura-page-template/cura-page-template.css +6 -2
  19. package/dist/collection/components/cura-toast/cura-toast.css +6 -2
  20. package/dist/collection/components/cura-tooltip/cura-tooltip.css +6 -2
  21. package/dist/collection/components/forms/cura-label/cura-label.css +6 -2
  22. package/dist/collection/components/forms/cura-select/cura-select.js +17 -3
  23. package/dist/collection/components/forms/cura-select/cura-select.js.map +1 -1
  24. package/dist/collection/components/text/cura-display/cura-display.css +6 -2
  25. package/dist/collection/components/text/cura-heading/cura-heading.css +6 -2
  26. package/dist/collection/components/text/cura-paragraph/cura-paragraph.css +6 -2
  27. package/dist/collection/stories/blocks/index.js +9 -0
  28. package/dist/components/cura-calendar2.js +2999 -200
  29. package/dist/components/cura-calendar2.js.map +1 -1
  30. package/dist/components/cura-dropdown-search.js +6 -1
  31. package/dist/components/cura-dropdown-search.js.map +1 -1
  32. package/dist/components/cura-select2.js +17 -3
  33. package/dist/components/cura-select2.js.map +1 -1
  34. package/dist/cura/cura.esm.js +1 -1
  35. package/dist/cura/cura.esm.js.map +1 -1
  36. package/dist/cura/p-2090e71a.entry.js +2 -0
  37. package/dist/cura/p-2090e71a.entry.js.map +1 -0
  38. package/dist/cura/p-e5abb2a4.entry.js +2 -0
  39. package/dist/cura/p-e5abb2a4.entry.js.map +1 -0
  40. package/dist/esm/cura-accordion_18.entry.js +23 -4
  41. package/dist/esm/cura-accordion_18.entry.js.map +1 -1
  42. package/dist/esm/cura-calendar.entry.js +2997 -198
  43. package/dist/esm/cura-calendar.entry.js.map +1 -1
  44. package/dist/esm/cura.js +1 -1
  45. package/dist/esm/loader.js +1 -1
  46. package/dist/types/components/cura-calendar/cura-calendar.stories.d.ts +0 -1
  47. package/dist/types/components/cura-card/cura-card.stories.d.ts +7 -98
  48. package/dist/types/components/cura-dropdown-search/cura-dropdown-search.d.ts +1 -0
  49. package/dist/types/components/forms/cura-select/cura-select.d.ts +3 -0
  50. package/package.json +15 -11
  51. package/dist/cura/p-5b928e46.entry.js +0 -2
  52. package/dist/cura/p-5b928e46.entry.js.map +0 -1
  53. package/dist/cura/p-62c1b0f4.entry.js +0 -2
  54. package/dist/cura/p-62c1b0f4.entry.js.map +0 -1
@@ -207,8 +207,13 @@ const CuraDropdownSearch$1 = /*@__PURE__*/ proxyCustomElement(class CuraDropdown
207
207
  setTimeout(() => this.getSlotElements(), 10);
208
208
  }
209
209
  disconnectedCallback() {
210
+ this.removeAllListeners();
211
+ }
212
+ removeAllListeners() {
210
213
  window === null || window === void 0 ? void 0 : window.removeEventListener('resize', this.handleWindowResize);
211
214
  window === null || window === void 0 ? void 0 : window.removeEventListener('orientationchange', this.handleWindowResize);
215
+ this.host.removeEventListener('actionclick', this.handleOptionActionClick);
216
+ this.host.removeEventListener('selectoption', this.handleSelectOption);
212
217
  }
213
218
  moveHighlight(direction) {
214
219
  if (!this.dropdownSelectableItems.length)
@@ -330,7 +335,7 @@ const CuraDropdownSearch$1 = /*@__PURE__*/ proxyCustomElement(class CuraDropdown
330
335
  };
331
336
  }
332
337
  render() {
333
- return (h(Host, { key: '936c26e5c23d95d8e905f66d8bcf7c636781351e', style: this.getHostCSSProperties() }, h("div", { key: '6bd541e66e07d4db99af875886fbfaba5915fd48', class: this.getClasses(), style: this.styles }, h("div", { key: '4b5036b41878c317bc3b6716bf8590f1d672d21e', class: "component-controls" }, this.isMobile && this.zoomState ? (h("cura-button-transparent", { fontColor: "dark", onClick: () => this.handleBackClick(), iconName: "arrowLeft", size: "large", iconOnly: true, color: "primary", id: "button-back" })) : '', h("cura-input-text", { key: '7d0d8f3090389570d51612ad89cedda9c452527f', disabled: this.disabled, label: this.label, part: "cura-input-field", mode: this.zoomState ? 'transparent' : 'default', required: this.required, iconName: this.icon || 'search', value: this.value, status: this.status, onValueChange: (ev) => this.handleInputValueChange(ev), onInput: (ev) => this._preventEvent(ev), onFocus: () => this.handleFocus(), onClick: (ev) => this._preventEvent(ev), onBlur: () => this.handleBlur(), onFocusout: () => this.handleFocusout(), onInputClear: (ev) => this.handleInputClear(ev), placeholder: this.placeholder, size: this.size, onKeyDown: (ev) => this.handleKeyDown(ev) }, h("slot", { key: 'e9cbf139d9b16a50bf0ca547246a66132e722add', name: "helperText" }))), h("div", { key: 'd8d83a726ef6e87740240b9fb637742bc52151e2', class: "dropdown-container", onMouseOver: () => this.handleDropdownMouseOver() }, h("slot", { key: '7cf5efd8ca64c1f07a19bf0ae6dfcdaeb057c04b', onSlotchange: () => this.handleSlotChange() })))));
338
+ return (h(Host, { key: 'e56264957327983c9a06eefe7f723b17d241c477', style: this.getHostCSSProperties() }, h("div", { key: '311a1facd2b0e9366f00b47e35bbcaa3d2a754dd', class: this.getClasses(), style: this.styles }, h("div", { key: 'd6f5345eaea63036c6855ee778ec1edefa5d20f7', class: "component-controls" }, this.isMobile && this.zoomState ? (h("cura-button-transparent", { fontColor: "dark", onClick: () => this.handleBackClick(), iconName: "arrowLeft", size: "large", iconOnly: true, color: "primary", id: "button-back" })) : '', h("cura-input-text", { key: '07887def77a37d0cd8ca9f3f044024cb07dbca9e', disabled: this.disabled, label: this.label, part: "cura-input-field", mode: this.zoomState ? 'transparent' : 'default', required: this.required, iconName: this.icon || 'search', value: this.value, status: this.status, onValueChange: (ev) => this.handleInputValueChange(ev), onInput: (ev) => this._preventEvent(ev), onFocus: () => this.handleFocus(), onClick: (ev) => this._preventEvent(ev), onBlur: () => this.handleBlur(), onFocusout: () => this.handleFocusout(), onInputClear: (ev) => this.handleInputClear(ev), placeholder: this.placeholder, size: this.size, onKeyDown: (ev) => this.handleKeyDown(ev) }, h("slot", { key: 'e55d3c7ad869262f7663e85c6c12ccaeef66f9d0', name: "helperText" }))), h("div", { key: 'bd2ee09236489e4b8652b7e87ffd248967c372e9', class: "dropdown-container", onMouseOver: () => this.handleDropdownMouseOver() }, h("slot", { key: 'a15f32c8fc3d9646f84f3e9a25ab32a353e0b194', onSlotchange: () => this.handleSlotChange() })))));
334
339
  }
335
340
  get host() { return this; }
336
341
  static get style() { return CuraDropdownSearchStyle0; }
@@ -1 +1 @@
1
- {"file":"cura-dropdown-search.js","mappings":"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","names":["CuraDropdownSearch"],"sources":["src/utils/FixedElementScrollBehavior.ts","src/components/cura-dropdown-search/cura-dropdown-search.scss?tag=cura-dropdown-search&encapsulation=shadow","src/components/cura-dropdown-search/cura-dropdown-search.tsx"],"sourcesContent":["import { addBodyScrollLockClass, removeBodyScrollLockClass } from './utils';\n\nexport class FixedElementScrollBehavior {\n\n hostElement: any;\n scrollableElement: any;\n scrollPosition: number;\n\n constructor(hostElement: any, scrollableElement: any) {\n if( !hostElement || !scrollableElement ) {\n console.error(\"Componentes host ou scrollable não foram informados corretamente ou não existem.\");\n } else {\n this.hostElement = hostElement;\n this.scrollableElement = scrollableElement;\n }\n }\n\n disableScroll() {\n this.scrollPosition = window.scrollY;\n window.scrollTo({ top: 0, behavior: 'instant' });\n addBodyScrollLockClass();\n this._addEvents();\n }\n\n enableScroll() {\n removeBodyScrollLockClass();\n window.scrollTo({ top: this.scrollPosition, behavior: 'instant' });\n this._removeEvents();\n }\n\n _addEvents() {\n this.hostElement.addEventListener('wheel', this._preventEvent, {passive: false});\n this.hostElement.addEventListener('mousewheel', this._preventEvent, {passive: false});\n this.hostElement.addEventListener('touchmove', this._preventEvent, {passive: false});\n this.hostElement.addEventListener('scroll', this._preventEvent, {passive: false});\n this.scrollableElement.addEventListener('wheel', this._stopPropagationEvent, {passive: false});\n this.scrollableElement.addEventListener('mousewheel', this._stopPropagationEvent, {passive: false});\n this.scrollableElement.addEventListener('touchmove', this._stopPropagationEvent, {passive: false});\n this.scrollableElement.addEventListener('scroll', this._stopPropagationEvent, {passive: false});\n }\n\n _removeEvents() {\n this.hostElement.removeEventListener('wheel', this._preventEvent);\n this.hostElement.removeEventListener('mousewheel', this._preventEvent);\n this.hostElement.removeEventListener('touchmove', this._preventEvent);\n this.hostElement.removeEventListener('scroll', this._preventEvent);\n this.scrollableElement.removeEventListener('wheel', this._stopPropagationEvent);\n this.scrollableElement.removeEventListener('mousewheel', this._stopPropagationEvent);\n this.scrollableElement.removeEventListener('touchmove', this._stopPropagationEvent);\n this.scrollableElement.removeEventListener('scroll', this._stopPropagationEvent);\n }\n\n _stopPropagationEvent = (e: Event) => {\n if( this.scrollableElement.scrollHeight <= this.scrollableElement.clientHeight ) {\n e.preventDefault();\n }\n e.stopPropagation();\n }\n\n _preventEvent = (ev: Event) => {\n ev.preventDefault();\n ev.stopPropagation();\n }\n}","@import '../../scss/mixins/spacing.scss';\n@import '../../scss/mixins/shadows.scss';\n\n:host {\n display: block;\n box-sizing: border-box;\n position: relative;\n\n .component-controls {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: #{$spacing-tiny};\n\n #button-back {\n padding: 0 0 0 #{$spacing-xxxs};\n width: max-content;\n }\n }\n\n .component-container {\n box-sizing: border-box;\n width: 100%;\n position: relative;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: min-content 1fr;\n\n &.zoom {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n background: var(--purewhite);\n height: var(--height);\n z-index: 9999;\n overscroll-behavior: contain;\n\n .component-controls {\n border-bottom: 2px solid var(--primary);\n padding: #{$spacing-xxxs} 0;\n }\n\n &.error .component-controls {\n border-bottom: 2px solid var(--error-dark);\n background-color: var(--error-lighter);\n }\n }\n\n .dropdown-container {\n box-sizing: border-box;\n width: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n display: flex;\n flex-direction: column;\n padding: #{$spacing-xxxs};\n overscroll-behavior: contain;\n }\n\n &:not(.zoom) {\n .dropdown-container {\n @include shadow-level3(--neutral-black-shadow);\n position: absolute;\n bottom: 0;\n left: 0;\n transform: translateY(100%);\n max-height: var(--max-height);\n background-color: var(--purewhite);\n border-radius: 0px 0px #{$spacing-tiny} #{$spacing-tiny};\n border-bottom: 2px solid var(--neutral-light);\n border-left: 2px solid var(--neutral-light);\n border-right: 2px solid var(--neutral-light);\n display: none;\n z-index: 9997;\n }\n\n &.dropdown-visible {\n ::part(cura-input-field) {\n border-radius: 4px 4px 0px 0px;\n }\n ::part(cura-input-text-helper) {\n height: 0px;\n overflow: hidden;\n margin-top: 0px;\n }\n .dropdown-container {\n display: block;\n }\n }\n }\n\n }\n\n}\n","import { Component, Host, h, Prop, Element, State, Method, Event, EventEmitter } from '@stencil/core';\nimport { checkMobile, checkIOS } from '../../utils/utils';\nimport { FixedElementScrollBehavior } from '../../utils/FixedElementScrollBehavior';\n\n@Component({\n tag: 'cura-dropdown-search',\n styleUrl: 'cura-dropdown-search.scss',\n shadow: true,\n})\nexport class CuraDropdownSearch {\n @Element() host: HTMLElement;\n /**\n * Name of the field.\n * Required.\n */\n @Prop({ reflect: true }) name!: string;\n /**\n * Size of the dropdown search component\n * Values: 'small', 'medium' or 'large' (default).\n */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' | string = 'large';\n /**\n * Define component status.\n * Values: 'error' or 'default'.\n */\n @Prop({ reflect: true, mutable: true }) status: 'error' | 'default' | string = 'default';\n /**\n * Disabled state. Default: false.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n /**\n * Field is required. Default: false.\n */\n @Prop({ reflect: true }) required: boolean = false;\n /**\n * The placeholder text.\n */\n @Prop({ reflect: true }) placeholder: string = '';\n /**\n * The label.\n */\n @Prop({ reflect: true }) label: string = '';\n /**\n * Custom icon name. Default: search.\n */\n @Prop({ reflect: true }) icon: string = 'search';\n /**\n * CSS max-height property for dropdown item.\n * Can also be used by css property --max-height.\n * Default: 400px\n */\n @Prop({ reflect: true }) maxheight: string = '400px';\n /**\n * Readonly property value.\n * Represents the term on the search input field.\n */\n @Prop({ mutable: true }) value: string = '';\n /**\n * Delay in milliseconds to dispatch search events.\n * Default: 400\n */\n @Prop({ reflect: true }) searchdelay: number = 400;\n /**\n * Min chars to dispatch search events.\n * Default: 3\n */\n @Prop({ reflect: true }) searchminchars: number = 3;\n\n /**\n * Set focus to input field.\n */\n @Method()\n async setFocus() {\n this.getInputElement().setFocus();\n }\n /**\n * Select by optionid property of a selectable option component.\n */\n @Method()\n async selectOption(optionid: string) {\n this._selectOption(optionid);\n }\n\n @Event() termchange: EventEmitter<string>;\n @Event() optionselect: EventEmitter<string>;\n\n @State() styles = {};\n @State() zoomState = false;\n @State() isOnFocus: boolean = false;\n\n scrollBehavior: FixedElementScrollBehavior;\n\n weights: any;\n breakpoints: any;\n isMobile: boolean;\n\n resizeTimeout: any;\n resizeTimeoutMs = 66;\n focusTimeout: any;\n focusTimeoutMs = 300;\n blurTimeout: any;\n blurTimeoutMs = 300;\n valueTimeout: any;\n\n dropdownElement: HTMLDivElement;\n selectedOptionElement: any;\n highlightedElement: any;\n highlightedIndex: number = -1;\n @State() dropdownItems = [];\n dropdownSelectableItems = [];\n\n connectedCallback() {\n this.weights = window.CuraAPI.theme.fonts.getWeights();\n this.breakpoints = window.CuraAPI.theme.breakpoints.get();\n this.styles['--info'] = window.CuraAPI.theme.colors.getColor('info-base');\n this.styles['--purewhite'] = window.CuraAPI.theme.colors.getColor('neutral-purewhite');\n this.styles['--neutral-light'] = window.CuraAPI.theme.colors.getColor('neutral-light');\n this.styles['--neutral-dark'] = window.CuraAPI.theme.colors.getColor('neutral-dark');\n this.styles['--neutral-black-shadow'] = window.CuraAPI.theme.colors.getColor(`neutral-black`, 0.16);\n this.styles['--error-dark'] = window.CuraAPI.theme.colors.getColor('error-dark');\n this.styles['--error-lighter'] = window.CuraAPI.theme.colors.getColor('error-lighter');\n this.styles['--primary'] = window.CuraAPI.theme.colors.getColor('primary');\n this.styles['--font-size'] = window.CuraAPI.theme.fonts.getSize();\n this.styles['--font-family'] = window.CuraAPI.theme.fonts.getFamily();\n this.styles['--font-weight-medium'] = this.weights.medium;\n window?.addEventListener('resize', this.handleWindowResize);\n window?.addEventListener('orientationchange', this.handleWindowResize);\n this.isMobile = checkMobile();\n }\n\n componentDidLoad() {\n this.dropdownElement = this.host.shadowRoot?.querySelector('.dropdown-container');\n this.host.addEventListener('actionclick', this.handleOptionActionClick);\n this.host.addEventListener('selectoption', this.handleSelectOption);\n this.scrollBehavior = new FixedElementScrollBehavior(this.host, this.dropdownElement);\n setTimeout(() => this.getSlotElements(), 10);\n }\n\n disconnectedCallback() {\n window?.removeEventListener('resize', this.handleWindowResize);\n window?.removeEventListener('orientationchange', this.handleWindowResize);\n }\n\n handleSlotChange = () => { this.getSlotElements(); }\n\n handleWindowResize = () => {\n if (this.resizeTimeout) clearTimeout(this.resizeTimeout);\n this.resizeTimeout = setTimeout(() => {\n this.isMobile = checkMobile();\n this.setZoomHeight();\n }, this.resizeTimeoutMs);\n }\n\n handleFocus = () => {\n if (this.focusTimeout) clearTimeout(this.focusTimeout);\n this.focusTimeout = setTimeout(() => {\n this.isOnFocus = true;\n this.clearHighlight();\n if (this.isMobile && !this.zoomState) this.enterZoom();\n if (this.zoomState) this.setZoomHeight();\n setTimeout(() => {\n this.selectedOptionElement?.scrollIntoView({behavior: 'instant', block: 'nearest', inline: 'nearest'});\n }, 10);\n }, this.focusTimeoutMs);\n }\n\n handleBlur = () => {\n if (this.blurTimeout) clearTimeout(this.blurTimeout);\n this.blurTimeout = setTimeout(() => {\n if (this.zoomState) {\n const delay = checkIOS ? 500 : 100;\n setTimeout(() => this.setZoomHeight(), delay);\n }\n this.isOnFocus = false;\n }, this.blurTimeoutMs);\n }\n\n handleFocusout = () => {\n if( this.zoomState ) this.setZoomHeight();\n }\n\n handleBackClick = () => { this.exitZoom(); }\n\n handleOptionActionClick = (ev: CustomEvent) => {\n this.getInputElement().setFocus();\n this._preventEvent(ev);\n }\n\n handleInputClear = (ev: CustomEvent) => {\n this.setValue('');\n this.clearSelectedOptions();\n this._preventEvent(ev);\n }\n\n handleSelectOption = (ev: CustomEvent) => {\n this._selectOption(ev.detail);\n this._preventEvent(ev);\n }\n\n handleInputValueChange = (ev: CustomEvent) => {\n this.setValue(ev.detail);\n if( this.selectedOptionElement && ev.detail !== this.selectedOptionElement.value) {\n this.clearSelectedOptions();\n }\n this._preventEvent(ev);\n }\n\n handleDropdownMouseOver = () => {\n if( this.highlightedElement || this.highlightedIndex >= 0 ) this.clearHighlight();\n }\n\n handleKeyDown = (ev: KeyboardEvent) => {\n if( ev.key === 'ArrowDown' ) this.moveHighlight('next');\n if( ev.key === 'ArrowUp' ) this.moveHighlight('prev');\n if( ev.key === 'Enter' ) this.selectHighlight();\n }\n\n moveHighlight(direction: 'next' | 'prev') {\n if (!this.dropdownSelectableItems.length) return;\n let position = direction === 'next' ? this.highlightedIndex + 1 : this.highlightedIndex - 1;\n if( position < 0) {\n this.clearHighlight();\n return;\n }\n const selectableItemsLastPosition = this.dropdownSelectableItems.length - 1;\n if( position > selectableItemsLastPosition ) position = selectableItemsLastPosition;\n if( this.highlightedElement ) this.highlightedElement.highlighted = false;\n this.highlightedIndex = position;\n this.highlightedElement = this.dropdownSelectableItems[position];\n if( this.highlightedElement.selected ) {\n this.moveHighlight(direction);\n return;\n }\n this.highlightedElement.highlighted = true;\n this.highlightedElement.scrollIntoView({behavior: 'instant', block: 'nearest', inline: 'nearest' });\n }\n\n clearHighlight() {\n if( this.highlightedElement ) {\n this.highlightedElement.highlighted = false;\n this.highlightedElement = null;\n }\n this.highlightedIndex = -1;\n }\n\n selectHighlight() {\n if( this.highlightedElement ) {\n this._selectOption(this.highlightedElement.optionid);\n this.clearHighlight();\n this.getInputElement().blur();\n }\n }\n\n setValue(value: string) {\n if (this.value !== value) {\n this.value = value;\n if( this.valueTimeout) clearTimeout(this.valueTimeout);\n this.valueTimeout = setTimeout(() => {\n this.termchange.emit(this.value === '' || this.value.length < this.searchminchars ? '' : this.value);\n }, this.searchdelay || 300);\n }\n }\n\n _selectOption(optionid: string) {\n if (!optionid) {\n this.clearSelectedOptions();\n this.setValue('');\n return;\n }\n const optionElement = this.dropdownSelectableItems.find(option => option.optionid === optionid);\n if( optionElement && !optionElement.selected ) {\n this.clearSelectedOptions();\n this.selectedOptionElement = optionElement;\n this.selectedOptionElement.selected = true;\n this.setValue(this.selectedOptionElement.value);\n this.optionselect.emit(this.selectedOptionElement.optionid);\n if (this.zoomState) setTimeout(() => this.exitZoom(), this.blurTimeoutMs);\n }\n }\n\n clearSelectedOptions() {\n this.dropdownSelectableItems.forEach(option => {\n if( option.selected ) option.selected = false;\n });\n this.selectedOptionElement = null;\n }\n\n getSlotElements() {\n const elements = [];\n const selectable = [];\n let hasNotFound = false;\n if( this.dropdownElement ) {\n this.dropdownElement\n .querySelector('slot')\n .assignedElements()\n .forEach(item => {\n elements.push(item);\n if( item.localName === 'cura-dropdown-search-option' && item[\"selectable\"] ) selectable.push(item);\n if( item.localName === 'cura-dropdown-search-not-found' ) hasNotFound = true;\n });\n }\n this.dropdownSelectableItems = selectable;\n this.dropdownItems = elements;\n this.status = hasNotFound ? 'error' : 'default';\n }\n\n\n enterZoom() {\n this.scrollBehavior.disableScroll();\n this.setZoomHeight();\n this.zoomState = true;\n }\n\n exitZoom() {\n this.scrollBehavior.enableScroll();\n this.setZoomHeight();\n setTimeout(() => { this.zoomState = false}, 300);\n }\n\n getInputElement = () => this.host.shadowRoot?.querySelector('cura-input-text');\n\n setZoomHeight() {\n const h = window ? `${window.visualViewport?.height || window.innerHeight}px` : '100vh';\n this.styles = { ...this.styles, '--height': h };\n }\n\n getClasses() {\n return {\n \"component-container\": true,\n \"mobile\": this.isMobile,\n \"zoom\": this.zoomState,\n \"dropdown-visible\": this.isOnFocus && (this.dropdownItems.length > 0 && !this.zoomState),\n \"error\": this.status === 'error'\n }\n }\n\n _preventEvent = (ev: Event) => {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n getHostCSSProperties() {\n return {\n '--max-height': this.maxheight || '400px'\n };\n }\n\n render() {\n return (\n <Host style={ this.getHostCSSProperties() }>\n <div class={ this.getClasses() } style={ this.styles }>\n <div class=\"component-controls\">\n { this.isMobile && this.zoomState ? (\n <cura-button-transparent\n fontColor=\"dark\"\n onClick={ () => this.handleBackClick() }\n iconName=\"arrowLeft\"\n size=\"large\"\n iconOnly\n color=\"primary\"\n id=\"button-back\">\n </cura-button-transparent>\n ) : '' }\n <cura-input-text\n disabled={ this.disabled }\n label={ this.label }\n part=\"cura-input-field\"\n mode={ this.zoomState ? 'transparent' : 'default' }\n required={ this.required }\n iconName={ this.icon || 'search' }\n value={ this.value }\n status={ this.status }\n onValueChange={ (ev) => this.handleInputValueChange(ev) }\n onInput={ (ev) => this._preventEvent(ev) }\n onFocus={ () => this.handleFocus() }\n onClick={ (ev) => this._preventEvent(ev) }\n onBlur={ () => this.handleBlur() }\n onFocusout={ () => this.handleFocusout() }\n onInputClear={ (ev) => this.handleInputClear(ev) }\n placeholder={ this.placeholder }\n size={ this.size }\n onKeyDown={ (ev) => this.handleKeyDown(ev) }\n >\n <slot name=\"helperText\"></slot>\n </cura-input-text>\n </div>\n <div class=\"dropdown-container\" onMouseOver={ () => this.handleDropdownMouseOver() }>\n <slot onSlotchange={ () => this.handleSlotChange() }></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"cura-dropdown-search.js","mappings":"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","names":["CuraDropdownSearch"],"sources":["src/utils/FixedElementScrollBehavior.ts","src/components/cura-dropdown-search/cura-dropdown-search.scss?tag=cura-dropdown-search&encapsulation=shadow","src/components/cura-dropdown-search/cura-dropdown-search.tsx"],"sourcesContent":["import { addBodyScrollLockClass, removeBodyScrollLockClass } from './utils';\n\nexport class FixedElementScrollBehavior {\n\n hostElement: any;\n scrollableElement: any;\n scrollPosition: number;\n\n constructor(hostElement: any, scrollableElement: any) {\n if( !hostElement || !scrollableElement ) {\n console.error(\"Componentes host ou scrollable não foram informados corretamente ou não existem.\");\n } else {\n this.hostElement = hostElement;\n this.scrollableElement = scrollableElement;\n }\n }\n\n disableScroll() {\n this.scrollPosition = window.scrollY;\n window.scrollTo({ top: 0, behavior: 'instant' });\n addBodyScrollLockClass();\n this._addEvents();\n }\n\n enableScroll() {\n removeBodyScrollLockClass();\n window.scrollTo({ top: this.scrollPosition, behavior: 'instant' });\n this._removeEvents();\n }\n\n _addEvents() {\n this.hostElement.addEventListener('wheel', this._preventEvent, {passive: false});\n this.hostElement.addEventListener('mousewheel', this._preventEvent, {passive: false});\n this.hostElement.addEventListener('touchmove', this._preventEvent, {passive: false});\n this.hostElement.addEventListener('scroll', this._preventEvent, {passive: false});\n this.scrollableElement.addEventListener('wheel', this._stopPropagationEvent, {passive: false});\n this.scrollableElement.addEventListener('mousewheel', this._stopPropagationEvent, {passive: false});\n this.scrollableElement.addEventListener('touchmove', this._stopPropagationEvent, {passive: false});\n this.scrollableElement.addEventListener('scroll', this._stopPropagationEvent, {passive: false});\n }\n\n _removeEvents() {\n this.hostElement.removeEventListener('wheel', this._preventEvent);\n this.hostElement.removeEventListener('mousewheel', this._preventEvent);\n this.hostElement.removeEventListener('touchmove', this._preventEvent);\n this.hostElement.removeEventListener('scroll', this._preventEvent);\n this.scrollableElement.removeEventListener('wheel', this._stopPropagationEvent);\n this.scrollableElement.removeEventListener('mousewheel', this._stopPropagationEvent);\n this.scrollableElement.removeEventListener('touchmove', this._stopPropagationEvent);\n this.scrollableElement.removeEventListener('scroll', this._stopPropagationEvent);\n }\n\n _stopPropagationEvent = (e: Event) => {\n if( this.scrollableElement.scrollHeight <= this.scrollableElement.clientHeight ) {\n e.preventDefault();\n }\n e.stopPropagation();\n }\n\n _preventEvent = (ev: Event) => {\n ev.preventDefault();\n ev.stopPropagation();\n }\n}","@import '../../scss/mixins/spacing.scss';\n@import '../../scss/mixins/shadows.scss';\n\n:host {\n display: block;\n box-sizing: border-box;\n position: relative;\n\n .component-controls {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: #{$spacing-tiny};\n\n #button-back {\n padding: 0 0 0 #{$spacing-xxxs};\n width: max-content;\n }\n }\n\n .component-container {\n box-sizing: border-box;\n width: 100%;\n position: relative;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: min-content 1fr;\n\n &.zoom {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n background: var(--purewhite);\n height: var(--height);\n z-index: 9999;\n overscroll-behavior: contain;\n\n .component-controls {\n border-bottom: 2px solid var(--primary);\n padding: #{$spacing-xxxs} 0;\n }\n\n &.error .component-controls {\n border-bottom: 2px solid var(--error-dark);\n background-color: var(--error-lighter);\n }\n }\n\n .dropdown-container {\n box-sizing: border-box;\n width: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n display: flex;\n flex-direction: column;\n padding: #{$spacing-xxxs};\n overscroll-behavior: contain;\n }\n\n &:not(.zoom) {\n .dropdown-container {\n @include shadow-level3(--neutral-black-shadow);\n position: absolute;\n bottom: 0;\n left: 0;\n transform: translateY(100%);\n max-height: var(--max-height);\n background-color: var(--purewhite);\n border-radius: 0px 0px #{$spacing-tiny} #{$spacing-tiny};\n border-bottom: 2px solid var(--neutral-light);\n border-left: 2px solid var(--neutral-light);\n border-right: 2px solid var(--neutral-light);\n display: none;\n z-index: 9997;\n }\n\n &.dropdown-visible {\n ::part(cura-input-field) {\n border-radius: 4px 4px 0px 0px;\n }\n ::part(cura-input-text-helper) {\n height: 0px;\n overflow: hidden;\n margin-top: 0px;\n }\n .dropdown-container {\n display: block;\n }\n }\n }\n\n }\n\n}\n","import { Component, Host, h, Prop, Element, State, Method, Event, EventEmitter } from '@stencil/core';\nimport { checkMobile, checkIOS } from '../../utils/utils';\nimport { FixedElementScrollBehavior } from '../../utils/FixedElementScrollBehavior';\n\n@Component({\n tag: 'cura-dropdown-search',\n styleUrl: 'cura-dropdown-search.scss',\n shadow: true,\n})\nexport class CuraDropdownSearch {\n @Element() host: HTMLElement;\n /**\n * Name of the field.\n * Required.\n */\n @Prop({ reflect: true }) name!: string;\n /**\n * Size of the dropdown search component\n * Values: 'small', 'medium' or 'large' (default).\n */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' | string = 'large';\n /**\n * Define component status.\n * Values: 'error' or 'default'.\n */\n @Prop({ reflect: true, mutable: true }) status: 'error' | 'default' | string = 'default';\n /**\n * Disabled state. Default: false.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n /**\n * Field is required. Default: false.\n */\n @Prop({ reflect: true }) required: boolean = false;\n /**\n * The placeholder text.\n */\n @Prop({ reflect: true }) placeholder: string = '';\n /**\n * The label.\n */\n @Prop({ reflect: true }) label: string = '';\n /**\n * Custom icon name. Default: search.\n */\n @Prop({ reflect: true }) icon: string = 'search';\n /**\n * CSS max-height property for dropdown item.\n * Can also be used by css property --max-height.\n * Default: 400px\n */\n @Prop({ reflect: true }) maxheight: string = '400px';\n /**\n * Readonly property value.\n * Represents the term on the search input field.\n */\n @Prop({ mutable: true }) value: string = '';\n /**\n * Delay in milliseconds to dispatch search events.\n * Default: 400\n */\n @Prop({ reflect: true }) searchdelay: number = 400;\n /**\n * Min chars to dispatch search events.\n * Default: 3\n */\n @Prop({ reflect: true }) searchminchars: number = 3;\n\n /**\n * Set focus to input field.\n */\n @Method()\n async setFocus() {\n this.getInputElement().setFocus();\n }\n /**\n * Select by optionid property of a selectable option component.\n */\n @Method()\n async selectOption(optionid: string) {\n this._selectOption(optionid);\n }\n\n @Event() termchange: EventEmitter<string>;\n @Event() optionselect: EventEmitter<string>;\n\n @State() styles = {};\n @State() zoomState = false;\n @State() isOnFocus: boolean = false;\n\n scrollBehavior: FixedElementScrollBehavior;\n\n weights: any;\n breakpoints: any;\n isMobile: boolean;\n\n resizeTimeout: any;\n resizeTimeoutMs = 66;\n focusTimeout: any;\n focusTimeoutMs = 300;\n blurTimeout: any;\n blurTimeoutMs = 300;\n valueTimeout: any;\n\n dropdownElement: HTMLDivElement;\n selectedOptionElement: any;\n highlightedElement: any;\n highlightedIndex: number = -1;\n @State() dropdownItems = [];\n dropdownSelectableItems = [];\n\n connectedCallback() {\n this.weights = window.CuraAPI.theme.fonts.getWeights();\n this.breakpoints = window.CuraAPI.theme.breakpoints.get();\n this.styles['--info'] = window.CuraAPI.theme.colors.getColor('info-base');\n this.styles['--purewhite'] = window.CuraAPI.theme.colors.getColor('neutral-purewhite');\n this.styles['--neutral-light'] = window.CuraAPI.theme.colors.getColor('neutral-light');\n this.styles['--neutral-dark'] = window.CuraAPI.theme.colors.getColor('neutral-dark');\n this.styles['--neutral-black-shadow'] = window.CuraAPI.theme.colors.getColor(`neutral-black`, 0.16);\n this.styles['--error-dark'] = window.CuraAPI.theme.colors.getColor('error-dark');\n this.styles['--error-lighter'] = window.CuraAPI.theme.colors.getColor('error-lighter');\n this.styles['--primary'] = window.CuraAPI.theme.colors.getColor('primary');\n this.styles['--font-size'] = window.CuraAPI.theme.fonts.getSize();\n this.styles['--font-family'] = window.CuraAPI.theme.fonts.getFamily();\n this.styles['--font-weight-medium'] = this.weights.medium;\n window?.addEventListener('resize', this.handleWindowResize);\n window?.addEventListener('orientationchange', this.handleWindowResize);\n this.isMobile = checkMobile();\n }\n\n componentDidLoad() {\n this.dropdownElement = this.host.shadowRoot?.querySelector('.dropdown-container');\n this.host.addEventListener('actionclick', this.handleOptionActionClick);\n this.host.addEventListener('selectoption', this.handleSelectOption);\n this.scrollBehavior = new FixedElementScrollBehavior(this.host, this.dropdownElement);\n setTimeout(() => this.getSlotElements(), 10);\n }\n\n disconnectedCallback() {\n this.removeAllListeners();\n }\n\n removeAllListeners() {\n window?.removeEventListener('resize', this.handleWindowResize);\n window?.removeEventListener('orientationchange', this.handleWindowResize);\n this.host.removeEventListener('actionclick', this.handleOptionActionClick);\n this.host.removeEventListener('selectoption', this.handleSelectOption);\n }\n\n handleSlotChange = () => { this.getSlotElements(); }\n\n handleWindowResize = () => {\n if (this.resizeTimeout) clearTimeout(this.resizeTimeout);\n this.resizeTimeout = setTimeout(() => {\n this.isMobile = checkMobile();\n this.setZoomHeight();\n }, this.resizeTimeoutMs);\n }\n\n handleFocus = () => {\n if (this.focusTimeout) clearTimeout(this.focusTimeout);\n this.focusTimeout = setTimeout(() => {\n this.isOnFocus = true;\n this.clearHighlight();\n if (this.isMobile && !this.zoomState) this.enterZoom();\n if (this.zoomState) this.setZoomHeight();\n setTimeout(() => {\n this.selectedOptionElement?.scrollIntoView({behavior: 'instant', block: 'nearest', inline: 'nearest'});\n }, 10);\n }, this.focusTimeoutMs);\n }\n\n handleBlur = () => {\n if (this.blurTimeout) clearTimeout(this.blurTimeout);\n this.blurTimeout = setTimeout(() => {\n if (this.zoomState) {\n const delay = checkIOS ? 500 : 100;\n setTimeout(() => this.setZoomHeight(), delay);\n }\n this.isOnFocus = false;\n }, this.blurTimeoutMs);\n }\n\n handleFocusout = () => {\n if( this.zoomState ) this.setZoomHeight();\n }\n\n handleBackClick = () => { this.exitZoom(); }\n\n handleOptionActionClick = (ev: CustomEvent) => {\n this.getInputElement().setFocus();\n this._preventEvent(ev);\n }\n\n handleInputClear = (ev: CustomEvent) => {\n this.setValue('');\n this.clearSelectedOptions();\n this._preventEvent(ev);\n }\n\n handleSelectOption = (ev: CustomEvent) => {\n this._selectOption(ev.detail);\n this._preventEvent(ev);\n }\n\n handleInputValueChange = (ev: CustomEvent) => {\n this.setValue(ev.detail);\n if( this.selectedOptionElement && ev.detail !== this.selectedOptionElement.value) {\n this.clearSelectedOptions();\n }\n this._preventEvent(ev);\n }\n\n handleDropdownMouseOver = () => {\n if( this.highlightedElement || this.highlightedIndex >= 0 ) this.clearHighlight();\n }\n\n handleKeyDown = (ev: KeyboardEvent) => {\n if( ev.key === 'ArrowDown' ) this.moveHighlight('next');\n if( ev.key === 'ArrowUp' ) this.moveHighlight('prev');\n if( ev.key === 'Enter' ) this.selectHighlight();\n }\n\n moveHighlight(direction: 'next' | 'prev') {\n if (!this.dropdownSelectableItems.length) return;\n let position = direction === 'next' ? this.highlightedIndex + 1 : this.highlightedIndex - 1;\n if( position < 0) {\n this.clearHighlight();\n return;\n }\n const selectableItemsLastPosition = this.dropdownSelectableItems.length - 1;\n if( position > selectableItemsLastPosition ) position = selectableItemsLastPosition;\n if( this.highlightedElement ) this.highlightedElement.highlighted = false;\n this.highlightedIndex = position;\n this.highlightedElement = this.dropdownSelectableItems[position];\n if( this.highlightedElement.selected ) {\n this.moveHighlight(direction);\n return;\n }\n this.highlightedElement.highlighted = true;\n this.highlightedElement.scrollIntoView({behavior: 'instant', block: 'nearest', inline: 'nearest' });\n }\n\n clearHighlight() {\n if( this.highlightedElement ) {\n this.highlightedElement.highlighted = false;\n this.highlightedElement = null;\n }\n this.highlightedIndex = -1;\n }\n\n selectHighlight() {\n if( this.highlightedElement ) {\n this._selectOption(this.highlightedElement.optionid);\n this.clearHighlight();\n this.getInputElement().blur();\n }\n }\n\n setValue(value: string) {\n if (this.value !== value) {\n this.value = value;\n if( this.valueTimeout) clearTimeout(this.valueTimeout);\n this.valueTimeout = setTimeout(() => {\n this.termchange.emit(this.value === '' || this.value.length < this.searchminchars ? '' : this.value);\n }, this.searchdelay || 300);\n }\n }\n\n _selectOption(optionid: string) {\n if (!optionid) {\n this.clearSelectedOptions();\n this.setValue('');\n return;\n }\n const optionElement = this.dropdownSelectableItems.find(option => option.optionid === optionid);\n if( optionElement && !optionElement.selected ) {\n this.clearSelectedOptions();\n this.selectedOptionElement = optionElement;\n this.selectedOptionElement.selected = true;\n this.setValue(this.selectedOptionElement.value);\n this.optionselect.emit(this.selectedOptionElement.optionid);\n if (this.zoomState) setTimeout(() => this.exitZoom(), this.blurTimeoutMs);\n }\n }\n\n clearSelectedOptions() {\n this.dropdownSelectableItems.forEach(option => {\n if( option.selected ) option.selected = false;\n });\n this.selectedOptionElement = null;\n }\n\n getSlotElements() {\n const elements = [];\n const selectable = [];\n let hasNotFound = false;\n if( this.dropdownElement ) {\n this.dropdownElement\n .querySelector('slot')\n .assignedElements()\n .forEach(item => {\n elements.push(item);\n if( item.localName === 'cura-dropdown-search-option' && item[\"selectable\"] ) selectable.push(item);\n if( item.localName === 'cura-dropdown-search-not-found' ) hasNotFound = true;\n });\n }\n this.dropdownSelectableItems = selectable;\n this.dropdownItems = elements;\n this.status = hasNotFound ? 'error' : 'default';\n }\n\n\n enterZoom() {\n this.scrollBehavior.disableScroll();\n this.setZoomHeight();\n this.zoomState = true;\n }\n\n exitZoom() {\n this.scrollBehavior.enableScroll();\n this.setZoomHeight();\n setTimeout(() => { this.zoomState = false}, 300);\n }\n\n getInputElement = () => this.host.shadowRoot?.querySelector('cura-input-text');\n\n setZoomHeight() {\n const h = window ? `${window.visualViewport?.height || window.innerHeight}px` : '100vh';\n this.styles = { ...this.styles, '--height': h };\n }\n\n getClasses() {\n return {\n \"component-container\": true,\n \"mobile\": this.isMobile,\n \"zoom\": this.zoomState,\n \"dropdown-visible\": this.isOnFocus && (this.dropdownItems.length > 0 && !this.zoomState),\n \"error\": this.status === 'error'\n }\n }\n\n _preventEvent = (ev: Event) => {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n getHostCSSProperties() {\n return {\n '--max-height': this.maxheight || '400px'\n };\n }\n\n render() {\n return (\n <Host style={ this.getHostCSSProperties() }>\n <div class={ this.getClasses() } style={ this.styles }>\n <div class=\"component-controls\">\n { this.isMobile && this.zoomState ? (\n <cura-button-transparent\n fontColor=\"dark\"\n onClick={ () => this.handleBackClick() }\n iconName=\"arrowLeft\"\n size=\"large\"\n iconOnly\n color=\"primary\"\n id=\"button-back\">\n </cura-button-transparent>\n ) : '' }\n <cura-input-text\n disabled={ this.disabled }\n label={ this.label }\n part=\"cura-input-field\"\n mode={ this.zoomState ? 'transparent' : 'default' }\n required={ this.required }\n iconName={ this.icon || 'search' }\n value={ this.value }\n status={ this.status }\n onValueChange={ (ev) => this.handleInputValueChange(ev) }\n onInput={ (ev) => this._preventEvent(ev) }\n onFocus={ () => this.handleFocus() }\n onClick={ (ev) => this._preventEvent(ev) }\n onBlur={ () => this.handleBlur() }\n onFocusout={ () => this.handleFocusout() }\n onInputClear={ (ev) => this.handleInputClear(ev) }\n placeholder={ this.placeholder }\n size={ this.size }\n onKeyDown={ (ev) => this.handleKeyDown(ev) }\n >\n <slot name=\"helperText\"></slot>\n </cura-input-text>\n </div>\n <div class=\"dropdown-container\" onMouseOver={ () => this.handleDropdownMouseOver() }>\n <slot onSlotchange={ () => this.handleSlotChange() }></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -77,6 +77,12 @@ const CuraSelect = /*@__PURE__*/ proxyCustomElement(class CuraSelect extends HTM
77
77
  return this.onOptiselected(event);
78
78
  this.isOpen = !this.isOpen;
79
79
  };
80
+ this.handleClickOutside = (event) => {
81
+ const clickedOutside = !this.host.contains(event.target);
82
+ if (clickedOutside) {
83
+ this.isOpen = false;
84
+ }
85
+ };
80
86
  this.label = '';
81
87
  this.placeholder = '';
82
88
  this.value = '';
@@ -163,6 +169,7 @@ const CuraSelect = /*@__PURE__*/ proxyCustomElement(class CuraSelect extends HTM
163
169
  */
164
170
  componentDidLoad() {
165
171
  this.setupMutationObserver();
172
+ this.addOutsideClickListener();
166
173
  }
167
174
  /**
168
175
  * Lifecycle method called when the component is connected to the DOM.
@@ -178,6 +185,7 @@ const CuraSelect = /*@__PURE__*/ proxyCustomElement(class CuraSelect extends HTM
178
185
  disconnectedCallback() {
179
186
  var _a;
180
187
  (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
188
+ this.removeOutsideClickListener();
181
189
  }
182
190
  initializeOptions() {
183
191
  var _a;
@@ -301,14 +309,20 @@ const CuraSelect = /*@__PURE__*/ proxyCustomElement(class CuraSelect extends HTM
301
309
  const icon = { default: this.iconName, success: 'checkCircle', error: 'alertCircle' }[this.status];
302
310
  return h("cura-icon", { class: "feedback-icon", name: icon, iconset: "default", size: this.size === 'large' ? 20 : 16, color: this.getColor('icon'), style: this.styles });
303
311
  }
312
+ addOutsideClickListener() {
313
+ document.addEventListener('click', this.handleClickOutside);
314
+ }
315
+ removeOutsideClickListener() {
316
+ document.removeEventListener('click', this.handleClickOutside);
317
+ }
304
318
  render() {
305
- return (h(Host, { key: 'd3f5e8b4c914f900a0b5472531fd0d74f6d8f7b3', style: this.styles }, h("div", { key: '20dfeb3b9a24eec62ff8c5eae761b43fdfe4d11f', class: this.getClasses(), onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), onClick: this.handleClick }, this.label && (h("cura-label", { key: '2018bf563e3a2bedc7d918f566805b70a75b9aec', class: "label", weight: "bold", size: this.size === 'large' ? 'small' : 'xsmall', color: this.getColor('label') }, this.label, " ", this.required && h("span", { key: '0e9495c89ac0897062d247f89d3c3b3f85541283', class: "required" }, "* "))), h("div", { key: 'e967796b98e74112d0f36e22d2b82591645416ab', class: {
319
+ return (h(Host, { key: '21289e8335a2dab29d78e1f6b689734a68c51f9a', style: this.styles }, h("div", { key: 'c9ff2b904c184f175fe8c354f38f79e9af613e55', class: this.getClasses(), onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), onClick: this.handleClick }, this.label && (h("cura-label", { key: 'ddd53f876c004b0da13cd5d418f33fc36b1d3fb5', class: "label", weight: "bold", size: this.size === 'large' ? 'small' : 'xsmall', color: this.getColor('label') }, this.label, " ", this.required && h("span", { key: 'c884cddfc967c5a9237f745fc14bef84a17403b7', class: "required" }, "* "))), h("div", { key: 'b97ff9564365911abe82914b120276755621e654', class: {
306
320
  'cura-input-field': true,
307
321
  'open': this.isOpen,
308
- } }, this.renderIcon(), h("input", { key: 'dbf6bbb693f9d395bebd7ee376c4e38753e25fa3', type: "text", autocomplete: "off", onFocus: () => (this.isFocused = true), onBlur: () => (this.isFocused = false), onKeyDown: this.handleKeyNavigation, "aria-required": String(this.required), "aria-disabled": String(this.disabled), "aria-invalid": String(this.status === 'error'), onInput: this.handleInputChange, style: this.styles, placeholder: this.placeholder, disabled: this.disabled, required: this.required, value: this.textInput, readonly: this.searchBehavior ? null : true }), h("button", { key: 'f03d55a13bc8c51d63a31f57f6d661453ee8c93b', class: "up-down-button" }, h("cura-icon", { key: 'c6c583d2d54063e5cfe0576f69d83b9125407157', name: this.isOpen ? 'up' : 'down', class: "up-down-icon", color: this.disabled ? 'neutral-dark' : 'primary-base', size: 16, iconset: "default" }))), h("cura-label", { key: '8457e91bcb1c1152dd263346434f79d994a77817', class: "helper-text", size: "xsmall", color: this.getColor('text'), weight: this.mode === 'transparent' ? 'bold' : 'regular' }, h("slot", { key: 'c4850de138a69d39bfd74942c7ca814b6c525c07' })), this.isOpen && (h("div", { key: '8fdbde63603a7a33fac2836b5e9f0041395d6f9a', class: {
322
+ } }, this.renderIcon(), h("input", { key: 'dc25c38fea06923ddeee5eff05dbcc380b72a1ba', type: "text", autocomplete: "off", onFocus: () => (this.isFocused = true), onBlur: () => (this.isFocused = false), onKeyDown: this.handleKeyNavigation, "aria-required": String(this.required), "aria-disabled": String(this.disabled), "aria-invalid": String(this.status === 'error'), onInput: this.handleInputChange, style: this.styles, placeholder: this.placeholder, disabled: this.disabled, required: this.required, value: this.textInput, readonly: this.searchBehavior ? null : true }), h("button", { key: 'fef9e0aa81875cc558d7732c45da93043e4f6ef4', class: "up-down-button" }, h("cura-icon", { key: '79200899e32a5ac4b4759e0589c1faddced68103', name: this.isOpen ? 'up' : 'down', class: "up-down-icon", color: this.disabled ? 'neutral-dark' : 'primary-base', size: 16, iconset: "default" }))), h("cura-label", { key: '8d46fa4bc5f61d7fb8e84a0626d4f79e6687ff9f', class: "helper-text", size: "xsmall", color: this.getColor('text'), weight: this.mode === 'transparent' ? 'bold' : 'regular' }, h("slot", { key: '9a42d25acea3e8320e6639545c5a550192224824' })), this.isOpen && (h("div", { key: '657fc9d3fc88f946dfd33fc85b2c1b8f074231ad', class: {
309
323
  menu: true,
310
324
  open: this.isOpen,
311
- } }, h("slot", { key: '2267652be709728cddf39d5b4df6c99e4a75e072', name: "option" }))))));
325
+ } }, h("slot", { key: '6e18ba370c1eaef8b2cae03405bc1dc716633ec5', name: "option" }))))));
312
326
  }
313
327
  static get formAssociated() { return true; }
314
328
  get host() { return this; }
@@ -1 +1 @@
1
- {"file":"cura-select2.js","mappings":"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","names":[],"sources":["src/components/forms/cura-select/cura-select.scss?tag=cura-select&encapsulation=shadow","src/components/forms/cura-select/cura-select.tsx"],"sourcesContent":["@import '../../../scss/mixins/forms.scss';\n\n:host {\n display: block;\n position: relative;\n font-family: var(--font-family);\n}\n\n.wrapper {\n width: 100%;\n user-select: none;\n text-align: left !important;\n\n @include cura-label();\n @include helper-text();\n\n @include cura-input-field() {\n .up-down-icon {\n order: 3;\n padding-right: 9px;\n cursor: pointer;\n pointer-events: all;\n }\n\n .up-down-button {\n background-color: transparent;\n border: none;\n }\n\n input {\n padding: 0px 12px 0px 8px;\n cursor: pointer;\n }\n\n &.open {\n border-radius: 4px 4px 0 0 !important;\n }\n }\n\n @include cura-input-transparent();\n\n @include cura-forms-hover();\n @include cura-forms-focused();\n\n @include cura-forms-success();\n @include cura-forms-error();\n\n @include cura-forms-small() {\n &.label {\n .menu {\n top: 53px;\n }\n }\n .menu {\n top: 33px;\n }\n }\n\n @include cura-forms-medium() {\n &.label {\n .menu {\n top: 61px;\n }\n }\n .menu {\n top: 40px;\n }\n }\n\n @include cura-forms-large() {\n &.label {\n .menu {\n top: 69px;\n }\n }\n .menu {\n top: 47px;\n }\n }\n\n @include cura-forms-disabled();\n}\n\n.required {\n color: red;\n}\n\n.menu {\n position: absolute;\n left: 0;\n right: -1px;\n background: #fff;\n border: 2px solid var(--neutral-light);\n border-radius: 4px;\n z-index: 1000;\n max-height: 285px;\n overflow: hidden;\n border-top: transparent;\n align-items: center;\n\n scrollbar-color: var(--neutral-medium) var(--neutral-black-20);\n overflow-y: auto;\n box-shadow: 0px 4px 8px 0px rgba(38, 38, 38, 0.16);\n\n &.open {\n border-radius: 0 !important;\n }\n}\n","import { Component, Element, Host, Prop, State, h, Event, EventEmitter, AttachInternals, Watch } from '@stencil/core';\n\n@Component({\n tag: 'cura-select',\n styleUrl: 'cura-select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class CuraSelect {\n /**\n * The label text for the select component.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) label: string = '';\n\n /**\n * Placeholder text for the input field.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) placeholder: string = '';\n\n /**\n * Current value of the select component.\n * Reflects as an attribute in the DOM and is mutable.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Display mode of the select component.\n * Can be 'default' or 'transparent'.\n */\n @Prop({ reflect: true }) mode: 'default' | 'transparent' = 'default';\n\n /**\n * Size of the select component.\n * Can be 'small', 'medium', or 'large'.\n */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n @Prop() iconName?: string\n\n /**\n * Status of the select component.\n * Can be 'success', 'error', or 'default'.\n */\n @Prop({ reflect: true, mutable: true }) status: 'success' | 'error' | 'default' = 'default';\n\n /**\n * Whether the select component is disabled.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Whether the select component is required.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Enable / Disable search at options by term.\n * Default: false\n */\n @Prop({ reflect: true }) searchBehavior: boolean = false;\n\n /**\n * The search will be sensitive to accents.\n * Default: true\n */\n @Prop({ reflect: true }) caseSensitive: boolean = true;\n\n /**\n * Internal state: Whether the input is hovered.\n * Default: false\n */\n @State() isHovered: boolean = false;\n\n /**\n * Internal state: Whether the input is focused.\n * Default: false\n */\n @State() isFocused: boolean = false;\n\n /**\n * Internal state: Whether the dropdown menu is open.\n * Default: false\n */\n @State() isOpen: boolean = false;\n\n /**\n * Internal state: Collection of options for the select component.\n */\n @State() options: NodeListOf<HTMLCuraSelectOptionElement>;\n\n @State() activeIndex = -1;\n\n @Watch('activeIndex')\n updateOptionHighlights(newActiveINdex: number) {\n this.options.forEach((option, index) => ((option as any).active = index === newActiveINdex));\n }\n\n @State() textInput = '';\n\n @Watch('textInput')\n /**\n * Filters the options based on the current input value.\n */\n filterOptions(newText) {\n this.searchTermInput.emit(newText);\n\n if (!this.isOpen || !this.searchBehavior) {\n return;\n }\n\n const removeAccents = (str: string) => {\n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n };\n\n let searchTerm = newText;\n if (!this.caseSensitive) {\n searchTerm = removeAccents(searchTerm).toLocaleLowerCase();\n }\n\n this.options.forEach(option => {\n let optionValue = option.textContent || '';\n if (!this.caseSensitive) {\n optionValue = removeAccents(optionValue?.toLowerCase());\n }\n const isVisible = optionValue.includes(searchTerm);\n option.style.display = isVisible ? 'block' : 'none';\n });\n }\n\n /**\n * Reference to the host element of the component.\n */\n @Element() host: HTMLElement;\n\n /**\n * Event emitted when an option is selected.\n */\n @Event() selected: EventEmitter;\n\n /**\n * Event emitted when an option is searched.\n */\n @Event() searchTermInput: EventEmitter;\n\n /**\n * MutationObserver to watch changes in the component.\n */\n mutationObserver: MutationObserver;\n\n /**\n * Styles to be applied to the component.\n */\n styles = {};\n\n /**\n * Theme object containing font and color information.\n */\n theme = window.CuraAPI.theme;\n\n @AttachInternals() internals: ElementInternals;\n\n /**\n * Callback for form association.\n */\n formAssociatedCallback(form: { ariaLabel: string }) {\n form.ariaLabel = this.label;\n }\n\n /**\n * Callback to restore the switch state from the form.\n */\n formStateRestoreCallback(state: { value: string }) {\n this.textInput = state.value;\n this.updateSelectedOption();\n }\n\n /**\n * Callback to reset the switch state when the form is reset.\n */\n formResetCallback() {\n this.textInput = '';\n this.clearSelectedAttributes();\n this.internals.setFormValue('');\n this.internals.setValidity({});\n }\n\n /**\n * Callback to update the switch's disabled state when the form's disabled state changes.\n */\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n /**\n * Lifecycle method called before the component is rendered.\n * Initializes the options for the select component.\n */\n componentWillLoad() {\n this.initializeOptions();\n }\n /**\n * Lifecycle method called after the component is rendered.\n * Initializes select-related functionality.\n */\n componentDidLoad() {\n this.setupMutationObserver();\n }\n /**\n * Lifecycle method called when the component is connected to the DOM.\n * Applies styles based on the theme.\n */\n connectedCallback() {\n this.applyStyles();\n }\n /**\n * Lifecycle method called when the component is disconnected from the DOM.\n * Disconnects the MutationObserver if it exists.\n */\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n }\n\n initializeOptions() {\n this.options = this.host.querySelectorAll<HTMLCuraSelectOptionElement>('cura-select-option');\n this.options.forEach(option => {\n option.setAttribute('size', this.size);\n\n const isSelected = this.value === option.value;\n option.setAttribute('selected', JSON.stringify(isSelected));\n\n if (isSelected) {\n this.value = option.value;\n this.internals.setFormValue(option.value);\n }\n });\n\n this.textInput = Array.from(this.options).find(option => option.value === this.value)?.textContent || this.textInput;\n }\n /**\n * Applies styles to the component based on the theme.\n */\n applyStyles() {\n const { fonts, colors } = this.theme;\n const fontWeights = fonts.getWeights();\n\n this.styles = {\n ...this.styles,\n '--font-weight-medium': fontWeights.medium,\n '--font-weight-bold': fontWeights.bold,\n '--font-weight-regular': fontWeights.regular,\n '--font-color': fonts.getColor(),\n '--font-family': fonts.getFamily(),\n '--font-size': fonts.getSize(),\n };\n\n const colorKeys = [\n 'primary-base',\n 'neutral-purewhite',\n 'neutral-white',\n 'neutral-black',\n 'neutral-medium',\n 'neutral-light',\n 'neutral-base',\n 'neutral-dark',\n 'success-dark',\n 'success-darker',\n 'success-lighter',\n 'error-lighter',\n 'error-dark',\n 'error-darker',\n 'error-base',\n 'info-base',\n ];\n\n colorKeys.forEach(key => {\n this.styles[`--${key}`] = colors.getColor(key);\n });\n }\n /**\n * Sets up a MutationObserver to watch for changes in the component.\n */\n setupMutationObserver() {\n this.mutationObserver = new MutationObserver(this.handleMutations);\n this.mutationObserver.observe(this.host, { attributes: true, subtree: true, attributeFilter: ['selected', 'value'] });\n }\n /**\n * Handles mutations observed by the MutationObserver.\n * Updates the selected option or filters options based on the mutation type.\n */\n handleMutations = (mutations: MutationRecord[]) => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n if (mutation.attributeName === 'selected') this.updateSelectedOption();\n }\n });\n };\n /**\n * Handles the selection of an option.\n */\n onOptiselected = (event: Event) => {\n const selectedOption = event.target as HTMLElement;\n this.clearSelectedAttributes();\n selectedOption.setAttribute('selected', 'true');\n };\n\n @Watch('value')\n handleValueChange(newValue: string) {\n this.clearSelectedAttributes();\n\n const selectedOption = this.host.querySelector(`cura-select-option[value=\"${newValue}\"]`);\n\n if (!selectedOption) {\n return;\n }\n\n selectedOption.setAttribute('selected', 'true');\n }\n\n updateSelectedOption() {\n const selectedOptionElement = this.host.querySelector<HTMLCuraSelectOptionElement>('cura-select-option[selected]');\n\n if (!selectedOptionElement) {\n return;\n }\n\n this.value = selectedOptionElement.value;\n this.internals.setFormValue(this.value);\n\n if (this.textInput !== selectedOptionElement.textContent) {\n this.textInput = selectedOptionElement.textContent;\n this.isOpen = false;\n this.selected.emit(selectedOptionElement.value);\n }\n }\n\n /**\n * Clears the 'selected' attribute from all options.\n */\n clearSelectedAttributes() {\n this.options.forEach(option => option.removeAttribute('selected'));\n }\n\n handleKeyNavigation = (event: KeyboardEvent) => {\n const { code: keyCode } = event;\n\n if (!this.isOpen && keyCode === 'ArrowDown') {\n this.isOpen = true;\n this.activeIndex = 0;\n\n return;\n }\n\n if (keyCode === 'ArrowDown') {\n event.preventDefault();\n this.updateActiveIndex(1);\n }\n\n if (keyCode === 'ArrowUp') {\n event.preventDefault();\n this.updateActiveIndex(-1);\n }\n\n if (keyCode === 'Enter' || keyCode === 'Space') {\n this.options[this.activeIndex]?.click();\n }\n\n if (keyCode === 'Escape') {\n this.isOpen = false;\n }\n };\n\n updateActiveIndex(direction: number) {\n if (this.options.length === 0) return;\n this.activeIndex = (this.activeIndex + direction + this.options.length) % this.options.length;\n }\n\n handleInputChange = (e: Event) => {\n this.textInput = (e.target as HTMLInputElement).value;\n this.isOpen = this.textInput.length > 0;\n this.internals.setFormValue(this.textInput);\n };\n\n getClasses() {\n return {\n wrapper: true,\n label: !!this.label,\n disabled: this.disabled,\n transparent: this.mode === 'transparent',\n [this.size.toLowerCase()]: true,\n [this.status.toLowerCase()]: true,\n };\n }\n\n /**\n * Determines the color based on the item type and component state.\n */\n getColor(item: 'label' | 'text' | 'icon') {\n if (this.disabled) return 'neutral-medium';\n\n const isStatusDefault = this.status === 'default';\n const isHoveredOrFocused = this.isFocused || this.isHovered;\n\n if (item === 'label') {\n if (!isStatusDefault || isHoveredOrFocused) return 'neutral-black';\n return 'neutral-dark';\n }\n\n if (isHoveredOrFocused && isStatusDefault) return 'neutral-black';\n if (this.status === 'success') return 'success-dark';\n if (this.status === 'error') return 'error-dark';\n\n return 'neutral-dark';\n }\n\n /**\n * Renders the icon based on the component's status.\n */\n renderIcon() {\n if (this.status === 'default' && !this.iconName) return null;\n const icon = { default: this.iconName, success: 'checkCircle', error: 'alertCircle' }[this.status];\n return <cura-icon class=\"feedback-icon\" name={icon} iconset=\"default\" size={this.size === 'large' ? 20 : 16} color={this.getColor('icon')} style={this.styles} />;\n }\n\n handleClick = (event: MouseEvent) => {\n if (this.disabled) return event.preventDefault();\n const target = event.target as HTMLElement;\n\n if (target.tagName === 'CURA-SELECT-OPTION') return this.onOptiselected(event);\n this.isOpen = !this.isOpen;\n };\n\n render() {\n return (\n <Host style={this.styles}>\n <div class={this.getClasses()} onMouseEnter={() => (this.isHovered = true)} onMouseLeave={() => (this.isHovered = false)} onClick={this.handleClick}>\n {this.label && (\n <cura-label class=\"label\" weight=\"bold\" size={this.size === 'large' ? 'small' : 'xsmall'} color={this.getColor('label')}>\n {this.label} {this.required && <span class=\"required\">* </span>}\n </cura-label>\n )}\n\n <div\n class={{\n 'cura-input-field': true,\n 'open': this.isOpen,\n }}\n >\n {this.renderIcon()}\n <input\n type=\"text\"\n autocomplete=\"off\"\n onFocus={() => (this.isFocused = true)}\n onBlur={() => (this.isFocused = false)}\n onKeyDown={this.handleKeyNavigation}\n aria-required={String(this.required)}\n aria-disabled={String(this.disabled)}\n aria-invalid={String(this.status === 'error')}\n onInput={this.handleInputChange}\n style={this.styles}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n value={this.textInput}\n readonly={this.searchBehavior ? null : true}\n />\n <button class=\"up-down-button\">\n <cura-icon name={this.isOpen ? 'up' : 'down'} class=\"up-down-icon\" color={this.disabled ? 'neutral-dark' : 'primary-base'} size={16} iconset=\"default\" />\n </button>\n </div>\n <cura-label class=\"helper-text\" size=\"xsmall\" color={this.getColor('text')} weight={this.mode === 'transparent' ? 'bold' : 'regular'}>\n <slot></slot>\n </cura-label>\n {this.isOpen && (\n <div\n class={{\n menu: true,\n open: this.isOpen,\n }}\n >\n <slot name=\"option\"></slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"cura-select2.js","mappings":"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","names":[],"sources":["src/components/forms/cura-select/cura-select.scss?tag=cura-select&encapsulation=shadow","src/components/forms/cura-select/cura-select.tsx"],"sourcesContent":["@import '../../../scss/mixins/forms.scss';\n\n:host {\n display: block;\n position: relative;\n font-family: var(--font-family);\n}\n\n.wrapper {\n width: 100%;\n user-select: none;\n text-align: left !important;\n\n @include cura-label();\n @include helper-text();\n\n @include cura-input-field() {\n .up-down-icon {\n order: 3;\n padding-right: 9px;\n cursor: pointer;\n pointer-events: all;\n }\n\n .up-down-button {\n background-color: transparent;\n border: none;\n }\n\n input {\n padding: 0px 12px 0px 8px;\n cursor: pointer;\n }\n\n &.open {\n border-radius: 4px 4px 0 0 !important;\n }\n }\n\n @include cura-input-transparent();\n\n @include cura-forms-hover();\n @include cura-forms-focused();\n\n @include cura-forms-success();\n @include cura-forms-error();\n\n @include cura-forms-small() {\n &.label {\n .menu {\n top: 53px;\n }\n }\n .menu {\n top: 33px;\n }\n }\n\n @include cura-forms-medium() {\n &.label {\n .menu {\n top: 61px;\n }\n }\n .menu {\n top: 40px;\n }\n }\n\n @include cura-forms-large() {\n &.label {\n .menu {\n top: 69px;\n }\n }\n .menu {\n top: 47px;\n }\n }\n\n @include cura-forms-disabled();\n}\n\n.required {\n color: red;\n}\n\n.menu {\n position: absolute;\n left: 0;\n right: -1px;\n background: #fff;\n border: 2px solid var(--neutral-light);\n border-radius: 4px;\n z-index: 1000;\n max-height: 285px;\n overflow: hidden;\n border-top: transparent;\n align-items: center;\n\n scrollbar-color: var(--neutral-medium) var(--neutral-black-20);\n overflow-y: auto;\n box-shadow: 0px 4px 8px 0px rgba(38, 38, 38, 0.16);\n\n &.open {\n border-radius: 0 !important;\n }\n}\n","import { Component, Element, Host, Prop, State, h, Event, EventEmitter, AttachInternals, Watch } from '@stencil/core';\n\n@Component({\n tag: 'cura-select',\n styleUrl: 'cura-select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class CuraSelect {\n /**\n * The label text for the select component.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) label: string = '';\n\n /**\n * Placeholder text for the input field.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) placeholder: string = '';\n\n /**\n * Current value of the select component.\n * Reflects as an attribute in the DOM and is mutable.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Display mode of the select component.\n * Can be 'default' or 'transparent'.\n */\n @Prop({ reflect: true }) mode: 'default' | 'transparent' = 'default';\n\n /**\n * Size of the select component.\n * Can be 'small', 'medium', or 'large'.\n */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n @Prop() iconName?: string;\n\n /**\n * Status of the select component.\n * Can be 'success', 'error', or 'default'.\n */\n @Prop({ reflect: true, mutable: true }) status: 'success' | 'error' | 'default' = 'default';\n\n /**\n * Whether the select component is disabled.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Whether the select component is required.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Enable / Disable search at options by term.\n * Default: false\n */\n @Prop({ reflect: true }) searchBehavior: boolean = false;\n\n /**\n * The search will be sensitive to accents.\n * Default: true\n */\n @Prop({ reflect: true }) caseSensitive: boolean = true;\n\n /**\n * Internal state: Whether the input is hovered.\n * Default: false\n */\n @State() isHovered: boolean = false;\n\n /**\n * Internal state: Whether the input is focused.\n * Default: false\n */\n @State() isFocused: boolean = false;\n\n /**\n * Internal state: Whether the dropdown menu is open.\n * Default: false\n */\n @State() isOpen: boolean = false;\n\n /**\n * Internal state: Collection of options for the select component.\n */\n @State() options: NodeListOf<HTMLCuraSelectOptionElement>;\n\n @State() activeIndex = -1;\n\n @Watch('activeIndex')\n updateOptionHighlights(newActiveINdex: number) {\n this.options.forEach((option, index) => ((option as any).active = index === newActiveINdex));\n }\n\n @State() textInput = '';\n\n @Watch('textInput')\n /**\n * Filters the options based on the current input value.\n */\n filterOptions(newText) {\n this.searchTermInput.emit(newText);\n\n if (!this.isOpen || !this.searchBehavior) {\n return;\n }\n\n const removeAccents = (str: string) => {\n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n };\n\n let searchTerm = newText;\n if (!this.caseSensitive) {\n searchTerm = removeAccents(searchTerm).toLocaleLowerCase();\n }\n\n this.options.forEach(option => {\n let optionValue = option.textContent || '';\n if (!this.caseSensitive) {\n optionValue = removeAccents(optionValue?.toLowerCase());\n }\n const isVisible = optionValue.includes(searchTerm);\n option.style.display = isVisible ? 'block' : 'none';\n });\n }\n\n /**\n * Reference to the host element of the component.\n */\n @Element() host: HTMLElement;\n\n /**\n * Event emitted when an option is selected.\n */\n @Event() selected: EventEmitter;\n\n /**\n * Event emitted when an option is searched.\n */\n @Event() searchTermInput: EventEmitter;\n\n /**\n * MutationObserver to watch changes in the component.\n */\n mutationObserver: MutationObserver;\n\n /**\n * Styles to be applied to the component.\n */\n styles = {};\n\n /**\n * Theme object containing font and color information.\n */\n theme = window.CuraAPI.theme;\n\n @AttachInternals() internals: ElementInternals;\n\n /**\n * Callback for form association.\n */\n formAssociatedCallback(form: { ariaLabel: string }) {\n form.ariaLabel = this.label;\n }\n\n /**\n * Callback to restore the switch state from the form.\n */\n formStateRestoreCallback(state: { value: string }) {\n this.textInput = state.value;\n this.updateSelectedOption();\n }\n\n /**\n * Callback to reset the switch state when the form is reset.\n */\n formResetCallback() {\n this.textInput = '';\n this.clearSelectedAttributes();\n this.internals.setFormValue('');\n this.internals.setValidity({});\n }\n\n /**\n * Callback to update the switch's disabled state when the form's disabled state changes.\n */\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n /**\n * Lifecycle method called before the component is rendered.\n * Initializes the options for the select component.\n */\n componentWillLoad() {\n this.initializeOptions();\n }\n /**\n * Lifecycle method called after the component is rendered.\n * Initializes select-related functionality.\n */\n componentDidLoad() {\n this.setupMutationObserver();\n this.addOutsideClickListener();\n }\n /**\n * Lifecycle method called when the component is connected to the DOM.\n * Applies styles based on the theme.\n */\n connectedCallback() {\n this.applyStyles();\n }\n /**\n * Lifecycle method called when the component is disconnected from the DOM.\n * Disconnects the MutationObserver if it exists.\n */\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.removeOutsideClickListener();\n }\n\n initializeOptions() {\n this.options = this.host.querySelectorAll<HTMLCuraSelectOptionElement>('cura-select-option');\n this.options.forEach(option => {\n option.setAttribute('size', this.size);\n\n const isSelected = this.value === option.value;\n option.setAttribute('selected', JSON.stringify(isSelected));\n\n if (isSelected) {\n this.value = option.value;\n this.internals.setFormValue(option.value);\n }\n });\n\n this.textInput = Array.from(this.options).find(option => option.value === this.value)?.textContent || this.textInput;\n }\n /**\n * Applies styles to the component based on the theme.\n */\n applyStyles() {\n const { fonts, colors } = this.theme;\n const fontWeights = fonts.getWeights();\n\n this.styles = {\n ...this.styles,\n '--font-weight-medium': fontWeights.medium,\n '--font-weight-bold': fontWeights.bold,\n '--font-weight-regular': fontWeights.regular,\n '--font-color': fonts.getColor(),\n '--font-family': fonts.getFamily(),\n '--font-size': fonts.getSize(),\n };\n\n const colorKeys = [\n 'primary-base',\n 'neutral-purewhite',\n 'neutral-white',\n 'neutral-black',\n 'neutral-medium',\n 'neutral-light',\n 'neutral-base',\n 'neutral-dark',\n 'success-dark',\n 'success-darker',\n 'success-lighter',\n 'error-lighter',\n 'error-dark',\n 'error-darker',\n 'error-base',\n 'info-base',\n ];\n\n colorKeys.forEach(key => {\n this.styles[`--${key}`] = colors.getColor(key);\n });\n }\n /**\n * Sets up a MutationObserver to watch for changes in the component.\n */\n setupMutationObserver() {\n this.mutationObserver = new MutationObserver(this.handleMutations);\n this.mutationObserver.observe(this.host, { attributes: true, subtree: true, attributeFilter: ['selected', 'value'] });\n }\n /**\n * Handles mutations observed by the MutationObserver.\n * Updates the selected option or filters options based on the mutation type.\n */\n handleMutations = (mutations: MutationRecord[]) => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n if (mutation.attributeName === 'selected') this.updateSelectedOption();\n }\n });\n };\n /**\n * Handles the selection of an option.\n */\n onOptiselected = (event: Event) => {\n const selectedOption = event.target as HTMLElement;\n this.clearSelectedAttributes();\n selectedOption.setAttribute('selected', 'true');\n };\n\n @Watch('value')\n handleValueChange(newValue: string) {\n this.clearSelectedAttributes();\n\n const selectedOption = this.host.querySelector(`cura-select-option[value=\"${newValue}\"]`);\n\n if (!selectedOption) {\n return;\n }\n\n selectedOption.setAttribute('selected', 'true');\n }\n\n updateSelectedOption() {\n const selectedOptionElement = this.host.querySelector<HTMLCuraSelectOptionElement>('cura-select-option[selected]');\n\n if (!selectedOptionElement) {\n return;\n }\n\n this.value = selectedOptionElement.value;\n this.internals.setFormValue(this.value);\n\n if (this.textInput !== selectedOptionElement.textContent) {\n this.textInput = selectedOptionElement.textContent;\n this.isOpen = false;\n this.selected.emit(selectedOptionElement.value);\n }\n }\n\n /**\n * Clears the 'selected' attribute from all options.\n */\n clearSelectedAttributes() {\n this.options.forEach(option => option.removeAttribute('selected'));\n }\n\n handleKeyNavigation = (event: KeyboardEvent) => {\n const { code: keyCode } = event;\n\n if (!this.isOpen && keyCode === 'ArrowDown') {\n this.isOpen = true;\n this.activeIndex = 0;\n\n return;\n }\n\n if (keyCode === 'ArrowDown') {\n event.preventDefault();\n this.updateActiveIndex(1);\n }\n\n if (keyCode === 'ArrowUp') {\n event.preventDefault();\n this.updateActiveIndex(-1);\n }\n\n if (keyCode === 'Enter' || keyCode === 'Space') {\n this.options[this.activeIndex]?.click();\n }\n\n if (keyCode === 'Escape') {\n this.isOpen = false;\n }\n };\n\n updateActiveIndex(direction: number) {\n if (this.options.length === 0) return;\n this.activeIndex = (this.activeIndex + direction + this.options.length) % this.options.length;\n }\n\n handleInputChange = (e: Event) => {\n this.textInput = (e.target as HTMLInputElement).value;\n this.isOpen = this.textInput.length > 0;\n this.internals.setFormValue(this.textInput);\n };\n\n getClasses() {\n return {\n wrapper: true,\n label: !!this.label,\n disabled: this.disabled,\n transparent: this.mode === 'transparent',\n [this.size.toLowerCase()]: true,\n [this.status.toLowerCase()]: true,\n };\n }\n\n /**\n * Determines the color based on the item type and component state.\n */\n getColor(item: 'label' | 'text' | 'icon') {\n if (this.disabled) return 'neutral-medium';\n\n const isStatusDefault = this.status === 'default';\n const isHoveredOrFocused = this.isFocused || this.isHovered;\n\n if (item === 'label') {\n if (!isStatusDefault || isHoveredOrFocused) return 'neutral-black';\n return 'neutral-dark';\n }\n\n if (isHoveredOrFocused && isStatusDefault) return 'neutral-black';\n if (this.status === 'success') return 'success-dark';\n if (this.status === 'error') return 'error-dark';\n\n return 'neutral-dark';\n }\n\n /**\n * Renders the icon based on the component's status.\n */\n renderIcon() {\n if (this.status === 'default' && !this.iconName) return null;\n const icon = { default: this.iconName, success: 'checkCircle', error: 'alertCircle' }[this.status];\n return <cura-icon class=\"feedback-icon\" name={icon} iconset=\"default\" size={this.size === 'large' ? 20 : 16} color={this.getColor('icon')} style={this.styles} />;\n }\n\n handleClick = (event: MouseEvent) => {\n if (this.disabled) return event.preventDefault();\n const target = event.target as HTMLElement;\n\n if (target.tagName === 'CURA-SELECT-OPTION') return this.onOptiselected(event);\n this.isOpen = !this.isOpen;\n };\n\n handleClickOutside = (event: MouseEvent) => {\n const clickedOutside = !this.host.contains(event.target as Node);\n if (clickedOutside) {\n this.isOpen = false;\n }\n };\n\n private addOutsideClickListener() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n private removeOutsideClickListener() {\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n render() {\n return (\n <Host style={this.styles}>\n <div class={this.getClasses()} onMouseEnter={() => (this.isHovered = true)} onMouseLeave={() => (this.isHovered = false)} onClick={this.handleClick}>\n {this.label && (\n <cura-label class=\"label\" weight=\"bold\" size={this.size === 'large' ? 'small' : 'xsmall'} color={this.getColor('label')}>\n {this.label} {this.required && <span class=\"required\">* </span>}\n </cura-label>\n )}\n\n <div\n class={{\n 'cura-input-field': true,\n 'open': this.isOpen,\n }}\n >\n {this.renderIcon()}\n <input\n type=\"text\"\n autocomplete=\"off\"\n onFocus={() => (this.isFocused = true)}\n onBlur={() => (this.isFocused = false)}\n onKeyDown={this.handleKeyNavigation}\n aria-required={String(this.required)}\n aria-disabled={String(this.disabled)}\n aria-invalid={String(this.status === 'error')}\n onInput={this.handleInputChange}\n style={this.styles}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n value={this.textInput}\n readonly={this.searchBehavior ? null : true}\n />\n <button class=\"up-down-button\">\n <cura-icon name={this.isOpen ? 'up' : 'down'} class=\"up-down-icon\" color={this.disabled ? 'neutral-dark' : 'primary-base'} size={16} iconset=\"default\" />\n </button>\n </div>\n <cura-label class=\"helper-text\" size=\"xsmall\" color={this.getColor('text')} weight={this.mode === 'transparent' ? 'bold' : 'regular'}>\n <slot></slot>\n </cura-label>\n {this.isOpen && (\n <div\n class={{\n menu: true,\n open: this.isOpen,\n }}\n >\n <slot name=\"option\"></slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,2 +1,2 @@
1
- import{p as e,b as o}from"./p-4ee8efca.js";export{s as setNonce}from"./p-4ee8efca.js";import{g as l}from"./p-daf9feac.js";import"./p-ec4996c2.js";import"./p-1b201271.js";var a=()=>{const o=import.meta.url;const l={};if(o!==""){l.resourcesUrl=new URL(".",o).href}return e(l)};a().then((async e=>{await l();return o(JSON.parse('[["p-5b928e46",[[1,"cura-dropdown-search",{"name":[513],"size":[513],"status":[1537],"disabled":[516],"required":[516],"placeholder":[513],"label":[513],"icon":[513],"maxheight":[513],"value":[1025],"searchdelay":[514],"searchminchars":[514],"styles":[32],"zoomState":[32],"isOnFocus":[32],"dropdownItems":[32],"setFocus":[64],"selectOption":[64]}],[65,"cura-button",{"type":[513],"size":[513],"disabled":[516],"isLoading":[516,"is-loading"],"iconName":[513,"icon-name"],"iconset":[513],"iconPosition":[513,"icon-position"],"iconOnly":[516,"icon-only"],"href":[513],"target":[513],"color":[1],"background":[513],"fontColor":[513,"font-color"],"textAlign":[513,"text-align"],"justify":[516],"styles":[32],"hovered":[32]},null,{"background":["setColors"],"color":["setColors"]}],[1,"cura-accordion-item",{"label":[513],"iconSize":[514,"icon-size"],"labelIcon":[513,"label-icon"],"openIcon":[513,"open-icon"],"closeIcon":[513,"close-icon"],"iconColor":[513,"icon-color"],"colorMode":[1,"color-mode"],"level":[514],"opened":[1540],"styles":[32]}],[1,"cura-badge-distance",{"distance":[2],"label":[513],"styles":[32],"displayDistance":[32]},null,{"distance":["formatDistance"]}],[1,"cura-dropdown-search-category"],[1,"cura-accordion",{"color":[513],"colorMode":[513,"color-mode"],"iconSize":[514,"icon-size"],"labelIcon":[513,"label-icon"],"openIcon":[513,"open-icon"],"closeIcon":[513,"close-icon"],"iconColor":[513,"icon-color"],"behavior":[513],"level":[514],"styles":[32]},null,{"color":["handleChangeColor"]}],[1,"cura-avatar",{"size":[1],"backgroundColor":[513,"background-color"],"borderColor":[513,"border-color"],"borderRadius":[513,"border-radius"],"border":[516],"type":[513],"imageSrc":[1537,"image-src"],"imageSrcDefault":[513,"image-src-default"],"floating":[516],"styles":[32]},null,{"size":["sizeHandler"]}],[1,"cura-dropdown-search-option",{"value":[1],"optionid":[1],"selectable":[516],"selected":[516],"highlighted":[516]}],[1,"cura-page-template",{"contentwidth":[513]}],[65,"cura-input-text",{"mode":[1537],"status":[1537],"size":[1537],"type":[513],"inputMode":[513,"input-mode"],"label":[513],"name":[513],"placeholder":[513],"value":[1544],"iconName":[1537,"icon-name"],"helperText":[1537,"helper-text"],"disabled":[516],"required":[516],"maskPreset":[8,"mask-preset"],"enableSelectionMode":[1540,"enable-selection-mode"],"maskRegex":[1537,"mask-regex"],"maskAdvanced":[1544,"mask-advanced"],"maxlength":[1538],"readOnly":[516,"read-only"],"isLoading":[1540,"is-loading"],"clearIcon":[1540,"clear-icon"],"hideErrorIcon":[4,"hide-error-icon"],"autocomplete":[513],"isHovered":[32],"isFocused":[32],"styles":[32],"setFocus":[64]},null,{"styles":["connectedCallback"],"size":["getClasses"],"status":["renderIcon"],"mode":["renderIcon"],"maskPreset":["initializeMask"],"maskRegex":["initializeMask"],"maskAdvanced":["initializeMask"]}],[65,"cura-select",{"label":[513],"placeholder":[513],"value":[1537],"mode":[513],"size":[513],"iconName":[1,"icon-name"],"status":[1537],"disabled":[516],"required":[516],"searchBehavior":[516,"search-behavior"],"caseSensitive":[516,"case-sensitive"],"isHovered":[32],"isFocused":[32],"isOpen":[32],"options":[32],"activeIndex":[32],"textInput":[32]},null,{"activeIndex":["updateOptionHighlights"],"textInput":["filterOptions"],"value":["handleValueChange"]}],[1,"cura-select-option",{"value":[513],"selected":[516],"active":[516],"size":[1],"styles":[32]},null,{"size":["getSize"]}],[65,"cura-button-transparent",{"type":[513],"size":[513],"disabled":[516],"isLoading":[516,"is-loading"],"iconName":[513,"icon-name"],"iconset":[513],"iconPosition":[513,"icon-position"],"iconOnly":[516,"icon-only"],"href":[513],"target":[513],"color":[513],"fontColor":[513,"font-color"],"textAlign":[513,"text-align"],"justify":[516],"hovered":[32],"styles":[32]},null,{"fontColor":["getSymbolColor"],"color":["getSymbolColor"]}],[1,"cura-heading",{"level":[514],"size":[513],"weight":[513],"spotColor":[513,"spot-color"],"color":[513],"marginBlock":[513,"margin-block"],"lineHeight":[513,"line-height"],"textOverflow":[513,"text-overflow"],"styles":[32]}],[1,"cura-loader-circle",{"size":[513],"color":[513]}],[1,"cura-paragraph",{"size":[513],"spotColor":[513,"spot-color"],"color":[513],"marginBlock":[513,"margin-block"],"lineHeight":[513,"line-height"],"textOverflow":[513,"text-overflow"],"styles":[32]}],[1,"cura-icon",{"name":[513],"color":[1],"size":[8],"iconset":[513],"disabled":[4]},null,{"size":["sizeHandler"],"color":["colorHandler"],"disabled":["colorHandler"]}],[1,"cura-label",{"size":[513],"weight":[513],"spotColor":[513,"spot-color"],"color":[1],"marginBlock":[513,"margin-block"],"lineHeight":[513,"line-height"],"textOverflow":[513,"text-overflow"],"styles":[32]},null,{"color":["handleChangeColor"],"spotColor":["handleChangeColor"]}]]],["p-d7f46266",[[65,"cura-input-date",{"label":[513],"status":[1537],"size":[513],"name":[513],"helperText":[513,"helper-text"],"enableRangeDates":[516,"enable-range-dates"],"disableFutureDates":[516,"disable-future-dates"],"disablePassDates":[516,"disable-pass-dates"],"iconName":[513,"icon-name"],"placeholder":[513],"styles":[32],"isCalendarVisible":[32],"dates":[32],"value":[32],"dateSettings":[32]},[[8,"click","handleClick"]],{"enableRangeDates":["updateDateSettings"]}]]],["p-3c305dbd",[[1,"cura-stepper",{"activeStepIndex":[514,"active-step-index"],"errorInCurrentStep":[516,"error-in-current-step"],"displayHeading":[516,"display-heading"],"variant":[513],"steps":[1],"styles":[32],"stepList":[32]}]]],["p-25932952",[[1,"cura-tooltip",{"elementId":[1,"element-id"],"interactive":[4],"delay":[2],"maxWidth":[1,"max-width"],"position":[513],"label":[513],"closeButton":[516,"close-button"],"isMobile":[32]},[[9,"resize","onWindowResize"],[9,"scroll","onWindowScroll"]]]]],["p-38777561",[[1,"cura-toast",{"type":[1],"position":[1],"icon":[513],"label":[513],"closeButton":[516,"close-button"],"loader":[516],"autoCloseDelay":[514,"auto-close-delay"],"styles":[32],"progress":[32],"close":[64]},null,{"type":["handleChangeType"],"position":["handleChangeType"]}]]],["p-3519d0ba",[[1,"cura-alert",{"type":[1],"floating":[516],"label":[513],"closeable":[516],"icon":[513],"styles":[32]},null,{"type":["setColors"]}]]],["p-6f7f157e",[[65,"cura-button-outline",{"type":[513],"size":[513],"disabled":[516],"isLoading":[516,"is-loading"],"iconName":[513,"icon-name"],"iconset":[513],"iconPosition":[513,"icon-position"],"iconOnly":[516,"icon-only"],"href":[513],"target":[513],"color":[1],"background":[1],"fontColor":[1,"font-color"],"textAlign":[513,"text-align"],"justify":[516],"styles":[32],"hovered":[32]},null,{"background":["setColors"],"color":["setColors","getSymbolColor"],"fontColor":["getSymbolColor"]}]]],["p-fc1fd622",[[1,"cura-button-select",{"selected":[1540],"iconName":[1537,"icon-name"],"size":[513],"counter":[1538],"disabled":[516],"background":[1],"color":[1],"iconPosition":[513,"icon-position"],"hovered":[32],"styles":[32]},null,{"background":["setColors"],"color":["setColors"]}]]],["p-405a50de",[[65,"cura-checkbox",{"checked":[1540],"indeterminate":[1540],"status":[1537],"disabled":[516],"required":[516],"label":[513],"ontabindex":[514],"position":[513],"value":[513],"name":[513],"size":[513],"background":[1],"iconColor":[1,"icon-color"],"color":[1],"styles":[32]},null,{"size":["sizeHandler"],"color":["setColors"],"background":["setColors","assignColor"],"iconColor":["assignColor"]}]]],["p-07817634",[[1,"cura-icons-view",{"selected":[32]}]]],["p-174d220e",[[1,"cura-modal",{"open":[1540],"background":[1],"top":[2],"bottom":[2],"left":[2],"right":[2],"mobileCloseLabel":[513,"mobile-close-label"],"zindex":[513],"styles":[32]},null,{"background":["setColors"],"top":["setTop"],"bottom":["setBottom"],"left":["setLeft"],"right":["setRight"]}]]],["p-186392b7",[[65,"cura-radio",{"checked":[1540],"status":[1537],"disabled":[516],"required":[516],"label":[513],"ontabindex":[514],"position":[513],"value":[513],"name":[513],"background":[1],"size":[1],"color":[1],"styles":[32]},null,{"size":["sizeHandler"],"color":["setColors"],"background":["setColors","assignColor"]}]]],["p-b254bbe4",[[1,"cura-dropdown-search-not-found"]]],["p-d77df3f0",[[65,"cura-switch",{"checked":[1540],"disabled":[516],"label":[513],"ontabindex":[514],"position":[513],"size":[513],"background":[1],"color":[1],"styles":[32]},null,{"size":["sizeHandler"],"color":["setColors"],"background":["setColors"]}]]],["p-ac0c90af",[[1,"cura-badge-dot",{"color":[1],"disabled":[516],"type":[513],"styles":[32]}]]],["p-53d68d72",[[1,"cura-card",{"hasPadding":[1028,"has-padding"],"hasShadow":[1028,"has-shadow"],"type":[1025],"colorMode":[1025,"color-mode"],"href":[1537],"target":[513],"styles":[32]}]]],["p-a1782f0e",[[1,"cura-display",{"level":[514],"size":[513],"spotColor":[1,"spot-color"],"color":[1],"marginBlock":[513,"margin-block"],"lineHeight":[513,"line-height"],"styles":[32]},null,{"color":["handleChangeColor"],"spotColor":["handleChangeColor"]}]]],["p-62c1b0f4",[[1,"cura-calendar",{"period":[513],"width":[513],"minWidth":[513,"min-width"],"maxWidth":[513,"max-width"],"mode":[513],"dateFormat":[1537,"date-format"],"locale":[513],"type":[513],"disable":[16],"enable":[16],"defaultDate":[1537,"default-date"],"customDates":[16],"limitRange":[514,"limit-range"],"disablePassDates":[1540,"disable-pass-dates"],"disableFutureDates":[1540,"disable-future-dates"],"collapsed":[1540],"floating":[1540],"embedded":[1540],"selectLabelColorMode":[1537,"select-label-color-mode"],"selectedDates":[32],"rangeStart":[32],"defaultDates":[32],"currentDate":[32],"selectMonth":[32],"selectYear":[32],"styles":[32]},null,{"customDates":["watchDefaultDatesArray"],"defaultDate":["handleDefaultDateChange"]}]]],["p-197213c0",[[1,"cura-badge-counter",{"number":[514],"color":[1],"disabled":[4],"type":[1],"styles":[32]},null,{"disabled":["handleColorChange"],"color":["handleColorChange"],"type":["handleColorChange"]}]]],["p-1016108a",[[1,"cura-loader-bar",{"color":[1],"progress":[2],"styles":[32]},null,{"color":["handleChangeColor"],"progress":["handleProgress"]}]]],["p-e1916252",[[1,"cura-badge-pill",{"type":[513],"color":[1],"iconName":[513,"icon-name"],"iconset":[513],"disabled":[516],"iconOnly":[516,"icon-only"],"borderRadius":[513,"border-radius"],"styles":[32]},null,{"color":["watchColorChange"]}]]],["p-777decf9",[[1,"cura-stepper-item",{"displayHeading":[516,"display-heading"],"heading":[513],"label":[513],"status":[513],"styles":[32]}],[1,"cura-progress-bar",{"progressColor":[513,"progress-color"],"progress":[514],"size":[514],"strokeWidth":[514,"stroke-width"],"active":[516]}]]]]'),e)}));
1
+ import{p as e,b as o}from"./p-4ee8efca.js";export{s as setNonce}from"./p-4ee8efca.js";import{g as l}from"./p-daf9feac.js";import"./p-ec4996c2.js";import"./p-1b201271.js";var a=()=>{const o=import.meta.url;const l={};if(o!==""){l.resourcesUrl=new URL(".",o).href}return e(l)};a().then((async e=>{await l();return o(JSON.parse('[["p-e5abb2a4",[[1,"cura-dropdown-search",{"name":[513],"size":[513],"status":[1537],"disabled":[516],"required":[516],"placeholder":[513],"label":[513],"icon":[513],"maxheight":[513],"value":[1025],"searchdelay":[514],"searchminchars":[514],"styles":[32],"zoomState":[32],"isOnFocus":[32],"dropdownItems":[32],"setFocus":[64],"selectOption":[64]}],[65,"cura-button",{"type":[513],"size":[513],"disabled":[516],"isLoading":[516,"is-loading"],"iconName":[513,"icon-name"],"iconset":[513],"iconPosition":[513,"icon-position"],"iconOnly":[516,"icon-only"],"href":[513],"target":[513],"color":[1],"background":[513],"fontColor":[513,"font-color"],"textAlign":[513,"text-align"],"justify":[516],"styles":[32],"hovered":[32]},null,{"background":["setColors"],"color":["setColors"]}],[1,"cura-accordion-item",{"label":[513],"iconSize":[514,"icon-size"],"labelIcon":[513,"label-icon"],"openIcon":[513,"open-icon"],"closeIcon":[513,"close-icon"],"iconColor":[513,"icon-color"],"colorMode":[1,"color-mode"],"level":[514],"opened":[1540],"styles":[32]}],[1,"cura-badge-distance",{"distance":[2],"label":[513],"styles":[32],"displayDistance":[32]},null,{"distance":["formatDistance"]}],[1,"cura-dropdown-search-category"],[1,"cura-accordion",{"color":[513],"colorMode":[513,"color-mode"],"iconSize":[514,"icon-size"],"labelIcon":[513,"label-icon"],"openIcon":[513,"open-icon"],"closeIcon":[513,"close-icon"],"iconColor":[513,"icon-color"],"behavior":[513],"level":[514],"styles":[32]},null,{"color":["handleChangeColor"]}],[1,"cura-avatar",{"size":[1],"backgroundColor":[513,"background-color"],"borderColor":[513,"border-color"],"borderRadius":[513,"border-radius"],"border":[516],"type":[513],"imageSrc":[1537,"image-src"],"imageSrcDefault":[513,"image-src-default"],"floating":[516],"styles":[32]},null,{"size":["sizeHandler"]}],[1,"cura-dropdown-search-option",{"value":[1],"optionid":[1],"selectable":[516],"selected":[516],"highlighted":[516]}],[1,"cura-page-template",{"contentwidth":[513]}],[65,"cura-input-text",{"mode":[1537],"status":[1537],"size":[1537],"type":[513],"inputMode":[513,"input-mode"],"label":[513],"name":[513],"placeholder":[513],"value":[1544],"iconName":[1537,"icon-name"],"helperText":[1537,"helper-text"],"disabled":[516],"required":[516],"maskPreset":[8,"mask-preset"],"enableSelectionMode":[1540,"enable-selection-mode"],"maskRegex":[1537,"mask-regex"],"maskAdvanced":[1544,"mask-advanced"],"maxlength":[1538],"readOnly":[516,"read-only"],"isLoading":[1540,"is-loading"],"clearIcon":[1540,"clear-icon"],"hideErrorIcon":[4,"hide-error-icon"],"autocomplete":[513],"isHovered":[32],"isFocused":[32],"styles":[32],"setFocus":[64]},null,{"styles":["connectedCallback"],"size":["getClasses"],"status":["renderIcon"],"mode":["renderIcon"],"maskPreset":["initializeMask"],"maskRegex":["initializeMask"],"maskAdvanced":["initializeMask"]}],[65,"cura-select",{"label":[513],"placeholder":[513],"value":[1537],"mode":[513],"size":[513],"iconName":[1,"icon-name"],"status":[1537],"disabled":[516],"required":[516],"searchBehavior":[516,"search-behavior"],"caseSensitive":[516,"case-sensitive"],"isHovered":[32],"isFocused":[32],"isOpen":[32],"options":[32],"activeIndex":[32],"textInput":[32]},null,{"activeIndex":["updateOptionHighlights"],"textInput":["filterOptions"],"value":["handleValueChange"]}],[1,"cura-select-option",{"value":[513],"selected":[516],"active":[516],"size":[1],"styles":[32]},null,{"size":["getSize"]}],[65,"cura-button-transparent",{"type":[513],"size":[513],"disabled":[516],"isLoading":[516,"is-loading"],"iconName":[513,"icon-name"],"iconset":[513],"iconPosition":[513,"icon-position"],"iconOnly":[516,"icon-only"],"href":[513],"target":[513],"color":[513],"fontColor":[513,"font-color"],"textAlign":[513,"text-align"],"justify":[516],"hovered":[32],"styles":[32]},null,{"fontColor":["getSymbolColor"],"color":["getSymbolColor"]}],[1,"cura-heading",{"level":[514],"size":[513],"weight":[513],"spotColor":[513,"spot-color"],"color":[513],"marginBlock":[513,"margin-block"],"lineHeight":[513,"line-height"],"textOverflow":[513,"text-overflow"],"styles":[32]}],[1,"cura-loader-circle",{"size":[513],"color":[513]}],[1,"cura-paragraph",{"size":[513],"spotColor":[513,"spot-color"],"color":[513],"marginBlock":[513,"margin-block"],"lineHeight":[513,"line-height"],"textOverflow":[513,"text-overflow"],"styles":[32]}],[1,"cura-icon",{"name":[513],"color":[1],"size":[8],"iconset":[513],"disabled":[4]},null,{"size":["sizeHandler"],"color":["colorHandler"],"disabled":["colorHandler"]}],[1,"cura-label",{"size":[513],"weight":[513],"spotColor":[513,"spot-color"],"color":[1],"marginBlock":[513,"margin-block"],"lineHeight":[513,"line-height"],"textOverflow":[513,"text-overflow"],"styles":[32]},null,{"color":["handleChangeColor"],"spotColor":["handleChangeColor"]}]]],["p-d7f46266",[[65,"cura-input-date",{"label":[513],"status":[1537],"size":[513],"name":[513],"helperText":[513,"helper-text"],"enableRangeDates":[516,"enable-range-dates"],"disableFutureDates":[516,"disable-future-dates"],"disablePassDates":[516,"disable-pass-dates"],"iconName":[513,"icon-name"],"placeholder":[513],"styles":[32],"isCalendarVisible":[32],"dates":[32],"value":[32],"dateSettings":[32]},[[8,"click","handleClick"]],{"enableRangeDates":["updateDateSettings"]}]]],["p-3c305dbd",[[1,"cura-stepper",{"activeStepIndex":[514,"active-step-index"],"errorInCurrentStep":[516,"error-in-current-step"],"displayHeading":[516,"display-heading"],"variant":[513],"steps":[1],"styles":[32],"stepList":[32]}]]],["p-25932952",[[1,"cura-tooltip",{"elementId":[1,"element-id"],"interactive":[4],"delay":[2],"maxWidth":[1,"max-width"],"position":[513],"label":[513],"closeButton":[516,"close-button"],"isMobile":[32]},[[9,"resize","onWindowResize"],[9,"scroll","onWindowScroll"]]]]],["p-38777561",[[1,"cura-toast",{"type":[1],"position":[1],"icon":[513],"label":[513],"closeButton":[516,"close-button"],"loader":[516],"autoCloseDelay":[514,"auto-close-delay"],"styles":[32],"progress":[32],"close":[64]},null,{"type":["handleChangeType"],"position":["handleChangeType"]}]]],["p-3519d0ba",[[1,"cura-alert",{"type":[1],"floating":[516],"label":[513],"closeable":[516],"icon":[513],"styles":[32]},null,{"type":["setColors"]}]]],["p-6f7f157e",[[65,"cura-button-outline",{"type":[513],"size":[513],"disabled":[516],"isLoading":[516,"is-loading"],"iconName":[513,"icon-name"],"iconset":[513],"iconPosition":[513,"icon-position"],"iconOnly":[516,"icon-only"],"href":[513],"target":[513],"color":[1],"background":[1],"fontColor":[1,"font-color"],"textAlign":[513,"text-align"],"justify":[516],"styles":[32],"hovered":[32]},null,{"background":["setColors"],"color":["setColors","getSymbolColor"],"fontColor":["getSymbolColor"]}]]],["p-fc1fd622",[[1,"cura-button-select",{"selected":[1540],"iconName":[1537,"icon-name"],"size":[513],"counter":[1538],"disabled":[516],"background":[1],"color":[1],"iconPosition":[513,"icon-position"],"hovered":[32],"styles":[32]},null,{"background":["setColors"],"color":["setColors"]}]]],["p-405a50de",[[65,"cura-checkbox",{"checked":[1540],"indeterminate":[1540],"status":[1537],"disabled":[516],"required":[516],"label":[513],"ontabindex":[514],"position":[513],"value":[513],"name":[513],"size":[513],"background":[1],"iconColor":[1,"icon-color"],"color":[1],"styles":[32]},null,{"size":["sizeHandler"],"color":["setColors"],"background":["setColors","assignColor"],"iconColor":["assignColor"]}]]],["p-07817634",[[1,"cura-icons-view",{"selected":[32]}]]],["p-174d220e",[[1,"cura-modal",{"open":[1540],"background":[1],"top":[2],"bottom":[2],"left":[2],"right":[2],"mobileCloseLabel":[513,"mobile-close-label"],"zindex":[513],"styles":[32]},null,{"background":["setColors"],"top":["setTop"],"bottom":["setBottom"],"left":["setLeft"],"right":["setRight"]}]]],["p-186392b7",[[65,"cura-radio",{"checked":[1540],"status":[1537],"disabled":[516],"required":[516],"label":[513],"ontabindex":[514],"position":[513],"value":[513],"name":[513],"background":[1],"size":[1],"color":[1],"styles":[32]},null,{"size":["sizeHandler"],"color":["setColors"],"background":["setColors","assignColor"]}]]],["p-b254bbe4",[[1,"cura-dropdown-search-not-found"]]],["p-d77df3f0",[[65,"cura-switch",{"checked":[1540],"disabled":[516],"label":[513],"ontabindex":[514],"position":[513],"size":[513],"background":[1],"color":[1],"styles":[32]},null,{"size":["sizeHandler"],"color":["setColors"],"background":["setColors"]}]]],["p-ac0c90af",[[1,"cura-badge-dot",{"color":[1],"disabled":[516],"type":[513],"styles":[32]}]]],["p-53d68d72",[[1,"cura-card",{"hasPadding":[1028,"has-padding"],"hasShadow":[1028,"has-shadow"],"type":[1025],"colorMode":[1025,"color-mode"],"href":[1537],"target":[513],"styles":[32]}]]],["p-a1782f0e",[[1,"cura-display",{"level":[514],"size":[513],"spotColor":[1,"spot-color"],"color":[1],"marginBlock":[513,"margin-block"],"lineHeight":[513,"line-height"],"styles":[32]},null,{"color":["handleChangeColor"],"spotColor":["handleChangeColor"]}]]],["p-2090e71a",[[1,"cura-calendar",{"period":[513],"width":[513],"minWidth":[513,"min-width"],"maxWidth":[513,"max-width"],"mode":[513],"dateFormat":[1537,"date-format"],"locale":[513],"type":[513],"disable":[16],"enable":[16],"defaultDate":[1537,"default-date"],"customDates":[16],"limitRange":[514,"limit-range"],"disablePassDates":[1540,"disable-pass-dates"],"disableFutureDates":[1540,"disable-future-dates"],"collapsed":[1540],"floating":[1540],"embedded":[1540],"selectLabelColorMode":[1537,"select-label-color-mode"],"selectedDates":[32],"rangeStart":[32],"defaultDates":[32],"currentDate":[32],"selectMonth":[32],"selectYear":[32],"styles":[32]},null,{"defaultDate":["initializeDefaultDates","handleDefaultDateChange"],"customDates":["watchDefaultDatesArray"]}]]],["p-197213c0",[[1,"cura-badge-counter",{"number":[514],"color":[1],"disabled":[4],"type":[1],"styles":[32]},null,{"disabled":["handleColorChange"],"color":["handleColorChange"],"type":["handleColorChange"]}]]],["p-1016108a",[[1,"cura-loader-bar",{"color":[1],"progress":[2],"styles":[32]},null,{"color":["handleChangeColor"],"progress":["handleProgress"]}]]],["p-e1916252",[[1,"cura-badge-pill",{"type":[513],"color":[1],"iconName":[513,"icon-name"],"iconset":[513],"disabled":[516],"iconOnly":[516,"icon-only"],"borderRadius":[513,"border-radius"],"styles":[32]},null,{"color":["watchColorChange"]}]]],["p-777decf9",[[1,"cura-stepper-item",{"displayHeading":[516,"display-heading"],"heading":[513],"label":[513],"status":[513],"styles":[32]}],[1,"cura-progress-bar",{"progressColor":[513,"progress-color"],"progress":[514],"size":[514],"strokeWidth":[514,"stroke-width"],"active":[516]}]]]]'),e)}));
2
2
  //# sourceMappingURL=cura.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","async","options","globalScripts","bootstrapLazy","JSON","parse"],"sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.22.0 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, doc, H, promiseResolve } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? Array.from(doc.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"0KAOA,IAAIA,EAAe,KAUjB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAC3E,GAAIF,IAAe,GAAI,CACrBE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IACjD,CACE,OAAOC,EAAeJ,EAAK,EClB7BH,IAAeQ,MAAKC,MAAOC,UACnBC,IACN,OAAOC,EAAcC,KAAAC,MAAA,42UAAuCJ,EAAA","ignoreList":[]}
1
+ {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","async","options","globalScripts","bootstrapLazy","JSON","parse"],"sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.22.0 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, doc, H, promiseResolve } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? Array.from(doc.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"0KAOA,IAAIA,EAAe,KAUjB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAC3E,GAAIF,IAAe,GAAI,CACrBE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IACjD,CACE,OAAOC,EAAeJ,EAAK,EClB7BH,IAAeQ,MAAKC,MAAOC,UACnBC,IACN,OAAOC,EAAcC,KAAAC,MAAA,q4UAAuCJ,EAAA","ignoreList":[]}