@db-ux/react-core-components 1.0.0-test-13b991d

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 (200) hide show
  1. package/README.md +76 -0
  2. package/dist/components/accordion/accordion.d.ts +3 -0
  3. package/dist/components/accordion/accordion.js +92 -0
  4. package/dist/components/accordion/index.d.ts +1 -0
  5. package/dist/components/accordion/index.js +1 -0
  6. package/dist/components/accordion/model.d.ts +41 -0
  7. package/dist/components/accordion/model.js +2 -0
  8. package/dist/components/accordion-item/accordion-item.d.ts +8 -0
  9. package/dist/components/accordion-item/accordion-item.js +34 -0
  10. package/dist/components/accordion-item/index.d.ts +1 -0
  11. package/dist/components/accordion-item/index.js +1 -0
  12. package/dist/components/accordion-item/model.d.ts +24 -0
  13. package/dist/components/accordion-item/model.js +1 -0
  14. package/dist/components/badge/badge.d.ts +3 -0
  15. package/dist/components/badge/badge.js +32 -0
  16. package/dist/components/badge/index.d.ts +1 -0
  17. package/dist/components/badge/index.js +1 -0
  18. package/dist/components/badge/model.d.ts +16 -0
  19. package/dist/components/badge/model.js +1 -0
  20. package/dist/components/brand/brand.d.ts +3 -0
  21. package/dist/components/brand/brand.js +13 -0
  22. package/dist/components/brand/index.d.ts +1 -0
  23. package/dist/components/brand/index.js +1 -0
  24. package/dist/components/brand/model.d.ts +10 -0
  25. package/dist/components/brand/model.js +1 -0
  26. package/dist/components/button/button.d.ts +3 -0
  27. package/dist/components/button/button.js +16 -0
  28. package/dist/components/button/index.d.ts +1 -0
  29. package/dist/components/button/index.js +1 -0
  30. package/dist/components/button/model.d.ts +52 -0
  31. package/dist/components/button/model.js +3 -0
  32. package/dist/components/card/card.d.ts +3 -0
  33. package/dist/components/card/card.js +16 -0
  34. package/dist/components/card/index.d.ts +1 -0
  35. package/dist/components/card/index.js +1 -0
  36. package/dist/components/card/model.d.ts +18 -0
  37. package/dist/components/card/model.js +2 -0
  38. package/dist/components/checkbox/checkbox.d.ts +3 -0
  39. package/dist/components/checkbox/checkbox.js +112 -0
  40. package/dist/components/checkbox/index.d.ts +1 -0
  41. package/dist/components/checkbox/index.js +1 -0
  42. package/dist/components/checkbox/model.d.ts +10 -0
  43. package/dist/components/checkbox/model.js +1 -0
  44. package/dist/components/divider/divider.d.ts +3 -0
  45. package/dist/components/divider/divider.js +11 -0
  46. package/dist/components/divider/index.d.ts +1 -0
  47. package/dist/components/divider/index.js +1 -0
  48. package/dist/components/divider/model.d.ts +18 -0
  49. package/dist/components/divider/model.js +2 -0
  50. package/dist/components/drawer/drawer.d.ts +3 -0
  51. package/dist/components/drawer/drawer.js +70 -0
  52. package/dist/components/drawer/index.d.ts +1 -0
  53. package/dist/components/drawer/index.js +1 -0
  54. package/dist/components/drawer/model.d.ts +41 -0
  55. package/dist/components/drawer/model.js +3 -0
  56. package/dist/components/header/header.d.ts +3 -0
  57. package/dist/components/header/header.js +68 -0
  58. package/dist/components/header/index.d.ts +1 -0
  59. package/dist/components/header/index.js +1 -0
  60. package/dist/components/header/model.d.ts +44 -0
  61. package/dist/components/header/model.js +1 -0
  62. package/dist/components/icon/icon.d.ts +3 -0
  63. package/dist/components/icon/icon.js +11 -0
  64. package/dist/components/icon/index.d.ts +1 -0
  65. package/dist/components/icon/index.js +1 -0
  66. package/dist/components/icon/model.d.ts +12 -0
  67. package/dist/components/icon/model.js +2 -0
  68. package/dist/components/infotext/index.d.ts +1 -0
  69. package/dist/components/infotext/index.js +1 -0
  70. package/dist/components/infotext/infotext.d.ts +3 -0
  71. package/dist/components/infotext/infotext.js +12 -0
  72. package/dist/components/infotext/model.d.ts +5 -0
  73. package/dist/components/infotext/model.js +1 -0
  74. package/dist/components/input/index.d.ts +1 -0
  75. package/dist/components/input/index.js +1 -0
  76. package/dist/components/input/input.d.ts +3 -0
  77. package/dist/components/input/input.js +119 -0
  78. package/dist/components/input/model.d.ts +39 -0
  79. package/dist/components/input/model.js +5 -0
  80. package/dist/components/link/index.d.ts +1 -0
  81. package/dist/components/link/index.js +1 -0
  82. package/dist/components/link/link.d.ts +3 -0
  83. package/dist/components/link/link.js +17 -0
  84. package/dist/components/link/model.d.ts +24 -0
  85. package/dist/components/link/model.js +3 -0
  86. package/dist/components/navigation/index.d.ts +1 -0
  87. package/dist/components/navigation/index.js +1 -0
  88. package/dist/components/navigation/model.d.ts +5 -0
  89. package/dist/components/navigation/model.js +1 -0
  90. package/dist/components/navigation/navigation.d.ts +3 -0
  91. package/dist/components/navigation/navigation.js +17 -0
  92. package/dist/components/navigation-item/index.d.ts +1 -0
  93. package/dist/components/navigation-item/index.js +1 -0
  94. package/dist/components/navigation-item/model.d.ts +34 -0
  95. package/dist/components/navigation-item/model.js +1 -0
  96. package/dist/components/navigation-item/navigation-item.d.ts +3 -0
  97. package/dist/components/navigation-item/navigation-item.js +68 -0
  98. package/dist/components/notification/index.d.ts +1 -0
  99. package/dist/components/notification/index.js +1 -0
  100. package/dist/components/notification/model.d.ts +57 -0
  101. package/dist/components/notification/model.js +3 -0
  102. package/dist/components/notification/notification.d.ts +3 -0
  103. package/dist/components/notification/notification.js +25 -0
  104. package/dist/components/page/index.d.ts +1 -0
  105. package/dist/components/page/index.js +1 -0
  106. package/dist/components/page/model.d.ts +32 -0
  107. package/dist/components/page/model.js +2 -0
  108. package/dist/components/page/page.d.ts +3 -0
  109. package/dist/components/page/page.js +47 -0
  110. package/dist/components/popover/index.d.ts +1 -0
  111. package/dist/components/popover/index.js +1 -0
  112. package/dist/components/popover/model.d.ts +18 -0
  113. package/dist/components/popover/model.js +1 -0
  114. package/dist/components/popover/popover.d.ts +3 -0
  115. package/dist/components/popover/popover.js +74 -0
  116. package/dist/components/radio/index.d.ts +1 -0
  117. package/dist/components/radio/index.js +1 -0
  118. package/dist/components/radio/model.d.ts +7 -0
  119. package/dist/components/radio/model.js +1 -0
  120. package/dist/components/radio/radio.d.ts +3 -0
  121. package/dist/components/radio/radio.js +54 -0
  122. package/dist/components/section/index.d.ts +1 -0
  123. package/dist/components/section/index.js +1 -0
  124. package/dist/components/section/model.d.ts +5 -0
  125. package/dist/components/section/model.js +1 -0
  126. package/dist/components/section/section.d.ts +3 -0
  127. package/dist/components/section/section.js +16 -0
  128. package/dist/components/select/index.d.ts +1 -0
  129. package/dist/components/select/index.js +1 -0
  130. package/dist/components/select/model.d.ts +43 -0
  131. package/dist/components/select/model.js +1 -0
  132. package/dist/components/select/select.d.ts +3 -0
  133. package/dist/components/select/select.js +132 -0
  134. package/dist/components/stack/index.d.ts +1 -0
  135. package/dist/components/stack/index.js +1 -0
  136. package/dist/components/stack/model.d.ts +34 -0
  137. package/dist/components/stack/model.js +4 -0
  138. package/dist/components/stack/stack.d.ts +3 -0
  139. package/dist/components/stack/stack.js +11 -0
  140. package/dist/components/switch/index.d.ts +1 -0
  141. package/dist/components/switch/index.js +1 -0
  142. package/dist/components/switch/model.d.ts +12 -0
  143. package/dist/components/switch/model.js +1 -0
  144. package/dist/components/switch/switch.d.ts +3 -0
  145. package/dist/components/switch/switch.js +47 -0
  146. package/dist/components/tab-item/index.d.ts +1 -0
  147. package/dist/components/tab-item/index.js +1 -0
  148. package/dist/components/tab-item/model.d.ts +24 -0
  149. package/dist/components/tab-item/model.js +1 -0
  150. package/dist/components/tab-item/tab-item.d.ts +3 -0
  151. package/dist/components/tab-item/tab-item.js +37 -0
  152. package/dist/components/tab-list/index.d.ts +1 -0
  153. package/dist/components/tab-list/index.js +1 -0
  154. package/dist/components/tab-list/model.d.ts +5 -0
  155. package/dist/components/tab-list/model.js +1 -0
  156. package/dist/components/tab-list/tab-list.d.ts +3 -0
  157. package/dist/components/tab-list/tab-list.js +17 -0
  158. package/dist/components/tab-panel/index.d.ts +1 -0
  159. package/dist/components/tab-panel/index.js +1 -0
  160. package/dist/components/tab-panel/model.d.ts +10 -0
  161. package/dist/components/tab-panel/model.js +1 -0
  162. package/dist/components/tab-panel/tab-panel.d.ts +3 -0
  163. package/dist/components/tab-panel/tab-panel.js +14 -0
  164. package/dist/components/tabs/index.d.ts +1 -0
  165. package/dist/components/tabs/index.js +1 -0
  166. package/dist/components/tabs/model.d.ts +47 -0
  167. package/dist/components/tabs/model.js +2 -0
  168. package/dist/components/tabs/tabs.d.ts +3 -0
  169. package/dist/components/tabs/tabs.js +138 -0
  170. package/dist/components/tag/index.d.ts +1 -0
  171. package/dist/components/tag/index.js +1 -0
  172. package/dist/components/tag/model.d.ts +45 -0
  173. package/dist/components/tag/model.js +1 -0
  174. package/dist/components/tag/tag.d.ts +3 -0
  175. package/dist/components/tag/tag.js +46 -0
  176. package/dist/components/textarea/index.d.ts +1 -0
  177. package/dist/components/textarea/index.js +1 -0
  178. package/dist/components/textarea/model.d.ts +30 -0
  179. package/dist/components/textarea/model.js +2 -0
  180. package/dist/components/textarea/textarea.d.ts +3 -0
  181. package/dist/components/textarea/textarea.js +105 -0
  182. package/dist/components/tooltip/index.d.ts +1 -0
  183. package/dist/components/tooltip/index.js +1 -0
  184. package/dist/components/tooltip/model.d.ts +7 -0
  185. package/dist/components/tooltip/model.js +1 -0
  186. package/dist/components/tooltip/tooltip.d.ts +3 -0
  187. package/dist/components/tooltip/tooltip.js +43 -0
  188. package/dist/index.d.ts +36 -0
  189. package/dist/index.js +36 -0
  190. package/dist/shared/constants.d.ts +83 -0
  191. package/dist/shared/constants.js +87 -0
  192. package/dist/shared/model.d.ts +446 -0
  193. package/dist/shared/model.js +20 -0
  194. package/dist/utils/form-components.d.ts +2 -0
  195. package/dist/utils/form-components.js +10 -0
  196. package/dist/utils/index.d.ts +61 -0
  197. package/dist/utils/index.js +166 -0
  198. package/dist/utils/navigation.d.ts +32 -0
  199. package/dist/utils/navigation.js +136 -0
  200. package/package.json +43 -0
