@db-ux/wc-core-components 2.0.9 → 2.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.
Files changed (95) hide show
  1. package/dist/cjs/db-accordion-item.cjs.entry.js +2 -2
  2. package/dist/cjs/db-accordion.cjs.entry.js +1 -1
  3. package/dist/cjs/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.cjs.js.map +1 -0
  4. package/dist/cjs/{db-custom-select-dropdown_6.cjs.entry.js → db-custom-select-dropdown_5.cjs.entry.js} +4 -88
  5. package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js.map +1 -0
  6. package/dist/cjs/db-custom-select.cjs.entry.js +71 -31
  7. package/dist/cjs/db-custom-select.cjs.entry.js.map +1 -1
  8. package/dist/cjs/db-custom-select.entry.cjs.js.map +1 -1
  9. package/dist/cjs/db-navigation-item.cjs.entry.js +1 -1
  10. package/dist/cjs/db-navigation.cjs.entry.js +2 -2
  11. package/dist/cjs/db-popover.cjs.entry.js +2 -2
  12. package/dist/cjs/db-textarea.cjs.entry.js +2 -2
  13. package/dist/cjs/db-tooltip.cjs.entry.js +98 -0
  14. package/dist/cjs/db-tooltip.cjs.entry.js.map +1 -0
  15. package/dist/cjs/db-tooltip.entry.cjs.js.map +1 -0
  16. package/dist/cjs/db-ux.cjs.js +1 -1
  17. package/dist/cjs/loader.cjs.js +1 -1
  18. package/dist/collection/collection-manifest.json +1 -1
  19. package/dist/collection/components/accordion/accordion.js +1 -1
  20. package/dist/collection/components/accordion-item/accordion-item.js +2 -2
  21. package/dist/collection/components/custom-select/custom-select.js +191 -32
  22. package/dist/collection/components/custom-select/custom-select.js.map +1 -1
  23. package/dist/collection/components/custom-select/model.js.map +1 -1
  24. package/dist/collection/components/icon/icon.js +1 -1
  25. package/dist/collection/components/icon/model.js +0 -1
  26. package/dist/collection/components/icon/model.js.map +1 -1
  27. package/dist/collection/components/navigation/navigation.js +2 -2
  28. package/dist/collection/components/navigation-item/navigation-item.js +1 -1
  29. package/dist/collection/components/popover/popover.js +2 -2
  30. package/dist/collection/components/select/model.js.map +1 -1
  31. package/dist/collection/components/tag/tag.js +2 -2
  32. package/dist/collection/components/tag/tag.js.map +1 -1
  33. package/dist/collection/components/textarea/textarea.js +2 -2
  34. package/dist/collection/components/tooltip/model.js +1 -1
  35. package/dist/collection/components/tooltip/model.js.map +1 -1
  36. package/dist/collection/components/tooltip/tooltip.js +33 -3
  37. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  38. package/dist/custom-elements.json +1298 -1135
  39. package/dist/db-ux/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.esm.js.map +1 -0
  40. package/dist/db-ux/db-custom-select.entry.esm.js.map +1 -1
  41. package/dist/db-ux/db-tooltip.entry.esm.js.map +1 -0
  42. package/dist/db-ux/db-ux.esm.js +1 -1
  43. package/dist/db-ux/{p-d7ccd983.entry.js → p-0e4c3fb1.entry.js} +2 -2
  44. package/dist/db-ux/{p-94471c06.entry.js → p-2fd37535.entry.js} +2 -2
  45. package/dist/db-ux/{p-4400f077.entry.js → p-40713825.entry.js} +2 -2
  46. package/dist/db-ux/{p-9d64dc74.entry.js → p-5c2eddb6.entry.js} +2 -2
  47. package/dist/db-ux/p-6610dd91.entry.js +2 -0
  48. package/dist/db-ux/p-6610dd91.entry.js.map +1 -0
  49. package/dist/db-ux/p-7d6c27a1.entry.js +2 -0
  50. package/dist/db-ux/p-7d6c27a1.entry.js.map +1 -0
  51. package/dist/db-ux/{p-49cc4a11.entry.js → p-7de004e3.entry.js} +2 -2
  52. package/dist/db-ux/p-a49adbd6.entry.js +2 -0
  53. package/dist/db-ux/p-a49adbd6.entry.js.map +1 -0
  54. package/dist/db-ux/p-e3117b8a.entry.js +2 -0
  55. package/dist/esm/db-accordion-item.entry.js +2 -2
  56. package/dist/esm/db-accordion.entry.js +1 -1
  57. package/dist/esm/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.js.map +1 -0
  58. package/dist/esm/{db-custom-select-dropdown_6.entry.js → db-custom-select-dropdown_5.entry.js} +7 -90
  59. package/dist/esm/db-custom-select-dropdown_5.entry.js.map +1 -0
  60. package/dist/esm/db-custom-select.entry.js +71 -31
  61. package/dist/esm/db-custom-select.entry.js.map +1 -1
  62. package/dist/esm/db-navigation-item.entry.js +1 -1
  63. package/dist/esm/db-navigation.entry.js +2 -2
  64. package/dist/esm/db-popover.entry.js +2 -2
  65. package/dist/esm/db-textarea.entry.js +2 -2
  66. package/dist/esm/db-tooltip.entry.js +96 -0
  67. package/dist/esm/db-tooltip.entry.js.map +1 -0
  68. package/dist/esm/db-ux.js +1 -1
  69. package/dist/esm/loader.js +1 -1
  70. package/dist/types/components/custom-select/custom-select.d.ts +8 -0
  71. package/dist/types/components/custom-select/model.d.ts +30 -4
  72. package/dist/types/components/icon/model.d.ts +1 -3
  73. package/dist/types/components/select/model.d.ts +2 -1
  74. package/dist/types/components/tooltip/model.d.ts +11 -0
  75. package/dist/types/components/tooltip/tooltip.d.ts +1 -0
  76. package/dist/types/components.d.ts +12 -0
  77. package/dist/vscode.html-custom-data.json +75 -57
  78. package/dist/web-types.json +160 -103
  79. package/package.json +3 -3
  80. package/dist/cjs/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.cjs.js.map +0 -1
  81. package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js.map +0 -1
  82. package/dist/db-ux/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.esm.js.map +0 -1
  83. package/dist/db-ux/p-02f8816d.entry.js +0 -2
  84. package/dist/db-ux/p-02f8816d.entry.js.map +0 -1
  85. package/dist/db-ux/p-d9ff0c75.entry.js +0 -2
  86. package/dist/db-ux/p-d9ff0c75.entry.js.map +0 -1
  87. package/dist/db-ux/p-f2ef5e71.entry.js +0 -2
  88. package/dist/esm/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.js.map +0 -1
  89. package/dist/esm/db-custom-select-dropdown_6.entry.js.map +0 -1
  90. /package/dist/db-ux/{p-d7ccd983.entry.js.map → p-0e4c3fb1.entry.js.map} +0 -0
  91. /package/dist/db-ux/{p-94471c06.entry.js.map → p-2fd37535.entry.js.map} +0 -0
  92. /package/dist/db-ux/{p-4400f077.entry.js.map → p-40713825.entry.js.map} +0 -0
  93. /package/dist/db-ux/{p-9d64dc74.entry.js.map → p-5c2eddb6.entry.js.map} +0 -0
  94. /package/dist/db-ux/{p-49cc4a11.entry.js.map → p-7de004e3.entry.js.map} +0 -0
  95. /package/dist/db-ux/{p-f2ef5e71.entry.js.map → p-e3117b8a.entry.js.map} +0 -0
