@db-ux/react-core-components 4.9.1 → 4.10.0-esm-f121fc3

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 (241) hide show
  1. package/CHANGELOG.md +9 -2
  2. package/README.md +97 -35
  3. package/dist/components/accordion/accordion.d.ts +1 -1
  4. package/dist/components/accordion/accordion.js +102 -86
  5. package/dist/components/accordion/index.d.ts +1 -1
  6. package/dist/components/accordion/model.d.ts +1 -1
  7. package/dist/components/accordion/model.js +4 -2
  8. package/dist/components/accordion-item/accordion-item.d.ts +3 -2
  9. package/dist/components/accordion-item/accordion-item.js +89 -56
  10. package/dist/components/accordion-item/index.d.ts +1 -1
  11. package/dist/components/accordion-item/model.d.ts +5 -1
  12. package/dist/components/badge/badge.d.ts +1 -1
  13. package/dist/components/badge/badge.js +72 -32
  14. package/dist/components/badge/index.d.ts +1 -1
  15. package/dist/components/badge/model.d.ts +1 -1
  16. package/dist/components/badge/model.js +12 -1
  17. package/dist/components/brand/brand.d.ts +1 -1
  18. package/dist/components/brand/brand.js +60 -13
  19. package/dist/components/brand/index.d.ts +1 -1
  20. package/dist/components/brand/model.d.ts +1 -1
  21. package/dist/components/button/button.d.ts +1 -1
  22. package/dist/components/button/button.js +75 -21
  23. package/dist/components/button/index.d.ts +1 -1
  24. package/dist/components/button/model.d.ts +1 -1
  25. package/dist/components/button/model.js +13 -2
  26. package/dist/components/card/card.d.ts +1 -1
  27. package/dist/components/card/card.js +65 -15
  28. package/dist/components/card/index.d.ts +1 -1
  29. package/dist/components/card/model.d.ts +1 -1
  30. package/dist/components/card/model.js +8 -2
  31. package/dist/components/checkbox/checkbox.d.ts +1 -1
  32. package/dist/components/checkbox/checkbox.js +163 -157
  33. package/dist/components/checkbox/index.d.ts +1 -1
  34. package/dist/components/checkbox/model.d.ts +1 -1
  35. package/dist/components/custom-button/custom-button.d.ts +1 -1
  36. package/dist/components/custom-button/custom-button.js +65 -10
  37. package/dist/components/custom-button/index.d.ts +1 -1
  38. package/dist/components/custom-button/model.d.ts +2 -2
  39. package/dist/components/custom-select/custom-select.d.ts +1 -1
  40. package/dist/components/custom-select/custom-select.js +509 -727
  41. package/dist/components/custom-select/index.d.ts +1 -1
  42. package/dist/components/custom-select/model.d.ts +3 -3
  43. package/dist/components/custom-select/model.js +8 -1
  44. package/dist/components/custom-select-dropdown/custom-select-dropdown.d.ts +1 -1
  45. package/dist/components/custom-select-dropdown/custom-select-dropdown.js +62 -11
  46. package/dist/components/custom-select-dropdown/index.d.ts +1 -1
  47. package/dist/components/custom-select-dropdown/model.d.ts +1 -1
  48. package/dist/components/custom-select-dropdown/model.js +8 -1
  49. package/dist/components/custom-select-form-field/custom-select-form-field.d.ts +1 -1
  50. package/dist/components/custom-select-form-field/custom-select-form-field.js +57 -10
  51. package/dist/components/custom-select-form-field/index.d.ts +1 -1
  52. package/dist/components/custom-select-form-field/model.d.ts +1 -1
  53. package/dist/components/custom-select-list/custom-select-list.d.ts +1 -1
  54. package/dist/components/custom-select-list/custom-select-list.js +60 -11
  55. package/dist/components/custom-select-list/index.d.ts +1 -1
  56. package/dist/components/custom-select-list/model.d.ts +1 -1
  57. package/dist/components/custom-select-list-item/custom-select-list-item.d.ts +2 -2
  58. package/dist/components/custom-select-list-item/custom-select-list-item.js +89 -32
  59. package/dist/components/custom-select-list-item/index.d.ts +1 -1
  60. package/dist/components/custom-select-list-item/model.d.ts +1 -1
  61. package/dist/components/custom-select-list-item/model.js +4 -1
  62. package/dist/components/divider/divider.d.ts +1 -1
  63. package/dist/components/divider/divider.js +60 -10
  64. package/dist/components/divider/index.d.ts +1 -1
  65. package/dist/components/divider/model.d.ts +1 -1
  66. package/dist/components/divider/model.js +4 -2
  67. package/dist/components/drawer/drawer.d.ts +2 -2
  68. package/dist/components/drawer/drawer.js +118 -97
  69. package/dist/components/drawer/index.d.ts +1 -1
  70. package/dist/components/drawer/model.d.ts +1 -1
  71. package/dist/components/drawer/model.js +14 -4
  72. package/dist/components/header/header.d.ts +1 -1
  73. package/dist/components/header/header.js +143 -65
  74. package/dist/components/header/index.d.ts +1 -1
  75. package/dist/components/header/model.d.ts +1 -1
  76. package/dist/components/icon/icon.d.ts +1 -1
  77. package/dist/components/icon/icon.js +61 -12
  78. package/dist/components/icon/index.d.ts +1 -1
  79. package/dist/components/icon/model.d.ts +1 -1
  80. package/dist/components/icon/model.js +11 -1
  81. package/dist/components/infotext/index.d.ts +1 -1
  82. package/dist/components/infotext/infotext.d.ts +1 -1
  83. package/dist/components/infotext/infotext.js +62 -12
  84. package/dist/components/infotext/model.d.ts +1 -1
  85. package/dist/components/input/index.d.ts +1 -1
  86. package/dist/components/input/input.d.ts +1 -1
  87. package/dist/components/input/input.js +198 -167
  88. package/dist/components/input/model.d.ts +1 -1
  89. package/dist/components/input/model.js +21 -5
  90. package/dist/components/link/index.d.ts +1 -1
  91. package/dist/components/link/link.d.ts +1 -1
  92. package/dist/components/link/link.js +70 -12
  93. package/dist/components/link/model.d.ts +1 -1
  94. package/dist/components/link/model.js +8 -3
  95. package/dist/components/navigation/index.d.ts +1 -1
  96. package/dist/components/navigation/model.d.ts +1 -1
  97. package/dist/components/navigation/navigation.d.ts +1 -1
  98. package/dist/components/navigation/navigation.js +57 -11
  99. package/dist/components/navigation-item/index.d.ts +1 -1
  100. package/dist/components/navigation-item/model.d.ts +6 -2
  101. package/dist/components/navigation-item/navigation-item.d.ts +1 -1
  102. package/dist/components/navigation-item/navigation-item.js +117 -81
  103. package/dist/components/notification/index.d.ts +1 -1
  104. package/dist/components/notification/model.d.ts +1 -1
  105. package/dist/components/notification/model.js +12 -3
  106. package/dist/components/notification/notification.d.ts +2 -2
  107. package/dist/components/notification/notification.js +100 -32
  108. package/dist/components/page/index.d.ts +1 -1
  109. package/dist/components/page/model.d.ts +1 -1
  110. package/dist/components/page/model.js +4 -2
  111. package/dist/components/page/page.d.ts +1 -1
  112. package/dist/components/page/page.js +74 -46
  113. package/dist/components/popover/index.d.ts +1 -1
  114. package/dist/components/popover/model.d.ts +1 -1
  115. package/dist/components/popover/popover.d.ts +1 -1
  116. package/dist/components/popover/popover.js +126 -125
  117. package/dist/components/radio/index.d.ts +1 -1
  118. package/dist/components/radio/model.d.ts +1 -1
  119. package/dist/components/radio/radio.d.ts +1 -1
  120. package/dist/components/radio/radio.js +124 -85
  121. package/dist/components/section/index.d.ts +1 -1
  122. package/dist/components/section/model.d.ts +1 -1
  123. package/dist/components/section/section.d.ts +1 -1
  124. package/dist/components/section/section.js +59 -10
  125. package/dist/components/select/index.d.ts +1 -1
  126. package/dist/components/select/model.d.ts +1 -1
  127. package/dist/components/select/select.d.ts +1 -1
  128. package/dist/components/select/select.js +188 -191
  129. package/dist/components/stack/index.d.ts +1 -1
  130. package/dist/components/stack/model.d.ts +1 -1
  131. package/dist/components/stack/model.js +14 -4
  132. package/dist/components/stack/stack.d.ts +1 -1
  133. package/dist/components/stack/stack.js +63 -10
  134. package/dist/components/switch/index.d.ts +1 -1
  135. package/dist/components/switch/model.d.ts +1 -1
  136. package/dist/components/switch/switch.d.ts +1 -1
  137. package/dist/components/switch/switch.js +182 -150
  138. package/dist/components/tab-item/index.d.ts +1 -1
  139. package/dist/components/tab-item/model.d.ts +1 -1
  140. package/dist/components/tab-item/tab-item.d.ts +1 -1
  141. package/dist/components/tab-item/tab-item.js +105 -76
  142. package/dist/components/tab-list/index.d.ts +1 -1
  143. package/dist/components/tab-list/model.d.ts +1 -1
  144. package/dist/components/tab-list/tab-list.d.ts +1 -1
  145. package/dist/components/tab-list/tab-list.js +60 -11
  146. package/dist/components/tab-panel/index.d.ts +1 -1
  147. package/dist/components/tab-panel/model.d.ts +1 -1
  148. package/dist/components/tab-panel/tab-panel.d.ts +1 -1
  149. package/dist/components/tab-panel/tab-panel.js +59 -13
  150. package/dist/components/tabs/index.d.ts +1 -1
  151. package/dist/components/tabs/model.d.ts +1 -1
  152. package/dist/components/tabs/model.js +4 -2
  153. package/dist/components/tabs/tabs.d.ts +1 -1
  154. package/dist/components/tabs/tabs.js +191 -178
  155. package/dist/components/tag/index.d.ts +1 -1
  156. package/dist/components/tag/model.d.ts +1 -1
  157. package/dist/components/tag/model.js +4 -1
  158. package/dist/components/tag/tag.d.ts +1 -1
  159. package/dist/components/tag/tag.js +91 -32
  160. package/dist/components/textarea/index.d.ts +1 -1
  161. package/dist/components/textarea/model.d.ts +1 -1
  162. package/dist/components/textarea/model.js +13 -2
  163. package/dist/components/textarea/textarea.d.ts +1 -1
  164. package/dist/components/textarea/textarea.js +165 -150
  165. package/dist/components/tooltip/index.d.ts +1 -1
  166. package/dist/components/tooltip/model.d.ts +1 -1
  167. package/dist/components/tooltip/model.js +4 -1
  168. package/dist/components/tooltip/tooltip.d.ts +1 -1
  169. package/dist/components/tooltip/tooltip.js +119 -115
  170. package/dist/index.d.ts +26 -26
  171. package/dist/index.js +64 -81
  172. package/dist/shared/constants.js +32 -94
  173. package/dist/shared/figma.d.ts +12 -6
  174. package/dist/shared/model.js +73 -22
  175. package/dist/utils/document-click-listener.js +26 -29
  176. package/dist/utils/document-scroll-listener.js +30 -38
  177. package/dist/utils/floating-components.js +107 -358
  178. package/dist/utils/form-components.js +34 -60
  179. package/dist/utils/index.d.ts +1 -1
  180. package/dist/utils/index.js +49 -167
  181. package/dist/utils/navigation.js +68 -135
  182. package/dist/utils/react.js +10 -15
  183. package/package.json +13 -8
  184. package/dist/components/accordion/index.js +0 -1
  185. package/dist/components/accordion-item/index.js +0 -1
  186. package/dist/components/accordion-item/model.js +0 -1
  187. package/dist/components/badge/index.js +0 -1
  188. package/dist/components/brand/index.js +0 -1
  189. package/dist/components/brand/model.js +0 -1
  190. package/dist/components/button/index.js +0 -1
  191. package/dist/components/card/index.js +0 -1
  192. package/dist/components/checkbox/index.js +0 -1
  193. package/dist/components/checkbox/model.js +0 -1
  194. package/dist/components/custom-button/index.js +0 -1
  195. package/dist/components/custom-button/model.js +0 -1
  196. package/dist/components/custom-select/index.js +0 -1
  197. package/dist/components/custom-select-dropdown/index.js +0 -1
  198. package/dist/components/custom-select-form-field/index.js +0 -1
  199. package/dist/components/custom-select-form-field/model.js +0 -1
  200. package/dist/components/custom-select-list/index.js +0 -1
  201. package/dist/components/custom-select-list/model.js +0 -1
  202. package/dist/components/custom-select-list-item/index.js +0 -1
  203. package/dist/components/divider/index.js +0 -1
  204. package/dist/components/drawer/index.js +0 -1
  205. package/dist/components/header/index.js +0 -1
  206. package/dist/components/header/model.js +0 -1
  207. package/dist/components/icon/index.js +0 -1
  208. package/dist/components/infotext/index.js +0 -1
  209. package/dist/components/infotext/model.js +0 -1
  210. package/dist/components/input/index.js +0 -1
  211. package/dist/components/link/index.js +0 -1
  212. package/dist/components/navigation/index.js +0 -1
  213. package/dist/components/navigation/model.js +0 -1
  214. package/dist/components/navigation-item/index.js +0 -1
  215. package/dist/components/navigation-item/model.js +0 -1
  216. package/dist/components/notification/index.js +0 -1
  217. package/dist/components/page/index.js +0 -1
  218. package/dist/components/popover/index.js +0 -1
  219. package/dist/components/popover/model.js +0 -1
  220. package/dist/components/radio/index.js +0 -1
  221. package/dist/components/radio/model.js +0 -1
  222. package/dist/components/section/index.js +0 -1
  223. package/dist/components/section/model.js +0 -1
  224. package/dist/components/select/index.js +0 -1
  225. package/dist/components/select/model.js +0 -1
  226. package/dist/components/stack/index.js +0 -1
  227. package/dist/components/switch/index.js +0 -1
  228. package/dist/components/switch/model.js +0 -1
  229. package/dist/components/tab-item/index.js +0 -1
  230. package/dist/components/tab-item/model.js +0 -1
  231. package/dist/components/tab-list/index.js +0 -1
  232. package/dist/components/tab-list/model.js +0 -1
  233. package/dist/components/tab-panel/index.js +0 -1
  234. package/dist/components/tab-panel/model.js +0 -1
  235. package/dist/components/tabs/index.js +0 -1
  236. package/dist/components/tag/index.js +0 -1
  237. package/dist/components/textarea/index.js +0 -1
  238. package/dist/components/tooltip/index.js +0 -1
  239. package/dist/shared/examples/index.js +0 -4
  240. package/dist/shared/figma.js +0 -1
  241. package/dist/shared/showcase/show-code-link.js +0 -51
