@frontify/fondue-components 12.0.0 → 13.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 (142) hide show
  1. package/dist/fondue-components.js +38 -32
  2. package/dist/fondue-components.js.map +1 -1
  3. package/dist/fondue-components10.js +2 -2
  4. package/dist/fondue-components11.js +3 -3
  5. package/dist/fondue-components12.js +2 -2
  6. package/dist/fondue-components13.js +47 -24
  7. package/dist/fondue-components13.js.map +1 -1
  8. package/dist/fondue-components14.js +24 -39
  9. package/dist/fondue-components14.js.map +1 -1
  10. package/dist/fondue-components15.js +37 -64
  11. package/dist/fondue-components15.js.map +1 -1
  12. package/dist/fondue-components16.js +16 -31
  13. package/dist/fondue-components16.js.map +1 -1
  14. package/dist/fondue-components17.js +66 -47
  15. package/dist/fondue-components17.js.map +1 -1
  16. package/dist/fondue-components18.js +36 -132
  17. package/dist/fondue-components18.js.map +1 -1
  18. package/dist/fondue-components19.js +42 -50
  19. package/dist/fondue-components19.js.map +1 -1
  20. package/dist/fondue-components20.js +132 -29
  21. package/dist/fondue-components20.js.map +1 -1
  22. package/dist/fondue-components21.js +51 -143
  23. package/dist/fondue-components21.js.map +1 -1
  24. package/dist/fondue-components22.js +28 -118
  25. package/dist/fondue-components22.js.map +1 -1
  26. package/dist/fondue-components23.js +148 -60
  27. package/dist/fondue-components23.js.map +1 -1
  28. package/dist/fondue-components24.js +112 -49
  29. package/dist/fondue-components24.js.map +1 -1
  30. package/dist/fondue-components25.js +33 -7
  31. package/dist/fondue-components25.js.map +1 -1
  32. package/dist/fondue-components26.js +66 -32
  33. package/dist/fondue-components26.js.map +1 -1
  34. package/dist/fondue-components27.js +7 -5
  35. package/dist/fondue-components27.js.map +1 -1
  36. package/dist/fondue-components28.js +55 -11
  37. package/dist/fondue-components28.js.map +1 -1
  38. package/dist/fondue-components29.js +32 -155
  39. package/dist/fondue-components29.js.map +1 -1
  40. package/dist/fondue-components3.js +2 -2
  41. package/dist/fondue-components30.js +5 -118
  42. package/dist/fondue-components30.js.map +1 -1
  43. package/dist/fondue-components31.js +10 -116
  44. package/dist/fondue-components31.js.map +1 -1
  45. package/dist/fondue-components32.js +147 -13
  46. package/dist/fondue-components32.js.map +1 -1
  47. package/dist/fondue-components33.js +116 -30
  48. package/dist/fondue-components33.js.map +1 -1
  49. package/dist/fondue-components34.js +118 -37
  50. package/dist/fondue-components34.js.map +1 -1
  51. package/dist/fondue-components35.js +20 -129
  52. package/dist/fondue-components35.js.map +1 -1
  53. package/dist/fondue-components36.js +32 -21
  54. package/dist/fondue-components36.js.map +1 -1
  55. package/dist/fondue-components37.js +37 -45
  56. package/dist/fondue-components37.js.map +1 -1
  57. package/dist/fondue-components38.js +130 -13
  58. package/dist/fondue-components38.js.map +1 -1
  59. package/dist/fondue-components39.js +20 -14
  60. package/dist/fondue-components39.js.map +1 -1
  61. package/dist/fondue-components4.js +4 -4
  62. package/dist/fondue-components40.js +45 -60
  63. package/dist/fondue-components40.js.map +1 -1
  64. package/dist/fondue-components41.js +13 -18
  65. package/dist/fondue-components41.js.map +1 -1
  66. package/dist/fondue-components42.js +12 -14
  67. package/dist/fondue-components42.js.map +1 -1
  68. package/dist/fondue-components43.js +60 -5
  69. package/dist/fondue-components43.js.map +1 -1
  70. package/dist/fondue-components44.js +18 -15
  71. package/dist/fondue-components44.js.map +1 -1
  72. package/dist/fondue-components45.js +18 -4
  73. package/dist/fondue-components45.js.map +1 -1
  74. package/dist/fondue-components46.js +5 -35
  75. package/dist/fondue-components46.js.map +1 -1
  76. package/dist/fondue-components47.js +13 -11
  77. package/dist/fondue-components47.js.map +1 -1
  78. package/dist/fondue-components48.js +1 -1
  79. package/dist/fondue-components49.js +18 -24
  80. package/dist/fondue-components49.js.map +1 -1
  81. package/dist/fondue-components5.js +2 -2
  82. package/dist/fondue-components50.js +35 -17
  83. package/dist/fondue-components50.js.map +1 -1
  84. package/dist/fondue-components51.js +6 -141
  85. package/dist/fondue-components51.js.map +1 -1
  86. package/dist/fondue-components52.js +13 -16
  87. package/dist/fondue-components52.js.map +1 -1
  88. package/dist/fondue-components53.js +4 -72
  89. package/dist/fondue-components53.js.map +1 -1
  90. package/dist/fondue-components54.js +25 -8
  91. package/dist/fondue-components54.js.map +1 -1
  92. package/dist/fondue-components55.js +16 -32
  93. package/dist/fondue-components55.js.map +1 -1
  94. package/dist/fondue-components56.js +140 -47
  95. package/dist/fondue-components56.js.map +1 -1
  96. package/dist/fondue-components57.js +16 -11
  97. package/dist/fondue-components57.js.map +1 -1
  98. package/dist/fondue-components58.js +72 -12
  99. package/dist/fondue-components58.js.map +1 -1
  100. package/dist/fondue-components59.js +8 -8
  101. package/dist/fondue-components59.js.map +1 -1
  102. package/dist/fondue-components6.js +5 -5
  103. package/dist/fondue-components60.js +32 -12
  104. package/dist/fondue-components60.js.map +1 -1
  105. package/dist/fondue-components61.js +48 -20
  106. package/dist/fondue-components61.js.map +1 -1
  107. package/dist/fondue-components62.js +11 -15
  108. package/dist/fondue-components62.js.map +1 -1
  109. package/dist/fondue-components63.js +12 -52
  110. package/dist/fondue-components63.js.map +1 -1
  111. package/dist/fondue-components64.js +7 -14
  112. package/dist/fondue-components64.js.map +1 -1
  113. package/dist/fondue-components65.js +12 -17
  114. package/dist/fondue-components65.js.map +1 -1
  115. package/dist/fondue-components66.js +20 -6
  116. package/dist/fondue-components66.js.map +1 -1
  117. package/dist/fondue-components67.js +15 -7
  118. package/dist/fondue-components67.js.map +1 -1
  119. package/dist/fondue-components68.js +53 -2
  120. package/dist/fondue-components68.js.map +1 -1
  121. package/dist/fondue-components69.js +14 -14
  122. package/dist/fondue-components7.js +3 -3
  123. package/dist/fondue-components70.js +25 -38
  124. package/dist/fondue-components70.js.map +1 -1
  125. package/dist/fondue-components71.js +21 -0
  126. package/dist/fondue-components71.js.map +1 -0
  127. package/dist/fondue-components72.js +10 -0
  128. package/dist/fondue-components72.js.map +1 -0
  129. package/dist/fondue-components73.js +10 -0
  130. package/dist/fondue-components73.js.map +1 -0
  131. package/dist/fondue-components74.js +5 -0
  132. package/dist/fondue-components74.js.map +1 -0
  133. package/dist/fondue-components75.js +18 -0
  134. package/dist/fondue-components75.js.map +1 -0
  135. package/dist/fondue-components76.js +42 -0
  136. package/dist/fondue-components76.js.map +1 -0
  137. package/dist/fondue-components8.js +2 -2
  138. package/dist/fondue-components9.js +85 -77
  139. package/dist/fondue-components9.js.map +1 -1
  140. package/dist/index.d.ts +159 -0
  141. package/dist/style.css +1 -1
  142. package/package.json +4 -4
