@revikornmann/muka-ui 0.25.0 → 0.27.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 (165) hide show
  1. package/dist/cjs/components/Autocomplete/Autocomplete.css +63 -0
  2. package/dist/cjs/components/Autocomplete/Autocomplete.js +190 -0
  3. package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -0
  4. package/dist/cjs/components/Autocomplete/index.js +6 -0
  5. package/dist/cjs/components/Autocomplete/index.js.map +1 -0
  6. package/dist/cjs/components/Avatar/Avatar.css +79 -30
  7. package/dist/cjs/components/Avatar/Avatar.js +1 -1
  8. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  9. package/dist/cjs/components/Avatar/AvatarGroup.js +4 -3
  10. package/dist/cjs/components/Avatar/AvatarGroup.js.map +1 -1
  11. package/dist/cjs/components/Button/Button.css +33 -0
  12. package/dist/cjs/components/Button/Button.js +2 -2
  13. package/dist/cjs/components/Combobox/Combobox.js +7 -23
  14. package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
  15. package/dist/cjs/components/ContextSelect/ContextSelect.js +2 -2
  16. package/dist/cjs/components/ContextSelect/ContextSelect.js.map +1 -1
  17. package/dist/cjs/components/DataPieChart/DataPieChart.js +5 -2
  18. package/dist/cjs/components/DataPieChart/DataPieChart.js.map +1 -1
  19. package/dist/cjs/components/DataPieChart/index.js.map +1 -1
  20. package/dist/cjs/components/Dialog/Dialog.js +9 -1
  21. package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
  22. package/dist/cjs/components/DropdownSelect/DropdownSelect.js +2 -2
  23. package/dist/cjs/components/DropdownSelect/DropdownSelect.js.map +1 -1
  24. package/dist/cjs/components/InputCounter/InputCounter.css +175 -0
  25. package/dist/cjs/components/InputCounter/InputCounter.js +196 -0
  26. package/dist/cjs/components/InputCounter/InputCounter.js.map +1 -0
  27. package/dist/cjs/components/InputCounter/index.js +11 -0
  28. package/dist/cjs/components/InputCounter/index.js.map +1 -0
  29. package/dist/cjs/components/Menu/Menu.js +26 -11
  30. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  31. package/dist/cjs/components/Popover/Popover.js +10 -8
  32. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  33. package/dist/cjs/components/Tabs/Tabs.css +37 -14
  34. package/dist/cjs/components/Tabs/Tabs.js +30 -10
  35. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  36. package/dist/cjs/components/Tooltip/Tooltip.js +7 -2
  37. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  38. package/dist/cjs/components/index.js +7 -3
  39. package/dist/cjs/components/index.js.map +1 -1
  40. package/dist/cjs/utils/suggestionList.js +27 -0
  41. package/dist/cjs/utils/suggestionList.js.map +1 -0
  42. package/dist/cjs/utils/usePortalContainer.js +33 -0
  43. package/dist/cjs/utils/usePortalContainer.js.map +1 -0
  44. package/dist/esm/components/Autocomplete/Autocomplete.css +63 -0
  45. package/dist/esm/components/Autocomplete/Autocomplete.js +187 -0
  46. package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -0
  47. package/dist/esm/components/Autocomplete/index.js +2 -0
  48. package/dist/esm/components/Autocomplete/index.js.map +1 -0
  49. package/dist/esm/components/Avatar/Avatar.css +79 -30
  50. package/dist/esm/components/Avatar/Avatar.js +1 -1
  51. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  52. package/dist/esm/components/Avatar/AvatarGroup.js +4 -3
  53. package/dist/esm/components/Avatar/AvatarGroup.js.map +1 -1
  54. package/dist/esm/components/Button/Button.css +33 -0
  55. package/dist/esm/components/Button/Button.js +2 -2
  56. package/dist/esm/components/Combobox/Combobox.js +5 -21
  57. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  58. package/dist/esm/components/ContextSelect/ContextSelect.js +2 -2
  59. package/dist/esm/components/ContextSelect/ContextSelect.js.map +1 -1
  60. package/dist/esm/components/DataPieChart/DataPieChart.js +4 -1
  61. package/dist/esm/components/DataPieChart/DataPieChart.js.map +1 -1
  62. package/dist/esm/components/DataPieChart/index.js.map +1 -1
  63. package/dist/esm/components/Dialog/Dialog.js +9 -1
  64. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  65. package/dist/esm/components/DropdownSelect/DropdownSelect.js +2 -2
  66. package/dist/esm/components/DropdownSelect/DropdownSelect.js.map +1 -1
  67. package/dist/esm/components/InputCounter/InputCounter.css +175 -0
  68. package/dist/esm/components/InputCounter/InputCounter.js +160 -0
  69. package/dist/esm/components/InputCounter/InputCounter.js.map +1 -0
  70. package/dist/esm/components/InputCounter/index.js +3 -0
  71. package/dist/esm/components/InputCounter/index.js.map +1 -0
  72. package/dist/esm/components/Menu/Menu.js +26 -11
  73. package/dist/esm/components/Menu/Menu.js.map +1 -1
  74. package/dist/esm/components/Popover/Popover.js +10 -5
  75. package/dist/esm/components/Popover/Popover.js.map +1 -1
  76. package/dist/esm/components/Tabs/Tabs.css +37 -14
  77. package/dist/esm/components/Tabs/Tabs.js +30 -10
  78. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  79. package/dist/esm/components/Tooltip/Tooltip.js +7 -2
  80. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  81. package/dist/esm/components/index.js +2 -0
  82. package/dist/esm/components/index.js.map +1 -1
  83. package/dist/esm/utils/suggestionList.js +22 -0
  84. package/dist/esm/utils/suggestionList.js.map +1 -0
  85. package/dist/esm/utils/usePortalContainer.js +29 -0
  86. package/dist/esm/utils/usePortalContainer.js.map +1 -0
  87. package/dist/styles/components/Autocomplete.css +63 -0
  88. package/dist/styles/components/Avatar.css +79 -30
  89. package/dist/styles/components/Button.css +33 -0
  90. package/dist/styles/components/InputCounter.css +175 -0
  91. package/dist/styles/components/Tabs.css +37 -14
  92. package/dist/styles/index.css +1150 -758
  93. package/dist/styles/muka-dark.css +1150 -758
  94. package/dist/styles/muka-light.css +1150 -758
  95. package/dist/styles/tokens-bouwplan-dark.css +48 -5
  96. package/dist/styles/tokens-bouwplan-light.css +48 -5
  97. package/dist/styles/tokens-fscl-dark.css +48 -5
  98. package/dist/styles/tokens-fscl-light.css +48 -5
  99. package/dist/styles/tokens-grip-dark.css +48 -5
  100. package/dist/styles/tokens-grip-light.css +48 -5
  101. package/dist/styles/tokens-muka-dark.css +48 -5
  102. package/dist/styles/tokens-muka-light.css +48 -5
  103. package/dist/styles/tokens-wireframe-dark.css +48 -5
  104. package/dist/styles/tokens-wireframe-light.css +48 -5
  105. package/dist/styles/wireframe-dark.css +1150 -758
  106. package/dist/styles/wireframe-light.css +1150 -758
  107. package/dist/types/components/Autocomplete/Autocomplete.d.ts +105 -0
  108. package/dist/types/components/Autocomplete/Autocomplete.d.ts.map +1 -0
  109. package/dist/types/components/Autocomplete/index.d.ts +2 -0
  110. package/dist/types/components/Autocomplete/index.d.ts.map +1 -0
  111. package/dist/types/components/Avatar/Avatar.d.ts +8 -3
  112. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
  113. package/dist/types/components/Avatar/AvatarGroup.d.ts +10 -5
  114. package/dist/types/components/Avatar/AvatarGroup.d.ts.map +1 -1
  115. package/dist/types/components/Avatar/index.d.ts +1 -1
  116. package/dist/types/components/Avatar/index.d.ts.map +1 -1
  117. package/dist/types/components/Button/Button.d.ts +3 -3
  118. package/dist/types/components/Button/Button.d.ts.map +1 -1
  119. package/dist/types/components/Combobox/Combobox.d.ts +2 -2
  120. package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
  121. package/dist/types/components/ContextSelect/ContextSelect.d.ts +6 -0
  122. package/dist/types/components/ContextSelect/ContextSelect.d.ts.map +1 -1
  123. package/dist/types/components/DataPieChart/DataPieChart.d.ts +13 -2
  124. package/dist/types/components/DataPieChart/DataPieChart.d.ts.map +1 -1
  125. package/dist/types/components/DataPieChart/index.d.ts +1 -1
  126. package/dist/types/components/DataPieChart/index.d.ts.map +1 -1
  127. package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
  128. package/dist/types/components/DropdownSelect/DropdownSelect.d.ts +6 -0
  129. package/dist/types/components/DropdownSelect/DropdownSelect.d.ts.map +1 -1
  130. package/dist/types/components/InputCounter/InputCounter.d.ts +79 -0
  131. package/dist/types/components/InputCounter/InputCounter.d.ts.map +1 -0
  132. package/dist/types/components/InputCounter/index.d.ts +3 -0
  133. package/dist/types/components/InputCounter/index.d.ts.map +1 -0
  134. package/dist/types/components/Menu/Menu.d.ts +4 -4
  135. package/dist/types/components/Menu/Menu.d.ts.map +1 -1
  136. package/dist/types/components/Popover/Popover.d.ts +12 -0
  137. package/dist/types/components/Popover/Popover.d.ts.map +1 -1
  138. package/dist/types/components/Tabs/Tabs.d.ts +17 -2
  139. package/dist/types/components/Tabs/Tabs.d.ts.map +1 -1
  140. package/dist/types/components/Tooltip/Tooltip.d.ts +6 -0
  141. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  142. package/dist/types/components/index.d.ts +4 -2
  143. package/dist/types/components/index.d.ts.map +1 -1
  144. package/dist/types/utils/suggestionList.d.ts +13 -0
  145. package/dist/types/utils/suggestionList.d.ts.map +1 -0
  146. package/dist/types/utils/usePortalContainer.d.ts +19 -0
  147. package/dist/types/utils/usePortalContainer.d.ts.map +1 -0
  148. package/docs/consumers/README.md +2 -2
  149. package/package.json +1 -1
  150. package/tokens/t1-primitives/color.json +10 -0
  151. package/tokens/t2-alias/base.json +14 -0
  152. package/tokens/t2-alias/brand/bouwplan/dark.json +5 -0
  153. package/tokens/t2-alias/brand/bouwplan/light.json +5 -0
  154. package/tokens/t2-alias/brand/fscl/dark.json +5 -0
  155. package/tokens/t2-alias/brand/fscl/light.json +5 -0
  156. package/tokens/t2-alias/brand/grip/dark.json +14 -0
  157. package/tokens/t2-alias/brand/grip/light.json +14 -0
  158. package/tokens/t2-alias/brand/muka/dark.json +14 -0
  159. package/tokens/t2-alias/brand/muka/light.json +14 -0
  160. package/tokens/t2-alias/brand/wireframe/dark.json +14 -0
  161. package/tokens/t2-alias/brand/wireframe/light.json +14 -0
  162. package/tokens/t3-semantics/ui.json +49 -2
  163. package/tokens/t4-components/avatar.json +82 -18
  164. package/tokens/t4-components/button.json +56 -0
  165. package/tokens/t4-components/tabs.json +41 -1
