@db-ux/react-core-components 4.11.1 → 4.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/dist/components/accordion/accordion.d.ts +1 -1
- package/dist/components/accordion/accordion.js +83 -102
- package/dist/components/accordion/index.d.ts +1 -1
- package/dist/components/accordion/index.js +1 -0
- package/dist/components/accordion/model.d.ts +2 -2
- package/dist/components/accordion/model.js +2 -4
- package/dist/components/accordion-item/accordion-item.d.ts +2 -2
- package/dist/components/accordion-item/accordion-item.js +56 -89
- package/dist/components/accordion-item/index.d.ts +1 -1
- package/dist/components/accordion-item/index.js +1 -0
- package/dist/components/accordion-item/model.d.ts +1 -1
- package/dist/components/accordion-item/model.js +1 -0
- package/dist/components/badge/badge.d.ts +1 -1
- package/dist/components/badge/badge.js +28 -72
- package/dist/components/badge/index.d.ts +1 -1
- package/dist/components/badge/index.js +1 -0
- package/dist/components/badge/model.d.ts +1 -1
- package/dist/components/badge/model.js +1 -12
- package/dist/components/brand/brand.d.ts +1 -1
- package/dist/components/brand/brand.js +10 -60
- package/dist/components/brand/index.d.ts +1 -1
- package/dist/components/brand/index.js +1 -0
- package/dist/components/brand/model.d.ts +1 -1
- package/dist/components/brand/model.js +1 -0
- package/dist/components/button/button.d.ts +1 -1
- package/dist/components/button/button.js +19 -75
- package/dist/components/button/index.d.ts +1 -1
- package/dist/components/button/index.js +1 -0
- package/dist/components/button/model.d.ts +1 -1
- package/dist/components/button/model.js +2 -13
- package/dist/components/card/card.d.ts +1 -1
- package/dist/components/card/card.js +14 -65
- package/dist/components/card/index.d.ts +1 -1
- package/dist/components/card/index.js +1 -0
- package/dist/components/card/model.d.ts +1 -1
- package/dist/components/card/model.js +2 -8
- package/dist/components/checkbox/checkbox.d.ts +1 -1
- package/dist/components/checkbox/checkbox.js +143 -163
- package/dist/components/checkbox/index.d.ts +1 -1
- package/dist/components/checkbox/index.js +1 -0
- package/dist/components/checkbox/model.d.ts +1 -1
- package/dist/components/checkbox/model.js +1 -0
- package/dist/components/custom-button/custom-button.d.ts +1 -1
- package/dist/components/custom-button/custom-button.js +10 -65
- package/dist/components/custom-button/index.d.ts +1 -1
- package/dist/components/custom-button/index.js +1 -0
- package/dist/components/custom-button/model.d.ts +2 -2
- package/dist/components/custom-button/model.js +1 -0
- package/dist/components/custom-select/custom-select.d.ts +1 -1
- package/dist/components/custom-select/custom-select.js +688 -509
- package/dist/components/custom-select/index.d.ts +1 -1
- package/dist/components/custom-select/index.js +1 -0
- package/dist/components/custom-select/model.d.ts +4 -4
- package/dist/components/custom-select/model.js +1 -8
- package/dist/components/custom-select-dropdown/custom-select-dropdown.d.ts +1 -1
- package/dist/components/custom-select-dropdown/custom-select-dropdown.js +10 -62
- package/dist/components/custom-select-dropdown/index.d.ts +1 -1
- package/dist/components/custom-select-dropdown/index.js +1 -0
- package/dist/components/custom-select-dropdown/model.d.ts +1 -1
- package/dist/components/custom-select-dropdown/model.js +1 -8
- package/dist/components/custom-select-form-field/custom-select-form-field.d.ts +1 -1
- package/dist/components/custom-select-form-field/custom-select-form-field.js +9 -57
- package/dist/components/custom-select-form-field/index.d.ts +1 -1
- package/dist/components/custom-select-form-field/index.js +1 -0
- package/dist/components/custom-select-form-field/model.d.ts +1 -1
- package/dist/components/custom-select-form-field/model.js +1 -0
- package/dist/components/custom-select-list/custom-select-list.d.ts +1 -1
- package/dist/components/custom-select-list/custom-select-list.js +9 -60
- package/dist/components/custom-select-list/index.d.ts +1 -1
- package/dist/components/custom-select-list/index.js +1 -0
- package/dist/components/custom-select-list/model.d.ts +1 -1
- package/dist/components/custom-select-list/model.js +1 -0
- package/dist/components/custom-select-list-item/custom-select-list-item.d.ts +2 -2
- package/dist/components/custom-select-list-item/custom-select-list-item.js +28 -89
- package/dist/components/custom-select-list-item/index.d.ts +1 -1
- package/dist/components/custom-select-list-item/index.js +1 -0
- package/dist/components/custom-select-list-item/model.d.ts +1 -1
- package/dist/components/custom-select-list-item/model.js +1 -4
- package/dist/components/divider/divider.d.ts +1 -1
- package/dist/components/divider/divider.js +9 -60
- package/dist/components/divider/index.d.ts +1 -1
- package/dist/components/divider/index.js +1 -0
- package/dist/components/divider/model.d.ts +1 -1
- package/dist/components/divider/model.js +2 -4
- package/dist/components/drawer/drawer.d.ts +2 -2
- package/dist/components/drawer/drawer.js +109 -118
- package/dist/components/drawer/index.d.ts +1 -1
- package/dist/components/drawer/index.js +1 -0
- package/dist/components/drawer/model.d.ts +4 -1
- package/dist/components/drawer/model.js +4 -14
- package/dist/components/header/header.d.ts +1 -1
- package/dist/components/header/header.js +43 -143
- package/dist/components/header/index.d.ts +1 -1
- package/dist/components/header/index.js +1 -0
- package/dist/components/header/model.d.ts +1 -1
- package/dist/components/header/model.js +1 -0
- package/dist/components/icon/icon.d.ts +1 -1
- package/dist/components/icon/icon.js +9 -61
- package/dist/components/icon/index.d.ts +1 -1
- package/dist/components/icon/index.js +1 -0
- package/dist/components/icon/model.d.ts +1 -1
- package/dist/components/icon/model.js +1 -11
- package/dist/components/infotext/index.d.ts +1 -1
- package/dist/components/infotext/index.js +1 -0
- package/dist/components/infotext/infotext.d.ts +1 -1
- package/dist/components/infotext/infotext.js +9 -62
- package/dist/components/infotext/model.d.ts +1 -1
- package/dist/components/infotext/model.js +1 -0
- package/dist/components/input/index.d.ts +1 -1
- package/dist/components/input/index.js +1 -0
- package/dist/components/input/input.d.ts +1 -1
- package/dist/components/input/input.js +154 -198
- package/dist/components/input/model.d.ts +1 -1
- package/dist/components/input/model.js +5 -21
- package/dist/components/link/index.d.ts +1 -1
- package/dist/components/link/index.js +1 -0
- package/dist/components/link/link.d.ts +1 -1
- package/dist/components/link/link.js +9 -70
- package/dist/components/link/model.d.ts +1 -1
- package/dist/components/link/model.js +3 -8
- package/dist/components/navigation/index.d.ts +1 -1
- package/dist/components/navigation/index.js +1 -0
- package/dist/components/navigation/model.d.ts +1 -1
- package/dist/components/navigation/model.js +1 -0
- package/dist/components/navigation/navigation.d.ts +1 -1
- package/dist/components/navigation/navigation.js +9 -57
- package/dist/components/navigation-item/index.d.ts +1 -1
- package/dist/components/navigation-item/index.js +1 -0
- package/dist/components/navigation-item/model.d.ts +2 -2
- package/dist/components/navigation-item/model.js +1 -0
- package/dist/components/navigation-item/navigation-item.d.ts +1 -1
- package/dist/components/navigation-item/navigation-item.js +71 -117
- package/dist/components/notification/index.d.ts +1 -1
- package/dist/components/notification/index.js +1 -0
- package/dist/components/notification/model.d.ts +1 -1
- package/dist/components/notification/model.js +3 -12
- package/dist/components/notification/notification.d.ts +2 -2
- package/dist/components/notification/notification.js +23 -100
- package/dist/components/page/index.d.ts +1 -1
- package/dist/components/page/index.js +1 -0
- package/dist/components/page/model.d.ts +1 -1
- package/dist/components/page/model.js +2 -4
- package/dist/components/page/page.d.ts +1 -1
- package/dist/components/page/page.js +42 -74
- package/dist/components/popover/index.d.ts +1 -1
- package/dist/components/popover/index.js +1 -0
- package/dist/components/popover/model.d.ts +1 -1
- package/dist/components/popover/model.js +1 -0
- package/dist/components/popover/popover.d.ts +1 -1
- package/dist/components/popover/popover.js +119 -126
- package/dist/components/radio/index.d.ts +1 -1
- package/dist/components/radio/index.js +1 -0
- package/dist/components/radio/model.d.ts +1 -1
- package/dist/components/radio/model.js +1 -0
- package/dist/components/radio/radio.d.ts +1 -1
- package/dist/components/radio/radio.js +86 -124
- package/dist/components/section/index.d.ts +1 -1
- package/dist/components/section/index.js +1 -0
- package/dist/components/section/model.d.ts +1 -1
- package/dist/components/section/model.js +1 -0
- package/dist/components/section/section.d.ts +1 -1
- package/dist/components/section/section.js +9 -59
- package/dist/components/select/index.d.ts +1 -1
- package/dist/components/select/index.js +1 -0
- package/dist/components/select/model.d.ts +1 -1
- package/dist/components/select/model.js +1 -0
- package/dist/components/select/select.d.ts +1 -1
- package/dist/components/select/select.js +172 -188
- package/dist/components/stack/index.d.ts +1 -1
- package/dist/components/stack/index.js +1 -0
- package/dist/components/stack/model.d.ts +1 -1
- package/dist/components/stack/model.js +4 -14
- package/dist/components/stack/stack.d.ts +1 -1
- package/dist/components/stack/stack.js +9 -63
- package/dist/components/switch/index.d.ts +1 -1
- package/dist/components/switch/index.js +1 -0
- package/dist/components/switch/model.d.ts +1 -1
- package/dist/components/switch/model.js +1 -0
- package/dist/components/switch/switch.d.ts +1 -1
- package/dist/components/switch/switch.js +135 -182
- package/dist/components/tab-item/index.d.ts +1 -1
- package/dist/components/tab-item/index.js +1 -0
- package/dist/components/tab-item/model.d.ts +1 -1
- package/dist/components/tab-item/model.js +1 -0
- package/dist/components/tab-item/tab-item.d.ts +1 -1
- package/dist/components/tab-item/tab-item.js +72 -105
- package/dist/components/tab-list/index.d.ts +1 -1
- package/dist/components/tab-list/index.js +1 -0
- package/dist/components/tab-list/model.d.ts +1 -1
- package/dist/components/tab-list/model.js +1 -0
- package/dist/components/tab-list/tab-list.d.ts +1 -1
- package/dist/components/tab-list/tab-list.js +9 -60
- package/dist/components/tab-panel/index.d.ts +1 -1
- package/dist/components/tab-panel/index.js +1 -0
- package/dist/components/tab-panel/model.d.ts +1 -1
- package/dist/components/tab-panel/model.js +1 -0
- package/dist/components/tab-panel/tab-panel.d.ts +1 -1
- package/dist/components/tab-panel/tab-panel.js +10 -59
- package/dist/components/table/examples/data.d.ts +1 -1
- package/dist/components/table/examples/data.js +258 -0
- package/dist/components/table/index.d.ts +1 -1
- package/dist/components/table/index.js +1 -0
- package/dist/components/table/model.d.ts +2 -2
- package/dist/components/table/model.js +6 -28
- package/dist/components/table/table.d.ts +1 -1
- package/dist/components/table/table.js +77 -111
- package/dist/components/table-body/index.d.ts +1 -1
- package/dist/components/table-body/index.js +1 -0
- package/dist/components/table-body/model.d.ts +2 -2
- package/dist/components/table-body/model.js +1 -0
- package/dist/components/table-body/table-body.d.ts +1 -1
- package/dist/components/table-body/table-body.js +12 -64
- package/dist/components/table-caption/index.d.ts +1 -1
- package/dist/components/table-caption/index.js +1 -0
- package/dist/components/table-caption/model.d.ts +1 -1
- package/dist/components/table-caption/model.js +1 -0
- package/dist/components/table-caption/table-caption.d.ts +1 -1
- package/dist/components/table-caption/table-caption.js +9 -57
- package/dist/components/table-data-cell/index.d.ts +1 -1
- package/dist/components/table-data-cell/index.js +1 -0
- package/dist/components/table-data-cell/model.d.ts +1 -1
- package/dist/components/table-data-cell/model.js +1 -0
- package/dist/components/table-data-cell/table-data-cell.d.ts +1 -1
- package/dist/components/table-data-cell/table-data-cell.js +9 -62
- package/dist/components/table-footer/index.d.ts +1 -1
- package/dist/components/table-footer/index.js +1 -0
- package/dist/components/table-footer/model.d.ts +2 -2
- package/dist/components/table-footer/model.js +1 -0
- package/dist/components/table-footer/table-footer.d.ts +1 -1
- package/dist/components/table-footer/table-footer.js +12 -64
- package/dist/components/table-head/index.d.ts +1 -1
- package/dist/components/table-head/index.js +1 -0
- package/dist/components/table-head/model.d.ts +2 -2
- package/dist/components/table-head/model.js +1 -0
- package/dist/components/table-head/table-head.d.ts +1 -1
- package/dist/components/table-head/table-head.js +18 -71
- package/dist/components/table-header-cell/index.d.ts +1 -1
- package/dist/components/table-header-cell/index.js +1 -0
- package/dist/components/table-header-cell/model.d.ts +1 -1
- package/dist/components/table-header-cell/model.js +1 -9
- package/dist/components/table-header-cell/table-header-cell.d.ts +1 -1
- package/dist/components/table-header-cell/table-header-cell.js +9 -65
- package/dist/components/table-row/index.d.ts +1 -1
- package/dist/components/table-row/index.js +1 -0
- package/dist/components/table-row/model.d.ts +4 -4
- package/dist/components/table-row/model.js +1 -8
- package/dist/components/table-row/table-row.d.ts +1 -1
- package/dist/components/table-row/table-row.js +20 -127
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/index.js +1 -0
- package/dist/components/tabs/model.d.ts +3 -3
- package/dist/components/tabs/model.js +2 -4
- package/dist/components/tabs/tabs.d.ts +1 -1
- package/dist/components/tabs/tabs.js +170 -191
- package/dist/components/tag/index.d.ts +1 -1
- package/dist/components/tag/index.js +1 -0
- package/dist/components/tag/model.d.ts +1 -1
- package/dist/components/tag/model.js +1 -4
- package/dist/components/tag/tag.d.ts +1 -1
- package/dist/components/tag/tag.js +26 -91
- package/dist/components/textarea/index.d.ts +1 -1
- package/dist/components/textarea/index.js +1 -0
- package/dist/components/textarea/model.d.ts +1 -1
- package/dist/components/textarea/model.js +2 -13
- package/dist/components/textarea/textarea.d.ts +1 -1
- package/dist/components/textarea/textarea.js +139 -165
- package/dist/components/tooltip/index.d.ts +1 -1
- package/dist/components/tooltip/index.js +1 -0
- package/dist/components/tooltip/model.d.ts +1 -1
- package/dist/components/tooltip/model.js +1 -4
- package/dist/components/tooltip/tooltip.d.ts +1 -1
- package/dist/components/tooltip/tooltip.js +197 -160
- package/dist/index.d.ts +97 -97
- package/dist/index.js +97 -75
- package/dist/shared/constants.js +100 -32
- package/dist/shared/examples/index.js +4 -0
- package/dist/shared/figma.js +1 -0
- package/dist/shared/model.js +22 -77
- package/dist/shared/showcase/show-code-link.js +51 -0
- package/dist/utils/document-click-listener.js +29 -26
- package/dist/utils/document-scroll-listener.js +38 -30
- package/dist/utils/floating-components.js +404 -107
- package/dist/utils/form-components.js +71 -34
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +170 -49
- package/dist/utils/navigation.js +134 -68
- package/dist/utils/react.js +21 -10
- package/package.json +6 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @db-ux/react-core-components
|
|
2
2
|
|
|
3
|
+
## 4.12.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fix(custom-select): dropdown with `dropdownWidth="auto"` now correctly sizes to content width and respects the trigger minimum width. Long option labels no longer get truncated: `auto` keeps them on a single line (dropdown grows to the longest option), while `fixed` and `full` wrap long labels onto new lines. - [see commit 68dedc3](https://github.com/db-ux-design-system/core-web/commit/68dedc33c324b48339d5bb73a85fdff3045ed059)
|
|
8
|
+
|
|
9
|
+
- fix(drawer): prevent backdrop drag-close when selection starts inside content - [see commit b53ff8a](https://github.com/db-ux-design-system/core-web/commit/b53ff8a4f0a5350c5be41fad072e14797676bba7)
|
|
10
|
+
|
|
11
|
+
## 4.12.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- feat: emit spec-compliant ESM with explicit import extensions - [see commit 73808d6](https://github.com/db-ux-design-system/core-web/commit/73808d6ec80085451d72e5ad73eb154198a60558):
|
|
16
|
+
|
|
17
|
+
- The generated React, Vue and Web Component outputs now produce standards-compliant
|
|
18
|
+
- ESM: every relative import/export carries an explicit `.js` / `/index.js` (or `.vue`)
|
|
19
|
+
- extension, added during Mitosis generation. This resolves `ERR_UNSUPPORTED_DIR_IMPORT`
|
|
20
|
+
- in strict ESM environments such as Node.js native ESM and Vitest 4.
|
|
21
|
+
- The React output additionally compiles with `module`/`moduleResolution: "node16"`
|
|
22
|
+
- (plus `jsx: "react-jsx"` and `target: "es2022"`), so missing extensions are caught at
|
|
23
|
+
- compile time. As a result the emitted React JS uses the `react/jsx-runtime` transform
|
|
24
|
+
- and es2022 syntax (React 19 compatible).
|
|
25
|
+
|
|
3
26
|
## 4.11.1
|
|
4
27
|
|
|
5
28
|
### Patch Changes
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
declare const DBAccordion: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, keyof import("
|
|
2
|
+
declare const DBAccordion: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, keyof import("../../index.js").GlobalProps | keyof import("./model.js").DBAccordionDefaultProps> & import("./model.js").DBAccordionDefaultProps & import("../../index.js").GlobalProps & React.RefAttributes<any>>;
|
|
3
3
|
export default DBAccordion;
|
|
@@ -1,104 +1,85 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
function
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
"data-bg-color",
|
|
84
|
-
"data-on-bg-color",
|
|
85
|
-
"data-color-scheme",
|
|
86
|
-
"data-font-size",
|
|
87
|
-
"data-headline-size",
|
|
88
|
-
"data-divider",
|
|
89
|
-
"data-focus",
|
|
90
|
-
"data-font",
|
|
91
|
-
"data-density"
|
|
92
|
-
]),
|
|
93
|
-
className: n("db-accordion", i.className),
|
|
94
|
-
"data-variant": i.variant,
|
|
95
|
-
children: [i.items ? null : /* @__PURE__ */ u(l, { children: i.children }), i.items ? /* @__PURE__ */ u(l, { children: x()?.map((e, t) => /* @__PURE__ */ u(r, {
|
|
96
|
-
headlinePlain: e.headlinePlain,
|
|
97
|
-
disabled: e.disabled,
|
|
98
|
-
text: e.text
|
|
99
|
-
}, `accordion-item-${t}`)) }) : null]
|
|
100
|
-
});
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { filterPassingProps, getRootProps } from "../../utils/react.js";
|
|
4
|
+
import { useState, useRef, useEffect, forwardRef } from "react";
|
|
5
|
+
import { cls } from "../../utils/index.js";
|
|
6
|
+
import DBAccordionItem from "../accordion-item/accordion-item.js";
|
|
7
|
+
import { useId } from "react";
|
|
8
|
+
function DBAccordionFn(props, component) {
|
|
9
|
+
const uuid = useId();
|
|
10
|
+
const _ref = component || useRef(component);
|
|
11
|
+
const [_name, set_name] = useState(() => "");
|
|
12
|
+
const [initialized, setInitialized] = useState(() => false);
|
|
13
|
+
const [_initOpenIndexDone, set_initOpenIndexDone] = useState(() => false);
|
|
14
|
+
function convertItems() {
|
|
15
|
+
try {
|
|
16
|
+
if (typeof props.items === "string") {
|
|
17
|
+
return JSON.parse(props.items);
|
|
18
|
+
}
|
|
19
|
+
return props.items;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
console.error(error);
|
|
23
|
+
}
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
setInitialized(true);
|
|
28
|
+
set_initOpenIndexDone(true);
|
|
29
|
+
}, []);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
// If we have a single behavior we first check for
|
|
32
|
+
// props.name otherwise for state_id
|
|
33
|
+
if (initialized && _ref.current) {
|
|
34
|
+
if (props.behavior === "single") {
|
|
35
|
+
if (props.name) {
|
|
36
|
+
if (_name !== props.name) {
|
|
37
|
+
set_name(props.name);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
set_name(`accordion-${uuid}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
set_name("");
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}, [initialized, props.name, props.behavior]);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (_ref.current) {
|
|
51
|
+
const childDetails = _ref.current.getElementsByTagName("details");
|
|
52
|
+
if (childDetails) {
|
|
53
|
+
for (const details of Array.from(childDetails)) {
|
|
54
|
+
if (_name === "") {
|
|
55
|
+
details.removeAttribute("name");
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
details.name = _name ?? "";
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}, [_ref.current, _name]);
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
if (_ref.current && _initOpenIndexDone) {
|
|
66
|
+
if (props?.initOpenIndex && props.initOpenIndex.length > 0) {
|
|
67
|
+
const childDetails = _ref.current.getElementsByTagName("details");
|
|
68
|
+
if (childDetails) {
|
|
69
|
+
const initOpenIndex = props.behavior === "single" && props.initOpenIndex.length > 1
|
|
70
|
+
? [props.initOpenIndex[0]] // use only one index for behavior=single
|
|
71
|
+
: props.initOpenIndex;
|
|
72
|
+
Array.from(childDetails).forEach((details, index) => {
|
|
73
|
+
if (initOpenIndex?.includes(index)) {
|
|
74
|
+
details.open = true;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
set_initOpenIndexDone(false);
|
|
80
|
+
}
|
|
81
|
+
}, [_ref.current, _initOpenIndexDone, props.initOpenIndex]);
|
|
82
|
+
return (_jsxs("ul", { ref: _ref, ...filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density"]), id: props.id ?? props.propOverrides?.id, ...getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density"]), className: cls("db-accordion", props.className), "data-variant": props.variant, children: [!props.items ? _jsx(_Fragment, { children: props.children }) : null, props.items ? (_jsx(_Fragment, { children: convertItems()?.map((item, index) => (_jsx(DBAccordionItem, { headlinePlain: item.headlinePlain, disabled: item.disabled, text: item.text }, `accordion-item-${index}`))) })) : null] }));
|
|
101
83
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
export { p as default };
|
|
84
|
+
const DBAccordion = forwardRef(DBAccordionFn);
|
|
85
|
+
export default DBAccordion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as DBAccordion } from './accordion';
|
|
1
|
+
export { default as DBAccordion } from './accordion.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as DBAccordion } from './accordion.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { GlobalProps, InitializedState } from '../../shared/model';
|
|
2
|
-
import type { DBAccordionItemDefaultProps } from '../accordion-item/model';
|
|
1
|
+
import type { GlobalProps, InitializedState } from '../../shared/model.js';
|
|
2
|
+
import type { DBAccordionItemDefaultProps } from '../accordion-item/model.js';
|
|
3
3
|
export declare const AccordionVariantList: readonly ["divider", "card"];
|
|
4
4
|
export type AccordionVariantType = (typeof AccordionVariantList)[number];
|
|
5
5
|
export declare const AccordionBehaviorList: readonly ["multiple", "single"];
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
//#endregion
|
|
4
|
-
export { t as AccordionBehaviorList, e as AccordionVariantList };
|
|
1
|
+
export const AccordionVariantList = ['divider', 'card'];
|
|
2
|
+
export const AccordionBehaviorList = ['multiple', 'single'];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
declare const DBAccordionItem: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, keyof import("../../shared/model").GlobalProps | "name" | "text" | "defaultOpen" | "open" | "disabled" | "headline" | "headlinePlain" | keyof import("../../shared/model").ToggleEventProps> & {
|
|
2
|
+
declare const DBAccordionItem: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, keyof import("../../shared/model.js").GlobalProps | "name" | "text" | "defaultOpen" | "open" | "disabled" | "headline" | "headlinePlain" | keyof import("../../shared/model.js").ToggleEventProps> & {
|
|
3
3
|
defaultOpen?: boolean;
|
|
4
4
|
open?: boolean | string;
|
|
5
5
|
disabled?: boolean | string;
|
|
6
6
|
headline?: any;
|
|
7
7
|
headlinePlain?: string;
|
|
8
|
-
} & import("../../shared/model").TextProps & import("../../shared/model").GlobalProps & import("../../shared/model").ToggleEventProps & import("../../shared/model").NameProps & React.RefAttributes<any>>;
|
|
8
|
+
} & import("../../shared/model.js").TextProps & import("../../shared/model.js").GlobalProps & import("../../shared/model.js").ToggleEventProps & import("../../shared/model.js").NameProps & React.RefAttributes<any>>;
|
|
9
9
|
export default DBAccordionItem;
|
|
@@ -1,91 +1,58 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"aria-disabled": i(a.disabled, "disabled"),
|
|
57
|
-
ref: p,
|
|
58
|
-
...e(a, [
|
|
59
|
-
"data-icon-variant",
|
|
60
|
-
"data-icon-variant-before",
|
|
61
|
-
"data-icon-variant-after",
|
|
62
|
-
"data-icon-weight",
|
|
63
|
-
"data-icon-weight-before",
|
|
64
|
-
"data-icon-weight-after",
|
|
65
|
-
"data-interactive",
|
|
66
|
-
"data-force-mobile",
|
|
67
|
-
"data-color",
|
|
68
|
-
"data-container-color",
|
|
69
|
-
"data-bg-color",
|
|
70
|
-
"data-on-bg-color",
|
|
71
|
-
"data-color-scheme",
|
|
72
|
-
"data-font-size",
|
|
73
|
-
"data-headline-size",
|
|
74
|
-
"data-divider",
|
|
75
|
-
"data-focus",
|
|
76
|
-
"data-font",
|
|
77
|
-
"data-density",
|
|
78
|
-
"onToggle"
|
|
79
|
-
]),
|
|
80
|
-
name: g,
|
|
81
|
-
open: m,
|
|
82
|
-
children: [/* @__PURE__ */ d("summary", {
|
|
83
|
-
onClick: (e) => x(e),
|
|
84
|
-
children: [a.headlinePlain ? /* @__PURE__ */ u(l, { children: a.headlinePlain }) : null, a.headlinePlain ? null : /* @__PURE__ */ u(l, { children: a.headline })]
|
|
85
|
-
}), /* @__PURE__ */ d("div", { children: [a.text ? /* @__PURE__ */ u(l, { children: a.text }) : null, a.children] })]
|
|
86
|
-
})
|
|
87
|
-
});
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { filterPassingProps, getRootProps } from "../../utils/react.js";
|
|
4
|
+
import { useState, useRef, useEffect, forwardRef } from "react";
|
|
5
|
+
import { cls, getBoolean, getBooleanAsString } from "../../utils/index.js";
|
|
6
|
+
function DBAccordionItemFn(props, component) {
|
|
7
|
+
const _ref = component || useRef(component);
|
|
8
|
+
const [_open, set_open] = useState(() => false);
|
|
9
|
+
const [_name, set_name] = useState(() => undefined);
|
|
10
|
+
const [initialized, setInitialized] = useState(() => false);
|
|
11
|
+
function handleNameAttribute() {
|
|
12
|
+
if (_ref.current) {
|
|
13
|
+
const setAttribute = _ref.current.setAttribute;
|
|
14
|
+
_ref.current.setAttribute = (attribute, value) => {
|
|
15
|
+
setAttribute.call(_ref.current, attribute, value);
|
|
16
|
+
if (attribute === "name") {
|
|
17
|
+
set_name(value);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function handleToggle(event) {
|
|
23
|
+
// We need this for react https://github.com/facebook/react/issues/15486#issuecomment-488028431
|
|
24
|
+
event?.preventDefault();
|
|
25
|
+
const newStateOpen = !_open;
|
|
26
|
+
if (props.onToggle) {
|
|
27
|
+
props.onToggle(newStateOpen);
|
|
28
|
+
}
|
|
29
|
+
if (props.open === undefined) {
|
|
30
|
+
set_open(newStateOpen);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (props.defaultOpen) {
|
|
35
|
+
set_open(props.defaultOpen);
|
|
36
|
+
}
|
|
37
|
+
setInitialized(true);
|
|
38
|
+
}, []);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (_ref.current && initialized) {
|
|
41
|
+
handleNameAttribute();
|
|
42
|
+
}
|
|
43
|
+
}, [_ref.current, initialized]);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
if (props.name) {
|
|
46
|
+
set_name(props.name);
|
|
47
|
+
}
|
|
48
|
+
}, [props.name]);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
const nextOpen = getBoolean(props.open, "open");
|
|
51
|
+
if (nextOpen !== undefined) {
|
|
52
|
+
set_open(nextOpen);
|
|
53
|
+
}
|
|
54
|
+
}, [props.open]);
|
|
55
|
+
return (_jsx("li", { id: props.id ?? props.propOverrides?.id, ...getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density"]), className: cls("db-accordion-item", props.className), children: _jsxs("details", { "aria-disabled": getBooleanAsString(props.disabled, "disabled"), 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", "onToggle"]), name: _name, open: _open, children: [_jsxs("summary", { onClick: (event) => handleToggle(event), children: [props.headlinePlain ? _jsx(_Fragment, { children: props.headlinePlain }) : null, !props.headlinePlain ? _jsx(_Fragment, { children: props.headline }) : null] }), _jsxs("div", { children: [props.text ? _jsx(_Fragment, { children: props.text }) : null, props.children] })] }) }));
|
|
88
56
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
export { p as default };
|
|
57
|
+
const DBAccordionItem = forwardRef(DBAccordionItemFn);
|
|
58
|
+
export default DBAccordionItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as DBAccordionItem } from './accordion-item';
|
|
1
|
+
export { default as DBAccordionItem } from './accordion-item.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as DBAccordionItem } from './accordion-item.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GlobalProps, InitializedState, NameProps, NameState, TextProps, ToggleEventProps, ToggleEventState } from '../../shared/model';
|
|
1
|
+
import type { GlobalProps, InitializedState, NameProps, NameState, TextProps, ToggleEventProps, ToggleEventState } from '../../shared/model.js';
|
|
2
2
|
export type DBAccordionItemDefaultProps = {
|
|
3
3
|
/**
|
|
4
4
|
* Initial state for the accordion item
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
declare const DBBadge: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, keyof import("
|
|
2
|
+
declare const DBBadge: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, keyof import("../../index.js").GlobalProps | "semantic" | "text" | keyof import("./model.js").DBBadgeDefaultProps | "size" | "emphasis" | "wrap"> & import("./model.js").DBBadgeDefaultProps & import("../../index.js").GlobalProps & import("../../index.js").SemanticProps & import("../../index.js").SizeProps & import("../../index.js").EmphasisProps & import("../../index.js").TextProps & import("../../index.js").WrapProps & React.RefAttributes<any>>;
|
|
3
3
|
export default DBBadge;
|
|
@@ -1,74 +1,30 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import "
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"data-color",
|
|
29
|
-
"data-container-color",
|
|
30
|
-
"data-bg-color",
|
|
31
|
-
"data-on-bg-color",
|
|
32
|
-
"data-color-scheme",
|
|
33
|
-
"data-font-size",
|
|
34
|
-
"data-headline-size",
|
|
35
|
-
"data-divider",
|
|
36
|
-
"data-focus",
|
|
37
|
-
"data-font",
|
|
38
|
-
"data-density"
|
|
39
|
-
]),
|
|
40
|
-
id: i.id ?? i.propOverrides?.id,
|
|
41
|
-
...t(i, [
|
|
42
|
-
"data-icon-variant",
|
|
43
|
-
"data-icon-variant-before",
|
|
44
|
-
"data-icon-variant-after",
|
|
45
|
-
"data-icon-weight",
|
|
46
|
-
"data-icon-weight-before",
|
|
47
|
-
"data-icon-weight-after",
|
|
48
|
-
"data-interactive",
|
|
49
|
-
"data-force-mobile",
|
|
50
|
-
"data-color",
|
|
51
|
-
"data-container-color",
|
|
52
|
-
"data-bg-color",
|
|
53
|
-
"data-on-bg-color",
|
|
54
|
-
"data-color-scheme",
|
|
55
|
-
"data-font-size",
|
|
56
|
-
"data-headline-size",
|
|
57
|
-
"data-divider",
|
|
58
|
-
"data-focus",
|
|
59
|
-
"data-font",
|
|
60
|
-
"data-density"
|
|
61
|
-
]),
|
|
62
|
-
className: n("db-badge", i.className),
|
|
63
|
-
"data-semantic": i.semantic,
|
|
64
|
-
"data-size": i.size,
|
|
65
|
-
"data-emphasis": i.emphasis,
|
|
66
|
-
"data-placement": i.placement,
|
|
67
|
-
"data-wrap": r(i.wrap, "wrap"),
|
|
68
|
-
"data-label": i.placement?.startsWith("corner") && (i.label ?? "LABEL SHOULD BE SET"),
|
|
69
|
-
children: [i.text ? /* @__PURE__ */ l(c, { children: i.text }) : null, i.children]
|
|
70
|
-
});
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { filterPassingProps, getRootProps } from "../../utils/react.js";
|
|
4
|
+
import { useState, useRef, useEffect, forwardRef } from "react";
|
|
5
|
+
import { DEFAULT_LABEL } from "../../shared/constants.js";
|
|
6
|
+
import { cls, getBooleanAsString } from "../../utils/index.js";
|
|
7
|
+
function DBBadgeFn(props, component) {
|
|
8
|
+
const _ref = component || useRef(component);
|
|
9
|
+
const [initialized, setInitialized] = useState(() => false);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
setInitialized(true);
|
|
12
|
+
}, []);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (_ref.current && initialized) {
|
|
15
|
+
if (props.placement?.startsWith("corner")) {
|
|
16
|
+
let parent = _ref.current.parentElement;
|
|
17
|
+
if (parent && parent.localName.includes("badge")) {
|
|
18
|
+
// Angular workaround
|
|
19
|
+
parent = parent.parentElement;
|
|
20
|
+
}
|
|
21
|
+
if (parent) {
|
|
22
|
+
parent.dataset["hasBadge"] = "true";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}, [_ref.current, initialized]);
|
|
27
|
+
return (_jsxs("span", { ref: _ref, ...filterPassingProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density"]), id: props.id ?? props.propOverrides?.id, ...getRootProps(props, ["data-icon-variant", "data-icon-variant-before", "data-icon-variant-after", "data-icon-weight", "data-icon-weight-before", "data-icon-weight-after", "data-interactive", "data-force-mobile", "data-color", "data-container-color", "data-bg-color", "data-on-bg-color", "data-color-scheme", "data-font-size", "data-headline-size", "data-divider", "data-focus", "data-font", "data-density"]), className: cls("db-badge", props.className), "data-semantic": props.semantic, "data-size": props.size, "data-emphasis": props.emphasis, "data-placement": props.placement, "data-wrap": getBooleanAsString(props.wrap, "wrap"), "data-label": props.placement?.startsWith("corner") && (props.label ?? DEFAULT_LABEL), children: [props.text ? _jsx(_Fragment, { children: props.text }) : null, props.children] }));
|
|
71
28
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
export { f as default };
|
|
29
|
+
const DBBadge = forwardRef(DBBadgeFn);
|
|
30
|
+
export default DBBadge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as DBBadge } from './badge';
|
|
1
|
+
export { default as DBBadge } from './badge.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as DBBadge } from './badge.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EmphasisProps, GlobalProps, GlobalState, InitializedState, SemanticProps, SizeProps, TextProps, WrapProps } from '../../shared/model';
|
|
1
|
+
import type { EmphasisProps, GlobalProps, GlobalState, InitializedState, SemanticProps, SizeProps, TextProps, WrapProps } from '../../shared/model.js';
|
|
2
2
|
export declare const BadgePlacementList: readonly ["inline", "corner-top-left", "corner-top-right", "corner-center-left", "corner-center-right", "corner-bottom-left", "corner-bottom-right"];
|
|
3
3
|
export type BadgePlacementType = (typeof BadgePlacementList)[number];
|
|
4
4
|
export type DBBadgeDefaultProps = {
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var e = [
|
|
3
|
-
"inline",
|
|
4
|
-
"corner-top-left",
|
|
5
|
-
"corner-top-right",
|
|
6
|
-
"corner-center-left",
|
|
7
|
-
"corner-center-right",
|
|
8
|
-
"corner-bottom-left",
|
|
9
|
-
"corner-bottom-right"
|
|
10
|
-
];
|
|
11
|
-
//#endregion
|
|
12
|
-
export { e as BadgePlacementList };
|
|
1
|
+
export const BadgePlacementList = ['inline', 'corner-top-left', 'corner-top-right', 'corner-center-left', 'corner-center-right', 'corner-bottom-left', 'corner-bottom-right'];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
declare const DBBrand: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, keyof import("
|
|
2
|
+
declare const DBBrand: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<any>, keyof import("../../index.js").GlobalProps | "text" | "hideLogo" | "icon" | "showIcon"> & import("./model.js").DBBrandDefaultProps & import("../../index.js").GlobalProps & import("../../index.js").IconProps & import("../../index.js").ShowIconProps & import("../../index.js").TextProps & React.RefAttributes<any>>;
|
|
3
3
|
export default DBBrand;
|