@@ -61,7 +61,12 @@ export class DBTooltip {
61
61
  parent.addEventListener(event, () => this.handleAutoPlacement());
62
62
  });
63
63
  parent.setAttribute("data-has-tooltip", "true");
64
- parent.setAttribute("aria-describedby", this._id);
64
+ if (this.variant === "label") {
65
+ parent.setAttribute("aria-labelledby", this._id);
66
+ }
67
+ else {
68
+ parent.setAttribute("aria-describedby", this._id);
69
+ }
65
70
  }
66
71
  this.initialized = false;
67
72
  }
@@ -77,9 +82,9 @@ export class DBTooltip {
77
82
  }
78
83
  render() {
79
84
  var _a, _b;
80
- return (h("i", { key: 'ca896b62cc647f7303c58a2c1f3b34c54aa36196', class: cls("db-tooltip", this.className), role: "tooltip", "aria-hidden": "true", "data-gap": "true", ref: (el) => {
85
+ return (h("i", { key: 'f30c1ad40871c950bd8f30cd9ae393e310f442d8', class: cls("db-tooltip", this.className), role: "tooltip", "aria-hidden": "true", "data-gap": "true", ref: (el) => {
81
86
  this._ref = el;
82
- }, id: this._id, "data-emphasis": this.emphasis, "data-animation": getBooleanAsString((_a = this.animation) !== null && _a !== void 0 ? _a : true), "data-delay": this.delay, "data-width": this.width, "data-show-arrow": getBooleanAsString((_b = this.showArrow) !== null && _b !== void 0 ? _b : true), "data-placement": this.placement, onClick: (event) => this.handleClick(event) }, h("slot", { key: '2e261348a396edfd6f000d0f14ea19dfba822e00' })));
87
+ }, id: this._id, "data-emphasis": this.emphasis, "data-animation": getBooleanAsString((_a = this.animation) !== null && _a !== void 0 ? _a : true), "data-delay": this.delay, "data-width": this.width, "data-show-arrow": getBooleanAsString((_b = this.showArrow) !== null && _b !== void 0 ? _b : true), "data-placement": this.placement, onClick: (event) => this.handleClick(event) }, h("slot", { key: 'ae2c2db6ffbd94bc6104c6ee8868048c7c4c184e' })));
83
88
  }