@@ -1,13 +1,62 @@
1
1
  "use client";
2
- import * as React from "react";
3
- import { filterPassingProps, getRootProps } from "../../utils/react";
4
- import { useRef, forwardRef } from "react";
5
- import { cls } from "../../utils";
6
- function DBTabListFn(props, component) {
7
- var _a, _b;
8
- const _ref = component || useRef(component);
9
- return (React.createElement("div", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density"]), { id: (_a = props.id) !== null && _a !== void 0 ? _a : (_b = props.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density"]), { className: cls("db-tab-list", props.className) }),
10
- React.createElement("ul", { role: "tablist" }, props.children)));
2
+ import { filterPassingProps as e, getRootProps as t } from "../../utils/react.js";
3
+ import { cls as n } from "../../utils/index.js";
4
+ import { forwardRef as r, useRef as i } from "react";
5
+ import { jsx as a } from "react/jsx-runtime";
6
+ //#region src/components/tab-list/tab-list.tsx
7
+ function o(r, o) {
8
+ return /* @__PURE__ */ a("div", {
9
+ ref: o || i(o),
10
+ ...e(r, [
11
+ "data-icon-variant",
12
+ "data-icon-variant-before",
13
+ "data-icon-variant-after",
14
+ "data-icon-weight",
15
+ "data-icon-weight-before",
16
+ "data-icon-weight-after",
17
+ "data-interactive",
18
+ "data-force-mobile",
19
+ "data-color",
20
+ "data-container-color",
21
+ "data-bg-color",
22
+ "data-on-bg-color",
23
+ "data-color-scheme",
24
+ "data-font-size",
25
+ "data-headline-size",
26
+ "data-divider",
27
+ "data-focus",
28
+ "data-font",
29
+ "data-density"
30
+ ]),
31
+ id: r.id ?? r.propOverrides?.id,
32
+ ...t(r, [
33
+ "data-icon-variant",
34
+ "data-icon-variant-before",
35
+ "data-icon-variant-after",
36
+ "data-icon-weight",
37
+ "data-icon-weight-before",
38
+ "data-icon-weight-after",
39
+ "data-interactive",
40
+ "data-force-mobile",
41
+ "data-color",
42
+ "data-container-color",
43
+ "data-bg-color",
44
+ "data-on-bg-color",
45
+ "data-color-scheme",
46
+ "data-font-size",
47
+ "data-headline-size",
48
+ "data-divider",
49
+ "data-focus",
50
+ "data-font",
51
+ "data-density"
52
+ ]),
53
+ className: n("db-tab-list", r.className),
54
+ children: /* @__PURE__ */ a("ul", {
55
+ role: "tablist",
56
+ children: r.children
57
+ })
58
+ });
11
59
  }
