@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,14 +1,64 @@
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, getBooleanAsString } from "../../utils";
6
- function DBInfotextFn(props, component) {
7
- var _a, _b, _c;
8
- const _ref = component || useRef(component);
9
- return (React.createElement("span", 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-infotext", props.className), "data-icon": props.icon, "data-semantic": props.semantic, "data-size": props.size, "data-wrap": getBooleanAsString(props.wrap), "data-show-icon-leading": getBooleanAsString((_c = props.showIcon) !== null && _c !== void 0 ? _c : true) }),
10
- props.text ? React.createElement(React.Fragment, null, props.text) : null,
11
- props.children));
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),
58
+ "data-show-icon-leading": r(i.showIcon ?? !0),
59
+ children: [i.text ? /* @__PURE__ */ s(o, { children: i.text }) : null, i.children]
60
+ });
12
61
  }
13
- const DBInfotext = forwardRef(DBInfotextFn);
14
- export default DBInfotext;
62
+ var u = i(l);
63
+ //#endregion
64
+ export { u as default };
@@ -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 = {};
@@ -1 +1 @@
1
- export { default as DBInput } from './input';
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,169 +1,200 @@
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 { 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";
6
- import { cls, delay, getBoolean, getBooleanAsString, getHideProp, getInputValue, getNumber, getStep, hasVoiceOver, isArrayOfStrings, isIOSSafari, stringPropVisible, } from "../../utils";
7
- import { addValueResetEventListener, } from "../../utils/form-components";
8
- import DBInfotext from "../infotext/infotext";
9
- import { useId } from "react";
10
- function DBInputFn(props, component) {
11
- var _a, _b, _c, _d, _e, _f, _g, _h;
12
- const uuid = useId();
13
- const _ref = component || useRef(component);
14
- const [_id, set_id] = useState(() => undefined);
15
- const [_messageId, set_messageId] = useState(() => undefined);
16
- const [_validMessageId, set_validMessageId] = useState(() => undefined);
17
- const [_invalidMessageId, set_invalidMessageId] = useState(() => undefined);
18
- const [_invalidMessage, set_invalidMessage] = useState(() => undefined);
19
- const [_dataListId, set_dataListId] = useState(() => undefined);
20
- const [_descByIds, set_descByIds] = useState(() => undefined);
21
- const [_value, set_value] = useState(() => "");
22
- const [_voiceOverFallback, set_voiceOverFallback] = useState(() => "");
23
- const [abortController, setAbortController] = useState(() => undefined);
24
- function hasValidState() {
25
- var _a;
26
- return !!((_a = props.validMessage) !== null && _a !== void 0 ? _a : props.validation === "valid");
27
- }
28
- function handleValidation() {
29
- var _a, _b, _c, _d;
30
- /* For a11y reasons we need to map the correct message with the input */
31
- if (!((_a = _ref.current) === null || _a === void 0 ? void 0 : _a.validity.valid) || props.validation === "invalid") {
32
- set_descByIds(_invalidMessageId);
33
- set_invalidMessage(props.invalidMessage ||
34
- ((_b = _ref.current) === null || _b === void 0 ? void 0 : _b.validationMessage) ||
35
- DEFAULT_INVALID_MESSAGE);
36
- if (hasVoiceOver()) {
37
- set_voiceOverFallback(_invalidMessage);
38
- delay(() => set_voiceOverFallback(""), 1000);
39
- }
40
- }
41
- else if (hasValidState() &&
42
- ((_c = _ref.current) === null || _c === void 0 ? void 0 : _c.validity.valid) &&
43
- (props.required || props.minLength || props.maxLength || props.pattern)) {
44
- set_descByIds(_validMessageId);
45
- if (hasVoiceOver()) {
46
- set_voiceOverFallback((_d = props.validMessage) !== null && _d !== void 0 ? _d : DEFAULT_VALID_MESSAGE);
47
- delay(() => set_voiceOverFallback(""), 1000);
48
- }
49
- }
50
- else if (stringPropVisible(props.message, props.showMessage)) {
51
- set_descByIds(_messageId);
52
- }
53
- else {
54
- set_descByIds(undefined);
55
- }
56
- }
57
- function handleInput(event, reset) {
58
- if (props.onInput) {
59
- props.onInput(event);
60
- }
61
- handleValidation();
62
- }
63
- function handleChange(event, reset) {
64
- if (props.onChange) {
65
- props.onChange(event);
66
- }
67
- handleValidation();
68
- }
69
- function handleBlur(event) {
70
- if (props.onBlur) {
71
- props.onBlur(event);
72
- }
73
- }
74
- function handleFocus(event) {
75
- if (props.onFocus) {
76
- props.onFocus(event);
77
- }
78
- }
79
- function getDataList() {
80
- const _list = props.dataList;
81
- return Array.from((isArrayOfStrings(_list)
82
- ? _list === null || _list === void 0 ? void 0 : _list.map((val) => ({
83
- value: val,
84
- label: undefined,
85
- }))
86
- : _list) || []);
87
- }
88
- function resetIds() {
89
- var _a, _b, _c;
90
- const mId = (_c = (_a = props.id) !== null && _a !== void 0 ? _a : (_b = props.propOverrides) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : `input-${uuid}`;
91
- set_id(mId);
92
- set_messageId(mId + DEFAULT_MESSAGE_ID_SUFFIX);
93
- set_validMessageId(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);
94
- set_invalidMessageId(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);
95
- set_dataListId(mId + DEFAULT_DATALIST_ID_SUFFIX);
96
- }
97
- useEffect(() => {
98
- resetIds();
99
- set_invalidMessage(props.invalidMessage || DEFAULT_INVALID_MESSAGE);
100
- }, []);
101
- useEffect(() => {
102
- var _a, _b;
103
- if ((_a = props.id) !== null && _a !== void 0 ? _a : (_b = props.propOverrides) === null || _b === void 0 ? void 0 : _b.id) {
104
- resetIds();
105
- }
106
- }, [props.id, (_a = props.propOverrides) === null || _a === void 0 ? void 0 : _a.id]);
107
- useEffect(() => {
108
- var _a;
109
- set_invalidMessage(props.invalidMessage ||
110
- ((_a = _ref.current) === null || _a === void 0 ? void 0 : _a.validationMessage) ||
111
- DEFAULT_INVALID_MESSAGE);
112
- }, [_ref.current, props.invalidMessage]);
113
- useEffect(() => {
114
- var _a;
115
- if (_id) {
116
- const messageId = _id + DEFAULT_MESSAGE_ID_SUFFIX;
117
- set_messageId(messageId);
118
- set_validMessageId(_id + DEFAULT_VALID_MESSAGE_ID_SUFFIX);
119
- set_invalidMessageId(_id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);
120
- set_dataListId((_a = props.dataListId) !== null && _a !== void 0 ? _a : _id + DEFAULT_DATALIST_ID_SUFFIX);
121
- if (stringPropVisible(props.message, props.showMessage)) {
122
- set_descByIds(messageId);
123
- }
124
- handleValidation();
125
- }
126
- }, [_id]);
127
- useEffect(() => {
128
- set_value(props.value);
129
- }, [props.value]);
130
- useEffect(() => {
131
- // If angular uses ngModel value and _value are null
132
- // then the value will be set afterward and the _ref will be refreshed
133
- const addResetListener = true;
134
- if (_ref.current && addResetListener) {
135
- const defaultValue = props.defaultValue;
136
- let controller = abortController;
137
- if (!controller) {
138
- controller = new AbortController();
139
- setAbortController(controller);
140
- }
141
- addValueResetEventListener(_ref.current, {
142
- value: props.value,
143
- defaultValue,
144
- }, (event) => {
145
- handleChange(event, true);
146
- handleInput(event, true);
147
- }, controller.signal);
148
- }
149
- }, [_ref.current]);
150
- useEffect(() => {
151
- return () => {
152
- abortController === null || abortController === void 0 ? void 0 : abortController.abort();
153
- };
154
- }, []);
155
- return (React.createElement("div", Object.assign({}, 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((_b = props.showIconLeading) !== null && _b !== void 0 ? _b : props.showIcon), "data-icon": (_c = props.iconLeading) !== null && _c !== void 0 ? _c : props.icon, "data-icon-trailing": props.iconTrailing, "data-hide-asterisk": getHideProp(props.showRequiredAsterisk), "data-show-icon-trailing": getBooleanAsString(props.showIconTrailing) }),
156
- React.createElement("label", { htmlFor: _id }, (_d = props.label) !== null && _d !== void 0 ? _d : DEFAULT_LABEL),
157
- React.createElement("input", Object.assign({ "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: (_e = props.placeholder) !== null && _e !== void 0 ? _e : 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") ||
158
- getBoolean(props.readonly, "readonly"), 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": (_f = props.ariaDescribedBy) !== null && _f !== void 0 ? _f : _descByIds, role: ["datetime-local", "date", "time", "week", "month", "color"].includes((_g = props.type) !== null && _g !== void 0 ? _g : "") && isIOSSafari()
159
- ? "textbox"
160
- : undefined })),
161
- props.dataList ? (React.createElement("datalist", { id: _dataListId }, (_h = getDataList()) === null || _h === void 0 ? void 0 : _h.map((option) => (React.createElement("option", { key: _dataListId + "-option-" + option.value, value: option.value }, option.label))))) : null,
162
- props.children,
163
- stringPropVisible(props.message, props.showMessage) ? (React.createElement(DBInfotext, { size: props.messageSize || "small", icon: props.messageIcon, id: _messageId }, props.message)) : null,
164
- hasValidState() ? (React.createElement(DBInfotext, { semantic: "successful", id: _validMessageId, size: props.validMessageSize || "small" }, props.validMessage || DEFAULT_VALID_MESSAGE)) : null,
165
- React.createElement(DBInfotext, { semantic: "critical", id: _invalidMessageId, size: props.invalidMessageSize || "small" }, _invalidMessage),
166
- React.createElement("span", { "data-visually-hidden": "true", role: "status" }, _voiceOverFallback)));
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 ?? y.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),
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"),
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
+ });
167
197
  }
