@stihl-design-system/components 1.0.0-RC.31 → 1.0.0-RC.32

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 (148) hide show
  1. package/{accordion.DkwtJy--.js → accordion.HfUSDwQJ.js} +2 -2
  2. package/{actionlink.C7HzeIVa.js → actionbutton.kgd0E_xF.js} +4 -3
  3. package/{actionbutton.u1qp8oGC.js → actionlink.CwC42RWc.js} +4 -3
  4. package/assets/CustomReactSelect.DGIItWIh.css +1 -0
  5. package/assets/InputStepper.DvFJk1Mi.css +1 -0
  6. package/assets/Popover.CXyUaXiO.css +1 -0
  7. package/assets/Select.C1gWF32A.css +1 -0
  8. package/assets/Slider.Bidyhb-B.css +1 -0
  9. package/assets/Textarea.Dq4rH9Tg.css +1 -0
  10. package/assets/input.CUjGh-UM.css +1 -0
  11. package/assets/logo100years.CQrEg-Vo.css +1 -0
  12. package/assets/tooltip.Co1gWF_0.css +1 -0
  13. package/{banner.j9YpudOS.js → banner.o4Etkjjo.js} +1 -1
  14. package/{breadcrumb.BS-S3zUI.js → breadcrumb.BsQm0kUD.js} +3 -3
  15. package/{linkbutton.D2C4vykc.js → button.Dyy6ajX6.js} +5 -3
  16. package/buttonround.ChKWHzsv.js +96 -0
  17. package/{checkbox.BtlUvs0z.js → checkbox.BNnp4ztM.js} +3 -3
  18. package/{checkboxgroup.C5NgyyQF.js → checkboxgroup.BTVnKenc.js} +2 -2
  19. package/{chip.tVIG1ysH.js → chip.C7NstOHt.js} +4 -3
  20. package/chipgroup.Zo1-IOCn.js +210 -0
  21. package/chunks/{Accordion.C5V5IcM-.js → Accordion.CnqryAUu.js} +1 -1
  22. package/chunks/ActionButton.DdDesD7K.js +180 -0
  23. package/chunks/ActionLink.DqAsPYda.js +153 -0
  24. package/chunks/{Breadcrumb.BGzwzvh8.js → Breadcrumb.9KinNuyQ.js} +2 -2
  25. package/chunks/Button.Cf1CKq8N.js +142 -0
  26. package/chunks/{Checkbox.DxV7-F5W.js → Checkbox.CiwriItT.js} +2 -2
  27. package/chunks/{CheckboxGroup.Dy_6tiGk.js → CheckboxGroup.Cj68J6Ee.js} +2 -2
  28. package/chunks/Chip.BrbYu6i_.js +133 -0
  29. package/chunks/{CustomReactSelect.iE5iTdez.js → CustomReactSelect.Cqq70QC0.js} +152 -144
  30. package/chunks/{Dialog.B_2pKRnd.js → Dialog.Bv7k55He.js} +1 -1
  31. package/chunks/{Drawer.HFlBTcqN.js → Drawer.BVTvx276.js} +1 -1
  32. package/chunks/{Fieldset.CjIfmN_5.js → Fieldset.D7cLR5ze.js} +1 -1
  33. package/chunks/Header.um5MlziB.js +377 -0
  34. package/chunks/Icon.NSsVrYeq.js +231 -0
  35. package/chunks/{InputFile.DvOatDzg.js → InputFile.bVWWdePn.js} +4 -4
  36. package/chunks/{InputPassword.DC2POUc1.js → InputPassword.Da3hEKTc.js} +2 -2
  37. package/chunks/{InputSearch.B0aCuPRZ.js → InputSearch.GOYqFCcZ.js} +2 -2
  38. package/chunks/InputStepper.BuhPtfl-.js +268 -0
  39. package/chunks/LinkButton.59oNDwPU.js +132 -0
  40. package/chunks/MegaMenu._o3nNDAa.js +192 -0
  41. package/chunks/{NavigationTabList.dYFYTmWv.js → NavigationTabList.DuT7gzhj.js} +1 -1
  42. package/chunks/{NavigationTabs.ClpVGcl0.js → NavigationTabs.DspPFHPh.js} +1 -1
  43. package/chunks/{Notification.DIdIhGTQ.js → Notification.Pts2oh0R.js} +2 -2
  44. package/chunks/Popover.BRR8YZ-P.js +228 -0
  45. package/chunks/{RadioGroup.peTeMK45.js → RadioGroup.DeTz3c19.js} +1 -1
  46. package/chunks/Select.D2ehd4yN.js +162 -0
  47. package/chunks/{Slider.kyVr7BLk.js → Slider.84lkgq3W.js} +85 -85
  48. package/chunks/{SystemFeedback.B9f67mjJ.js → SystemFeedback.CyGbUCzT.js} +1 -1
  49. package/chunks/{Tabs.CkVL8Jw8.js → Tabs.C8ADTzJ0.js} +1 -1
  50. package/chunks/Textarea.Cw85sxHL.js +163 -0
  51. package/chunks/{Toast.DHo4pLH3.js → Toast.DG3WVvau.js} +2 -2
  52. package/chunks/battery-charge-0.DxlgEAto.js +10 -0
  53. package/chunks/battery-charge-100.D0Cax7dU.js +10 -0
  54. package/chunks/{battery.YCg9lYqC.js → battery.6Idoickg.js} +3 -3
  55. package/chunks/bluetooth-off.BzZCh4Q8.js +10 -0
  56. package/chunks/document-s.CoOp0kBK.js +10 -0
  57. package/chunks/floating-ui.dom.VgHc0h4l.js +989 -0
  58. package/chunks/floating-ui.react.DCyAzlZ4.js +2011 -0
  59. package/{combobox.Bk2ycofh.js → combobox.orZ3z8CB.js} +1 -1
  60. package/components/ActionButton/ActionButton.d.ts +2 -0
  61. package/components/Button/Button.d.ts +4 -0
  62. package/components/ChipGroup/Chip.d.ts +1 -0
  63. package/components/ChipGroup/ChipGroup.d.ts +4 -0
  64. package/components/ChipGroup/ChipGroup.utils.d.ts +9 -9
  65. package/components/Header/Header.d.ts +4 -5
  66. package/components/InputStepper/InputStepper.d.ts +6 -0
  67. package/components/InputStepper/InputStepper.utils.d.ts +1 -0
  68. package/components/LinkButton/LinkButton.d.ts +2 -0
  69. package/components/Logo100Years/Logo100Years.d.ts +1 -0
  70. package/components/Popover/Popover.d.ts +29 -7
  71. package/components/Popover/Popover.utils.d.ts +34 -3
  72. package/components/Tooltip/Tooltip.d.ts +40 -0
  73. package/components/Tooltip/Tooltip.test.d.ts +1 -0
  74. package/components/Tooltip/Tooltip.utils.d.ts +70 -0
  75. package/components/Tooltip/Tooltip.utils.test.d.ts +1 -0
  76. package/components/TopBar/TopBar.d.ts +4 -4
  77. package/components/TopBar/TopBar.utils.d.ts +1 -1
  78. package/{customreactselect.Hnch9LGg.js → customreactselect.Np-RpzvU.js} +4 -4
  79. package/{dialog.7sWoqGwL.js → dialog.D4rcbW6A.js} +2 -2
  80. package/{drawer.DsF4KIPn.js → drawer.BCCB3Rkj.js} +2 -2
  81. package/{fieldset.DUFUMcT-.js → fieldset.ZLs9IGpE.js} +2 -2
  82. package/{filelist.nunJKxkv.js → filelist.BiKMKCyg.js} +3 -3
  83. package/{flag.D_iN8iD6.js → flag.72PONA83.js} +1 -1
  84. package/floatingactionbutton.B2YChsNU.js +87 -0
  85. package/{header.QpNjE3N-.js → header.DUbn3BZt.js} +1 -1
  86. package/{icon.vMQcEBnH.js → icon.CHVAZr5T.js} +1 -1
  87. package/index.es.js +112 -111
  88. package/input.DG20x6gh.js +203 -0
  89. package/{inputfile.DK8759wV.js → inputfile.Dc56lQ4t.js} +5 -5
  90. package/{inputpassword.rV_ZZw5F.js → inputpassword.znFHRLsI.js} +3 -3
  91. package/{inputsearch.CmhakTpa.js → inputsearch.B1G6rfVk.js} +3 -3
  92. package/{inputstepper.Y-YzUHhF.js → inputstepper.o6rdM_CW.js} +3 -3
  93. package/link.DbnvsD3j.js +81 -0
  94. package/{button.CPilCCUI.js → linkbutton.DU8Ih8ZF.js} +4 -4
  95. package/logo100years.BcB6_c-o.js +24 -0
  96. package/logo100years.d.ts +2 -0
  97. package/{megamenu.CdHrEeoh.js → megamenu.CPH8EeFF.js} +3 -3
  98. package/{navigationtablist.CVjh1k-b.js → navigationtablist.C0iwsAad.js} +2 -2
  99. package/{navigationtabs.BGfi9AG2.js → navigationtabs.JjJtbuUe.js} +2 -2
  100. package/{notification.Dn-FZWEL.js → notification.Ds_Q7ifk.js} +3 -3
  101. package/{optioncheckbox.D97W3zeW.js → optioncheckbox.DqfXuPdi.js} +1 -1
  102. package/package.json +2 -3
  103. package/partials/index.js +14 -14
  104. package/{popover.DXxm1oWI.js → popover.B72W0OvU.js} +4 -3
  105. package/{radiogroup.J8WpEEo8.js → radiogroup.C_3IcNBq.js} +2 -2
  106. package/{scroller.BiRLQg__.js → scroller.CQxmQU6U.js} +1 -1
  107. package/{select.DIzGPVx3.js → select.Ceyt-zvu.js} +3 -3
  108. package/{skiptocontent._F-d8y5b.js → skiptocontent.BSCde5hT.js} +1 -1
  109. package/{slider.DuJK0RdB.js → slider.Dq2dcziy.js} +2 -2
  110. package/{spinner.Dht6FspZ.js → spinner.BUjhjAvw.js} +1 -1
  111. package/{switch.B37S4vfP.js → switch.D7BCfyyZ.js} +2 -2
  112. package/{systemfeedback.C_2PhwKe.js → systemfeedback.CSdWOWuf.js} +2 -2
  113. package/{tablist.g_Nwu6GA.js → tablist.V7DBklhE.js} +3 -3
  114. package/{tabs.oh9-wHPp.js → tabs.DQNLPAEN.js} +2 -2
  115. package/{textarea.dQ12-oYB.js → textarea.CixKeQBp.js} +2 -2
  116. package/{toast.sMNbfKxi.js → toast.D8QprMCa.js} +3 -3
  117. package/{toastmanager.CVamaS5T.js → toastmanager.BSVjYsg9.js} +1 -1
  118. package/tooltip.CUCSRXd3.js +191 -0
  119. package/tooltip.d.ts +2 -0
  120. package/{topbar.Dhy_TL0U.js → topbar.CVhJy-Br.js} +3 -2
  121. package/types/icon-types.d.ts +1 -1
  122. package/types/prettier-plugin-organize-imports.d.ts +1 -0
  123. package/assets/CustomReactSelect.D0b1Hg1T.css +0 -1
  124. package/assets/InputStepper.Dth4qZN_.css +0 -1
  125. package/assets/Popover.BDTDsPAt.css +0 -1
  126. package/assets/Select.CYACicZ3.css +0 -1
  127. package/assets/Slider.DzwSjDPV.css +0 -1
  128. package/assets/Textarea.BXWhXpXx.css +0 -1
  129. package/assets/input.ONbL-_C1.css +0 -1
  130. package/buttonround.C426mO4d.js +0 -81
  131. package/chipgroup.CjIK0Z0x.js +0 -209
  132. package/chunks/ActionButton.B8zFwOrJ.js +0 -165
  133. package/chunks/ActionLink.IX6oRXU3.js +0 -138
  134. package/chunks/Button.B7xF1E19.js +0 -127
  135. package/chunks/Chip.31UfPwQF.js +0 -119
  136. package/chunks/Header.DqZRryB5.js +0 -366
  137. package/chunks/Icon.DGTYCv63.js +0 -231
  138. package/chunks/InputStepper.D_1YqlWl.js +0 -263
  139. package/chunks/LinkButton.DdTspmJz.js +0 -117
  140. package/chunks/MegaMenu.BY7eOnhj.js +0 -189
  141. package/chunks/Popover.NGetxKGg.js +0 -159
  142. package/chunks/Select.BDHLJ2ma.js +0 -162
  143. package/chunks/Textarea.ORkJUx-S.js +0 -163
  144. package/chunks/floating-ui.dom.C9TD1WpB.js +0 -950
  145. package/chunks/floating-ui.react.x0F9CYgn.js +0 -1637
  146. package/floatingactionbutton.DOH2k0gv.js +0 -72
  147. package/input.BKHOY118.js +0 -203
  148. package/link.D_FjTyoZ.js +0 -66
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as h } from "react/jsx-runtime";
3
3
  import { d as q } from "./chunks/index.CgTHIF3K.js";