@@ -1,50 +1,69 @@
1
- import { jsxs as l, jsx as t } from "react/jsx-runtime";
2
- import * as i from "@radix-ui/react-toggle-group";
3
- import { forwardRef as n } from "react";
4
- import { useControllableState as N } from "./fondue-components49.js";
5
- import e from "./fondue-components50.js";
6
- const d = ({ children: a, value: o, defaultValue: s, onValueChange: p, ...m }, f) => {
7
- const [g, C] = N({
8
- prop: o,
9
- defaultProp: s,
10
- onChange: p
11
- });
12
- return /* @__PURE__ */ l(
13
- i.Root,
14
- {
15
- ref: f,
16
- ...m,
17
- className: e.root,
18
- onValueChange: (r) => {
19
- r && C(r);
20
- },
21
- value: g,
22
- type: "single",
23
- asChild: !1,
24
- "aria-disabled": m.disabled,
25
- children: [
26
- a,
27
- /* @__PURE__ */ t("div", { className: e.activeIndicator })
28
- ]
29
- }
30
- );
31
- };
32
- d.displayName = "SegmentedControl.Root";
33
- const c = ({ children: a, ...o }, s) => /* @__PURE__ */ l(i.Item, { ref: s, ...o, className: e.item, asChild: !1, children: [
34
- /* @__PURE__ */ t("span", { className: e.separator }),
35
- /* @__PURE__ */ l("span", { className: e.itemLabel, children: [
36
- /* @__PURE__ */ t("span", { className: e.itemLabelActive, children: a }),
37
- /* @__PURE__ */ t("span", { className: e.itemLabelInactive, children: a })
38
- ] })
39
- ] });
40
- c.displayName = "SegmentedControl.Item";
41
- const I = {
42
- Root: n(d),
43
- Item: n(c)
44
- };
1
+ import { jsxs as n, jsx as l } from "react/jsx-runtime";
2
+ import * as o from "@radix-ui/react-scroll-area";
3
+ import { forwardRef as b } from "react";
4
+ import a from "./fondue-components52.js";
5
+ const h = ({
6
+ type: t,
7
+ maxHeight: e = "100%",
8
+ maxWidth: s = "100%",
9
+ showShadow: c = !1,
10
+ children: i,
11
+ "data-test-id": r = "fondue-scroll-area"
12
+ }, m) => /* @__PURE__ */ n(
13
+ o.Root,
14
+ {
15
+ type: t,
16
+ className: a.root,
17
+ style: { maxWidth: s },
18
+ "data-test-id": r,
19
+ ref: m,
20
+ children: [
21
+ /* @__PURE__ */ l(
22
+ o.Viewport,
23
+ {
24
+ className: a.viewport,
25
+ style: { maxHeight: e },
26
+ "data-test-id": `${r}-viewport`,
27
+ "data-show-shadow": c,
28
+ children: i
29
+ }
30
+ ),
31
+ /* @__PURE__ */ l(
32
+ o.Scrollbar,
33
+ {
34
+ className: a.scrollbar,
35
+ orientation: "vertical",
36
+ "data-test-id": `${r}-vertical-scrollbar`,
37
+ children: /* @__PURE__ */ l(
38
+ o.Thumb,
39
+ {
40
+ className: a.thumb,
41
+ "data-test-id": `${r}-vertical-scrollbar-thumb`
42
+ }
43
+ )
44
+ }
45
+ ),
46
+ /* @__PURE__ */ l(
47
+ o.Scrollbar,
48
+ {
49
+ className: a.scrollbar,
50
+ orientation: "horizontal",
51
+ "data-test-id": `${r}-horizontal-scrollbar`,
52
+ children: /* @__PURE__ */ l(
53
+ o.Thumb,
54
+ {
55
+ className: a.thumb,
56
+ "data-test-id": `${r}-horizontal-scrollbar-thumb`
57
+ }
58
+ )
59
+ }
60
+ ),
61
+ /* @__PURE__ */ l(o.Corner, { className: a.corner, "data-test-id": `${r}-corner` })
62
+ ]
63
+ }
64
+ ), d = b(h);
65
+ d.displayName = "ScrollArea";
45
66
  export {
46
- I as SegmentedControl,
47
- c as SegmentedControlItem,
48
- d as SegmentedControlRoot
67
+ d as ScrollArea
49
68
  };
