@db-ux/wc-core-components 3.0.0 → 3.0.2-copilot-66b0168
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/agent/Accordion.md +23 -0
- package/agent/AccordionItem.md +29 -0
- package/agent/Badge.md +32 -0
- package/agent/Brand.md +13 -0
- package/agent/Button.md +47 -0
- package/agent/Card.md +23 -0
- package/agent/Checkbox.md +41 -0
- package/agent/CustomSelect.md +54 -0
- package/agent/Divider.md +21 -0
- package/agent/Drawer.md +71 -0
- package/agent/Header.md +29 -0
- package/agent/Icon.md +20 -0
- package/agent/Infotext.md +25 -0
- package/agent/Input.md +48 -0
- package/agent/Link.md +52 -0
- package/agent/Navigation.md +19 -0
- package/agent/NavigationItem.md +29 -0
- package/agent/Notification.md +38 -0
- package/agent/Page.md +27 -0
- package/agent/Popover.md +52 -0
- package/agent/Radio.md +28 -0
- package/agent/Section.md +21 -0
- package/agent/Select.md +62 -0
- package/agent/Stack.md +35 -0
- package/agent/Switch.md +44 -0
- package/agent/TabItem.md +25 -0
- package/agent/Tabs.md +61 -0
- package/agent/Tag.md +41 -0
- package/agent/Textarea.md +44 -0
- package/agent/Tooltip.md +37 -0
- package/agent/_instructions.md +31 -0
- package/dist/cjs/db-checkbox.cjs.entry.js +5 -4
- package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/db-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.cjs.js.map +1 -1
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js +6 -5
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js.map +1 -1
- package/dist/cjs/db-custom-select.cjs.entry.js +20 -13
- package/dist/cjs/db-custom-select.cjs.entry.js.map +1 -1
- package/dist/cjs/db-custom-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-header.cjs.entry.js +13 -18
- package/dist/cjs/db-header.cjs.entry.js.map +1 -1
- package/dist/cjs/db-header.entry.cjs.js.map +1 -1
- package/dist/cjs/db-navigation-item.cjs.entry.js +2 -2
- package/dist/cjs/db-popover.cjs.entry.js +1 -1
- package/dist/cjs/db-select.cjs.entry.js +5 -4
- package/dist/cjs/db-select.cjs.entry.js.map +1 -1
- package/dist/cjs/db-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-tabs.cjs.entry.js +23 -18
- package/dist/cjs/db-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/db-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/db-textarea.cjs.entry.js +5 -4
- package/dist/cjs/db-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/db-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/db-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/db-ux.cjs.js +1 -1
- package/dist/cjs/{floating-components-BxBSpOv1.js → floating-components-ogUqz72V.js} +3 -2
- package/dist/cjs/{floating-components-BxBSpOv1.js.map → floating-components-ogUqz72V.js.map} +1 -1
- package/dist/cjs/index.cjs.js +113 -12
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{navigation-BNSnj0bl.js → navigation-DauGE-qj.js} +3 -3
- package/dist/cjs/{navigation-BNSnj0bl.js.map → navigation-DauGE-qj.js.map} +1 -1
- package/dist/collection/components/checkbox/checkbox.js +5 -4
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/custom-select/custom-select.js +55 -42
- package/dist/collection/components/custom-select/custom-select.js.map +1 -1
- package/dist/collection/components/custom-select/model.js.map +1 -1
- package/dist/collection/components/header/header.js +30 -34
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/input/input.js +6 -5
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/select/select.js +5 -4
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/tabs/tabs.js +23 -18
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +5 -4
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/index.js +39 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/custom-elements.json +87 -102
- package/dist/db-ux/db-checkbox.entry.esm.js.map +1 -1
- package/dist/db-ux/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.esm.js.map +1 -1
- package/dist/db-ux/db-custom-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-header.entry.esm.js.map +1 -1
- package/dist/db-ux/db-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-tabs.entry.esm.js.map +1 -1
- package/dist/db-ux/db-textarea.entry.esm.js.map +1 -1
- package/dist/db-ux/db-ux.esm.js +1 -1
- package/dist/db-ux/index.esm.js +1 -1
- package/dist/db-ux/index.esm.js.map +1 -1
- package/dist/db-ux/p-340bb722.entry.js +2 -0
- package/dist/db-ux/p-340bb722.entry.js.map +1 -0
- package/dist/db-ux/p-3d7eb768.entry.js +2 -0
- package/dist/db-ux/p-3d7eb768.entry.js.map +1 -0
- package/dist/db-ux/p-6e35a260.entry.js +2 -0
- package/dist/db-ux/p-6e35a260.entry.js.map +1 -0
- package/dist/db-ux/p-72330d25.entry.js +2 -0
- package/dist/db-ux/p-72330d25.entry.js.map +1 -0
- package/dist/db-ux/p-84dd974f.entry.js +2 -0
- package/dist/db-ux/p-84dd974f.entry.js.map +1 -0
- package/dist/db-ux/p-8b41c30e.entry.js +2 -0
- package/dist/db-ux/p-8b41c30e.entry.js.map +1 -0
- package/dist/db-ux/{p-CifCRcqG.js → p-G-TursYV.js} +2 -2
- package/dist/db-ux/{p-CifCRcqG.js.map → p-G-TursYV.js.map} +1 -1
- package/dist/db-ux/p-a3541c03.entry.js +2 -0
- package/dist/db-ux/p-a3541c03.entry.js.map +1 -0
- package/dist/db-ux/{p-b7f2a0b9.entry.js → p-d4e3d1db.entry.js} +2 -2
- package/dist/db-ux/{p-30023526.entry.js → p-e9c323af.entry.js} +2 -2
- package/dist/db-ux/{p-914ca50e.entry.js → p-fdf5578d.entry.js} +2 -2
- package/dist/db-ux/{p-DdyDId49.js → p-sP2NlPcu.js} +2 -2
- package/dist/db-ux/{p-DdyDId49.js.map → p-sP2NlPcu.js.map} +1 -1
- package/dist/esm/db-checkbox.entry.js +5 -4
- package/dist/esm/db-checkbox.entry.js.map +1 -1
- package/dist/esm/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.js.map +1 -1
- package/dist/esm/db-custom-select-dropdown_5.entry.js +6 -5
- package/dist/esm/db-custom-select-dropdown_5.entry.js.map +1 -1
- package/dist/esm/db-custom-select.entry.js +20 -13
- package/dist/esm/db-custom-select.entry.js.map +1 -1
- package/dist/esm/db-header.entry.js +15 -20
- package/dist/esm/db-header.entry.js.map +1 -1
- package/dist/esm/db-navigation-item.entry.js +2 -2
- package/dist/esm/db-popover.entry.js +1 -1
- package/dist/esm/db-select.entry.js +5 -4
- package/dist/esm/db-select.entry.js.map +1 -1
- package/dist/esm/db-tabs.entry.js +23 -18
- package/dist/esm/db-tabs.entry.js.map +1 -1
- package/dist/esm/db-textarea.entry.js +5 -4
- package/dist/esm/db-textarea.entry.js.map +1 -1
- package/dist/esm/db-tooltip.entry.js +1 -1
- package/dist/esm/db-ux.js +1 -1
- package/dist/esm/{floating-components-CifCRcqG.js → floating-components-G-TursYV.js} +3 -3
- package/dist/esm/{floating-components-CifCRcqG.js.map → floating-components-G-TursYV.js.map} +1 -1
- package/dist/esm/index.js +64 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{navigation--rT2utIA.js → navigation--UdC9CzO.js} +3 -3
- package/dist/esm/{navigation--rT2utIA.js.map → navigation--UdC9CzO.js.map} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +1 -1
- package/dist/types/components/custom-select/custom-select.d.ts +4 -3
- package/dist/types/components/custom-select/model.d.ts +1 -0
- package/dist/types/components/header/header.d.ts +1 -2
- package/dist/types/components/input/input.d.ts +2 -2
- package/dist/types/components/select/select.d.ts +1 -1
- package/dist/types/components/textarea/textarea.d.ts +1 -1
- package/dist/types/index.d.ts +39 -0
- package/dist/vscode.html-custom-data.json +14 -14
- package/dist/web-types.json +35 -35
- package/package.json +10 -8
- package/dist/db-ux/p-07594af1.entry.js +0 -2
- package/dist/db-ux/p-07594af1.entry.js.map +0 -1
- package/dist/db-ux/p-44142b26.entry.js +0 -2
- package/dist/db-ux/p-44142b26.entry.js.map +0 -1
- package/dist/db-ux/p-6c4115c8.entry.js +0 -2
- package/dist/db-ux/p-6c4115c8.entry.js.map +0 -1
- package/dist/db-ux/p-7d77b648.entry.js +0 -2
- package/dist/db-ux/p-7d77b648.entry.js.map +0 -1
- package/dist/db-ux/p-86df8645.entry.js +0 -2
- package/dist/db-ux/p-86df8645.entry.js.map +0 -1
- package/dist/db-ux/p-93a9f369.entry.js +0 -2
- package/dist/db-ux/p-93a9f369.entry.js.map +0 -1
- package/dist/db-ux/p-fedcbc94.entry.js +0 -2
- package/dist/db-ux/p-fedcbc94.entry.js.map +0 -1
- /package/dist/db-ux/{p-b7f2a0b9.entry.js.map → p-d4e3d1db.entry.js.map} +0 -0
- /package/dist/db-ux/{p-30023526.entry.js.map → p-e9c323af.entry.js.map} +0 -0
- /package/dist/db-ux/{p-914ca50e.entry.js.map → p-fdf5578d.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DBCustomSelectDropdown","constructor","hostRef","this","width","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","render","h","key","class","cls","className","ref","el","id","DBCustomSelectList","role","multiple","label","DBCustomSelectListItem","_id","undefined","hasDivider","handleChange","event","stopPropagation","change","emit","getIconTrailing","isGroupTitle","type","getBoolean","checked","watch0Fn","Boolean","showDivider","watch0","_a","uuid","getBooleanAsString","icon","showIcon","form","disabled","onChange","groupTitle","DBInput","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_dataListId","_descByIds","_value","_voiceOverFallback","hasValidState","validMessage","validation","handleValidation","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","minLength","maxLength","pattern","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleInput","input","handleBlur","blur","handleFocus","focus","getDataList","_list","dataList","Array","from","isArrayOfStrings","map","val","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","dataListId","DEFAULT_DATALIST_ID_SUFFIX","watch1","watch2Fn","watch2","mId","variant","getHideProp","showLabel","showIconLeading","iconLeading","iconTrailing","showRequiredAsterisk","showIconTrailing","htmlFor","DEFAULT_LABEL","fieldSizing","placeholder","DEFAULT_PLACEHOLDER","step","getNumber","_e","maxlength","minlength","max","getInputValue","min","readOnly","readonly","size","autoComplete","autocomplete","autoFocus","autofocus","onInput","onBlur","onFocus","list","_f","ariaDescribedBy","_g","option","messageIcon","semantic","DBTag","handleRemove","remove","getRemoveButtonText","removeButton","DEFAULT_REMOVE","emphasis","showCheckState","noText","overflow","text","behavior","onClick"],"sources":["src/components/custom-select-dropdown/custom-select-dropdown.tsx","src/components/custom-select-list/custom-select-list.tsx","src/components/custom-select-list-item/custom-select-list-item.tsx","src/components/input/input.tsx","src/components/tag/tag.tsx"],"sourcesContent":["import { cls } from \"../../utils\";\nimport { DBCustomSelectDropdownProps } from \"./model\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-dropdown\",\n})\nexport class DBCustomSelectDropdown {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBCustomSelectDropdownProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectDropdownProps[\"className\"];\n @Prop() width: DBCustomSelectDropdownProps[\"width\"] = \"fixed\";\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-dropdown\");\n }\n\n render() {\n return (\n <article\n class={cls(\"db-custom-select-dropdown db-card\", this.className)}\n data-spacing=\"none\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-width={this.width}\n >\n <slot></slot>\n </article>\n );\n }\n}\n","import { cls } from \"../../utils\";\nimport { DBCustomSelectListProps } from \"./model\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-list\",\n})\nexport class DBCustomSelectList {\n private _ref!: HTMLDivElement | any;\n @Prop() multiple: DBCustomSelectListProps[\"multiple\"];\n @Prop() label: DBCustomSelectListProps[\"label\"];\n @Prop() id: DBCustomSelectListProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectListProps[\"className\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-list\");\n }\n\n render() {\n return (\n <div\n class={cls(\"db-custom-select-list\", this.className)}\n role={this.multiple ? \"group\" : \"radiogroup\"}\n aria-label={this.label}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n >\n <ul>\n <slot></slot>\n </ul>\n </div>\n );\n }\n}\n","import { ChangeEvent } from \"../../shared/model\";\nimport { cls, getBoolean, getBooleanAsString, uuid } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport {\n DBCustomSelectListItemProps,\n DBCustomSelectListItemState,\n} from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-list-item\",\n})\nexport class DBCustomSelectListItem {\n private _ref!: HTMLLIElement | any;\n @Prop() id: DBCustomSelectListItemProps[\"id\"];\n @Prop() isGroupTitle: DBCustomSelectListItemProps[\"isGroupTitle\"];\n @Prop() showDivider: DBCustomSelectListItemProps[\"showDivider\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBCustomSelectListItemProps>[\"onChange\"]>[number]\n > | void;\n @Prop() type: DBCustomSelectListItemProps[\"type\"];\n @Prop() checked: DBCustomSelectListItemProps[\"checked\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectListItemProps[\"className\"];\n @Prop() groupTitle: DBCustomSelectListItemProps[\"groupTitle\"];\n @Prop() icon: DBCustomSelectListItemProps[\"icon\"];\n @Prop() showIcon: DBCustomSelectListItemProps[\"showIcon\"];\n @Prop() name: DBCustomSelectListItemProps[\"name\"];\n @Prop() disabled: DBCustomSelectListItemProps[\"disabled\"];\n @Prop() value: DBCustomSelectListItemProps[\"value\"];\n @Prop() label: DBCustomSelectListItemProps[\"label\"];\n @State() _id = undefined;\n @State() hasDivider = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n }\n getIconTrailing() {\n if (this.isGroupTitle || this.type === \"checkbox\") {\n return;\n }\n return getBoolean(this.checked, \"checked\") ? \"check\" : \"x_placeholder\";\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this.hasDivider = Boolean(this.isGroupTitle || this.showDivider);\n }\n\n @Watch(\"isGroupTitle\")\n @Watch(\"showDivider\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-list-item\");\n this._id = this.id ?? `custom-select-list-item-${uuid()}`;\n this.watch0Fn();\n }\n\n render() {\n return (\n <li\n class={cls(\"db-custom-select-list-item\", this.className, {\n \"db-checkbox\": this.type === \"checkbox\" && !this.isGroupTitle,\n \"db-radio\": this.type !== \"checkbox\" && !this.isGroupTitle,\n })}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-divider={getBooleanAsString(this.hasDivider)}\n >\n {!this.isGroupTitle ? (\n <label\n data-icon={\n this.type !== \"checkbox\" && this.icon ? this.icon : undefined\n }\n data-show-icon={getBooleanAsString(this.showIcon)}\n data-icon-trailing={this.getIconTrailing()}\n >\n <input\n class=\"db-custom-select-list-item-checkbox\"\n data-disable-focus=\"true\"\n type={this.type}\n name={this.name}\n form={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n value={this.value}\n onChange={(event) => this.handleChange(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n ) : (\n <span>{this.groupTitle}</span>\n )}\n </li>\n );\n }\n}\n","import {\n DEFAULT_DATALIST_ID_SUFFIX,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ChangeEvent,\n InputEvent,\n InteractionEvent,\n ValueLabelType,\n} from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getInputValue,\n getNumber,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBInputProps, DBInputState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-input\",\n})\nexport class DBInput {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBInputProps[\"id\"];\n @Prop() invalidMessage: DBInputProps[\"invalidMessage\"];\n @Prop() dataListId: DBInputProps[\"dataListId\"];\n @Prop() message: DBInputProps[\"message\"];\n @Prop() showMessage: DBInputProps[\"showMessage\"];\n @Prop() value: DBInputProps[\"value\"];\n @Prop() validMessage: DBInputProps[\"validMessage\"];\n @Prop() validation: DBInputProps[\"validation\"];\n @Prop() required: DBInputProps[\"required\"];\n @Prop() minLength: DBInputProps[\"minLength\"];\n @Prop() maxLength: DBInputProps[\"maxLength\"];\n @Prop() pattern: DBInputProps[\"pattern\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBInputProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBInputProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBInputProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBInputProps>[\"onFocus\"]>[number]\n > | void;\n @Prop() dataList: DBInputProps[\"dataList\"];\n @Prop({attribute: \"classname\"}) className: DBInputProps[\"className\"];\n @Prop() variant: DBInputProps[\"variant\"];\n @Prop() showLabel: DBInputProps[\"showLabel\"];\n @Prop() showIconLeading: DBInputProps[\"showIconLeading\"];\n @Prop() showIcon: DBInputProps[\"showIcon\"];\n @Prop() iconLeading: DBInputProps[\"iconLeading\"];\n @Prop() icon: DBInputProps[\"icon\"];\n @Prop() iconTrailing: DBInputProps[\"iconTrailing\"];\n @Prop() showRequiredAsterisk: DBInputProps[\"showRequiredAsterisk\"];\n @Prop() showIconTrailing: DBInputProps[\"showIconTrailing\"];\n @Prop() label: DBInputProps[\"label\"];\n @Prop() fieldSizing: DBInputProps[\"fieldSizing\"];\n @Prop() name: DBInputProps[\"name\"];\n @Prop() type: DBInputProps[\"type\"];\n @Prop() multiple: DBInputProps[\"multiple\"];\n @Prop() placeholder: DBInputProps[\"placeholder\"];\n @Prop() disabled: DBInputProps[\"disabled\"];\n @Prop() step: DBInputProps[\"step\"];\n @Prop() maxlength: DBInputProps[\"maxlength\"];\n @Prop() minlength: DBInputProps[\"minlength\"];\n @Prop() max: DBInputProps[\"max\"];\n @Prop() min: DBInputProps[\"min\"];\n @Prop() readOnly: DBInputProps[\"readOnly\"];\n @Prop() readonly: DBInputProps[\"readonly\"];\n @Prop() form: DBInputProps[\"form\"];\n @Prop() size: DBInputProps[\"size\"];\n @Prop() autocomplete: DBInputProps[\"autocomplete\"];\n @Prop() autofocus: DBInputProps[\"autofocus\"];\n @Prop() ariaDescribedBy: DBInputProps[\"ariaDescribedBy\"];\n @Prop() messageIcon: DBInputProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _dataListId = undefined;\n @State() _descByIds = undefined;\n @State() _value = undefined;\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the input */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength || this.pattern)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = undefined;\n }\n }\n handleInput(event: InputEvent<HTMLInputElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList() {\n const _list = this.dataList;\n return Array.from(\n (isArrayOfStrings(_list)\n ? _list?.map((val: string) => ({\n value: val,\n label: undefined,\n }))\n : _list) || []\n );\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId =\n this.dataListId ?? this._id + DEFAULT_DATALIST_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n this.handleValidation();\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-input\");\n const mId = this.id ?? `input-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId = mId + DEFAULT_DATALIST_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-input\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n data-show-icon={getBooleanAsString(\n this.showIconLeading ?? this.showIcon\n )}\n data-icon={this.iconLeading ?? this.icon}\n data-icon-trailing={this.iconTrailing}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\n data-show-icon-trailing={getBooleanAsString(this.showIconTrailing)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <input\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n data-field-sizing={this.fieldSizing}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n type={this.type || \"text\"}\n multiple={getBoolean(this.multiple, \"multiple\")}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n step={getNumber(this.step)}\n value={this.value ?? this._value}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n max={getInputValue(this.max, this.type)}\n min={getInputValue(this.min, this.type)}\n readOnly={\n getBoolean(this.readOnly, \"readOnly\") ||\n getBoolean(this.readonly, \"readonly\")\n }\n form={this.form}\n pattern={this.pattern}\n size={this.size}\n autoComplete={this.autocomplete}\n autoFocus={getBoolean(this.autofocus, \"autofocus\")}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n list={this.dataList && this._dataListId}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n />\n {this.dataList ? (\n <datalist id={this._dataListId}>\n {this.getDataList()?.map((option) => (\n <option\n key={this._dataListId + \"-option-\" + option.value}\n value={option.value}\n >\n {option.label}\n </option>\n ))}\n </datalist>\n ) : null}\n <slot></slot>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n","import { DEFAULT_REMOVE } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport { DBTagProps, DBTagState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Event,\n EventEmitter,\n Prop,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot content - TODO: Add description for slotContent\n */\n @Component({\n tag: \"db-tag\",\n})\nexport class DBTag {\n private _ref!: HTMLDivElement | any;\n @Event() remove: EventEmitter<\n Parameters<Required<DBTagProps>[\"remove\"]>[number]\n > | void;\n @Prop() removeButton: DBTagProps[\"removeButton\"];\n @Prop() id: DBTagProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTagProps[\"className\"];\n @Prop() semantic: DBTagProps[\"semantic\"];\n @Prop() emphasis: DBTagProps[\"emphasis\"];\n @Prop() icon: DBTagProps[\"icon\"];\n @Prop() showCheckState: DBTagProps[\"showCheckState\"];\n @Prop() showIcon: DBTagProps[\"showIcon\"];\n @Prop() noText: DBTagProps[\"noText\"];\n @Prop() overflow: DBTagProps[\"overflow\"];\n @Prop() text: DBTagProps[\"text\"];\n @Prop() behavior: DBTagProps[\"behavior\"];\n\n handleRemove(event?: ClickEvent<HTMLButtonElement> | void) {\n if (!event) return;\n event.stopPropagation();\n if (this.remove) {\n this.remove.emit(event);\n }\n }\n getRemoveButtonText() {\n if (this.removeButton) {\n return this.removeButton;\n }\n\n // TODO: We should think this through again, if we would really like to have default and especially english, instead of german labels in here\n return DEFAULT_REMOVE;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tag\");\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tag\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-semantic={this.semantic}\n data-emphasis={this.emphasis}\n data-icon={this.icon}\n data-show-check-state={getBooleanAsString(this.showCheckState ?? true)}\n data-show-icon={getBooleanAsString(this.showIcon)}\n data-no-text={getBooleanAsString(this.noText)}\n data-overflow={getBooleanAsString(this.overflow)}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n {this.text ? this.text : null}\n {this.behavior === \"removable\" ? (\n <button\n class=\"db-button db-tab-remove-button\"\n data-icon=\"cross\"\n data-size=\"small\"\n data-no-text=\"true\"\n data-variant=\"ghost\"\n type=\"button\"\n onClick={(event) => this.handleRemove(event)}\n >\n <db-tooltip variant=\"label\">\n {this.getRemoveButtonText()}\n </db-tooltip>\n </button>\n ) : null}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as i,h as s,F as a}from"./p-CNzNv7KB.js";import{u as o,c as n}from"./p-YECpAE3G.js";const h=class{constructor(s){t(this,s);this.indexChange=i(this,"indexChange");this.tabSelect=i(this,"tabSelect");this._id="tabs-"+o();this._name="";this.initialized=false;this.showScrollLeft=false;this.showScrollRight=false;this.scrollContainer=null}convertTabs(){try{if(typeof this.tabs==="string"){return JSON.parse(this.tabs)}return this.tabs}catch(t){console.error(t)}return[]}evaluateScrollButtons(t){const i=t.scrollWidth>t.clientWidth;this.showScrollLeft=i&&t.scrollLeft>1;this.showScrollRight=i&&t.scrollLeft<t.scrollWidth-t.clientWidth}scroll(t){var i;let s=Number(this.arrowScrollDistance)||100;if(t){s*=-1}(i=this.scrollContainer)===null||i===void 0?void 0:i.scrollBy({top:0,left:s,behavior:"smooth"})}initTabList(){if(this._ref){const t=this._ref.querySelector(".db-tab-list");if(t){const i=t.querySelector('[role="tablist"]');if(i){i.setAttribute("aria-orientation",this.orientation||"horizontal");if(this.behavior==="arrows"){this.scrollContainer=i;this.evaluateScrollButtons(i);i.addEventListener("scroll",(()=>{this.evaluateScrollButtons(i)}))}}}}}initTabs(t){if(this._ref){const i=Array.from(this._ref.getElementsByClassName("db-tab-item"));const s=Array.from(this._ref.querySelectorAll(":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)"));for(const a of i){const o=i.indexOf(a);const n=a.querySelector("label");const h=a.querySelector("input");if(h&&n){if(!h.id){const t=`${this._name}-tab-${o}`;n.setAttribute("for",t);h.id=t;h.setAttribute("name",this._name);if(s.length>o){h.setAttribute("aria-controls",`${this._name}-tab-panel-${o}`)}}if(t){const t=!this.initialSelectedMode||this.initialSelectedMode==="auto";const i=this.initialSelectedIndex==null&&o===0||Number(this.initialSelectedIndex)===o;if(t&&i){h.click()}}}}for(const t of s){if(t.id)continue;const i=s.indexOf(t);t.id=`${this._name}-tab-panel-${i}`;t.setAttribute("aria-labelledby",`${this._name}-tab-${i}`)}}}handleChange(t){var i;t.stopPropagation();if(t.target){const s=t.target;const a=s.parentElement;if(a&&a.parentElement&&((i=a.parentElement)===null||i===void 0?void 0:i.nodeName)==="LI"){const i=a.parentElement.parentElement;if(i){const s=i.parentElement;if(s){const a=Array.from(s.childNodes).indexOf(i);if(this.indexChange){this.indexChange.emit(a)}if(this.tabSelect){this.tabSelect.emit(t)}}}}}}enableAttributePassing(t,i){const s=t===null||t===void 0?void 0:t.closest(i);if(t&&s){const i=s.attributes;for(let a=0;a<i.length;a++){const o=i.item(a);if(o&&(o.name.startsWith("data-")||o.name.startsWith("aria-"))){t.setAttribute(o.name,o.value);s.removeAttribute(o.name)}if(o&&o.name==="class"){const i=o.value.includes("hydrated");const a=o.value.replace("hydrated","").trim();const n=t.getAttribute("class");t.setAttribute(o.name,`${n?`${n} `:""}${a}`);if(i){s.setAttribute("class","hydrated")}else{s.removeAttribute(o.name)}}}}}watch0Fn(){if(this._ref&&this.initialized){this.initTabList();this.initTabs(true);const t=this._ref.querySelector(".db-tab-list");if(t){const i=new MutationObserver((t=>{t.forEach((t=>{if(t.removedNodes.length||t.addedNodes.length){this.initTabList();this.initTabs()}}))}));i.observe(t,{childList:true,subtree:true})}this.initialized=false}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tabs");this._id=this.id||this._id;this._name=`tabs-${this.name||o()}`;this.initialized=true;this.watch0Fn()}render(){var t,i,o,h;return s("div",{key:"f2927c65e3e2199780a8d5a8f5adc04dc48241e1",class:n("db-tabs",this.className),ref:t=>{this._ref=t},id:this._id,"data-orientation":this.orientation,"data-scroll-behavior":this.behavior,"data-alignment":(t=this.alignment)!==null&&t!==void 0?t:"start","data-width":(i=this.width)!==null&&i!==void 0?i:"auto",onInput:t=>this.handleChange(t),onChange:t=>this.handleChange(t)},this.showScrollLeft?s("db-button",{class:"tabs-scroll-left",variant:"ghost",icon:"chevron_left",type:"button",noText:true,onClick:()=>this.scroll(true)},"Scroll left"):null,this.tabs?s(a,null,s("db-tab-list",null,(o=this.convertTabs())===null||o===void 0?void 0:o.map(((t,i)=>s("db-tab-item",{key:this.name+"tab-item"+i,active:t.active,label:t.label,iconTrailing:t.iconTrailing,icon:t.icon,noText:t.noText})))),(h=this.convertTabs())===null||h===void 0?void 0:h.map(((t,i)=>s("db-tab-panel",{key:this.name+"tab-panel"+i,content:t.content},t.children)))):null,this.showScrollRight?s("db-button",{class:"tabs-scroll-right",variant:"ghost",icon:"chevron_right",type:"button",noText:true,onClick:()=>this.scroll()},"Scroll right"):null,s("slot",{key:"e34a5daca2d4be08527f000f1c9f9d8d405d16dd"}))}static get watchers(){return{_ref:["watch0"],initialized:["watch0"]}}};export{h as db_tabs};
|
|
2
|
+
//# sourceMappingURL=p-72330d25.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DBTabs","constructor","hostRef","this","_id","uuid","_name","initialized","showScrollLeft","showScrollRight","scrollContainer","convertTabs","tabs","JSON","parse","error","console","evaluateScrollButtons","tList","needsScroll","scrollWidth","clientWidth","scrollLeft","scroll","left","step","Number","arrowScrollDistance","_a","scrollBy","top","behavior","initTabList","_ref","tabList","querySelector","container","setAttribute","orientation","addEventListener","initTabs","init","tabItems","Array","from","getElementsByClassName","tabPanels","querySelectorAll","tabItem","index","indexOf","label","input","id","tabId","length","autoSelect","initialSelectedMode","shouldAutoSelect","initialSelectedIndex","click","panel","handleChange","event","stopPropagation","target","parent","parentElement","nodeName","list","indices","childNodes","indexChange","emit","tabSelect","enableAttributePassing","element","customElementSelector","closest","attributes","i","attr","item","name","startsWith","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","observer","MutationObserver","mutations","forEach","mutation","removedNodes","addedNodes","observe","childList","subtree","watch0","componentDidLoad","render","h","key","class","cls","className","ref","el","alignment","_b","width","onInput","onChange","variant","icon","type","noText","onClick","Fragment","_c","map","tab","active","iconTrailing","_d","content","children"],"sources":["src/components/tabs/tabs.tsx"],"sourcesContent":["import { InputEvent } from \"../../shared/model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\nimport { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tabs\",\n})\nexport class DBTabs {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTabsProps[\"id\"];\n @Prop() name: DBTabsProps[\"name\"];\n @Prop() tabs: DBTabsProps[\"tabs\"];\n @Prop() arrowScrollDistance: DBTabsProps[\"arrowScrollDistance\"];\n @Prop() orientation: DBTabsProps[\"orientation\"];\n @Prop() behavior: DBTabsProps[\"behavior\"];\n @Prop() initialSelectedMode: DBTabsProps[\"initialSelectedMode\"];\n @Prop() initialSelectedIndex: DBTabsProps[\"initialSelectedIndex\"];\n @Event() indexChange: EventEmitter<\n Parameters<Required<DBTabsProps>[\"onIndexChange\"]>[number]\n > | void;\n @Event() tabSelect: EventEmitter<\n Parameters<Required<DBTabsProps>[\"onTabSelect\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTabsProps[\"className\"];\n @Prop() alignment: DBTabsProps[\"alignment\"];\n @Prop() width: DBTabsProps[\"width\"];\n @State() _id = \"tabs-\" + uuid();\n @State() _name = \"\";\n @State() initialized = false;\n @State() showScrollLeft = false;\n @State() showScrollRight = false;\n @State() scrollContainer = null;\n\n convertTabs() {\n try {\n if (typeof this.tabs === \"string\") {\n return JSON.parse(this.tabs as string);\n }\n return this.tabs as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(tList: Element) {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft = needsScroll && tList.scrollLeft > 1;\n this.showScrollRight =\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth;\n }\n scroll(left?: boolean) {\n let step = Number(this.arrowScrollDistance) || 100;\n if (left) {\n step *= -1;\n }\n this.scrollContainer?.scrollBy({\n top: 0,\n left: step,\n behavior: \"smooth\",\n });\n }\n initTabList() {\n if (this._ref) {\n const tabList = this._ref.querySelector(\".db-tab-list\");\n if (tabList) {\n const container: HTMLElement | null =\n tabList.querySelector('[role=\"tablist\"]');\n if (container) {\n container.setAttribute(\n \"aria-orientation\",\n this.orientation || \"horizontal\"\n );\n if (this.behavior === \"arrows\") {\n this.scrollContainer = container;\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean) {\n if (this._ref) {\n const tabItems = Array.from<Element>(\n this._ref.getElementsByClassName(\"db-tab-item\")\n );\n const tabPanels = Array.from<Element>(\n this._ref.querySelectorAll(\n \":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)\"\n )\n );\n for (const tabItem of tabItems) {\n const index: number = tabItems.indexOf(tabItem);\n const label = tabItem.querySelector(\"label\");\n const input = tabItem.querySelector(\"input\");\n if (input && label) {\n if (!input.id) {\n const tabId = `${this._name}-tab-${index}`;\n label.setAttribute(\"for\", tabId);\n input.id = tabId;\n input.setAttribute(\"name\", this._name);\n if (tabPanels.length > index) {\n input.setAttribute(\n \"aria-controls\",\n `${this._name}-tab-panel-${index}`\n );\n }\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode || this.initialSelectedMode === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex == null && index === 0) ||\n Number(this.initialSelectedIndex) === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\n }\n }\n for (const panel of tabPanels) {\n if (panel.id) continue;\n const index: number = tabPanels.indexOf(panel);\n panel.id = `${this._name}-tab-panel-${index}`;\n panel.setAttribute(\"aria-labelledby\", `${this._name}-tab-${index}`);\n }\n }\n }\n handleChange(event: InputEvent<HTMLElement>) {\n event.stopPropagation();\n if (event.target) {\n const target = event.target as HTMLElement;\n const parent = target.parentElement;\n if (\n parent &&\n parent.parentElement &&\n parent.parentElement?.nodeName === \"LI\"\n ) {\n const tabItem = parent.parentElement.parentElement;\n if (tabItem) {\n const list = tabItem.parentElement;\n if (list) {\n const indices = Array.from(list.childNodes).indexOf(tabItem);\n if (this.indexChange) {\n this.indexChange.emit(indices);\n }\n if (this.tabSelect) {\n this.tabSelect.emit(event);\n }\n }\n }\n }\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized) {\n this.initTabList();\n this.initTabs(true);\n const tabList = this._ref.querySelector(\".db-tab-list\");\n if (tabList) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.removedNodes.length || mutation.addedNodes.length) {\n this.initTabList();\n this.initTabs();\n }\n });\n });\n observer.observe(tabList, {\n childList: true,\n subtree: true,\n });\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tabs\");\n this._id = this.id || this._id;\n this._name = `tabs-${this.name || uuid()}`;\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tabs\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-orientation={this.orientation}\n data-scroll-behavior={this.behavior}\n data-alignment={this.alignment ?? \"start\"}\n data-width={this.width ?? \"auto\"}\n onInput={(event) => this.handleChange(event)}\n onChange={(event) => this.handleChange(event)}\n >\n {this.showScrollLeft ? (\n <db-button\n class=\"tabs-scroll-left\"\n variant=\"ghost\"\n icon=\"chevron_left\"\n type=\"button\"\n noText={true}\n onClick={() => this.scroll(true)}\n >\n Scroll left\n </db-button>\n ) : null}\n {this.tabs ? (\n <Fragment>\n <db-tab-list>\n {this.convertTabs()?.map((tab, index) => (\n <db-tab-item\n key={this.name + \"tab-item\" + index}\n active={tab.active}\n label={tab.label}\n iconTrailing={tab.iconTrailing}\n icon={tab.icon}\n noText={tab.noText}\n ></db-tab-item>\n ))}\n </db-tab-list>\n {this.convertTabs()?.map((tab, index) => (\n <db-tab-panel\n key={this.name + \"tab-panel\" + index}\n content={tab.content}\n >\n {tab.children}\n </db-tab-panel>\n ))}\n </Fragment>\n ) : null}\n {this.showScrollRight ? (\n <db-button\n class=\"tabs-scroll-right\"\n variant=\"ghost\"\n icon=\"chevron_right\"\n type=\"button\"\n noText={true}\n onClick={() => this.scroll()}\n >\n Scroll right\n </db-button>\n ) : null}\n <slot></slot>\n </div>\n );\n }\n}\n"],"mappings":"0GA2BaA,EAAM,MAHlB,WAAAC,CAAAC,G,oFAsBUC,KAAAC,IAAM,QAAUC,IAChBF,KAAKG,MAAG,GACRH,KAAWI,YAAG,MACdJ,KAAcK,eAAG,MACjBL,KAAeM,gBAAG,MAClBN,KAAeO,gBAAG,IA+Q5B,CA7QC,WAAAC,GACE,IACE,UAAWR,KAAKS,OAAS,SAAU,CACjC,OAAOC,KAAKC,MAAMX,KAAKS,K,CAEzB,OAAOT,KAAKS,I,CACZ,MAAOG,GACPC,QAAQD,MAAMA,E,CAEhB,MAAO,E,CAET,qBAAAE,CAAsBC,GACpB,MAAMC,EAAcD,EAAME,YAAcF,EAAMG,YAC9ClB,KAAKK,eAAiBW,GAAeD,EAAMI,WAAa,EACxDnB,KAAKM,gBACHU,GAAeD,EAAMI,WAAaJ,EAAME,YAAcF,EAAMG,W,CAEhE,MAAAE,CAAOC,G,MACL,IAAIC,EAAOC,OAAOvB,KAAKwB,sBAAwB,IAC/C,GAAIH,EAAM,CACRC,IAAQ,C,EAEVG,EAAAzB,KAAKO,mBAAe,MAAAkB,SAAA,SAAAA,EAAEC,SAAS,CAC7BC,IAAK,EACLN,KAAMC,EACNM,SAAU,U,CAGd,WAAAC,GACE,GAAI7B,KAAK8B,KAAM,CACb,MAAMC,EAAU/B,KAAK8B,KAAKE,cAAc,gBACxC,GAAID,EAAS,CACX,MAAME,EACJF,EAAQC,cAAc,oBACxB,GAAIC,EAAW,CACbA,EAAUC,aACR,mBACAlC,KAAKmC,aAAe,cAEtB,GAAInC,KAAK4B,WAAa,SAAU,CAC9B5B,KAAKO,gBAAkB0B,EACvBjC,KAAKc,sBAAsBmB,GAC3BA,EAAUG,iBAAiB,UAAU,KACnCpC,KAAKc,sBAAsBmB,EAAU,G,KAOjD,QAAAI,CAASC,GACP,GAAItC,KAAK8B,KAAM,CACb,MAAMS,EAAWC,MAAMC,KACrBzC,KAAK8B,KAAKY,uBAAuB,gBAEnC,MAAMC,EAAYH,MAAMC,KACtBzC,KAAK8B,KAAKc,iBACR,uEAGJ,IAAK,MAAMC,KAAWN,EAAU,CAC9B,MAAMO,EAAgBP,EAASQ,QAAQF,GACvC,MAAMG,EAAQH,EAAQb,cAAc,SACpC,MAAMiB,EAAQJ,EAAQb,cAAc,SACpC,GAAIiB,GAASD,EAAO,CAClB,IAAKC,EAAMC,GAAI,CACb,MAAMC,EAAQ,GAAGnD,KAAKG,aAAa2C,IACnCE,EAAMd,aAAa,MAAOiB,GAC1BF,EAAMC,GAAKC,EACXF,EAAMf,aAAa,OAAQlC,KAAKG,OAChC,GAAIwC,EAAUS,OAASN,EAAO,CAC5BG,EAAMf,aACJ,gBACA,GAAGlC,KAAKG,mBAAmB2C,I,EAIjC,GAAIR,EAAM,CAER,MAAMe,GACHrD,KAAKsD,qBAAuBtD,KAAKsD,sBAAwB,OAC5D,MAAMC,EACHvD,KAAKwD,sBAAwB,MAAQV,IAAU,GAChDvB,OAAOvB,KAAKwD,wBAA0BV,EACxC,GAAIO,GAAcE,EAAkB,CAClCN,EAAMQ,O,IAKd,IAAK,MAAMC,KAASf,EAAW,CAC7B,GAAIe,EAAMR,GAAI,SACd,MAAMJ,EAAgBH,EAAUI,QAAQW,GACxCA,EAAMR,GAAK,GAAGlD,KAAKG,mBAAmB2C,IACtCY,EAAMxB,aAAa,kBAAmB,GAAGlC,KAAKG,aAAa2C,I,GAIjE,YAAAa,CAAaC,G,MACXA,EAAMC,kBACN,GAAID,EAAME,OAAQ,CAChB,MAAMA,EAASF,EAAME,OACrB,MAAMC,EAASD,EAAOE,cACtB,GACED,GACAA,EAAOC,iBACPvC,EAAAsC,EAAOC,iBAAa,MAAAvC,SAAA,SAAAA,EAAEwC,YAAa,KACnC,CACA,MAAMpB,EAAUkB,EAAOC,cAAcA,cACrC,GAAInB,EAAS,CACX,MAAMqB,EAAOrB,EAAQmB,cACrB,GAAIE,EAAM,CACR,MAAMC,EAAU3B,MAAMC,KAAKyB,EAAKE,YAAYrB,QAAQF,GACpD,GAAI7C,KAAKqE,YAAa,CACpBrE,KAAKqE,YAAYC,KAAKH,E,CAExB,GAAInE,KAAKuE,UAAW,CAClBvE,KAAKuE,UAAUD,KAAKV,E,MAaxB,sBAAAY,CACNC,EACAC,GAEA,MAAMX,EAASU,IAAO,MAAPA,SAAO,SAAPA,EAASE,QAAQD,GAChC,GAAID,GAAWV,EAAQ,CACrB,MAAMa,EAAab,EAAOa,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWxB,OAAQyB,IAAK,CAC1C,MAAMC,EAAOF,EAAWG,KAAKF,GAC7B,GACEC,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAR,EAAQvC,aAAa4C,EAAKE,KAAMF,EAAKI,OACrCnB,EAAOoB,gBAAgBL,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMI,EAAiBN,EAAKI,MAAMG,SAAS,YAC3C,MAAMH,EAAQJ,EAAKI,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAef,EAAQgB,aAAa,SAC1ChB,EAAQvC,aACN4C,EAAKE,KACL,GAAGQ,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBrB,EAAO7B,aAAa,QAAS,W,KACxB,CACL6B,EAAOoB,gBAAgBL,EAAKE,K,KAOtC,QAAAU,GACE,GAAI1F,KAAK8B,MAAQ9B,KAAKI,YAAa,CACjCJ,KAAK6B,cACL7B,KAAKqC,SAAS,MACd,MAAMN,EAAU/B,KAAK8B,KAAKE,cAAc,gBACxC,GAAID,EAAS,CACX,MAAM4D,EAAW,IAAIC,kBAAkBC,IACrCA,EAAUC,SAASC,IACjB,GAAIA,EAASC,aAAa5C,QAAU2C,EAASE,WAAW7C,OAAQ,CAC9DpD,KAAK6B,cACL7B,KAAKqC,U,IAEP,IAEJsD,EAASO,QAAQnE,EAAS,CACxBoE,UAAW,KACXC,QAAS,M,CAGbpG,KAAKI,YAAc,K,EAMvB,MAAAiG,GACErG,KAAK0F,U,CAGP,gBAAAY,GACEtG,KAAKwE,uBAAuBxE,KAAK8B,KAAM,WACvC9B,KAAKC,IAAMD,KAAKkD,IAAMlD,KAAKC,IAC3BD,KAAKG,MAAQ,QAAQH,KAAKgF,MAAQ9E,MAClCF,KAAKI,YAAc,KACnBJ,KAAK0F,U,CAGP,MAAAa,G,YACE,OACEC,EACE,OAAAC,IAAA,2CAAAC,MAAOC,EAAI,UAAW3G,KAAK4G,WAC3BC,IAAMC,IACJ9G,KAAK8B,KAAOgF,CAAE,EAEhB5D,GAAIlD,KAAKC,IACS,mBAAAD,KAAKmC,YACD,uBAAAnC,KAAK4B,SAAQ,kBACnBH,EAAAzB,KAAK+G,aAAa,MAAAtF,SAAA,EAAAA,EAAA,QACtB,cAAAuF,EAAAhH,KAAKiH,SAAK,MAAAD,SAAA,EAAAA,EAAI,OAC1BE,QAAUtD,GAAU5D,KAAK2D,aAAaC,GACtCuD,SAAWvD,GAAU5D,KAAK2D,aAAaC,IAEtC5D,KAAKK,eACJmG,EAAA,aACEE,MAAM,mBACNU,QAAQ,QACRC,KAAK,eACLC,KAAK,SACLC,OAAQ,KACRC,QAAS,IAAMxH,KAAKoB,OAAO,OAAK,eAIhC,KACHpB,KAAKS,KACJ+F,EAACiB,EAAQ,KACPjB,EAAA,oBACGkB,EAAA1H,KAAKQ,iBAAa,MAAAkH,SAAA,SAAAA,EAAEC,KAAI,CAACC,EAAK9E,IAC7B0D,EAAA,eACEC,IAAKzG,KAAKgF,KAAO,WAAalC,EAC9B+E,OAAQD,EAAIC,OACZ7E,MAAO4E,EAAI5E,MACX8E,aAAcF,EAAIE,aAClBT,KAAMO,EAAIP,KACVE,OAAQK,EAAIL,aAIjBQ,EAAA/H,KAAKQ,iBAAa,MAAAuH,SAAA,SAAEA,EAAAJ,KAAI,CAACC,EAAK9E,IAC7B0D,EAAA,gBACEC,IAAKzG,KAAKgF,KAAO,YAAclC,EAC/BkF,QAASJ,EAAII,SAEZJ,EAAIK,aAIT,KACHjI,KAAKM,gBACJkG,EAAA,aACEE,MAAM,oBACNU,QAAQ,QACRC,KAAK,gBACLC,KAAK,SACLC,OAAQ,KACRC,QAAS,IAAMxH,KAAKoB,UAAQ,gBAI5B,KACJoF,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as i,c as s,h as t,F as h}from"./p-CNzNv7KB.js";import{l as e,g as a,h as d,f as l,i as n,k as o,a as c}from"./p-DC9V_oNU.js";import{h as u,d as r,s as f,u as v,b,g as p,j as m,c as y}from"./p-YECpAE3G.js";const k=class{constructor(t){i(this,t);this.click=s(this,"click");this.input=s(this,"input");this.change=s(this,"change");this.blur=s(this,"blur");this.focus=s(this,"focus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._placeholderId="";this._descByIds=undefined;this._value="";this.initialized=false;this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,s,t,h;if(!((i=this._ref)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((s=this._ref)===null||s===void 0?void 0:s.validationMessage)||e;if(u()){this._voiceOverFallback=this._invalidMessage;r((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((t=this._ref)===null||t===void 0?void 0:t.validity.valid)&&this.required){this._descByIds=this._validMessageId;if(u()){this._voiceOverFallback=(h=this.validMessage)!==null&&h!==void 0?h:o;r((()=>this._voiceOverFallback=""),1e3)}}else if(f(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=this._placeholderId}}handleClick(i){if(this.click){this.click.emit(i)}}handleInput(i){if(this.input){this.input.emit(i)}this.handleValidation()}handleChange(i){if(this.change){this.change.emit(i)}this.handleValidation()}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}getOptionLabel(i){var s,t;return(s=i.label)!==null&&s!==void 0?s:(t=i.value)===null||t===void 0?void 0:t.toString()}enableAttributePassing(i,s){const t=i===null||i===void 0?void 0:i.closest(s);if(i&&t){const s=t.attributes;for(let h=0;h<s.length;h++){const e=s.item(h);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){i.setAttribute(e.name,e.value);t.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const h=e.value.replace("hydrated","").trim();const a=i.getAttribute("class");i.setAttribute(e.name,`${a?`${a} `:""}${h}`);if(s){t.setAttribute("class","hydrated")}else{t.removeAttribute(e.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||e}watch0(){this.watch0Fn()}watch1Fn(){if(this._id&&this.initialized){const i=this._id+l;const s=this._id+n;this._messageId=i;this._validMessageId=this._id+a;this._invalidMessageId=this._id+d;this._placeholderId=s;if(f(this.message,this.showMessage)){this._descByIds=i}else{this._descByIds=s}this.handleValidation();this.initialized=false}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-select");this.initialized=true;const s=(i=this.id)!==null&&i!==void 0?i:`select-${v()}`;this._id=s;this._messageId=s+l;this._validMessageId=s+a;this._invalidMessageId=s+d;this._placeholderId=s+n;this._invalidMessage=this.invalidMessage||e;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var i,s,e,a,d,l;return t("div",{key:"1ad3f50d41f9876e6c8bcf4b57e425d98ab33afc",class:y("db-select",this.className),"data-variant":this.variant,"data-hide-label":m(this.showLabel),"data-hide-asterisk":m(this.showRequiredAsterisk),"data-icon":this.icon,"data-show-icon":p(this.showIcon)},t("label",{key:"25669ee40024d9b93470dea1837b9e168499a438",htmlFor:this._id},(i=this.label)!==null&&i!==void 0?i:c),t("select",{key:"de35e6ceea2c3e3d2b2e09d62d070433c3e4a87f","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},required:b(this.required,"required"),disabled:b(this.disabled,"disabled"),id:this._id,name:this.name,size:this.size,value:(s=this.value)!==null&&s!==void 0?s:this._value,autocomplete:this.autocomplete,multiple:this.multiple,onInput:i=>this.handleInput(i),onClick:i=>this.handleClick(i),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),"aria-describedby":(e=this.ariaDescribedBy)!==null&&e!==void 0?e:this._descByIds},t("option",{key:"b142e1e61e4ece2de307a20b5639b109b5ffe89c",hidden:true}),((a=this.options)===null||a===void 0?void 0:a.length)?(d=this.options)===null||d===void 0?void 0:d.map((i=>{var s;return t(h,null,i.options?t("optgroup",{label:this.getOptionLabel(i),key:undefined},(s=i.options)===null||s===void 0?void 0:s.map((i=>t("option",{value:i.value,selected:i.selected,disabled:i.disabled,key:undefined},this.getOptionLabel(i))))):t("option",{value:i.value,disabled:i.disabled,selected:i.selected,key:undefined},this.getOptionLabel(i)))})):t("slot",null)),t("span",{key:"e603d405726ca9dec55f27c54abb816dc61f238c",id:this._placeholderId},(l=this.placeholder)!==null&&l!==void 0?l:this.label),f(this.message,this.showMessage)?t("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?t("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||o):null,t("db-infotext",{key:"6e1a5c43e46b7944ee97840f3c44bf31b3c90610",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),t("span",{key:"9a59a6d2df49d7e55f437d063f91691442794bee","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],initialized:["watch1"],value:["watch2"]}}};export{k as db_select};
|
|
2
|
+
//# sourceMappingURL=p-84dd974f.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DBSelect","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_placeholderId","_descByIds","_value","initialized","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleClick","event","click","emit","handleInput","input","handleChange","change","handleBlur","blur","handleFocus","focus","getOptionLabel","option","label","value","toString","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","placeholderId","DEFAULT_PLACEHOLDER_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","watch2","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","showRequiredAsterisk","icon","getBooleanAsString","showIcon","htmlFor","DEFAULT_LABEL","ref","el","getBoolean","disabled","size","autocomplete","multiple","onInput","onClick","onChange","onBlur","onFocus","ariaDescribedBy","hidden","options","_e","map","Fragment","optgroupOption","selected","_f","placeholder","messageIcon","semantic","role"],"sources":["src/components/select/select.tsx"],"sourcesContent":["import {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ChangeEvent,\n ClickEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getOptionKey,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-select\",\n})\nexport class DBSelect {\n private _ref!: HTMLSelectElement | any;\n @Prop() id: DBSelectProps[\"id\"];\n @Prop() invalidMessage: DBSelectProps[\"invalidMessage\"];\n @Prop() message: DBSelectProps[\"message\"];\n @Prop() showMessage: DBSelectProps[\"showMessage\"];\n @Prop() value: DBSelectProps[\"value\"];\n @Prop() validMessage: DBSelectProps[\"validMessage\"];\n @Prop() validation: DBSelectProps[\"validation\"];\n @Prop() required: DBSelectProps[\"required\"];\n @Event() click: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onClick\"]>[number]\n > | void;\n @Event() input: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBSelectProps[\"className\"];\n @Prop() variant: DBSelectProps[\"variant\"];\n @Prop() showLabel: DBSelectProps[\"showLabel\"];\n @Prop() showRequiredAsterisk: DBSelectProps[\"showRequiredAsterisk\"];\n @Prop() icon: DBSelectProps[\"icon\"];\n @Prop() showIcon: DBSelectProps[\"showIcon\"];\n @Prop() label: DBSelectProps[\"label\"];\n @Prop() disabled: DBSelectProps[\"disabled\"];\n @Prop() name: DBSelectProps[\"name\"];\n @Prop() size: DBSelectProps[\"size\"];\n @Prop() autocomplete: DBSelectProps[\"autocomplete\"];\n @Prop() multiple: DBSelectProps[\"multiple\"];\n @Prop() ariaDescribedBy: DBSelectProps[\"ariaDescribedBy\"];\n @Prop() options: DBSelectProps[\"options\"];\n @Prop() placeholder: DBSelectProps[\"placeholder\"];\n @Prop() messageIcon: DBSelectProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _placeholderId = \"\";\n @State() _descByIds = undefined;\n @State() _value = \"\";\n @State() initialized = false;\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the select */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n this.required\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = this._placeholderId;\n }\n }\n handleClick(event: ClickEvent<HTMLSelectElement> | any) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement> | any) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(option: DBSelectOptionType) {\n return option.label ?? option.value?.toString();\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLSelectElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id && this.initialized) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n const placeholderId = this._id + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = placeholderId;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n } else {\n this._descByIds = placeholderId;\n }\n this.handleValidation();\n this.initialized = false;\n }\n }\n\n @Watch(\"_id\")\n @Watch(\"initialized\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-select\");\n this.initialized = true;\n const mId = this.id ?? `select-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = mId + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-select\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\n data-icon={this.icon}\n data-show-icon={getBooleanAsString(this.showIcon)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <select\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n required={getBoolean(this.required, \"required\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n id={this._id}\n name={this.name}\n size={this.size}\n /* @ts-ignore */\nvalue={this.value ?? this._value}\n autocomplete={this.autocomplete}\n multiple={this.multiple}\n onInput={(event) => this.handleInput(event)}\n onClick={(event) => this.handleClick(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n >\n <option hidden={true}></option>\n {this.options?.length ? (\n this.options?.map((option) => (\n <Fragment>\n {option.options ? (\n <optgroup label={this.getOptionLabel(option)} key={undefined}>\n {option.options?.map((optgroupOption) => (\n <option\n value={optgroupOption.value}\n selected={optgroupOption.selected}\n disabled={optgroupOption.disabled}\n key={undefined}\n >\n {this.getOptionLabel(optgroupOption)}\n </option>\n ))}\n </optgroup>\n ) : (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.selected}\n key={undefined}\n >\n {this.getOptionLabel(option)}\n </option>\n )}\n </Fragment>\n ))\n ) : (\n <slot></slot>\n )}\n </select>\n <span id={this._placeholderId}>{this.placeholder ?? this.label}</span>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"6NAoDaA,EAAQ,MAHpB,WAAAC,CAAAC,G,iJA4CUC,KAAGC,IAAGC,UACNF,KAAUG,WAAGD,UACbF,KAAeI,gBAAGF,UAClBF,KAAiBK,kBAAGH,UACpBF,KAAeM,gBAAGJ,UAClBF,KAAcO,eAAG,GACjBP,KAAUQ,WAAGN,UACbF,KAAMS,OAAG,GACTT,KAAWU,YAAG,MACdV,KAAkBW,mBAAG,EAuQ/B,CArQC,aAAAC,G,MACE,UAAUC,EAAAb,KAAKc,gBAAgB,MAAAD,SAAA,EAAAA,EAAAb,KAAKe,aAAe,Q,CAErD,gBAAAC,G,YAEE,MAAKH,EAAAb,KAAKiB,QAAI,MAAAJ,SAAA,SAAAA,EAAEK,SAASC,QAASnB,KAAKe,aAAe,UAAW,CAC/Df,KAAKQ,WAAaR,KAAKK,kBACvBL,KAAKM,gBACHN,KAAKoB,kBACLC,EAAArB,KAAKiB,QAAI,MAAAI,SAAA,SAAAA,EAAEC,oBACXC,EACF,GAAIC,IAAgB,CAClBxB,KAAKW,mBAAqBX,KAAKM,gBAC/BmB,GAAM,IAAOzB,KAAKW,mBAAqB,IAAK,I,OAEzC,GACLX,KAAKY,mBACLc,EAAA1B,KAAKiB,QAAI,MAAAS,SAAA,SAAAA,EAAER,SAASC,QACpBnB,KAAK2B,SACL,CACA3B,KAAKQ,WAAaR,KAAKI,gBACvB,GAAIoB,IAAgB,CAClBxB,KAAKW,oBAAqBiB,EAAA5B,KAAKc,gBAAgB,MAAAc,SAAA,EAAAA,EAAAC,EAC/CJ,GAAM,IAAOzB,KAAKW,mBAAqB,IAAK,I,OAEzC,GAAImB,EAAkB9B,KAAK+B,QAAS/B,KAAKgC,aAAc,CAC5DhC,KAAKQ,WAAaR,KAAKG,U,KAClB,CACLH,KAAKQ,WAAaR,KAAKO,c,EAG3B,WAAA0B,CAAYC,GACV,GAAIlC,KAAKmC,MAAO,CACdnC,KAAKmC,MAAMC,KAAKF,E,EAGpB,WAAAG,CAAYH,GACV,GAAIlC,KAAKsC,MAAO,CACdtC,KAAKsC,MAAMF,KAAKF,E,CAElBlC,KAAKgB,kB,CAEP,YAAAuB,CAAaL,GACX,GAAIlC,KAAKwC,OAAQ,CACfxC,KAAKwC,OAAOJ,KAAKF,E,CAEnBlC,KAAKgB,kB,CAEP,UAAAyB,CAAWP,GACT,GAAIlC,KAAK0C,KAAM,CACb1C,KAAK0C,KAAKN,KAAKF,E,EAGnB,WAAAS,CAAYT,GACV,GAAIlC,KAAK4C,MAAO,CACd5C,KAAK4C,MAAMR,KAAKF,E,EAGpB,cAAAW,CAAeC,G,QACb,OAAOjC,EAAAiC,EAAOC,SAAS,MAAAlC,SAAA,EAAAA,GAAAQ,EAAAyB,EAAOE,SAAK,MAAA3B,SAAA,SAAAA,EAAE4B,U,CAQ/B,sBAAAC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKV,OACrCK,EAAOU,gBAAgBL,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMI,EAAiBN,EAAKV,MAAMiB,SAAS,YAC3C,MAAMjB,EAAQU,EAAKV,MAAMkB,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAejB,EAAQkB,aAAa,SAC1ClB,EAAQW,aACNJ,EAAKE,KACL,GAAGQ,EAAe,GAAGA,KAAkB,KAAKpB,KAE9C,GAAIgB,EAAgB,CAElBX,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOU,gBAAgBL,EAAKE,K,KAOtC,QAAAU,G,MACEtE,KAAKM,gBACHN,KAAKoB,kBACLP,EAAAb,KAAKiB,QAAI,MAAAJ,SAAA,SAAAA,EAAES,oBACXC,C,CAKJ,MAAAgD,GACEvE,KAAKsE,U,CAGP,QAAAE,GACE,GAAIxE,KAAKC,KAAOD,KAAKU,YAAa,CAChC,MAAM+D,EAAYzE,KAAKC,IAAMyE,EAC7B,MAAMC,EAAgB3E,KAAKC,IAAM2E,EACjC5E,KAAKG,WAAasE,EAClBzE,KAAKI,gBAAkBJ,KAAKC,IAAM4E,EAClC7E,KAAKK,kBAAoBL,KAAKC,IAAM6E,EACpC9E,KAAKO,eAAiBoE,EACtB,GAAI7C,EAAkB9B,KAAK+B,QAAS/B,KAAKgC,aAAc,CACrDhC,KAAKQ,WAAaiE,C,KACb,CACLzE,KAAKQ,WAAamE,C,CAEpB3E,KAAKgB,mBACLhB,KAAKU,YAAc,K,EAMvB,MAAAqE,GACE/E,KAAKwE,U,CAGP,QAAAQ,GACEhF,KAAKS,OAAST,KAAKgD,K,CAIrB,MAAAiC,GACEjF,KAAKgF,U,CAGP,gBAAAE,G,MACElF,KAAKkD,uBAAuBlD,KAAKiB,KAAM,aACvCjB,KAAKU,YAAc,KACnB,MAAMyE,GAAMtE,EAAAb,KAAKoF,MAAE,MAAAvE,SAAA,EAAAA,EAAI,UAAUwE,MACjCrF,KAAKC,IAAMkF,EACXnF,KAAKG,WAAagF,EAAMT,EACxB1E,KAAKI,gBAAkB+E,EAAMN,EAC7B7E,KAAKK,kBAAoB8E,EAAML,EAC/B9E,KAAKO,eAAiB4E,EAAMP,EAC5B5E,KAAKM,gBAAkBN,KAAKoB,gBAAkBG,EAC9CvB,KAAKsE,WACLtE,KAAKwE,WACLxE,KAAKgF,U,CAGP,MAAAM,G,gBACE,OACEC,EACE,OAAAC,IAAA,2CAAAC,MAAOC,EAAI,YAAa1F,KAAK2F,WACf,eAAA3F,KAAK4F,QAAO,kBACTC,EAAY7F,KAAK8F,WACd,qBAAAD,EAAY7F,KAAK+F,sBAAqB,YAC/C/F,KAAKgG,KACA,iBAAAC,EAAmBjG,KAAKkG,WAExCX,EAAA,SAAAC,IAAA,2CAAOW,QAASnG,KAAKC,MAAMY,EAAAb,KAAK+C,SAAS,MAAAlC,SAAA,EAAAA,EAAAuF,GACzCb,EAAA,UAAAC,IAAA,0DACgBxF,KAAKe,aAAe,UACZ,uBAAAf,KAAKe,WAC3BsF,IAAMC,IACJtG,KAAKiB,KAAOqF,CAAE,EAEhB3E,SAAU4E,EAAWvG,KAAK2B,SAAU,YACpC6E,SAAUD,EAAWvG,KAAKwG,SAAU,YACpCpB,GAAIpF,KAAKC,IACT2D,KAAM5D,KAAK4D,KACX6C,KAAMzG,KAAKyG,KAErBzD,OAAO3B,EAAArB,KAAKgD,SAAS,MAAA3B,SAAA,EAAAA,EAAArB,KAAKS,OAChBiG,aAAc1G,KAAK0G,aACnBC,SAAU3G,KAAK2G,SACfC,QAAU1E,GAAUlC,KAAKqC,YAAYH,GACrC2E,QAAU3E,GAAUlC,KAAKiC,YAAYC,GACrC4E,SAAW5E,GAAUlC,KAAKuC,aAAaL,GACvC6E,OAAS7E,GAAUlC,KAAKyC,WAAWP,GACnC8E,QAAU9E,GAAUlC,KAAK2C,YAAYT,GAAM,oBACzBR,EAAA1B,KAAKiH,mBAAe,MAAAvF,SAAA,EAAAA,EAAI1B,KAAKQ,YAE/C+E,EAAQ,UAAAC,IAAA,2CAAA0B,OAAQ,SACftF,EAAA5B,KAAKmH,WAAO,MAAAvF,SAAA,SAAAA,EAAE6B,SACb2D,EAAApH,KAAKmH,WAAS,MAAAC,SAAA,SAAAA,EAAAC,KAAKvE,I,MAAW,OAC5ByC,EAAC+B,EACE,KAAAxE,EAAOqE,QACN5B,EAAA,YAAUxC,MAAO/C,KAAK6C,eAAeC,GAAS0C,IAAKtF,YAChDW,EAAAiC,EAAOqE,WAAS,MAAAtG,SAAA,SAAAA,EAAAwG,KAAKE,GACpBhC,EACE,UAAAvC,MAAOuE,EAAevE,MACtBwE,SAAUD,EAAeC,SACzBhB,SAAUe,EAAef,SACzBhB,IAAKtF,WAEJF,KAAK6C,eAAe0E,OAK3BhC,EACE,UAAAvC,MAAOF,EAAOE,MACdwD,SAAU1D,EAAO0D,SACjBgB,SAAU1E,EAAO0E,SACjBhC,IAAKtF,WAEJF,KAAK6C,eAAeC,IAGhB,IAGbyC,EAAA,cAGJA,EAAA,QAAAC,IAAA,2CAAMJ,GAAIpF,KAAKO,iBAAiBkH,EAAAzH,KAAK0H,eAAW,MAAAD,SAAA,EAAAA,EAAIzH,KAAK+C,OACxDjB,EAAkB9B,KAAK+B,QAAS/B,KAAKgC,aACpCuD,EAAA,eACEkB,KAAK,QACLT,KAAMhG,KAAK2H,YACXvC,GAAIpF,KAAKG,YAERH,KAAK+B,SAEN,KACH/B,KAAKY,gBACJ2E,EACE,eAAAkB,KAAK,QACLmB,SAAS,aACTxC,GAAIpF,KAAKI,iBAERJ,KAAKc,cAAgBe,GAEtB,KACJ0D,EAAA,eAAAC,IAAA,2CACEiB,KAAK,QACLmB,SAAS,WACTxC,GAAIpF,KAAKK,mBAERL,KAAKM,iBAERiF,EAAA,QAAAC,IAAA,kEAA2B,OAAOqC,KAAK,UACpC7H,KAAKW,oB","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as i,c as t,h as s}from"./p-CNzNv7KB.js";import{l as h,g as e,h as a,f as d,k as n}from"./p-DC9V_oNU.js";import{h as c,d as l,s as f,b as o,u as r,j as u,c as b}from"./p-YECpAE3G.js";const v=class{constructor(s){i(this,s);this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this.initialized=false;this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._descByIds=undefined;this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,e;if(!((i=this._ref)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||h;if(c()){this._voiceOverFallback=this._invalidMessage;l((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((s=this._ref)===null||s===void 0?void 0:s.validity.valid)&&this.required){this._descByIds=this._validMessageId;if(c()){this._voiceOverFallback=(e=this.validMessage)!==null&&e!==void 0?e:n;l((()=>this._voiceOverFallback=""),1e3)}}else if(f(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=undefined}}handleChange(i){if(this.change){this.change.emit(i)}this.handleValidation()}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let h=0;h<t.length;h++){const e=t.item(h);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){i.setAttribute(e.name,e.value);s.removeAttribute(e.name)}if(e&&e.name==="class"){const t=e.value.includes("hydrated");const h=e.value.replace("hydrated","").trim();const a=i.getAttribute("class");i.setAttribute(e.name,`${a?`${a} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(e.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||h}watch0(){this.watch0Fn()}watch1Fn(){if(this._id){const i=this._id+d;this._messageId=i;this._validMessageId=this._id+e;this._invalidMessageId=this._id+a;if(f(this.message,this.showMessage)){this._descByIds=i}this.handleValidation()}}watch1(){this.watch1Fn()}watch2Fn(){if(this._ref){if(this.indeterminate!==undefined){this._ref.indeterminate=!!o(this.indeterminate)}}}watch2(){this.watch2Fn()}watch3Fn(){if(this.initialized&&this._ref){if(this.checked!=undefined){this._ref.checked=!!o(this.checked)}this.initialized=false}}watch3(){this.watch3Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-checkbox");this.initialized=true;const t=(i=this.id)!==null&&i!==void 0?i:`checkbox-${r()}`;this._id=t;this._messageId=t+d;this._validMessageId=t+e;this._invalidMessageId=t+a;this._invalidMessage=this.invalidMessage||h;this.watch0Fn();this.watch1Fn();this.watch2Fn();this.watch3Fn()}render(){var i;return s("div",{key:"bc83be5af75fce3d60215a8b5b1f1f2f7f73e7ef",class:b("db-checkbox",this.className),"data-size":this.size,"data-hide-asterisk":u(this.showRequiredAsterisk),"data-hide-label":u(this.showLabel)},s("label",{key:"7b1032573b74c6dc1901ade1b47deac67d57e06e",htmlFor:this._id},s("input",{key:"cc3d44ba0f0f726afb817b079dd6940765eae062",type:"checkbox","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,name:this.name,checked:o(this.checked,"checked"),disabled:o(this.disabled,"disabled"),value:this.value,required:o(this.required,"required"),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),"aria-describedby":(i=this.ariaDescribedBy)!==null&&i!==void 0?i:this._descByIds}),this.label?this.label:s("slot",null)),f(this.message,this.showMessage)?s("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?s("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||n):null,s("db-infotext",{key:"bbea8e6c7845a30cf1fa89392f15b46a6e9bf18d",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"6336afb5e75b45564b08f257be24d41b506971cb","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0","watch2","watch3"],invalidMessage:["watch0"],_id:["watch1"],initialized:["watch2","watch3"],indeterminate:["watch2"],checked:["watch3"]}}};export{v as db_checkbox};
|
|
2
|
+
//# sourceMappingURL=p-8b41c30e.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DBCheckbox","constructor","hostRef","this","initialized","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_descByIds","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleChange","event","change","emit","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","indeterminate","getBoolean","watch2","watch3Fn","checked","watch3","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","size","getHideProp","showRequiredAsterisk","showLabel","htmlFor","type","ref","el","disabled","onChange","onBlur","onFocus","ariaDescribedBy","label","icon","messageIcon","semantic","role"],"sources":["src/components/checkbox/checkbox.tsx"],"sourcesContent":["import {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBCheckboxProps, DBCheckboxState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-checkbox\",\n})\nexport class DBCheckbox {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBCheckboxProps[\"id\"];\n @Prop() invalidMessage: DBCheckboxProps[\"invalidMessage\"];\n @Prop() message: DBCheckboxProps[\"message\"];\n @Prop() showMessage: DBCheckboxProps[\"showMessage\"];\n @Prop() indeterminate: DBCheckboxProps[\"indeterminate\"];\n @Prop() checked: DBCheckboxProps[\"checked\"];\n @Prop() validMessage: DBCheckboxProps[\"validMessage\"];\n @Prop() validation: DBCheckboxProps[\"validation\"];\n @Prop() required: DBCheckboxProps[\"required\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBCheckboxProps[\"className\"];\n @Prop() size: DBCheckboxProps[\"size\"];\n @Prop() showRequiredAsterisk: DBCheckboxProps[\"showRequiredAsterisk\"];\n @Prop() showLabel: DBCheckboxProps[\"showLabel\"];\n @Prop() name: DBCheckboxProps[\"name\"];\n @Prop() disabled: DBCheckboxProps[\"disabled\"];\n @Prop() value: DBCheckboxProps[\"value\"];\n @Prop() ariaDescribedBy: DBCheckboxProps[\"ariaDescribedBy\"];\n @Prop() label: DBCheckboxProps[\"label\"];\n @Prop() messageIcon: DBCheckboxProps[\"messageIcon\"];\n @State() initialized = false;\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _descByIds = undefined;\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the checkbox */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n this.required\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = undefined;\n }\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n this.handleValidation();\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n if (this._ref) {\n if (this.indeterminate !== undefined) {\n // When indeterminate is set, the value of the checked prop only impacts the form submitted values.\n // It has no accessibility or UX implications. (https://mui.com/material-ui/react-checkbox/)\n this._ref.indeterminate = !!getBoolean(this.indeterminate);\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"indeterminate\")\n watch2() {\n this.watch2Fn();\n }\n\n watch3Fn() {\n if (this.initialized && this._ref) {\n // in angular this must be set via native element\n if (this.checked != undefined) {\n this._ref.checked = !!getBoolean(this.checked);\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"checked\")\n watch3() {\n this.watch3Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-checkbox\");\n this.initialized = true;\n const mId = this.id ?? `checkbox-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n this.watch3Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-checkbox\", this.className)}\n data-size={this.size}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\n data-hide-label={getHideProp(this.showLabel)}\n >\n <label htmlFor={this._id}>\n <input\n type=\"checkbox\"\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n value={this.value}\n required={getBoolean(this.required, \"required\")}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const t=t=>{var e;const{top:o,bottom:i,left:l,right:n}=t.getBoundingClientRect();const{innerHeight:s,innerWidth:f}=window;let d=o<0;let r=i>s;let c=l<0;let h=n>f;const p=t.dataset["outsideVy"];const a=t.dataset["outsideVx"];const g=(e=t===null||t===void 0?void 0:t.parentElement)===null||e===void 0?void 0:e.getBoundingClientRect();if(g){if(p){const e=t.dataset["outsideVy"];if(e==="top"){d=g.top-(i-g.bottom)<0}else{r=g.bottom+(g.top-o)>s}}if(a){const e=t.dataset["outsideVx"];if(e==="left"){c=g.left-(n-g.right)<0}else{h=g.right+(g.left-l)>f}}}return{outTop:d,outBottom:r,outLeft:c,outRight:h}};const e=e=>{const{outTop:o,outBottom:i,outLeft:l,outRight:n}=t(e);let s={};if(o||i){s={vy:o?"top":"bottom"};e.dataset["outsideVy"]=s.vy}else{delete e.dataset["outsideVy"]}if(l||n){s=Object.assign(Object.assign({},s),{vx:n?"right":"left"});e.dataset["outsideVx"]=s.vx}else{delete e.dataset["outsideVx"]}return s};const o=(t,e,o)=>{if(getComputedStyle(t).zIndex==="9999")return;const{top:l,bottom:n,childHeight:s,childWidth:f,width:d,right:r,left:c,correctedPlacement:h}=i(t,e,o);const p=t.dataset["width"]==="full";if(p){t.style.inlineSize=`${d}px`}if(h==="top"||h==="bottom"||h==="top-start"||h==="bottom-start"){t.style.insetInlineStart=`${c}px`}else if(h==="top-end"||h==="bottom-end"){t.style.insetInlineStart=`${r-f}px`}if(h===null||h===void 0?void 0:h.startsWith("top")){t.style.insetBlockStart=`${l-s}px`}else if(h===null||h===void 0?void 0:h.startsWith("bottom")){t.style.insetBlockStart=`${n}px`}t.style.position="fixed"};const i=(t,e,o)=>{if(!t||!e){return{top:0,bottom:0,right:0,height:0,width:0,left:0,childHeight:0,childWidth:0,correctedPlacement:o,innerWidth:window.innerWidth,innerHeight:window.innerHeight}}const i=t.getBoundingClientRect();const{top:l,height:n,bottom:s,right:f,left:d,width:r}=e.getBoundingClientRect();const{innerHeight:c,innerWidth:h}=window;let p=i.height;let a=i.width;if(o==="bottom"||o==="top"){a=a/2}if(o==="left"||o==="right"){p=p/2}const g=s+p>c;const b=l-p<0;const m=d-a<0;const $=f+a>h;let v=o;if(o.startsWith("bottom")){if(g){v=o===null||o===void 0?void 0:o.replace("bottom","top");if(m&&$){v="top"}else if(m){v="top-start"}else if($){v="top-end"}}else{if(m&&$){v="bottom"}else if(m){v="bottom-start"}else if($){v="bottom-end"}}}else if(o.startsWith("top")){if(b){v=o===null||o===void 0?void 0:o.replace("top","bottom");if(m&&$){v="bottom"}else if(m){v="bottom-start"}else if($){v="bottom-end"}}else{if(m&&$){v="top"}else if(m){v="top-start"}else if($){v="top-end"}}}else if(o.startsWith("left")){if(m){v=o===null||o===void 0?void 0:o.replace("left","right");if(g&&b){v="right"}else if(g){v="right-end"}else if(b){v="right-start"}}else{if(g&&b){v="left"}else if(g){v="left-end"}else if(b){v="left-start"}}}else if(v.startsWith("right")){if($){v=o===null||o===void 0?void 0:o.replace("right","left");if(g&&b){v="left"}else if(g){v="left-end"}else if(b){v="left-start"}}else{if(g&&b){v="right"}else if(g){v="right-end"}else if(b){v="right-start"}}}return{top:l,bottom:s,right:f,height:n,width:r,left:d,childHeight:i.height,childWidth:i.width,correctedPlacement:v,innerWidth:h,innerHeight:c}};const l=(t,e,o)=>{var l;const n=(l=getComputedStyle(t).getPropertyValue("--db-popover-distance"))!==null&&l!==void 0?l:"0px";const{top:s,height:f,width:d,childHeight:r,childWidth:c,right:h,left:p,bottom:a,correctedPlacement:g,innerWidth:b,innerHeight:m}=i(t,e,o);if(c>d&&(g.startsWith("bottom")||g.startsWith("top"))){const e=d/2/c*100;if(g.endsWith("start")){t.style.setProperty("--db-tooltip-arrow-inline-start",`${e}%`)}else if(g.endsWith("end")){t.style.setProperty("--db-tooltip-arrow-inline-start",`${100-e}%`)}}if(r>f&&(g.startsWith("left")||g.startsWith("bottom"))){const e=f/2/r*100;if(g.endsWith("start")){t.style.setProperty("--db-tooltip-arrow-block-start",`${e}%`)}else if(g.endsWith("end")){t.style.setProperty("--db-tooltip-arrow-block-start",`${100-e}%`)}}if(g==="right"||g==="left"){t.style.insetBlockStart=`${s+f/2}px`}else if(g==="right-start"||g==="left-start"){const e=s+r;t.style.insetBlockStart=`${s}px`;t.style.insetBlockEnd=`${e>m?m:e}px`}else if(g==="right-end"||g==="left-end"){const e=a-r;t.style.insetBlockStart=`${e<0?0:e}px`;t.style.insetBlockEnd=`${a}px`}else if(g==="top"||g==="bottom"){t.style.insetInlineStart=`${p+d/2}px`}else if(g==="top-start"||g==="bottom-start"){const e=p+c;t.style.insetInlineStart=`${p}px`;t.style.insetInlineEnd=`${e>b?b:e}px`}else if(g==="top-end"||g==="bottom-end"){const e=p-c;t.style.insetInlineStart=`${h-c}px`;t.style.insetInlineEnd=`${e<0?0:e}px`}if(g===null||g===void 0?void 0:g.startsWith("right")){const e=h+c;t.style.insetInlineStart=`calc(${h}px + ${n})`;t.style.insetInlineEnd=`calc(${e>b?b:e}px + ${n})`}else if(g===null||g===void 0?void 0:g.startsWith("left")){const e=p-c;t.style.insetInlineStart=`calc(${e<0?0:e}px - ${n})`;t.style.insetInlineEnd=`calc(${h}px - ${n})`}else if(g===null||g===void 0?void 0:g.startsWith("top")){const e=s-r;t.style.insetBlockStart=`calc(${e<0?0:e}px - ${n})`;t.style.insetBlockEnd=`calc(${a}px - ${n})`}else if(g===null||g===void 0?void 0:g.startsWith("bottom")){const e=a+r;t.style.insetBlockStart=`calc(${a}px + ${n})`;t.style.insetBlockEnd=`calc(${e>m?m:e}px + ${n})`}t.style.position="fixed";t.dataset["correctedPlacement"]=g};export{
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
const t=t=>{var e;const{top:o,bottom:i,left:l,right:n}=t.getBoundingClientRect();const{innerHeight:s,innerWidth:f}=window;let d=o<0;let r=i>s;let c=l<0;let h=n>f;const p=t.dataset["outsideVy"];const a=t.dataset["outsideVx"];const g=(e=t===null||t===void 0?void 0:t.parentElement)===null||e===void 0?void 0:e.getBoundingClientRect();if(g){if(p){const e=t.dataset["outsideVy"];if(e==="top"){d=g.top-(i-g.bottom)<0}else{r=g.bottom+(g.top-o)>s}}if(a){const e=t.dataset["outsideVx"];if(e==="left"){c=g.left-(n-g.right)<0}else{h=g.right+(g.left-l)>f}}}return{outTop:d,outBottom:r,outLeft:c,outRight:h}};const e=e=>{const{outTop:o,outBottom:i,outLeft:l,outRight:n}=t(e);let s={};if(o||i){s={vy:o?"top":"bottom"};e.dataset["outsideVy"]=s.vy}else{delete e.dataset["outsideVy"]}if(l||n){s=Object.assign(Object.assign({},s),{vx:n?"right":"left"});e.dataset["outsideVx"]=s.vx}else{delete e.dataset["outsideVx"]}return s};const o=(t,e,o)=>{if(getComputedStyle(t).zIndex==="9999")return;const{top:l,bottom:n,childHeight:s,childWidth:f,width:d,right:r,left:c,correctedPlacement:h}=i(t,e,o);const p=t.dataset["width"]==="full";if(p){t.style.inlineSize=`${d}px`}if(h==="top"||h==="bottom"||h==="top-start"||h==="bottom-start"){t.style.insetInlineStart=`${c}px`}else if(h==="top-end"||h==="bottom-end"){t.style.insetInlineStart=`${r-f}px`}if(h===null||h===void 0?void 0:h.startsWith("top")){t.style.insetBlockStart=`${l-s}px`}else if(h===null||h===void 0?void 0:h.startsWith("bottom")){t.style.insetBlockStart=`${n}px`}t.style.position="fixed"};const i=(t,e,o)=>{if(!t||!e){return{top:0,bottom:0,right:0,height:0,width:0,left:0,childHeight:0,childWidth:0,correctedPlacement:o,innerWidth:window.innerWidth,innerHeight:window.innerHeight}}const i=t.getBoundingClientRect();const{top:l,height:n,bottom:s,right:f,left:d,width:r}=e.getBoundingClientRect();const{innerHeight:c,innerWidth:h}=window;let p=i.height;let a=i.width;if(o==="bottom"||o==="top"){a=a/2}if(o==="left"||o==="right"){p=p/2}const g=s+p>c;const b=l-p<0;const m=d-a<0;const $=f+a>h;let v=o;if(o.startsWith("bottom")){if(g){v=o===null||o===void 0?void 0:o.replace("bottom","top");if(m&&$){v="top"}else if(m){v="top-start"}else if($){v="top-end"}}else{if(m&&$){v="bottom"}else if(m){v="bottom-start"}else if($){v="bottom-end"}}}else if(o.startsWith("top")){if(b){v=o===null||o===void 0?void 0:o.replace("top","bottom");if(m&&$){v="bottom"}else if(m){v="bottom-start"}else if($){v="bottom-end"}}else{if(m&&$){v="top"}else if(m){v="top-start"}else if($){v="top-end"}}}else if(o.startsWith("left")){if(m){v=o===null||o===void 0?void 0:o.replace("left","right");if(g&&b){v="right"}else if(g){v="right-end"}else if(b){v="right-start"}}else{if(g&&b){v="left"}else if(g){v="left-end"}else if(b){v="left-start"}}}else if(v.startsWith("right")){if($){v=o===null||o===void 0?void 0:o.replace("right","left");if(g&&b){v="left"}else if(g){v="left-end"}else if(b){v="left-start"}}else{if(g&&b){v="right"}else if(g){v="right-end"}else if(b){v="right-start"}}}return{top:l,bottom:s,right:f,height:n,width:r,left:d,childHeight:i.height,childWidth:i.width,correctedPlacement:v,innerWidth:h,innerHeight:c}};const l=(t,e,o)=>{var l;const n=(l=getComputedStyle(t).getPropertyValue("--db-popover-distance"))!==null&&l!==void 0?l:"0px";const{top:s,height:f,width:d,childHeight:r,childWidth:c,right:h,left:p,bottom:a,correctedPlacement:g,innerWidth:b,innerHeight:m}=i(t,e,o);if(c>d&&(g.startsWith("bottom")||g.startsWith("top"))){const e=d/2/c*100;if(g.endsWith("start")){t.style.setProperty("--db-tooltip-arrow-inline-start",`${e}%`)}else if(g.endsWith("end")){t.style.setProperty("--db-tooltip-arrow-inline-start",`${100-e}%`)}}if(r>f&&(g.startsWith("left")||g.startsWith("bottom"))){const e=f/2/r*100;if(g.endsWith("start")){t.style.setProperty("--db-tooltip-arrow-block-start",`${e}%`)}else if(g.endsWith("end")){t.style.setProperty("--db-tooltip-arrow-block-start",`${100-e}%`)}}if(g==="right"||g==="left"){t.style.insetBlockStart=`${s+f/2}px`}else if(g==="right-start"||g==="left-start"){const e=s+r;t.style.insetBlockStart=`${s}px`;t.style.insetBlockEnd=`${e>m?m:e}px`}else if(g==="right-end"||g==="left-end"){const e=a-r;t.style.insetBlockStart=`${e<0?0:e}px`;t.style.insetBlockEnd=`${a}px`}else if(g==="top"||g==="bottom"){t.style.insetInlineStart=`${p+d/2}px`}else if(g==="top-start"||g==="bottom-start"){const e=p+c;t.style.insetInlineStart=`${p}px`;t.style.insetInlineEnd=`${e>b?b:e}px`}else if(g==="top-end"||g==="bottom-end"){const e=p-c;t.style.insetInlineStart=`${h-c}px`;t.style.insetInlineEnd=`${e<0?0:e}px`}if(g===null||g===void 0?void 0:g.startsWith("right")){const e=h+c;t.style.insetInlineStart=`calc(${h}px + ${n})`;t.style.insetInlineEnd=`calc(${e>b?b:e}px + ${n})`}else if(g===null||g===void 0?void 0:g.startsWith("left")){const e=p-c;t.style.insetInlineStart=`calc(${e<0?0:e}px - ${n})`;t.style.insetInlineEnd=`calc(${h}px - ${n})`}else if(g===null||g===void 0?void 0:g.startsWith("top")){const e=s-r;t.style.insetBlockStart=`calc(${e<0?0:e}px - ${n})`;t.style.insetBlockEnd=`calc(${a}px - ${n})`}else if(g===null||g===void 0?void 0:g.startsWith("bottom")){const e=a+r;t.style.insetBlockStart=`calc(${a}px + ${n})`;t.style.insetBlockEnd=`calc(${e>m?m:e}px + ${n})`}t.style.position="fixed";t.dataset["correctedPlacement"]=g};export{o as a,l as b,i as g,e as h};
|
|
2
|
+
//# sourceMappingURL=p-G-TursYV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-CifCRcqG.js","sources":["src/utils/floating-components.ts"],"sourcesContent":["// TODO: We should reevaluate this as soon as CSS Anchor Positioning is supported in all relevant browsers\nconst isInView = (el: HTMLElement) => {\n const {\n top,\n bottom,\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let outTop = top < 0;\n let outBottom = bottom > innerHeight;\n let outLeft = left < 0;\n let outRight = right > innerWidth;\n\n // We need to check if it was already outside\n const outsideY = el.dataset['outsideVy'];\n const outsideX = el.dataset['outsideVx'];\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.dataset['outsideVy'];\n if (position === 'top') {\n outTop = parentRect.top - (bottom - parentRect.bottom) < 0;\n } else {\n outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;\n }\n }\n if (outsideX) {\n const position = el.dataset['outsideVx'];\n if (position === 'left') {\n outLeft = parentRect.left - (right - parentRect.right) < 0;\n } else {\n outRight = parentRect.right + (parentRect.left - left) > innerWidth;\n }\n }\n }\n return {\n outTop,\n outBottom,\n outLeft,\n outRight\n };\n};\nexport interface DBDataOutsidePair {\n vx?: 'left' | 'right';\n vy?: 'top' | 'bottom';\n}\nexport const handleDataOutside = (el: HTMLElement): DBDataOutsidePair => {\n const {\n outTop,\n outBottom,\n outLeft,\n outRight\n } = isInView(el);\n let dataOutsidePair: DBDataOutsidePair = {};\n if (outTop || outBottom) {\n dataOutsidePair = {\n vy: outTop ? 'top' : 'bottom'\n };\n el.dataset['outsideVy'] = dataOutsidePair.vy!;\n } else {\n delete el.dataset['outsideVy'];\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.dataset['outsideVx'] = dataOutsidePair.vx!;\n } else {\n delete el.dataset['outsideVx'];\n }\n return dataOutsidePair;\n};\nexport const handleFixedDropdown = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n // We skip this if we are in mobile it's already fixed\n if (getComputedStyle(element).zIndex === '9999') return;\n const {\n top,\n bottom,\n childHeight,\n childWidth,\n width,\n right,\n left,\n correctedPlacement\n } = getFloatingProps(element, parent, placement);\n const fullWidth = element.dataset['width'] === 'full';\n if (fullWidth) {\n element.style.inlineSize = `${width}px`;\n }\n if (correctedPlacement === 'top' || correctedPlacement === 'bottom' || correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n element.style.insetInlineStart = `${left}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n element.style.insetInlineStart = `${right - childWidth}px`;\n }\n if (correctedPlacement?.startsWith('top')) {\n element.style.insetBlockStart = `${top - childHeight}px`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n element.style.insetBlockStart = `${bottom}px`;\n }\n element.style.position = 'fixed';\n};\nexport const getFloatingProps = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n if (!element || !parent) {\n return {\n top: 0,\n bottom: 0,\n right: 0,\n height: 0,\n width: 0,\n left: 0,\n childHeight: 0,\n childWidth: 0,\n correctedPlacement: placement,\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight\n };\n }\n const childRect = element.getBoundingClientRect();\n const {\n top,\n height,\n bottom,\n right,\n left,\n width\n } = parent.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let childHeight = childRect.height;\n let childWidth = childRect.width;\n if (placement === 'bottom' || placement === 'top') {\n childWidth = childWidth / 2;\n }\n if (placement === 'left' || placement === 'right') {\n childHeight = childHeight / 2;\n }\n const outsideBottom = bottom + childHeight > innerHeight;\n const outsideTop = top - childHeight < 0;\n const outsideLeft = left - childWidth < 0;\n const outsideRight = right + childWidth > innerWidth;\n let correctedPlacement = placement;\n if (placement.startsWith('bottom')) {\n if (outsideBottom) {\n correctedPlacement = placement?.replace('bottom', 'top');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n }\n } else if (placement.startsWith('top')) {\n if (outsideTop) {\n correctedPlacement = placement?.replace('top', 'bottom');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n }\n } else if (placement.startsWith('left')) {\n if (outsideLeft) {\n correctedPlacement = placement?.replace('left', 'right');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n }\n } else if (correctedPlacement.startsWith('right')) {\n if (outsideRight) {\n correctedPlacement = placement?.replace('right', 'left');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n }\n }\n return {\n top,\n bottom,\n right,\n height,\n width,\n left,\n childHeight: childRect.height,\n childWidth: childRect.width,\n correctedPlacement,\n innerWidth,\n innerHeight\n };\n};\nexport const handleFixedPopover = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n const distance = getComputedStyle(element).getPropertyValue('--db-popover-distance') ?? '0px';\n const {\n top,\n height,\n width,\n childHeight,\n childWidth,\n right,\n left,\n bottom,\n correctedPlacement,\n innerWidth,\n innerHeight\n } = getFloatingProps(element, parent, placement);\n\n // Tooltip arrow position\n\n if (childWidth > width && (correctedPlacement.startsWith('bottom') || correctedPlacement.startsWith('top'))) {\n const diff = width / 2 / childWidth * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${100 - diff}%`);\n }\n }\n if (childHeight > height && (correctedPlacement.startsWith('left') || correctedPlacement.startsWith('bottom'))) {\n const diff = height / 2 / childHeight * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${100 - diff}%`);\n }\n }\n\n // Popover position\n\n if (correctedPlacement === 'right' || correctedPlacement === 'left') {\n // center horizontally\n element.style.insetBlockStart = `${top + height / 2}px`;\n } else if (correctedPlacement === 'right-start' || correctedPlacement === 'left-start') {\n const end = top + childHeight;\n element.style.insetBlockStart = `${top}px`;\n element.style.insetBlockEnd = `${end > innerHeight ? innerHeight : end}px`;\n } else if (correctedPlacement === 'right-end' || correctedPlacement === 'left-end') {\n const start = bottom - childHeight;\n element.style.insetBlockStart = `${start < 0 ? 0 : start}px`;\n element.style.insetBlockEnd = `${bottom}px`;\n } else if (correctedPlacement === 'top' || correctedPlacement === 'bottom') {\n // center vertically\n element.style.insetInlineStart = `${left + width / 2}px`;\n } else if (correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n const end = left + childWidth;\n element.style.insetInlineStart = `${left}px`;\n element.style.insetInlineEnd = `${end > innerWidth ? innerWidth : end}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n const start = left - childWidth;\n element.style.insetInlineStart = `${right - childWidth}px`;\n element.style.insetInlineEnd = `${start < 0 ? 0 : start}px`;\n }\n if (correctedPlacement?.startsWith('right')) {\n const end = right + childWidth;\n element.style.insetInlineStart = `calc(${right}px + ${distance})`;\n element.style.insetInlineEnd = `calc(${end > innerWidth ? innerWidth : end}px + ${distance})`;\n } else if (correctedPlacement?.startsWith('left')) {\n const start = left - childWidth;\n element.style.insetInlineStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetInlineEnd = `calc(${right}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('top')) {\n const start = top - childHeight;\n element.style.insetBlockStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetBlockEnd = `calc(${bottom}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n const end = bottom + childHeight;\n element.style.insetBlockStart = `calc(${bottom}px + ${distance})`;\n element.style.insetBlockEnd = `calc(${end > innerHeight ? innerHeight : end}px + ${distance})`;\n }\n element.style.position = 'fixed';\n element.dataset['correctedPlacement'] = correctedPlacement;\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-G-TursYV.js","sources":["src/utils/floating-components.ts"],"sourcesContent":["// TODO: We should reevaluate this as soon as CSS Anchor Positioning is supported in all relevant browsers\nconst isInView = (el: HTMLElement) => {\n const {\n top,\n bottom,\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let outTop = top < 0;\n let outBottom = bottom > innerHeight;\n let outLeft = left < 0;\n let outRight = right > innerWidth;\n\n // We need to check if it was already outside\n const outsideY = el.dataset['outsideVy'];\n const outsideX = el.dataset['outsideVx'];\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.dataset['outsideVy'];\n if (position === 'top') {\n outTop = parentRect.top - (bottom - parentRect.bottom) < 0;\n } else {\n outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;\n }\n }\n if (outsideX) {\n const position = el.dataset['outsideVx'];\n if (position === 'left') {\n outLeft = parentRect.left - (right - parentRect.right) < 0;\n } else {\n outRight = parentRect.right + (parentRect.left - left) > innerWidth;\n }\n }\n }\n return {\n outTop,\n outBottom,\n outLeft,\n outRight\n };\n};\nexport interface DBDataOutsidePair {\n vx?: 'left' | 'right';\n vy?: 'top' | 'bottom';\n}\nexport const handleDataOutside = (el: HTMLElement): DBDataOutsidePair => {\n const {\n outTop,\n outBottom,\n outLeft,\n outRight\n } = isInView(el);\n let dataOutsidePair: DBDataOutsidePair = {};\n if (outTop || outBottom) {\n dataOutsidePair = {\n vy: outTop ? 'top' : 'bottom'\n };\n el.dataset['outsideVy'] = dataOutsidePair.vy!;\n } else {\n delete el.dataset['outsideVy'];\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.dataset['outsideVx'] = dataOutsidePair.vx!;\n } else {\n delete el.dataset['outsideVx'];\n }\n return dataOutsidePair;\n};\nexport const handleFixedDropdown = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n // We skip this if we are in mobile it's already fixed\n if (getComputedStyle(element).zIndex === '9999') return;\n const {\n top,\n bottom,\n childHeight,\n childWidth,\n width,\n right,\n left,\n correctedPlacement\n } = getFloatingProps(element, parent, placement);\n const fullWidth = element.dataset['width'] === 'full';\n if (fullWidth) {\n element.style.inlineSize = `${width}px`;\n }\n if (correctedPlacement === 'top' || correctedPlacement === 'bottom' || correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n element.style.insetInlineStart = `${left}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n element.style.insetInlineStart = `${right - childWidth}px`;\n }\n if (correctedPlacement?.startsWith('top')) {\n element.style.insetBlockStart = `${top - childHeight}px`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n element.style.insetBlockStart = `${bottom}px`;\n }\n element.style.position = 'fixed';\n};\nexport const getFloatingProps = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n if (!element || !parent) {\n return {\n top: 0,\n bottom: 0,\n right: 0,\n height: 0,\n width: 0,\n left: 0,\n childHeight: 0,\n childWidth: 0,\n correctedPlacement: placement,\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight\n };\n }\n const childRect = element.getBoundingClientRect();\n const {\n top,\n height,\n bottom,\n right,\n left,\n width\n } = parent.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let childHeight = childRect.height;\n let childWidth = childRect.width;\n if (placement === 'bottom' || placement === 'top') {\n childWidth = childWidth / 2;\n }\n if (placement === 'left' || placement === 'right') {\n childHeight = childHeight / 2;\n }\n const outsideBottom = bottom + childHeight > innerHeight;\n const outsideTop = top - childHeight < 0;\n const outsideLeft = left - childWidth < 0;\n const outsideRight = right + childWidth > innerWidth;\n let correctedPlacement = placement;\n if (placement.startsWith('bottom')) {\n if (outsideBottom) {\n correctedPlacement = placement?.replace('bottom', 'top');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n }\n } else if (placement.startsWith('top')) {\n if (outsideTop) {\n correctedPlacement = placement?.replace('top', 'bottom');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n }\n } else if (placement.startsWith('left')) {\n if (outsideLeft) {\n correctedPlacement = placement?.replace('left', 'right');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n }\n } else if (correctedPlacement.startsWith('right')) {\n if (outsideRight) {\n correctedPlacement = placement?.replace('right', 'left');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n }\n }\n return {\n top,\n bottom,\n right,\n height,\n width,\n left,\n childHeight: childRect.height,\n childWidth: childRect.width,\n correctedPlacement,\n innerWidth,\n innerHeight\n };\n};\nexport const handleFixedPopover = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n const distance = getComputedStyle(element).getPropertyValue('--db-popover-distance') ?? '0px';\n const {\n top,\n height,\n width,\n childHeight,\n childWidth,\n right,\n left,\n bottom,\n correctedPlacement,\n innerWidth,\n innerHeight\n } = getFloatingProps(element, parent, placement);\n\n // Tooltip arrow position\n\n if (childWidth > width && (correctedPlacement.startsWith('bottom') || correctedPlacement.startsWith('top'))) {\n const diff = width / 2 / childWidth * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${100 - diff}%`);\n }\n }\n if (childHeight > height && (correctedPlacement.startsWith('left') || correctedPlacement.startsWith('bottom'))) {\n const diff = height / 2 / childHeight * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${100 - diff}%`);\n }\n }\n\n // Popover position\n\n if (correctedPlacement === 'right' || correctedPlacement === 'left') {\n // center horizontally\n element.style.insetBlockStart = `${top + height / 2}px`;\n } else if (correctedPlacement === 'right-start' || correctedPlacement === 'left-start') {\n const end = top + childHeight;\n element.style.insetBlockStart = `${top}px`;\n element.style.insetBlockEnd = `${end > innerHeight ? innerHeight : end}px`;\n } else if (correctedPlacement === 'right-end' || correctedPlacement === 'left-end') {\n const start = bottom - childHeight;\n element.style.insetBlockStart = `${start < 0 ? 0 : start}px`;\n element.style.insetBlockEnd = `${bottom}px`;\n } else if (correctedPlacement === 'top' || correctedPlacement === 'bottom') {\n // center vertically\n element.style.insetInlineStart = `${left + width / 2}px`;\n } else if (correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n const end = left + childWidth;\n element.style.insetInlineStart = `${left}px`;\n element.style.insetInlineEnd = `${end > innerWidth ? innerWidth : end}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n const start = left - childWidth;\n element.style.insetInlineStart = `${right - childWidth}px`;\n element.style.insetInlineEnd = `${start < 0 ? 0 : start}px`;\n }\n if (correctedPlacement?.startsWith('right')) {\n const end = right + childWidth;\n element.style.insetInlineStart = `calc(${right}px + ${distance})`;\n element.style.insetInlineEnd = `calc(${end > innerWidth ? innerWidth : end}px + ${distance})`;\n } else if (correctedPlacement?.startsWith('left')) {\n const start = left - childWidth;\n element.style.insetInlineStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetInlineEnd = `calc(${right}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('top')) {\n const start = top - childHeight;\n element.style.insetBlockStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetBlockEnd = `calc(${bottom}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n const end = bottom + childHeight;\n element.style.insetBlockStart = `calc(${bottom}px + ${distance})`;\n element.style.insetBlockEnd = `calc(${end > innerHeight ? innerHeight : end}px + ${distance})`;\n }\n element.style.position = 'fixed';\n element.dataset['correctedPlacement'] = correctedPlacement;\n}"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as i,c as t,h as s}from"./p-CNzNv7KB.js";import{l as h,g as a,h as e,f as d,k as l,b as n,r,a as o}from"./p-DC9V_oNU.js";import{h as c,d as u,s as f,u as v,e as b,b as m,j as p,c as y}from"./p-YECpAE3G.js";const w=class{constructor(s){i(this,s);this.input=t(this,"input");this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._descByIds=undefined;this._value="";this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,a;if(!((i=this._ref)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||h;if(c()){this._voiceOverFallback=this._invalidMessage;u((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((s=this._ref)===null||s===void 0?void 0:s.validity.valid)&&(this.required||this.minLength||this.maxLength)){this._descByIds=this._validMessageId;if(c()){this._voiceOverFallback=(a=this.validMessage)!==null&&a!==void 0?a:l;u((()=>this._voiceOverFallback=""),1e3)}}else if(f(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=undefined}}handleInput(i){if(this.input){this.input.emit(i)}this.handleValidation()}handleChange(i){if(this.change){this.change.emit(i)}this.handleValidation()}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let h=0;h<t.length;h++){const a=t.item(h);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){i.setAttribute(a.name,a.value);s.removeAttribute(a.name)}if(a&&a.name==="class"){const t=a.value.includes("hydrated");const h=a.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(a.name,`${e?`${e} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||h}watch0(){this.watch0Fn()}watch1Fn(){if(this._id){const i=this._id+d;this._messageId=i;this._validMessageId=this._id+a;this._invalidMessageId=this._id+e;if(f(this.message,this.showMessage)){this._descByIds=i}this.handleValidation()}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-textarea");const t=(i=this.id)!==null&&i!==void 0?i:`textarea-${v()}`;this._id=t;this._messageId=t+d;this._validMessageId=t+a;this._invalidMessageId=t+e;this._invalidMessage=this.invalidMessage||h;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var i,t,h,a,e;return s("div",{key:"bb263569669e5cd6e3756cc85b3123839c11619b",class:y("db-textarea",this.className),"data-variant":this.variant,"data-hide-asterisk":p(this.showRequiredAsterisk),"data-hide-label":p(this.showLabel)},s("label",{key:"1a055a4b09653c850f52b6eb35d68fbff6c49646",htmlFor:this._id},(i=this.label)!==null&&i!==void 0?i:o),s("textarea",{key:"99a17e3705b0470adb832b617b8772aebff91e1b","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,"data-field-sizing":this.fieldSizing,ref:i=>{this._ref=i},id:this._id,"data-resize":this.resize,"data-hide-resizer":p((t=this.showResizer)!==null&&t!==void 0?t:true),disabled:m(this.disabled,"disabled"),required:m(this.required,"required"),readOnly:m(this.readOnly,"readOnly")||m(this.readonly,"readonly"),form:this.form,maxLength:b(this.maxLength,this.maxlength),minLength:b(this.minLength,this.minlength),name:this.name,wrap:this.wrap,spellcheck:this.spellCheck,autocomplete:this.autocomplete,onInput:i=>this.handleInput(i),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),value:(h=this.value)!==null&&h!==void 0?h:this._value,"aria-describedby":(a=this.ariaDescribedBy)!==null&&a!==void 0?a:this._descByIds,placeholder:(e=this.placeholder)!==null&&e!==void 0?e:n,rows:b(this.rows,r),cols:b(this.cols)}),f(this.message,this.showMessage)?s("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?s("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||l):null,s("db-infotext",{key:"c18508018f0d445a629f716e633278610f1c975d",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"cddc433e7eae983b9047bdb01380f8f801ac40c2","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],value:["watch2"]}}};export{w as db_textarea};
|
|
2
|
+
//# sourceMappingURL=p-a3541c03.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DBTextarea","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_descByIds","_value","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","minLength","maxLength","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleInput","event","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","watch2","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showRequiredAsterisk","showLabel","htmlFor","label","DEFAULT_LABEL","fieldSizing","ref","el","resize","showResizer","disabled","getBoolean","readOnly","readonly","form","getNumber","maxlength","minlength","wrap","spellcheck","spellCheck","autocomplete","onInput","onChange","onBlur","onFocus","ariaDescribedBy","placeholder","_e","DEFAULT_PLACEHOLDER","rows","DEFAULT_ROWS","cols","size","icon","messageIcon","semantic","role"],"sources":["src/components/textarea/textarea.tsx"],"sourcesContent":["import {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_ROWS,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InputEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBTextareaProps, DBTextareaState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-textarea\",\n})\nexport class DBTextarea {\n private _ref!: HTMLTextAreaElement | any;\n @Prop() id: DBTextareaProps[\"id\"];\n @Prop() invalidMessage: DBTextareaProps[\"invalidMessage\"];\n @Prop() message: DBTextareaProps[\"message\"];\n @Prop() showMessage: DBTextareaProps[\"showMessage\"];\n @Prop() value: DBTextareaProps[\"value\"];\n @Prop() validMessage: DBTextareaProps[\"validMessage\"];\n @Prop() validation: DBTextareaProps[\"validation\"];\n @Prop() required: DBTextareaProps[\"required\"];\n @Prop() minLength: DBTextareaProps[\"minLength\"];\n @Prop() maxLength: DBTextareaProps[\"maxLength\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTextareaProps[\"className\"];\n @Prop() variant: DBTextareaProps[\"variant\"];\n @Prop() showRequiredAsterisk: DBTextareaProps[\"showRequiredAsterisk\"];\n @Prop() showLabel: DBTextareaProps[\"showLabel\"];\n @Prop() label: DBTextareaProps[\"label\"];\n @Prop() fieldSizing: DBTextareaProps[\"fieldSizing\"];\n @Prop() resize: DBTextareaProps[\"resize\"];\n @Prop() showResizer: DBTextareaProps[\"showResizer\"];\n @Prop() disabled: DBTextareaProps[\"disabled\"];\n @Prop() readOnly: DBTextareaProps[\"readOnly\"];\n @Prop() readonly: DBTextareaProps[\"readonly\"];\n @Prop() form: DBTextareaProps[\"form\"];\n @Prop() maxlength: DBTextareaProps[\"maxlength\"];\n @Prop() minlength: DBTextareaProps[\"minlength\"];\n @Prop() name: DBTextareaProps[\"name\"];\n @Prop() wrap: DBTextareaProps[\"wrap\"];\n @Prop() spellCheck: DBTextareaProps[\"spellCheck\"];\n @Prop() autocomplete: DBTextareaProps[\"autocomplete\"];\n @Prop() ariaDescribedBy: DBTextareaProps[\"ariaDescribedBy\"];\n @Prop() placeholder: DBTextareaProps[\"placeholder\"];\n @Prop() rows: DBTextareaProps[\"rows\"];\n @Prop() cols: DBTextareaProps[\"cols\"];\n @Prop() messageIcon: DBTextareaProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _descByIds = undefined;\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the textarea */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = undefined;\n }\n }\n handleInput(event: InputEvent<HTMLTextAreaElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLTextAreaElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n this.handleValidation();\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-textarea\");\n const mId = this.id ?? `textarea-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-textarea\", this.className)}\n data-variant={this.variant}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\n data-hide-label={getHideProp(this.showLabel)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <textarea\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n data-field-sizing={this.fieldSizing}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-resize={this.resize}\n data-hide-resizer={getHideProp(this.showResizer ?? true)}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n readOnly={\n getBoolean(this.readOnly, \"readOnly\") ||\n getBoolean(this.readonly, \"readonly\")\n }\n form={this.form}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n name={this.name}\n wrap={this.wrap}\n spellcheck={this.spellCheck}\n autocomplete={this.autocomplete}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n value={this.value ?? this._value}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n rows={getNumber(this.rows, DEFAULT_ROWS)}\n cols={getNumber(this.cols)}\n ></textarea>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"6NA+CaA,EAAU,MAHtB,WAAAC,CAAAC,G,sHAkDUC,KAAGC,IAAGC,UACNF,KAAUG,WAAGD,UACbF,KAAeI,gBAAGF,UAClBF,KAAiBK,kBAAGH,UACpBF,KAAeM,gBAAGJ,UAClBF,KAAUO,WAAGL,UACbF,KAAMQ,OAAG,GACTR,KAAkBS,mBAAG,EA8N/B,CA5NC,aAAAC,G,MACE,UAAUC,EAAAX,KAAKY,gBAAgB,MAAAD,SAAA,EAAAA,EAAAX,KAAKa,aAAe,Q,CAErD,gBAAAC,G,YAEE,MAAKH,EAAAX,KAAKe,QAAI,MAAAJ,SAAA,SAAAA,EAAEK,SAASC,QAASjB,KAAKa,aAAe,UAAW,CAC/Db,KAAKO,WAAaP,KAAKK,kBACvBL,KAAKM,gBACHN,KAAKkB,kBACLC,EAAAnB,KAAKe,QAAI,MAAAI,SAAA,SAAAA,EAAEC,oBACXC,EACF,GAAIC,IAAgB,CAClBtB,KAAKS,mBAAqBT,KAAKM,gBAC/BiB,GAAM,IAAOvB,KAAKS,mBAAqB,IAAK,I,OAEzC,GACLT,KAAKU,mBACLc,EAAAxB,KAAKe,QAAI,MAAAS,SAAA,SAAAA,EAAER,SAASC,SACnBjB,KAAKyB,UAAYzB,KAAK0B,WAAa1B,KAAK2B,WACzC,CACA3B,KAAKO,WAAaP,KAAKI,gBACvB,GAAIkB,IAAgB,CAClBtB,KAAKS,oBAAqBmB,EAAA5B,KAAKY,gBAAgB,MAAAgB,SAAA,EAAAA,EAAAC,EAC/CN,GAAM,IAAOvB,KAAKS,mBAAqB,IAAK,I,OAEzC,GAAIqB,EAAkB9B,KAAK+B,QAAS/B,KAAKgC,aAAc,CAC5DhC,KAAKO,WAAaP,KAAKG,U,KAClB,CACLH,KAAKO,WAAaL,S,EAGtB,WAAA+B,CAAYC,GACV,GAAIlC,KAAKmC,MAAO,CACdnC,KAAKmC,MAAMC,KAAKF,E,CAElBlC,KAAKc,kB,CAEP,YAAAuB,CAAaH,GACX,GAAIlC,KAAKsC,OAAQ,CACftC,KAAKsC,OAAOF,KAAKF,E,CAEnBlC,KAAKc,kB,CAEP,UAAAyB,CAAWL,GACT,GAAIlC,KAAKwC,KAAM,CACbxC,KAAKwC,KAAKJ,KAAKF,E,EAGnB,WAAAO,CAAYP,GACV,GAAIlC,KAAK0C,MAAO,CACd1C,KAAK0C,MAAMN,KAAKF,E,EASZ,sBAAAS,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,G,MACEhE,KAAKM,gBACHN,KAAKkB,kBACLP,EAAAX,KAAKe,QAAI,MAAAJ,SAAA,SAAAA,EAAES,oBACXC,C,CAKJ,MAAA4C,GACEjE,KAAKgE,U,CAGP,QAAAE,GACE,GAAIlE,KAAKC,IAAK,CACZ,MAAMkE,EAAYnE,KAAKC,IAAMmE,EAC7BpE,KAAKG,WAAagE,EAClBnE,KAAKI,gBAAkBJ,KAAKC,IAAMoE,EAClCrE,KAAKK,kBAAoBL,KAAKC,IAAMqE,EACpC,GAAIxC,EAAkB9B,KAAK+B,QAAS/B,KAAKgC,aAAc,CACrDhC,KAAKO,WAAa4D,C,CAEpBnE,KAAKc,kB,EAKT,MAAAyD,GACEvE,KAAKkE,U,CAGP,QAAAM,GACExE,KAAKQ,OAASR,KAAKwD,K,CAIrB,MAAAiB,GACEzE,KAAKwE,U,CAGP,gBAAAE,G,MACE1E,KAAK2C,uBAAuB3C,KAAKe,KAAM,eACvC,MAAM4D,GAAMhE,EAAAX,KAAK4E,MAAE,MAAAjE,SAAA,EAAAA,EAAI,YAAYkE,MACnC7E,KAAKC,IAAM0E,EACX3E,KAAKG,WAAawE,EAAMP,EACxBpE,KAAKI,gBAAkBuE,EAAMN,EAC7BrE,KAAKK,kBAAoBsE,EAAML,EAC/BtE,KAAKM,gBAAkBN,KAAKkB,gBAAkBG,EAC9CrB,KAAKgE,WACLhE,KAAKkE,WACLlE,KAAKwE,U,CAGP,MAAAM,G,cACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAOC,EAAI,cAAelF,KAAKmF,WACjB,eAAAnF,KAAKoF,QACC,qBAAAC,EAAYrF,KAAKsF,sBAAqB,kBACzCD,EAAYrF,KAAKuF,YAElCR,EAAA,SAAAC,IAAA,2CAAOQ,QAASxF,KAAKC,MAAMU,EAAAX,KAAKyF,SAAS,MAAA9E,SAAA,EAAAA,EAAA+E,GACzCX,EAAA,YAAAC,IAAA,0DACgBhF,KAAKa,aAAe,UAAS,uBACrBb,KAAKa,WAAU,oBAClBb,KAAK2F,YACxBC,IAAMC,IACJ7F,KAAKe,KAAO8E,CAAE,EAEhBjB,GAAI5E,KAAKC,IACI,cAAAD,KAAK8F,OACC,oBAAAT,GAAYlE,EAAAnB,KAAK+F,eAAe,MAAA5E,SAAA,EAAAA,EAAA,MACnD6E,SAAUC,EAAWjG,KAAKgG,SAAU,YACpCvE,SAAUwE,EAAWjG,KAAKyB,SAAU,YACpCyE,SACED,EAAWjG,KAAKkG,SAAU,aAC1BD,EAAWjG,KAAKmG,SAAU,YAE5BC,KAAMpG,KAAKoG,KACXzE,UAAW0E,EAAUrG,KAAK2B,UAAW3B,KAAKsG,WAC1C5E,UAAW2E,EAAUrG,KAAK0B,UAAW1B,KAAKuG,WAC1ClD,KAAMrD,KAAKqD,KACXmD,KAAMxG,KAAKwG,KACXC,WAAYzG,KAAK0G,WACjBC,aAAc3G,KAAK2G,aACnBC,QAAU1E,GAAUlC,KAAKiC,YAAYC,GACrC2E,SAAW3E,GAAUlC,KAAKqC,aAAaH,GACvC4E,OAAS5E,GAAUlC,KAAKuC,WAAWL,GACnC6E,QAAU7E,GAAUlC,KAAKyC,YAAYP,GACrCsB,OAAOhC,EAAAxB,KAAKwD,SAAK,MAAAhC,SAAA,EAAAA,EAAIxB,KAAKQ,OACR,oBAAAoB,EAAA5B,KAAKgH,mBAAmB,MAAApF,SAAA,EAAAA,EAAA5B,KAAKO,WAC/C0G,aAAaC,EAAAlH,KAAKiH,eAAe,MAAAC,SAAA,EAAAA,EAAAC,EACjCC,KAAMf,EAAUrG,KAAKoH,KAAMC,GAC3BC,KAAMjB,EAAUrG,KAAKsH,QAEtBxF,EAAkB9B,KAAK+B,QAAS/B,KAAKgC,aACpC+C,EAAA,eACEwC,KAAK,QACLC,KAAMxH,KAAKyH,YACX7C,GAAI5E,KAAKG,YAERH,KAAK+B,SAEN,KACH/B,KAAKU,gBACJqE,EACE,eAAAwC,KAAK,QACLG,SAAS,aACT9C,GAAI5E,KAAKI,iBAERJ,KAAKY,cAAgBiB,GAEtB,KACJkD,EAAA,eAAAC,IAAA,2CACEuC,KAAK,QACLG,SAAS,WACT9C,GAAI5E,KAAKK,mBAERL,KAAKM,iBAERyE,EAAA,QAAAC,IAAA,kEAA2B,OAAO2C,KAAK,UACpC3H,KAAKS,oB","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as i}from"./p-CNzNv7KB.js";import{D as s}from"./p-DC9V_oNU.js";import{d as e,u as a,g as o,c as h}from"./p-YECpAE3G.js";import{D as d}from"./p-BwSmFFdU.js";import{b as n}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as i}from"./p-CNzNv7KB.js";import{D as s}from"./p-DC9V_oNU.js";import{d as e,u as a,g as o,c as h}from"./p-YECpAE3G.js";import{D as d}from"./p-BwSmFFdU.js";import{b as n}from"./p-G-TursYV.js";const l=class{constructor(i){t(this,i);this._id=s;this.initialized=false;this._documentScrollListenerCallbackId=undefined;this._observer=undefined}handleClick(t){t.stopPropagation()}handleEscape(t){if((!t||t.key==="Escape")&&this._ref&&getComputedStyle(this._ref).visibility==="visible"){this.getParent().blur()}}getParent(){let t=this._ref.parentElement;if(t&&t.localName.includes("tooltip")){t=t.parentElement}return t}handleAutoPlacement(t){if(!t)return;if(this._ref){e((()=>{var i;n(this._ref,t,(i=this.placement)!==null&&i!==void 0?i:"bottom")}),1)}}handleDocumentScroll(t,i){var s,e;if(((s=t===null||t===void 0?void 0:t.target)===null||s===void 0?void 0:s.contains)&&((e=t===null||t===void 0?void 0:t.target)===null||e===void 0?void 0:e.contains(this._ref))){this.handleAutoPlacement(i)}}handleLeave(){var t;if(this._documentScrollListenerCallbackId){(new d).removeCallback(this._documentScrollListenerCallbackId)}(t=this._observer)===null||t===void 0?void 0:t.unobserve(this.getParent())}handleEnter(t){var i;this._documentScrollListenerCallbackId=(new d).addCallback((i=>this.handleDocumentScroll(i,t)));this.handleAutoPlacement(t);(i=this._observer)===null||i===void 0?void 0:i.observe(this.getParent())}enableAttributePassing(t,i){const s=t===null||t===void 0?void 0:t.closest(i);if(t&&s){const i=s.attributes;for(let e=0;e<i.length;e++){const a=i.item(e);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);s.removeAttribute(a.name)}if(a&&a.name==="class"){const i=a.value.includes("hydrated");const e=a.value.replace("hydrated","").trim();const o=t.getAttribute("class");t.setAttribute(a.name,`${o?`${o} `:""}${e}`);if(i){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}watch0Fn(){if(this._ref&&this.initialized&&this._id){const t=this.getParent();if(t){["mouseenter","focusin"].forEach((i=>{t.addEventListener(i,(()=>this.handleEnter(t)))}));t.addEventListener("keydown",(t=>this.handleEscape(t)));["mouseleave","focusout"].forEach((i=>{t.addEventListener(i,(()=>this.handleLeave()))}));t.dataset["hasTooltip"]="true";if(this.variant==="label"){t.setAttribute("aria-labelledby",this._id)}else{t.setAttribute("aria-describedby",this._id)}}if(typeof window!=="undefined"&&"IntersectionObserver"in window){this._observer=new IntersectionObserver((t=>{const i=t.find((({target:t})=>t===this.getParent()));if(i&&!i.isIntersecting){this.handleEscape(false)}}))}this.initialized=false}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tooltip");this._id=this.id||"tooltip-"+a();this.initialized=true;this.watch0Fn()}render(){var t,s;return i("i",{key:"52251be6619b67fd037abcd6f3c0e6ad273e4e2d",class:h("db-tooltip",this.className),role:"tooltip","aria-hidden":"true","data-gap":"true",ref:t=>{this._ref=t},id:this._id,"data-emphasis":this.emphasis,"data-animation":o((t=this.animation)!==null&&t!==void 0?t:true),"data-delay":this.delay,"data-width":this.width,"data-show-arrow":o((s=this.showArrow)!==null&&s!==void 0?s:true),"data-placement":this.placement,onClick:t=>this.handleClick(t)},i("slot",{key:"3b71f1756c1fd865bf5e116e50c51dd095a9cec0"}))}static get watchers(){return{_ref:["watch0"],initialized:["watch0"]}}};export{l as db_tooltip};
|
|
2
|
+
//# sourceMappingURL=p-d4e3d1db.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as i,c as t,h as s,F as a}from"./p-CNzNv7KB.js";import{n}from"./p-DC9V_oNU.js";import{u as h,d as e,b as o,g as d,c as l}from"./p-YECpAE3G.js";import{N as r}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as i,c as t,h as s,F as a}from"./p-CNzNv7KB.js";import{n}from"./p-DC9V_oNU.js";import{u as h,d as e,b as o,g as d,c as l}from"./p-YECpAE3G.js";import{N as r}from"./p-sP2NlPcu.js";import"./p-G-TursYV.js";const c=class{constructor(s){i(this,s);this.click=t(this,"click");this.initialized=false;this.hasAreaPopup=false;this.hasSubNavigation=true;this.isSubNavigationExpanded=false;this.autoClose=false;this.subNavigationId="sub-navigation-"+h();this.navigationItemSafeTriangle=undefined}handleNavigationItemClick(i){var t;if(((t=i===null||i===void 0?void 0:i.target)===null||t===void 0?void 0:t.nodeName)==="A"){this.autoClose=true;void e((()=>{this.autoClose=false}),1e3)}}handleClick(i){if(this.click){i.stopPropagation();this.click.emit(i)}if(this.hasAreaPopup){this.isSubNavigationExpanded=true}}handleBackClick(i){i.stopPropagation();this.isSubNavigationExpanded=false}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let a=0;a<t.length;a++){const n=t.item(a);if(n&&(n.name.startsWith("data-")||n.name.startsWith("aria-"))){i.setAttribute(n.name,n.value);s.removeAttribute(n.name)}if(n&&n.name==="class"){const t=n.value.includes("hydrated");const a=n.value.replace("hydrated","").trim();const h=i.getAttribute("class");i.setAttribute(n.name,`${h?`${h} `:""}${a}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(n.name)}}}}}watch0Fn(){if(this.subNavigationExpanded!==undefined){this.isSubNavigationExpanded=!!o(this.subNavigationExpanded,"subNavigationExpanded")}}watch0(){this.watch0Fn()}watch1Fn(){var i;if(this.initialized&&this._ref){const t=this._ref.querySelector("menu");if(t){if(((i=t.children)===null||i===void 0?void 0:i.length)>0){this.hasAreaPopup=true;if(!this.navigationItemSafeTriangle){this.navigationItemSafeTriangle=new r(this._ref,t)}}else{this.hasSubNavigation=false}}}}watch1(){this.watch1Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-navigation-item");this.initialized=true;this.watch0Fn();this.watch1Fn()}render(){var i;return s("li",{key:"d00b7b4852a729301d545abaf1a65cd3e0cdcee7",class:l("db-navigation-item",this.className),ref:i=>{this._ref=i},id:this.id,onMouseOver:()=>{var i;return(i=this.navigationItemSafeTriangle)===null||i===void 0?void 0:i.enableFollow()},onMouseLeave:()=>{var i;return(i=this.navigationItemSafeTriangle)===null||i===void 0?void 0:i.disableFollow()},onMouseMove:i=>{var t;return(t=this.navigationItemSafeTriangle)===null||t===void 0?void 0:t.followByMouseEvent(i)},"data-width":this.width,"data-icon":this.icon,"data-show-icon":d(this.showIcon),"data-active":this.active,"data-wrap":d(this.wrap),"aria-disabled":d(this.disabled)},!this.hasSubNavigation?this.text?this.text:s("slot",null):null,this.hasSubNavigation?s(a,null,s("button",{class:"db-navigation-item-expand-button","aria-haspopup":this.hasAreaPopup,"aria-expanded":this.isSubNavigationExpanded,disabled:o(this.disabled,"disabled"),onClick:i=>this.handleClick(i)},this.text?this.text:s("slot",null)),s("menu",{class:"db-sub-navigation","data-force-close":this.autoClose,id:this.subNavigationId,onClick:i=>this.handleNavigationItemClick(i)},this.hasAreaPopup?s("div",{class:"db-mobile-navigation-back"},s("db-button",{icon:"arrow_left",variant:"ghost",id:this.backButtonId,onClick:i=>this.handleBackClick(i)},(i=this.backButtonText)!==null&&i!==void 0?i:n)):null,s("slot",{name:"subNavigation"}))):null)}static get watchers(){return{subNavigationExpanded:["watch0"],initialized:["watch1"],_ref:["watch1"]}}};export{c as db_navigation_item};
|
|
2
|
+
//# sourceMappingURL=p-e9c323af.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as i}from"./p-CNzNv7KB.js";import{d as s,g as e,c as a}from"./p-YECpAE3G.js";import{D as o}from"./p-BwSmFFdU.js";import{b as n}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as i}from"./p-CNzNv7KB.js";import{d as s,g as e,c as a}from"./p-YECpAE3G.js";import{D as o}from"./p-BwSmFFdU.js";import{b as n}from"./p-G-TursYV.js";const h=class{constructor(i){t(this,i);this.initialized=false;this.isExpanded=false;this._documentScrollListenerCallbackId=undefined;this._observer=undefined}handleEscape(t){if(!t||t.key==="Escape"){for(const t of Array.from(this._ref.children)){t.blur()}}}handleAutoPlacement(){if(!this._ref)return;const t=this._ref.querySelector("article");if(t){s((()=>{var i;n(t,this._ref,(i=this.placement)!==null&&i!==void 0?i:"bottom")}),1)}}handleDocumentScroll(t){var i,s;if(((i=t===null||t===void 0?void 0:t.target)===null||i===void 0?void 0:i.contains)&&((s=t===null||t===void 0?void 0:t.target)===null||s===void 0?void 0:s.contains(this._ref))){this.handleAutoPlacement()}}handleEnter(){var t;this.isExpanded=true;this._documentScrollListenerCallbackId=(new o).addCallback((t=>this.handleDocumentScroll(t)));this.handleAutoPlacement();const i=this.getTrigger();if(i){(t=this._observer)===null||t===void 0?void 0:t.observe(i)}}handleLeave(t){var i;const s=t===null||t===void 0?void 0:t.target;const e=s===null||s===void 0?void 0:s.parentNode;if(!e||s.parentNode.querySelector(":focus")!==s&&s.parentNode.querySelector(":focus-within")!==s&&s.parentNode.querySelector(":hover")!==s){this.isExpanded=false;if(this._documentScrollListenerCallbackId){(new o).removeCallback(this._documentScrollListenerCallbackId)}const t=this.getTrigger();if(t){(i=this._observer)===null||i===void 0?void 0:i.unobserve(t)}}}getTrigger(){var t;if(this._ref){const i=Array.from(this._ref.children);if(i.length>=2){const s=i[0];if(s.tagName.includes("-")){return((t=s.children)===null||t===void 0?void 0:t.length)>0?s.children[0]:null}else{return s}}}return null}enableAttributePassing(t,i){const s=t===null||t===void 0?void 0:t.closest(i);if(t&&s){const i=s.attributes;for(let e=0;e<i.length;e++){const a=i.item(e);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);s.removeAttribute(a.name)}if(a&&a.name==="class"){const i=a.value.includes("hydrated");const e=a.value.replace("hydrated","").trim();const o=t.getAttribute("class");t.setAttribute(a.name,`${o?`${o} `:""}${e}`);if(i){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}watch0Fn(){if(this._ref&&this.initialized){this.initialized=false;const t=this.getTrigger();if(t){t.ariaHasPopup="true"}this.handleAutoPlacement();this._ref.addEventListener("keydown",(t=>this.handleEscape(t)));["mouseenter","focusin"].forEach((t=>{this._ref.addEventListener(t,(()=>this.handleEnter()))}));["mouseleave","focusout"].forEach((t=>{this._ref.addEventListener(t,(()=>this.handleLeave()))}));if(typeof window!=="undefined"&&"IntersectionObserver"in window){this._observer=new IntersectionObserver((t=>{const i=t.find((({target:t})=>t===this.getTrigger()));if(i&&!i.isIntersecting){this.handleEscape(false)}}))}}}watch0(){this.watch0Fn()}watch1Fn(){if(this._ref){const t=this.getTrigger();if(t){t.ariaExpanded=Boolean(this.isExpanded).toString()}}}watch1(){this.watch1Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-popover");this.initialized=true;this.watch0Fn();this.watch1Fn()}render(){var t;return i("div",{key:"4d902919abc8bf5b55a617a31424f35582e029c1",class:a("db-popover",this.className),ref:t=>{this._ref=t},id:this.id},i("slot",{key:"166a0b766f6f0c003e6d7a250fd466267117f59a",name:"trigger"}),i("article",{key:"4fa535dc081c76eb21671e0abfb7d090b38e6e5c",class:"db-popover-content","data-spacing":this.spacing,"data-gap":e(this.gap),"data-animation":e((t=this.animation)!==null&&t!==void 0?t:true),"data-open":e(this.open),"data-delay":this.delay,"data-width":this.width,"data-placement":this.placement},i("slot",{key:"ef47687b496cfe4d6cce11ef5d282a2ec3a88004"})))}static get watchers(){return{_ref:["watch0","watch1"],initialized:["watch0"],isExpanded:["watch1"]}}};export{h as db_popover};
|
|
2
|
+
//# sourceMappingURL=p-fdf5578d.entry.js.map
|