@@ -0,0 +1,105 @@
1
+ import React from 'react';
2
+ import '../Input/Input.css';
3
+ import './Autocomplete.css';
4
+ export interface AutocompleteOption<T = unknown> {
5
+ /** Stable id (e.g. a geocoder result id) */
6
+ value: string;
7
+ /** Single-line text shown in the menu and written into the field on select */
8
+ label: string;
9
+ /** Disabled (non-selectable) */
10
+ disabled?: boolean;
11
+ /** Opaque payload handed back in `onSelect` (coordinates, postcode, …) */
12
+ data?: T;
13
+ }
14
+ /**
15
+ * Why the text changed: the user typed (`input`), picked a suggestion
16
+ * (`select`), or pressed the clear button (`clear`). Skip fetching on
17
+ * `select` and `clear`.
18
+ */
19
+ export type AutocompleteInputChangeReason = 'input' | 'select' | 'clear';
20
+ export interface AutocompleteProps<T = unknown> {
21
+ /** Field text (controlled). Free text is always a valid value. */
22
+ value: string;
23
+ /** Called on every change of the text. Debounce and fetch on `reason === 'input'`. */
24
+ onInputChange: (text: string, reason: AutocompleteInputChangeReason) => void;
25
+ /** Suggestions, rendered in the order given (no client-side filtering by default). */
26
+ options: AutocompleteOption<T>[];
27
+ /** Called with the full option when a suggestion is picked. */
28
+ onSelect?: (option: AutocompleteOption<T>) => void;
29
+ /**
30
+ * A request for new suggestions is in flight. Options already shown stay
31
+ * visible; with no options a loading row is shown in the menu.
32
+ */
33
+ loading?: boolean;
34
+ /** Minimum text length before the menu opens. Default: 1 */
35
+ minChars?: number;
36
+ /** Shown in the menu when the text is long enough, nothing is loading and there are no options. */
37
+ emptyMessage?: React.ReactNode;
38
+ /**
39
+ * Optional client-side filter for static lists. Receives the option and the
40
+ * lowercased, trimmed text. Default: `false` (options shown as given).
41
+ */
42
+ filter?: false | ((option: AutocompleteOption<T>, query: string) => boolean);
43
+ /** Content below the suggestions, e.g. a data attribution. */
44
+ menuFooter?: React.ReactNode;
45
+ /** Show a trailing clear button while the field has text. Default: true */
46
+ clearable?: boolean;
47
+ /** Accessible name of the clear button. Default: 'Clear' */
48
+ clearLabel?: string;
49
+ /** Loading row text, also announced to screen readers. Default: 'Loading suggestions' */
50
+ loadingLabel?: string;
51
+ /** Screen reader announcement for the number of suggestions. Default: `${count} suggestions` */
52
+ resultsLabel?: (count: number) => string;
53
+ /** Placeholder text */
54
+ placeholder?: string;
55
+ /** Label text above the field */
56
+ label?: string;
57
+ /** Helper text below the field */
58
+ helperText?: string;
59
+ /** Error state */
60
+ error?: boolean;
61
+ /** Error message (shown when error is true) */
62
+ errorMessage?: string;
63
+ /** Disabled state */
64
+ disabled?: boolean;
65
+ /** Read-only state (no menu) */
66
+ readOnly?: boolean;
67
+ /** Size variant. Default: 'md' */
68
+ size?: 'sm' | 'md' | 'lg';
69
+ /** Full width */
70
+ fullWidth?: boolean;
71
+ /** Optional leading icon. None by default. */
72
+ iconLeft?: React.ReactNode;
73
+ /** Form name */
74
+ name?: string;
75
+ /** HTML id (falls back to name, then a generated id) */
76
+ id?: string;
77
+ /** Required field */
78
+ required?: boolean;
79
+ /** Additional CSS classes on the root */
80
+ className?: string;
81
+ /** Accessible label when there is no visible label */
82
+ 'aria-label'?: string;
83
+ /** Called when focus leaves the field and its menu. */
84
+ onBlur?: (event: React.FocusEvent) => void;
85
+ /** Called when the text field receives focus. */
86
+ onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
87
+ /**
88
+ * Element to portal the suggestion menu into. Defaults to the enclosing
89
+ * `<dialog>` when there is one (so it stays interactive inside a Dialog),
90
+ * otherwise `document.body`.
91
+ */
92
+ portalContainer?: HTMLElement | null;
93
+ }
94
+ /**
95
+ * Autocomplete — single-value free-input text field with a suggestion Menu.
96
+ *
97
+ * Matches Figma "Input Autocomplete". The consumer supplies the suggestions
98
+ * (typically fetched as the user types); picking one writes its label into
99
+ * the field. Typed text that matches nothing is kept as is.
100
+ *
101
+ * For multiple values as chips, use `Combobox`.
102
+ */
103
+ export declare function Autocomplete<T = unknown>({ value, onInputChange, options, onSelect, loading, minChars, emptyMessage, filter, menuFooter, clearable, clearLabel, loadingLabel, resultsLabel, placeholder, label, helperText, error, errorMessage, disabled, readOnly, size, fullWidth, iconLeft, name, id, required, className, 'aria-label': ariaLabel, onBlur, onFocus, portalContainer, }: AutocompleteProps<T>): React.JSX.Element;
104
+ export default Autocomplete;
105
+ //# sourceMappingURL=Autocomplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Autocomplete, type AutocompleteProps, type AutocompleteOption, type AutocompleteInputChangeReason, } from './Autocomplete';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/Autocomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,6BAA6B,GACnC,MAAM,gBAAgB,CAAC"}
@@ -1,5 +1,10 @@
1
1
  import React from 'react';