12
- const DBTabList = forwardRef(DBTabListFn);
13
- export default DBTabList;
60
+ var s = r(o);
61
+ //#endregion
62
+ export { s as default };
@@ -1 +1 @@
1
- export { default as DBTabPanel } from './tab-panel';
1
+ export { default as DBTabPanel } from './tab-panel.js';
@@ -1,4 +1,4 @@
1
- import type { GlobalProps, GlobalState } from '../../shared/model';
1
+ import type { GlobalProps, GlobalState } from '../../shared/model.js';
2
2
  export type DBTabPanelDefaultProps = {
3
3
  /**
4
4
  * The content if you don't want to use children.
@@ -1,3 +1,3 @@
1
1
  import * as React from "react";
2
- declare const DBTabPanel: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, "content" | keyof import("../..").GlobalProps> & import("./model").DBTabPanelDefaultProps & import("../..").GlobalProps & React.RefAttributes<any>>;
2
+ declare const DBTabPanel: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, "content" | keyof import("../../index.js").GlobalProps> & import("./model").DBTabPanelDefaultProps & import("../../index.js").GlobalProps & React.RefAttributes<any>>;
3
3
  export default DBTabPanel;
@@ -1,15 +1,61 @@
1
1
  "use client";
2
- import * as React from "react";
3
- import { filterPassingProps, getRootProps } from "../../utils/react";
4
- import { useRef, useEffect, forwardRef } from "react";
5
- import { cls } from "../../utils";
6
- function DBTabPanelFn(props, component) {
7
- var _a, _b;
8
- const _ref = component || useRef(component);
9
- useEffect(() => { }, []);
10
- return (React.createElement("section", Object.assign({ role: "tabpanel", ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density"]), getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density"]), { className: cls("db-tab-panel", props.className), id: (_a = props.id) !== null && _a !== void 0 ? _a : (_b = props.propOverrides) === null || _b === void 0 ? void 0 : _b.id }),
11
- props.content ? React.createElement(React.Fragment, null, props.content) : null,
12
- props.children));
2
+ import { filterPassingProps as e, getRootProps as t } from "../../utils/react.js";
3
+ import { cls as n } from "../../utils/index.js";
4
+ import { forwardRef as r, useEffect as i, useRef as a } from "react";
5
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
6
+ //#region src/components/tab-panel/tab-panel.tsx
7
+ function l(r, l) {
8
+ let u = l || a(l);
9
+ return i(() => {}, []), /* @__PURE__ */ c("section", {
10
+ role: "tabpanel",
11
+ ref: u,
12
+ ...e(r, [
13
+ "data-icon-variant",
14
+ "data-icon-variant-before",
15
+ "data-icon-variant-after",
16
+ "data-icon-weight",
17
+ "data-icon-weight-before",
18
+ "data-icon-weight-after",
19
+ "data-interactive",
20
+ "data-force-mobile",
21
+ "data-color",
22
+ "data-container-color",
23
+ "data-bg-color",
24
+ "data-on-bg-color",
25
+ "data-color-scheme",
26
+ "data-font-size",
27
+ "data-headline-size",
28
+ "data-divider",
29
+ "data-focus",
30
+ "data-font",
31
+ "data-density"
32
+ ]),
33
+ ...t(r, [
34
+ "data-icon-variant",
35
+ "data-icon-variant-before",
36
+ "data-icon-variant-after",
37
+ "data-icon-weight",
38
+ "data-icon-weight-before",
39
+ "data-icon-weight-after",
40
+ "data-interactive",
41
+ "data-force-mobile",
42
+ "data-color",
43
+ "data-container-color",
44
+ "data-bg-color",
45
+ "data-on-bg-color",
46
+ "data-color-scheme",
47
+ "data-font-size",
48
+ "data-headline-size",
49
+ "data-divider",
50
+ "data-focus",
51
+ "data-font",
52
+ "data-density"
53
+ ]),
54
+ className: n("db-tab-panel", r.className),
55
+ id: r.id ?? r.propOverrides?.id,
56
+ children: [r.content ? /* @__PURE__ */ s(o, { children: r.content }) : null, r.children]
57
+ });
13
58
  }
