@kanso-labs/kanso-ui 0.35.0 → 0.37.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 (220) hide show
  1. package/README.md +90 -9
  2. package/dist/button/context.js +7 -0
  3. package/dist/button/context.js.map +1 -0
  4. package/dist/button/group.js +25 -0
  5. package/dist/button/group.js.map +1 -0
  6. package/dist/button/hooks.js +81 -0
  7. package/dist/button/hooks.js.map +1 -0
  8. package/dist/button/index.d.ts +11 -0
  9. package/dist/button/index.js +273 -0
  10. package/dist/button/index.js.map +1 -0
  11. package/dist/button/styles.js +23 -0
  12. package/dist/button/styles.js.map +1 -0
  13. package/dist/calendar/index.js +473 -7
  14. package/dist/calendar/index.js.map +1 -1
  15. package/dist/calendar/styles.js +132 -4
  16. package/dist/calendar/styles.js.map +1 -1
  17. package/dist/chip/index.js +74 -9
  18. package/dist/chip/index.js.map +1 -1
  19. package/dist/chip/styles.js +78 -4
  20. package/dist/chip/styles.js.map +1 -1
  21. package/dist/collection/index.js +12 -9
  22. package/dist/collection/index.js.map +1 -1
  23. package/dist/collection/styles.js +21 -2
  24. package/dist/collection/styles.js.map +1 -1
  25. package/dist/color-scheme.d.ts +29 -0
  26. package/dist/color-scheme.js +32 -0
  27. package/dist/color-scheme.js.map +1 -0
  28. package/dist/components/avatar/index.js +35 -22
  29. package/dist/components/avatar/index.js.map +1 -1
  30. package/dist/components/badge/index.d.ts +40 -0
  31. package/dist/components/badge/index.js +102 -0
  32. package/dist/components/badge/index.js.map +1 -0
  33. package/dist/components/breadcrumbs/index.d.ts +1 -1
  34. package/dist/components/breadcrumbs/index.js +1 -1
  35. package/dist/components/breadcrumbs/index.js.map +1 -1
  36. package/dist/components/button/index.d.ts +58 -14
  37. package/dist/components/button/index.js +400 -147
  38. package/dist/components/button/index.js.map +1 -1
  39. package/dist/components/button-group/index.d.ts +54 -0
  40. package/dist/components/button-group/index.js +272 -0
  41. package/dist/components/button-group/index.js.map +1 -0
  42. package/dist/components/calendar/index.d.ts +9 -1
  43. package/dist/components/calendar/index.js +71 -44
  44. package/dist/components/calendar/index.js.map +1 -1
  45. package/dist/components/card/index.d.ts +1 -1
  46. package/dist/components/card/index.js +4 -4
  47. package/dist/components/card/index.js.map +1 -1
  48. package/dist/components/checkbox/index.js +15 -1
  49. package/dist/components/checkbox/index.js.map +1 -1
  50. package/dist/components/checkbox-group/index.js +1 -0
  51. package/dist/components/checkbox-group/index.js.map +1 -1
  52. package/dist/components/chip/index.d.ts +55 -8
  53. package/dist/components/chip/index.js +174 -63
  54. package/dist/components/chip/index.js.map +1 -1
  55. package/dist/components/chip-group/index.d.ts +16 -7
  56. package/dist/components/chip-group/index.js +58 -35
  57. package/dist/components/chip-group/index.js.map +1 -1
  58. package/dist/components/color-field/index.js +25 -23
  59. package/dist/components/color-field/index.js.map +1 -1
  60. package/dist/components/color-picker/index.js +42 -31
  61. package/dist/components/color-picker/index.js.map +1 -1
  62. package/dist/components/color-swatch-picker/index.d.ts +1 -1
  63. package/dist/components/color-swatch-picker/index.js +17 -13
  64. package/dist/components/color-swatch-picker/index.js.map +1 -1
  65. package/dist/components/combo-box/index.d.ts +5 -3
  66. package/dist/components/combo-box/index.js +63 -58
  67. package/dist/components/combo-box/index.js.map +1 -1
  68. package/dist/components/copy-field/index.d.ts +7 -6
  69. package/dist/components/copy-field/index.js +92 -90
  70. package/dist/components/copy-field/index.js.map +1 -1
  71. package/dist/components/currency/index.d.ts +8 -7
  72. package/dist/components/currency/index.js +43 -65
  73. package/dist/components/currency/index.js.map +1 -1
  74. package/dist/components/date-field/index.js +24 -22
  75. package/dist/components/date-field/index.js.map +1 -1
  76. package/dist/components/date-picker/index.d.ts +10 -2
  77. package/dist/components/date-picker/index.js +76 -69
  78. package/dist/components/date-picker/index.js.map +1 -1
  79. package/dist/components/date-range-picker/index.d.ts +10 -2
  80. package/dist/components/date-range-picker/index.js +93 -86
  81. package/dist/components/date-range-picker/index.js.map +1 -1
  82. package/dist/components/dialog/index.d.ts +1 -1
  83. package/dist/components/dialog/index.js +2 -2
  84. package/dist/components/dialog/index.js.map +1 -1
  85. package/dist/components/disclosure/index.d.ts +1 -1
  86. package/dist/components/disclosure/index.js +6 -6
  87. package/dist/components/disclosure/index.js.map +1 -1
  88. package/dist/components/fab/index.d.ts +72 -0
  89. package/dist/components/fab/index.js +89 -0
  90. package/dist/components/fab/index.js.map +1 -0
  91. package/dist/components/fab-menu/index.d.ts +90 -0
  92. package/dist/components/fab-menu/index.js +297 -0
  93. package/dist/components/fab-menu/index.js.map +1 -0
  94. package/dist/components/feed/index.d.ts +2 -1
  95. package/dist/components/feed/index.js +1 -1
  96. package/dist/components/feed/index.js.map +1 -1
  97. package/dist/components/icon-button/index.d.ts +11 -8
  98. package/dist/components/icon-button/index.js +244 -181
  99. package/dist/components/icon-button/index.js.map +1 -1
  100. package/dist/components/index.d.ts +30 -21
  101. package/dist/components/list/index.d.ts +15 -13
  102. package/dist/components/list/index.js +60 -61
  103. package/dist/components/list/index.js.map +1 -1
  104. package/dist/components/list-box/index.d.ts +3 -2
  105. package/dist/components/list-box/index.js +16 -16
  106. package/dist/components/list-box/index.js.map +1 -1
  107. package/dist/components/list-item/index.js +1 -1
  108. package/dist/components/list-item/index.js.map +1 -1
  109. package/dist/components/menu/index.d.ts +3 -2
  110. package/dist/components/menu/index.js +2 -2
  111. package/dist/components/menu/index.js.map +1 -1
  112. package/dist/components/navigation-bar/index.d.ts +50 -0
  113. package/dist/components/navigation-bar/index.js +129 -0
  114. package/dist/components/navigation-bar/index.js.map +1 -0
  115. package/dist/components/navigation-rail/index.d.ts +59 -0
  116. package/dist/components/navigation-rail/index.js +166 -0
  117. package/dist/components/navigation-rail/index.js.map +1 -0
  118. package/dist/components/navigation-tree/index.d.ts +1 -5
  119. package/dist/components/navigation-tree/index.js +3 -3
  120. package/dist/components/navigation-tree/index.js.map +1 -1
  121. package/dist/components/number-field/index.d.ts +6 -4
  122. package/dist/components/number-field/index.js +84 -84
  123. package/dist/components/number-field/index.js.map +1 -1
  124. package/dist/components/popover/index.d.ts +1 -1
  125. package/dist/components/popover/index.js +1 -1
  126. package/dist/components/popover/index.js.map +1 -1
  127. package/dist/components/radio-group/index.js +22 -11
  128. package/dist/components/radio-group/index.js.map +1 -1
  129. package/dist/components/range-calendar/index.d.ts +7 -1
  130. package/dist/components/range-calendar/index.js +71 -44
  131. package/dist/components/range-calendar/index.js.map +1 -1
  132. package/dist/components/search-field/index.d.ts +2 -1
  133. package/dist/components/search-field/index.js +24 -25
  134. package/dist/components/search-field/index.js.map +1 -1
  135. package/dist/components/search-view/index.d.ts +79 -0
  136. package/dist/components/search-view/index.js +255 -0
  137. package/dist/components/search-view/index.js.map +1 -0
  138. package/dist/components/segmented-button/index.d.ts +2 -2
  139. package/dist/components/segmented-button/index.js +60 -31
  140. package/dist/components/segmented-button/index.js.map +1 -1
  141. package/dist/components/select/index.js +1 -0
  142. package/dist/components/select/index.js.map +1 -1
  143. package/dist/components/sheet/index.d.ts +1 -1
  144. package/dist/components/sheet/index.js +2 -2
  145. package/dist/components/sheet/index.js.map +1 -1
  146. package/dist/components/slider/index.js +1 -1
  147. package/dist/components/slider/index.js.map +1 -1
  148. package/dist/components/snackbar/index.d.ts +2 -2
  149. package/dist/components/snackbar/index.js +28 -13
  150. package/dist/components/snackbar/index.js.map +1 -1
  151. package/dist/components/split-button/index.d.ts +83 -0
  152. package/dist/components/split-button/index.js +341 -0
  153. package/dist/components/split-button/index.js.map +1 -0
  154. package/dist/components/switch/index.js +11 -1
  155. package/dist/components/switch/index.js.map +1 -1
  156. package/dist/components/table/index.d.ts +11 -9
  157. package/dist/components/table/index.js +87 -31
  158. package/dist/components/table/index.js.map +1 -1
  159. package/dist/components/tabs/index.d.ts +35 -4
  160. package/dist/components/tabs/index.js +403 -93
  161. package/dist/components/tabs/index.js.map +1 -1
  162. package/dist/components/tag/index.d.ts +1 -1
  163. package/dist/components/tag/index.js.map +1 -1
  164. package/dist/components/text-area/index.d.ts +7 -5
  165. package/dist/components/text-area/index.js +28 -26
  166. package/dist/components/text-area/index.js.map +1 -1
  167. package/dist/components/text-field/index.d.ts +7 -5
  168. package/dist/components/text-field/index.js +28 -26
  169. package/dist/components/text-field/index.js.map +1 -1
  170. package/dist/components/time-field/index.js +24 -22
  171. package/dist/components/time-field/index.js.map +1 -1
  172. package/dist/components/tree/index.d.ts +7 -9
  173. package/dist/components/tree/index.js +15 -16
  174. package/dist/components/tree/index.js.map +1 -1
  175. package/dist/drag/index.js.map +1 -1
  176. package/dist/drag/styles.js +4 -1
  177. package/dist/drag/styles.js.map +1 -1
  178. package/dist/fab/styles.js +161 -0
  179. package/dist/fab/styles.js.map +1 -0
  180. package/dist/field/index.js +260 -214
  181. package/dist/field/index.js.map +1 -1
  182. package/dist/field/styles.js +10 -2
  183. package/dist/field/styles.js.map +1 -1
  184. package/dist/glyphs/index.js +55 -1
  185. package/dist/glyphs/index.js.map +1 -1
  186. package/dist/hooks/useRipple.js +199 -162
  187. package/dist/hooks/useRipple.js.map +1 -1
  188. package/dist/hooks/useToggleGroupDisabled.js +24 -0
  189. package/dist/hooks/useToggleGroupDisabled.js.map +1 -0
  190. package/dist/i18n/index.js +43 -0
  191. package/dist/i18n/index.js.map +1 -0
  192. package/dist/i18n/messages.js +387 -0
  193. package/dist/i18n/messages.js.map +1 -0
  194. package/dist/index.d.ts +31 -21
  195. package/dist/index.js +25 -16
  196. package/dist/navigation/context.js +7 -0
  197. package/dist/navigation/context.js.map +1 -0
  198. package/dist/navigation/index.d.ts +28 -0
  199. package/dist/navigation/index.js +96 -0
  200. package/dist/navigation/index.js.map +1 -0
  201. package/dist/navigation/styles.js +312 -0
  202. package/dist/navigation/styles.js.map +1 -0
  203. package/dist/react-aria.d.ts +2 -2
  204. package/dist/react-aria.js +2 -2
  205. package/dist/render/useRender.js +0 -1
  206. package/dist/render/useRender.js.map +1 -1
  207. package/dist/row/styles.js +33 -11
  208. package/dist/row/styles.js.map +1 -1
  209. package/dist/styles/focus.js.map +1 -1
  210. package/dist/styles/icon-button.js +9 -1
  211. package/dist/styles/icon-button.js.map +1 -1
  212. package/dist/styles/overlay.js +1 -0
  213. package/dist/styles/overlay.js.map +1 -1
  214. package/dist/styles/picker.js +1 -1
  215. package/dist/styles/picker.js.map +1 -1
  216. package/dist/styles.css +1104 -336
  217. package/dist/tokens/design.tokens.stylex.js +42 -1
  218. package/dist/tokens/design.tokens.stylex.js.map +1 -1
  219. package/dist/tokens.css +166 -53
  220. package/package.json +9 -5
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import { props } from "../../node_modules/@stylexjs/stylex/lib/es/stylex.js";
3
- import { mergeStatefulStyles } from "../../styles/merge.js";
4
- import { ariaAttributesOf, buttonRenderer, linkRenderer, toggleButtonRenderer } from "../../render/aria.js";
3
+ import { sizing } from "../../tokens/design.tokens.stylex.js";
5
4
  import { focus } from "../../styles/focus.js";
