@db-ux/react-core-components 4.11.1 → 4.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/components/accordion/accordion.d.ts +1 -1
  3. package/dist/components/accordion/accordion.js +83 -102
  4. package/dist/components/accordion/index.d.ts +1 -1
  5. package/dist/components/accordion/index.js +1 -0
  6. package/dist/components/accordion/model.d.ts +2 -2
  7. package/dist/components/accordion/model.js +2 -4
  8. package/dist/components/accordion-item/accordion-item.d.ts +2 -2
  9. package/dist/components/accordion-item/accordion-item.js +56 -89
  10. package/dist/components/accordion-item/index.d.ts +1 -1
  11. package/dist/components/accordion-item/index.js +1 -0
  12. package/dist/components/accordion-item/model.d.ts +1 -1
  13. package/dist/components/accordion-item/model.js +1 -0
  14. package/dist/components/badge/badge.d.ts +1 -1
  15. package/dist/components/badge/badge.js +28 -72
  16. package/dist/components/badge/index.d.ts +1 -1
  17. package/dist/components/badge/index.js +1 -0
  18. package/dist/components/badge/model.d.ts +1 -1
  19. package/dist/components/badge/model.js +1 -12
  20. package/dist/components/brand/brand.d.ts +1 -1
  21. package/dist/components/brand/brand.js +10 -60
  22. package/dist/components/brand/index.d.ts +1 -1
  23. package/dist/components/brand/index.js +1 -0
  24. package/dist/components/brand/model.d.ts +1 -1
  25. package/dist/components/brand/model.js +1 -0
  26. package/dist/components/button/button.d.ts +1 -1
  27. package/dist/components/button/button.js +19 -75
  28. package/dist/components/button/index.d.ts +1 -1
  29. package/dist/components/button/index.js +1 -0
  30. package/dist/components/button/model.d.ts +1 -1
  31. package/dist/components/button/model.js +2 -13
  32. package/dist/components/card/card.d.ts +1 -1
  33. package/dist/components/card/card.js +14 -65
  34. package/dist/components/card/index.d.ts +1 -1
  35. package/dist/components/card/index.js +1 -0
  36. package/dist/components/card/model.d.ts +1 -1
  37. package/dist/components/card/model.js +2 -8
  38. package/dist/components/checkbox/checkbox.d.ts +1 -1
  39. package/dist/components/checkbox/checkbox.js +143 -163
  40. package/dist/components/checkbox/index.d.ts +1 -1
  41. package/dist/components/checkbox/index.js +1 -0
  42. package/dist/components/checkbox/model.d.ts +1 -1
  43. package/dist/components/checkbox/model.js +1 -0
  44. package/dist/components/custom-button/custom-button.d.ts +1 -1
  45. package/dist/components/custom-button/custom-button.js +10 -65
  46. package/dist/components/custom-button/index.d.ts +1 -1
  47. package/dist/components/custom-button/index.js +1 -0
  48. package/dist/components/custom-button/model.d.ts +2 -2
  49. package/dist/components/custom-button/model.js +1 -0
  50. package/dist/components/custom-select/custom-select.d.ts +1 -1
  51. package/dist/components/custom-select/custom-select.js +688 -509
  52. package/dist/components/custom-select/index.d.ts +1 -1
  53. package/dist/components/custom-select/index.js +1 -0
  54. package/dist/components/custom-select/model.d.ts +4 -4
  55. package/dist/components/custom-select/model.js +1 -8
  56. package/dist/components/custom-select-dropdown/custom-select-dropdown.d.ts +1 -1
  57. package/dist/components/custom-select-dropdown/custom-select-dropdown.js +10 -62
  58. package/dist/components/custom-select-dropdown/index.d.ts +1 -1
  59. package/dist/components/custom-select-dropdown/index.js +1 -0
  60. package/dist/components/custom-select-dropdown/model.d.ts +1 -1
  61. package/dist/components/custom-select-dropdown/model.js +1 -8
  62. package/dist/components/custom-select-form-field/custom-select-form-field.d.ts +1 -1
  63. package/dist/components/custom-select-form-field/custom-select-form-field.js +9 -57
  64. package/dist/components/custom-select-form-field/index.d.ts +1 -1
  65. package/dist/components/custom-select-form-field/index.js +1 -0
  66. package/dist/components/custom-select-form-field/model.d.ts +1 -1
  67. package/dist/components/custom-select-form-field/model.js +1 -0
  68. package/dist/components/custom-select-list/custom-select-list.d.ts +1 -1
  69. package/dist/components/custom-select-list/custom-select-list.js +9 -60
  70. package/dist/components/custom-select-list/index.d.ts +1 -1
  71. package/dist/components/custom-select-list/index.js +1 -0
  72. package/dist/components/custom-select-list/model.d.ts +1 -1
  73. package/dist/components/custom-select-list/model.js +1 -0
  74. package/dist/components/custom-select-list-item/custom-select-list-item.d.ts +2 -2
  75. package/dist/components/custom-select-list-item/custom-select-list-item.js +28 -89
  76. package/dist/components/custom-select-list-item/index.d.ts +1 -1
  77. package/dist/components/custom-select-list-item/index.js +1 -0
  78. package/dist/components/custom-select-list-item/model.d.ts +1 -1
  79. package/dist/components/custom-select-list-item/model.js +1 -4
  80. package/dist/components/divider/divider.d.ts +1 -1
  81. package/dist/components/divider/divider.js +9 -60
  82. package/dist/components/divider/index.d.ts +1 -1
  83. package/dist/components/divider/index.js +1 -0
  84. package/dist/components/divider/model.d.ts +1 -1
  85. package/dist/components/divider/model.js +2 -4
  86. package/dist/components/drawer/drawer.d.ts +2 -2
  87. package/dist/components/drawer/drawer.js +109 -118
  88. package/dist/components/drawer/index.d.ts +1 -1
  89. package/dist/components/drawer/index.js +1 -0
  90. package/dist/components/drawer/model.d.ts +4 -1
  91. package/dist/components/drawer/model.js +4 -14
  92. package/dist/components/header/header.d.ts +1 -1
  93. package/dist/components/header/header.js +43 -143
  94. package/dist/components/header/index.d.ts +1 -1
  95. package/dist/components/header/index.js +1 -0
  96. package/dist/components/header/model.d.ts +1 -1
  97. package/dist/components/header/model.js +1 -0
  98. package/dist/components/icon/icon.d.ts +1 -1
  99. package/dist/components/icon/icon.js +9 -61
  100. package/dist/components/icon/index.d.ts +1 -1
  101. package/dist/components/icon/index.js +1 -0
  102. package/dist/components/icon/model.d.ts +1 -1
  103. package/dist/components/icon/model.js +1 -11
  104. package/dist/components/infotext/index.d.ts +1 -1
  105. package/dist/components/infotext/index.js +1 -0
  106. package/dist/components/infotext/infotext.d.ts +1 -1
  107. package/dist/components/infotext/infotext.js +9 -62
  108. package/dist/components/infotext/model.d.ts +1 -1
  109. package/dist/components/infotext/model.js +1 -0
  110. package/dist/components/input/index.d.ts +1 -1
  111. package/dist/components/input/index.js +1 -0
  112. package/dist/components/input/input.d.ts +1 -1
  113. package/dist/components/input/input.js +154 -198
  114. package/dist/components/input/model.d.ts +1 -1
  115. package/dist/components/input/model.js +5 -21
  116. package/dist/components/link/index.d.ts +1 -1
  117. package/dist/components/link/index.js +1 -0
  118. package/dist/components/link/link.d.ts +1 -1
  119. package/dist/components/link/link.js +9 -70
  120. package/dist/components/link/model.d.ts +1 -1
  121. package/dist/components/link/model.js +3 -8
  122. package/dist/components/navigation/index.d.ts +1 -1
  123. package/dist/components/navigation/index.js +1 -0
  124. package/dist/components/navigation/model.d.ts +1 -1
  125. package/dist/components/navigation/model.js +1 -0
  126. package/dist/components/navigation/navigation.d.ts +1 -1
  127. package/dist/components/navigation/navigation.js +9 -57
  128. package/dist/components/navigation-item/index.d.ts +1 -1
  129. package/dist/components/navigation-item/index.js +1 -0
  130. package/dist/components/navigation-item/model.d.ts +2 -2
  131. package/dist/components/navigation-item/model.js +1 -0
  132. package/dist/components/navigation-item/navigation-item.d.ts +1 -1
  133. package/dist/components/navigation-item/navigation-item.js +71 -117
  134. package/dist/components/notification/index.d.ts +1 -1
  135. package/dist/components/notification/index.js +1 -0
  136. package/dist/components/notification/model.d.ts +1 -1
  137. package/dist/components/notification/model.js +3 -12
  138. package/dist/components/notification/notification.d.ts +2 -2
  139. package/dist/components/notification/notification.js +23 -100
  140. package/dist/components/page/index.d.ts +1 -1
  141. package/dist/components/page/index.js +1 -0
  142. package/dist/components/page/model.d.ts +1 -1
  143. package/dist/components/page/model.js +2 -4
  144. package/dist/components/page/page.d.ts +1 -1
  145. package/dist/components/page/page.js +42 -74
  146. package/dist/components/popover/index.d.ts +1 -1
  147. package/dist/components/popover/index.js +1 -0
  148. package/dist/components/popover/model.d.ts +1 -1
  149. package/dist/components/popover/model.js +1 -0
  150. package/dist/components/popover/popover.d.ts +1 -1
  151. package/dist/components/popover/popover.js +119 -126
  152. package/dist/components/radio/index.d.ts +1 -1
  153. package/dist/components/radio/index.js +1 -0
  154. package/dist/components/radio/model.d.ts +1 -1
  155. package/dist/components/radio/model.js +1 -0
  156. package/dist/components/radio/radio.d.ts +1 -1
  157. package/dist/components/radio/radio.js +86 -124
  158. package/dist/components/section/index.d.ts +1 -1
  159. package/dist/components/section/index.js +1 -0
  160. package/dist/components/section/model.d.ts +1 -1
  161. package/dist/components/section/model.js +1 -0
  162. package/dist/components/section/section.d.ts +1 -1
  163. package/dist/components/section/section.js +9 -59
  164. package/dist/components/select/index.d.ts +1 -1
  165. package/dist/components/select/index.js +1 -0
  166. package/dist/components/select/model.d.ts +1 -1
  167. package/dist/components/select/model.js +1 -0
  168. package/dist/components/select/select.d.ts +1 -1
  169. package/dist/components/select/select.js +172 -188
  170. package/dist/components/stack/index.d.ts +1 -1
  171. package/dist/components/stack/index.js +1 -0
  172. package/dist/components/stack/model.d.ts +1 -1
  173. package/dist/components/stack/model.js +4 -14
  174. package/dist/components/stack/stack.d.ts +1 -1
  175. package/dist/components/stack/stack.js +9 -63
  176. package/dist/components/switch/index.d.ts +1 -1
  177. package/dist/components/switch/index.js +1 -0
  178. package/dist/components/switch/model.d.ts +1 -1
  179. package/dist/components/switch/model.js +1 -0
  180. package/dist/components/switch/switch.d.ts +1 -1
  181. package/dist/components/switch/switch.js +135 -182
  182. package/dist/components/tab-item/index.d.ts +1 -1
  183. package/dist/components/tab-item/index.js +1 -0
  184. package/dist/components/tab-item/model.d.ts +1 -1
  185. package/dist/components/tab-item/model.js +1 -0
  186. package/dist/components/tab-item/tab-item.d.ts +1 -1
  187. package/dist/components/tab-item/tab-item.js +72 -105
  188. package/dist/components/tab-list/index.d.ts +1 -1
  189. package/dist/components/tab-list/index.js +1 -0
  190. package/dist/components/tab-list/model.d.ts +1 -1
  191. package/dist/components/tab-list/model.js +1 -0
  192. package/dist/components/tab-list/tab-list.d.ts +1 -1
  193. package/dist/components/tab-list/tab-list.js +9 -60
  194. package/dist/components/tab-panel/index.d.ts +1 -1
  195. package/dist/components/tab-panel/index.js +1 -0
  196. package/dist/components/tab-panel/model.d.ts +1 -1
  197. package/dist/components/tab-panel/model.js +1 -0
  198. package/dist/components/tab-panel/tab-panel.d.ts +1 -1
  199. package/dist/components/tab-panel/tab-panel.js +10 -59
  200. package/dist/components/table/examples/data.d.ts +1 -1
  201. package/dist/components/table/examples/data.js +258 -0
  202. package/dist/components/table/index.d.ts +1 -1
  203. package/dist/components/table/index.js +1 -0
  204. package/dist/components/table/model.d.ts +2 -2
  205. package/dist/components/table/model.js +6 -28
  206. package/dist/components/table/table.d.ts +1 -1
  207. package/dist/components/table/table.js +77 -111
  208. package/dist/components/table-body/index.d.ts +1 -1
  209. package/dist/components/table-body/index.js +1 -0
  210. package/dist/components/table-body/model.d.ts +2 -2
  211. package/dist/components/table-body/model.js +1 -0
  212. package/dist/components/table-body/table-body.d.ts +1 -1
  213. package/dist/components/table-body/table-body.js +12 -64
  214. package/dist/components/table-caption/index.d.ts +1 -1
  215. package/dist/components/table-caption/index.js +1 -0
  216. package/dist/components/table-caption/model.d.ts +1 -1
  217. package/dist/components/table-caption/model.js +1 -0
  218. package/dist/components/table-caption/table-caption.d.ts +1 -1
  219. package/dist/components/table-caption/table-caption.js +9 -57
  220. package/dist/components/table-data-cell/index.d.ts +1 -1
  221. package/dist/components/table-data-cell/index.js +1 -0
  222. package/dist/components/table-data-cell/model.d.ts +1 -1
  223. package/dist/components/table-data-cell/model.js +1 -0
  224. package/dist/components/table-data-cell/table-data-cell.d.ts +1 -1
  225. package/dist/components/table-data-cell/table-data-cell.js +9 -62
  226. package/dist/components/table-footer/index.d.ts +1 -1
  227. package/dist/components/table-footer/index.js +1 -0
  228. package/dist/components/table-footer/model.d.ts +2 -2
  229. package/dist/components/table-footer/model.js +1 -0
  230. package/dist/components/table-footer/table-footer.d.ts +1 -1
  231. package/dist/components/table-footer/table-footer.js +12 -64
  232. package/dist/components/table-head/index.d.ts +1 -1
  233. package/dist/components/table-head/index.js +1 -0
  234. package/dist/components/table-head/model.d.ts +2 -2
  235. package/dist/components/table-head/model.js +1 -0
  236. package/dist/components/table-head/table-head.d.ts +1 -1
  237. package/dist/components/table-head/table-head.js +18 -71
  238. package/dist/components/table-header-cell/index.d.ts +1 -1
  239. package/dist/components/table-header-cell/index.js +1 -0
  240. package/dist/components/table-header-cell/model.d.ts +1 -1
  241. package/dist/components/table-header-cell/model.js +1 -9
  242. package/dist/components/table-header-cell/table-header-cell.d.ts +1 -1
  243. package/dist/components/table-header-cell/table-header-cell.js +9 -65
  244. package/dist/components/table-row/index.d.ts +1 -1
  245. package/dist/components/table-row/index.js +1 -0
  246. package/dist/components/table-row/model.d.ts +4 -4
  247. package/dist/components/table-row/model.js +1 -8
  248. package/dist/components/table-row/table-row.d.ts +1 -1
  249. package/dist/components/table-row/table-row.js +20 -127
  250. package/dist/components/tabs/index.d.ts +1 -1
  251. package/dist/components/tabs/index.js +1 -0
  252. package/dist/components/tabs/model.d.ts +3 -3
  253. package/dist/components/tabs/model.js +2 -4
  254. package/dist/components/tabs/tabs.d.ts +1 -1
  255. package/dist/components/tabs/tabs.js +170 -191
  256. package/dist/components/tag/index.d.ts +1 -1
  257. package/dist/components/tag/index.js +1 -0
  258. package/dist/components/tag/model.d.ts +1 -1
  259. package/dist/components/tag/model.js +1 -4
  260. package/dist/components/tag/tag.d.ts +1 -1
  261. package/dist/components/tag/tag.js +26 -91
  262. package/dist/components/textarea/index.d.ts +1 -1
  263. package/dist/components/textarea/index.js +1 -0
  264. package/dist/components/textarea/model.d.ts +1 -1
  265. package/dist/components/textarea/model.js +2 -13
  266. package/dist/components/textarea/textarea.d.ts +1 -1
  267. package/dist/components/textarea/textarea.js +139 -165
  268. package/dist/components/tooltip/index.d.ts +1 -1
  269. package/dist/components/tooltip/index.js +1 -0
  270. package/dist/components/tooltip/model.d.ts +1 -1
  271. package/dist/components/tooltip/model.js +1 -4
  272. package/dist/components/tooltip/tooltip.d.ts +1 -1
  273. package/dist/components/tooltip/tooltip.js +197 -160
  274. package/dist/index.d.ts +97 -97
  275. package/dist/index.js +97 -75
  276. package/dist/shared/constants.js +100 -32
  277. package/dist/shared/examples/index.js +4 -0
  278. package/dist/shared/figma.js +1 -0
  279. package/dist/shared/model.js +22 -77
  280. package/dist/shared/showcase/show-code-link.js +51 -0
  281. package/dist/utils/document-click-listener.js +29 -26
  282. package/dist/utils/document-scroll-listener.js +38 -30
  283. package/dist/utils/floating-components.js +404 -107
  284. package/dist/utils/form-components.js +71 -34
  285. package/dist/utils/index.d.ts +1 -1
  286. package/dist/utils/index.js +170 -49
  287. package/dist/utils/navigation.js +134 -68
  288. package/dist/utils/react.js +21 -10
  289. package/package.json +6 -9