50
69
  //# sourceMappingURL=fondue-components17.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components17.js","sources":["../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport { forwardRef, type ForwardedRef, type ReactNode } from 'react';\n\nimport { useControllableState } from '#/hooks/useControllableState';\n\nimport styles from './styles/segmentedControl.module.scss';\n\nexport type SegmentedControlRootProps = {\n id?: string;\n children: ReactNode;\n /**\n * The default value of the segmented control\n * Used for uncontrolled components\n */\n defaultValue: string;\n /**\n * The controlled value of the segmented control\n */\n value?: string;\n /**\n * Event handler called when the value changes\n */\n onValueChange?: (value: string) => void;\n /**\n * Disable the segmented control\n * @default false\n */\n disabled?: boolean;\n};\n\nexport const SegmentedControlRoot = (\n { children, value: propsValue, defaultValue, onValueChange, ...rootProps }: SegmentedControlRootProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const [value, setValue] = useControllableState({\n prop: propsValue,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <ToggleGroupPrimitive.Root\n ref={ref}\n {...rootProps}\n className={styles.root}\n onValueChange={(value) => {\n if (value) {\n setValue(value);\n }\n }}\n value={value}\n type=\"single\"\n asChild={false}\n aria-disabled={rootProps.disabled}\n >\n {children}\n {/* Active indicator */}\n <div className={styles.activeIndicator} />\n </ToggleGroupPrimitive.Root>\n );\n};\nSegmentedControlRoot.displayName = 'SegmentedControl.Root';\n\ntype SegmentedControlItemProps = {\n children: ReactNode;\n value: string;\n};\n\nexport const SegmentedControlItem = (\n { children, ...itemProps }: SegmentedControlItemProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => (\n <ToggleGroupPrimitive.Item ref={ref} {...itemProps} className={styles.item} asChild={false}>\n {/* Separator */}\n <span className={styles.separator} />\n <span className={styles.itemLabel}>\n {/* Active children */}\n <span className={styles.itemLabelActive}>{children}</span>\n\n {/* Inactive children */}\n <span className={styles.itemLabelInactive}>{children}</span>\n </span>\n </ToggleGroupPrimitive.Item>\n);\nSegmentedControlItem.displayName = 'SegmentedControl.Item';\n\nexport const SegmentedControl = {\n Root: forwardRef<HTMLDivElement, SegmentedControlRootProps>(SegmentedControlRoot),\n Item: forwardRef<HTMLButtonElement, SegmentedControlItemProps>(SegmentedControlItem),\n};\n"],"names":["SegmentedControlRoot","children","propsValue","defaultValue","onValueChange","rootProps","ref","value","setValue","useControllableState","jsxs","ToggleGroupPrimitive","styles","jsx","SegmentedControlItem","itemProps","SegmentedControl","forwardRef"],"mappings":";;;;;AAgCa,MAAAA,IAAuB,CAChC,EAAE,UAAAC,GAAU,OAAOC,GAAY,cAAAC,GAAc,eAAAC,GAAe,GAAGC,EAAU,GACzEC,MACC;AACD,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAqB;AAAA,IAC3C,MAAMP;AAAA,IACN,aAAaC;AAAA,IACb,UAAUC;AAAA,EAAA,CACb;AAGG,SAAA,gBAAAM;AAAA,IAACC,EAAqB;AAAA,IAArB;AAAA,MACG,KAAAL;AAAA,MACC,GAAGD;AAAA,MACJ,WAAWO,EAAO;AAAA,MAClB,eAAe,CAACL,MAAU;AACtB,QAAIA,KACAC,EAASD,CAAK;AAAA,MAEtB;AAAA,MACA,OAAAA;AAAA,MACA,MAAK;AAAA,MACL,SAAS;AAAA,MACT,iBAAeF,EAAU;AAAA,MAExB,UAAA;AAAA,QAAAJ;AAAA,QAEA,gBAAAY,EAAA,OAAA,EAAI,WAAWD,EAAO,gBAAiB,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC5C;AAER;AACAZ,EAAqB,cAAc;AAO5B,MAAMc,IAAuB,CAChC,EAAE,UAAAb,GAAU,GAAGc,EAAA,GACfT,MAEA,gBAAAI,EAACC,EAAqB,MAArB,EAA0B,KAAAL,GAAW,GAAGS,GAAW,WAAWH,EAAO,MAAM,SAAS,IAEjF,UAAA;AAAA,EAAC,gBAAAC,EAAA,QAAA,EAAK,WAAWD,EAAO,UAAW,CAAA;AAAA,EAClC,gBAAAF,EAAA,QAAA,EAAK,WAAWE,EAAO,WAEpB,UAAA;AAAA,IAAA,gBAAAC,EAAC,QAAK,EAAA,WAAWD,EAAO,iBAAkB,UAAAX,GAAS;AAAA,IAGlD,gBAAAY,EAAA,QAAA,EAAK,WAAWD,EAAO,mBAAoB,UAAAX,EAAS,CAAA;AAAA,EAAA,EACzD,CAAA;AAAA,EACJ,CAAA;AAEJa,EAAqB,cAAc;AAE5B,MAAME,IAAmB;AAAA,EAC5B,MAAMC,EAAsDjB,CAAoB;AAAA,EAChF,MAAMiB,EAAyDH,CAAoB;AACvF;"}
