@db-ux/v-core-components 4.14.0-shell-52d18db → 5.0.0

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 (84) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/agent/TabItem.md +2 -2
  3. package/agent/Tabs.md +23 -20
  4. package/agent/_instructions.md +0 -10
  5. package/dist/components/accordion/accordion.vue.d.ts +1 -1
  6. package/dist/components/accordion/model.d.ts +8 -2
  7. package/dist/components/custom-select/custom-select.vue.d.ts +1 -1
  8. package/dist/components/custom-select/model.d.ts +1 -1
  9. package/dist/components/custom-select-list/custom-select-list.vue.d.ts +1 -1
  10. package/dist/components/drawer/model.d.ts +1 -1
  11. package/dist/components/header/header.vue.d.ts +2 -2
  12. package/dist/components/input/input.vue.d.ts +1 -1
  13. package/dist/components/navigation-item/navigation-item.vue.d.ts +2 -2
  14. package/dist/components/notification/notification.vue.d.ts +1 -1
  15. package/dist/components/select/select.vue.d.ts +1 -1
  16. package/dist/components/stack/model.d.ts +1 -1
  17. package/dist/components/tab-item/model.d.ts +24 -13
  18. package/dist/components/tab-item/tab-item.vue.d.ts +5 -12
  19. package/dist/components/tab-list/model.d.ts +5 -5
  20. package/dist/components/tab-list/tab-list.vue.d.ts +3 -1
  21. package/dist/components/tab-panel/model.d.ts +6 -4
  22. package/dist/components/tab-panel/tab-panel.vue.d.ts +1 -7
  23. package/dist/components/tabs/model.d.ts +93 -18
  24. package/dist/components/tabs/tabs.vue.d.ts +12 -12
  25. package/dist/db-ux.es.js +1824 -2614
  26. package/dist/db-ux.umd.js +1 -1
  27. package/dist/index.d.ts +0 -28
  28. package/dist/shared/constants.d.ts +1 -5
  29. package/dist/shared/model.d.ts +3 -90
  30. package/dist/utils/index.d.ts +9 -10
  31. package/dist/utils/navigation.d.ts +11 -22
  32. package/package.json +4 -4
  33. package/agent/ControlPanelBrand.md +0 -15
  34. package/agent/ControlPanelDesktop.md +0 -48
  35. package/agent/ControlPanelMeta.md +0 -19
  36. package/agent/ControlPanelMobile.md +0 -40
  37. package/agent/ControlPanelNavigation.md +0 -24
  38. package/agent/ControlPanelNavigationItem.md +0 -39
  39. package/agent/ControlPanelPrimaryActions.md +0 -20
  40. package/agent/ControlPanelSecondaryActions.md +0 -24
  41. package/agent/Shell.md +0 -28
  42. package/agent/ShellSubNavigation.md +0 -6
  43. package/dist/components/control-panel-brand/control-panel-brand.vue.d.ts +0 -18
  44. package/dist/components/control-panel-brand/index.d.ts +0 -1
  45. package/dist/components/control-panel-brand/model.d.ts +0 -5
  46. package/dist/components/control-panel-desktop/control-panel-desktop.vue.d.ts +0 -34
  47. package/dist/components/control-panel-desktop/index.d.ts +0 -1
  48. package/dist/components/control-panel-desktop/model.d.ts +0 -5
  49. package/dist/components/control-panel-flat-icon/control-panel-flat-icon.vue.d.ts +0 -22
  50. package/dist/components/control-panel-flat-icon/index.d.ts +0 -1
  51. package/dist/components/control-panel-flat-icon/model.d.ts +0 -12
  52. package/dist/components/control-panel-meta/control-panel-meta.vue.d.ts +0 -18
  53. package/dist/components/control-panel-meta/index.d.ts +0 -1
  54. package/dist/components/control-panel-meta/model.d.ts +0 -5
  55. package/dist/components/control-panel-mobile/control-panel-mobile.vue.d.ts +0 -33
  56. package/dist/components/control-panel-mobile/index.d.ts +0 -1
  57. package/dist/components/control-panel-mobile/model.d.ts +0 -21
  58. package/dist/components/control-panel-navigation/control-panel-navigation.vue.d.ts +0 -25
  59. package/dist/components/control-panel-navigation/index.d.ts +0 -1
  60. package/dist/components/control-panel-navigation/model.d.ts +0 -25
  61. package/dist/components/control-panel-navigation-item/control-panel-navigation-item.vue.d.ts +0 -27
  62. package/dist/components/control-panel-navigation-item/index.d.ts +0 -1
  63. package/dist/components/control-panel-navigation-item/model.d.ts +0 -20
  64. package/dist/components/control-panel-navigation-item-group/control-panel-navigation-item-group.vue.d.ts +0 -32
  65. package/dist/components/control-panel-navigation-item-group/index.d.ts +0 -1
  66. package/dist/components/control-panel-navigation-item-group/model.d.ts +0 -44
  67. package/dist/components/control-panel-primary-actions/control-panel-primary-actions.vue.d.ts +0 -18
  68. package/dist/components/control-panel-primary-actions/index.d.ts +0 -1
  69. package/dist/components/control-panel-primary-actions/model.d.ts +0 -5
  70. package/dist/components/control-panel-secondary-actions/control-panel-secondary-actions.vue.d.ts +0 -18
  71. package/dist/components/control-panel-secondary-actions/index.d.ts +0 -1
  72. package/dist/components/control-panel-secondary-actions/model.d.ts +0 -5
  73. package/dist/components/control-panel-skip-navigation/control-panel-skip-navigation.vue.d.ts +0 -21
  74. package/dist/components/control-panel-skip-navigation/index.d.ts +0 -1
  75. package/dist/components/control-panel-skip-navigation/model.d.ts +0 -16
  76. package/dist/components/shell/index.d.ts +0 -1
  77. package/dist/components/shell/model.d.ts +0 -34
  78. package/dist/components/shell/shell.vue.d.ts +0 -25
  79. package/dist/components/shell-content/index.d.ts +0 -1
  80. package/dist/components/shell-content/model.d.ts +0 -28
  81. package/dist/components/shell-content/shell-content.vue.d.ts +0 -27
  82. package/dist/components/shell-sub-navigation/index.d.ts +0 -1
  83. package/dist/components/shell-sub-navigation/model.d.ts +0 -5
  84. package/dist/components/shell-sub-navigation/shell-sub-navigation.vue.d.ts +0 -22
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @db-ux/v-core-components
2
2
 