14
- const DBTabPanel = forwardRef(DBTabPanelFn);
15
- export default DBTabPanel;
59
+ var u = r(l);
60
+ //#endregion
61
+ export { u as default };
@@ -1 +1 @@
1
- export { default as DBTabs } from './tabs';
1
+ export { default as DBTabs } from './tabs.js';
@@ -1,4 +1,4 @@
1
- import type { AlignmentProps, GlobalProps, InitializedState, InputEvent, OrientationProps, WidthProps } from '../../shared/model';
1
+ import type { AlignmentProps, GlobalProps, InitializedState, InputEvent, OrientationProps, WidthProps } from '../../shared/model.js';
2
2
  import type { DBTabItemProps } from '../tab-item/model';
3
3
  import type { DBTabPanelProps } from '../tab-panel/model';
4
4
  export declare const TabsBehaviorList: readonly ["scrollbar", "arrows"];
@@ -1,2 +1,4 @@
1
- export const TabsBehaviorList = ['scrollbar', 'arrows'];
2
- export const TabsInitialSelectedModeList = ['auto', 'manually'];
1
+ //#region src/components/tabs/model.ts
2
+ var e = ["scrollbar", "arrows"], t = ["auto", "manually"];
3
+ //#endregion
4
+ export { e as TabsBehaviorList, t as TabsInitialSelectedModeList };
@@ -1,3 +1,3 @@
1
1
  import * as React from "react";