@@ -0,0 +1,18 @@
1
+ import { GapProps, GlobalProps, GlobalState, InitializedState, PlacementProps, PopoverProps, PopoverState, SpacingProps } from '../../shared/model';
2
+ export type DBPopoverDefaultProps = {
3
+ /**
4
+ * Use open to disable the default hover/focus behavior to use it on click or other trigger.
5
+ */
6
+ open?: boolean;
7
+ /**
8
+ * The trigger to open the popover e.g. a button
9
+ */
10
+ trigger?: any;
11
+ };
12
+ export type DBPopoverProps = DBPopoverDefaultProps & GlobalProps & SpacingProps & PlacementProps & GapProps & PopoverProps;
13
+ export type DBPopoverDefaultState = {
14
+ isExpanded?: boolean;
15
+ getTrigger: () => Element | null;
16
+ handleLeave: (event: any) => void;
17
+ };
18
+ export type DBPopoverState = DBPopoverDefaultState & GlobalState & PopoverState & InitializedState;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const DBPopover: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "gap" | "spacing" | keyof import("../..").GlobalProps | keyof import("../..").PopoverProps | "placement" | keyof import("./model").DBPopoverDefaultProps> & import("./model").DBPopoverDefaultProps & import("../..").GlobalProps & import("../..").SpacingProps & import("../..").PlacementProps & import("../..").GapProps & import("../..").PopoverProps & React.RefAttributes<HTMLDivElement>>;
3
+ export default DBPopover;
@@ -0,0 +1,74 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { useState, useRef, useEffect, forwardRef } from "react";
4
+ import { cls, getBooleanAsString, handleDataOutside, filterPassingProps, getRootProps } from "../../utils";
5
+ function DBPopoverFn(props, component) {
6
+ var _a;
7
+ const _ref = component || useRef(component);
8
+ const [initialized, setInitialized] = useState(() => false);
9
+ const [isExpanded, setIsExpanded] = useState(() => false);
10
+ function handleAutoPlacement() {
11
+ setIsExpanded(true);
12
+ if (!_ref.current)
13
+ return;
14
+ const article = _ref.current.querySelector("article");
15
+ if (!article)
16
+ return;
17
+ handleDataOutside(article);
18
+ }
19
+ function handleLeave(event) {
20
+ const element = event.target;
21
+ const parent = element.parentNode;
22
+ if (!parent ||
23
+ (element.parentNode.querySelector(":focus") !== element &&
24
+ element.parentNode.querySelector(":focus-within") !== element &&
25
+ element.parentNode.querySelector(":hover") !== element)) {
26
+ setIsExpanded(false);
27
+ }
28
+ }
29
+ function getTrigger() {
30
+ var _a;
31
+ if (_ref.current) {
32
+ const children = Array.from(_ref.current.children);
33
+ if (children.length >= 2) {
34
+ const firstChild = children[0];
35
+ if (firstChild.tagName.includes("-")) {
36
+ // this is a workaround for custom angular components
37
+ return ((_a = firstChild.children) === null || _a === void 0 ? void 0 : _a.length) > 0
38
+ ? firstChild.children[0]
39
+ : null;
40
+ }
41
+ else {
42
+ return firstChild;
43
+ }
44
+ }
45
+ }
46
+ return null;
47
+ }
48
+ useEffect(() => {
49
+ setInitialized(true);
50
+ }, []);
51
+ useEffect(() => {
52
+ if (_ref.current && initialized) {
53
+ const child = getTrigger();
54
+ if (child) {
55
+ child.ariaHasPopup = "true";
56
+ }
57
+ setInitialized(false);
58
+ }
59
+ }, [_ref.current, initialized]);
60
+ useEffect(() => {
61
+ if (_ref.current) {
62
+ const child = getTrigger();
63
+ if (child) {
64
+ child.ariaExpanded = Boolean(isExpanded).toString();
65
+ }
66
+ }
67
+ }, [_ref.current, isExpanded]);
68
+ return (React.createElement("div", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: props.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"]), { className: cls("db-popover", props.className), onFocus: (event) => handleAutoPlacement(), onBlur: (event) => handleLeave(event), onMouseEnter: (event) => handleAutoPlacement(), onMouseLeave: (event) => handleLeave(event) }),
69
+ React.createElement(React.Fragment, null, props.trigger),
70
+ React.createElement("article", { className: "db-popover-content", "data-spacing": props.spacing, "data-gap": getBooleanAsString(props.gap), "data-animation": getBooleanAsString((_a = props.animation) !== null && _a !== void 0 ? _a : true), "data-open": props.open, "data-delay": props.delay, "data-width": props.width, "data-placement": props.placement }, props.children)));
71
+ }
72
+ const DBPopover = forwardRef(DBPopoverFn);
73
+ DBPopover.defaultProps = {};
74
+ export default DBPopover;
@@ -0,0 +1 @@
1
+ export { default as DBRadio } from './radio';
@@ -0,0 +1 @@
1
+ export { default as DBRadio } from './radio';
@@ -0,0 +1,7 @@
1
+ import { ChangeEventProps, ChangeEventState, FocusEventProps, FocusEventState, FormCheckProps, FormProps, FormState, GlobalProps, GlobalState, InitializedState, SizeProps } from '../../shared/model';
2
+ export type DBRadioDefaultProps = {
3
+ describedbyid?: string;
4
+ };
5
+ export type DBRadioProps = DBRadioDefaultProps & GlobalProps & ChangeEventProps<HTMLInputElement> & FocusEventProps<HTMLInputElement> & FormProps & FormCheckProps & SizeProps;
6
+ export type DBRadioDefaultState = {};
7
+ export type DBRadioState = DBRadioDefaultState & GlobalState & ChangeEventState<HTMLInputElement> & FocusEventState<HTMLInputElement> & FormState & InitializedState;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const DBRadio: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLInputElement>, "size" | "checked" | keyof import("../../shared/model").GlobalProps | keyof import("../../shared/model").ChangeEventProps<HTMLInputElement> | keyof import("../../shared/model").FocusEventProps<HTMLInputElement> | keyof import("../../shared/model").FormProps> & import("./model").DBRadioDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").ChangeEventProps<HTMLInputElement> & import("../../shared/model").FocusEventProps<HTMLInputElement> & import("../../shared/model").FormProps & import("../../shared/model").FormCheckProps & import("../../shared/model").SizeProps & React.RefAttributes<HTMLInputElement>>;
3
+ export default DBRadio;
@@ -0,0 +1,54 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { useState, useRef, useEffect, forwardRef } from "react";
4
+ import { cls, getHideProp, uuid, filterPassingProps, getRootProps } from "../../utils";
5
+ function DBRadioFn(props, component) {
6
+ const _ref = component || useRef(component);
7
+ const [initialized, setInitialized] = useState(() => false);
8
+ const [_id, set_id] = useState(() => undefined);
9
+ function handleChange(event) {
10
+ if (props.onChange) {
11
+ props.onChange(event);
12
+ }
13
+ if (props.change) {
14
+ props.change(event);
15
+ }
16
+ }
17
+ function handleBlur(event) {
18
+ if (props.onBlur) {
19
+ props.onBlur(event);
20
+ }
21
+ if (props.blur) {
22
+ props.blur(event);
23
+ }
24
+ }
25
+ function handleFocus(event) {
26
+ if (props.onFocus) {
27
+ props.onFocus(event);
28
+ }
29
+ if (props.focus) {
30
+ props.focus(event);
31
+ }
32
+ }
33
+ useEffect(() => {
34
+ var _a;
35
+ setInitialized(true);
36
+ set_id((_a = props.id) !== null && _a !== void 0 ? _a : `radio-${uuid()}`);
37
+ }, []);
38
+ useEffect(() => {
39
+ if (props.checked && initialized && document && _id) {
40
+ const radioElement = document === null || document === void 0 ? void 0 : document.getElementById(_id);
41
+ if (radioElement) {
42
+ if (props.checked != undefined) {
43
+ radioElement.checked = true;
44
+ }
45
+ }
46
+ }
47
+ }, [initialized, props.checked]);
48
+ return (React.createElement("label", Object.assign({ "data-size": props.size, "data-hide-label": getHideProp(props.showLabel) }, 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"]), { className: cls("db-radio", props.className), htmlFor: _id }),
49
+ React.createElement("input", Object.assign({ type: "radio", "aria-invalid": props.validation === "invalid", "data-custom-validity": props.validation, 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"]), { id: _id, name: props.name, checked: props.checked, disabled: props.disabled, "aria-describedby": props.describedbyid, value: props.value, required: props.required, onChange: (event) => handleChange(event), onBlur: (event) => handleBlur(event), onFocus: (event) => handleFocus(event) })),
50
+ props.label ? React.createElement(React.Fragment, null, props.label) : React.createElement(React.Fragment, null, props.children)));
51
+ }
52
+ const DBRadio = forwardRef(DBRadioFn);
53
+ DBRadio.defaultProps = {};
54
+ export default DBRadio;
@@ -0,0 +1 @@
1
+ export { default as DBSection } from './section';
@@ -0,0 +1 @@
1
+ export { default as DBSection } from './section';
@@ -0,0 +1,5 @@
1
+ import { ContainerWidthProps, GlobalProps, GlobalState, SpacingProps } from '../../shared/model';
2
+ export type DBSectionDefaultProps = {};
3
+ export type DBSectionProps = DBSectionDefaultProps & GlobalProps & SpacingProps & ContainerWidthProps;
4
+ export type DBSectionDefaultState = {};
5
+ export type DBSectionState = DBSectionDefaultState & GlobalState;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const DBSection: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "width" | "spacing" | keyof import("../..").GlobalProps> & import("../..").GlobalProps & import("../..").SpacingProps & import("../..").ContainerWidthProps & React.RefAttributes<HTMLDivElement>>;
3
+ export default DBSection;
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { useState, useRef, useEffect, forwardRef } from "react";
4
+ import { cls, uuid, filterPassingProps, getRootProps } from "../../utils";
5
+ import { DEFAULT_ID } from "../../shared/constants";
6
+ function DBSectionFn(props, component) {
7
+ const _ref = component || useRef(component);
8
+ const [_id, set_id] = useState(() => DEFAULT_ID);
9
+ useEffect(() => {
10
+ set_id(props.id || "section-" + uuid());
11
+ }, []);
12
+ return (React.createElement("section", 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"]), { id: _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"]), { className: cls("db-section", props.className), "data-spacing": props.spacing || "medium", "data-width": props.width }), props.children));
13
+ }
14
+ const DBSection = forwardRef(DBSectionFn);
15
+ DBSection.defaultProps = {};
16
+ export default DBSection;
@@ -0,0 +1 @@
1
+ export { default as DBSelect } from './select';
@@ -0,0 +1 @@
1
+ export { default as DBSelect } from './select';
@@ -0,0 +1,43 @@
1
+ import { ChangeEventProps, ChangeEventState, ClickEventProps, ClickEventState, FocusEventProps, FocusEventState, FormMessageProps, FormProps, FormState, GlobalProps, GlobalState, IconProps, InitializedState, InputEventProps, InputEventState, ShowIconProps } from '../../shared/model';
2
+ export type DBSelectDefaultProps = {
3
+ /**
4
+ * The description attribute will add a paragraph below the select.
5
+ */
6
+ description?: string;
7
+ /**
8
+ * If you don't/can't use children/slots you can pass in the options as an array.
9
+ */
10
+ options?: DBSelectOptionType[];
11
+ };
12
+ export type DBSelectOptionType = {
13
+ /**
14
+ * Identifier for option
15
+ */
16
+ id?: string;
17
+ /**
18
+ * Disables this option
19
+ */
20
+ disabled?: boolean;
21
+ /**
22
+ * Selects this option
23
+ */
24
+ selected?: boolean;
25
+ /**
26
+ * If the value is different from the label you want to show to the user.
27
+ */
28
+ label?: string;
29
+ /**
30
+ * If you want to use optgroup you can nest options here.
31
+ */
32
+ options?: DBSelectOptionType[];
33
+ /**
34
+ * The main value you select, will be shown as default label if no label is set.
35
+ */
36
+ value: string | string[] | number;
37
+ };
38
+ export type DBSelectProps = DBSelectDefaultProps & GlobalProps & ClickEventProps<HTMLSelectElement> & ChangeEventProps<HTMLSelectElement> & FocusEventProps<HTMLSelectElement> & InputEventProps<HTMLSelectElement> & FormProps & IconProps & FormMessageProps & ShowIconProps;
39
+ export type DBSelectDefaultState = {
40
+ _placeholderId: string;
41
+ getOptionLabel: (option: DBSelectOptionType) => string;
42
+ };
43
+ export type DBSelectState = DBSelectDefaultState & GlobalState & ClickEventState<HTMLSelectElement> & ChangeEventState<HTMLSelectElement> & FocusEventState<HTMLSelectElement> & InputEventState<HTMLSelectElement> & FormState & InitializedState;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const DBSelect: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLSelectElement>, "icon" | "onClick" | keyof import("../../shared/model").GlobalProps | "showIcon" | keyof import("../../shared/model").FormProps | keyof import("../../shared/model").FormMessageProps | keyof import("./model").DBSelectDefaultProps | keyof import("../../shared/model").ChangeEventProps<HTMLSelectElement> | keyof import("../../shared/model").FocusEventProps<HTMLSelectElement> | keyof import("../../shared/model").InputEventProps<HTMLSelectElement>> & import("./model").DBSelectDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").ClickEventProps<HTMLSelectElement> & import("../../shared/model").ChangeEventProps<HTMLSelectElement> & import("../../shared/model").FocusEventProps<HTMLSelectElement> & import("../../shared/model").InputEventProps<HTMLSelectElement> & import("../../shared/model").FormProps & import("../../shared/model").IconProps & import("../../shared/model").FormMessageProps & import("../../shared/model").ShowIconProps & React.RefAttributes<HTMLSelectElement>>;
3
+ export default DBSelect;
@@ -0,0 +1,132 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { useState, useRef, useEffect, forwardRef } from "react";
4
+ import { cls, delay, getHideProp, hasVoiceOver, stringPropVisible, uuid, filterPassingProps, getRootProps } from "../../utils";
5
+ import { DEFAULT_INVALID_MESSAGE, DEFAULT_INVALID_MESSAGE_ID_SUFFIX, DEFAULT_LABEL, DEFAULT_MESSAGE_ID_SUFFIX, DEFAULT_PLACEHOLDER_ID_SUFFIX, DEFAULT_VALID_MESSAGE, DEFAULT_VALID_MESSAGE_ID_SUFFIX, } from "../../shared/constants";
6
+ import DBInfotext from "../infotext/infotext";
7
+ function DBSelectFn(props, component) {
8
+ var _a, _b, _c, _d, _e, _f, _g;
9
+ const _ref = component || useRef(component);
10
+ const [_id, set_id] = useState(() => undefined);
11
+ const [_messageId, set_messageId] = useState(() => undefined);
12
+ const [_validMessageId, set_validMessageId] = useState(() => undefined);
13
+ const [_invalidMessageId, set_invalidMessageId] = useState(() => undefined);
14
+ const [_placeholderId, set_placeholderId] = useState(() => "");
15
+ const [_descByIds, set_descByIds] = useState(() => "");
16
+ const [_value, set_value] = useState(() => "");
17
+ const [initialized, setInitialized] = useState(() => false);
18
+ const [_voiceOverFallback, set_voiceOverFallback] = useState(() => "");
19
+ function handleClick(event) {
20
+ if (props.onClick) {
21
+ props.onClick(event);
22
+ }
23
+ }
24
+ function handleInput(event) {
25
+ if (props.onInput) {
26
+ props.onInput(event);
27
+ }
28
+ if (props.input) {
29
+ props.input(event);
30
+ }
31
+ }
32
+ function handleChange(event) {
33
+ var _a, _b, _c, _d, _e, _f;
34
+ if (props.onChange) {
35
+ props.onChange(event);
36
+ }
37
+ if (props.change) {
38
+ props.change(event);
39
+ }
40
+ /* For a11y reasons we need to map the correct message with the select */
41
+ if (!((_a = _ref.current) === null || _a === void 0 ? void 0 : _a.validity.valid) || props.validation === "invalid") {
42
+ set_descByIds(_invalidMessageId);
43
+ if (hasVoiceOver()) {
44
+ set_voiceOverFallback((_d = (_b = props.invalidMessage) !== null && _b !== void 0 ? _b : (_c = _ref.current) === null || _c === void 0 ? void 0 : _c.validationMessage) !== null && _d !== void 0 ? _d : DEFAULT_INVALID_MESSAGE);
45
+ delay(() => set_voiceOverFallback(""), 1000);
46
+ }
47
+ }
48
+ else if (props.validation === "valid" ||
49
+ (((_e = _ref.current) === null || _e === void 0 ? void 0 : _e.validity.valid) && props.required)) {
50
+ set_descByIds(_validMessageId);
51
+ if (hasVoiceOver()) {
52
+ set_voiceOverFallback((_f = props.validMessage) !== null && _f !== void 0 ? _f : DEFAULT_VALID_MESSAGE);
53
+ delay(() => set_voiceOverFallback(""), 1000);
54
+ }
55
+ }
56
+ else if (stringPropVisible(props.message, props.showMessage)) {
57
+ set_descByIds(_messageId);
58
+ }
59
+ else {
60
+ set_descByIds(_placeholderId);
61
+ }
62
+ }
63
+ function handleBlur(event) {
64
+ if (props.onBlur) {
65
+ props.onBlur(event);
66
+ }
67
+ if (props.blur) {
68
+ props.blur(event);
69
+ }
70
+ }
71
+ function handleFocus(event) {
72
+ if (props.onFocus) {
73
+ props.onFocus(event);
74
+ }
75
+ if (props.focus) {
76
+ props.focus(event);
77
+ }
78
+ }
79
+ function getOptionLabel(option) {
80
+ var _a;
81
+ return (_a = option.label) !== null && _a !== void 0 ? _a : option.value.toString();
82
+ }
83
+ useEffect(() => {
84
+ var _a;
85
+ setInitialized(true);
86
+ const mId = (_a = props.id) !== null && _a !== void 0 ? _a : `select-${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_placeholderId(mId + DEFAULT_PLACEHOLDER_ID_SUFFIX);
92
+ }, []);
93
+ useEffect(() => {
94
+ if (_id && initialized) {
95
+ const messageId = _id + DEFAULT_MESSAGE_ID_SUFFIX;
96
+ const placeholderId = _id + DEFAULT_PLACEHOLDER_ID_SUFFIX;
97
+ set_messageId(messageId);
98
+ set_validMessageId(_id + DEFAULT_VALID_MESSAGE_ID_SUFFIX);
99
+ set_invalidMessageId(_id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);
100
+ set_placeholderId(placeholderId);
101
+ if (stringPropVisible(props.message, props.showMessage)) {
102
+ set_descByIds(messageId);
103
+ }
104
+ else {
105
+ set_descByIds(placeholderId);
106
+ }
107
+ setInitialized(false);
108
+ }
109
+ }, [_id, initialized]);
110
+ useEffect(() => {
111
+ set_value(props.value);
112
+ }, [props.value]);
113
+ 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"]), { className: cls("db-select", props.className), "data-variant": props.variant, "data-hide-label": getHideProp(props.showLabel), "data-icon": props.icon, "data-hide-icon": getHideProp(props.showIcon) }),
114
+ React.createElement("label", { htmlFor: _id }, (_a = props.label) !== null && _a !== void 0 ? _a : DEFAULT_LABEL),
115
+ React.createElement("select", Object.assign({ "aria-invalid": props.validation === "invalid", "data-custom-validity": props.validation, 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"]), { required: props.required, disabled: props.disabled, id: _id, name: props.name, value: props.value, autoComplete: props.autocomplete, onInput: (event) => handleInput(event), onClick: (event) => handleClick(event), onChange: (event) => handleChange(event), onBlur: (event) => handleBlur(event), onFocus: (event) => handleFocus(event), "aria-describedby": _descByIds }),
116
+ React.createElement("option", { hidden: true }),
117
+ props.options ? (React.createElement(React.Fragment, { key: uuid() }, (_b = props.options) === null || _b === void 0 ? void 0 : _b.map((option) => {
118
+ var _a;
119
+ return (React.createElement(React.Fragment, { key: uuid() },
120
+ option.options ? (React.createElement("optgroup", { label: getOptionLabel(option) }, (_a = option.options) === null || _a === void 0 ? void 0 : _a.map((optgroupOption) => (React.createElement("option", { key: optgroupOption.value.toString(), value: optgroupOption.value, disabled: optgroupOption.disabled }, getOptionLabel(optgroupOption)))))) : null,
121
+ !option.options ? (React.createElement("option", { value: option.value, disabled: option.disabled }, getOptionLabel(option))) : null));
122
+ }))) : null,
123
+ props.children),
124
+ React.createElement("span", { id: _placeholderId }, (_c = props.placeholder) !== null && _c !== void 0 ? _c : props.label),
125
+ stringPropVisible(props.message, props.showMessage) ? (React.createElement(DBInfotext, { size: "small", icon: props.messageIcon, id: _messageId }, props.message)) : null,
126
+ React.createElement(DBInfotext, { size: "small", semantic: "successful", id: _validMessageId }, (_d = props.validMessage) !== null && _d !== void 0 ? _d : DEFAULT_VALID_MESSAGE),
127
+ React.createElement(DBInfotext, { size: "small", semantic: "critical", id: _invalidMessageId }, (_g = (_e = props.invalidMessage) !== null && _e !== void 0 ? _e : (_f = _ref.current) === null || _f === void 0 ? void 0 : _f.validationMessage) !== null && _g !== void 0 ? _g : DEFAULT_INVALID_MESSAGE),
128
+ React.createElement("span", { "data-visually-hidden": "true", role: "status" }, _voiceOverFallback)));
129
+ }
130
+ const DBSelect = forwardRef(DBSelectFn);
131
+ DBSelect.defaultProps = {};
132
+ export default DBSelect;
@@ -0,0 +1 @@
1
+ export { default as DBStack } from './stack';
@@ -0,0 +1 @@
1
+ export { default as DBStack } from './stack';
@@ -0,0 +1,34 @@
1
+ import { GapSpacingProps, GlobalProps, GlobalState } from '../../shared/model';
2
+ export declare const StackVariantList: readonly ["simple", "divider"];
3
+ export type StackVariantType = (typeof StackVariantList)[number];
4
+ export declare const StackDirectionList: readonly ["row", "column"];
5
+ export type StackDirectionType = (typeof StackDirectionList)[number];
6
+ export declare const StackAlignmentList: readonly ["stretch", "start", "end", "center"];
7
+ export type StackAlignmentType = (typeof StackAlignmentList)[number];
8
+ export declare const StackJustifyContentList: readonly ["space-between", "start", "end", "center"];
9
+ export type StackJustifyContentType = (typeof StackJustifyContentList)[number];
10
+ export type DBStackDefaultProps = {
11
+ /**
12
+ * Change variant of stack. To use variant="divider" add a DBDivider after each element
13
+ */
14
+ variant?: StackVariantType;
15
+ /**
16
+ * Set the direction of the stack. Defaults to "column"
17
+ */
18
+ direction?: StackDirectionType;
19
+ /**
20
+ * If the stack should wrap if parent is too small otherwise you get an overflow
21
+ */
22
+ wrap?: boolean;
23
+ /**
24
+ * Represents css align-items
25
+ */
26
+ alignment?: StackAlignmentType;
27
+ /**
28
+ * Represents css justify-content
29
+ */
30
+ justifyContent?: StackJustifyContentType;
31
+ };
32
+ export type DBStackProps = DBStackDefaultProps & GlobalProps & GapSpacingProps;
33
+ export type DBStackDefaultState = {};
34
+ export type DBStackState = DBStackDefaultState & GlobalState;
@@ -0,0 +1,4 @@
1
+ export const StackVariantList = ['simple', 'divider'];
2
+ export const StackDirectionList = ['row', 'column'];
3
+ export const StackAlignmentList = ['stretch', 'start', 'end', 'center'];
4
+ export const StackJustifyContentList = ['space-between', 'start', 'end', 'center'];
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const DBStack: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "gap" | keyof import("../..").GlobalProps | keyof import("./model").DBStackDefaultProps> & import("./model").DBStackDefaultProps & import("../..").GlobalProps & import("../..").GapSpacingProps & React.RefAttributes<HTMLDivElement>>;
3
+ export default DBStack;
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { useRef, forwardRef } from "react";
4
+ import { cls, getBooleanAsString, filterPassingProps, getRootProps } from "../../utils";
5
+ function DBStackFn(props, component) {
6
+ const _ref = component || useRef(component);
7
+ return (React.createElement("div", Object.assign({ ref: _ref }, filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font"]), { id: props.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"]), { className: cls("db-stack", props.className), "data-gap": props.gap, "data-variant": props.variant, "data-direction": props.direction, "data-alignment": props.alignment, "data-justify-content": props.justifyContent, "data-wrap": getBooleanAsString(props.wrap) }), props.children));
8
+ }
9
+ const DBStack = forwardRef(DBStackFn);
10
+ DBStack.defaultProps = {};
11
+ export default DBStack;
@@ -0,0 +1 @@
1
+ export { default as DBSwitch } from './switch';
@@ -0,0 +1 @@
1
+ export { default as DBSwitch } from './switch';
@@ -0,0 +1,12 @@
1
+ import { ChangeEventProps, ChangeEventState, EmphasisProps, FocusEventProps, FocusEventState, FormCheckProps, FormProps, FormState, GlobalProps, GlobalState, IconAfterProps, IconProps, InitializedState, SizeProps } from '../../shared/model';
2
+ export type DBSwitchDefaultProps = {
3
+ /**
4
+ * Add additional icons to indicate active/inactive state.
5
+ */
6
+ visualAid?: boolean;
7
+ };
8
+ export type DBSwitchProps = DBSwitchDefaultProps & GlobalProps & ChangeEventProps<HTMLInputElement> & FocusEventProps<HTMLInputElement> & FormProps & FormCheckProps & EmphasisProps & SizeProps & IconProps & IconAfterProps;
9
+ export type DBSwitchDefaultState = {
10
+ _checked: boolean;
11
+ };
12
+ export type DBSwitchState = DBSwitchDefaultState & GlobalState & ChangeEventState<HTMLInputElement> & FocusEventState<HTMLInputElement> & FormState & InitializedState;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const DBSwitch: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLInputElement>, "size" | "icon" | "checked" | keyof import("../../shared/model").GlobalProps | "emphasis" | keyof import("../../shared/model").ChangeEventProps<HTMLInputElement> | keyof import("../../shared/model").FocusEventProps<HTMLInputElement> | keyof import("../../shared/model").FormProps | "iconAfter" | "visualAid"> & import("./model").DBSwitchDefaultProps & import("../../shared/model").GlobalProps & import("../../shared/model").ChangeEventProps<HTMLInputElement> & import("../../shared/model").FocusEventProps<HTMLInputElement> & import("../../shared/model").FormProps & import("../../shared/model").FormCheckProps & import("../../shared/model").EmphasisProps & import("../../shared/model").SizeProps & import("../../shared/model").IconProps & import("../../shared/model").IconAfterProps & React.RefAttributes<HTMLInputElement>>;
3
+ export default DBSwitch;
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ import { useState, useRef, useEffect, forwardRef } from "react";
4
+ import { cls, getBooleanAsString, getHideProp, uuid, filterPassingProps, getRootProps } from "../../utils";
5
+ function DBSwitchFn(props, component) {
6
+ const _ref = component || useRef(component);
7
+ const [_id, set_id] = useState(() => undefined);
8
+ const [_checked, set_checked] = useState(() => false);
9
+ const [initialized, setInitialized] = useState(() => false);
10
+ function handleChange(event) {
11
+ var _a;
12
+ if (props.onChange) {
13
+ props.onChange(event);
14
+ }
15
+ if (props.change) {
16
+ props.change(event);
17
+ }
18
+ // We have different ts types in different frameworks, so we need to use any here
19
+ set_checked((_a = event.target) === null || _a === void 0 ? void 0 : _a["checked"]);
20
+ }
21
+ function handleBlur(event) {
22
+ if (props.onBlur) {
23
+ props.onBlur(event);
24
+ }
25
+ if (props.blur) {
26
+ props.blur(event);
27
+ }
28
+ }
29
+ function handleFocus(event) {
30
+ if (props.onFocus) {
31
+ props.onFocus(event);
32
+ }
33
+ if (props.focus) {
34
+ props.focus(event);
35
+ }
36
+ }
37
+ useEffect(() => {
38
+ var _a;
39
+ set_id((_a = props.id) !== null && _a !== void 0 ? _a : `switch-${uuid()}`);
40
+ }, []);
41
+ return (React.createElement("label", Object.assign({ "data-visual-aid": getBooleanAsString(props.visualAid), "data-size": props.size, "data-hide-label": getHideProp(props.showLabel), "data-emphasis": props.emphasis, htmlFor: _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"]), { className: cls("db-switch", props.className) }),
42
+ React.createElement("input", Object.assign({ type: "checkbox", role: "switch", id: _id, "aria-checked": _checked, 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"]), { checked: props.checked, disabled: props.disabled, "aria-describedby": props.describedbyid, "aria-invalid": props.validation === "invalid", "data-custom-validity": props.validation, name: props.name, required: props.required, "data-aid-icon": props.icon, "data-aid-icon-after": props.iconAfter, onChange: (event) => handleChange(event), onBlur: (event) => handleBlur(event), onFocus: (event) => handleFocus(event) })),
43
+ props.label ? React.createElement(React.Fragment, null, props.label) : React.createElement(React.Fragment, null, props.children)));
44
+ }
45
+ const DBSwitch = forwardRef(DBSwitchFn);
46
+ DBSwitch.defaultProps = {};
47
+ export default DBSwitch;
@@ -0,0 +1 @@
1
+ export { default as DBTabItem } from './tab-item';
@@ -0,0 +1 @@
1
+ export { default as DBTabItem } from './tab-item';
@@ -0,0 +1,24 @@
1
+ import { ActiveProps, AriaControlsProps, ChangeEventProps, ChangeEventState, GlobalProps, GlobalState, IconAfterProps, IconProps, InitializedState, ShowIconProps } from '../../shared/model';
2
+ export type DBTabItemDefaultProps = {
3
+ /**
4
+ * To control the component
5
+ */
6
+ checked?: boolean;
7
+ /**
8
+ * The disabled attribute can be set to keep a user from clicking on the tab-item.
9
+ */
10
+ disabled?: boolean;
11
+ /**
12
+ * The label of the tab-item, if you don't want to use children.
13
+ */
14
+ label?: string;
15
+ /**
16
+ * Define the text next to the icon specified via the icon Property to get hidden.
17
+ */
18
+ noText?: boolean;
19
+ };
20
+ export type DBTabItemProps = GlobalProps & DBTabItemDefaultProps & IconProps & IconAfterProps & ActiveProps & AriaControlsProps & ChangeEventProps<HTMLInputElement> & ShowIconProps;
21
+ export type DBTabItemDefaultState = {
22
+ _selected: boolean;
23
+ };
24
+ export type DBTabItemState = DBTabItemDefaultState & GlobalState & ChangeEventState<HTMLInputElement> & InitializedState;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const DBTabItem: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLInputElement>, "active" | "icon" | "controls" | keyof import("../../shared/model").GlobalProps | "showIcon" | keyof import("../../shared/model").ChangeEventProps<HTMLInputElement> | "iconAfter" | keyof import("./model").DBTabItemDefaultProps> & import("../../shared/model").GlobalProps & import("./model").DBTabItemDefaultProps & import("../../shared/model").IconProps & import("../../shared/model").IconAfterProps & import("../../shared/model").ActiveProps & import("../../shared/model").AriaControlsProps & import("../../shared/model").ChangeEventProps<HTMLInputElement> & import("../../shared/model").ShowIconProps & React.RefAttributes<HTMLInputElement>>;
3
+ export default DBTabItem;