1
+ {"version":3,"file":"fondue-components17.js","sources":["../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixScrollArea from '@radix-ui/react-scroll-area';\nimport { type ForwardedRef, forwardRef, type ReactElement, type ReactNode } from 'react';\n\nimport styles from './styles/scrollArea.module.scss';\n\nexport type ScrollAreaProps = {\n /**\n * \"auto\" visible when content is overflowing on the corresponding orientation.\n * \"always\" always visible regardless of whether the content is overflowing.\n * \"scroll\" visible when the user is scrolling along its corresponding orientation.\n * \"hover\" when the user is hovering over the scroll area.\n * @default 'hover'\n */\n type?: 'auto' | 'always' | 'scroll' | 'hover';\n /**\n * Maximum height of the scroll area\n * @default '100%'\n */\n maxHeight?: string | number;\n /**\n * Minimum width of the scroll area\n * @default '100%'\n */\n maxWidth?: string | number;\n /**\n * Determines if a inset shadow should be shown the edge of the component\n */\n showShadow?: boolean;\n 'data-test-id'?: string;\n children: ReactNode;\n};\n\nconst ScrollAreaComponent = (\n {\n type,\n maxHeight = '100%',\n maxWidth = '100%',\n showShadow = false,\n children,\n 'data-test-id': dataTestId = 'fondue-scroll-area',\n }: ScrollAreaProps,\n ref: ForwardedRef<HTMLDivElement>,\n): ReactElement => {\n return (\n <RadixScrollArea.Root\n type={type}\n className={styles.root}\n style={{ maxWidth }}\n data-test-id={dataTestId}\n ref={ref}\n >\n <RadixScrollArea.Viewport\n className={styles.viewport}\n style={{ maxHeight }}\n data-test-id={`${dataTestId}-viewport`}\n data-show-shadow={showShadow}\n >\n {children}\n </RadixScrollArea.Viewport>\n <RadixScrollArea.Scrollbar\n className={styles.scrollbar}\n orientation=\"vertical\"\n data-test-id={`${dataTestId}-vertical-scrollbar`}\n >\n <RadixScrollArea.Thumb\n className={styles.thumb}\n data-test-id={`${dataTestId}-vertical-scrollbar-thumb`}\n />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Scrollbar\n className={styles.scrollbar}\n orientation=\"horizontal\"\n data-test-id={`${dataTestId}-horizontal-scrollbar`}\n >\n <RadixScrollArea.Thumb\n className={styles.thumb}\n data-test-id={`${dataTestId}-horizontal-scrollbar-thumb`}\n />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Corner className={styles.corner} data-test-id={`${dataTestId}-corner`} />\n </RadixScrollArea.Root>\n );\n};\n\nexport const ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>(ScrollAreaComponent);\nScrollArea.displayName = 'ScrollArea';\n"],"names":["ScrollAreaComponent","type","maxHeight","maxWidth","showShadow","children","dataTestId","ref","jsxs","RadixScrollArea","styles","jsx","ScrollArea","forwardRef"],"mappings":";;;;AAkCA,MAAMA,IAAsB,CACxB;AAAA,EACI,MAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,YAAAC,IAAa;AAAA,EACb,UAAAC;AAAA,EACA,gBAAgBC,IAAa;AACjC,GACAC,MAGI,gBAAAC;AAAA,EAACC,EAAgB;AAAA,EAAhB;AAAA,IACG,MAAAR;AAAA,IACA,WAAWS,EAAO;AAAA,IAClB,OAAO,EAAE,UAAAP,EAAS;AAAA,IAClB,gBAAcG;AAAA,IACd,KAAAC;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAI;AAAA,QAACF,EAAgB;AAAA,QAAhB;AAAA,UACG,WAAWC,EAAO;AAAA,UAClB,OAAO,EAAE,WAAAR,EAAU;AAAA,UACnB,gBAAc,GAAGI,CAAU;AAAA,UAC3B,oBAAkBF;AAAA,UAEjB,UAAAC;AAAA,QAAA;AAAA,MACL;AAAA,MACA,gBAAAM;AAAA,QAACF,EAAgB;AAAA,QAAhB;AAAA,UACG,WAAWC,EAAO;AAAA,UAClB,aAAY;AAAA,UACZ,gBAAc,GAAGJ,CAAU;AAAA,UAE3B,UAAA,gBAAAK;AAAA,YAACF,EAAgB;AAAA,YAAhB;AAAA,cACG,WAAWC,EAAO;AAAA,cAClB,gBAAc,GAAGJ,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QAC/B;AAAA,MACJ;AAAA,MACA,gBAAAK;AAAA,QAACF,EAAgB;AAAA,QAAhB;AAAA,UACG,WAAWC,EAAO;AAAA,UAClB,aAAY;AAAA,UACZ,gBAAc,GAAGJ,CAAU;AAAA,UAE3B,UAAA,gBAAAK;AAAA,YAACF,EAAgB;AAAA,YAAhB;AAAA,cACG,WAAWC,EAAO;AAAA,cAClB,gBAAc,GAAGJ,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QAC/B;AAAA,MACJ;AAAA,MACA,gBAAAK,EAACF,EAAgB,QAAhB,EAAuB,WAAWC,EAAO,QAAQ,gBAAc,GAAGJ,CAAU,UAAW,CAAA;AAAA,IAAA;AAAA,EAAA;AAC5F,GAIKM,IAAaC,EAA4Cb,CAAmB;AACzFY,EAAW,cAAc;"}
@@ -1,135 +1,39 @@
1
- import { jsxs as i, jsx as o } from "react/jsx-runtime";
2
- import { IconCaretDown as j, IconCheckMark as E, IconExclamationMarkTriangle as H } from "@frontify/fondue-icons";
3
- import * as g from "@radix-ui/react-popover";
4
- import { Slot as T } from "@radix-ui/react-slot";
5
- import { useSelect as V } from "downshift";
6
- import { forwardRef as $, useRef as A, useState as q } from "react";
7
- import { ForwardedRefCombobox as J } from "./fondue-components51.js";
8
- import { ForwardedRefSelectItem as K, ForwardedRefSelectItemGroup as L } from "./fondue-components52.js";
9
- import { SelectMenu as Q } from "./fondue-components53.js";
10
- import { ForwardedRefSelectSlot as U } from "./fondue-components54.js";
11
- import a from "./fondue-components55.js";
12
- import { useSelectData as W } from "./fondue-components56.js";
13
- const S = ({
14
- children: h,
15
- onSelect: s,
16
- value: I,
17
- defaultValue: b,
18
- placeholder: N = "",
19
- status: l = "neutral",
20
- disabled: m,
21
- alignMenu: C = "start",
22
- side: w = "bottom",
23
- "aria-label": x,
24
- "data-test-id": c = "fondue-select"
25
- }, d) => {
26
- const { inputSlots: R, menuSlots: y, items: F, clearButton: u, getItemByValue: p } = W(h), k = p(b), v = p(I), n = A(!1), [M, f] = q(!1), { getToggleButtonProps: P, getMenuProps: B, getItemProps: G, reset: O, selectedItem: r, isOpen: z, highlightedIndex: D } = V({
27
- items: F,
28
- defaultSelectedItem: k,
29
- selectedItem: v,
30
- onIsOpenChange: () => {
31
- f(!1);
32
- },
33
- onHighlightedIndexChange: () => {
34
- f(!0);
35
- },
36
- onSelectedItemChange: ({ selectedItem: e }) => {
37
- s == null || s((e == null ? void 0 : e.value) ?? null);
38
- },
39
- itemToString: (e) => e ? e.label : ""
40
- });
41
- return /* @__PURE__ */ i(g.Root, { open: z, children: [
42
- /* @__PURE__ */ o(
43
- g.Anchor,
44
- {
45
- asChild: !0,
46
- onMouseDown: (e) => {
47
- n.current = !0, e.currentTarget.dataset.showFocusRing = "false";
48
- },
49
- onFocus: (e) => {
50
- n.current || (e.target.dataset.showFocusRing = "true");
51
- },
52
- onBlur: (e) => {
53
- e.target.dataset.showFocusRing = "false", n.current = !1;
54
- },
55
- children: /* @__PURE__ */ i(
56
- "div",
57
- {
58
- className: a.root,
59
- "data-status": l,
60
- "data-disabled": m,
61
- "data-empty": !r,
62
- "data-test-id": c,
63
- ...m ? {} : P({
64
- "aria-label": x,
65
- ...d ? { ref: d } : {}
66
- }),
67
- children: [
68
- /* @__PURE__ */ o("span", { className: a.selectedValue, children: r ? r.label : N }),
69
- R,
70
- u && /* @__PURE__ */ o(
71
- T,
72
- {
73
- onClick: (e) => {
74
- e.stopPropagation(), O();
75
- },
76
- className: a.clear,
77
- children: u
78
- }
79
- ),
80
- /* @__PURE__ */ i("div", { className: a.icons, children: [
81
- /* @__PURE__ */ o(j, { size: 16, className: a.caret }),
82
- l === "success" ? /* @__PURE__ */ o(
83
- E,
84
- {
85
- size: 16,
86
- className: a.iconSuccess,
87
- "data-test-id": `${c}-success-icon`
88
- }
89
- ) : null,
90
- l === "error" ? /* @__PURE__ */ o(
91
- H,
92
- {
93
- size: 16,
94
- className: a.iconError,
95
- "data-test-id": `${c}-error-icon`
96
- }
97
- ) : null
98
- ] })
99
- ]
100
- }
101
- )
102
- }
103
- ),
104
- /* @__PURE__ */ o(
105
- Q,
106
- {
107
- align: C,
108
- side: w,
109
- highlightedIndex: D,
110
- getMenuProps: B,
111
- getItemProps: G,
112
- selectedItem: r,
113
- hasInteractedSinceOpening: M,
114
- children: y
115
- }
116
- )
117
- ] });
118
- };
119
- S.displayName = "Select";
120
- const X = $(S), t = X;
121
- t.displayName = "Select";
122
- t.Combobox = J;
123
- t.Combobox.displayName = "Select.Combobox";
124
- t.Item = K;
125
- t.Item.displayName = "Select.Item";
126
- t.Group = L;
127
- t.Group.displayName = "Select.Group";
128
- t.Slot = U;
129
- t.Slot.displayName = "Select.Slot";
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { forwardRef as m } from "react";
3
+ import { propsToCssVariables as c } from "./fondue-components29.js";
4
+ import f from "./fondue-components53.js";
5
+ const y = m(
6
+ ({
7
+ "data-test-id": a = "fondue-section",
8
+ children: e,
9
+ role: r,
10
+ "aria-label": i,
11
+ "aria-hidden": o,
12
+ "aria-describedby": d,
13
+ "aria-labelledby": s,
14
+ "aria-expanded": t,
15
+ "aria-haspopup": p,
16
+ ...l
17
+ }, b) => /* @__PURE__ */ n(
18
+ "section",
19
+ {
20
+ className: f.root,
21
+ "data-test-id": a,
22
+ style: c(l),
23
+ role: r,
24
+ "aria-label": i,
25
+ "aria-hidden": o,
26
+ "aria-describedby": d,
27
+ "aria-labelledby": s,
28
+ "aria-expanded": t,
29
+ "aria-haspopup": p,
30
+ ref: b,
31
+ children: e
32
+ }
33
+ )
34
+ );
35
+ y.displayName = "Section";
130
36
  export {
131
- X as ForwardedRefSelect,
132
- t as Select,
133
- S as SelectInput
37
+ y as Section
134
38
  };