6
- import { useRipple } from "../../hooks/useRipple.js";
7
- import { refCallback } from "../../render/ref.js";
8
- import ProgressIndicator from "../progress-indicator/index.js";
5
+ import { ButtonBase, ToggleButtonBase } from "../../button/index.js";
6
+ import { ButtonGroupItemContext } from "../../button/context.js";
7
+ import { groupPressHandlers } from "../../button/group.js";
9
8
  import { c } from "react/compiler-runtime";
10
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
- import { Button, ButtonContext, Link, ToggleButton, useSlottedContext } from "react-aria-components";
9
+ import { useContext } from "react";
10
+ import { jsx } from "react/jsx-runtime";
11
+ import { ToggleGroupStateContext } from "react-aria-components";
12
12
  //#region src/components/icon-button/index.tsx
13
13
  const styles = {
14
14
  base: {
@@ -26,9 +26,9 @@ const styles = {
26
26
  kmVPX3: "x1717udv",
27
27
  kVAEAm: "x1n2onr6",
28
28
  kybGjl: "x1hl2dhg",
29
- kIyJzY: "x1iuyhda",
30
- k1ekBW: "xb5u718",
31
- kAMwcw: "x15l9jch",
29
+ kIyJzY: "x9w8ftz",
30
+ k1ekBW: "x1n0k3g7",
31
+ kAMwcw: "x1hu1jz6",
32
32
  $$css: true
33
33
  },
34
34
  disabled: {
@@ -37,7 +37,7 @@ const styles = {
37
37
  $$css: true
38
38
  },
39
39
  filled: {
40
- kWkggS: "xpky1to xyf7a0q xnety89",
40
+ kWkggS: "xnety89",
41
41
  kMwMTN: "xwjo7ld",
42
42
  $$css: true
43
43
  },
@@ -48,26 +48,18 @@ const styles = {
48
48
  $$css: true
49
49
  },
50
50
  filledToggle: {
51
- kWkggS: "xbck2fw x1h1ujn1 x1mjdul6",
51
+ kWkggS: "x1mjdul6",
52
52
  kMwMTN: "x1w5n3ug",
53
53
  $$css: true
54
54
  },
55
55
  filledToggleSelected: {
56
- kWkggS: "xpky1to xyf7a0q xnety89 x1jzqe4",
56
+ kWkggS: "xnety89 x1jzqe4",
57
57
  kMwMTN: "xwjo7ld x1k5gbb1",
58
58
  $$css: true
59
59
  },
60
- label: {
61
- k1xSpc: "xjp7ctv",
62
- $$css: true
63
- },
64
- labelPending: {
65
- k33iCy: "xlshs6z",
66
- $$css: true
67
- },
68
60
  lg: {
69
61
  kZKoxP: "xs1ryiz",
70
- kaIpWk: "xtt5grq x1dkaolv",
62
+ kaIpWk: "x1dkaolv",
71
63
  kGuDYH: "x1pvqxga",
72
64
  kzqmXN: "x1fh0d6s",
73
65
  $$css: true
@@ -77,13 +69,13 @@ const styles = {
77
69
  kFcpXp: "x1q69gdh",
78
70
  kEoFBp: "x1hmns74",
79
71
  kZKoxP: "x1rv7mn0",
80
- kaIpWk: "x1r81nxe x1dkaolv",
72
+ kaIpWk: "x1dkaolv",
81
73
  kGuDYH: "x1pvqxga",
82
74
  kzqmXN: "x1eujcsb",
83
75
  $$css: true
84
76
  },
85
77
  outlined: {
86
- kWkggS: "x1dg9itu x1728qcm xjbqb8w",
78
+ kWkggS: "xjbqb8w",
87
79
  kVAM5u: "x133yhug",
88
80
  ksu8eU: "x1y0btm7",
89
81
  kMwMTN: "x1w5n3ug",
@@ -96,21 +88,13 @@ const styles = {
96
88
  $$css: true
97
89
  },
98
90
  outlinedToggleSelected: {
99
- kWkggS: "x1q27o6y x1v1ylhe x1c5gpgi x1jzqe4",
91
+ kWkggS: "x1c5gpgi x1jzqe4",
100
92
  kVAM5u: "x9r1u3d x1n2ykn",
101
93
  kMwMTN: "x1girmi0 x1k5gbb1",
102
94
  $$css: true
103
95
  },
104
- pending: {
105
- kGNEyG: "x6s0dn4",
106
- k1xSpc: "x78zum5",
107
- kpwlN0: "x10a8y8t",
108
- kjj79g: "xl56j7k",
109
- kVAEAm: "x10l6tqk",
110
- $$css: true
111
- },
112
96
  standard: {
113
- kWkggS: "x1dg9itu x1728qcm xjbqb8w",
97
+ kWkggS: "xjbqb8w",
114
98
  kMzoRj: "xc342km",
115
99
  kMwMTN: "x1w5n3ug",
116
100
  $$css: true
@@ -121,13 +105,13 @@ const styles = {
121
105
  $$css: true
122
106
  },
123
107
  standardToggleSelected: {
124
- kWkggS: "x12vej0r x14dcer4 xjbqb8w x1jzqe4",
108
+ kWkggS: "xjbqb8w x1jzqe4",
125
109
  kMzoRj: "xc342km",
126
110
  kMwMTN: "x1mxwv8y x1k5gbb1",
127
111
  $$css: true
128
112
  },
129
113
  tonal: {
130
- kWkggS: "xnqsvhv xlizrex x15dekr4",
114
+ kWkggS: "x15dekr4",
131
115
  kMwMTN: "x1sawysd",
132
116
  $$css: true
133
117
  },
@@ -138,13 +122,13 @@ const styles = {
138
122
  $$css: true
139
123
  },
140
124
  tonalToggleSelected: {
141
- kWkggS: "x1q841l6 x1ofvui0 x167r6xl x1jzqe4",
125
+ kWkggS: "x167r6xl x1jzqe4",
142
126
  kMwMTN: "x1lba3jz x1k5gbb1",
143
127
  $$css: true
144
128
  },
145
129
  xl: {
146
130
  kZKoxP: "x1xaimp3",
147
- kaIpWk: "x11f6t2b x1dkaolv",
131
+ kaIpWk: "x1dkaolv",
148
132
  kGuDYH: "x1s3cmhv",
149
133
  kzqmXN: "xszbqgh",
150
134
  $$css: true
@@ -154,19 +138,133 @@ const styles = {
154
138
  kFcpXp: "x1n6cgzf",
155
139
  kEoFBp: "x1hmns74",
156
140
  kZKoxP: "xig8zya",
157
- kaIpWk: "x1r81nxe x1dkaolv",
141
+ kaIpWk: "x1dkaolv",
158
142
  kGuDYH: "xwsyq91",
159
143
  kzqmXN: "x11ts1a5",
160
144
  $$css: true
161
145
  },
162
146
  xxl: {
163
147
  kZKoxP: "x173yhrv",
164
- kaIpWk: "x11f6t2b x1dkaolv",
148
+ kaIpWk: "x1dkaolv",
165
149
  kGuDYH: "x1tgwohi",
166
150
  kzqmXN: "xz1kjiq",
167
151
  $$css: true
168
152
  }
169
153
  };
154
+ const hovered = {
155
+ filled: {
156
+ kWkggS: "xo1ct44",
157
+ $$css: true
158
+ },
159
+ filledToggle: {
160
+ kWkggS: "xtxe0ya",
161
+ $$css: true
162
+ },
163
+ filledToggleSelected: {
164
+ kWkggS: "xo1ct44 x1jzqe4",
165
+ $$css: true
166
+ },
167
+ outlined: {
168
+ kWkggS: "x14noynh",
169
+ $$css: true
170
+ },
171
+ outlinedToggleSelected: {
172
+ kWkggS: "x1hxzsxp x1jzqe4",
173
+ $$css: true
174
+ },
175
+ standard: {
176
+ kWkggS: "x14noynh",
177
+ $$css: true
178
+ },
179
+ standardToggleSelected: {
180
+ kWkggS: "x659ado x1jzqe4",
181
+ $$css: true
182
+ },
183
+ tonal: {
184
+ kWkggS: "x1fctxn6",
185
+ $$css: true
186
+ },
187
+ tonalToggleSelected: {
188
+ kWkggS: "x12r95rf x1jzqe4",
189
+ $$css: true
190
+ }
191
+ };
192
+ const focused = {
193
+ filled: {
194
+ kWkggS: "xhodiby",
195
+ $$css: true
196
+ },
197
+ filledToggle: {
198
+ kWkggS: "x1ppcb1",
199
+ $$css: true
200
+ },
201
+ filledToggleSelected: {
202
+ kWkggS: "xhodiby x1jzqe4",
203
+ $$css: true
204
+ },
205
+ outlined: {
206
+ kWkggS: "x19p5drm",
207
+ $$css: true
208
+ },
209
+ outlinedToggleSelected: {
210
+ kWkggS: "xn4e5mw x1jzqe4",
211
+ $$css: true
212
+ },
213
+ standard: {
214
+ kWkggS: "x19p5drm",
215
+ $$css: true
216
+ },
217
+ standardToggleSelected: {
218
+ kWkggS: "x1sog3nf x1jzqe4",
219
+ $$css: true
220
+ },
221
+ tonal: {
222
+ kWkggS: "x1s5x49g",
223
+ $$css: true
224
+ },
225
+ tonalToggleSelected: {
226
+ kWkggS: "x16tkg7c x1jzqe4",
227
+ $$css: true
228
+ }
229
+ };
230
+ const pressed = {
231
+ filled: {
232
+ kWkggS: "x7b25lv",
233
+ $$css: true
234
+ },
235
+ filledToggle: {
236
+ kWkggS: "x1qdfkg1",
237
+ $$css: true
238
+ },
239
+ filledToggleSelected: {
240
+ kWkggS: "x7b25lv x1jzqe4",
241
+ $$css: true
242
+ },
243
+ outlined: {
244
+ kWkggS: "x123fei2",
245
+ $$css: true
246
+ },
247
+ outlinedToggleSelected: {
248
+ kWkggS: "x167cdfs x1jzqe4",
249
+ $$css: true
250
+ },
251
+ standard: {
252
+ kWkggS: "x123fei2",
253
+ $$css: true
254
+ },
255
+ standardToggleSelected: {
256
+ kWkggS: "x1dvjsmr x1jzqe4",
257
+ $$css: true
258
+ },
259
+ tonal: {
260
+ kWkggS: "xzpauq9",
261
+ $$css: true
262
+ },
263
+ tonalToggleSelected: {
264
+ kWkggS: "x12o6fnv x1jzqe4",
265
+ $$css: true
266
+ }
267
+ };
170
268
  const outlineWidths = {
171
269
  lg: {
172
270
  kMzoRj: "xmkeg23",
@@ -189,6 +287,18 @@ const outlineWidths = {
189
287
  $$css: true
190
288
  }
191
289
  };
290
+ const EDGES = {
291
+ lg: sizing.controlLg,
292
+ md: sizing.controlSm,
293
+ xl: sizing.controlXl,
294
+ xs: sizing.controlXs,
295
+ xxl: sizing.controlXxl
296
+ };
297
+ const _temp = {
298
+ kzqmXN: "x1uyokj7",
299
+ "$$css": true
300
+ };
301
+ const shifted = { width: (value) => [_temp, { "--x-inlineSize": ((val) => typeof val === "number" ? val + "px" : val != null ? val : void 0)(value) }] };
192
302
  const selectedShapes = {
193
303
  lg: {
194
304
  kaIpWk: "x62ce2h",
@@ -229,33 +339,33 @@ const toggleStyles = {
229
339
  unselected: styles.tonal
230
340
  }
231
341
  };
342
+ const toggleContainers = {
343
+ filled: {
344
+ selected: "filledToggleSelected",
345
+ unselected: "filledToggle"
346
+ },
347
+ outlined: {
348
+ selected: "outlinedToggleSelected",
349
+ unselected: "outlined"
350
+ },
351
+ standard: {
352
+ selected: "standardToggleSelected",
353
+ unselected: "standard"
354
+ },
355
+ tonal: {
356
+ selected: "tonalToggleSelected",
357
+ unselected: "tonal"
358
+ }
359
+ };
232
360
  const disabledStyles = {
233
361
  filled: styles.filledDisabled,
234
362
  outlined: styles.outlinedDisabled,
235
363
  standard: styles.standardDisabled,
236
364
  tonal: styles.tonalDisabled
237
365
  };
238
- function buttonContent(children, pendingLabel, ripple) {
239
- return (state) => /* @__PURE__ */ jsxs(Fragment, { children: [
240
- /* @__PURE__ */ jsx("span", {
241
- ...{
242
- 0: { className: "xjp7ctv" },
243
- 1: { className: "xjp7ctv xlshs6z" }
244
- }[!!state.isPending << 0],
245
- children
246
- }),
247
- state.isPending ? /* @__PURE__ */ jsx("span", {
248
- className: "x6s0dn4 x78zum5 x10a8y8t xl56j7k x10l6tqk",
249
- children: /* @__PURE__ */ jsx(ProgressIndicator, {
250
- "aria-label": pendingLabel,
251
- isIndeterminate: true,
252
- size: "1em",
253
- tone: "inherit",
254
- variant: "circular"
255
- })
256
- }) : null,
257
- ripple.surface
258
- ] });
366
+ function groupStyles(group, size, state) {
367
+ if (group === null) return null;
368
+ return [group.styles?.(state), group.shift !== 0 && shifted.width(`calc(${EDGES[size]} + ${group.shift}px)`)];
259
369
  }
260
370
  /**
261
371
  * A button that is an icon, at five control heights. Given `href` it is a
@@ -274,131 +384,84 @@ function buttonContent(children, pendingLabel, ripple) {
274
384
  * ```
275
385
  */
276
386
  function IconButton(t0) {
277
- const $ = c(29);
278
- const { children, defaultSelected, disableRipple: t1, href, isDisabled, isPending: t2, isSelected, onChange, onClick, onContextMenu, onKeyDown, onKeyUp, onPointerCancel, onPointerDown, onPointerLeave, onPointerUp, pendingLabel: t3, ref, rel, render, size: t4, target, variant: t5, ...props$1 } = t0;
279
- const disableRipple = t1 === void 0 ? false : t1;
280
- const isPending = t2 === void 0 ? false : t2;
281
- const pendingLabel = t3 === void 0 ? "Loading" : t3;
282
- const size = t4 === void 0 ? "md" : t4;
283
- const variant = t5 === void 0 ? "standard" : t5;
284
- const context = useSlottedContext(ButtonContext, props$1.slot);
285
- const disabled = isDisabled ?? context?.isDisabled ?? false;
286
- let t6;
287
- if ($[0] !== onClick || $[1] !== onContextMenu || $[2] !== onPointerCancel || $[3] !== onPointerDown || $[4] !== onPointerLeave || $[5] !== onPointerUp) {
288
- t6 = {
289
- onClick,
290
- onContextMenu,
291
- onPointerCancel,
292
- onPointerDown,
293
- onPointerLeave,
294
- onPointerUp
295
- };
296
- $[0] = onClick;
297
- $[1] = onContextMenu;
298
- $[2] = onPointerCancel;
299
- $[3] = onPointerDown;
300
- $[4] = onPointerLeave;
301
- $[5] = onPointerUp;
302
- $[6] = t6;
303
- } else t6 = $[6];
304
- const ripple = useRipple(!disableRipple && !disabled && !isPending, t6);
305
- const element = {
306
- aria: ariaAttributesOf(props$1),
307
- onKeyDown,
308
- onKeyUp
309
- };
310
- let t7;
311
- if ($[7] !== ref) {
312
- t7 = refCallback(ref);
313
- $[7] = ref;
314
- $[8] = t7;
315
- } else t7 = $[8];
316
- const forwarded = t7;
317
- if (defaultSelected !== void 0 || isSelected !== void 0 || onChange !== void 0) {
318
- const t8 = toggleButtonRenderer(element, render);
319
- const t9 = ripple.handlers;
320
- const t10 = mergeStatefulStyles(toggleStyleProps(size, variant), props$1);
321
- let t11;
322
- if ($[9] !== children || $[10] !== ripple) {
323
- t11 = toggleContent(children, ripple);
324
- $[9] = children;
325
- $[10] = ripple;
326
- $[11] = t11;
327
- } else t11 = $[11];
328
- return /* @__PURE__ */ jsx(ToggleButton, {
329
- defaultSelected,
330
- isDisabled: disabled,
331
- isSelected,
332
- onChange,
333
- ref: forwarded,
334
- render: t8,
335
- ...t9,
336
- ...props$1,
337
- ...t10,
338
- children: t11
339
- });
387
+ const $ = c(25);
388
+ const { defaultSelected, href, isPending, isSelected, onChange, pendingLabel, rel, size: ownSize, target, variant: t1, ...props } = t0;
389
+ const variant = t1 === void 0 ? "standard" : t1;
390
+ const group = useContext(ButtonGroupItemContext);
391
+ const size = ownSize ?? group?.size ?? "md";
392
+ const inSelectingGroup = useContext(ToggleGroupStateContext) !== null;
393
+ const press = groupPressHandlers(group, props.onPressStart, props.onPressEnd);
394
+ if (inSelectingGroup || defaultSelected !== void 0 || isSelected !== void 0 || onChange !== void 0) {
395
+ let t2;
396
+ if ($[0] !== group || $[1] !== size || $[2] !== variant) {
397
+ t2 = toggleStyleProps(size, variant, group);
398
+ $[0] = group;
399
+ $[1] = size;
400
+ $[2] = variant;
401
+ $[3] = t2;
402
+ } else t2 = $[3];
403
+ let t3;
404
+ if ($[4] !== defaultSelected || $[5] !== isPending || $[6] !== isSelected || $[7] !== onChange || $[8] !== press || $[9] !== props || $[10] !== t2) {
405
+ t3 = /* @__PURE__ */ jsx(ToggleButtonBase, {
406
+ ...props,
407
+ ...press,
408
+ classes: t2,
409
+ defaultSelected,
410
+ isPending,
411
+ isSelected,
412
+ onChange
413
+ });
414
+ $[4] = defaultSelected;
415
+ $[5] = isPending;
416
+ $[6] = isSelected;
417
+ $[7] = onChange;
418
+ $[8] = press;
419
+ $[9] = props;
420
+ $[10] = t2;
421
+ $[11] = t3;
422
+ } else t3 = $[11];
423
+ return t3;
340
424
  }
341
- let t8;
342
- if ($[12] !== size || $[13] !== variant) {
343
- t8 = (state) => props(styles.base, focus.ring, styles[variant], styles[size], variant === "outlined" && outlineWidths[size], state.isDisabled && styles.disabled, state.isDisabled && disabledStyles[variant]);
344
- $[12] = size;
345
- $[13] = variant;
346
- $[14] = t8;
347
- } else t8 = $[14];
348
- const styleProps = mergeStatefulStyles(t8, props$1);
349
- if (href !== void 0) return /* @__PURE__ */ jsxs(Link, {
350
- href,
351
- isDisabled: disabled,
352
- ref: forwarded,
353
- rel,
354
- render: linkRenderer(element),
355
- target,
356
- ...ripple.handlers,
357
- ...props$1,
358
- ...styleProps,
359
- children: [children, ripple.surface]
360
- });
361
- const T0 = Button;
362
- const t9 = buttonRenderer(element, render);
363
- const t10 = ripple.handlers;
364
- let t11;
365
- if ($[15] !== children || $[16] !== pendingLabel || $[17] !== ripple) {
366
- t11 = buttonContent(children, pendingLabel, ripple);
367
- $[15] = children;
368
- $[16] = pendingLabel;
369
- $[17] = ripple;
370
- $[18] = t11;
371
- } else t11 = $[18];
372
- let t12;
373
- if ($[19] !== T0 || $[20] !== disabled || $[21] !== forwarded || $[22] !== isPending || $[23] !== props$1 || $[24] !== ripple.handlers || $[25] !== styleProps || $[26] !== t11 || $[27] !== t9) {
374
- t12 = /* @__PURE__ */ jsx(T0, {
375
- isDisabled: disabled,
425
+ let t2;
426
+ if ($[12] !== group || $[13] !== size || $[14] !== variant) {
427
+ t2 = iconButtonClasses(size, variant, group);
428
+ $[12] = group;
429
+ $[13] = size;
430
+ $[14] = variant;
431
+ $[15] = t2;
432
+ } else t2 = $[15];
433
+ let t3;
434
+ if ($[16] !== href || $[17] !== isPending || $[18] !== pendingLabel || $[19] !== press || $[20] !== props || $[21] !== rel || $[22] !== t2 || $[23] !== target) {
435
+ t3 = /* @__PURE__ */ jsx(ButtonBase, {
436
+ ...props,
437
+ ...press,
438
+ classes: t2,
439
+ href,
376
440
  isPending,
377
- ref: forwarded,
378
- render: t9,
379
- ...t10,
380
- ...props$1,
381
- ...styleProps,
382
- children: t11
441
+ pendingLabel,
442
+ rel,
443
+ target
383
444
  });
384
- $[19] = T0;
385
- $[20] = disabled;
386
- $[21] = forwarded;
387
- $[22] = isPending;
388
- $[23] = props$1;
389
- $[24] = ripple.handlers;
390
- $[25] = styleProps;
391
- $[26] = t11;
392
- $[27] = t9;
393
- $[28] = t12;
394
- } else t12 = $[28];
395
- return t12;
445
+ $[16] = href;
446
+ $[17] = isPending;
447
+ $[18] = pendingLabel;
448
+ $[19] = press;
449
+ $[20] = props;
450
+ $[21] = rel;
451
+ $[22] = t2;
452
+ $[23] = target;
453
+ $[24] = t3;
454
+ } else t3 = $[24];
455
+ return t3;
396
456
  }
397
- function toggleContent(children, ripple) {
398
- return () => /* @__PURE__ */ jsxs(Fragment, { children: [children, ripple.surface] });
457
+ function iconButtonClasses(size, variant, group) {
458
+ return (state) => props(styles.base, focus.ring, styles[variant], styles[size], variant === "outlined" && outlineWidths[size], state.isHovered && hovered[variant], state.isFocusVisible && focused[variant], state.isPressed && pressed[variant], state.isPressed && selectedShapes[size], state.isDisabled && styles.disabled, state.isDisabled && disabledStyles[variant], groupStyles(group, size, state));
399
459
  }
400
- function toggleStyleProps(size, variant) {
401
- return (state) => props(styles.base, focus.ring, state.isSelected === true ? toggleStyles[variant].selected : toggleStyles[variant].unselected, styles[size], variant === "outlined" && state.isSelected !== true && outlineWidths[size], state.isDisabled && styles.disabled, state.isDisabled && disabledStyles[variant], state.isSelected === true && selectedShapes[size]);
460
+ function toggleStyleProps(size, variant, group) {
461
+ return (state) => {
462
+ const container = toggleContainers[variant][state.isSelected === true ? "selected" : "unselected"];
463
+ return props(styles.base, focus.ring, state.isSelected === true ? toggleStyles[variant].selected : toggleStyles[variant].unselected, styles[size], variant === "outlined" && state.isSelected !== true && outlineWidths[size], state.isHovered && hovered[container], state.isFocusVisible && focused[container], state.isPressed && pressed[container], state.isPressed && selectedShapes[size], state.isDisabled && styles.disabled, state.isDisabled && disabledStyles[variant], state.isSelected === true && selectedShapes[size], groupStyles(group, size, state));
464
+ };
402
465
  }
403
466
  //#endregion
404
467
  export { IconButton as default };