168
- const DBInput = forwardRef(DBInputFn);
169
- export default DBInput;
198
+ var D = y(E);
199
+ //#endregion
200
+ export { D as default };
@@ -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,5 +1,21 @@
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
+ //#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 +1 @@
1
- export { default as DBLink } from './link';
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,14 +1,72 @@
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, getBooleanAsString } from "../../utils";
6
- function DBLinkFn(props, component) {
7
- var _a, _b, _c, _d;
8
- const _ref = component || useRef(component);
9
- return (React.createElement("a", 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-link", props.className), href: props.href, target: props.target, rel: props.rel, role: props.role, referrerPolicy: (_c = props.referrerpolicy) !== null && _c !== void 0 ? _c : props.referrerPolicy, hrefLang: props.hreflang, "aria-disabled": getBooleanAsString(props.disabled), tabIndex: props.disabled ? -1 : 0, "data-size": props.size, "data-show-icon-trailing": getBooleanAsString((_d = props.showIcon) !== null && _d !== void 0 ? _d : true), "data-variant": props.variant, "data-content": props.content || "internal", "data-wrap": getBooleanAsString(props.wrap) }),
10
- props.text ? React.createElement(React.Fragment, null, props.text) : null,
11
- props.children));
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),
61
+ tabIndex: i.disabled ? -1 : 0,
62
+ "data-size": i.size,
63
+ "data-show-icon-trailing": r(i.showIcon ?? !0),
64
+ "data-variant": i.variant,
65
+ "data-content": i.content || "internal",
66
+ "data-wrap": r(i.wrap),
67
+ children: [i.text ? /* @__PURE__ */ s(o, { children: i.text }) : null, i.children]
68
+ });
12
69
  }
13
- const DBLink = forwardRef(DBLinkFn);
14
- export default DBLink;
70
+ var u = i(l);
71
+ //#endregion
72
+ export { u as default };