@@ -1,64 +1,11 @@
1
1
  "use client";
2
- import { filterPassingProps as e, getRootProps as t } from "../../utils/react.js";
3
- import { cls as n, getBooleanAsString as r } from "../../utils/index.js";
4
- import { forwardRef 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/infotext/infotext.tsx
7
- function l(i, l) {
8
- return /* @__PURE__ */ c("span", {
9
- ref: l || a(l),
10
- ...e(i, [
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: i.id ?? i.propOverrides?.id,
32
- ...t(i, [
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-infotext", i.className),
54
- "data-icon": i.icon,
55
- "data-semantic": i.semantic,
56
- "data-size": i.size,
57
- "data-wrap": r(i.wrap, "wrap"),
58
- "data-show-icon-leading": r(i.showIcon ?? !0, "showIcon"),
59
- children: [i.text ? /* @__PURE__ */ s(o, { children: i.text }) : null, i.children]
60
- });
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { filterPassingProps, getRootProps } from "../../utils/react.js";
4
+ import { useRef, forwardRef } from "react";
5
+ import { cls, getBooleanAsString } from "../../utils/index.js";
6
+ function DBInfotextFn(props, component) {
7
+ const _ref = component || useRef(component);
8
+ return (_jsxs("span", { 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: props.id ?? props.propOverrides?.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-infotext", props.className), "data-icon": props.icon, "data-semantic": props.semantic, "data-size": props.size, "data-wrap": getBooleanAsString(props.wrap, "wrap"), "data-show-icon-leading": getBooleanAsString(props.showIcon ?? true, "showIcon"), children: [props.text ? _jsx(_Fragment, { children: props.text }) : null, props.children] }));
61
9
  }
62
- var u = i(l);
63
- //#endregion
64
- export { u as default };
10
+ const DBInfotext = forwardRef(DBInfotextFn);
11
+ export default DBInfotext;
@@ -1,4 +1,4 @@
1
- import type { GlobalProps, GlobalState, IconProps, SemanticProps, ShowIconProps, SizeProps, TextProps, WrapProps } from '../../shared/model';
1
+ import type { GlobalProps, GlobalState, IconProps, SemanticProps, ShowIconProps, SizeProps, TextProps, WrapProps } from '../../shared/model.js';
2
2
  export type DBInfotextDefaultProps = {};
3
3
  export type DBInfotextProps = DBInfotextDefaultProps & GlobalProps & SemanticProps & IconProps & SizeProps & ShowIconProps & TextProps & WrapProps;
4
4
  export type DBInfotextDefaultState = {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- export { default as DBInput } from './input';
1
+ export { default as DBInput } from './input.js';
@@ -0,0 +1 @@
1
+ export { default as DBInput } from './input.js';
@@ -1,3 +1,3 @@
1
1
  import * as React from "react";
2
- declare const DBInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<any>, keyof import("../../shared/model").GlobalProps | "value" | "size" | "icon" | "showIcon" | "showIconLeading" | "showIconTrailing" | "iconLeading" | "iconTrailing" | keyof import("../../shared/model").ChangeEventProps<HTMLInputElement> | keyof import("../../shared/model").FocusEventProps<HTMLInputElement> | keyof import("../../shared/model").CustomFormProps | keyof import("../../shared/model").BaseFormProps | keyof import("../../shared/model").RequiredProps | "showLabel" | keyof import("../../shared/model").FormMessageProps | keyof import("./model").DBInputDefaultProps | keyof import("../../shared/model").FormTextProps | keyof import("../../shared/model").InputEventProps<HTMLInputElement>> & import("./model").DBInputDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").FormTextProps & import("../../shared/model").InputEventProps<HTMLInputElement> & import("../../shared/model").ChangeEventProps<HTMLInputElement> & import("../../shared/model").FocusEventProps<HTMLInputElement> & import("../../shared/model").CustomFormProps & import("../../shared/model").BaseFormProps & import("../../shared/model").RequiredProps & import("../../shared/model").ShowLabelProps & import("../../shared/model").ValueProps & import("../../shared/model").IconProps & import("../../shared/model").IconTrailingProps & import("../../shared/model").FormMessageProps & import("../../shared/model").ShowIconProps & import("../../shared/model").IconLeadingProps & import("../../shared/model").ShowIconLeadingProps & import("../../shared/model").ShowIconTrailingProps & import("../../shared/model").FormSizeProps & React.RefAttributes<any>>;
2
+ declare const DBInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<any>, keyof import("../../shared/model.js").GlobalProps | "value" | "size" | "icon" | "showIcon" | "showIconLeading" | "showIconTrailing" | "iconLeading" | "iconTrailing" | keyof import("../../shared/model.js").ChangeEventProps<HTMLInputElement> | keyof import("../../shared/model.js").FocusEventProps<HTMLInputElement> | keyof import("../../shared/model.js").CustomFormProps | keyof import("../../shared/model.js").BaseFormProps | keyof import("../../shared/model.js").RequiredProps | "showLabel" | keyof import("../../shared/model.js").FormMessageProps | keyof import("./model.js").DBInputDefaultProps | keyof import("../../shared/model.js").FormTextProps | keyof import("../../shared/model.js").InputEventProps<HTMLInputElement>> & import("./model.js").DBInputDefaultProps & import("../../shared/model.js").GlobalProps & import("../../shared/model.js").FormTextProps & import("../../shared/model.js").InputEventProps<HTMLInputElement> & import("../../shared/model.js").ChangeEventProps<HTMLInputElement> & import("../../shared/model.js").FocusEventProps<HTMLInputElement> & import("../../shared/model.js").CustomFormProps & import("../../shared/model.js").BaseFormProps & import("../../shared/model.js").RequiredProps & import("../../shared/model.js").ShowLabelProps & import("../../shared/model.js").ValueProps & import("../../shared/model.js").IconProps & import("../../shared/model.js").IconTrailingProps & import("../../shared/model.js").FormMessageProps & import("../../shared/model.js").ShowIconProps & import("../../shared/model.js").IconLeadingProps & import("../../shared/model.js").ShowIconLeadingProps & import("../../shared/model.js").ShowIconTrailingProps & import("../../shared/model.js").FormSizeProps & React.RefAttributes<any>>;
3
3
  export default DBInput;
@@ -1,200 +1,156 @@
1
1
  "use client";
2
- import { filterPassingProps as e, getRootProps as t } from "../../utils/react.js";
3
- import { cls as n, delay as r, getBoolean as i, getBooleanAsString as a, getHideProp as o, getInputValue as s, getNumber as c, getStep as l, hasVoiceOver as u, isArrayOfStrings as d, isIOSSafari as f, stringPropVisible as p } from "../../utils/index.js";
4
- import { DEFAULT_DATALIST_ID_SUFFIX as ee, DEFAULT_INVALID_MESSAGE_ID_SUFFIX as m, DEFAULT_MESSAGE_ID_SUFFIX as h, DEFAULT_VALID_MESSAGE_ID_SUFFIX as g } from "../../shared/constants.js";
5
- import { addValueResetEventListener as _ } from "../../utils/form-components.js";
6
- import v from "../infotext/infotext.js";
7
- import { forwardRef as y, useEffect as b, useId as x, useRef as S, useState as C } from "react";
8
- import { jsx as w, jsxs as T } from "react/jsx-runtime";
9
- //#region src/components/input/input.tsx
10
- function E(y, E) {
11
- let D = x(), O = E || S(E), [k, A] = C(() => void 0), [j, M] = C(() => void 0), [N, P] = C(() => void 0), [F, I] = C(() => void 0), [L, R] = C(() => void 0), [z, B] = C(() => void 0), [V, H] = C(() => void 0), [te, U] = C(() => ""), [W, G] = C(() => ""), [K, q] = C(() => void 0);
12
- function J() {
13
- return !!(y.validMessage ?? y.validation === "valid");
14
- }
15
- function Y() {
16
- !O.current?.validity.valid || y.validation === "invalid" ? (H(F), R(y.invalidMessage || O.current?.validationMessage || "TODO: Add an invalidMessage"), u() && (G(L), r(() => G(""), 1e3))) : J() && O.current?.validity.valid && (y.required || y.minLength || y.maxLength || y.pattern) ? (H(N), u() && (G(y.validMessage ?? "TODO: Add a validMessage"), r(() => G(""), 1e3))) : p(y.message, y.showMessage) ? H(j) : H(void 0);
17
- }
18
- function X(e, t) {
19
- y.onInput && y.onInput(e), Y();
20
- }
21
- function Z(e, t) {
22
- y.onChange && y.onChange(e), Y();
23
- }
24
- function Q(e) {
25
- y.onBlur && y.onBlur(e);
26
- }
27
- function ne(e) {
28
- y.onFocus && y.onFocus(e);
29
- }
30
- function re() {
31
- let e = y.dataList;
32
- return Array.from((d(e) ? e?.map((e) => ({
33
- value: e,
34
- label: void 0
35
- })) : e) || []);
36
- }
37
- function $() {
38
- let e = y.id ?? y.propOverrides?.id ?? `input-${D}`;
39
- A(e), M(e + h), P(e + g), I(e + m), B(e + ee);
40
- }
41
- return b(() => {
42
- $(), R(y.invalidMessage || "TODO: Add an invalidMessage");
43
- }, []), b(() => {
44
- (y.id ?? y.propOverrides?.id) && $();
45
- }, [y.id, y.propOverrides?.id]), b(() => {
46
- R(y.invalidMessage || O.current?.validationMessage || "TODO: Add an invalidMessage");
47
- }, [O.current, y.invalidMessage]), b(() => {
48
- if (k) {
49
- let e = k + h;
50
- M(e), P(k + g), I(k + m), B(y.dataListId ?? k + "-datalist"), p(y.message, y.showMessage) && H(e), Y();
51
- }
52
- }, [k]), b(() => {
53
- U(y.value);
54
- }, [y.value]), b(() => {
55
- if (O.current) {
56
- let e = y.defaultValue, t = K;
57
- t || (t = new AbortController(), q(t)), _(O.current, {
58
- value: y.value,
59
- defaultValue: e
60
- }, (e) => {
61
- Z(e, !0), X(e, !0);
62
- }, t.signal);
63
- }
64
- }, [O.current]), b(() => () => {
65
- K?.abort();
66
- }, []), /* @__PURE__ */ T("div", {
67
- ...t(y, [
68
- "data-icon-variant",
69
- "data-icon-variant-before",
70
- "data-icon-variant-after",
71
- "data-icon-weight",
72
- "data-icon-weight-before",
73
- "data-icon-weight-after",
74
- "data-interactive",
75
- "data-force-mobile",
76
- "data-color",
77
- "data-container-color",
78
- "data-bg-color",
79
- "data-on-bg-color",
80
- "data-color-scheme",
81
- "data-font-size",
82
- "data-headline-size",
83
- "data-divider",
84
- "data-focus",
85
- "data-font",
86
- "data-density"
87
- ]),
88
- className: n("db-input", y.className),
89
- "data-variant": y.variant,
90
- "data-hide-label": o(y.showLabel),
91
- "data-show-icon": a(y.showIconLeading, "showIconLeading") || a(y.showIcon, "showIcon"),
92
- "data-icon": y.iconLeading ?? y.icon,
93
- "data-icon-trailing": y.iconTrailing,
94
- "data-hide-asterisk": o(y.showRequiredAsterisk),
95
- "data-show-icon-trailing": a(y.showIconTrailing, "showIconTrailing"),
96
- children: [
97
- /* @__PURE__ */ w("label", {
98
- htmlFor: k,
99
- children: y.label ?? "LABEL SHOULD BE SET"
100
- }),
101
- /* @__PURE__ */ w("input", {
102
- "aria-invalid": y.validation === "invalid",
103
- "data-custom-validity": y.validation,
104
- "data-field-sizing": y.fieldSizing,
105
- ref: O,
106
- ...e(y, [
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
- ]),
127
- id: k,
128
- name: y.name,
129
- type: y.type || "text",
130
- multiple: i(y.multiple, "multiple"),
131
- accept: y.accept,
132
- placeholder: y.placeholder ?? " ",
133
- disabled: i(y.disabled, "disabled"),
134
- required: i(y.required, "required"),
135
- step: l(y.step),
136
- value: y.value,
137
- maxLength: c(y.maxLength, y.maxlength),
138
- minLength: c(y.minLength, y.minlength),
139
- max: s(y.max, y.type),
140
- min: s(y.min, y.type),
141
- readOnly: i(y.readOnly, "readOnly") || i(y.readonly, "readonly") || void 0,
142
- form: y.form,
143
- pattern: y.pattern,
144
- size: y.size,
145
- autoComplete: y.autocomplete,
146
- autoFocus: i(y.autofocus, "autofocus"),
147
- enterKeyHint: y.enterkeyhint,
148
- inputMode: y.inputmode,
149
- onInput: (e) => X(e),
150
- onChange: (e) => Z(e),
151
- onBlur: (e) => Q(e),
152
- onFocus: (e) => ne(e),
153
- list: y.dataList && z,
154
- "aria-describedby": y.ariaDescribedBy ?? V,
155
- role: [
156
- "datetime-local",
157
- "date",
158
- "time",
159
- "week",
160
- "month",
161
- "color"
162
- ].includes(y.type ?? "") && f() ? "textbox" : void 0
163
- }),
164
- y.dataList ? /* @__PURE__ */ w("datalist", {
165
- id: z,
166
- children: re()?.map((e) => /* @__PURE__ */ w("option", {
167
- value: e.value,
168
- children: e.label
169
- }, z + "-option-" + e.value))
170
- }) : null,
171
- y.children,
172
- p(y.message, y.showMessage) ? /* @__PURE__ */ w(v, {
173
- size: y.messageSize || "small",
174
- icon: y.messageIcon,
175
- id: j,
176
- children: y.message
177
- }) : null,
178
- J() ? /* @__PURE__ */ w(v, {
179
- semantic: "successful",
180
- id: N,
181
- size: y.validMessageSize || "small",
182
- children: y.validMessage || "TODO: Add a validMessage"
183
- }) : null,
184
- /* @__PURE__ */ w(v, {
185
- semantic: "critical",
186
- id: F,
187
- size: y.invalidMessageSize || "small",
188
- children: L
189
- }),
190
- /* @__PURE__ */ w("span", {
191
- "data-visually-hidden": "true",
192
- role: "status",
193
- children: W
194
- })
195
- ]
196
- });
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { filterPassingProps, getRootProps } from "../../utils/react.js";
4
+ import { useState, useRef, useEffect, forwardRef } from "react";
5
+ import { DEFAULT_DATALIST_ID_SUFFIX, DEFAULT_INVALID_MESSAGE, DEFAULT_INVALID_MESSAGE_ID_SUFFIX, DEFAULT_LABEL, DEFAULT_MESSAGE_ID_SUFFIX, DEFAULT_PLACEHOLDER, DEFAULT_VALID_MESSAGE, DEFAULT_VALID_MESSAGE_ID_SUFFIX, } from "../../shared/constants.js";
6
+ import { cls, delay, getBoolean, getBooleanAsString, getHideProp, getInputValue, getNumber, getStep, hasVoiceOver, isArrayOfStrings, isIOSSafari, stringPropVisible, } from "../../utils/index.js";
7
+ import { addValueResetEventListener, } from "../../utils/form-components.js";
8
+ import DBInfotext from "../infotext/infotext.js";
9
+ import { useId } from "react";
10
+ function DBInputFn(props, component) {
11
+ const uuid = useId();
12
+ const _ref = component || useRef(component);
13
+ const [_id, set_id] = useState(() => undefined);
14
+ const [_messageId, set_messageId] = useState(() => undefined);
15
+ const [_validMessageId, set_validMessageId] = useState(() => undefined);
16
+ const [_invalidMessageId, set_invalidMessageId] = useState(() => undefined);
17
+ const [_invalidMessage, set_invalidMessage] = useState(() => undefined);
18
+ const [_dataListId, set_dataListId] = useState(() => undefined);
19
+ const [_descByIds, set_descByIds] = useState(() => undefined);
20
+ const [_value, set_value] = useState(() => "");
21
+ const [_voiceOverFallback, set_voiceOverFallback] = useState(() => "");
22
+ const [abortController, setAbortController] = useState(() => undefined);
23
+ function hasValidState() {
24
+ return !!(props.validMessage ?? props.validation === "valid");
25
+ }
26
+ function handleValidation() {
27
+ /* For a11y reasons we need to map the correct message with the input */
28
+ if (!_ref.current?.validity.valid || props.validation === "invalid") {
29
+ set_descByIds(_invalidMessageId);
30
+ set_invalidMessage(props.invalidMessage ||
31
+ _ref.current?.validationMessage ||
32
+ DEFAULT_INVALID_MESSAGE);
33
+ if (hasVoiceOver()) {
34
+ set_voiceOverFallback(_invalidMessage);
35
+ void delay(() => set_voiceOverFallback(""), 1000);
36
+ }
37
+ }
38
+ else if (hasValidState() &&
39
+ _ref.current?.validity.valid &&
40
+ (props.required || props.minLength || props.maxLength || props.pattern)) {
41
+ set_descByIds(_validMessageId);
42
+ if (hasVoiceOver()) {
43
+ set_voiceOverFallback(props.validMessage ?? DEFAULT_VALID_MESSAGE);
44
+ void delay(() => set_voiceOverFallback(""), 1000);
45
+ }
46
+ }
47
+ else if (stringPropVisible(props.message, props.showMessage)) {
48
+ set_descByIds(_messageId);
49
+ }
50
+ else {
51
+ set_descByIds(undefined);
52
+ }
53
+ }
54
+ function handleInput(event, reset) {
55
+ if (props.onInput) {
56
+ props.onInput(event);
57
+ }
58
+ handleValidation();
59
+ }
60
+ function handleChange(event, reset) {
61
+ if (props.onChange) {
62
+ props.onChange(event);
63
+ }
64
+ handleValidation();
65
+ }
66
+ function handleBlur(event) {
67
+ if (props.onBlur) {
68
+ props.onBlur(event);
69
+ }
70
+ }
71
+ function handleFocus(event) {
72
+ if (props.onFocus) {
73
+ props.onFocus(event);
74
+ }
75
+ }
76
+ function getDataList() {
77
+ const _list = props.dataList;
78
+ return Array.from((isArrayOfStrings(_list)
79
+ ? _list?.map((val) => ({
80
+ value: val,
81
+ label: undefined,
82
+ }))
83
+ : _list) || []);
84
+ }
85
+ function resetIds() {
86
+ const mId = props.id ?? props.propOverrides?.id ?? `input-${uuid}`;
87
+ set_id(mId);
88
+ set_messageId(mId + DEFAULT_MESSAGE_ID_SUFFIX);
89
+ set_validMessageId(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);
90
+ set_invalidMessageId(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);
91
+ set_dataListId(mId + DEFAULT_DATALIST_ID_SUFFIX);
92
+ }
93
+ useEffect(() => {
94
+ resetIds();
95
+ set_invalidMessage(props.invalidMessage || DEFAULT_INVALID_MESSAGE);
96
+ }, []);
97
+ useEffect(() => {
98
+ if (props.id ?? props.propOverrides?.id) {
99
+ resetIds();
100
+ }
101
+ }, [props.id, props.propOverrides?.id]);
102
+ useEffect(() => {
103
+ set_invalidMessage(props.invalidMessage ||
104
+ _ref.current?.validationMessage ||
105
+ DEFAULT_INVALID_MESSAGE);
106
+ }, [_ref.current, props.invalidMessage]);
107
+ useEffect(() => {
108
+ if (_id) {
109
+ const messageId = _id + DEFAULT_MESSAGE_ID_SUFFIX;
110
+ set_messageId(messageId);
111
+ set_validMessageId(_id + DEFAULT_VALID_MESSAGE_ID_SUFFIX);
112
+ set_invalidMessageId(_id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);
113
+ set_dataListId(props.dataListId ?? _id + DEFAULT_DATALIST_ID_SUFFIX);
114
+ if (stringPropVisible(props.message, props.showMessage)) {
115
+ set_descByIds(messageId);
116
+ }
117
+ handleValidation();
118
+ }
119
+ }, [_id]);
120
+ useEffect(() => {
121
+ set_value(props.value);
122
+ }, [props.value]);
123
+ useEffect(() => {
124
+ // If angular uses ngModel value and _value are null
125
+ // then the value will be set afterward and the _ref will be refreshed
126
+ const addResetListener = true;
127
+ if (_ref.current && addResetListener) {
128
+ const defaultValue = props.defaultValue;
129
+ let controller = abortController;
130
+ if (!controller) {
131
+ controller = new AbortController();
132
+ setAbortController(controller);
133
+ }
134
+ addValueResetEventListener(_ref.current, {
135
+ value: props.value,
136
+ defaultValue,
137
+ }, (event) => {
138
+ handleChange(event, true);
139
+ handleInput(event, true);
140
+ }, controller.signal);
141
+ }
142
+ }, [_ref.current]);
143
+ useEffect(() => {
144
+ return () => {
145
+ abortController?.abort();
146
+ };
147
+ }, []);
148
+ return (_jsxs("div", { ...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-input", props.className), "data-variant": props.variant, "data-hide-label": getHideProp(props.showLabel), "data-show-icon": getBooleanAsString(props.showIconLeading, "showIconLeading") ||
149
+ getBooleanAsString(props.showIcon, "showIcon"), "data-icon": props.iconLeading ?? props.icon, "data-icon-trailing": props.iconTrailing, "data-hide-asterisk": getHideProp(props.showRequiredAsterisk), "data-show-icon-trailing": getBooleanAsString(props.showIconTrailing, "showIconTrailing"), children: [_jsx("label", { htmlFor: _id, children: props.label ?? DEFAULT_LABEL }), _jsx("input", { "aria-invalid": props.validation === "invalid", "data-custom-validity": props.validation, "data-field-sizing": props.fieldSizing, 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: _id, name: props.name, type: props.type || "text", multiple: getBoolean(props.multiple, "multiple"), accept: props.accept, placeholder: props.placeholder ?? DEFAULT_PLACEHOLDER, disabled: getBoolean(props.disabled, "disabled"), required: getBoolean(props.required, "required"), step: getStep(props.step), value: props.value, maxLength: getNumber(props.maxLength, props.maxlength), minLength: getNumber(props.minLength, props.minlength), max: getInputValue(props.max, props.type), min: getInputValue(props.min, props.type), readOnly: getBoolean(props.readOnly, "readOnly") ||
150
+ getBoolean(props.readonly, "readonly") ||
151
+ undefined, form: props.form, pattern: props.pattern, size: props.size, autoComplete: props.autocomplete, autoFocus: getBoolean(props.autofocus, "autofocus"), enterKeyHint: props.enterkeyhint, inputMode: props.inputmode, onInput: (event) => handleInput(event), onChange: (event) => handleChange(event), onBlur: (event) => handleBlur(event), onFocus: (event) => handleFocus(event), list: props.dataList && _dataListId, "aria-describedby": props.ariaDescribedBy ?? _descByIds, role: ["datetime-local", "date", "time", "week", "month", "color"].includes(props.type ?? "") && isIOSSafari()
152
+ ? "textbox"
153
+ : undefined }), props.dataList ? (_jsx("datalist", { id: _dataListId, children: getDataList()?.map((option) => (_jsx("option", { value: option.value, children: option.label }, _dataListId + "-option-" + option.value))) })) : null, props.children, stringPropVisible(props.message, props.showMessage) ? (_jsx(DBInfotext, { size: props.messageSize || "small", icon: props.messageIcon, id: _messageId, children: props.message })) : null, hasValidState() ? (_jsx(DBInfotext, { semantic: "successful", id: _validMessageId, size: props.validMessageSize || "small", children: props.validMessage || DEFAULT_VALID_MESSAGE })) : null, _jsx(DBInfotext, { semantic: "critical", id: _invalidMessageId, size: props.invalidMessageSize || "small", children: _invalidMessage }), _jsx("span", { "data-visually-hidden": "true", role: "status", children: _voiceOverFallback })] }));
197
154
  }
198
- var D = y(E);
199
- //#endregion
200
- export { D as default };
155
+ const DBInput = forwardRef(DBInputFn);
156
+ export default DBInput;
@@ -1,4 +1,4 @@
1
- import type { ChangeEventProps, ChangeEventState, FocusEventProps, FocusEventState, FormMessageProps, FormProps, FormSizeProps, FormState, FormTextProps, FromValidState, GlobalProps, GlobalState, IconLeadingProps, IconProps, IconTrailingProps, InputEventProps, InputEventState, ShowIconLeadingProps, ShowIconProps, ShowIconTrailingProps, SizeType, ValueLabelType } from '../../shared/model';
1
+ import type { ChangeEventProps, ChangeEventState, FocusEventProps, FocusEventState, FormMessageProps, FormProps, FormSizeProps, FormState, FormTextProps, FromValidState, GlobalProps, GlobalState, IconLeadingProps, IconProps, IconTrailingProps, InputEventProps, InputEventState, ShowIconLeadingProps, ShowIconProps, ShowIconTrailingProps, SizeType, ValueLabelType } from '../../shared/model.js';
2
2
  export declare const InputTypeList: readonly ["color", "date", "datetime-local", "email", "file", "hidden", "month", "number", "password", "range", "search", "tel", "text", "time", "url", "week"];
3
3
  export type InputTypeType = (typeof InputTypeList)[number];
4
4
  export type DBInputDefaultProps = {
@@ -1,21 +1,5 @@
1
- //#region src/components/input/model.ts
2
- var e = [
3
- "color",
4
- "date",
5
- "datetime-local",
6
- "email",
7
- "file",
8
- "hidden",
9
- "month",
10
- "number",
11
- "password",
12
- "range",
13
- "search",
14
- "tel",
15
- "text",
16
- "time",
17
- "url",
18
- "week"
19
- ];
20
- //#endregion
21
- export { e as InputTypeList };
1
+ export const InputTypeList = ['color', 'date', 'datetime-local', 'email', 'file',
2
+ // TODO: move this to own component
3
+ 'hidden', 'month', 'number', 'password', 'range',
4
+ // TODO: move this to own component
5
+ 'search', 'tel', 'text', 'time', 'url', 'week'];
@@ -1 +1 @@
1
- export { default as DBLink } from './link';
1
+ export { default as DBLink } from './link.js';
@@ -0,0 +1 @@
1
+ export { default as DBLink } from './link.js';
@@ -1,3 +1,3 @@
1
1
  import * as React from "react";
2
- declare const DBLink: React.ForwardRefExoticComponent<Omit<React.AnchorHTMLAttributes<any>, "role" | keyof import("../..").GlobalProps | "text" | "wrap" | "showIcon" | keyof import("./model").DBLinkDefaultProps | keyof import("../..").ClickEventProps<HTMLAnchorElement> | keyof import("../..").LinkProps> & import("./model").DBLinkDefaultProps & import("../..").GlobalProps & import("../..").ClickEventProps<HTMLAnchorElement> & import("../..").LinkProps & import("../..").RoleProps & import("../..").ShowIconProps & import("../..").TextProps & import("../..").WrapProps & React.RefAttributes<any>>;
2
+ declare const DBLink: React.ForwardRefExoticComponent<Omit<React.AnchorHTMLAttributes<any>, "role" | keyof import("../../index.js").GlobalProps | "text" | "wrap" | "showIcon" | keyof import("./model.js").DBLinkDefaultProps | keyof import("../../index.js").ClickEventProps<HTMLAnchorElement> | keyof import("../../index.js").LinkProps> & import("./model.js").DBLinkDefaultProps & import("../../index.js").GlobalProps & import("../../index.js").ClickEventProps<HTMLAnchorElement> & import("../../index.js").LinkProps & import("../../index.js").RoleProps & import("../../index.js").ShowIconProps & import("../../index.js").TextProps & import("../../index.js").WrapProps & React.RefAttributes<any>>;
3
3
  export default DBLink;
@@ -1,72 +1,11 @@
1
1
  "use client";
2
- import { filterPassingProps as e, getRootProps as t } from "../../utils/react.js";
3
- import { cls as n, getBooleanAsString as r } from "../../utils/index.js";
4
- import { forwardRef 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/link/link.tsx
7
- function l(i, l) {
8
- return /* @__PURE__ */ c("a", {
9
- ref: l || a(l),
10
- ...e(i, [
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: i.id ?? i.propOverrides?.id,
32
- ...t(i, [
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-link", i.className),
54
- href: i.href,
55
- target: i.target,
56
- rel: i.rel,
57
- role: i.role,
58
- referrerPolicy: i.referrerpolicy ?? i.referrerPolicy,
59
- hrefLang: i.hreflang,
60
- "aria-disabled": r(i.disabled, "disabled"),
61
- tabIndex: i.disabled ? -1 : 0,
62
- "data-size": i.size,
63
- "data-show-icon-trailing": r(i.showIcon ?? !0, "showIcon"),
64
- "data-variant": i.variant,
65
- "data-content": i.content || "internal",
66
- "data-wrap": r(i.wrap, "wrap"),
67
- children: [i.text ? /* @__PURE__ */ s(o, { children: i.text }) : null, i.children]
68
- });
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { filterPassingProps, getRootProps } from "../../utils/react.js";
4
+ import { useRef, forwardRef } from "react";
5
+ import { cls, getBooleanAsString } from "../../utils/index.js";
6
+ function DBLinkFn(props, component) {
7
+ const _ref = component || useRef(component);
8
+ return (_jsxs("a", { 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: props.id ?? props.propOverrides?.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-link", props.className), href: props.href, target: props.target, rel: props.rel, role: props.role, referrerPolicy: props.referrerpolicy ?? props.referrerPolicy, hrefLang: props.hreflang, "aria-disabled": getBooleanAsString(props.disabled, "disabled"), tabIndex: props.disabled ? -1 : 0, "data-size": props.size, "data-show-icon-trailing": getBooleanAsString(props.showIcon ?? true, "showIcon"), "data-variant": props.variant, "data-content": props.content || "internal", "data-wrap": getBooleanAsString(props.wrap, "wrap"), children: [props.text ? _jsx(_Fragment, { children: props.text }) : null, props.children] }));
69
9
  }
70
- var u = i(l);
71
- //#endregion
72
- export { u as default };
10
+ const DBLink = forwardRef(DBLinkFn);
11
+ export default DBLink;
@@ -1,4 +1,4 @@
1
- import type { ClickEventProps, ClickEventState, GlobalProps, GlobalState, LinkProps, RoleProps, ShowIconProps, TextProps, WrapProps } from '../../shared/model';
1
+ import type { ClickEventProps, ClickEventState, GlobalProps, GlobalState, LinkProps, RoleProps, ShowIconProps, TextProps, WrapProps } from '../../shared/model.js';
2
2
  export declare const LinkVariantList: readonly ["adaptive", "brand", "inline"];
3
3
  export type LinkVariantType = (typeof LinkVariantList)[number];
4
4
  export declare const LinkSizeList: readonly ["medium", "small"];