@db-ux/wc-core-components 1.0.0 → 1.1.0
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/dist/cjs/db-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/db-accordion.cjs.entry.js +1 -1
- package/dist/cjs/db-badge.cjs.entry.js +1 -1
- package/dist/cjs/db-brand.cjs.entry.js +1 -1
- package/dist/cjs/db-button.cjs.entry.js +1 -1
- package/dist/cjs/db-card.cjs.entry.js +1 -1
- package/dist/cjs/db-checkbox.cjs.entry.js +15 -16
- package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/db-divider.cjs.entry.js +1 -1
- package/dist/cjs/db-drawer.cjs.entry.js +1 -1
- package/dist/cjs/db-header.cjs.entry.js +2 -2
- package/dist/cjs/db-icon.cjs.entry.js +1 -1
- package/dist/cjs/db-infotext.cjs.entry.js +1 -1
- package/dist/cjs/db-input.cjs.entry.js +3 -3
- package/dist/cjs/db-input.cjs.entry.js.map +1 -1
- package/dist/cjs/db-link.cjs.entry.js +1 -1
- package/dist/cjs/db-navigation-item.cjs.entry.js +2 -2
- package/dist/cjs/db-navigation.cjs.entry.js +1 -1
- package/dist/cjs/db-notification.cjs.entry.js +1 -1
- package/dist/cjs/db-page.cjs.entry.js +1 -1
- package/dist/cjs/db-popover.cjs.entry.js +1 -1
- package/dist/cjs/db-radio.cjs.entry.js +4 -9
- package/dist/cjs/db-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/db-section.cjs.entry.js +1 -1
- package/dist/cjs/db-select.cjs.entry.js +5 -5
- package/dist/cjs/db-select.cjs.entry.js.map +1 -1
- package/dist/cjs/db-stack.cjs.entry.js +1 -1
- package/dist/cjs/db-switch.cjs.entry.js +8 -4
- package/dist/cjs/db-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/db-tab-item_3.cjs.entry.js +3 -3
- package/dist/cjs/db-tab-item_3.cjs.entry.js.map +1 -1
- package/dist/cjs/db-tabs.cjs.entry.js +21 -4
- package/dist/cjs/db-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/db-tag.cjs.entry.js +1 -1
- package/dist/cjs/db-textarea.cjs.entry.js +1 -1
- package/dist/cjs/db-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/db-ux.cjs.js +1 -1
- package/dist/cjs/{index-c0df827d.js → index-403366c7.js} +1 -12
- package/dist/cjs/index-403366c7.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -4
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{navigation-bb2d5552.js → navigation-5586b826.js} +2 -2
- package/dist/cjs/{navigation-bb2d5552.js.map → navigation-5586b826.js.map} +1 -1
- package/dist/collection/components/checkbox/checkbox.js +21 -22
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/input/input.js +27 -2
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/input/model.js.map +1 -1
- package/dist/collection/components/radio/radio.js +3 -8
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/select/model.js.map +1 -1
- package/dist/collection/components/select/select.js +29 -4
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/switch/model.js.map +1 -1
- package/dist/collection/components/switch/switch.js +38 -10
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/tab-item/tab-item.js +2 -2
- package/dist/collection/components/tab-item/tab-item.js.map +1 -1
- package/dist/collection/components/tabs/model.js.map +1 -1
- package/dist/collection/components/tabs/tabs.js +51 -3
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/shared/model.js.map +1 -1
- package/dist/collection/utils/index.js +0 -11
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/utils/react.js +16 -0
- package/dist/collection/utils/react.js.map +1 -0
- package/dist/custom-elements.json +144 -43
- package/dist/db-ux/db-ux.esm.js +1 -1
- package/dist/db-ux/db-ux.esm.js.map +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-0983e297.entry.js +2 -0
- package/dist/db-ux/p-0983e297.entry.js.map +1 -0
- package/dist/db-ux/{p-34f88e4e.js → p-0cdf053e.js} +2 -2
- package/dist/db-ux/{p-2d32aa06.entry.js → p-0d08f973.entry.js} +2 -2
- package/dist/db-ux/{p-78e5293a.entry.js → p-123cb839.entry.js} +2 -2
- package/dist/db-ux/p-123cb839.entry.js.map +1 -0
- package/dist/db-ux/{p-10d30f53.entry.js → p-1665a1f6.entry.js} +2 -2
- package/dist/db-ux/{p-b0f1a571.entry.js → p-1efdd41a.entry.js} +2 -2
- package/dist/db-ux/{p-031e9fbf.entry.js → p-223b1031.entry.js} +2 -2
- package/dist/db-ux/{p-a3be13fd.entry.js → p-2f695fb2.entry.js} +2 -2
- package/dist/db-ux/{p-ab8a1944.entry.js → p-300fb4ff.entry.js} +2 -2
- package/dist/db-ux/{p-d48f3770.entry.js → p-3958b712.entry.js} +2 -2
- package/dist/db-ux/p-3958b712.entry.js.map +1 -0
- package/dist/db-ux/{p-fea6db86.entry.js → p-398c72a6.entry.js} +2 -2
- package/dist/db-ux/p-45bb9feb.js +2 -0
- package/dist/db-ux/p-45bb9feb.js.map +1 -0
- package/dist/db-ux/{p-43aa16d7.entry.js → p-5c1b65ac.entry.js} +2 -2
- package/dist/db-ux/p-69948f78.entry.js +2 -0
- package/dist/db-ux/p-69948f78.entry.js.map +1 -0
- package/dist/db-ux/{p-6b6f1f7f.entry.js → p-7eb92648.entry.js} +2 -2
- package/dist/db-ux/{p-1c12853c.entry.js → p-8d9ef330.entry.js} +2 -2
- package/dist/db-ux/{p-79b43b42.entry.js → p-90caefe4.entry.js} +2 -2
- package/dist/db-ux/{p-c6d54dd4.entry.js → p-95e59a69.entry.js} +2 -2
- package/dist/db-ux/{p-71cb932e.entry.js → p-ab783af4.entry.js} +2 -2
- package/dist/db-ux/{p-3f2e2d87.entry.js → p-b0b04684.entry.js} +2 -2
- package/dist/db-ux/{p-79d9caa7.entry.js → p-b2886d1c.entry.js} +2 -2
- package/dist/db-ux/p-b4eefd78.entry.js +2 -0
- package/dist/db-ux/{p-08126c21.entry.js → p-c367b891.entry.js} +2 -2
- package/dist/db-ux/{p-1066cd52.entry.js → p-cf22eaea.entry.js} +2 -2
- package/dist/db-ux/{p-2e318e2a.entry.js → p-e1788dce.entry.js} +2 -2
- package/dist/db-ux/p-e1788dce.entry.js.map +1 -0
- package/dist/db-ux/p-e24051a3.entry.js +2 -0
- package/dist/db-ux/p-e24051a3.entry.js.map +1 -0
- package/dist/db-ux/{p-683d690f.entry.js → p-e6f5c82d.entry.js} +2 -2
- package/dist/db-ux/{p-5a689165.entry.js → p-f23ca7f6.entry.js} +2 -2
- package/dist/db-ux/{p-b47af6eb.entry.js → p-f3251c56.entry.js} +2 -2
- package/dist/db-ux/{p-8e2a086b.entry.js → p-f78c8591.entry.js} +2 -2
- package/dist/db-ux/p-fa9a7966.entry.js +2 -0
- package/dist/db-ux/p-fa9a7966.entry.js.map +1 -0
- package/dist/esm/db-accordion-item.entry.js +1 -1
- package/dist/esm/db-accordion.entry.js +1 -1
- package/dist/esm/db-badge.entry.js +1 -1
- package/dist/esm/db-brand.entry.js +1 -1
- package/dist/esm/db-button.entry.js +1 -1
- package/dist/esm/db-card.entry.js +1 -1
- package/dist/esm/db-checkbox.entry.js +15 -16
- package/dist/esm/db-checkbox.entry.js.map +1 -1
- package/dist/esm/db-divider.entry.js +1 -1
- package/dist/esm/db-drawer.entry.js +1 -1
- package/dist/esm/db-header.entry.js +2 -2
- package/dist/esm/db-icon.entry.js +1 -1
- package/dist/esm/db-infotext.entry.js +1 -1
- package/dist/esm/db-input.entry.js +3 -3
- package/dist/esm/db-input.entry.js.map +1 -1
- package/dist/esm/db-link.entry.js +1 -1
- package/dist/esm/db-navigation-item.entry.js +2 -2
- package/dist/esm/db-navigation.entry.js +1 -1
- package/dist/esm/db-notification.entry.js +1 -1
- package/dist/esm/db-page.entry.js +1 -1
- package/dist/esm/db-popover.entry.js +1 -1
- package/dist/esm/db-radio.entry.js +4 -9
- package/dist/esm/db-radio.entry.js.map +1 -1
- package/dist/esm/db-section.entry.js +1 -1
- package/dist/esm/db-select.entry.js +5 -5
- package/dist/esm/db-select.entry.js.map +1 -1
- package/dist/esm/db-stack.entry.js +1 -1
- package/dist/esm/db-switch.entry.js +8 -4
- package/dist/esm/db-switch.entry.js.map +1 -1
- package/dist/esm/db-tab-item_3.entry.js +3 -3
- package/dist/esm/db-tab-item_3.entry.js.map +1 -1
- package/dist/esm/db-tabs.entry.js +22 -5
- package/dist/esm/db-tabs.entry.js.map +1 -1
- package/dist/esm/db-tag.entry.js +1 -1
- package/dist/esm/db-textarea.entry.js +1 -1
- package/dist/esm/db-tooltip.entry.js +1 -1
- package/dist/esm/db-ux.js +1 -1
- package/dist/esm/{index-fad99efc.js → index-7d31752e.js} +2 -11
- package/dist/esm/index-7d31752e.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{navigation-9fec9921.js → navigation-09e3ace3.js} +2 -2
- package/dist/esm/{navigation-9fec9921.js.map → navigation-09e3ace3.js.map} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +1 -1
- package/dist/types/components/input/input.d.ts +1 -0
- package/dist/types/components/input/model.d.ts +2 -2
- package/dist/types/components/select/model.d.ts +2 -2
- package/dist/types/components/select/select.d.ts +1 -0
- package/dist/types/components/switch/model.d.ts +2 -2
- package/dist/types/components/switch/switch.d.ts +3 -2
- package/dist/types/components/tab-item/tab-item.d.ts +1 -2
- package/dist/types/components/tabs/model.d.ts +9 -0
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components.d.ts +24 -0
- package/dist/types/shared/model.d.ts +6 -0
- package/dist/types/utils/index.d.ts +0 -4
- package/dist/types/utils/react.d.ts +7 -0
- package/dist/vscode.html-custom-data.json +14 -7
- package/dist/web-types.json +54 -19
- package/package.json +3 -3
- package/dist/cjs/index-c0df827d.js.map +0 -1
- package/dist/db-ux/p-1566cfef.entry.js +0 -2
- package/dist/db-ux/p-1566cfef.entry.js.map +0 -1
- package/dist/db-ux/p-2e318e2a.entry.js.map +0 -1
- package/dist/db-ux/p-6f645f17.entry.js +0 -2
- package/dist/db-ux/p-6f645f17.entry.js.map +0 -1
- package/dist/db-ux/p-78e5293a.entry.js.map +0 -1
- package/dist/db-ux/p-871805e1.entry.js +0 -2
- package/dist/db-ux/p-871805e1.entry.js.map +0 -1
- package/dist/db-ux/p-99d90022.js +0 -2
- package/dist/db-ux/p-99d90022.js.map +0 -1
- package/dist/db-ux/p-a494046c.entry.js +0 -2
- package/dist/db-ux/p-a494046c.entry.js.map +0 -1
- package/dist/db-ux/p-d48f3770.entry.js.map +0 -1
- package/dist/db-ux/p-f65f4eac.entry.js +0 -2
- package/dist/esm/index-fad99efc.js.map +0 -1
- /package/dist/db-ux/{p-34f88e4e.js.map → p-0cdf053e.js.map} +0 -0
- /package/dist/db-ux/{p-2d32aa06.entry.js.map → p-0d08f973.entry.js.map} +0 -0
- /package/dist/db-ux/{p-10d30f53.entry.js.map → p-1665a1f6.entry.js.map} +0 -0
- /package/dist/db-ux/{p-b0f1a571.entry.js.map → p-1efdd41a.entry.js.map} +0 -0
- /package/dist/db-ux/{p-031e9fbf.entry.js.map → p-223b1031.entry.js.map} +0 -0
- /package/dist/db-ux/{p-a3be13fd.entry.js.map → p-2f695fb2.entry.js.map} +0 -0
- /package/dist/db-ux/{p-ab8a1944.entry.js.map → p-300fb4ff.entry.js.map} +0 -0
- /package/dist/db-ux/{p-fea6db86.entry.js.map → p-398c72a6.entry.js.map} +0 -0
- /package/dist/db-ux/{p-43aa16d7.entry.js.map → p-5c1b65ac.entry.js.map} +0 -0
- /package/dist/db-ux/{p-6b6f1f7f.entry.js.map → p-7eb92648.entry.js.map} +0 -0
- /package/dist/db-ux/{p-1c12853c.entry.js.map → p-8d9ef330.entry.js.map} +0 -0
- /package/dist/db-ux/{p-79b43b42.entry.js.map → p-90caefe4.entry.js.map} +0 -0
- /package/dist/db-ux/{p-c6d54dd4.entry.js.map → p-95e59a69.entry.js.map} +0 -0
- /package/dist/db-ux/{p-71cb932e.entry.js.map → p-ab783af4.entry.js.map} +0 -0
- /package/dist/db-ux/{p-3f2e2d87.entry.js.map → p-b0b04684.entry.js.map} +0 -0
- /package/dist/db-ux/{p-79d9caa7.entry.js.map → p-b2886d1c.entry.js.map} +0 -0
- /package/dist/db-ux/{p-f65f4eac.entry.js.map → p-b4eefd78.entry.js.map} +0 -0
- /package/dist/db-ux/{p-08126c21.entry.js.map → p-c367b891.entry.js.map} +0 -0
- /package/dist/db-ux/{p-1066cd52.entry.js.map → p-cf22eaea.entry.js.map} +0 -0
- /package/dist/db-ux/{p-683d690f.entry.js.map → p-e6f5c82d.entry.js.map} +0 -0
- /package/dist/db-ux/{p-5a689165.entry.js.map → p-f23ca7f6.entry.js.map} +0 -0
- /package/dist/db-ux/{p-b47af6eb.entry.js.map → p-f3251c56.entry.js.map} +0 -0
- /package/dist/db-ux/{p-8e2a086b.entry.js.map → p-f78c8591.entry.js.map} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as t,h as s}from"./p-1feee149.js";import{u as h,c as a,l as d}from"./p-99d90022.js";const e=class{constructor(s){i(this,s);this.onChange=t(this,"onChange",7);this.onBlur=t(this,"onBlur",7);this.onFocus=t(this,"onFocus",7);this.initialized=false;this._id=undefined}handleChange(i){if(this.onChange){this.onChange.emit(i)}if(this.change){this.change(i)}}handleBlur(i){if(this.onBlur){this.onBlur.emit(i)}if(this.blur){this.blur(i)}}handleFocus(i){if(this.onFocus){this.onFocus.emit(i)}if(this.focus){this.focus(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 d=i.getAttribute("class");i.setAttribute(a.name,`${d?`${d} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-radio");this.initialized=true;this._id=(i=this.id)!==null&&i!==void 0?i:`radio-${h()}`}componentDidUpdate(){if(this.checked&&this.initialized&&document&&this._id){const i=document===null||document===void 0?void 0:document.getElementById(this._id);if(i){if(this.checked!=undefined){i.checked=true}}}}render(){return s("label",{key:"05c0a0bb7843d804b0cc07da56c7d8101a9a0cb2",class:a("db-radio",this.className),"data-size":this.size,"data-hide-label":d(this.showLabel),htmlFor:this._id},s("input",{key:"dd1b285bab651829e6b0dc7293d052b75f9c75fe",type:"radio","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,name:this.name,checked:this.checked,disabled:this.disabled,"aria-describedby":this.describedbyid,value:this.value,required:this.required,onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i)}),this.label?this.label:s("slot",null))}};export{e as db_radio};
|
|
2
|
-
//# sourceMappingURL=p-1566cfef.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBRadio","constructor","hostRef","this","initialized","_id","undefined","handleChange","event","onChange","emit","change","handleBlur","onBlur","blur","handleFocus","onFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","_a","id","uuid","componentDidUpdate","checked","document","radioElement","getElementById","render","h","key","class","cls","className","size","getHideProp","showLabel","htmlFor","type","validation","ref","el","disabled","describedbyid","required","label"],"sources":["src/components/radio/radio.tsx"],"sourcesContent":["import { DBRadioProps, DBRadioState } from \"./model\";\nimport { cls, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport { Component, h, Fragment, Event, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-radio\",\n})\nexport class DBRadio {\n private _ref!: HTMLInputElement | null;\n @Prop() id: DBRadioProps[\"id\"];\n @Prop() checked: DBRadioProps[\"checked\"];\n @Event() onChange: any;\n @Prop() change: DBRadioProps[\"change\"];\n @Event() onBlur: any;\n @Prop() blur: DBRadioProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBRadioProps[\"focus\"];\n @Prop() size: DBRadioProps[\"size\"];\n @Prop() showLabel: DBRadioProps[\"showLabel\"];\n @Prop({attribute: \"classname\"}) className: DBRadioProps[\"className\"];\n @Prop() validation: DBRadioProps[\"validation\"];\n @Prop() name: DBRadioProps[\"name\"];\n @Prop() disabled: DBRadioProps[\"disabled\"];\n @Prop() describedbyid: DBRadioProps[\"describedbyid\"];\n @Prop() value: DBRadioProps[\"value\"];\n @Prop() required: DBRadioProps[\"required\"];\n @Prop() label: DBRadioProps[\"label\"];\n\n @State() initialized = false;\n @State() _id = undefined;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(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 componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-radio\");\n this.initialized = true;\n this._id = this.id ?? `radio-${uuid()}`;\n }\n\n componentDidUpdate() {\n if (this.checked && this.initialized && document && this._id) {\n const radioElement = document?.getElementById(\n this._id\n ) as HTMLInputElement;\n if (radioElement) {\n if (this.checked != undefined) {\n radioElement.checked = true;\n }\n }\n }\n }\n\n render() {\n return (\n <label\n class={cls(\"db-radio\", this.className)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n htmlFor={this._id}\n >\n <input\n type=\"radio\"\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={this.checked}\n disabled={this.disabled}\n aria-describedby={this.describedbyid}\n value={this.value}\n required={this.required}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n );\n }\n}\n"],"mappings":"0GAkBaA,EAAO,MAHnB,WAAAC,CAAAC,G,6GAwBUC,KAAAC,YAAc,MACdD,KAAAE,IAAMC,S,CAEf,YAAAC,CAAaC,GACX,GAAIL,KAAKM,SAAU,CACjBN,KAAKM,SAASC,KAAKF,E,CAErB,GAAIL,KAAKQ,OAAQ,CACfR,KAAKQ,OAAOH,E,EAGhB,UAAAI,CAAWJ,GACT,GAAIL,KAAKU,OAAQ,CACfV,KAAKU,OAAOH,KAAKF,E,CAEnB,GAAIL,KAAKW,KAAM,CACbX,KAAKW,KAAKN,E,EAGd,WAAAO,CAAYP,GACV,GAAIL,KAAKa,QAAS,CAChBb,KAAKa,QAAQN,KAAKF,E,CAEpB,GAAIL,KAAKc,MAAO,CACdd,KAAKc,MAAMT,E,EASP,sBAAAU,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,gBAAAW,G,MACEpC,KAAKe,uBAAuBf,KAAKqC,KAAM,YACvCrC,KAAKC,YAAc,KACnBD,KAAKE,KAAMoC,EAAAtC,KAAKuC,MAAE,MAAAD,SAAA,EAAAA,EAAI,SAASE,K,CAGjC,kBAAAC,GACE,GAAIzC,KAAK0C,SAAW1C,KAAKC,aAAe0C,UAAY3C,KAAKE,IAAK,CAC5D,MAAM0C,EAAeD,WAAQ,MAARA,gBAAQ,SAARA,SAAUE,eAC7B7C,KAAKE,KAEP,GAAI0C,EAAc,CAChB,GAAI5C,KAAK0C,SAAWvC,UAAW,CAC7ByC,EAAaF,QAAU,I,IAM/B,MAAAI,GACE,OACEC,EAAA,SAAAC,IAAA,2CACEC,MAAOC,EAAI,WAAYlD,KAAKmD,WAAU,YAC3BnD,KAAKoD,KAAI,kBACHC,EAAYrD,KAAKsD,WAClCC,QAASvD,KAAKE,KAEd6C,EAAA,SAAAC,IAAA,2CACEQ,KAAK,QAAO,eACExD,KAAKyD,aAAe,UAAS,uBACrBzD,KAAKyD,WAC3BC,IAAMC,IACJ3D,KAAKqC,KAAOsB,CAAE,EAEhBpB,GAAIvC,KAAKE,IACTuB,KAAMzB,KAAKyB,KACXiB,QAAS1C,KAAK0C,QACdkB,SAAU5D,KAAK4D,SAAQ,mBACL5D,KAAK6D,cACvBjC,MAAO5B,KAAK4B,MACZkC,SAAU9D,KAAK8D,SACfxD,SAAWD,GAAUL,KAAKI,aAAaC,GACvCK,OAASL,GAAUL,KAAKS,WAAWJ,GACnCQ,QAAUR,GAAUL,KAAKY,YAAYP,KAEtCL,KAAK+D,MAAQ/D,KAAK+D,MAAQhB,EAAA,a","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBTabItem","constructor","hostRef","this","initialized","_selected","handleChange","event","onChange","emit","change","selected","_a","target","getBooleanAsString","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","componentDidUpdate","active","click","render","h","key","class","cls","className","role","htmlFor","id","icon","iconAfter","getHideProp","showIcon","noText","type","disabled","controls","checked","ref","el","label","DBTabList","_id","DEFAULT_ID","uuid","DBTabPanel","labelledBy","content"],"sources":["src/components/tab-item/tab-item.tsx","src/components/tab-list/tab-list.tsx","src/components/tab-panel/tab-panel.tsx"],"sourcesContent":["import type { DBTabItemProps, DBTabItemState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ChangeEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport { Component, h, Fragment, Event, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tab-item\",\n})\nexport class DBTabItem {\n private _ref!: HTMLInputElement | null;\n @Prop() active: DBTabItemProps[\"active\"];\n @Event() onChange: any;\n @Prop() change: DBTabItemProps[\"change\"];\n @Prop({attribute: \"classname\"}) className: DBTabItemProps[\"className\"];\n @Prop() id: DBTabItemProps[\"id\"];\n @Prop() icon: DBTabItemProps[\"icon\"];\n @Prop() iconAfter: DBTabItemProps[\"iconAfter\"];\n @Prop() showIcon: DBTabItemProps[\"showIcon\"];\n @Prop() noText: DBTabItemProps[\"noText\"];\n @Prop() disabled: DBTabItemProps[\"disabled\"];\n @Prop() controls: DBTabItemProps[\"controls\"];\n @Prop() checked: DBTabItemProps[\"checked\"];\n @Prop() label: DBTabItemProps[\"label\"];\n\n @State() initialized = false;\n @State() _selected = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n\n const selected = (event.target as any)?.[\"checked\"];\n this._selected = getBooleanAsString(selected);\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-tab-item\");\n this.initialized = true;\n }\n\n componentDidUpdate() {\n if (this.active && this.initialized && this._ref) {\n this._ref.click();\n this.initialized = false;\n }\n }\n\n render() {\n return (\n <li class={cls(\"db-tab-item\", this.className)} role=\"none\">\n <label\n htmlFor={this.id}\n data-icon={this.icon}\n data-icon-after={this.iconAfter}\n data-hide-icon={getHideProp(this.showIcon)}\n data-hide-icon-after={getHideProp(this.showIcon)}\n data-no-text={this.noText}\n >\n <input\n type=\"radio\"\n role=\"tab\"\n disabled={this.disabled}\n aria-selected={this._selected}\n aria-controls={this.controls}\n checked={this.checked}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n onChange={(event) => this.handleChange(event)}\n />\n {this.label ? this.label : null}\n <slot></slot>\n </label>\n </li>\n );\n }\n}\n","import { DBTabListProps, DBTabListState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tab-list\",\n})\nexport class DBTabList {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBTabListProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTabListProps[\"className\"];\n\n @State() _id = DEFAULT_ID;\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-tab-list\");\n this._id = this.id || \"tab-list-\" + uuid();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tab-list\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n >\n <ul role=\"tablist\">\n <slot></slot>\n </ul>\n </div>\n );\n }\n}\n","import { DBTabPanelProps, DBTabPanelState } from \"./model\";\nimport { cls } from \"../../utils\";\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-tab-panel\",\n})\nexport class DBTabPanel {\n private _ref!: HTMLDivElement | null;\n @Prop({attribute: \"classname\"}) className: DBTabPanelProps[\"className\"];\n @Prop() id: DBTabPanelProps[\"id\"];\n @Prop() labelledBy: DBTabPanelProps[\"labelledBy\"];\n @Prop() content: DBTabPanelProps[\"content\"];\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-tab-panel\");\n }\n\n render() {\n return (\n <section\n class={cls(\"db-tab-panel\", this.className)}\n role=\"tabpanel\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n aria-labelledby={this.labelledBy}\n >\n {this.content ? this.content : null}\n <slot></slot>\n </section>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as s,h as t}from"./p-1feee149.js";import{e as h,j as e,s as d,u as a,c as n,l}from"./p-99d90022.js";import{i as o,h as c,c as f,d as u,e as r}from"./p-af3834b6.js";const v=class{constructor(t){i(this,t);this.onChange=s(this,"onChange",7);this.onBlur=s(this,"onBlur",7);this.onFocus=s(this,"onFocus",7);this.initialized=false;this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._descByIds="";this._voiceOverFallback=""}handleChange(i){var s,t,a,n,l,f;if(this.onChange){this.onChange.emit(i)}if(this.change){this.change(i)}if(!((s=this._ref)===null||s===void 0?void 0:s.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;if(h()){this._voiceOverFallback=(n=(t=this.invalidMessage)!==null&&t!==void 0?t:(a=this._ref)===null||a===void 0?void 0:a.validationMessage)!==null&&n!==void 0?n:o;e((()=>this._voiceOverFallback=""),1e3)}}else if(this.validation==="valid"||((l=this._ref)===null||l===void 0?void 0:l.validity.valid)&&this.required){this._descByIds=this._validMessageId;if(h()){this._voiceOverFallback=(f=this.validMessage)!==null&&f!==void 0?f:c;e((()=>this._voiceOverFallback=""),1e3)}}else if(d(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=""}}handleBlur(i){if(this.onBlur){this.onBlur.emit(i)}if(this.blur){this.blur(i)}}handleFocus(i){if(this.onFocus){this.onFocus.emit(i)}if(this.focus){this.focus(i)}}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 d=i.getAttribute("class");i.setAttribute(e.name,`${d?`${d} `:""}${h}`);if(s){t.setAttribute("class","hydrated")}else{t.removeAttribute(e.name)}}}}}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-checkbox");this.initialized=true;const s=(i=this.id)!==null&&i!==void 0?i:`checkbox-${a()}`;this._id=s;this._messageId=s+f;this._validMessageId=s+u;this._invalidMessageId=s+r}componentDidUpdate(){if(this._id){const i=this._id+f;this._messageId=i;this._validMessageId=this._id+u;this._invalidMessageId=this._id+r;if(d(this.message,this.showMessage)){this._descByIds=i}}if(this.initialized&&document&&this._id){const i=document===null||document===void 0?void 0:document.getElementById(this._id);if(i){if(this.checked!=undefined){i.checked=this.checked}if(this.indeterminate!==undefined){i.indeterminate=this.indeterminate}this.initialized=false}}}render(){var i,s,h,e;return t("div",{key:"6f903d630c468fdd7075c59b05e4137f5850e517",class:n("db-checkbox",this.className),"data-size":this.size,"data-hide-label":l(this.showLabel)},t("label",{key:"122e74ed43e7d3ea0423c926bce7efe784f1efcc",htmlFor:this._id},t("input",{key:"6dd67eb9a4e99426f8aa04f4d13d26302dd543f2",type:"checkbox","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,name:this.name,checked:this.checked,disabled:this.disabled,value:this.value,required:this.required,onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),"aria-describedby":this._descByIds}),this.label?this.label:t("slot",null)),d(this.message,this.showMessage)?t("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,t("db-infotext",{key:"8b0db2ae635836386a2d1a5cd9a606a761493b20",size:"small",semantic:"successful",id:this._validMessageId},(i=this.validMessage)!==null&&i!==void 0?i:c),t("db-infotext",{key:"75a7192d1a2999c9493453cc9d1019e74ce9ee85",size:"small",semantic:"critical",id:this._invalidMessageId},(e=(s=this.invalidMessage)!==null&&s!==void 0?s:(h=this._ref)===null||h===void 0?void 0:h.validationMessage)!==null&&e!==void 0?e:o),t("span",{key:"82516ae6e6ef5675d42a1aded5f00ebab1f1830c","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}};export{v as db_checkbox};
|
|
2
|
-
//# sourceMappingURL=p-6f645f17.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBCheckbox","constructor","hostRef","this","initialized","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_descByIds","_voiceOverFallback","handleChange","event","onChange","emit","change","_a","_ref","validity","valid","validation","hasVoiceOver","_d","_b","invalidMessage","_c","validationMessage","DEFAULT_INVALID_MESSAGE","delay","_e","required","_f","validMessage","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleBlur","onBlur","blur","handleFocus","onFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","mId","id","uuid","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","componentDidUpdate","messageId","document","checkboxElement","getElementById","checked","indeterminate","render","h","key","class","cls","className","size","getHideProp","showLabel","htmlFor","type","ref","el","disabled","label","icon","messageIcon","semantic","role"],"sources":["src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { DBCheckboxProps, DBCheckboxState } from \"./model\";\nimport {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\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 handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\n\nimport { Component, h, Fragment, Event, Prop, State } 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 | null;\n @Prop() id: DBCheckboxProps[\"id\"];\n @Prop() message: DBCheckboxProps[\"message\"];\n @Prop() showMessage: DBCheckboxProps[\"showMessage\"];\n @Prop() checked: DBCheckboxProps[\"checked\"];\n @Prop() indeterminate: DBCheckboxProps[\"indeterminate\"];\n @Event() onChange: any;\n @Prop() change: DBCheckboxProps[\"change\"];\n @Prop() validation: DBCheckboxProps[\"validation\"];\n @Prop() invalidMessage: DBCheckboxProps[\"invalidMessage\"];\n @Prop() required: DBCheckboxProps[\"required\"];\n @Prop() validMessage: DBCheckboxProps[\"validMessage\"];\n @Event() onBlur: any;\n @Prop() blur: DBCheckboxProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBCheckboxProps[\"focus\"];\n @Prop({attribute: \"classname\"}) className: DBCheckboxProps[\"className\"];\n @Prop() size: DBCheckboxProps[\"size\"];\n @Prop() showLabel: DBCheckboxProps[\"showLabel\"];\n @Prop() name: DBCheckboxProps[\"name\"];\n @Prop() disabled: DBCheckboxProps[\"disabled\"];\n @Prop() value: DBCheckboxProps[\"value\"];\n @Prop() label: DBCheckboxProps[\"label\"];\n\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() _descByIds = \"\";\n @State() _voiceOverFallback = \"\";\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\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 if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.validity.valid && 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 = \"\";\n }\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(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 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 }\n\n componentDidUpdate() {\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 }\n if (this.initialized && document && this._id) {\n const checkboxElement = document?.getElementById(\n this._id\n ) as HTMLInputElement;\n if (checkboxElement) {\n // in angular this must be set via native element\n if (this.checked != undefined) {\n checkboxElement.checked = this.checked;\n }\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 checkboxElement.indeterminate = this.indeterminate;\n }\n this.initialized = false;\n }\n }\n }\n\n render() {\n return (\n <div\n class={cls(\"db-checkbox\", this.className)}\n data-size={this.size}\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={this.checked}\n disabled={this.disabled}\n value={this.value}\n required={this.required}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n aria-describedby={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 <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage ?? DEFAULT_VALID_MESSAGE}\n </db-infotext>\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}\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 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBInput","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_dataListId","_descByIds","_value","_voiceOverFallback","handleInput","event","onInput","emit","input","handleChange","onChange","change","_a","_ref","validity","valid","validation","hasVoiceOver","_d","_b","invalidMessage","_c","validationMessage","DEFAULT_INVALID_MESSAGE","delay","_e","required","minLength","maxLength","pattern","_f","validMessage","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleBlur","onBlur","blur","handleFocus","onFocus","focus","getDataList","_list","Array","from","isArrayOfStrings","map","val","value","label","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","mId","id","uuid","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","DEFAULT_DATALIST_ID_SUFFIX","componentDidUpdate","messageId","dataListId","render","h","key","class","cls","className","variant","getHideProp","showLabel","showIcon","icon","iconAfter","htmlFor","DEFAULT_LABEL","ref","el","type","placeholder","DEFAULT_PLACEHOLDER","disabled","step","max","min","readOnly","form","autoComplete","autocomplete","autoFocus","autofocus","list","dataList","option","size","messageIcon","semantic","_h","_g","role"],"sources":["src/components/input/input.tsx"],"sourcesContent":["import {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport { DBInputProps, DBInputState } from \"./model\";\nimport {\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 { DBInfotext } from \"../infotext/infotext\";\nimport {\n handleFrameworkEventVue,\n handleFrameworkEventAngular,\n} from \"../../utils/form-components\";\n\nimport { Component, h, Fragment, Event, Prop, State } 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 | null;\n @Prop() id: DBInputProps[\"id\"];\n @Prop() dataListId: DBInputProps[\"dataListId\"];\n @Prop() message: DBInputProps[\"message\"];\n @Prop() showMessage: DBInputProps[\"showMessage\"];\n @Prop() value: DBInputProps[\"value\"];\n @Event() onInput: any;\n @Prop() input: DBInputProps[\"input\"];\n @Event() onChange: any;\n @Prop() change: DBInputProps[\"change\"];\n @Prop() validation: DBInputProps[\"validation\"];\n @Prop() invalidMessage: DBInputProps[\"invalidMessage\"];\n @Prop() required: DBInputProps[\"required\"];\n @Prop() minLength: DBInputProps[\"minLength\"];\n @Prop() maxLength: DBInputProps[\"maxLength\"];\n @Prop() pattern: DBInputProps[\"pattern\"];\n @Prop() validMessage: DBInputProps[\"validMessage\"];\n @Event() onBlur: any;\n @Prop() blur: DBInputProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBInputProps[\"focus\"];\n @Prop({attribute: \"classname\"}) className: DBInputProps[\"className\"];\n @Prop() variant: DBInputProps[\"variant\"];\n @Prop() showLabel: DBInputProps[\"showLabel\"];\n @Prop() showIcon: DBInputProps[\"showIcon\"];\n @Prop() icon: DBInputProps[\"icon\"];\n @Prop() iconAfter: DBInputProps[\"iconAfter\"];\n @Prop() label: DBInputProps[\"label\"];\n @Prop() name: DBInputProps[\"name\"];\n @Prop() type: DBInputProps[\"type\"];\n @Prop() placeholder: DBInputProps[\"placeholder\"];\n @Prop() disabled: DBInputProps[\"disabled\"];\n @Prop() step: DBInputProps[\"step\"];\n @Prop() max: DBInputProps[\"max\"];\n @Prop() min: DBInputProps[\"min\"];\n @Prop() readOnly: DBInputProps[\"readOnly\"];\n @Prop() form: DBInputProps[\"form\"];\n @Prop() autocomplete: DBInputProps[\"autocomplete\"];\n @Prop() autofocus: DBInputProps[\"autofocus\"];\n @Prop() dataList: DBInputProps[\"dataList\"];\n\n @Prop() messageIcon: DBInputProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _dataListId = undefined;\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n handleInput(event: InputEvent<HTMLInputElement>) {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input(event);\n }\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\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 if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\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 = \"\";\n }\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(event);\n }\n }\n getDataList(_list?: string[] | ValueLabelType[]) {\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 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 }\n\n componentDidUpdate() {\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 }\n this._value = this.value;\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-hide-icon={getHideProp(this.showIcon)}\n data-icon={this.icon}\n data-icon-after={this.iconAfter}\n data-hide-icon-after={getHideProp(this.showIcon)}\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 ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n type={this.type || \"text\"}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n disabled={this.disabled}\n required={this.required}\n step={this.step}\n value={this.value ?? this._value}\n maxLength={this.maxLength}\n minLength={this.minLength}\n max={this.max}\n min={this.min}\n readOnly={this.readOnly}\n form={this.form}\n pattern={this.pattern}\n autoComplete={this.autocomplete}\n autoFocus={this.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._descByIds}\n />\n {this.dataList ? (\n <datalist id={this._dataListId}>\n {this.getDataList(this.dataList)?.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 <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage ?? DEFAULT_VALID_MESSAGE}\n </db-infotext>\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}\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 +0,0 @@
|
|
|
1
|
-
import{r as t,h as s,F as i}from"./p-1feee149.js";import{u as a,c as o}from"./p-99d90022.js";const n=class{constructor(s){t(this,s);this._id="tabs-"+a();this._name="";this.initialized=false;this.showScrollLeft=false;this.showScrollRight=false;this.scrollContainer=null}convertTabs(t){try{if(typeof t==="string"){return JSON.parse(t)}return t}catch(t){console.error(t)}return[]}evaluateScrollButtons(t){const s=t.scrollWidth>t.clientWidth;this.showScrollLeft=s&&t.scrollLeft>1;this.showScrollRight=s&&t.scrollLeft<t.scrollWidth-t.clientWidth}scroll(t){var s;let i=this.arrowScrollDistance||100;if(t){i*=-1}(s=this.scrollContainer)===null||s===void 0?void 0:s.scrollBy({top:0,left:i,behavior:"smooth"})}initTabList(){if(this._ref){const t=this._ref.querySelector(".db-tab-list");if(t){const s=t.querySelector('[role="tablist"]');if(s){s.setAttribute("aria-orientation",this.orientation||"horizontal");if(this.behavior==="arrows"){this.scrollContainer=s;this.evaluateScrollButtons(s);s.addEventListener("scroll",(()=>{this.evaluateScrollButtons(s)}))}}}}}initTabs(t){if(this._ref){const s=Array.from(this._ref.getElementsByClassName("db-tab-item"));for(const i of s){const a=s.indexOf(i);const o=i.querySelector("label");const n=i.querySelector("input");if(n&&o){if(!n.id){const t=`${this._name}-tab-${a}`;o.setAttribute("for",t);n.setAttribute("aria-controls",`${this._name}-tab-panel-${a}`);n.id=t;n.setAttribute("name",this._name)}if(t){const t=!this.initialSelectedMode||this.initialSelectedMode==="auto";const s=this.initialSelectedIndex==null&&a===0||this.initialSelectedIndex===a;if(t&&s){n.click()}}}}const i=Array.from(this._ref.querySelectorAll(":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)"));for(const t of i){if(t.id)continue;const s=i.indexOf(t);t.id=`${this._name}-tab-panel-${s}`;t.setAttribute("aria-labelledby",`${this._name}-tab-${s}`)}}}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const o=s.item(a);if(o&&(o.name.startsWith("data-")||o.name.startsWith("aria-"))){t.setAttribute(o.name,o.value);i.removeAttribute(o.name)}if(o&&o.name==="class"){const s=o.value.includes("hydrated");const a=o.value.replace("hydrated","").trim();const n=t.getAttribute("class");t.setAttribute(o.name,`${n?`${n} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(o.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tabs");this._id=this.id||this._id;this._name=`tabs-${this.name||a()}`;this.initialized=true}componentDidUpdate(){if(this._ref&&this.initialized){this.initTabList();this.initTabs(true);const t=this._ref.querySelector(".db-tab-list");if(t){const s=new MutationObserver((t=>{t.forEach((t=>{if(t.removedNodes.length||t.addedNodes.length){this.initTabList();this.initTabs()}}))}));s.observe(t,{childList:true,subtree:true})}this.initialized=false}}render(){var t,a,n,e;return s("div",{key:"21022d470b48c2c96722eba446dee5b0a2dac8bf",class:o("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":(a=this.width)!==null&&a!==void 0?a:"auto"},this.showScrollLeft?s("db-button",{class:"tabs-scroll-left",variant:"ghost",icon:"chevron_left",noText:true,onClick:()=>this.scroll(true)},"Scroll left"):null,this.tabs?s(i,null,s("db-tab-list",null,(n=this.convertTabs(this.tabs))===null||n===void 0?void 0:n.map(((t,i)=>s("db-tab-item",{key:this.name+"tab-item"+i,active:t.active,label:t.label,iconAfter:t.iconAfter,icon:t.icon,noText:t.noText})))),(e=this.convertTabs(this.tabs))===null||e===void 0?void 0:e.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",noText:true,onClick:()=>this.scroll()},"Scroll right"):null,s("slot",{key:"79d11e4acb87af7cd40fb54ffae5c1affb28f3ba"}))}};export{n as db_tabs};
|
|
2
|
-
//# sourceMappingURL=p-871805e1.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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","arrowScrollDistance","_a","scrollBy","top","behavior","initTabList","_ref","tabList","querySelector","container","setAttribute","orientation","addEventListener","initTabs","init","tabItems","Array","from","getElementsByClassName","tabItem","index","indexOf","label","input","id","tabId","autoSelect","initialSelectedMode","shouldAutoSelect","initialSelectedIndex","click","tabPanels","querySelectorAll","panel","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","componentDidUpdate","observer","MutationObserver","mutations","forEach","mutation","removedNodes","addedNodes","observe","childList","subtree","render","h","key","class","cls","className","ref","el","alignment","_b","width","variant","icon","noText","onClick","Fragment","_c","map","tab","active","iconAfter","_d","content","children"],"sources":["src/components/tabs/tabs.tsx"],"sourcesContent":["import { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\n\nimport { Component, h, Fragment, Prop, State } 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 | null;\n @Prop() id: DBTabsProps[\"id\"];\n @Prop() name: DBTabsProps[\"name\"];\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 @Prop({attribute: \"classname\"}) className: DBTabsProps[\"className\"];\n @Prop() alignment: DBTabsProps[\"alignment\"];\n @Prop() width: DBTabsProps[\"width\"];\n @Prop() tabs: DBTabsProps[\"tabs\"];\n\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(tabs: unknown[] | string | undefined) {\n try {\n if (typeof tabs === \"string\") {\n return JSON.parse(tabs);\n }\n return 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 = 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 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.setAttribute(\n \"aria-controls\",\n `${this._name}-tab-panel-${index}`\n );\n input.id = tabId;\n input.setAttribute(\"name\", this._name);\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 this.initialSelectedIndex === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\n }\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 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\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-tabs\");\n this._id = this.id || this._id;\n this._name = `tabs-${this.name || uuid()}`;\n this.initialized = true;\n }\n\n componentDidUpdate() {\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 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 >\n {this.showScrollLeft ? (\n <db-button\n class=\"tabs-scroll-left\"\n variant=\"ghost\"\n icon=\"chevron_left\"\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(this.tabs)?.map((tab, index) => (\n <db-tab-item\n key={this.name + \"tab-item\" + index}\n active={tab.active}\n label={tab.label}\n iconAfter={tab.iconAfter}\n icon={tab.icon}\n noText={tab.noText}\n ></db-tab-item>\n ))}\n </db-tab-list>\n {this.convertTabs(this.tabs)?.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 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":"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","ignoreList":[]}
|
package/dist/db-ux/p-99d90022.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const t=()=>{var t,e;if(typeof window!=="undefined"){if((t=window.crypto)===null||t===void 0?void 0:t.randomUUID){return window.crypto.randomUUID()}else if((e=window.crypto)===null||e===void 0?void 0:e.getRandomValues){return window.crypto.getRandomValues(new Uint32Array(3)).join("-")}}return Math.random().toString().substring(2)};const e=(t,o)=>{const n=t.children;Object.values(n).forEach((t=>{t.setAttribute(o.key,o.value);if(t.children.length>0){e(t,o)}}))};const o=(...t)=>{let e="";for(const o of t){if(o){if(typeof o==="string"){e+=`${o} `}else{for(const t in o){if(o[t]){e+=`${t} `}}}}}return e.trim()};const n=["suppressHydrationWarning","suppressContentEditableWarning","translate","title","tabIndex","style","spellCheck","nonce","lang","hidden","draggable","dir","contextMenu","contentEditable","autoFocus","accessKey","is","inputMode","unselectable","security","results","vocab","typeof","rev","resource","rel","property","inlist","datatype","content","about","role","radioGroup","color"];const i=(t,e)=>Object.keys(t).filter((t=>(t.startsWith("data-")||t.startsWith("aria-")||t.startsWith("default")||t.startsWith("auto")||t.startsWith("item")||t.startsWith("on")||n.includes(t))&&!e.includes(t))).reduce(((e,o)=>Object.assign(Object.assign({},e),{[o]:t[o]})),{});const s=(t,e)=>Object.keys(t).filter((t=>e.includes(t))).reduce(((e,o)=>Object.assign(Object.assign({},e),{[o]:t[o]})),{});const r=t=>{const{left:e,right:o}=t.getBoundingClientRect();const{innerWidth:n}=window;return e>=0&&o<=n};const a=t=>{const{top:e,bottom:o}=t.getBoundingClientRect();const{innerHeight:n}=window;return e>=0&&o<=n};const d=t=>{var e;const{top:o,bottom:n,left:i,right:s}=t.getBoundingClientRect();const{innerHeight:r,innerWidth:a}=window;let d=o<0;let c=n>r;let u=i<0;let l=s>a;const f=t.hasAttribute("data-outside-vy");const v=t.hasAttribute("data-outside-vx");const p=(e=t===null||t===void 0?void 0:t.parentElement)===null||e===void 0?void 0:e.getBoundingClientRect();if(p){if(f){const e=t.getAttribute("data-outside-vy");if(e==="top"){d=p.top-(n-p.bottom)<0}else{c=p.bottom+(p.top-o)>r}}if(v){const e=t.getAttribute("data-outside-vx");if(e==="left"){u=p.left-(s-p.right)<0}else{l=p.right+(p.left-i)>a}}}return{outTop:d,outBottom:c,outLeft:u,outRight:l}};const c=t=>{const{outTop:e,outBottom:o,outLeft:n,outRight:i}=d(t);let s={};if(e||o){s={vy:e?"top":"bottom"};t.setAttribute("data-outside-vy",s.vy)}else{t.removeAttribute("data-outside-vy")}if(n||i){s=Object.assign(Object.assign({},s),{vx:i?"right":"left"});t.setAttribute("data-outside-vx",s.vx)}else{t.removeAttribute("data-outside-vx")}return s};const u=t=>Array.isArray(t)&&t.every((t=>typeof t==="string"));const l=["Mac","iPhone","iPad","iPod"];const f=()=>typeof window!=="undefined"&&l.some((t=>window.navigator.userAgent.includes(t)));const v=(t,e)=>new Promise((()=>setTimeout(t,e)));const p=t=>{if(t){return String(t)}return t};const w=t=>{if(t===undefined||t===null){return undefined}return p(!t)};const b=(t,e)=>{if(e===undefined){return!!t}else{return e&&t}};export{e as a,a as b,o as c,u as d,f as e,i as f,s as g,c as h,d as i,v as j,p as k,w as l,b as s,t as u,r as v};
|
|
2
|
-
//# sourceMappingURL=p-99d90022.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["uuid","window","_a","crypto","randomUUID","_b","getRandomValues","Uint32Array","join","Math","random","toString","substring","addAttributeToChildren","element","attribute","children","Object","values","forEach","child","setAttribute","key","value","length","cls","args","result","arg","trim","reactHtmlAttributes","filterPassingProps","props","propsPassingFilter","keys","filter","startsWith","includes","reduce","obj","assign","getRootProps","rooProps","visibleInVX","el","left","right","getBoundingClientRect","innerWidth","visibleInVY","top","bottom","innerHeight","isInView","outTop","outBottom","outLeft","outRight","outsideY","hasAttribute","outsideX","parentRect","parentElement","position","getAttribute","handleDataOutside","dataOutsidePair","vy","removeAttribute","vx","isArrayOfStrings","Array","isArray","every","item","appleOs","hasVoiceOver","some","os","navigator","userAgent","delay","fn","ms","Promise","setTimeout","getBooleanAsString","originBool","String","getHideProp","show","undefined","stringPropVisible","givenString","showString"],"sources":["src/utils/index.ts"],"sourcesContent":["export const uuid = () => {\n if (typeof window !== 'undefined') {\n if (window.crypto?.randomUUID) {\n return window.crypto.randomUUID();\n } else if (window.crypto?.getRandomValues) {\n return window.crypto.getRandomValues(new Uint32Array(3)).join('-');\n }\n }\n return Math.random().toString().substring(2);\n};\nexport const addAttributeToChildren = (element: Element, attribute: {\n key: string;\n value: string;\n}) => {\n const children = element.children;\n Object.values(children).forEach((child: Element) => {\n child.setAttribute(attribute.key, attribute.value);\n if (child.children.length > 0) {\n addAttributeToChildren(child, attribute);\n }\n });\n};\nexport type ClassNameArg = string | {\n [key: string]: boolean | undefined;\n} | undefined;\nexport const cls = (...args: ClassNameArg[]) => {\n let result = '';\n for (const arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n result += `${arg} `;\n } else {\n for (const key in arg) {\n if (arg[key]) {\n result += `${key} `;\n }\n }\n }\n }\n }\n return result.trim();\n};\nconst reactHtmlAttributes = ['suppressHydrationWarning', 'suppressContentEditableWarning', 'translate', 'title', 'tabIndex', 'style', 'spellCheck', 'nonce', 'lang', 'hidden', 'draggable', 'dir', 'contextMenu', 'contentEditable', 'autoFocus', 'accessKey', 'is', 'inputMode', 'unselectable', 'security', 'results', 'vocab', 'typeof', 'rev', 'resource', 'rel', 'property', 'inlist', 'datatype', 'content', 'about', 'role', 'radioGroup', 'color'];\nexport const filterPassingProps = (props: Record<string, unknown>, propsPassingFilter: string[]): Record<string, unknown> => Object.keys(props).filter(key => (key.startsWith('data-') || key.startsWith('aria-') || key.startsWith('default') || key.startsWith('auto') || key.startsWith('item') || key.startsWith('on') || reactHtmlAttributes.includes(key)) && !propsPassingFilter.includes(key)).reduce((obj: Record<string, unknown>, key: string) => {\n return {\n ...obj,\n [key]: props[key]\n };\n}, {});\nexport const getRootProps = (props: Record<string, unknown>, rooProps: string[]): Record<string, unknown> => {\n return Object.keys(props).filter(key => rooProps.includes(key)).reduce((obj: Record<string, unknown>, key: string) => {\n return {\n ...obj,\n [key]: props[key]\n };\n }, {});\n};\nexport const visibleInVX = (el: Element) => {\n const {\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerWidth\n } = window;\n return left >= 0 && right <= innerWidth;\n};\nexport const visibleInVY = (el: Element) => {\n const {\n top,\n bottom\n } = el.getBoundingClientRect();\n const {\n innerHeight\n } = window;\n return top >= 0 && bottom <= innerHeight;\n};\nexport const isInView = (el: Element) => {\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.hasAttribute('data-outside-vy');\n const outsideX = el.hasAttribute('data-outside-vx');\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.getAttribute('data-outside-vy');\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.getAttribute('data-outside-vx');\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: Element): 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.setAttribute('data-outside-vy', dataOutsidePair.vy!);\n } else {\n el.removeAttribute('data-outside-vy');\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.setAttribute('data-outside-vx', dataOutsidePair.vx!);\n } else {\n el.removeAttribute('data-outside-vx');\n }\n return dataOutsidePair;\n};\nexport const isArrayOfStrings = (value: unknown): value is string[] => Array.isArray(value) && value.every(item => typeof item === 'string');\nconst appleOs = ['Mac', 'iPhone', 'iPad', 'iPod'];\nexport const hasVoiceOver = (): boolean => typeof window !== 'undefined' && appleOs.some(os => window.navigator.userAgent.includes(os));\nexport const delay = (fn: () => void, ms: number) => new Promise(() => setTimeout(fn, ms));\n\n/**\n * Some frameworks like stencil would not add \"true\" as value for a prop\n * if it is used in a framework like angular e.g.: [disabled]=\"myDisabledProp\"\n * @param originBool Some boolean to convert to string\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getBooleanAsString = (originBool?: boolean): any => {\n if (originBool) {\n return String(originBool);\n }\n return originBool;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getHideProp = (show?: boolean): any => {\n if (show === undefined || show === null) {\n return undefined;\n }\n return getBooleanAsString(!show);\n};\nexport const stringPropVisible = (givenString?: string, showString?: boolean) => {\n if (showString === undefined) {\n return !!givenString;\n } else {\n return showString && givenString;\n }\n};\nexport default {\n getRootProps,\n filterPassingProps,\n cls,\n addAttributeToChildren,\n uuid,\n visibleInVX,\n visibleInVY,\n isInView,\n handleDataOutside,\n isArrayOfStrings,\n hasVoiceOver,\n delay,\n getBooleanAsString,\n getHideProp,\n stringPropVisible\n}"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as s,h as t}from"./p-1feee149.js";import{u as h,c as a,k as e,l as d}from"./p-99d90022.js";const o=class{constructor(t){i(this,t);this.onChange=s(this,"onChange",7);this.onBlur=s(this,"onBlur",7);this.onFocus=s(this,"onFocus",7);this._id=undefined;this._checked=false;this.initialized=false}handleChange(i){var s;if(this.onChange){this.onChange.emit(i)}if(this.change){this.change(i)}this._checked=(s=i.target)===null||s===void 0?void 0:s["checked"]}handleBlur(i){if(this.onBlur){this.onBlur.emit(i)}if(this.blur){this.blur(i)}}handleFocus(i){if(this.onFocus){this.onFocus.emit(i)}if(this.focus){this.focus(i)}}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 a=s.item(h);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){i.setAttribute(a.name,a.value);t.removeAttribute(a.name)}if(a&&a.name==="class"){const s=a.value.includes("hydrated");const h=a.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(a.name,`${e?`${e} `:""}${h}`);if(s){t.setAttribute("class","hydrated")}else{t.removeAttribute(a.name)}}}}}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-switch");this._id=(i=this.id)!==null&&i!==void 0?i:`switch-${h()}`}render(){return t("label",{key:"eed236170700dfab522d745d812721705e427451",class:a("db-switch",this.className),"data-visual-aid":e(this.visualAid),"data-size":this.size,"data-hide-label":d(this.showLabel),"data-emphasis":this.emphasis,htmlFor:this._id},t("input",{key:"10e378dc22bc93e4b9d028a8ffa411b3fbb856e0",type:"checkbox",role:"switch",id:this._id,"aria-checked":this._checked,ref:i=>{this._ref=i},checked:this.checked,disabled:this.disabled,"aria-describedby":this.describedbyid,"aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,name:this.name,required:this.required,"data-aid-icon":this.icon,"data-aid-icon-after":this.iconAfter,onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i)}),this.label?this.label:t("slot",null))}};export{o as db_switch};
|
|
2
|
-
//# sourceMappingURL=p-a494046c.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBSwitch","constructor","hostRef","this","_id","undefined","_checked","initialized","handleChange","event","onChange","emit","change","_a","target","handleBlur","onBlur","blur","handleFocus","onFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","id","uuid","render","h","key","class","cls","className","getBooleanAsString","visualAid","size","getHideProp","showLabel","emphasis","htmlFor","type","role","ref","el","checked","disabled","describedbyid","validation","required","icon","iconAfter","label"],"sources":["src/components/switch/switch.tsx"],"sourcesContent":["import { DBSwitchProps, DBSwitchState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport { Component, h, Fragment, Event, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-switch\",\n})\nexport class DBSwitch {\n private _ref!: HTMLInputElement | null;\n @Prop() id: DBSwitchProps[\"id\"];\n @Event() onChange: any;\n @Prop() change: DBSwitchProps[\"change\"];\n @Event() onBlur: any;\n @Prop() blur: DBSwitchProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBSwitchProps[\"focus\"];\n @Prop() visualAid: DBSwitchProps[\"visualAid\"];\n @Prop() size: DBSwitchProps[\"size\"];\n @Prop() showLabel: DBSwitchProps[\"showLabel\"];\n @Prop() emphasis: DBSwitchProps[\"emphasis\"];\n @Prop({attribute: \"classname\"}) className: DBSwitchProps[\"className\"];\n @Prop() checked: DBSwitchProps[\"checked\"];\n @Prop() disabled: DBSwitchProps[\"disabled\"];\n @Prop() describedbyid: DBSwitchProps[\"describedbyid\"];\n @Prop() validation: DBSwitchProps[\"validation\"];\n @Prop() name: DBSwitchProps[\"name\"];\n @Prop() required: DBSwitchProps[\"required\"];\n @Prop() icon: DBSwitchProps[\"icon\"];\n @Prop() iconAfter: DBSwitchProps[\"iconAfter\"];\n @Prop() label: DBSwitchProps[\"label\"];\n\n @State() _id = undefined;\n @State() _checked = false;\n @State() initialized = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n this._checked = (event.target as any)?.[\"checked\"];\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(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 componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-switch\");\n this._id = this.id ?? `switch-${uuid()}`;\n }\n\n render() {\n return (\n <label\n class={cls(\"db-switch\", this.className)}\n data-visual-aid={getBooleanAsString(this.visualAid)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n data-emphasis={this.emphasis}\n htmlFor={this._id}\n >\n <input\n type=\"checkbox\"\n role=\"switch\"\n id={this._id}\n aria-checked={this._checked}\n ref={(el: any) => {\n this._ref = el;\n }}\n checked={this.checked}\n disabled={this.disabled}\n aria-describedby={this.describedbyid}\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n name={this.name}\n required={this.required}\n data-aid-icon={this.icon}\n data-aid-icon-after={this.iconAfter}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n );\n }\n}\n"],"mappings":"iHAkBaA,EAAQ,MAHpB,WAAAC,CAAAC,G,6GA2BUC,KAAAC,IAAMC,UACNF,KAAAG,SAAW,MACXH,KAAAI,YAAc,K,CAEvB,YAAAC,CAAaC,G,MACX,GAAIN,KAAKO,SAAU,CACjBP,KAAKO,SAASC,KAAKF,E,CAErB,GAAIN,KAAKS,OAAQ,CACfT,KAAKS,OAAOH,E,CAIdN,KAAKG,UAAWO,EAACJ,EAAMK,UAAc,MAAAD,SAAA,SAAAA,EAAG,U,CAE1C,UAAAE,CAAWN,GACT,GAAIN,KAAKa,OAAQ,CACfb,KAAKa,OAAOL,KAAKF,E,CAEnB,GAAIN,KAAKc,KAAM,CACbd,KAAKc,KAAKR,E,EAGd,WAAAS,CAAYT,GACV,GAAIN,KAAKgB,QAAS,CAChBhB,KAAKgB,QAAQR,KAAKF,E,CAEpB,GAAIN,KAAKiB,MAAO,CACdjB,KAAKiB,MAAMX,E,EASP,sBAAAY,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,gBAAAW,G,MACEvC,KAAKkB,uBAAuBlB,KAAKwC,KAAM,aACvCxC,KAAKC,KAAMS,EAAAV,KAAKyC,MAAE,MAAA/B,SAAA,EAAAA,EAAI,UAAUgC,K,CAGlC,MAAAC,GACE,OACEC,EAAA,SAAAC,IAAA,2CACEC,MAAOC,EAAI,YAAa/C,KAAKgD,WAAU,kBACtBC,EAAmBjD,KAAKkD,WAAU,YACxClD,KAAKmD,KAAI,kBACHC,EAAYpD,KAAKqD,WAAU,gBAC7BrD,KAAKsD,SACpBC,QAASvD,KAAKC,KAEd2C,EAAA,SAAAC,IAAA,2CACEW,KAAK,WACLC,KAAK,SACLhB,GAAIzC,KAAKC,IAAG,eACED,KAAKG,SACnBuD,IAAMC,IACJ3D,KAAKwC,KAAOmB,CAAE,EAEhBC,QAAS5D,KAAK4D,QACdC,SAAU7D,KAAK6D,SAAQ,mBACL7D,KAAK8D,cAAa,eACtB9D,KAAK+D,aAAe,UAAS,uBACrB/D,KAAK+D,WAC3BnC,KAAM5B,KAAK4B,KACXoC,SAAUhE,KAAKgE,SAAQ,gBACRhE,KAAKiE,KAAI,sBACHjE,KAAKkE,UAC1B3D,SAAWD,GAAUN,KAAKK,aAAaC,GACvCO,OAASP,GAAUN,KAAKY,WAAWN,GACnCU,QAAUV,GAAUN,KAAKe,YAAYT,KAEtCN,KAAKmE,MAAQnE,KAAKmE,MAAQvB,EAAA,a","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBSelect","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_placeholderId","_descByIds","_value","initialized","_voiceOverFallback","handleClick","event","onClick","emit","handleInput","onInput","input","handleChange","onChange","change","_a","_ref","validity","valid","validation","hasVoiceOver","_d","_b","invalidMessage","_c","validationMessage","DEFAULT_INVALID_MESSAGE","delay","_e","required","_f","validMessage","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleBlur","onBlur","blur","handleFocus","onFocus","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","componentDidLoad","mId","id","uuid","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","DEFAULT_PLACEHOLDER_ID_SUFFIX","componentDidUpdate","messageId","placeholderId","render","h","key","class","cls","className","variant","getHideProp","showLabel","icon","showIcon","htmlFor","DEFAULT_LABEL","ref","el","disabled","autocomplete","hidden","options","map","Fragment","optgroupOption","selected","placeholder","size","messageIcon","semantic","_h","_g","role"],"sources":["src/components/select/select.tsx"],"sourcesContent":["import { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\nimport {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\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 { DBInfotext } from \"../infotext/infotext\";\nimport {\n ChangeEvent,\n ClickEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport { Component, h, Fragment, Event, Prop, State } 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 | null;\n @Prop() id: DBSelectProps[\"id\"];\n @Prop() message: DBSelectProps[\"message\"];\n @Prop() showMessage: DBSelectProps[\"showMessage\"];\n @Prop() value: DBSelectProps[\"value\"];\n @Event() onClick: any;\n @Event() onInput: any;\n @Prop() input: DBSelectProps[\"input\"];\n @Event() onChange: any;\n @Prop() change: DBSelectProps[\"change\"];\n @Prop() validation: DBSelectProps[\"validation\"];\n @Prop() invalidMessage: DBSelectProps[\"invalidMessage\"];\n @Prop() required: DBSelectProps[\"required\"];\n @Prop() validMessage: DBSelectProps[\"validMessage\"];\n @Event() onBlur: any;\n @Prop() blur: DBSelectProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBSelectProps[\"focus\"];\n @Prop({attribute: \"classname\"}) className: DBSelectProps[\"className\"];\n @Prop() variant: DBSelectProps[\"variant\"];\n @Prop() showLabel: DBSelectProps[\"showLabel\"];\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() autocomplete: DBSelectProps[\"autocomplete\"];\n @Prop() options: DBSelectProps[\"options\"];\n\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() _placeholderId = \"\";\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() initialized = false;\n @State() _voiceOverFallback = \"\";\n\n handleClick(event: ClickEvent<HTMLSelectElement>) {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement>) {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input(event);\n }\n }\n handleChange(event: ChangeEvent<HTMLSelectElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\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 if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.validity.valid && 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 handleBlur(event: InteractionEvent<HTMLSelectElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(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 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 }\n\n componentDidUpdate() {\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.initialized = false;\n }\n this._value = this.value;\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-icon={this.icon}\n data-hide-icon={getHideProp(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={this.required}\n disabled={this.disabled}\n id={this._id}\n name={this.name}\n /* @ts-ignore */\nvalue={this.value ?? this._value}\n autocomplete={this.autocomplete}\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._descByIds}\n >\n <option hidden={true}></option>\n {this.options\n ? this.options?.map((option) => (\n <Fragment>\n {option.options ? (\n <optgroup label={this.getOptionLabel(option)}>\n {option.options?.map((optgroupOption) => (\n <option\n key={optgroupOption.value.toString()}\n value={optgroupOption.value}\n selected={optgroupOption.selected}\n disabled={optgroupOption.disabled}\n >\n {this.getOptionLabel(optgroupOption)}\n </option>\n ))}\n </optgroup>\n ) : null}\n {!option.options ? (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.selected}\n >\n {this.getOptionLabel(option)}\n </option>\n ) : null}\n </Fragment>\n ))\n : null}\n <slot></slot>\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 <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage ?? DEFAULT_VALID_MESSAGE}\n </db-infotext>\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}\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 +0,0 @@
|
|
|
1
|
-
import{r as s,h as t}from"./p-1feee149.js";import{c as a,l as d}from"./p-99d90022.js";import{l as i}from"./p-af3834b6.js";const o=class{constructor(t){s(this,t)}enableAttributePassing(s,t){const a=s===null||s===void 0?void 0:s.closest(t);if(s&&a){const t=a.attributes;for(let d=0;d<t.length;d++){const i=t.item(d);if(i&&(i.name.startsWith("data-")||i.name.startsWith("aria-"))){s.setAttribute(i.name,i.value);a.removeAttribute(i.name)}if(i&&i.name==="class"){const t=i.value.includes("hydrated");const d=i.value.replace("hydrated","").trim();const o=s.getAttribute("class");s.setAttribute(i.name,`${o?`${o} `:""}${d}`);if(t){a.setAttribute("class","hydrated")}else{a.removeAttribute(i.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-brand")}render(){var s;return t("div",{key:"1db730e221409228d980d48bd673bdc2e75aefc8",class:a("db-brand",this.className),ref:s=>{this._ref=s},"data-icon":this.hideLogo?"none":(s=this.icon)!==null&&s!==void 0?s:i,"data-hide-icon":d(this.showIcon),id:this.id},this.text?this.text:t("slot",null))}};export{o as db_brand};
|
|
2
|
-
//# sourceMappingURL=p-f65f4eac.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"index-fad99efc.js","mappings":"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","names":[],"sources":["src/utils/index.ts"],"sourcesContent":["export const uuid = () => {\n if (typeof window !== 'undefined') {\n if (window.crypto?.randomUUID) {\n return window.crypto.randomUUID();\n } else if (window.crypto?.getRandomValues) {\n return window.crypto.getRandomValues(new Uint32Array(3)).join('-');\n }\n }\n return Math.random().toString().substring(2);\n};\nexport const addAttributeToChildren = (element: Element, attribute: {\n key: string;\n value: string;\n}) => {\n const children = element.children;\n Object.values(children).forEach((child: Element) => {\n child.setAttribute(attribute.key, attribute.value);\n if (child.children.length > 0) {\n addAttributeToChildren(child, attribute);\n }\n });\n};\nexport type ClassNameArg = string | {\n [key: string]: boolean | undefined;\n} | undefined;\nexport const cls = (...args: ClassNameArg[]) => {\n let result = '';\n for (const arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n result += `${arg} `;\n } else {\n for (const key in arg) {\n if (arg[key]) {\n result += `${key} `;\n }\n }\n }\n }\n }\n return result.trim();\n};\nconst reactHtmlAttributes = ['suppressHydrationWarning', 'suppressContentEditableWarning', 'translate', 'title', 'tabIndex', 'style', 'spellCheck', 'nonce', 'lang', 'hidden', 'draggable', 'dir', 'contextMenu', 'contentEditable', 'autoFocus', 'accessKey', 'is', 'inputMode', 'unselectable', 'security', 'results', 'vocab', 'typeof', 'rev', 'resource', 'rel', 'property', 'inlist', 'datatype', 'content', 'about', 'role', 'radioGroup', 'color'];\nexport const filterPassingProps = (props: Record<string, unknown>, propsPassingFilter: string[]): Record<string, unknown> => Object.keys(props).filter(key => (key.startsWith('data-') || key.startsWith('aria-') || key.startsWith('default') || key.startsWith('auto') || key.startsWith('item') || key.startsWith('on') || reactHtmlAttributes.includes(key)) && !propsPassingFilter.includes(key)).reduce((obj: Record<string, unknown>, key: string) => {\n return {\n ...obj,\n [key]: props[key]\n };\n}, {});\nexport const getRootProps = (props: Record<string, unknown>, rooProps: string[]): Record<string, unknown> => {\n return Object.keys(props).filter(key => rooProps.includes(key)).reduce((obj: Record<string, unknown>, key: string) => {\n return {\n ...obj,\n [key]: props[key]\n };\n }, {});\n};\nexport const visibleInVX = (el: Element) => {\n const {\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerWidth\n } = window;\n return left >= 0 && right <= innerWidth;\n};\nexport const visibleInVY = (el: Element) => {\n const {\n top,\n bottom\n } = el.getBoundingClientRect();\n const {\n innerHeight\n } = window;\n return top >= 0 && bottom <= innerHeight;\n};\nexport const isInView = (el: Element) => {\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.hasAttribute('data-outside-vy');\n const outsideX = el.hasAttribute('data-outside-vx');\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.getAttribute('data-outside-vy');\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.getAttribute('data-outside-vx');\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: Element): 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.setAttribute('data-outside-vy', dataOutsidePair.vy!);\n } else {\n el.removeAttribute('data-outside-vy');\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.setAttribute('data-outside-vx', dataOutsidePair.vx!);\n } else {\n el.removeAttribute('data-outside-vx');\n }\n return dataOutsidePair;\n};\nexport const isArrayOfStrings = (value: unknown): value is string[] => Array.isArray(value) && value.every(item => typeof item === 'string');\nconst appleOs = ['Mac', 'iPhone', 'iPad', 'iPod'];\nexport const hasVoiceOver = (): boolean => typeof window !== 'undefined' && appleOs.some(os => window.navigator.userAgent.includes(os));\nexport const delay = (fn: () => void, ms: number) => new Promise(() => setTimeout(fn, ms));\n\n/**\n * Some frameworks like stencil would not add \"true\" as value for a prop\n * if it is used in a framework like angular e.g.: [disabled]=\"myDisabledProp\"\n * @param originBool Some boolean to convert to string\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getBooleanAsString = (originBool?: boolean): any => {\n if (originBool) {\n return String(originBool);\n }\n return originBool;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getHideProp = (show?: boolean): any => {\n if (show === undefined || show === null) {\n return undefined;\n }\n return getBooleanAsString(!show);\n};\nexport const stringPropVisible = (givenString?: string, showString?: boolean) => {\n if (showString === undefined) {\n return !!givenString;\n } else {\n return showString && givenString;\n }\n};\nexport default {\n getRootProps,\n filterPassingProps,\n cls,\n addAttributeToChildren,\n uuid,\n visibleInVX,\n visibleInVY,\n isInView,\n handleDataOutside,\n isArrayOfStrings,\n hasVoiceOver,\n delay,\n getBooleanAsString,\n getHideProp,\n stringPropVisible\n}"],"version":3}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|