135
39
  //# sourceMappingURL=fondue-components18.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components18.js","sources":["../src/components/Select/Select.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCaretDown, IconCheckMark, IconExclamationMarkTriangle } from '@frontify/fondue-icons';\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { Slot as RadixSlot } from '@radix-ui/react-slot';\nimport { useSelect } from 'downshift';\nimport { forwardRef, useRef, useState, type ForwardedRef, type ReactNode } from 'react';\n\nimport { ForwardedRefCombobox } from './Combobox';\nimport { ForwardedRefSelectItem, ForwardedRefSelectItemGroup } from './SelectItem';\nimport { SelectMenu } from './SelectMenu';\nimport { ForwardedRefSelectSlot } from './SelectSlot';\nimport styles from './styles/select.module.scss';\nimport { useSelectData } from './useSelectData';\n\nexport type SelectComponentProps = {\n /**\n * Children of the Select component. This can contain the `Select.Slot` components for the label, decorators, clear action and menu.\n */\n children?: ReactNode;\n /**\n * Callback function that is called when an item is selected.\n */\n onSelect?: (selectedValue: string | null) => void;\n /**\n * The active value in the select component. This is used to control the select externally.\n */\n value?: string | null;\n /**\n * The default value of the select component. Used for uncontrolled usages.\n */\n defaultValue?: string;\n /**\n * The placeholder in the select component.\n */\n placeholder?: string;\n /**\n * Status of the text input\n * @default \"neutral\"\n */\n status?: 'neutral' | 'success' | 'error';\n /**\n * Disables the select component.\n */\n disabled?: boolean;\n /**\n * The alignment of the menu.\n * @default \"start\"\n */\n alignMenu?: 'start' | 'center' | 'end';\n /**\n * Defines the preferred side of the select. It will not be respected if there are collisions with the viewport.\n * @default \"bottom\"\n */\n side?: 'left' | 'right' | 'bottom' | 'top';\n /**\n * The aria label of the select component.\n */\n 'aria-label'?: string;\n /**\n * The data test id of the select component.\n */\n 'data-test-id'?: string;\n};\n\nexport const SelectInput = (\n {\n children,\n onSelect,\n value,\n defaultValue,\n placeholder = '',\n status = 'neutral',\n disabled,\n alignMenu = 'start',\n side = 'bottom',\n 'aria-label': ariaLabel,\n 'data-test-id': dataTestId = 'fondue-select',\n }: SelectComponentProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) => {\n const { inputSlots, menuSlots, items, clearButton, getItemByValue } = useSelectData(children);\n\n const defaultItem = getItemByValue(defaultValue);\n const activeItem = getItemByValue(value);\n\n const wasClicked = useRef(false);\n\n const [hasInteractedSinceOpening, setHasInteractedSinceOpening] = useState(false);\n\n const { getToggleButtonProps, getMenuProps, getItemProps, reset, selectedItem, isOpen, highlightedIndex } =\n useSelect({\n items,\n defaultSelectedItem: defaultItem,\n selectedItem: activeItem,\n onIsOpenChange: () => {\n setHasInteractedSinceOpening(false);\n },\n onHighlightedIndexChange: () => {\n setHasInteractedSinceOpening(true);\n },\n onSelectedItemChange: ({ selectedItem }) => {\n onSelect?.(selectedItem?.value ?? null);\n },\n itemToString: (item) => (item ? item.label : ''),\n });\n\n return (\n <RadixPopover.Root open={isOpen}>\n <RadixPopover.Anchor\n asChild\n onMouseDown={(mouseEvent) => {\n wasClicked.current = true;\n mouseEvent.currentTarget.dataset.showFocusRing = 'false';\n }}\n onFocus={(focusEvent) => {\n if (!wasClicked.current) {\n focusEvent.target.dataset.showFocusRing = 'true';\n }\n }}\n onBlur={(blurEvent) => {\n blurEvent.target.dataset.showFocusRing = 'false';\n wasClicked.current = false;\n }}\n >\n <div\n className={styles.root}\n data-status={status}\n data-disabled={disabled}\n data-empty={!selectedItem}\n data-test-id={dataTestId}\n {...(disabled\n ? {}\n : getToggleButtonProps({\n 'aria-label': ariaLabel,\n ...(forwardedRef ? { ref: forwardedRef } : {}),\n }))}\n >\n <span className={styles.selectedValue}>{selectedItem ? selectedItem.label : placeholder}</span>\n {inputSlots}\n {clearButton && (\n <RadixSlot\n onClick={(event) => {\n event.stopPropagation();\n reset();\n }}\n className={styles.clear}\n >\n {clearButton}\n </RadixSlot>\n )}\n <div className={styles.icons}>\n <IconCaretDown size={16} className={styles.caret} />\n {status === 'success' ? (\n <IconCheckMark\n size={16}\n className={styles.iconSuccess}\n data-test-id={`${dataTestId}-success-icon`}\n />\n ) : null}\n {status === 'error' ? (\n <IconExclamationMarkTriangle\n size={16}\n className={styles.iconError}\n data-test-id={`${dataTestId}-error-icon`}\n />\n ) : null}\n </div>\n </div>\n </RadixPopover.Anchor>\n\n <SelectMenu\n align={alignMenu}\n side={side}\n highlightedIndex={highlightedIndex}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n selectedItem={selectedItem}\n hasInteractedSinceOpening={hasInteractedSinceOpening}\n >\n {menuSlots}\n </SelectMenu>\n </RadixPopover.Root>\n );\n};\nSelectInput.displayName = 'Select';\n\nexport const ForwardedRefSelect = forwardRef<HTMLDivElement, SelectComponentProps>(SelectInput);\n\n// @ts-expect-error We support both Select and Select.Combobox as the Root\nexport const Select: typeof SelectInput & {\n Combobox: typeof ForwardedRefCombobox;\n Item: typeof ForwardedRefSelectItem;\n Group: typeof ForwardedRefSelectItemGroup;\n Slot: typeof ForwardedRefSelectSlot;\n} = ForwardedRefSelect;\nSelect.displayName = 'Select';\nSelect.Combobox = ForwardedRefCombobox;\nSelect.Combobox.displayName = 'Select.Combobox';\nSelect.Item = ForwardedRefSelectItem;\nSelect.Item.displayName = 'Select.Item';\nSelect.Group = ForwardedRefSelectItemGroup;\nSelect.Group.displayName = 'Select.Group';\nSelect.Slot = ForwardedRefSelectSlot;\nSelect.Slot.displayName = 'Select.Slot';\n"],"names":["SelectInput","children","onSelect","value","defaultValue","placeholder","status","disabled","alignMenu","side","ariaLabel","dataTestId","forwardedRef","inputSlots","menuSlots","items","clearButton","getItemByValue","useSelectData","defaultItem","activeItem","wasClicked","useRef","hasInteractedSinceOpening","setHasInteractedSinceOpening","useState","getToggleButtonProps","getMenuProps","getItemProps","reset","selectedItem","isOpen","highlightedIndex","useSelect","item","jsxs","RadixPopover","jsx","mouseEvent","focusEvent","blurEvent","styles","RadixSlot","event","IconCaretDown","IconCheckMark","IconExclamationMarkTriangle","SelectMenu","ForwardedRefSelect","forwardRef","Select","ForwardedRefCombobox","ForwardedRefSelectItem","ForwardedRefSelectItemGroup","ForwardedRefSelectSlot"],"mappings":"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"}