3
+ ## 5.0.0
4
+
5
+ We're providing a [migration guide for all 4.x to 5.0.0](https://github.com/db-ux-design-system/core-web/blob/main/docs/migration/v4.x.x-to-v5.0.0.md) changes.
6
+
7
+ ### Major Changes
8
+
9
+ - refactor: DBDrawer with breaking changes - [see commit 9189f6c](https://github.com/db-ux-design-system/core-web/commit/9189f6c24cd3a64f072c2f60f8c8127d1ed68c55):
10
+
11
+ - The `DBDrawer` component now requires a `DBDrawerHeader` component to be passed in the `header` slot.
12
+ - The `spacing` property has been removed from `DBDrawer`.
13
+ - The default `direction` has changed from `right` to `to-left`.
14
+ - The `width` property has been renamed to `containerSize`.
15
+ - The `direction` values have been renamed from `right`/`left` to `to-left`/`to-right`.
16
+
17
+ - refactor: remove default `margin-inline` from `[data-icon]` pseudo-elements in favor of `gap` - [see commit 635f4b7](https://github.com/db-ux-design-system/core-web/commit/635f4b7ff6ce2aa9341932cb0b8a9c8657ed1ade)
18
+
19
+ - refactor: rework DBTabs and DBTabItem - [see commit c50e522](https://github.com/db-ux-design-system/core-web/commit/c50e5221a4c6f3357ff52451291bdc5772267178):
20
+
21
+ - **Breaking:** DBTabItem now renders a native `button` (`role="tab"`) instead of a radio `input`.
22
+ - **Breaking:** Removed `checked`, `noText` and `name` from DBTabItem.
23
+ - **Breaking:** Renamed DBTabs props `onTabSelect` → `onIndexChange`, `alignment` → `tabItemAlignment`, `width` → `tabItemWidth`.
24
+ - **Breaking:** Deep linking derives the tab id from the `id` prop instead of `label`.
25
+ - Added truncation tooltip for overflowing tab labels and fixed vertical layout, trailing icon and tooltip placement.
26
+
27
+ ### Patch Changes
28
+
29
+ - fix: remove dead `z-index` and `position: relative` from table-row interactive children - [see commit 7edb77b](https://github.com/db-ux-design-system/core-web/commit/7edb77bb9f90d4a79f238ebab362074d12f02f0f)
30
+
3
31
  ## 4.14.0
4
32
 
5
33
  ### Minor Changes
package/agent/TabItem.md CHANGED
@@ -19,8 +19,8 @@
19
19
  </DBTabItem>
20
20
  <h2>5. Label Property</h2>
21
21
  <DBTabItem label="Tab Item Label">Tab Item with Label</DBTabItem>
22
- <h2>6. No Text</h2>
23
- <DBTabItem icon="user" :noText="true"></DBTabItem>
22
+ <h2>6. Tab with Icon and Label</h2>
23
+ <DBTabItem label="User Profile" icon="user" :showIcon="true"></DBTabItem>
24
24
  </template>
25
25
 
26
26
  <script setup lang="ts">
package/agent/Tabs.md CHANGED
@@ -8,41 +8,44 @@
8
8
  <h2>1. Default Tabs</h2>
9
9
  <DBTabs
10
10
  ><DBTabList
11
- ><DBTabItem>Tab 1</DBTabItem><DBTabItem>Tab 2</DBTabItem
12
- ><DBTabItem>Tab 3</DBTabItem></DBTabList
13
- ><DBTabPanel>Tab Panel 1</DBTabPanel><DBTabPanel>Tab Panel 2</DBTabPanel
14
- ><DBTabPanel>Tab Panel 3</DBTabPanel></DBTabs
11
+ ><DBTabItem>Def Tab 1</DBTabItem><DBTabItem>Def Tab 2</DBTabItem
12
+ ><DBTabItem>Def Tab 3</DBTabItem></DBTabList
13
+ ><DBTabPanel>Def Panel 1</DBTabPanel><DBTabPanel>Def Panel 2</DBTabPanel
14
+ ><DBTabPanel>Def Panel 3</DBTabPanel></DBTabs
15
15
  >
16
16
  <h2>2. Behavior Variants</h2>
17
17
  <DBTabs behavior="scrollbar"
18
18
  ><DBTabList
19
- ><DBTabItem>Tab 1</DBTabItem><DBTabItem>Tab 2</DBTabItem
20
- ><DBTabItem>Tab 3</DBTabItem></DBTabList
21
- ><DBTabPanel>Tab Panel 1</DBTabPanel><DBTabPanel>Tab Panel 2</DBTabPanel
22
- ><DBTabPanel>Tab Panel 3</DBTabPanel></DBTabs
19
+ ><DBTabItem>Scroll Tab 1</DBTabItem><DBTabItem>Scroll Tab 2</DBTabItem
20
+ ><DBTabItem>Scroll Tab 3</DBTabItem></DBTabList
21
+ ><DBTabPanel>Scroll Panel 1</DBTabPanel
22
+ ><DBTabPanel>Scroll Panel 2</DBTabPanel
23
+ ><DBTabPanel>Scroll Panel 3</DBTabPanel></DBTabs
23
24
  >
24
25
  <DBTabs behavior="arrows"
25
26
  ><DBTabList
26
- ><DBTabItem>Tab 1</DBTabItem><DBTabItem>Tab 2</DBTabItem
27
- ><DBTabItem>Tab 3</DBTabItem></DBTabList
28
- ><DBTabPanel>Tab Panel 1</DBTabPanel><DBTabPanel>Tab Panel 2</DBTabPanel
29
- ><DBTabPanel>Tab Panel 3</DBTabPanel></DBTabs
27
+ ><DBTabItem>Arrow Tab 1</DBTabItem><DBTabItem>Arrow Tab 2</DBTabItem
28
+ ><DBTabItem>Arrow Tab 3</DBTabItem></DBTabList
29
+ ><DBTabPanel>Arrow Panel 1</DBTabPanel><DBTabPanel>Arrow Panel 2</DBTabPanel
30
+ ><DBTabPanel>Arrow Panel 3</DBTabPanel></DBTabs
30
31
  >
31
32
  <h2>3. Initial Selected Index</h2>
32
33
  <DBTabs :initialSelectedIndex="1"
33
34
  ><DBTabList
34
- ><DBTabItem>Tab 1</DBTabItem><DBTabItem>Tab 2</DBTabItem
35
- ><DBTabItem>Tab 3</DBTabItem></DBTabList
36
- ><DBTabPanel>Tab Panel 1</DBTabPanel><DBTabPanel>Tab Panel 2</DBTabPanel
37
- ><DBTabPanel>Tab Panel 3</DBTabPanel></DBTabs
35
+ ><DBTabItem>InitIdx Tab 1</DBTabItem><DBTabItem>InitIdx Tab 2</DBTabItem
36
+ ><DBTabItem>InitIdx Tab 3</DBTabItem></DBTabList
37
+ ><DBTabPanel>InitIdx Panel 1</DBTabPanel
38
+ ><DBTabPanel>InitIdx Panel 2</DBTabPanel
39
+ ><DBTabPanel>InitIdx Panel 3</DBTabPanel></DBTabs
38
40
  >
39
41
  <h2>4. Initial Selected Mode</h2>
40
42
  <DBTabs initialSelectedMode="manually"
41
43
  ><DBTabList
42
- ><DBTabItem>Tab 1</DBTabItem><DBTabItem>Tab 2</DBTabItem
43
- ><DBTabItem>Tab 3</DBTabItem></DBTabList
44
- ><DBTabPanel>Tab Panel 1</DBTabPanel><DBTabPanel>Tab Panel 2</DBTabPanel
45
- ><DBTabPanel>Tab Panel 3</DBTabPanel></DBTabs
44
+ ><DBTabItem>Manually Tab 1</DBTabItem><DBTabItem>Manually Tab 2</DBTabItem
45
+ ><DBTabItem>Manually Tab 3</DBTabItem></DBTabList
46
+ ><DBTabPanel>Manually Panel 1</DBTabPanel
47
+ ><DBTabPanel>Manually Panel 2</DBTabPanel
48
+ ><DBTabPanel>Manually Panel 3</DBTabPanel></DBTabs
46
49
  >
47
50
  </template>
48
51
 
@@ -1,5 +1,4 @@
1
1
  - Use "@db-ux/v-core-components" as import for components:
2
- - use for `DBShellSubNavigation` or `ShellSubNavigation` the file __agent-path__/agent/ShellSubNavigation.md
3
2
  - use for `DBTooltip` or `Tooltip` the file __agent-path__/agent/Tooltip.md
4
3
  - use for `DBTextarea` or `Textarea` the file __agent-path__/agent/Textarea.md
5
4
  - use for `DBTag` or `Tag` the file __agent-path__/agent/Tag.md
@@ -7,7 +6,6 @@
7
6
  - use for `DBTabItem` or `TabItem` the file __agent-path__/agent/TabItem.md
8
7
  - use for `DBSwitch` or `Switch` the file __agent-path__/agent/Switch.md
9
8
  - use for `DBStack` or `Stack` the file __agent-path__/agent/Stack.md
10
- - use for `DBShell` or `Shell` the file __agent-path__/agent/Shell.md
11
9
  - use for `DBSelect` or `Select` the file __agent-path__/agent/Select.md
12
10
  - use for `DBSection` or `Section` the file __agent-path__/agent/Section.md
13
11
  - use for `DBRadio` or `Radio` the file __agent-path__/agent/Radio.md
@@ -24,14 +22,6 @@
24
22
  - use for `DBDrawer` or `Drawer` the file __agent-path__/agent/Drawer.md
25
23
  - use for `DBDivider` or `Divider` the file __agent-path__/agent/Divider.md
26
24
  - use for `DBCustomSelect` or `CustomSelect` the file __agent-path__/agent/CustomSelect.md
27
- - use for `DBControlPanelSecondaryActions` or `ControlPanelSecondaryActions` the file __agent-path__/agent/ControlPanelSecondaryActions.md
28
- - use for `DBControlPanelPrimaryActions` or `ControlPanelPrimaryActions` the file __agent-path__/agent/ControlPanelPrimaryActions.md
29
- - use for `DBControlPanelNavigationItem` or `ControlPanelNavigationItem` the file __agent-path__/agent/ControlPanelNavigationItem.md
30
- - use for `DBControlPanelNavigation` or `ControlPanelNavigation` the file __agent-path__/agent/ControlPanelNavigation.md
31
- - use for `DBControlPanelMobile` or `ControlPanelMobile` the file __agent-path__/agent/ControlPanelMobile.md
32
- - use for `DBControlPanelMeta` or `ControlPanelMeta` the file __agent-path__/agent/ControlPanelMeta.md
33
- - use for `DBControlPanelDesktop` or `ControlPanelDesktop` the file __agent-path__/agent/ControlPanelDesktop.md
34
- - use for `DBControlPanelBrand` or `ControlPanelBrand` the file __agent-path__/agent/ControlPanelBrand.md
35
25
  - use for `DBCheckbox` or `Checkbox` the file __agent-path__/agent/Checkbox.md
36
26
  - use for `DBCard` or `Card` the file __agent-path__/agent/Card.md
37
27
  - use for `DBButton` or `Button` the file __agent-path__/agent/Button.md
@@ -10,10 +10,10 @@ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBAccordio
10
10
  className: string;
11
11
  propOverrides: import("../../index.js", { with: { "resolution-mode": "import" } }).PropOverridesType;
12
12
  name: string;
13
+ behavior: import("./model.js", { with: { "resolution-mode": "import" } }).AccordionBehaviorType;
13
14
  initOpenIndex: number[];
14
15
  items: DBAccordionItemDefaultProps[] | string;
15
16
  variant: import("./model.js", { with: { "resolution-mode": "import" } }).AccordionVariantType;
16
- behavior: import("../../index.js", { with: { "resolution-mode": "import" } }).CollapsibleBehaviorType;
17
17
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
18
18
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
19
  declare const _default: typeof __VLS_export;
@@ -1,8 +1,14 @@
1
- import { CollapsibleBehaviorProps, GlobalProps, InitializedState } from '../../shared/model.js';
1
+ import type { GlobalProps, InitializedState } from '../../shared/model.js';
2
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
+ export declare const AccordionBehaviorList: readonly ["multiple", "single"];
6
+ export type AccordionBehaviorType = (typeof AccordionBehaviorList)[number];
5
7
  export type DBAccordionDefaultProps = {
8
+ /**
9
+ * To allow multiple items open at the same time or only 1 item
10
+ */
11
+ behavior?: AccordionBehaviorType;
6
12
  /**
7
13
  * The index of items which should be open when loading the accordion
8
14
  */
@@ -26,7 +32,7 @@ export type DBAccordionDefaultProps = {
26
32
  */
27
33
  variant?: AccordionVariantType;
28
34
  };
29
- export type DBAccordionProps = DBAccordionDefaultProps & GlobalProps & CollapsibleBehaviorProps;
35
+ export type DBAccordionProps = DBAccordionDefaultProps & GlobalProps;
30
36
  export type DBAccordionDefaultState = {
31
37
  _initOpenIndexDone: boolean;
32
38
  _name?: string;
@@ -14,12 +14,12 @@ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBCustomSe
14
14
  className: string;
15
15
  propOverrides: import("../../shared/model.js", { with: { "resolution-mode": "import" } }).PropOverridesType;
16
16
  name: string;
17
- multiple: boolean | string;
18
17
  form: string;
19
18
  label: string;
20
19
  values: string[];
21
20
  open: boolean;
22
21
  disabled: boolean | string;
22
+ multiple: boolean | string;
23
23
  variant: import("../../shared/model.js", { with: { "resolution-mode": "import" } }).LabelVariantType;
24
24
  placement: import("../../shared/model.js", { with: { "resolution-mode": "import" } }).PlacementVerticalType;
25
25
  icon: import("@db-ux/core-foundations", { with: { "resolution-mode": "import" } }).IconTypes;
@@ -208,7 +208,7 @@ export type DBCustomSelectDefaultState = {
208
208
  searchEnabled: boolean;
209
209
  amountOptions: number;
210
210
  setDescById: (descId?: string) => void;
211
- handleTagRemove: (option: CustomSelectOptionType, event?: ClickEvent<HTMLButtonElement> | Event | void | any) => void;
211
+ handleTagRemove: (option: CustomSelectOptionType, event?: ClickEvent<HTMLButtonElement> | Event | void) => void;
212
212
  handleSummaryFocus: () => void;
213
213
  handleSelect: (value?: string) => void;
214
214
  handleSelectAll: (event: any) => void;
@@ -8,8 +8,8 @@ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBCustomSe
8
8
  children: any;
9
9
  className: string;
10
10
  propOverrides: import("../../index.js", { with: { "resolution-mode": "import" } }).PropOverridesType;
11
- multiple: boolean;
12
11
  label: string;
12
+ multiple: boolean;
13
13
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
14
14
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
15
  declare const _default: typeof __VLS_export;
@@ -29,7 +29,7 @@ export type DBDrawerDefaultProps = {
29
29
  */
30
30
  footer?: any;
31
31
  /**
32
- * Shows a spacing between screen and drawer-content to provide enough space for the backdrop
32
+ * Shows a spacing between viewport frame and drawer-content to provide enough space for the backdrop
33
33
  */
34
34
  showSpacing?: boolean | string;
35
35
  /**
@@ -26,10 +26,10 @@ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBHeaderPr
26
26
  width: import("../../index.js", { with: { "resolution-mode": "import" } }).MaxWidthType;
27
27
  closeButtonId: string;
28
28
  closeButtonText: string;
29
- drawerHeaderText: string;
30
- burgerMenuLabel: string;
31
29
  drawerOpen: boolean | string;
32
30
  forceMobile: boolean | string;
31
+ drawerHeaderText: string;
32
+ burgerMenuLabel: string;
33
33
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
34
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
35
35
  declare const _default: typeof __VLS_export;
@@ -15,7 +15,6 @@ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBInputPro
15
15
  autofocus: boolean | string;
16
16
  propOverrides: import("../../shared/model.js", { with: { "resolution-mode": "import" } }).PropOverridesType;
17
17
  name: string;
18
- multiple: boolean | string;
19
18
  form: string;
20
19
  input: (event: InputEvent<HTMLInputElement>) => void;
21
20
  label: string;
@@ -27,6 +26,7 @@ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBInputPro
27
26
  onChange: (event: ChangeEvent<HTMLInputElement>) => void;
28
27
  onInput: (event: InputEvent<HTMLInputElement>) => void;
29
28
  type: import("./model.js", { with: { "resolution-mode": "import" } }).InputTypeType | string;
29
+ multiple: boolean | string;
30
30
  variant: import("../../shared/model.js", { with: { "resolution-mode": "import" } }).LabelVariantType;
31
31
  size: number;
32
32
  icon: import("@db-ux/core-foundations", { with: { "resolution-mode": "import" } }).IconTypes;
@@ -21,10 +21,10 @@ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBNavigati
21
21
  showIcon: boolean | string;
22
22
  width: import("../../shared/model.js", { with: { "resolution-mode": "import" } }).WidthType | string;
23
23
  active: boolean;
24
- backButtonId: string;
25
- backButtonText: string;
26
24
  subNavigationExpanded: boolean | string;
27
25
  hideSubNavigation: boolean | string;
26
+ backButtonId: string;
27
+ backButtonText: string;
28
28
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
29
29
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
30
  declare const _default: typeof __VLS_export;
@@ -20,9 +20,9 @@ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBNotifica
20
20
  variant: import("./model.js", { with: { "resolution-mode": "import" } }).NotificationVariantType;
21
21
  icon: import("@db-ux/core-foundations", { with: { "resolution-mode": "import" } }).IconTypes;
22
22
  showIcon: boolean | string;
23
+ onClose: (event?: MouseEvent | undefined) => void;
23
24
  closeButtonId: string;
24
25
  closeButtonText: string;
25
- onClose: (event?: MouseEvent | undefined) => void;
26
26
  closeable: boolean | string;
27
27
  linkVariant: import("./model.js", { with: { "resolution-mode": "import" } }).NotificationLinkVariantType;
28
28
  showHeadline: boolean | string;
@@ -14,7 +14,6 @@ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBSelectPr
14
14
  className: string;
15
15
  propOverrides: import("../../shared/model.js", { with: { "resolution-mode": "import" } }).PropOverridesType;
16
16
  name: string;
17
- multiple: boolean;
18
17
  input: (event: InputEvent<HTMLSelectElement>) => void;
19
18
  label: string;
20
19
  value: any;
@@ -24,6 +23,7 @@ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBSelectPr
24
23
  onChange: (event: ChangeEvent<HTMLSelectElement>) => void;
25
24
  onInput: (event: InputEvent<HTMLSelectElement>) => void;
26
25
  onClick: (event: ClickEvent<HTMLSelectElement>) => void;
26
+ multiple: boolean;
27
27
  variant: import("../../shared/model.js", { with: { "resolution-mode": "import" } }).LabelVariantType;
28
28
  size: number;
29
29
  icon: import("@db-ux/core-foundations", { with: { "resolution-mode": "import" } }).IconTypes;
@@ -5,7 +5,7 @@ export declare const StackDirectionList: readonly ["row", "column"];
5
5
  export type StackDirectionType = (typeof StackDirectionList)[number];
6
6
  export declare const StackAlignmentList: readonly ["stretch", "start", "end", "center"];
7
7
  export type StackAlignmentType = (typeof StackAlignmentList)[number];
8
- export declare const StackJustifyContentList: readonly ["space-between", "start", "end", "center"];
8
+ export declare const StackJustifyContentList: readonly ["space-between", "start", "center", "end"];
9
9
  export type StackJustifyContentType = (typeof StackJustifyContentList)[number];
10
10
  export type DBStackDefaultProps = {
11
11
  /**
@@ -1,9 +1,10 @@
1
- import type { ActiveProps, ChangeEventProps, ChangeEventState, GlobalProps, GlobalState, IconLeadingProps, IconProps, IconTrailingProps, InitializedState, NameProps, NameState, ShowIconLeadingProps, ShowIconProps, ShowIconTrailingProps } from '../../shared/model.js';
1
+ import { ActiveProps, EndSlotProps, GlobalProps, GlobalState, IconLeadingProps, IconProps, IconTrailingProps, InitializedState, ShowIconLeadingProps, ShowIconProps, ShowIconTrailingProps, WidthProps } from '../../shared/model.js';
2
+ /**
3
+ * DBTabItem is designed to be used exclusively inside a DBTabs container.
4
+ * The parent DBTabs manages selection state (aria-selected, tabindex) via direct
5
+ * DOM attribute manipulation. DBTabItem itself is purely presentational.
6
+ */
2
7
  export type DBTabItemDefaultProps = {
3
- /**
4
- * To control the component
5
- */
6
- checked?: boolean | string;
7
8
  /**
8
9
  * The disabled attribute can be set to keep a user from clicking on the tab-item.
9
10
  */
@@ -13,15 +14,25 @@ export type DBTabItemDefaultProps = {
13
14
  */
14
15
  label?: string;
15
16
  /**
16
- * Define the text next to the icon specified via the icon Property to get hidden.
17
+ * Set the tabIndex manually (internal use for roving tabindex).
18
+ */
19
+ tabIndex?: number | string;
20
+ /**
21
+ * Semantic value of this tab item. When set, onIndexChange will emit this value
22
+ * (via the onValueChange event) instead of only the numeric index.
23
+ * Useful for form binding (e.g. Angular FormControl, React useState).
17
24
  */
18
- noText?: boolean | string;
25
+ value?: string;
19
26
  };
20
- export type DBTabItemProps = GlobalProps & DBTabItemDefaultProps & IconProps & IconTrailingProps & IconLeadingProps & ShowIconLeadingProps & ShowIconTrailingProps & ActiveProps & ChangeEventProps<HTMLInputElement> & ShowIconProps & NameProps;
27
+ export type DBTabItemProps = DBTabItemDefaultProps & Omit<GlobalProps, 'id' | 'propOverrides'> & IconProps & ShowIconProps & IconTrailingProps & IconLeadingProps & ShowIconTrailingProps & ShowIconLeadingProps & ActiveProps & WidthProps & EndSlotProps;
21
28
  export type DBTabItemDefaultState = {
22
- _selected: boolean;
23
- _listenerAdded: boolean;
24
- boundSetSelectedOnChange?: (event: any) => void;
25
- setSelectedOnChange: (event: any) => void;
29
+ _resizeObserver: ResizeObserver | null | undefined;
30
+ _mutationObserver: MutationObserver | null | undefined;
31
+ _setupRafId: number | null;
32
+ _unmounted: boolean;
33
+ isTruncated: boolean;
34
+ _cleanupTooltipAria: () => void;
35
+ checkTruncation: () => void;
36
+ tooltipText: string;
26
37
  };
27
- export type DBTabItemState = DBTabItemDefaultState & GlobalState & ChangeEventState<HTMLInputElement> & InitializedState & NameState;
38
+ export type DBTabItemState = DBTabItemDefaultState & GlobalState & InitializedState;
@@ -1,29 +1,22 @@
1
1
  import type { DBTabItemProps } from "./model.js";
2
- declare var __VLS_1: {};
2
+ declare var __VLS_1: {}, __VLS_3: {};
3
3
  type __VLS_Slots = {} & {
4
4
  default?: (props: typeof __VLS_1) => any;
5
+ } & {
6
+ 'end-slot'?: (props: typeof __VLS_3) => any;
5
7
  };
6
- declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBTabItemProps, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {
7
- "update:checked": (...args: any[]) => void;
8
- }, string, import("@vue/runtime-core").PublicProps, Readonly<DBTabItemProps> & Readonly<{
9
- "onUpdate:checked"?: ((...args: any[]) => any) | undefined;
10
- }>, {
11
- id: string;
8
+ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBTabItemProps, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {}, string, import("@vue/runtime-core").PublicProps, Readonly<DBTabItemProps> & Readonly<{}>, {
12
9
  children: any;
13
10
  className: string;
14
- propOverrides: import("../../index.js", { with: { "resolution-mode": "import" } }).PropOverridesType;
15
- name: string;
16
11
  label: string;
12
+ value: string;
17
13
  disabled: boolean | string;
18
- onChange: (event: import("../../index.js", { with: { "resolution-mode": "import" } }).ChangeEvent<HTMLInputElement>) => void;
19
14
  icon: import("@db-ux/core-foundations", { with: { "resolution-mode": "import" } }).IconTypes;
20
15
  showIcon: boolean | string;
21
16
  showIconLeading: boolean | string;
22
17
  showIconTrailing: boolean | string;
23
18
  iconLeading: import("@db-ux/core-foundations", { with: { "resolution-mode": "import" } }).IconTypes;
24
19
  iconTrailing: import("@db-ux/core-foundations", { with: { "resolution-mode": "import" } }).IconTypes;
25
- noText: boolean | string;
26
- checked: boolean | string;
27
20
  active: boolean | string;
28
21
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
29
22
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,5 +1,5 @@
1
- import type { GlobalProps } from '../../shared/model.js';
2
- export type DBTabListDefaultProps = {};
3
- export type DBTabListProps = DBTabListDefaultProps & GlobalProps;
4
- export type DBTabListDefaultState = {};
5
- export type DBTabListState = DBTabListDefaultState;
1
+ import type { GlobalProps, GlobalState, OrientationProps } from '../../shared/model.js';
2
+ export type DBTabListProps = GlobalProps & OrientationProps;
3
+ export interface DBTabListState extends GlobalState {
4
+ _id?: string;
5
+ }
@@ -1,12 +1,14 @@
1
+ import { DBTabListProps } from "./model.js";
1
2
  declare var __VLS_1: {};
2
3
  type __VLS_Slots = {} & {
3
4
  default?: (props: typeof __VLS_1) => any;
4
5
  };
5
- declare const __VLS_base: import("@vue/runtime-core").DefineComponent<import("../../index.js", { with: { "resolution-mode": "import" } }).GlobalProps, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {}, string, import("@vue/runtime-core").PublicProps, Readonly<import("../../index.js", { with: { "resolution-mode": "import" } }).GlobalProps> & Readonly<{}>, {
6
+ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBTabListProps, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {}, string, import("@vue/runtime-core").PublicProps, Readonly<DBTabListProps> & Readonly<{}>, {
6
7
  id: string;
7
8
  children: any;
8
9
  className: string;
9
10
  propOverrides: import("../../index.js", { with: { "resolution-mode": "import" } }).PropOverridesType;
11
+ orientation: import("../../index.js", { with: { "resolution-mode": "import" } }).OrientationType;
10
12
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
11
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
14
  declare const _default: typeof __VLS_export;
@@ -1,10 +1,12 @@
1
- import type { GlobalProps, GlobalState } from '../../shared/model.js';
1
+ import type { GlobalProps } from '../../shared/model.js';
2
2
  export type DBTabPanelDefaultProps = {
3
3
  /**
4
4
  * The content if you don't want to use children.
5
5
  */
6
6
  content?: string;
7
+ /**
8
+ * If the panel is hidden.
9
+ */
10
+ hidden?: boolean;
7
11
  };
8
- export type DBTabPanelProps = DBTabPanelDefaultProps & GlobalProps;
9
- export type DBTabPanelDefaultState = {};
10
- export type DBTabPanelState = DBTabPanelDefaultState & GlobalState;
12
+ export type DBTabPanelProps = DBTabPanelDefaultProps & Omit<GlobalProps, 'id' | 'propOverrides'>;
@@ -3,13 +3,7 @@ declare var __VLS_1: {};
3
3
  type __VLS_Slots = {} & {
4
4
  default?: (props: typeof __VLS_1) => any;
5
5
  };
6
- declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBTabPanelProps, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {}, string, import("@vue/runtime-core").PublicProps, Readonly<DBTabPanelProps> & Readonly<{}>, {
7
- id: string;
8
- children: any;
9
- className: string;
10
- propOverrides: import("../../index.js", { with: { "resolution-mode": "import" } }).PropOverridesType;
11
- content: string;
12
- }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
6
+ declare const __VLS_base: import("@vue/runtime-core").DefineComponent<DBTabPanelProps, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {}, string, import("@vue/runtime-core").PublicProps, Readonly<DBTabPanelProps> & Readonly<{}>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
13
7
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
8
  declare const _default: typeof __VLS_export;
15
9
  export default _default;
@@ -1,12 +1,28 @@
1
- import type { AlignmentProps, GlobalProps, InitializedState, InputEvent, OrientationProps, OverflowScrollButtonProps, OverflowScrollButtonState, WidthProps } from '../../shared/model.js';
1
+ import type { AlignmentType, GlobalProps, InitializedState, OrientationProps, WidthType } from '../../shared/model.js';
2
2
  import type { DBTabItemProps } from '../tab-item/model.js';
3
3
  import type { DBTabPanelProps } from '../tab-panel/model.js';
4
+ export type TabItemAlignmentType = AlignmentType;
5
+ export type TabItemAlignmentProps = {
6
+ /**
7
+ * Define the tab-item alignment in full width
8
+ */
9
+ tabItemAlignment?: TabItemAlignmentType | string;
10
+ };
4
11
  export declare const TabsBehaviorList: readonly ["scrollbar", "arrows"];
5
12
  export type TabsBehaviorType = (typeof TabsBehaviorList)[number];
6
13
  export declare const TabsInitialSelectedModeList: readonly ["auto", "manually"];
7
14
  export type TabsInitialSelectedModeType = (typeof TabsInitialSelectedModeList)[number];
8
- export type DBSimpleTabProps = DBTabItemProps & DBTabPanelProps;
15
+ export type DBSimpleTabProps = DBTabItemProps & DBTabPanelProps & {
16
+ /**
17
+ * Accessible label for icon-only tabs (rendered as aria-label on the tab button).
18
+ */
19
+ ariaLabel?: string;
20
+ };
9
21
  export type DBTabsDefaultProps = {
22
+ /**
23
+ * Change amount of distance if you click on an arrow, only available with behavior="arrows"
24
+ */
25
+ arrowScrollDistance?: number | string;
10
26
  /**
11
27
  * Show a scrollbar or buttons with arrows to navigate for horizontal tabs with overflow visible
12
28
  */
@@ -15,45 +31,104 @@ export type DBTabsDefaultProps = {
15
31
  * Default behavior is auto selecting the first tab, change selected tab by index
16
32
  */
17
33
  initialSelectedIndex?: number | string;
34
+ /**
35
+ * Controlled active tab index. When set, the component becomes controlled:
36
+ * the consumer is responsible for updating this value in the onIndexChange handler.
37
+ * Takes precedence over initialSelectedIndex after mount.
38
+ */
39
+ activeIndex?: number | string;
18
40
  /**
19
41
  * Default behavior is auto selecting the first tab, disable it with 'manually'
20
42
  */
21
43
  initialSelectedMode?: TabsInitialSelectedModeType;
22
44
  /**
23
- * The name of the tab bar, is required for grouping multiple tabs together. Will overwrite names from children.
45
+ * Accessible label for the tab bar (used as aria-label on the tablist).
24
46
  */
25
- name?: string;
47
+ label?: string;
26
48
  /**
27
49
  * Provide simple tabs with label + text as content
28
50
  */
29
51
  tabs?: DBSimpleTabProps[] | string;
52
+ /**
53
+ * Width of the tab-items. Auto width based on tab-item size, full width based on parent elements width.
54
+ */
55
+ tabItemWidth?: WidthType | string;
56
+ /**
57
+ * Accessible label for the "scroll towards start" button (i18n). Only used with behavior="arrows".
58
+ */
59
+ scrollStartLabel?: string;
60
+ /**
61
+ * Accessible label for the "scroll towards end" button (i18n). Only used with behavior="arrows".
62
+ */
63
+ scrollEndLabel?: string;
30
64
  };
31
65
  export type DBTabsEventProps = {
32
66
  /**
33
67
  * Informs the user if the current tab index has changed.
34
68
  */
35
- indexChange?: (index?: number) => void;
69
+ indexChange?: (index: number) => void;
36
70
  /**
37
71
  * Informs the user if the current tab index has changed.
38
72
  */
39
- onIndexChange?: (index?: number) => void;
73
+ onIndexChange?: (index: number) => void;
40
74
  /**
41
- * Informs the user if another tab has been selected.
75
+ * Fires when the active tab changes and a `value` prop is set on the tab items.
76
+ * Payload is the `value` string of the newly active tab item, or undefined
77
+ * if the tab item has no `value` prop set.
78
+ * Use this for form binding (e.g. Angular FormControl, React controlled state).
42
79
  */
43
- onTabSelect?: (event?: InputEvent<HTMLElement>) => void;
80
+ valueChange?: (value?: string) => void;
44
81
  /**
45
- * Informs the user if another tab has been selected.
82
+ * Fires when the active tab changes and a `value` prop is set on the tab items.
83
+ * Payload is the `value` string of the newly active tab item, or undefined
84
+ * if the tab item has no `value` prop set.
85
+ * Use this for form binding (e.g. Angular FormControl, React controlled state).
46
86
  */
47
- tabSelect?: (event?: InputEvent<HTMLElement>) => void;
87
+ onValueChange?: (value?: string) => void;
48
88
  };
49
- export type DBTabsProps = DBTabsDefaultProps & GlobalProps & OrientationProps & WidthProps & AlignmentProps & OverflowScrollButtonProps & DBTabsEventProps;
89
+ export type DBTabsProps = DBTabsDefaultProps & GlobalProps & OrientationProps & TabItemAlignmentProps & DBTabsEventProps;
50
90
  export type DBTabsDefaultState = {
51
- _name: string;
52
- scrollContainer?: Element | null;
53
- convertTabs: () => DBSimpleTabProps[];
91
+ _id?: string;
92
+ _appliedLabel?: string;
93
+ resetIds: () => void;
94
+ _getScrollContainer: () => Element | null;
95
+ scroll: (toStart?: boolean) => void;
96
+ showScrollStart?: boolean;
97
+ showScrollEnd?: boolean;
98
+ _isRtl: () => boolean;
99
+ evaluateScrollButtons: (tabList: Element) => void;
100
+ getTabs: () => DBSimpleTabProps[];
101
+ getInitialIndex: () => number;
102
+ getRenderIndex: () => number;
103
+ getRenderFocusIndex: () => number;
104
+ getActiveChildIndex: () => number;
105
+ shouldUseActiveChild: (hashApplied: boolean) => boolean;
106
+ moveRovingTabindex: (focusIndex: number) => void;
107
+ _isOwnedPanel: (panel: HTMLElement) => boolean;
54
108
  initTabList: () => void;
55
- initTabs: (init?: boolean) => void;
56
- handleChange: (event: InputEvent<HTMLElement>) => void;
57
- _resizeObserverCallbackId?: string;
109
+ _teardownScrollHandlers: () => void;
110
+ _resolveHashIndex: () => {
111
+ startIndex: number;
112
+ hashApplied: boolean;
113
+ };
114
+ _setupObserver: () => void;
115
+ initTabs: () => void;
116
+ syncSelection: (activeIndex?: number) => void;
117
+ _tabButtons: HTMLElement[];
118
+ _tabPanels: HTMLElement[];
119
+ _resizeObserver?: ResizeObserver | null;
120
+ _observer?: MutationObserver | null;
121
+ _pendingRafId: number | null;
122
+ _scrollListener: {
123
+ fn: () => void;
124
+ } | null;
125
+ _focusgroupSupported: boolean;
126
+ _activeIndex: number;
127
+ activateTab: (index: number) => void;
128
+ getTabId: (index: number | string) => string | undefined;
129
+ getPanelId: (index: number | string) => string | undefined;
130
+ getBaseId: () => string | undefined;
131
+ handleClick: (event: any) => void;
132
+ handleKeyDown: (event: any) => void;
58
133
  };
59
- export type DBTabsState = DBTabsDefaultState & InitializedState & OverflowScrollButtonState;
134
+ export type DBTabsState = DBTabsDefaultState & InitializedState;