4
- import { v as L, c as R } from "./chunks/CustomReactSelect.iE5iTdez.js";
4
+ import { v as L, c as R } from "./chunks/CustomReactSelect.Cqq70QC0.js";
5
5
  import { forwardRef as j } from "react";
6
6
  const k = j((x, C) => {
7
7
  const e = q.c(30);
@@ -50,6 +50,8 @@ export interface ActionButtonProps extends ButtonHTMLAttributes<HTMLButtonElemen
50
50
  * @default 'normal'
51
51
  */
52
52
  weight?: ActionButtonWeight;
53
+ /** Tooltip content. */
54
+ tooltip?: string;
53
55
  /** Callback function called when the button is clicked. */
54
56
  onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
55
57
  }
@@ -47,6 +47,10 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
47
47
  * @default 'light'
48
48
  */
49
49
  theme?: Theme;
50
+ /**
51
+ * Tooltip content.
52
+ */
53
+ tooltip?: string;
50
54
  /** Visual style variant of the button.
51
55
  * @default 'filled'
52
56
  */
@@ -1,6 +1,7 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  import { Chip, ChipGroupAriaTranslations, ChipGroupLanguage, ChipGroupSelectionMode, ChipGroupSize } from './ChipGroup.utils';
3
3
  interface ChipProps extends Omit<Chip, 'onClick'>, Omit<HTMLAttributes<HTMLDivElement>, 'id'> {
4
+ disableTooltips?: boolean;
4
5
  groupId: string;
5
6
  isRemovable: boolean;
6
7
  lang?: ChipGroupLanguage;
@@ -9,6 +9,10 @@ export interface ChipGroupProps extends HTMLAttributes<HTMLDivElement> {
9
9
  id: string;
10
10
  /** Label text displayed above the DSChipGroup. */
11
11
  label: string;
12
+ /** Disables tooltips for all chips in the group.
13
+ * @default false
14
+ */
15
+ disableTooltips?: boolean;
12
16
  /** Hides the DSChipGroup label, can be responsive.
13
17
  * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
14
18
  * @default false
@@ -33,10 +33,10 @@ export declare const DS_CHIP_GROUP_TRANSLATIONS_EN: {
33
33
  addToSelection: string;
34
34
  removeFromSelection: string;
35
35
  removeChip: string;
36
- titleDisabled: string;
37
- titleRemovable: string;
38
- titleDeactivate: string;
39
- titleActivate: string;
36
+ tooltipDisabled: string;
37
+ tooltipRemovable: string;
38
+ tooltipDeactivate: string;
39
+ tooltipActivate: string;
40
40
  };
41
41
  export declare const DS_CHIP_GROUP_TRANSLATIONS_DE: {
42
42
  disabled: string;
@@ -47,14 +47,14 @@ export declare const DS_CHIP_GROUP_TRANSLATIONS_DE: {
47
47
  addToSelection: string;
48
48
  removeFromSelection: string;
49
49
  removeChip: string;
50
- titleDisabled: string;
51
- titleRemovable: string;
52
- titleDeactivate: string;
53
- titleActivate: string;
50
+ tooltipDisabled: string;
51
+ tooltipRemovable: string;
52
+ tooltipDeactivate: string;
53
+ tooltipActivate: string;
54
54
  };
55
55
  export declare const DS_CHIP_GROUP_TRANSLATIONS: {
56
56
  [key in ChipGroupLanguage]: ChipGroupAriaTranslations;
57
57
  };
58
58
  export declare const getChipAriaLabel: (t: (key: keyof ChipGroupAriaTranslations, replacements?: string[]) => string, label: string, disabled: boolean | undefined, isSelected: boolean | undefined, selectionMode: ChipGroupSelectionMode, isRemovable: boolean | undefined) => string;
59
- export declare const getChipTitle: (t: (key: keyof ChipGroupAriaTranslations, replacements?: string[]) => string, disabled: boolean | undefined, isSelected: boolean | undefined, isRemovable: boolean | undefined) => string;
59
+ export declare const getChipTooltip: (t: (key: keyof ChipGroupAriaTranslations, replacements?: string[]) => string, disabled: boolean | undefined, isSelected: boolean | undefined, isRemovable: boolean | undefined) => string;
60
60
  export {};
@@ -2,14 +2,13 @@ import { JSX } from 'react';
2
2
  import { BrandAddOnProps, BrandAreaLogoProps } from '../TopBar/TopBar';
3
3
  import { HeaderVariant, SlotProps } from './Header.utils';
4
4
  export interface HeaderProps extends React.HTMLAttributes<HTMLDivElement> {
5
- /** Brand addOn props:
5
+ /** Brand add-on props:
6
6
  *
7
- * `children`: Content of the brand addOn.
7
+ * `children`: Content of the brand add-on.
8
8
  *
9
- * `subTitle`: Sub title below the title. **Only available with `variant="double"`**.
9
+ * `subTitle`: Sub title displayed below the `children` to create a two line brand add-on.
10
10
  *
11
- * `variant`: Variant of the brand addOn.
12
- * Defaults to `'single'`
11
+ * `variant`: Predefined variant of the brand add-on.
13
12
  */
14
13
  brandAddOnProps?: BrandAddOnProps;
15
14
  /** Content of the Header. */
@@ -20,10 +20,13 @@ export interface InputStepperProps extends Omit<InputHTMLAttributes<HTMLInputEle
20
20
  *
21
21
  * `label`: Accessibility label for the decrease button.
22
22
  * (default) 'Decrease'
23
+ *
24
+ * `tooltip`: Tooltip text for the decrease button.
23
25
  */
24
26
  decreaseAmountButtonProps?: {
25
27
  [key: `data-${string}`]: string | undefined;
26
28
  label?: string;
29
+ tooltip?: string;
27
30
  };
28
31
  /** Hides the input label, can be responsive.
29
32
  * `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
@@ -38,10 +41,13 @@ export interface InputStepperProps extends Omit<InputHTMLAttributes<HTMLInputEle
38
41
  *
39
42
  * `label`: Accessibility label for the increase button.
40
43
  * (default) 'Increase'
44
+ *
45
+ * `tooltip`: Tooltip text for the increase button.
41
46
  */
42
47
  increaseAmountButtonProps?: {
43
48
  [key: `data-${string}`]: string | undefined;
44
49
  label?: string;
50
+ tooltip?: string;
45
51
  };
46
52
  /** Marks the input as invalid, typically used for form validation.
47
53
  * @default false
@@ -1,5 +1,6 @@
1
1
  import { InputStepperProps } from './InputStepper';
2
2
  type ValidationProps = Pick<InputStepperProps, 'id' | 'label' | 'prefix' | 'suffix'>;
3
+ export declare const isValidValue: (value: string | number | readonly string[] | undefined | null) => boolean;
3
4
  /**
4
5
  * Validates the given properties of the DSInputStepper component for common configuration errors.
5
6
  * This function is intended to be used in development mode to provide developers with
@@ -34,6 +34,8 @@ export interface CommonLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorEl
34
34
  * @default 'light'
35
35
  */
36
36
  theme?: Theme;
37
+ /** Tooltip content. */
38
+ tooltip?: string;
37
39
  }
38
40
  export interface LinkButtonProps extends CommonLinkProps {
39
41
  /** Content within the link. */
@@ -0,0 +1 @@
1
+ export declare const Logo100Years: () => import("react/jsx-runtime").JSX.Element;
@@ -3,38 +3,60 @@ import { OpenChangeReason, Placement } from '@floating-ui/react';
3
3
  export interface PopoverProps {
4
4
  /** Content within the Popover. */
5
5
  children?: React.ReactNode;
6
+ /** Default anchor button props:
7
+ *
8
+ * `data-*`: Custom data attributes.
9
+ *
10
+ * `label`: Accessibility label for the default anchor button.
11
+ * (default) 'Toggle popover'
12
+ */
13
+ defaultAnchorButtonProps?: {
14
+ [key: `data-${string}`]: string | undefined;
15
+ label?: string;
16
+ };
6
17
  /** Opens the Popover on initial render.
7
18
  * @default false
8
19
  */
9
20
  initialOpen?: boolean;
21
+ /** Controls the open state of the Popover. If provided, it will be a controlled component.
22
+ * @default false
23
+ */
24
+ isOpen?: boolean;
10
25
  /** The placement of the Popover relative to the anchor element.
11
- * @default 'bottom-start'
26
+ * @default 'bottom'
12
27
  */
13
28
  placement?: Placement;
14
29
  /** The offset distance in "px" between the Popover and its anchor element.
15
30
  * @default 6
16
31
  */
17
32
  popoverOffset?: number;
18
- /** Controls the open state of the Popover. If provided, it will be a controlled component.
19
- * @default false
33
+ /** Whether to render a pointing arrow attached to the popover.
34
+ * @default true
20
35
  */
21
- isOpen?: boolean;
36
+ showArrow?: boolean;
37
+ /** The variant style of the Popover. The "grey" variant requires `showArrow` to be `true`.
38
+ * @default 'default'
39
+ */
40
+ variant?: 'default' | 'grey';
22
41
  /** A function that is called when the open state should change. */
23
42
  onOpenChange?: (isOpen: boolean, event?: Event, reason?: OpenChangeReason) => void;
24
43
  }
25
44
  /**
26
45
  * The Popover component is used to display additional information or actions related to an anchor element. It can be positioned relative to the anchor and supports various placements and offsets.
27
46
  *
28
- * Design in Figma: [Popover](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=35223-10505&p=f&t=QXC7W0qCpEbPrh2M-11)
47
+ * Design in Figma: [Popover](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=35223-10505)
29
48
  * */
30
49
  export declare const DSPopover: {
31
50
  ({ children, ...rest }: PopoverProps): JSX.Element;
32
51
  /** attach static members */
33
52
  Anchor: import('react').ForwardRefExoticComponent<Omit<HTMLProps<HTMLElement> & PopoverAnchorProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
34
- Content: import('react').ForwardRefExoticComponent<Omit<HTMLProps<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
53
+ Content: import('react').ForwardRefExoticComponent<Omit<HTMLProps<HTMLDivElement> & PopoverContentProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
35
54
  displayName: string;
36
55
  };
37
56
  interface PopoverAnchorProps {
38
- children: React.ReactNode;
57
+ children?: React.ReactNode;
58
+ }
59
+ interface PopoverContentProps {
60
+ classNameArrow?: string;
39
61
  }
40
62
  export {};
@@ -1,5 +1,10 @@
1
1
  import { PopoverProps } from './Popover';
2
- export declare const usePopover: ({ initialOpen, placement, isOpen: controlledOpen, popoverOffset, onOpenChange: setControlledOpen, }?: PopoverProps) => {
2
+ /**
3
+ * Popover hook for managing popover state and behavior.
4
+ * @param PopoverProps Popover props
5
+ * @returns Popover state and actions
6
+ */
7
+ export declare const usePopover: ({ initialOpen, placement, isOpen: controlledOpen, popoverOffset, showArrow, variant, defaultAnchorButtonProps, onOpenChange: setControlledOpen, }?: PopoverProps) => {
3
8
  placement: import('@floating-ui/utils').Placement;
4
9
  strategy: import('@floating-ui/utils').Strategy;
5
10
  middlewareData: import('@floating-ui/core').MiddlewareData;
@@ -45,9 +50,35 @@ export declare const usePopover: ({ initialOpen, placement, isOpen: controlledOp
45
50
  open: boolean;
46
51
  popoverOffset: number;
47
52
  setOpen: (isOpen: boolean, event?: Event, reason?: import('@floating-ui/react').OpenChangeReason) => void;
53
+ arrowRef: import('react').RefObject<SVGSVGElement | null>;
54
+ showArrow: boolean;
55
+ defaultAnchorButtonProps: {
56
+ [key: `data-${string}`]: string | undefined;
57
+ label?: string;
58
+ } | undefined;
59
+ variant: "default" | "grey";
48
60
  };
49
- export declare const validatePopoverAnchor: (children: React.ReactNode) => void;
50
- export declare const validatePopoverChildren: ({ hasContent, hasAnchor, }: {
61
+ /**
62
+ * Validates the children of the Popover component in development environment.
63
+ * - Check for children presence
64
+ * - Validate that <DSPopover.Anchor> and <DSPopover.Content> are used together.
65
+ *
66
+ * @param {Object} childrenObject
67
+ * @param {React.ReactNode} childrenObject.children - The Popover children.
68
+ * @param {boolean} childrenObject.hasContent - Whether <DSPopover.Content> is present.
69
+ * @param {boolean} childrenObject.hasAnchor - Whether <DSPopover.Anchor> is present.
70
+ * @returns {void}
71
+ */
72
+ export declare const validatePopoverChildren: ({ children, hasContent, hasAnchor, }: {
73
+ children: React.ReactNode;
51
74
  hasContent: boolean;
52
75
  hasAnchor: boolean;
53
76
  }) => void;
77
+ type ValidationProps = Pick<PopoverProps, 'showArrow' | 'variant'>;
78
+ /**
79
+ * Validates Popover props in development environment.
80
+ *
81
+ * @param props Popover props to validate
82
+ */
83
+ export declare const validatePopoverProps: ({ showArrow, variant, }: ValidationProps) => void;
84
+ export {};
@@ -0,0 +1,40 @@
1
+ import { HTMLProps, JSX } from 'react';
2
+ import { OpenChangeReason, Placement } from '@floating-ui/react';
3
+ export interface TooltipProps {
4
+ /** Content within the Tooltip. */
5
+ children?: React.ReactNode;
6
+ /** Opens the Tooltip on initial render.
7
+ * @default false
8
+ */
9
+ initialOpen?: boolean;
10
+ /** The placement of the Tooltip relative to the anchor element.
11
+ * @default 'top'
12
+ */
13
+ placement?: Placement;
14
+ /** The offset distance in "px" between the Tooltip and its anchor element.
15
+ * @default 6
16
+ */
17
+ tooltipOffset?: number;
18
+ /** Controls the open state of the Tooltip. If provided, it will be a controlled component.
19
+ * @default false
20
+ */
21
+ isOpen?: boolean;
22
+ /** A function that is called when the open state should change. */
23
+ onOpenChange?: (isOpen: boolean, event?: Event, reason?: OpenChangeReason) => void;
24
+ }
25
+ /**
26
+ * The Tooltip component is used to display additional information or actions related to an anchor element. It is opened on hover or focus. It can be positioned relative to the anchor and supports various placements and offsets.
27
+ *
28
+ * Design in Figma: [Tooltip](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/branch/HovZmjHiwxguawTWTO6ibS/Core-Components-%F0%9F%92%A0?node-id=26075-11658&p=f&t=TYKSgw0ZlRDBBUfn-11)
29
+ * */
30
+ export declare const Tooltip: {
31
+ ({ children, ...rest }: TooltipProps): JSX.Element;
32
+ /** attach static members */
33
+ Anchor: import('react').ForwardRefExoticComponent<Omit<HTMLProps<HTMLElement> & TooltipAnchorProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
34
+ Content: import('react').ForwardRefExoticComponent<Omit<HTMLProps<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
35
+ displayName: string;
36
+ };
37
+ interface TooltipAnchorProps {
38
+ children: React.ReactNode;
39
+ }
40
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,70 @@
1
+ import { TooltipProps } from './Tooltip';
2
+ /**
3
+ * Tooltip hook for managing tooltip state and behavior.
4
+ * @param TooltipProps Tooltip props
5
+ * @returns Tooltip state and actions
6
+ */
7
+ export declare function useTooltip({ initialOpen, placement, isOpen: controlledOpen, tooltipOffset, onOpenChange: setControlledOpen, }?: TooltipProps): {
8
+ placement: import('@floating-ui/utils').Placement;
9
+ strategy: import('@floating-ui/utils').Strategy;
10
+ middlewareData: import('@floating-ui/core').MiddlewareData;
11
+ x: number;
12
+ y: number;
13
+ isPositioned: boolean;
14
+ update: () => void;
15
+ floatingStyles: React.CSSProperties;
16
+ refs: {
17
+ reference: import('react').MutableRefObject<import('@floating-ui/react-dom').ReferenceType | null>;
18
+ floating: React.MutableRefObject<HTMLElement | null>;
19
+ setReference: (node: import('@floating-ui/react-dom').ReferenceType | null) => void;
20
+ setFloating: (node: HTMLElement | null) => void;
21
+ } & import('@floating-ui/react').ExtendedRefs<import('@floating-ui/react').ReferenceType>;
22
+ elements: {
23
+ reference: import('@floating-ui/react-dom').ReferenceType | null;
24
+ floating: HTMLElement | null;
25
+ } & import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
26
+ context: {
27
+ x: number;
28
+ y: number;
29
+ placement: import('@floating-ui/utils').Placement;
30
+ strategy: import('@floating-ui/utils').Strategy;
31
+ middlewareData: import('@floating-ui/core').MiddlewareData;
32
+ isPositioned: boolean;
33
+ update: () => void;
34
+ floatingStyles: React.CSSProperties;
35
+ open: boolean;
36
+ onOpenChange: (open: boolean, event?: Event, reason?: import('@floating-ui/react').OpenChangeReason) => void;
37
+ events: import('@floating-ui/react').FloatingEvents;
38
+ dataRef: React.MutableRefObject<import('@floating-ui/react').ContextData>;
39
+ nodeId: string | undefined;
40
+ floatingId: string | undefined;
41
+ refs: import('@floating-ui/react').ExtendedRefs<import('@floating-ui/react').ReferenceType>;
42
+ elements: import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
43
+ };
44
+ getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>;
45
+ getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
46
+ getItemProps: (userProps?: Omit<React.HTMLProps<HTMLElement>, "selected" | "active"> & {
47
+ active?: boolean;
48
+ selected?: boolean;
49
+ }) => Record<string, unknown>;
50
+ open: boolean;
51
+ tooltipOffset: number;
52
+ setOpen: (isOpen: boolean, event?: Event, reason?: import('@floating-ui/react').OpenChangeReason) => void;
53
+ };
54
+ export declare const validateTooltipAnchor: (children: React.ReactNode) => void;
55
+ /**
56
+ * Validates the children of the tooltip component in development environment.
57
+ * - Check for children presence
58
+ * - Validate that <Tooltip.Anchor> and <Tooltip.Content> are used together.
59
+ *
60
+ * @param {Object} childrenObject
61
+ * @param {React.ReactNode} childrenObject.children - The Tooltip children.
62
+ * @param {boolean} childrenObject.hasContent - Whether <Tooltip.Content> is present.
63
+ * @param {boolean} childrenObject.hasAnchor - Whether <Tooltip.Anchor> is present.
64
+ * @returns {void}
65
+ */
66
+ export declare const validateTooltipChildren: ({ children, hasContent, hasAnchor, }: {
67
+ children: React.ReactNode;
68
+ hasContent: boolean;
69
+ hasAnchor: boolean;
70
+ }) => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -30,11 +30,11 @@ export interface BrandAreaLogoProps {
30
30
  target?: LogoTarget;
31
31
  }
32
32
  export interface BrandAddOnProps extends React.HTMLAttributes<HTMLSpanElement> {
33
- /** Content of the brand addOn. */
34
- children: React.ReactNode;
35
- /** Sub title below the title. **Only available with `variant="double"`**. */
33
+ /** Content of the brand add-on. */
34
+ children?: React.ReactNode;
35
+ /** Sub title displayed below the `children` to create a two line brand add-on. */
36
36
  subTitle?: string;
37
- /** Variant of the brand addOn.
37
+ /** Predefined variant of the brand add-on.
38
38
  * @default 'single'
39
39
  */
40
40
  variant?: BrandAddOnVariant;
@@ -10,5 +10,5 @@ export declare const validateTopBarChildren: ({ hasBrandArea, hasPrimaryArea, ha
10
10
  * @returns `true` if the value is undefined, null, or a non-array object with no own enumerable properties; otherwise, `false`.
11
11
  */
12
12
  export declare const isEmptyObjectOrUndefined: (obj: unknown) => boolean;
13
- export declare const BRAND_ADDON_VARIANT: readonly ["double", "single"];
13
+ export declare const BRAND_ADDON_VARIANT: readonly ["100years"];
14
14
  export type BrandAddOnVariant = (typeof BRAND_ADDON_VARIANT)[number];
@@ -3,12 +3,12 @@ import "react/jsx-runtime";
3
3
  import "./chunks/index.CgTHIF3K.js";
4
4
  import "./chunks/index.CEyLAtio.js";
5
5
  import "react";
6
- import { c as u } from "./chunks/CustomReactSelect.iE5iTdez.js";
6
+ import { c as u } from "./chunks/CustomReactSelect.Cqq70QC0.js";
7
7
  import "./chunks/useBreakpoint.CMOR9ZOB.js";
8
8
  import "./asterisk.CR60hx8S.js";
9
- import "./chunks/Icon.DGTYCv63.js";
10
- import "./chunks/SystemFeedback.B9f67mjJ.js";
11
- import "./optioncheckbox.D97W3zeW.js";
9
+ import "./chunks/Icon.NSsVrYeq.js";
10
+ import "./chunks/SystemFeedback.CyGbUCzT.js";
11
+ import "./optioncheckbox.DqfXuPdi.js";
12
12
  export {
13
13
  u as CustomReactSelect
14
14
  };
@@ -3,8 +3,8 @@ import "react/jsx-runtime";
3
3
  import "./chunks/index.CgTHIF3K.js";
4
4
  import "./chunks/index.CEyLAtio.js";
5
5
  import "react";
6
- import "./chunks/Button.B7xF1E19.js";
7
- import { D } from "./chunks/Dialog.B_2pKRnd.js";
6
+ import "./chunks/Button.Cf1CKq8N.js";
7
+ import { D } from "./chunks/Dialog.Bv7k55He.js";
8
8
  export {
9
9
  D as DSDialog
10
10
  };
@@ -3,8 +3,8 @@ import "react/jsx-runtime";
3
3
  import "./chunks/index.CgTHIF3K.js";
4
4
  import "./chunks/index.CEyLAtio.js";
5
5
  import "react";
6
- import "./chunks/Button.B7xF1E19.js";
7
- import { D } from "./chunks/Drawer.HFlBTcqN.js";
6
+ import "./chunks/Button.Cf1CKq8N.js";
7
+ import { D } from "./chunks/Drawer.BVTvx276.js";
8
8
  export {
9
9
  D as DSDrawer
10
10
  };
@@ -4,8 +4,8 @@ import "./chunks/index.CEyLAtio.js";
4
4
  import "react";
5
5
  import "./asterisk.CR60hx8S.js";
6
6
  import "./heading.BXFBZhKv.js";
7
- import "./chunks/SystemFeedback.B9f67mjJ.js";
8
- import { D as l } from "./chunks/Fieldset.CjIfmN_5.js";
7
+ import "./chunks/SystemFeedback.CyGbUCzT.js";
8
+ import { D as l } from "./chunks/Fieldset.D7cLR5ze.js";
9
9
  export {
10
10
  l as DSFieldset
11
11
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { jsx as o, jsxs as I } from "react/jsx-runtime";
3
3
  import { d as P } from "./chunks/index.CgTHIF3K.js";
4
- import { D as k } from "./chunks/Button.B7xF1E19.js";
5
- import { D as u } from "./chunks/Icon.DGTYCv63.js";
6
- import { D as S } from "./chunks/SystemFeedback.B9f67mjJ.js";
4
+ import { D as k } from "./chunks/Button.Cf1CKq8N.js";
5
+ import { D as u } from "./chunks/Icon.NSsVrYeq.js";
6
+ import { D as S } from "./chunks/SystemFeedback.CyGbUCzT.js";
7
7
  import { c as j } from "./chunks/index.CEyLAtio.js";
8
8
  import './assets/filelist.H_wKcSPX.css';const F = new RegExp("([\\p{Ll}\\d])(\\p{Lu})", "gu"), z = new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])", "gu"), y = new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d", "u"), C = /[^\p{L}\d]+/giu, E = "$1\0$2", N = "";
9
9
  function R(t) {
@@ -2,7 +2,7 @@
2
2
  import { jsxs as y, jsx as p } from "react/jsx-runtime";
3
3
  import { d as L } from "./chunks/index.CgTHIF3K.js";
4
4
  import { c as u } from "./chunks/index.CEyLAtio.js";
5
- import { D as w } from "./chunks/Icon.DGTYCv63.js";
5
+ import { D as w } from "./chunks/Icon.NSsVrYeq.js";
6
6
  import './assets/flag.C7i3MAAP.css';const b = "ds-flag_root_14d3h_1", x = "ds-flag_root--color-grey-light_14d3h_28", G = "ds-flag_root--color-yellow-light_14d3h_31", N = "ds-flag_root--color-red-light_14d3h_34", S = "ds-flag_root--color-green-light_14d3h_37", D = "ds-flag_root--color-orange-base_14d3h_40", C = {
7
7
  root: b,
8
8
  "root--color-grey-light": "ds-flag_root--color-grey-light_14d3h_28",
@@ -0,0 +1,87 @@
1
+ "use client";
2
+ import { jsxs as q, jsx as S } from "react/jsx-runtime";
3
+ import { d as J } from "./chunks/index.CgTHIF3K.js";
4
+ import { c as T } from "./chunks/index.CEyLAtio.js";
5
+ import { D as K } from "./chunks/Icon.NSsVrYeq.js";
6
+ import { DSSpinner as M } from "./spinner.BUjhjAvw.js";
7
+ import { Tooltip as $ } from "./tooltip.CUCSRXd3.js";
8
+ import { forwardRef as P } from "react";
9
+ import './assets/floatingactionbutton.l0nvFiJU.css';const Q = "ds-floating-action-button_root_1any0_1", U = "ds-floating-action-button_root--dark_1any0_70", V = "ds-floating-action-button_root--small_1any0_108", W = "ds-floating-action-button_loader_1any0_129", X = "ds-floating-action-button_icon--hidden_1any0_141", Y = "ds-floating-action-button_label--hidden_1any0_145", l = {
10
+ root: Q,
11
+ rootDark: U,
12
+ rootSmall: V,
13
+ loader: W,
14
+ iconHidden: X,
15
+ labelHidden: Y
16
+ }, Z = P((z, B) => {
17
+ const t = J.c(51);
18
+ let s, r, c, n, i, d, p, _, h, g, y, a;
19
+ t[0] !== z ? ({
20
+ aria: s,
21
+ children: r,
22
+ className: c,
23
+ disabled: p,
24
+ iconName: _,
25
+ iconSource: n,
26
+ loading: h,
27
+ size: g,
28
+ theme: y,
29
+ tooltip: a,
30
+ onClick: i,
31
+ ...d
32
+ } = z, t[0] = z, t[1] = s, t[2] = r, t[3] = c, t[4] = n, t[5] = i, t[6] = d, t[7] = p, t[8] = _, t[9] = h, t[10] = g, t[11] = y, t[12] = a) : (s = t[1], r = t[2], c = t[3], n = t[4], i = t[5], d = t[6], p = t[7], _ = t[8], h = t[9], g = t[10], y = t[11], a = t[12]);
33
+ const D = p === void 0 ? !1 : p, N = _ === void 0 ? "placeholder" : _, o = h === void 0 ? !1 : h, G = g === void 0 ? "medium" : g, k = y === void 0 ? "light" : y, E = k === "dark", F = G === "small";
34
+ let C;
35
+ t[13] !== c || t[14] !== E || t[15] !== F ? (C = T(l.root, l.rootIconOnlySmall, c, {
36
+ [l.rootDark]: E,
37
+ [l.rootSmall]: F
38
+ }), t[13] = c, t[14] = E, t[15] = F, t[16] = C) : C = t[16];
39
+ const I = C;
40
+ let H;
41
+ t[17] !== o ? (H = T(l.icon, {
42
+ [l.iconHidden]: o
43
+ }), t[17] = o, t[18] = H) : H = t[18];
44
+ const w = H;
45
+ let v;
46
+ t[19] !== D || t[20] !== o || t[21] !== i ? (v = (e) => {
47
+ if (D || o) {
48
+ e.preventDefault();
49
+ return;
50
+ }
51
+ i && i(e);
52
+ }, t[19] = D, t[20] = o, t[21] = i, t[22] = v) : v = t[22];
53
+ const L = v, R = D || o;
54
+ let m;
55
+ t[23] !== o ? (m = o && /* @__PURE__ */ S(M, { className: l.loader, aria: {
56
+ "aria-label": "Loading state"
57
+ } }), t[23] = o, t[24] = m) : m = t[24];
58
+ let x;
59
+ t[25] === Symbol.for("react.memo_cache_sentinel") ? (x = T(l.label, l.labelHidden), t[25] = x) : x = t[25];
60
+ let f;
61
+ t[26] !== r ? (f = /* @__PURE__ */ S("span", { className: x, children: r }), t[26] = r, t[27] = f) : f = t[27];
62
+ let u;
63
+ t[28] !== w || t[29] !== N || t[30] !== n || t[31] !== k ? (u = (N || n) && /* @__PURE__ */ S(K, { name: N, theme: k, source: n, className: w, "aria-hidden": "true" }), t[28] = w, t[29] = N, t[30] = n, t[31] = k, t[32] = u) : u = t[32];
64
+ let A;
65
+ t[33] !== s || t[34] !== L || t[35] !== o || t[36] !== B || t[37] !== d || t[38] !== I || t[39] !== R || t[40] !== m || t[41] !== f || t[42] !== u ? (A = /* @__PURE__ */ q("button", { className: I, type: "button", onClick: L, ...s, ...d, "aria-disabled": R, "aria-busy": o, ref: B, children: [
66
+ m,
67
+ f,
68
+ u
69
+ ] }), t[33] = s, t[34] = L, t[35] = o, t[36] = B, t[37] = d, t[38] = I, t[39] = R, t[40] = m, t[41] = f, t[42] = u, t[43] = A) : A = t[43];
70
+ const O = A;
71
+ if (a) {
72
+ let e;
73
+ t[44] !== O ? (e = /* @__PURE__ */ S($.Anchor, { children: O }), t[44] = O, t[45] = e) : e = t[45];
74
+ let b;
75
+ t[46] !== a ? (b = /* @__PURE__ */ S($.Content, { children: a }), t[46] = a, t[47] = b) : b = t[47];
76
+ let j;
77
+ return t[48] !== e || t[49] !== b ? (j = /* @__PURE__ */ q($, { placement: "top", tooltipOffset: 6, children: [
78
+ e,
79
+ b
80
+ ] }), t[48] = e, t[49] = b, t[50] = j) : j = t[50], j;
81
+ }
82
+ return O;
83
+ });
84
+ Z.displayName = "DSFloatingActionButton";
85
+ export {
86
+ Z as DSFloatingActionButton
87
+ };
@@ -5,7 +5,7 @@ import "./chunks/index.CEyLAtio.js";
5
5
  import "react";
6
6
  import "./chunks/helpers.BbWkXTr3.js";
7
7
  import "./chunks/useIsomorphicLayoutEffect.CnJ9AMFS.js";
8
- import { a as s, D } from "./chunks/Header.DqZRryB5.js";
8
+ import { a as s, D } from "./chunks/Header.um5MlziB.js";
9
9
  export {
10
10
  s as DSHeader,
11
11
  D as DSHeaderContext
@@ -3,7 +3,7 @@ import "react/jsx-runtime";
3
3
  import "./chunks/index.CgTHIF3K.js";
4
4
  import "./chunks/index.CEyLAtio.js";
5
5
  import "react";
6
- import { D as e } from "./chunks/Icon.DGTYCv63.js";
6
+ import { D as e } from "./chunks/Icon.NSsVrYeq.js";
7
7
  export {
8
8
  e as DSIcon
9
9
  };