2
- declare const DBTabs: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, keyof import("../../shared/model").GlobalProps | "width" | "alignment" | keyof import("./model").DBTabsDefaultProps | "orientation" | keyof import("./model").DBTabsEventProps> & import("./model").DBTabsDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").OrientationProps & import("../../shared/model").WidthProps & import("../../shared/model").AlignmentProps & import("./model").DBTabsEventProps & React.RefAttributes<any>>;
2
+ declare const DBTabs: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, keyof import("../../shared/model.js").GlobalProps | "width" | "alignment" | keyof import("./model.js").DBTabsDefaultProps | "orientation" | keyof import("./model.js").DBTabsEventProps> & import("./model.js").DBTabsDefaultProps & import("../../shared/model.js").GlobalProps & import("../../shared/model.js").OrientationProps & import("../../shared/model.js").WidthProps & import("../../shared/model.js").AlignmentProps & import("./model.js").DBTabsEventProps & React.RefAttributes<any>>;
3
3
  export default DBTabs;
@@ -1,180 +1,193 @@
1
1
  "use client";
2
- import * as React from "react";
3
- import { filterPassingProps, getRootProps } from "../../utils/react";
4
- import { useState, useRef, useEffect, forwardRef } from "react";
5
- import { cls } from "../../utils";
6
- import DBButton from "../button/button";
7
- import DBTabItem from "../tab-item/tab-item";
8
- import DBTabList from "../tab-list/tab-list";
9
- import DBTabPanel from "../tab-panel/tab-panel";
10
- import { useId } from "react";
11
- function DBTabsFn(props, component) {
12
- var _a, _b, _c, _d, _e, _f;
13
- const uuid = useId();
14
- const _ref = component || useRef(component);
15
- const [_name, set_name] = useState(() => "");
16
- const [initialized, setInitialized] = useState(() => false);
17
- const [showScrollLeft, setShowScrollLeft] = useState(() => false);
18
- const [showScrollRight, setShowScrollRight] = useState(() => false);
19
- const [scrollContainer, setScrollContainer] = useState(() => null);
20
- const [_resizeObserver, set_resizeObserver] = useState(() => undefined);
21
- function convertTabs() {
22
- try {
23
- if (typeof props.tabs === "string") {
24
- return JSON.parse(props.tabs);
25
- }
26
- return props.tabs;
27
- }
28
- catch (error) {
29
- console.error(error);
30
- }
31
- return [];
32
- }
33
- function evaluateScrollButtons(tList) {
34
- const needsScroll = tList.scrollWidth > tList.clientWidth;
35
- setShowScrollLeft(needsScroll && tList.scrollLeft > 1);
36
- setShowScrollRight(needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth);
37
- }
38
- function scroll(left) {
39
- let step = Number(props.arrowScrollDistance) || 100;
40
- if (left) {
41
- step *= -1;
42
- }
43
- scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.scrollBy({
44
- top: 0,
45
- left: step,
46
- behavior: "smooth",
47
- });
48
- }
49
- function initTabList() {
50
- if (_ref.current) {
51
- const tabList = _ref.current.querySelector(".db-tab-list");
52
- if (tabList) {
53
- const container = tabList.querySelector('[role="tablist"]');
54
- if (container) {
55
- container.setAttribute("aria-orientation", props.orientation || "horizontal");
56
- if (props.behavior === "arrows") {
57
- setScrollContainer(container);
58
- evaluateScrollButtons(container);
59
- container.addEventListener("scroll", () => {
60
- evaluateScrollButtons(container);
61
- });
62
- // Use ResizeObserver to re-evaluate scroll buttons because it provides more accurate, container-specific resize detection than global window resize events.
63
- if (!_resizeObserver) {
64
- const observer = new ResizeObserver(() => {
65
- evaluateScrollButtons(container);
66
- });
67
- observer.observe(container);
68
- set_resizeObserver(observer);
69
- }
70
- }
71
- }
72
- }
73
- }
74
- }
75
- function initTabs(init) {
76
- if (_ref.current) {
77
- const tabItems = Array.from(_ref.current.getElementsByClassName("db-tab-item"));
78
- const tabPanels = Array.from(_ref.current.querySelectorAll(":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)"));
79
- for (const tabItem of tabItems) {
80
- const index = tabItems.indexOf(tabItem);
81
- const label = tabItem.querySelector("label");
82
- const input = tabItem.querySelector("input");
83
- if (input && label) {
84
- if (!input.id) {
85
- const tabId = `${_name}-tab-${index}`;
86
- label.setAttribute("for", tabId);
87
- input.id = tabId;
88
- input.setAttribute("name", _name);
89
- if (tabPanels.length > index) {
90
- input.setAttribute("aria-controls", `${_name}-tab-panel-${index}`);
91
- }
92
- }
93
- if (init) {
94
- // Auto select
95
- const autoSelect = !props.initialSelectedMode ||
96
- props.initialSelectedMode === "auto";
97
- const shouldAutoSelect = (props.initialSelectedIndex == null && index === 0) ||
98
- Number(props.initialSelectedIndex) === index;
99
- if (autoSelect && shouldAutoSelect) {
100
- input.click();
101
- }
102
- }
103
- }
104
- }
105
- for (const panel of tabPanels) {
106
- if (panel.id)
107
- continue;
108
- const index = tabPanels.indexOf(panel);
109
- panel.id = `${_name}-tab-panel-${index}`;
110
- panel.setAttribute("aria-labelledby", `${_name}-tab-${index}`);
111
- }
112
- }
113
- }
114
- function handleChange(event) {
115
- var _a;
116
- event.stopPropagation();
117
- if (event.target) {
118
- const target = event.target;
119
- const parent = target.parentElement;
120
- if (parent &&
121
- parent.parentElement &&
122
- ((_a = parent.parentElement) === null || _a === void 0 ? void 0 : _a.nodeName) === "LI") {
123
- const tabItem = parent.parentElement;
124
- if (tabItem) {
125
- const list = tabItem.parentElement;
126
- if (list) {
127
- const tabIndex = Array.from(list.children).indexOf(tabItem);
128
- if (props.onIndexChange) {
129
- props.onIndexChange(tabIndex);
130
- }
131
- if (props.onTabSelect) {
132
- props.onTabSelect(event);
133
- }
134
- }
135
- }
136
- }
137
- }
138
- }
139
- useEffect(() => {
140
- set_name(`tabs-${props.name || uuid}`);
141
- setInitialized(true);
142
- }, []);
143
- useEffect(() => {
144
- if (_ref.current && initialized) {
145
- initTabList();
146
- initTabs(true);
147
- const tabList = _ref.current.querySelector(".db-tab-list");
148
- if (tabList) {
149
- const observer = new MutationObserver((mutations) => {
150
- mutations.forEach((mutation) => {
151
- if (mutation.removedNodes.length || mutation.addedNodes.length) {
152
- initTabList();
153
- initTabs();
154
- }
155
- });
156
- });
157
- observer.observe(tabList, {
158
- childList: true,
159
- subtree: true,
160
- });
161
- }
162
- setInitialized(false);
163
- }
164
- }, [_ref.current, initialized]);
165
- useEffect(() => {
166
- return () => {
167
- _resizeObserver === null || _resizeObserver === void 0 ? void 0 : _resizeObserver.disconnect();
168
- set_resizeObserver(undefined);
169
- };
170
- }, []);
171
- return (React.createElement("div", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density", "onTabSelect", "onIndexChange"]), { id: (_a = props.id) !== null && _a !== void 0 ? _a : (_b = props.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density"]), { className: cls("db-tabs", props.className), "data-orientation": props.orientation, "data-scroll-behavior": props.behavior, "data-alignment": (_c = props.alignment) !== null && _c !== void 0 ? _c : "start", "data-width": (_d = props.width) !== null && _d !== void 0 ? _d : "auto", onInput: (event) => handleChange(event), onChange: (event) => handleChange(event) }),
172
- showScrollLeft ? (React.createElement(DBButton, { className: "tabs-scroll-left", variant: "ghost", icon: "chevron_left", type: "button", noText: true, onClick: (event) => scroll(true) }, "Scroll left")) : null,
173
- props.tabs ? (React.createElement(React.Fragment, null,
174
- React.createElement(DBTabList, null, (_e = convertTabs()) === null || _e === void 0 ? void 0 : _e.map((tab, index) => (React.createElement(DBTabItem, { key: props.name + "tab-item" + index, active: tab.active, label: tab.label, iconTrailing: tab.iconTrailing, icon: tab.icon, noText: tab.noText })))), (_f = convertTabs()) === null || _f === void 0 ? void 0 :
175
- _f.map((tab, index) => (React.createElement(DBTabPanel, { key: props.name + "tab-panel" + index, content: tab.content }, tab.children))))) : null,
176
- showScrollRight ? (React.createElement(DBButton, { className: "tabs-scroll-right", variant: "ghost", icon: "chevron_right", type: "button", noText: true, onClick: (event) => scroll() }, "Scroll right")) : null,
177
- props.children));
2
+ import { filterPassingProps as e, getRootProps as t } from "../../utils/react.js";
3
+ import { cls as n } from "../../utils/index.js";
4
+ import r from "../button/button.js";
5
+ import i from "../tab-item/tab-item.js";
6
+ import a from "../tab-list/tab-list.js";
7
+ import o from "../tab-panel/tab-panel.js";
8
+ import { forwardRef as s, useEffect as c, useId as l, useRef as u, useState as d } from "react";
9
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
10
+ //#region src/components/tabs/tabs.tsx
11
+ function h(s, h) {
12
+ let g = l(), _ = h || u(h), [v, y] = d(() => ""), [b, x] = d(() => !1), [S, C] = d(() => !1), [w, T] = d(() => !1), [E, D] = d(() => null), [O, k] = d(() => void 0);
13
+ function A() {
14
+ try {
15
+ return typeof s.tabs == "string" ? JSON.parse(s.tabs) : s.tabs;
16
+ } catch (e) {
17
+ console.error(e);
18
+ }
19
+ return [];
20
+ }
21
+ function j(e) {
22
+ let t = e.scrollWidth > e.clientWidth;
23
+ C(t && e.scrollLeft > 1), T(t && e.scrollLeft < e.scrollWidth - e.clientWidth);
24
+ }
25
+ function M(e) {
26
+ let t = Number(s.arrowScrollDistance) || 100;
27
+ e && (t *= -1), E?.scrollBy({
28
+ top: 0,
29
+ left: t,
30
+ behavior: "smooth"
31
+ });
32
+ }
33
+ function N() {
34
+ if (_.current) {
35
+ let e = _.current.querySelector(".db-tab-list");
36
+ if (e) {
37
+ let t = e.querySelector("[role=\"tablist\"]");
38
+ if (t && (t.setAttribute("aria-orientation", s.orientation || "horizontal"), s.behavior === "arrows" && (D(t), j(t), t.addEventListener("scroll", () => {
39
+ j(t);
40
+ }), !O))) {
41
+ let e = new ResizeObserver(() => {
42
+ j(t);
43
+ });
44
+ e.observe(t), k(e);
45
+ }
46
+ }
47
+ }
48
+ }
49
+ function P(e) {
50
+ if (_.current) {
51
+ let t = Array.from(_.current.getElementsByClassName("db-tab-item")), n = Array.from(_.current.querySelectorAll(":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)"));
52
+ for (let r of t) {
53
+ let i = t.indexOf(r), a = r.querySelector("label"), o = r.querySelector("input");
54
+ if (o && a) {
55
+ if (!o.id) {
56
+ let e = `${v}-tab-${i}`;
57
+ a.setAttribute("for", e), o.id = e, o.setAttribute("name", v), n.length > i && o.setAttribute("aria-controls", `${v}-tab-panel-${i}`);
58
+ }
59
+ if (e) {
60
+ let e = !s.initialSelectedMode || s.initialSelectedMode === "auto", t = s.initialSelectedIndex == null && i === 0 || Number(s.initialSelectedIndex) === i;
61
+ e && t && o.click();
62
+ }
63
+ }
64
+ }
65
+ for (let e of n) {
66
+ if (e.id) continue;
67
+ let t = n.indexOf(e);
68
+ e.id = `${v}-tab-panel-${t}`, e.setAttribute("aria-labelledby", `${v}-tab-${t}`);
69
+ }
70
+ }
71
+ }
72
+ function F(e) {
73
+ if (e.stopPropagation(), e.target) {
74
+ let t = e.target.parentElement;
75
+ if (t && t.parentElement && t.parentElement?.nodeName === "LI") {
76
+ let n = t.parentElement;
77
+ if (n) {
78
+ let t = n.parentElement;
79
+ if (t) {
80
+ let r = Array.from(t.children).indexOf(n);
81
+ s.onIndexChange && s.onIndexChange(r), s.onTabSelect && s.onTabSelect(e);
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
87
+ return c(() => {
88
+ y(`tabs-${s.name || g}`), x(!0);
89
+ }, []), c(() => {
90
+ if (_.current && b) {
91
+ N(), P(!0);
92
+ let e = _.current.querySelector(".db-tab-list");
93
+ e && new MutationObserver((e) => {
94
+ e.forEach((e) => {
95
+ (e.removedNodes.length || e.addedNodes.length) && (N(), P());
96
+ });
97
+ }).observe(e, {
98
+ childList: !0,
99
+ subtree: !0
100
+ }), x(!1);
101
+ }
102
+ }, [_.current, b]), c(() => () => {
103
+ O?.disconnect(), k(void 0);
104
+ }, []), /* @__PURE__ */ m("div", {
105
+ ref: _,
106
+ ...e(s, [
107
+ "data-icon-variant",
108
+ "data-icon-variant-before",
109
+ "data-icon-variant-after",
110
+ "data-icon-weight",
111
+ "data-icon-weight-before",
112
+ "data-icon-weight-after",
113
+ "data-interactive",
114
+ "data-force-mobile",
115
+ "data-color",
116
+ "data-container-color",
117
+ "data-bg-color",
118
+ "data-on-bg-color",
119
+ "data-color-scheme",
120
+ "data-font-size",
121
+ "data-headline-size",
122
+ "data-divider",
123
+ "data-focus",
124
+ "data-font",
125
+ "data-density",
126
+ "onTabSelect",
127
+ "onIndexChange"
128
+ ]),
129
+ id: s.id ?? s.propOverrides?.id,
130
+ ...t(s, [
131
+ "data-icon-variant",
132
+ "data-icon-variant-before",
133
+ "data-icon-variant-after",
134
+ "data-icon-weight",
135
+ "data-icon-weight-before",
136
+ "data-icon-weight-after",
137
+ "data-interactive",
138
+ "data-force-mobile",
139
+ "data-color",
140
+ "data-container-color",
141
+ "data-bg-color",
142
+ "data-on-bg-color",
143
+ "data-color-scheme",
144
+ "data-font-size",
145
+ "data-headline-size",
146
+ "data-divider",
147
+ "data-focus",
148
+ "data-font",
149
+ "data-density"
150
+ ]),
151
+ className: n("db-tabs", s.className),
152
+ "data-orientation": s.orientation,
153
+ "data-scroll-behavior": s.behavior,
154
+ "data-alignment": s.alignment ?? "start",
155
+ "data-width": s.width ?? "auto",
156
+ onInput: (e) => F(e),
157
+ onChange: (e) => F(e),
158
+ children: [
159
+ S ? /* @__PURE__ */ p(r, {
160
+ className: "tabs-scroll-left",
161
+ variant: "ghost",
162
+ icon: "chevron_left",
163
+ type: "button",
164
+ noText: !0,
165
+ onClick: (e) => M(!0),
166
+ children: "Scroll left"
167
+ }) : null,
168
+ s.tabs ? /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(a, { children: A()?.map((e, t) => /* @__PURE__ */ p(i, {
169
+ active: e.active,
170
+ label: e.label,
171
+ iconTrailing: e.iconTrailing,
172
+ icon: e.icon,
173
+ noText: e.noText
174
+ }, s.name + "tab-item" + t)) }), A()?.map((e, t) => /* @__PURE__ */ p(o, {
175
+ content: e.content,
176
+ children: e.children
177
+ }, s.name + "tab-panel" + t))] }) : null,
178
+ w ? /* @__PURE__ */ p(r, {
179
+ className: "tabs-scroll-right",
180
+ variant: "ghost",
181
+ icon: "chevron_right",
182
+ type: "button",
183
+ noText: !0,
184
+ onClick: (e) => M(),
185
+ children: "Scroll right"
186
+ }) : null,
187
+ s.children
188
+ ]
189
+ });
178
190
  }
179
- const DBTabs = forwardRef(DBTabsFn);
180
- export default DBTabs;
191
+ var g = s(h);
192
+ //#endregion
193
+ export { g as default };
@@ -1 +1 @@
1
- export { default as DBTag } from './tag';
1
+ export { default as DBTag } from './tag.js';
@@ -1,4 +1,4 @@
1
- import type { ClickEvent, ContentSlotProps, EmphasisProps, GlobalProps, GlobalState, IconProps, NoTextProps, OverflowProps, SemanticProps, ShowIconProps } from '../../shared/model';
1
+ import type { ClickEvent, ContentSlotProps, EmphasisProps, GlobalProps, GlobalState, IconProps, NoTextProps, OverflowProps, SemanticProps, ShowIconProps } from '../../shared/model.js';
2
2
  export declare const TagBehaviorList: readonly ["static", "removable"];
3
3
  export type TagBehaviorType = (typeof TagBehaviorList)[number];
4
4
  export type DBTagEventsProps = {
@@ -1 +1,4 @@
1
- export const TagBehaviorList = ['static', 'removable'];
1
+ //#region src/components/tag/model.ts
2
+ var e = ["static", "removable"];
3
+ //#endregion
4
+ export { e as TagBehaviorList };
@@ -1,3 +1,3 @@
1
1
  import * as React from "react";
2
- declare const DBTag: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, "content" | keyof import("../../shared/model").GlobalProps | "semantic" | "emphasis" | "icon" | "showIcon" | "noText" | keyof import("./model").DBTagDefaultProps | "overflow" | keyof import("./model").DBTagEventsProps> & import("./model").DBTagDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").IconProps & import("../../shared/model").SemanticProps & import("../../shared/model").OverflowProps & import("../../shared/model").EmphasisProps & import("../../shared/model").ShowIconProps & import("../../shared/model").ContentSlotProps & import("./model").DBTagEventsProps & import("../../shared/model").NoTextProps & React.RefAttributes<any>>;
2
+ declare const DBTag: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, "content" | keyof import("../../shared/model.js").GlobalProps | "semantic" | "emphasis" | "icon" | "showIcon" | "noText" | keyof import("./model.js").DBTagDefaultProps | "overflow" | keyof import("./model.js").DBTagEventsProps> & import("./model.js").DBTagDefaultProps & import("../../shared/model.js").GlobalProps & import("../../shared/model.js").IconProps & import("../../shared/model.js").SemanticProps & import("../../shared/model.js").OverflowProps & import("../../shared/model.js").EmphasisProps & import("../../shared/model.js").ShowIconProps & import("../../shared/model.js").ContentSlotProps & import("./model.js").DBTagEventsProps & import("../../shared/model.js").NoTextProps & React.RefAttributes<any>>;
3
3
  export default DBTag;