1
+ {"version":3,"file":"fondue-components18.js","sources":["../src/components/Section/Section.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { type Responsive, type LayoutComponentProps } from '#/helpers/layout';\nimport { propsToCssVariables } from '#/helpers/propsToCssVariables';\n\nimport styles from './styles/section.module.scss';\n\nexport type SectionProps = LayoutComponentProps & {\n /**\n * The display property.\n * @default 'block'\n */\n display?: Responsive<'none' | 'block' | 'inline-block' | 'inline'>;\n\n children?: ReactNode;\n 'data-test-id'?: string;\n} & CommonAriaProps;\n\nexport const Section = forwardRef<HTMLDivElement, SectionProps>(\n (\n {\n 'data-test-id': dataTestId = 'fondue-section',\n children,\n role,\n 'aria-label': ariaLabel,\n 'aria-hidden': ariaHidden,\n 'aria-describedby': ariaDescribedBy,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHasPopup,\n ...props\n },\n ref,\n ) => {\n return (\n <section\n className={styles.root}\n data-test-id={dataTestId}\n style={propsToCssVariables(props)}\n role={role}\n aria-label={ariaLabel}\n aria-hidden={ariaHidden}\n aria-describedby={ariaDescribedBy}\n aria-labelledby={ariaLabelledBy}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n ref={ref}\n >\n {children}\n </section>\n );\n },\n);\nSection.displayName = 'Section';\n"],"names":["Section","forwardRef","dataTestId","children","role","ariaLabel","ariaHidden","ariaDescribedBy","ariaLabelledBy","ariaExpanded","ariaHasPopup","props","ref","jsx","styles","propsToCssVariables"],"mappings":";;;;AAqBO,MAAMA,IAAUC;AAAA,EACnB,CACI;AAAA,IACI,gBAAgBC,IAAa;AAAA,IAC7B,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAcC;AAAA,IACd,eAAeC;AAAA,IACf,oBAAoBC;AAAA,IACpB,mBAAmBC;AAAA,IACnB,iBAAiBC;AAAA,IACjB,iBAAiBC;AAAA,IACjB,GAAGC;AAAA,KAEPC,MAGI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC,EAAO;AAAA,MAClB,gBAAcZ;AAAA,MACd,OAAOa,EAAoBJ,CAAK;AAAA,MAChC,MAAAP;AAAA,MACA,cAAYC;AAAA,MACZ,eAAaC;AAAA,MACb,oBAAkBC;AAAA,MAClB,mBAAiBC;AAAA,MACjB,iBAAeC;AAAA,MACf,iBAAeC;AAAA,MACf,KAAAE;AAAA,MAEC,UAAAT;AAAA,IAAA;AAAA,EACL;AAGZ;AACAH,EAAQ,cAAc;"}
@@ -1,58 +1,50 @@
1
- import { jsxs as f, jsx as s } from "react/jsx-runtime";
2
- import * as e from "@radix-ui/react-slider";
3
- import { forwardRef as h, useRef as R } from "react";
4
- import r from "./fondue-components57.js";
5
- const g = ({
6
- value: a,
7
- defaultValue: n = [0],
8
- onChange: i,
9
- onCommit: m,
10
- "data-test-id": c = "fondue-slider",
11
- ...d
12
- }, l) => {
13
- const o = R(null);
14
- return /* @__PURE__ */ f(
15
- e.Root,
1
+ import { jsxs as l, jsx as t } from "react/jsx-runtime";
2
+ import * as i from "@radix-ui/react-toggle-group";
3
+ import { forwardRef as n } from "react";
4
+ import { useControllableState as N } from "./fondue-components54.js";
5
+ import e from "./fondue-components55.js";
6
+ const d = ({ children: a, value: o, defaultValue: s, onValueChange: p, ...m }, f) => {
7
+ const [g, C] = N({
8
+ prop: o,
9
+ defaultProp: s,
10
+ onChange: p
11
+ });
12
+ return /* @__PURE__ */ l(
13
+ i.Root,
16
14
  {
17
- ref: l,
18
- className: r.root,
19
- value: a,
20
- defaultValue: n,
21
- onValueChange: i,
22
- onValueCommit: m,
23
- "data-test-id": c,
24
- ...d,
15
+ ref: f,
16
+ ...m,
17
+ className: e.root,
18
+ onValueChange: (r) => {
19
+ r && C(r);
20
+ },
21
+ value: g,
22
+ type: "single",
23
+ asChild: !1,
24
+ "aria-disabled": m.disabled,
25
25
  children: [
26
- /* @__PURE__ */ s(
27
- e.Track,
28
- {
29
- onPointerDown: () => {
30
- o.current && (o.current.dataset.showFocusRing = "false");
31
- },
32
- className: r.track,
33
- children: /* @__PURE__ */ s(e.Range, { className: r.range })
34
- }
35
- ),
36
- (a || n).map((w, u) => /* @__PURE__ */ s(
37
- e.Thumb,
38
- {
39
- ref: o,
40
- className: r.thumb,
41
- onPointerDown: (t) => {
42
- t.currentTarget.dataset.showFocusRing = "false";
43
- },
44
- onBlur: (t) => {
45
- t.currentTarget.dataset.showFocusRing = "true";
46
- }
47
- },
48
- u
49
- ))
26
+ a,
27
+ /* @__PURE__ */ t("div", { className: e.activeIndicator })
50
28
  ]
51
29
  }
52
30
  );
53
- }, p = h(g);
54
- p.displayName = "Slider";
31
+ };
32
+ d.displayName = "SegmentedControl.Root";
33
+ const c = ({ children: a, ...o }, s) => /* @__PURE__ */ l(i.Item, { ref: s, ...o, className: e.item, asChild: !1, children: [
34
+ /* @__PURE__ */ t("span", { className: e.separator }),
35
+ /* @__PURE__ */ l("span", { className: e.itemLabel, children: [
36
+ /* @__PURE__ */ t("span", { className: e.itemLabelActive, children: a }),
37
+ /* @__PURE__ */ t("span", { className: e.itemLabelInactive, children: a })
38
+ ] })
39
+ ] });
40
+ c.displayName = "SegmentedControl.Item";
41
+ const I = {
42
+ Root: n(d),
43
+ Item: n(c)
44
+ };
55
45
  export {
56
- p as Slider
46
+ I as SegmentedControl,
47
+ c as SegmentedControlItem,
48
+ d as SegmentedControlRoot
57
49
  };
58
50
  //# sourceMappingURL=fondue-components19.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components19.js","sources":["../src/components/Slider/Slider.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixSlider from '@radix-ui/react-slider';\nimport { type ForwardedRef, forwardRef, useRef } from 'react';\n\nimport { type CommonAriaAttrs } from '#/utilities/types';\n\nimport styles from './styles/slider.module.scss';\n\nexport type SliderProps = {\n id?: string;\n name?: string;\n /**\n * The default value of the slider\n * Used for uncontrolled components\n * @default [0]\n */\n defaultValue?: number[];\n /**\n * The controlled value of the slider\n * @default [0]\n */\n value?: number[];\n /**\n * Minimum value of the slider\n * @default 0\n */\n min?: number;\n /**\n * Maximum value of the slider\n * @default 100\n */\n max?: number;\n /**\n * The granularity with which the slider can step through values\n * @default 1\n */\n step?: number;\n /**\n * The minimum steps between thumbs in a range slider\n * @default 0\n */\n minStepsBetweenThumbs?: number;\n /**\n * Disable the slider\n * @default false\n */\n disabled?: boolean;\n onChange?: (value: number[]) => void;\n onCommit?: (value: number[]) => void;\n 'data-test-id'?: string;\n} & CommonAriaAttrs;\n\nconst SliderComponent = (\n {\n value,\n defaultValue = [0],\n onChange,\n onCommit,\n 'data-test-id': dataTestId = 'fondue-slider',\n ...props\n }: SliderProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => {\n const sliderThumbRef = useRef<HTMLSpanElement | null>(null);\n return (\n <RadixSlider.Root\n ref={ref}\n className={styles.root}\n value={value}\n defaultValue={defaultValue}\n onValueChange={onChange}\n onValueCommit={onCommit}\n data-test-id={dataTestId}\n {...props}\n >\n <RadixSlider.Track\n onPointerDown={() => {\n if (sliderThumbRef.current) {\n sliderThumbRef.current.dataset.showFocusRing = 'false';\n }\n }}\n className={styles.track}\n >\n <RadixSlider.Range className={styles.range} />\n </RadixSlider.Track>\n {(value || defaultValue).map((_, index) => (\n <RadixSlider.Thumb\n ref={sliderThumbRef}\n className={styles.thumb}\n onPointerDown={(event) => {\n event.currentTarget.dataset.showFocusRing = 'false';\n }}\n onBlur={(event) => {\n event.currentTarget.dataset.showFocusRing = 'true';\n }}\n key={index}\n />\n ))}\n </RadixSlider.Root>\n );\n};\n\nexport const Slider = forwardRef<HTMLButtonElement, SliderProps>(SliderComponent);\nSlider.displayName = 'Slider';\n"],"names":["SliderComponent","value","defaultValue","onChange","onCommit","dataTestId","props","ref","sliderThumbRef","useRef","jsxs","RadixSlider","styles","jsx","_","index","event","Slider","forwardRef"],"mappings":";;;;AAqDA,MAAMA,IAAkB,CACpB;AAAA,EACI,OAAAC;AAAA,EACA,cAAAC,IAAe,CAAC,CAAC;AAAA,EACjB,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAgBC,IAAa;AAAA,EAC7B,GAAGC;AACP,GACAC,MACC;AACK,QAAAC,IAAiBC,EAA+B,IAAI;AAEtD,SAAA,gBAAAC;AAAA,IAACC,EAAY;AAAA,IAAZ;AAAA,MACG,KAAAJ;AAAA,MACA,WAAWK,EAAO;AAAA,MAClB,OAAAX;AAAA,MACA,cAAAC;AAAA,MACA,eAAeC;AAAA,MACf,eAAeC;AAAA,MACf,gBAAcC;AAAA,MACb,GAAGC;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAO;AAAA,UAACF,EAAY;AAAA,UAAZ;AAAA,YACG,eAAe,MAAM;AACjB,cAAIH,EAAe,YACAA,EAAA,QAAQ,QAAQ,gBAAgB;AAAA,YAEvD;AAAA,YACA,WAAWI,EAAO;AAAA,YAElB,4BAACD,EAAY,OAAZ,EAAkB,WAAWC,EAAO,MAAO,CAAA;AAAA,UAAA;AAAA,QAChD;AAAA,SACEX,KAASC,GAAc,IAAI,CAACY,GAAGC,MAC7B,gBAAAF;AAAA,UAACF,EAAY;AAAA,UAAZ;AAAA,YACG,KAAKH;AAAA,YACL,WAAWI,EAAO;AAAA,YAClB,eAAe,CAACI,MAAU;AAChB,cAAAA,EAAA,cAAc,QAAQ,gBAAgB;AAAA,YAChD;AAAA,YACA,QAAQ,CAACA,MAAU;AACT,cAAAA,EAAA,cAAc,QAAQ,gBAAgB;AAAA,YAAA;AAAA,UAChD;AAAA,UACKD;AAAA,QAEZ,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACL;AAER,GAEaE,IAASC,EAA2ClB,CAAe;AAChFiB,EAAO,cAAc;"}
1
+ {"version":3,"file":"fondue-components19.js","sources":["../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport { forwardRef, type ForwardedRef, type ReactNode } from 'react';\n\nimport { useControllableState } from '#/hooks/useControllableState';\n\nimport styles from './styles/segmentedControl.module.scss';\n\nexport type SegmentedControlRootProps = {\n id?: string;\n children: ReactNode;\n /**\n * The default value of the segmented control\n * Used for uncontrolled components\n */\n defaultValue: string;\n /**\n * The controlled value of the segmented control\n */\n value?: string;\n /**\n * Event handler called when the value changes\n */\n onValueChange?: (value: string) => void;\n /**\n * Disable the segmented control\n * @default false\n */\n disabled?: boolean;\n};\n\nexport const SegmentedControlRoot = (\n { children, value: propsValue, defaultValue, onValueChange, ...rootProps }: SegmentedControlRootProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const [value, setValue] = useControllableState({\n prop: propsValue,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <ToggleGroupPrimitive.Root\n ref={ref}\n {...rootProps}\n className={styles.root}\n onValueChange={(value) => {\n if (value) {\n setValue(value);\n }\n }}\n value={value}\n type=\"single\"\n asChild={false}\n aria-disabled={rootProps.disabled}\n >\n {children}\n {/* Active indicator */}\n <div className={styles.activeIndicator} />\n </ToggleGroupPrimitive.Root>\n );\n};\nSegmentedControlRoot.displayName = 'SegmentedControl.Root';\n\ntype SegmentedControlItemProps = {\n children: ReactNode;\n value: string;\n};\n\nexport const SegmentedControlItem = (\n { children, ...itemProps }: SegmentedControlItemProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => (\n <ToggleGroupPrimitive.Item ref={ref} {...itemProps} className={styles.item} asChild={false}>\n {/* Separator */}\n <span className={styles.separator} />\n <span className={styles.itemLabel}>\n {/* Active children */}\n <span className={styles.itemLabelActive}>{children}</span>\n\n {/* Inactive children */}\n <span className={styles.itemLabelInactive}>{children}</span>\n </span>\n </ToggleGroupPrimitive.Item>\n);\nSegmentedControlItem.displayName = 'SegmentedControl.Item';\n\nexport const SegmentedControl = {\n Root: forwardRef<HTMLDivElement, SegmentedControlRootProps>(SegmentedControlRoot),\n Item: forwardRef<HTMLButtonElement, SegmentedControlItemProps>(SegmentedControlItem),\n};\n"],"names":["SegmentedControlRoot","children","propsValue","defaultValue","onValueChange","rootProps","ref","value","setValue","useControllableState","jsxs","ToggleGroupPrimitive","styles","jsx","SegmentedControlItem","itemProps","SegmentedControl","forwardRef"],"mappings":";;;;;AAgCa,MAAAA,IAAuB,CAChC,EAAE,UAAAC,GAAU,OAAOC,GAAY,cAAAC,GAAc,eAAAC,GAAe,GAAGC,EAAU,GACzEC,MACC;AACD,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAqB;AAAA,IAC3C,MAAMP;AAAA,IACN,aAAaC;AAAA,IACb,UAAUC;AAAA,EAAA,CACb;AAGG,SAAA,gBAAAM;AAAA,IAACC,EAAqB;AAAA,IAArB;AAAA,MACG,KAAAL;AAAA,MACC,GAAGD;AAAA,MACJ,WAAWO,EAAO;AAAA,MAClB,eAAe,CAACL,MAAU;AACtB,QAAIA,KACAC,EAASD,CAAK;AAAA,MAEtB;AAAA,MACA,OAAAA;AAAA,MACA,MAAK;AAAA,MACL,SAAS;AAAA,MACT,iBAAeF,EAAU;AAAA,MAExB,UAAA;AAAA,QAAAJ;AAAA,QAEA,gBAAAY,EAAA,OAAA,EAAI,WAAWD,EAAO,gBAAiB,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC5C;AAER;AACAZ,EAAqB,cAAc;AAO5B,MAAMc,IAAuB,CAChC,EAAE,UAAAb,GAAU,GAAGc,EAAA,GACfT,MAEA,gBAAAI,EAACC,EAAqB,MAArB,EAA0B,KAAAL,GAAW,GAAGS,GAAW,WAAWH,EAAO,MAAM,SAAS,IAEjF,UAAA;AAAA,EAAC,gBAAAC,EAAA,QAAA,EAAK,WAAWD,EAAO,UAAW,CAAA;AAAA,EAClC,gBAAAF,EAAA,QAAA,EAAK,WAAWE,EAAO,WAEpB,UAAA;AAAA,IAAA,gBAAAC,EAAC,QAAK,EAAA,WAAWD,EAAO,iBAAkB,UAAAX,GAAS;AAAA,IAGlD,gBAAAY,EAAA,QAAA,EAAK,WAAWD,EAAO,mBAAoB,UAAAX,EAAS,CAAA;AAAA,EAAA,EACzD,CAAA;AAAA,EACJ,CAAA;AAEJa,EAAqB,cAAc;AAE5B,MAAME,IAAmB;AAAA,EAC5B,MAAMC,EAAsDjB,CAAoB;AAAA,EAChF,MAAMiB,EAAyDH,CAAoB;AACvF;"}