2
2
  import './Avatar.css';
3
+ /**
4
+ * Avatar sizes, smallest to largest: 4xs 16 · 3xs 24 · 2xs 32 · xs 40 · sm 48 ·
5
+ * md 64 · lg 80 · xl 112 (px).
6
+ */
7
+ export type AvatarSize = '4xs' | '3xs' | '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
3
8
  export interface AvatarProps {
4
9
  /** Image source URL */
5
10
  src?: string;
@@ -9,8 +14,8 @@ export interface AvatarProps {
9
14
  icon?: React.ReactNode;
10
15
  /** Name for generating initials */
11
16
  name?: string;
12
- /** Size variant */
13
- size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
17
+ /** Size variant. `4xs` shows the picture only (no initials or status). */
18
+ size?: AvatarSize;
14
19
  /** Shape variant */
15
20
  shape?: 'circle' | 'square';
16
21
  /** Status indicator */
@@ -34,7 +39,7 @@ export interface AvatarProps {
34
39
  * 4. Default icon - Generic user icon
35
40
  *
36
41
  * Features:
37
- * - 5 sizes: xs, sm, md, lg, xl
42
+ * - 8 sizes: 4xs (16px) to xl (112px)
38
43
  * - 2 shapes: circle, square
39
44
  * - Status indicators: online, offline, busy, away
40
45
  * - Loading and error states
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAExC,oBAAoB;IACpB,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAE5B,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAEhD,gCAAgC;IAChC,cAAc,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IAE9C,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAaD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA0IxC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,cAAc,CAAC;AAEtB;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAElF,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,0EAA0E;IAC1E,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,oBAAoB;IACpB,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAE5B,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAEhD,gCAAgC;IAChC,cAAc,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IAE9C,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAaD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA0IxC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import type { AvatarSize } from './Avatar';
2
3
  import './Avatar.css';
3
4
  export interface AvatarGroupProps {
4
5
  /** Avatar components to display */
@@ -6,9 +7,12 @@ export interface AvatarGroupProps {
6
7
  /** Maximum number of avatars to show (rest show as "+N") */
7
8
  max?: number;
8
9
  /** Size of all avatars in group */
9
- size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
10
- /** Spacing/overlap between avatars */
11
- spacing?: 'tight' | 'normal';
10
+ size?: AvatarSize;
11
+ /**
12
+ * How far the avatars overlap: `tight` (two thirds of an avatar), `compact`
13
+ * (half) or `spacious` (a third).
14
+ */
15
+ spacing?: 'tight' | 'compact' | 'spacious';
12
16
  /** Additional CSS classes */
13
17
  className?: string;
14
18
  /** Accessible label for the group */
@@ -17,12 +21,13 @@ export interface AvatarGroupProps {
17
21
  /**
18
22
  * AvatarGroup Component
19
23
  *
20
- * Displays a horizontal stack of avatars with overlap.
24
+ * Displays a horizontal stack of avatars with overlap (Figma "Avatar Stack").
25
+ * Each avatar gets a ring in the surface colour so the overlap reads clearly.
21
26
  * When there are more avatars than `max`, shows remaining count as "+N".
22
27
  *
23
28
  * Features:
24
29
  * - Configurable max visible avatars
25
- * - Two spacing modes: tight, normal
30
+ * - Three spacing modes: tight, compact, spacious
26
31
  * - Size propagation to child avatars
27
32
  * - Overflow counter display
28
33
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../../components/Avatar/AvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAExC,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAE7B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoElD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../../components/Avatar/AvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IAE3C,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoElD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { Avatar } from './Avatar';
2
- export type { AvatarProps } from './Avatar';
2
+ export type { AvatarProps, AvatarSize } from './Avatar';
3
3
  export { AvatarGroup } from './AvatarGroup';
4
4
  export type { AvatarGroupProps } from './AvatarGroup';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/Avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/Avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -4,7 +4,7 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElemen
4
4
  /** Button content */
5
5
  children: React.ReactNode;
6
6
  /** Button variant - like Figma component variants */
7
- variant?: 'primary' | 'secondary' | 'tertiary' | 'ghost' | 'muted';
7
+ variant?: 'primary' | 'secondary' | 'tertiary' | 'ghost' | 'muted' | 'destructive';
8
8
  /** Size variant - matches your token system */
9
9
  size?: 'sm' | 'md' | 'lg' | 'xl';
10
10
  /** Disabled state */
@@ -26,8 +26,8 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElemen
26
26
  * Button Component
27
27
  *
28
28
  * Built using the Muka design token system with support for:
29
- * - 5 variants: primary, secondary, tertiary, ghost, muted
30
- * - 3 sizes: sm, md, lg
29
+ * - 6 variants: primary, secondary, tertiary, ghost, muted, destructive
30
+ * - 4 sizes: sm, md, lg, xl
31
31
  * - Interactive states: default, hover, pressed, disabled
32
32
  * - Icons with flexible positioning (left, right, or both)
33
33
  * - Icon-only buttons (label can be hidden)
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../components/Button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF,qBAAqB;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,qDAAqD;IACrD,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;IAEnE,+CAA+C;IAC/C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAEjC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAErC,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,0BAA0B;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,uFAyGlB,CAAC;AAIF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../components/Button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF,qBAAqB;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,qDAAqD;IACrD,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,CAAC;IAEnF,+CAA+C;IAC/C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAEjC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAErC,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,0BAA0B;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,uFAyGlB,CAAC;AAIF,eAAe,MAAM,CAAC"}
@@ -62,8 +62,8 @@ export interface ComboboxProps {
62
62
  className?: string;
63
63
  /**
64
64
  * Element to portal the suggestion menu into. Defaults to the enclosing
65
- * `<dialog>` when there is one (so it stays interactive inside a Dialog),
66
- * otherwise `document.body`.
65
+ * `Dialog` (or closest native `<dialog>`) so it stays interactive inside
66
+ * one, otherwise `document.body`.
67
67
  */
68
68
  portalContainer?: HTMLElement | null;
69
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../../components/Combobox/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuE,MAAM,OAAO,CAAC;AAQ5F,OAAO,gBAAgB,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEpC;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAE3B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAE5D,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AA+BD;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAkX5C,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../../components/Combobox/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAU3E,OAAO,gBAAgB,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEpC;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAE3B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAE5D,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AAYD;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA+W5C,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -47,6 +47,12 @@ export interface ContextSelectProps {
47
47
  'aria-label'?: string;
48
48
  /** Additional CSS classes on the root */
49
49
  className?: string;
50
+ /**
51
+ * Element to portal the menu into. Defaults to the enclosing `Dialog` (or
52
+ * closest native `<dialog>`) so it stays usable inside one, otherwise
53
+ * `document.body`.
54
+ */
55
+ portalContainer?: HTMLElement | null;
50
56
  }
51
57
  /**
52
58
  * ContextSelect — split control for contextual navigation.
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSelect.d.ts","sourceRoot":"","sources":["../../../../components/ContextSelect/ContextSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAUjD,OAAO,qBAAqB,CAAC;AAE7B,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC5C,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,yBAAyB;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmItD,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ContextSelect.d.ts","sourceRoot":"","sources":["../../../../components/ContextSelect/ContextSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAUjD,OAAO,qBAAqB,CAAC;AAE7B,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC5C,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,yBAAyB;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqItD,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,5 +1,13 @@
1
1
  import React from 'react';
2
2
  import './DataPieChart.css';
3
+ /** Named sizes from the Figma "Data Pie Chart" variants, in pixels. */
4
+ export declare const DATA_PIE_CHART_SIZES: {
5
+ readonly xs: 24;
6
+ readonly sm: 40;
7
+ readonly md: 64;
8
+ readonly lg: 120;
9
+ };
10
+ export type DataPieChartSize = keyof typeof DATA_PIE_CHART_SIZES;
3
11
  export interface DataPieChartProps {
4
12
  /** The portion to fill, expressed against `max` */
5
13
  value: number;
@@ -7,8 +15,11 @@ export interface DataPieChartProps {
7
15
  max?: number;
8
16
  /** Visual style: hollow donut or solid pie */
9
17
  variant?: 'donut' | 'pie';
10
- /** Diameter in pixels (Figma default: 120) */
11
- size?: number;
18
+ /**
19
+ * Diameter: a named size (`xs` 24, `sm` 40, `md` 64, `lg` 120) or any number of
20
+ * pixels. Defaults to `lg` (120).
21
+ */
22
+ size?: DataPieChartSize | number;
12
23
  /** Filled-segment color (any CSS color or var()); defaults to the accent color */
13
24
  color?: string;
14
25
  /** Track (remainder) color; defaults to surface level 0 */
@@ -1 +1 @@
1
- {"version":3,"file":"DataPieChart.d.ts","sourceRoot":"","sources":["../../../../components/DataPieChart/DataPieChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,oBAAoB,CAAC;AAE5B,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IAEd,0FAA0F;IAC1F,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAE1B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAQD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8GpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"DataPieChart.d.ts","sourceRoot":"","sources":["../../../../components/DataPieChart/DataPieChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,oBAAoB,CAAC;AAE5B,uEAAuE;AACvE,eAAO,MAAM,oBAAoB;;;;;CAA+C,CAAC;AAEjF,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IAEd,0FAA0F;IAC1F,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAE1B;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAEjC,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAQD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA+GpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,3 +1,3 @@
1
- export { DataPieChart, type DataPieChartProps } from './DataPieChart';
1
+ export { DataPieChart, type DataPieChartProps, type DataPieChartSize } from './DataPieChart';
2
2
  export { default } from './DataPieChart';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/DataPieChart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/DataPieChart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAKzF,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IAEd,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,iCAAiC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,iFAAiF;IACjF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0DAA0D;IAC1D,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,kEAAkE;IAClE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC,iDAAiD;IACjD,aAAa,CAAC,EAAE,SAAS,GAAG,kBAAkB,CAAC;IAE/C;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEpC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAElC,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEnC,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,sEAAsE;IACtE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAErB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyDD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAkSxC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAMzF,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IAEd,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,iCAAiC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,iFAAiF;IACjF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0DAA0D;IAC1D,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,kEAAkE;IAClE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC,iDAAiD;IACjD,aAAa,CAAC,EAAE,SAAS,GAAG,kBAAkB,CAAC;IAE/C;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEpC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAElC,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEnC,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,sEAAsE;IACtE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAErB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyDD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA2SxC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -55,6 +55,12 @@ export interface DropdownSelectProps {
55
55
  'aria-label'?: string;
56
56
  /** Additional CSS classes on the root */
57
57
  className?: string;
58
+ /**
59
+ * Element to portal the menu into. Defaults to the enclosing `Dialog` (or
60
+ * closest native `<dialog>`) so it stays usable inside one, otherwise
61
+ * `document.body`.
62
+ */
63
+ portalContainer?: HTMLElement | null;
58
64
  }
59
65
  /**
60
66
  * DropdownSelect — form select built on Menu (Figma "Dropdown Menu").
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownSelect.d.ts","sourceRoot":"","sources":["../../../../components/DropdownSelect/DropdownSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAY3E,OAAO,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAE7C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE1B,wCAAwC;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAEnD,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,yBAAyB;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAyPxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"DropdownSelect.d.ts","sourceRoot":"","sources":["../../../../components/DropdownSelect/DropdownSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAY3E,OAAO,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAE7C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE1B,wCAAwC;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAEnD,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,yBAAyB;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2PxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,79 @@
1
+ import React from 'react';
2
+ import '../Input/Input.css';
3
+ import './InputCounter.css';
4
+ export interface InputCounterProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'value' | 'defaultValue' | 'onChange' | 'min' | 'max' | 'step' | 'prefix'> {
5
+ /** Current value (controlled) */
6
+ value?: number;
7
+ /** Initial value (uncontrolled). Defaults to `min`, or 0. */
8
+ defaultValue?: number;
9
+ /**
10
+ * Change handler — receives the new number. Fires on a button press, an
11
+ * arrow/Page/Home/End key, and when a typed value is committed (blur or Enter),
12
+ * always clamped to `min`/`max` and snapped to `step`.
13
+ */
14
+ onChange?: (value: number) => void;
15
+ /** Minimum value — the decrement button disables at this value */
16
+ min?: number;
17
+ /** Maximum value — the increment button disables at this value */
18
+ max?: number;
19
+ /** Step per button press or arrow key. PageUp/PageDown step 10×. */
20
+ step?: number;
21
+ /** Label text displayed above the field (Figma "Label") */
22
+ label?: string;
23
+ /** Show an "Optional" hint next to the label */
24
+ optional?: boolean;
25
+ /** Text for the optional hint */
26
+ optionalText?: string;
27
+ /** Tooltip content, shown from an info button next to the label */
28
+ tooltip?: React.ReactNode;
29
+ /** Accessible label for the info button */
30
+ tooltipLabel?: string;
31
+ /** Helper text displayed below the field */
32
+ helperText?: string;
33
+ /** Error state */
34
+ error?: boolean;
35
+ /** Error message (shown when error is true) */
36
+ errorMessage?: string;
37
+ /** Disabled state */
38
+ disabled?: boolean;
39
+ /** Read-only state — the value can be focused and copied but not changed */
40
+ readOnly?: boolean;
41
+ /** Required field */
42
+ required?: boolean;
43
+ /** Size variant — matches the token system */
44
+ size?: 'sm' | 'md' | 'lg';
45
+ /** Accessible label for the decrement button */
46
+ decrementLabel?: string;
47
+ /** Accessible label for the increment button */
48
+ incrementLabel?: string;
49
+ /** Additional CSS classes (applied to the wrapper, not the native input) */
50
+ className?: string;
51
+ /** HTML id attribute (falls back to name, then a generated id) */
52
+ id?: string;
53
+ /** HTML name attribute */
54
+ name?: string;
55
+ /** Blur handler (called after the typed value is committed). */
56
+ onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
57
+ /** Focus handler. */
58
+ onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;
59
+ }
60
+ /**
61
+ * InputCounter Component
62
+ *
63
+ * A compact numeric field with joined decrement/increment buttons, for small
64
+ * whole quantities (amounts, guests, items). Follows the WAI-ARIA spinbutton
65
+ * pattern: the field is the single tab stop and owns the keyboard; the buttons
66
+ * are pointer shortcuts.
67
+ *
68
+ * Tokens used:
69
+ * - input.field.color.{state}.{background|foreground|border}
70
+ * - input.field.radius.{md|lg} / input.field.height.{size}
71
+ * - button.color.secondary.* (via Button)
72
+ * - shadow.sunken / color.border.default
73
+ * - text.input.{size} / text.label.md.semibold / text.label.sm.regular
74
+ *
75
+ * @see https://www.w3.org/WAI/ARIA/apg/patterns/spinbutton/
76
+ */
77
+ export declare const InputCounter: React.ForwardRefExoticComponent<InputCounterProps & React.RefAttributes<HTMLInputElement>>;
78
+ export default InputCounter;
79
+ //# sourceMappingURL=InputCounter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputCounter.d.ts","sourceRoot":"","sources":["../../../../components/InputCounter/InputCounter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAMvD,OAAO,oBAAoB,CAAC;AAC5B,OAAO,oBAAoB,CAAC;AAE5B,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAC5F;IACD,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,mEAAmE;IACnE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,kEAAkE;IAClE,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gEAAgE;IAChE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAEzD,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC3D;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,4FA8QxB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { InputCounter, type InputCounterProps } from './InputCounter';
2
+ export { default } from './InputCounter';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/InputCounter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -92,9 +92,9 @@ export interface MenuContentProps {
92
92
  /** Show the custom Figma scrollbar when content overflows */
93
93
  scrollbar?: boolean;
94
94
  /**
95
- * Element to portal the menu into. Defaults to `document.body`. Pass the
96
- * surrounding `<dialog>` when the menu is used inside a Dialog: the native
97
- * top layer makes everything outside the dialog inert.
95
+ * Element to portal the menu into. Defaults to the enclosing `Dialog` (or
96
+ * closest native `<dialog>`) so the menu stays usable in the top layer —
97
+ * which makes everything outside the dialog inert — otherwise `document.body`.
98
98
  */
99
99
  container?: HTMLElement | null;
100
100
  }
@@ -275,7 +275,7 @@ export interface MenuSubContentProps {
275
275
  className?: string;
276
276
  /** Whether to loop focus within the submenu */
277
277
  loop?: boolean;
278
- /** Element to portal the submenu into. Defaults to `document.body`. */
278
+ /** Element to portal the submenu into. Defaults to the parent menu's container. */
279
279
  container?: HTMLElement | null;
280
280
  }
281
281
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../components/Menu/Menu.tsx"],"names":[],"mappings":"AAEA,OAAO,KASN,MAAM,OAAO,CAAC;AAKf,OAAO,YAAY,CAAC;AAIpB,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;AAUlD,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qBAAqB,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,IAAI,CAAC;IAC3D,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAkDF,wBAAgB,aAAa,2BAE5B;AAOD,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAgB/E;AAuBD,MAAM,WAAW,SAAS;IACxB,mBAAmB;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAiDpC,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,YAAY,qBAAO,CAAC;AAIjC,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,4FAgCvB,CAAC;AAKF,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,oDAAoD;IACpD,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACzC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1C,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC;AAoCD,eAAO,MAAM,WAAW,yFA2NvB,CAAC;AAKF,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,0FAkFtB,CAAC;AAKF,MAAM,WAAW,aAAa;IAC5B,mBAAmB;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,sFAwFpB,CAAC;AAKF,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,2FAOzB,CAAC;AAKF,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,uFAYrB,CAAC;AAKF,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,8FA2G5B,CAAC;AAKF,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,4FAgB1B,CAAC;AAKF,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAC5B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,2FA8FzB,CAAC;AAKF,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,gDAAgD;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAY1C,CAAC;AAIF,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,uCAAuC;IACvC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,4FAsB1B,CAAC;AAKF,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,4FAqC1B,CAAC;AAGF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../components/Menu/Menu.tsx"],"names":[],"mappings":"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"}
@@ -26,6 +26,12 @@ export interface PopoverProps {
26
26
  maxWidth?: string | number;
27
27
  /** Additional CSS classes */
28
28
  className?: string;
29
+ /**
30
+ * Element the popover portals into. Defaults to the enclosing `Dialog` (or
31
+ * closest native `<dialog>`) so it stays usable in the top layer, otherwise
32
+ * `document.body`.
33
+ */
34
+ portalContainer?: HTMLElement | null;
29
35
  }
30
36
  export declare const Popover: React.FC<PopoverProps>;
31
37
  export interface PopoverContentProps {
@@ -43,6 +49,12 @@ export interface PopoverContentProps {
43
49
  maxWidth?: string | number;
44
50
  /** Additional CSS classes */
45
51
  className?: string;
52
+ /**
53
+ * Element the popover portals into. Defaults to the enclosing `Dialog` (or
54
+ * closest native `<dialog>`) so it stays usable in the top layer, otherwise
55
+ * `document.body`.
56
+ */
57
+ portalContainer?: HTMLElement | null;
46
58
  }
47
59
  export declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
48
60
  export declare const PopoverRoot: React.FC<PopoverPrimitive.PopoverProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../../components/Popover/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,eAAe,CAAC;AAEvB,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sBAAsB;IACtB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,qBAAqB;IACrB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,gBAAgB;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAwC1C,CAAC;AAIF,MAAM,WAAW,mBAAmB;IAClC,uBAAuB;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qBAAqB;IACrB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,gBAAgB;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,4FAyB1B,CAAC;AAIF,eAAO,MAAM,WAAW,yCAAwB,CAAC;AACjD,eAAO,MAAM,cAAc,gHAA2B,CAAC;AACvD,eAAO,MAAM,YAAY,8GAAyB,CAAC;AAEnD,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../../components/Popover/Popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAE5D,OAAO,eAAe,CAAC;AAEvB,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sBAAsB;IACtB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,qBAAqB;IACrB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,gBAAgB;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA2C1C,CAAC;AAIF,MAAM,WAAW,mBAAmB;IAClC,uBAAuB;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qBAAqB;IACrB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,gBAAgB;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,cAAc,4FA0B1B,CAAC;AAIF,eAAO,MAAM,WAAW,yCAAwB,CAAC;AACjD,eAAO,MAAM,cAAc,gHAA2B,CAAC;AACvD,eAAO,MAAM,YAAY,8GAAyB,CAAC;AAEnD,eAAe,OAAO,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import './Tabs.css';
3
+ type TabsSize = 'sm' | 'md' | 'lg';
3
4
  export interface TabsProps {
4
5
  /** Tab content (TabList + TabPanels) */
5
6
  children: React.ReactNode;
@@ -10,9 +11,15 @@ export interface TabsProps {
10
11
  /** Change handler */
11
12
  onChange?: (value: string) => void;
12
13
  /** Size variant */
13
- size?: 'sm' | 'md' | 'lg';
14
+ size?: TabsSize;
14
15
  /** Alignment variant */
15
16
  alignment?: 'left' | 'center' | 'fill';
17
+ /**
18
+ * Horizontal padding on the tab strip: `default` insets the tabs by 16px on
19
+ * both sides, `none` aligns the first tab with the container edge. The
20
+ * divider always spans the full width.
21
+ */
22
+ padding?: 'default' | 'none';
16
23
  /** Additional CSS classes */
17
24
  className?: string;
18
25
  }
@@ -42,7 +49,15 @@ export interface TabProps {
42
49
  value: string;
43
50
  /** Tab label */
44
51
  children: React.ReactNode;
45
- /** Tab icon */
52
+ /**
53
+ * Leading item before the label: an `Icon`, `Avatar`, `AvatarGroup` or
54
+ * `DataPieChart`. Avatars and pie charts are sized to the tab size unless
55
+ * they set their own `size`; icons switch to their filled variant when the
56
+ * tab is active. The leading item is hidden from assistive technology, so
57
+ * put anything a screen reader needs (e.g. a percentage) in the label.
58
+ */
59
+ leading?: React.ReactNode;
60
+ /** Tab icon. Same as `leading`; `leading` wins when both are set. */
46
61
  icon?: React.ReactNode;
47
62
  /** Disabled state */
48
63
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../components/Tabs/Tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8E,MAAM,OAAO,CAAC;AACnG,OAAO,YAAY,CAAC;AAiBpB,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEvC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAqCpC,CAAC;AAGF,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAyD1C,CAAC;AAGF,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IAEd,gBAAgB;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,eAAe;IACf,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAuClC,CAAC;AAGF,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IAEd,oBAAoB;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqB5C,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../components/Tabs/Tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8E,MAAM,OAAO,CAAC;AAGnG,OAAO,YAAY,CAAC;AAEpB,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAkBnC,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,mBAAmB;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAE7B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAuCpC,CAAC;AAGF,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAyD1C,CAAC;AAGF,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IAEd,gBAAgB;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,qEAAqE;IACrE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAyDlC,CAAC;AAGF,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IAEd,oBAAoB;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqB5C,CAAC;AAEF,eAAe,IAAI,CAAC"}