84
89
  static get is() { return "db-tooltip"; }
85
90
  static get properties() {
@@ -109,6 +114,31 @@ export class DBTooltip {
109
114
  "setter": false,
110
115
  "reflect": false
111
116
  },
117
+ "variant": {
118
+ "type": "string",
119
+ "attribute": "variant",
120
+ "mutable": false,
121
+ "complexType": {
122
+ "original": "DBTooltipProps[\"variant\"]",
123
+ "resolved": "\"description\" | \"label\"",
124
+ "references": {
125
+ "DBTooltipProps": {
126
+ "location": "import",
127
+ "path": "./model",
128
+ "id": "src/components/tooltip/model.ts::DBTooltipProps"
129
+ }
130
+ }
131
+ },
132
+ "required": false,
133
+ "optional": false,
134
+ "docs": {
135
+ "tags": [],
136
+ "text": ""
137
+ },
138
+ "getter": false,
139
+ "setter": false,
140
+ "reflect": false
141
+ },
112
142
  "className": {
113
143
  "type": "string",
114
144
  "attribute": "classname",
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { DBTooltipProps, DBTooltipState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tooltip\",\n})\nexport class DBTooltip {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTooltipProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTooltipProps[\"className\"];\n @Prop() emphasis: DBTooltipProps[\"emphasis\"];\n @Prop() animation: DBTooltipProps[\"animation\"];\n @Prop() delay: DBTooltipProps[\"delay\"];\n @Prop() width: DBTooltipProps[\"width\"];\n @Prop() showArrow: DBTooltipProps[\"showArrow\"];\n @Prop() placement: DBTooltipProps[\"placement\"];\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleAutoPlacement() {\n if (this._ref) handleDataOutside(this._ref);\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized && this._id) {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n [\"mouseenter\", \"focus\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleAutoPlacement());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tooltip\");\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <i\n class={cls(\"db-tooltip\", this.className)}\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-emphasis={this.emphasis}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-delay={this.delay}\n data-width={this.width}\n data-show-arrow={getBooleanAsString(this.showArrow ?? true)}\n data-placement={this.placement}\n onClick={(event) => this.handleClick(event)}\n >\n <slot></slot>\n </i>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { DBTooltipProps, DBTooltipState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tooltip\",\n})\nexport class DBTooltip {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTooltipProps[\"id\"];\n @Prop() variant: DBTooltipProps[\"variant\"];\n @Prop({attribute: \"classname\"}) className: DBTooltipProps[\"className\"];\n @Prop() emphasis: DBTooltipProps[\"emphasis\"];\n @Prop() animation: DBTooltipProps[\"animation\"];\n @Prop() delay: DBTooltipProps[\"delay\"];\n @Prop() width: DBTooltipProps[\"width\"];\n @Prop() showArrow: DBTooltipProps[\"showArrow\"];\n @Prop() placement: DBTooltipProps[\"placement\"];\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleAutoPlacement() {\n if (this._ref) handleDataOutside(this._ref);\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized && this._id) {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n [\"mouseenter\", \"focus\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleAutoPlacement());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n if (this.variant === \"label\") {\n parent.setAttribute(\"aria-labelledby\", this._id);\n } else {\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tooltip\");\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <i\n class={cls(\"db-tooltip\", this.className)}\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-emphasis={this.emphasis}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-delay={this.delay}\n data-width={this.width}\n data-show-arrow={getBooleanAsString(this.showArrow ?? true)}\n data-placement={this.placement}\n onClick={(event) => this.handleClick(event)}\n >\n <slot></slot>\n </i>\n );\n }\n}\n"]}