@react-spectrum/s2 3.0.0-nightly-e7053dd8f-250108 → 3.0.0-nightly-d87cc4422-250109

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 (213) hide show
  1. package/dist/Accordion.cjs +3 -3
  2. package/dist/Accordion.css +2 -2
  3. package/dist/Accordion.mjs +3 -3
  4. package/dist/ActionBar.cjs +32 -32
  5. package/dist/ActionBar.css +34 -34
  6. package/dist/ActionBar.mjs +32 -32
  7. package/dist/ActionButton.cjs +61 -61
  8. package/dist/ActionButton.css +56 -56
  9. package/dist/ActionButton.mjs +61 -61
  10. package/dist/ActionButtonGroup.cjs +4 -4
  11. package/dist/ActionButtonGroup.css +3 -3
  12. package/dist/ActionButtonGroup.mjs +4 -4
  13. package/dist/Avatar.cjs +10 -10
  14. package/dist/Avatar.css +11 -11
  15. package/dist/Avatar.mjs +10 -10
  16. package/dist/AvatarGroup.cjs +97 -97
  17. package/dist/AvatarGroup.css +31 -31
  18. package/dist/AvatarGroup.mjs +97 -97
  19. package/dist/Badge.cjs +31 -31
  20. package/dist/Badge.css +33 -33
  21. package/dist/Badge.mjs +31 -31
  22. package/dist/Breadcrumbs.cjs +83 -82
  23. package/dist/Breadcrumbs.cjs.map +1 -1
  24. package/dist/Breadcrumbs.css +65 -59
  25. package/dist/Breadcrumbs.css.map +1 -1
  26. package/dist/Breadcrumbs.mjs +83 -82
  27. package/dist/Breadcrumbs.mjs.map +1 -1
  28. package/dist/Button.cjs +68 -68
  29. package/dist/Button.css +59 -59
  30. package/dist/Button.mjs +68 -68
  31. package/dist/ButtonGroup.cjs +15 -15
  32. package/dist/ButtonGroup.css +11 -11
  33. package/dist/ButtonGroup.mjs +15 -15
  34. package/dist/Card.cjs +157 -157
  35. package/dist/Card.css +117 -117
  36. package/dist/Card.mjs +157 -157
  37. package/dist/CardView.cjs +13 -13
  38. package/dist/CardView.css +14 -14
  39. package/dist/CardView.mjs +13 -13
  40. package/dist/CenterBaseline.cjs +1 -1
  41. package/dist/CenterBaseline.css +2 -2
  42. package/dist/CenterBaseline.mjs +1 -1
  43. package/dist/Checkbox.cjs +46 -46
  44. package/dist/Checkbox.css +42 -42
  45. package/dist/Checkbox.mjs +46 -46
  46. package/dist/CheckboxGroup.cjs +36 -36
  47. package/dist/CheckboxGroup.css +32 -32
  48. package/dist/CheckboxGroup.mjs +36 -36
  49. package/dist/ClearButton.cjs +5 -5
  50. package/dist/ClearButton.css +5 -5
  51. package/dist/ClearButton.mjs +5 -5
  52. package/dist/CloseButton.cjs +15 -15
  53. package/dist/CloseButton.css +15 -15
  54. package/dist/CloseButton.mjs +15 -15
  55. package/dist/ColorArea.cjs +9 -9
  56. package/dist/ColorArea.css +9 -9
  57. package/dist/ColorArea.mjs +9 -9
  58. package/dist/ColorField.cjs +29 -29
  59. package/dist/ColorField.css +24 -24
  60. package/dist/ColorField.mjs +29 -29
  61. package/dist/ColorHandle.cjs +9 -9
  62. package/dist/ColorHandle.css +16 -16
  63. package/dist/ColorHandle.mjs +9 -9
  64. package/dist/ColorSlider.cjs +34 -34
  65. package/dist/ColorSlider.css +42 -42
  66. package/dist/ColorSlider.mjs +34 -34
  67. package/dist/ColorSwatch.cjs +6 -6
  68. package/dist/ColorSwatch.css +14 -14
  69. package/dist/ColorSwatch.mjs +6 -6
  70. package/dist/ColorSwatchPicker.cjs +12 -12
  71. package/dist/ColorSwatchPicker.css +32 -32
  72. package/dist/ColorSwatchPicker.mjs +12 -12
  73. package/dist/ColorWheel.cjs +14 -14
  74. package/dist/ColorWheel.css +14 -14
  75. package/dist/ColorWheel.mjs +14 -14
  76. package/dist/ComboBox.cjs +51 -48
  77. package/dist/ComboBox.cjs.map +1 -1
  78. package/dist/ComboBox.css +47 -47
  79. package/dist/ComboBox.css.map +1 -1
  80. package/dist/ComboBox.mjs +51 -48
  81. package/dist/ComboBox.mjs.map +1 -1
  82. package/dist/ContextualHelp.cjs +5 -5
  83. package/dist/ContextualHelp.css +23 -23
  84. package/dist/ContextualHelp.mjs +5 -5
  85. package/dist/CustomDialog.cjs +8 -8
  86. package/dist/CustomDialog.css +9 -9
  87. package/dist/CustomDialog.mjs +8 -8
  88. package/dist/Dialog.cjs +10 -10
  89. package/dist/Dialog.css +39 -39
  90. package/dist/Dialog.mjs +10 -10
  91. package/dist/Disclosure.cjs +53 -53
  92. package/dist/Disclosure.css +47 -47
  93. package/dist/Disclosure.mjs +53 -53
  94. package/dist/Divider.cjs +5 -5
  95. package/dist/Divider.css +5 -5
  96. package/dist/Divider.mjs +5 -5
  97. package/dist/DropZone.cjs +24 -24
  98. package/dist/DropZone.css +24 -24
  99. package/dist/DropZone.mjs +24 -24
  100. package/dist/Field.cjs +98 -98
  101. package/dist/Field.cjs.map +1 -1
  102. package/dist/Field.css +68 -68
  103. package/dist/Field.mjs +98 -98
  104. package/dist/Field.mjs.map +1 -1
  105. package/dist/Form.cjs +4 -4
  106. package/dist/Form.css +3 -3
  107. package/dist/Form.mjs +4 -4
  108. package/dist/FullscreenDialog.cjs +5 -5
  109. package/dist/FullscreenDialog.css +54 -54
  110. package/dist/FullscreenDialog.mjs +5 -5
  111. package/dist/IllustratedMessage.cjs +117 -117
  112. package/dist/IllustratedMessage.css +58 -58
  113. package/dist/IllustratedMessage.mjs +117 -117
  114. package/dist/Image.cjs +10 -10
  115. package/dist/Image.css +11 -11
  116. package/dist/Image.mjs +10 -10
  117. package/dist/InlineAlert.cjs +41 -41
  118. package/dist/InlineAlert.css +44 -44
  119. package/dist/InlineAlert.mjs +41 -41
  120. package/dist/Link.cjs +27 -27
  121. package/dist/Link.css +27 -27
  122. package/dist/Link.mjs +27 -27
  123. package/dist/Menu.cjs +278 -207
  124. package/dist/Menu.cjs.map +1 -1
  125. package/dist/Menu.css +114 -112
  126. package/dist/Menu.css.map +1 -1
  127. package/dist/Menu.mjs +278 -207
  128. package/dist/Menu.mjs.map +1 -1
  129. package/dist/Meter.cjs +45 -45
  130. package/dist/Meter.css +51 -51
  131. package/dist/Meter.mjs +45 -45
  132. package/dist/Modal.cjs +37 -37
  133. package/dist/Modal.css +35 -35
  134. package/dist/Modal.mjs +37 -37
  135. package/dist/NumberField.cjs +57 -57
  136. package/dist/NumberField.css +65 -65
  137. package/dist/NumberField.mjs +57 -57
  138. package/dist/Picker.cjs +114 -111
  139. package/dist/Picker.cjs.map +1 -1
  140. package/dist/Picker.css +79 -79
  141. package/dist/Picker.css.map +1 -1
  142. package/dist/Picker.mjs +114 -111
  143. package/dist/Picker.mjs.map +1 -1
  144. package/dist/Popover.cjs +40 -40
  145. package/dist/Popover.css +37 -37
  146. package/dist/Popover.mjs +40 -40
  147. package/dist/ProgressBar.cjs +57 -57
  148. package/dist/ProgressBar.css +61 -61
  149. package/dist/ProgressBar.mjs +57 -57
  150. package/dist/ProgressCircle.cjs +3 -3
  151. package/dist/ProgressCircle.css +2 -2
  152. package/dist/ProgressCircle.mjs +3 -3
  153. package/dist/Provider.cjs +4 -4
  154. package/dist/Provider.css +5 -5
  155. package/dist/Provider.mjs +4 -4
  156. package/dist/Radio.cjs +46 -46
  157. package/dist/Radio.css +42 -42
  158. package/dist/Radio.mjs +46 -46
  159. package/dist/RadioGroup.cjs +34 -34
  160. package/dist/RadioGroup.css +32 -32
  161. package/dist/RadioGroup.mjs +34 -34
  162. package/dist/SearchField.cjs +31 -31
  163. package/dist/SearchField.css +29 -29
  164. package/dist/SearchField.mjs +31 -31
  165. package/dist/SegmentedControl.cjs +54 -54
  166. package/dist/SegmentedControl.css +54 -54
  167. package/dist/SegmentedControl.mjs +54 -54
  168. package/dist/Slider.cjs +89 -89
  169. package/dist/Slider.css +82 -82
  170. package/dist/Slider.mjs +89 -89
  171. package/dist/StatusLight.cjs +26 -26
  172. package/dist/StatusLight.css +26 -26
  173. package/dist/StatusLight.mjs +26 -26
  174. package/dist/Switch.cjs +47 -47
  175. package/dist/Switch.css +40 -40
  176. package/dist/Switch.mjs +47 -47
  177. package/dist/TableView.cjs +137 -137
  178. package/dist/TableView.css +76 -76
  179. package/dist/TableView.mjs +137 -137
  180. package/dist/Tabs.cjs +60 -60
  181. package/dist/Tabs.css +52 -52
  182. package/dist/Tabs.mjs +60 -60
  183. package/dist/TabsPicker.cjs +63 -63
  184. package/dist/TabsPicker.css +61 -61
  185. package/dist/TabsPicker.mjs +63 -63
  186. package/dist/TagGroup.cjs +102 -102
  187. package/dist/TagGroup.css +84 -84
  188. package/dist/TagGroup.mjs +102 -102
  189. package/dist/TextField.cjs +36 -36
  190. package/dist/TextField.css +33 -33
  191. package/dist/TextField.mjs +36 -36
  192. package/dist/ToggleButton.cjs +3 -3
  193. package/dist/ToggleButton.css +7 -7
  194. package/dist/ToggleButton.mjs +3 -3
  195. package/dist/Tooltip.cjs +29 -29
  196. package/dist/Tooltip.css +31 -31
  197. package/dist/Tooltip.mjs +29 -29
  198. package/dist/types.d.ts +2 -0
  199. package/dist/types.d.ts.map +1 -1
  200. package/icons/Skeleton.cjs +2 -2
  201. package/icons/Skeleton.css +5 -5
  202. package/icons/Skeleton.mjs +2 -2
  203. package/package.json +19 -19
  204. package/src/ComboBox.tsx +2 -1
  205. package/src/Menu.tsx +40 -17
  206. package/src/Picker.tsx +2 -1
  207. package/style/dist/spectrum-theme.cjs +12 -1
  208. package/style/dist/spectrum-theme.cjs.map +1 -1
  209. package/style/dist/spectrum-theme.mjs +12 -1
  210. package/style/dist/spectrum-theme.mjs.map +1 -1
  211. package/style/dist/types.d.ts +2 -0
  212. package/style/dist/types.d.ts.map +1 -1
  213. package/style/spectrum-theme.ts +9 -1
@@ -47,31 +47,31 @@ const $f329dd4f2aa58cd0$var$MAX_VISIBLE_ITEMS = 4;
47
47
  const $f329dd4f2aa58cd0$export$65596d3621b0a4a0 = /*#__PURE__*/ (0, $a1dfd$createContext)(null);
48
48
  const $f329dd4f2aa58cd0$var$wrapper = function anonymous(props, overrides) {
49
49
  let rules = " .";
50
- let matches = (overrides || '').match(/(?:^|\s)(?:y|z|A|B|_9|_8|h|_5|_4|__A|__c|__d|__a|__b|U|__Q|X|Z|V|W|l|q|r)[^\s]+/g) || [];
50
+ let matches = (overrides || '').match(/(?:^|\s)(?:y|z|A|B|__a|_9|h|_6|_5|__B|__d|__e|__b|__c|V|__R|Y|_a|W|X|l|q|r)[^\s]+/g) || [];
51
51
  rules += matches.join('');
52
- let $U = false;
52
+ let $V = false;
53
+ let $__a = false;
53
54
  let $_9 = false;
54
- let $_8 = false;
55
55
  let $h = false;
56
56
  let $A = false;
57
57
  let $B = false;
58
58
  let $y = false;
59
59
  for (let p of matches){
60
- if (/^\s*U/.test(p)) $U = true;
60
+ if (/^\s*V/.test(p)) $V = true;
61
+ if (/^\s*__a/.test(p)) $__a = true;
61
62
  if (/^\s*_9/.test(p)) $_9 = true;
62
- if (/^\s*_8/.test(p)) $_8 = true;
63
63
  if (/^\s*h/.test(p)) $h = true;
64
64
  if (/^\s*A/.test(p)) $A = true;
65
65
  if (/^\s*B/.test(p)) $B = true;
66
66
  if (/^\s*y/.test(p)) $y = true;
67
67
  }
68
- if (!$U) rules += ' Uc';
69
- rules += ' _Zd';
70
- rules += ' _2b';
71
- rules += ' _ga';
72
- rules += ' _7c';
73
- if (!$_9) rules += ' _9-3t1y';
74
- if (!$_8) rules += ' _8-3t1x';
68
+ if (!$V) rules += ' Vc';
69
+ rules += ' _0d';
70
+ rules += ' _3b';
71
+ rules += ' _ha';
72
+ rules += ' _8c';
73
+ if (!$__a) rules += ' __a-3t1y';
74
+ if (!$_9) rules += ' _9-3t1x';
75
75
  if (!$h) rules += ' ha';
76
76
  if (props.size === "L") rules += ' i-1dtpt05';
77
77
  else if (props.size === "M") rules += ' i-ve8p9e';
@@ -81,9 +81,9 @@ const $f329dd4f2aa58cd0$var$wrapper = function anonymous(props, overrides) {
81
81
  rules += ' Fa';
82
82
  rules += ' Ca';
83
83
  rules += ' Da';
84
- rules += ' _Oa';
85
- rules += ' _Q-375x7f';
86
- rules += ' _Ra';
84
+ rules += ' _Pa';
85
+ rules += ' _R-375x7f';
86
+ rules += ' _Sa';
87
87
  if (!$A) rules += ' Aa';
88
88
  if (!$B) rules += ' Ba';
89
89
  if (!$y) {
@@ -180,7 +180,7 @@ let $f329dd4f2aa58cd0$var$HiddenBreadcrumbs = function(props) {
180
180
  // @ts-ignore
181
181
  inert: "true",
182
182
  ref: listRef,
183
- className: " . _Z-17zqamw i-17zqamw j-17zqamw _7-17zqamw Ua Xa Za __Eb __vb __wb _K-3t1x",
183
+ className: " . _0-17zqamw i-17zqamw j-17zqamw _8-17zqamw Va Ya _aa __Fb __wb __xb _L-3t1x",
184
184
  children: [
185
185
  items.map((item, idx)=>{
186
186
  // pull off individual props as an allow list, don't want refs or other props getting through
@@ -207,19 +207,19 @@ let $f329dd4f2aa58cd0$var$HiddenBreadcrumbs = function(props) {
207
207
  };
208
208
  const $f329dd4f2aa58cd0$var$breadcrumbStyles = function anonymous(props) {
209
209
  let rules = " .";
210
- rules += ' _Zd';
211
- rules += ' _1c';
212
- rules += ' _2b';
210
+ rules += ' _0d';
211
+ rules += ' _2c';
212
+ rules += ' _3b';
213
213
  if (props.size === "XL") rules += ' kj';
214
214
  else if (props.size === "L") rules += ' ki';
215
215
  else if (props.size === "S") rules += ' kh';
216
216
  else if (props.size === "XS") rules += ' kg';
217
217
  else rules += ' kf';
218
- rules += ' _Oa';
219
- rules += ' _Q-375x7f';
220
- rules += ' _Ra';
221
- rules += ' Uc';
222
- rules += ' _8-3t1x';
218
+ rules += ' _Pa';
219
+ rules += ' _R-375x7f';
220
+ rules += ' _Sa';
221
+ rules += ' Vc';
222
+ rules += ' _9-3t1x';
223
223
  if (props.isDisabled) rules += ' aa_____O';
224
224
  else rules += ' aa_____K';
225
225
  if (props.isDisabled) rules += ' aj';
@@ -236,6 +236,7 @@ const $f329dd4f2aa58cd0$var$breadcrumbStyles = function anonymous(props) {
236
236
  const $f329dd4f2aa58cd0$var$chevronStyles = function anonymous(props) {
237
237
  let rules = " .";
238
238
  if (props.direction === "rtl") rules += ' S-3hmpv';
239
+ if (props.direction === "rtl") rules += ' T-3hmpv';
239
240
  if (props.isMenu) rules += ' ya';
240
241
  else {
241
242
  rules += ' ybH';
@@ -251,43 +252,43 @@ const $f329dd4f2aa58cd0$var$chevronStyles = function anonymous(props) {
251
252
  };
252
253
  const $f329dd4f2aa58cd0$var$linkStyles = function anonymous(props) {
253
254
  let rules = " .";
254
- if (props.isFocusVisible) rules += ' _Lb';
255
- else rules += ' _La';
255
+ if (props.isFocusVisible) rules += ' _Mb';
256
+ else rules += ' _Ma';
256
257
  rules += ' da_____M';
257
258
  rules += ' dx';
258
- rules += ' _Nc';
259
- rules += ' _M-3t1z';
260
- rules += ' _vb';
259
+ rules += ' _Oc';
260
+ rules += ' _N-3t1z';
261
261
  rules += ' _wb';
262
262
  rules += ' _xb';
263
263
  rules += ' _yb';
264
- rules += ' _c-bc1l9oh';
265
- rules += ' _c-1uotwbwg';
266
- rules += ' _c-eo0c6sf';
267
- rules += ' _c-enzzrge';
268
- rules += ' _c-enzykdd';
269
- rules += ' _c-enzwzjc';
270
- rules += ' _c-enzrfpb';
271
- rules += ' _ca';
264
+ rules += ' _zb';
265
+ rules += ' _d-bc1l9oh';
266
+ rules += ' _d-1uotwbwg';
267
+ rules += ' _d-eo0c6sf';
268
+ rules += ' _d-enzzrge';
269
+ rules += ' _d-enzykdd';
270
+ rules += ' _d-enzwzjc';
271
+ rules += ' _d-enzrfpb';
272
+ rules += ' _da';
272
273
  if (props.size === "XL") {
273
- rules += ' _dbj';
274
- rules += ' _di';
274
+ rules += ' _ebj';
275
+ rules += ' _ei';
275
276
  } else if (props.size === "L") {
276
- rules += ' _dbh';
277
- rules += ' _dg';
277
+ rules += ' _ebh';
278
+ rules += ' _eg';
278
279
  } else if (props.size === "S") {
279
- rules += ' _dbd';
280
- rules += ' _dc';
280
+ rules += ' _ebd';
281
+ rules += ' _ec';
281
282
  } else if (props.size === "XS") {
282
- rules += ' _dbb';
283
- rules += ' _da';
283
+ rules += ' _ebb';
284
+ rules += ' _ea';
284
285
  } else {
285
- rules += ' _dbf';
286
- rules += ' _de';
286
+ rules += ' _ebf';
287
+ rules += ' _ee';
287
288
  }
288
- rules += ' _eb';
289
- rules += ' _f-1x99dlob';
290
- rules += ' _fa';
289
+ rules += ' _fb';
290
+ rules += ' _g-1x99dlob';
291
+ rules += ' _ga';
291
292
  if (props.isDisabled) rules += ' aa_____O';
292
293
  else rules += ' aa_____Q';
293
294
  if (props.isCurrent) {
@@ -302,52 +303,52 @@ const $f329dd4f2aa58cd0$var$linkStyles = function anonymous(props) {
302
303
  else if (props.isHovered) rules += ' an';
303
304
  else rules += ' am';
304
305
  }
305
- rules += ' _Oa';
306
- rules += ' _Q-375x7f';
307
- rules += ' _Ra';
308
- if (props.isDisabled) rules += ' _ld';
309
- else if (props.isFocusVisible) rules += ' _la';
310
- else if (props.isHovered) rules += ' _la';
311
- else rules += ' _ld';
312
- if (props.isDisabled) rules += ' __Hb';
313
- else rules += ' __Hc';
314
- rules += ' __R-yksgrp';
306
+ rules += ' _Pa';
307
+ rules += ' _R-375x7f';
308
+ rules += ' _Sa';
309
+ if (props.isDisabled) rules += ' _md';
310
+ else if (props.isFocusVisible) rules += ' _ma';
311
+ else if (props.isHovered) rules += ' _ma';
312
+ else rules += ' _md';
313
+ if (props.isDisabled) rules += ' __Ib';
314
+ else rules += ' __Ic';
315
+ rules += ' __S-yksgrp';
315
316
  return rules;
316
317
  };
317
318
  const $f329dd4f2aa58cd0$var$currentStyles = function anonymous(props) {
318
319
  let rules = " .";
319
- rules += ' _c-bc1l9oh';
320
- rules += ' _c-1uotwbwg';
321
- rules += ' _c-eo0c6sf';
322
- rules += ' _c-enzzrge';
323
- rules += ' _c-enzykdd';
324
- rules += ' _c-enzwzjc';
325
- rules += ' _c-enzrfpb';
326
- rules += ' _ca';
320
+ rules += ' _d-bc1l9oh';
321
+ rules += ' _d-1uotwbwg';
322
+ rules += ' _d-eo0c6sf';
323
+ rules += ' _d-enzzrge';
324
+ rules += ' _d-enzykdd';
325
+ rules += ' _d-enzwzjc';
326
+ rules += ' _d-enzrfpb';
327
+ rules += ' _da';
327
328
  if (props.size === "XL") {
328
- rules += ' _dbj';
329
- rules += ' _di';
329
+ rules += ' _ebj';
330
+ rules += ' _ei';
330
331
  } else if (props.size === "L") {
331
- rules += ' _dbh';
332
- rules += ' _dg';
332
+ rules += ' _ebh';
333
+ rules += ' _eg';
333
334
  } else if (props.size === "S") {
334
- rules += ' _dbd';
335
- rules += ' _dc';
335
+ rules += ' _ebd';
336
+ rules += ' _ec';
336
337
  } else if (props.size === "XS") {
337
- rules += ' _dbb';
338
- rules += ' _da';
338
+ rules += ' _ebb';
339
+ rules += ' _ea';
339
340
  } else {
340
- rules += ' _dbf';
341
- rules += ' _de';
341
+ rules += ' _ebf';
342
+ rules += ' _ee';
342
343
  }
343
- rules += ' _ed';
344
- rules += ' _f-1x99dlob';
345
- rules += ' _fa';
344
+ rules += ' _fd';
345
+ rules += ' _g-1x99dlob';
346
+ rules += ' _ga';
346
347
  rules += ' an';
347
348
  return rules;
348
349
  };
349
350
  // TODO: support user heading size customization, for now just set it to large
350
- const $f329dd4f2aa58cd0$var$heading = " . Aa Ba ya za _ca _c-enzrfpb _c-enzwzjc _c-enzykdd _c-enzzrge _c-eo0c6sf _c-1uotwbwg _c-bc1l9oh _dn _dbo _ee _fa _f-1x99dlob ao";
351
+ const $f329dd4f2aa58cd0$var$heading = " . Aa Ba ya za _da _d-enzrfpb _d-enzwzjc _d-enzykdd _d-enzzrge _d-eo0c6sf _d-1uotwbwg _d-bc1l9oh _en _ebo _fe _ga _g-1x99dlob ao";
351
352
  const $f329dd4f2aa58cd0$export$dabcc1ec9dd9d1cc = /*#__PURE__*/ (0, $a1dfd$forwardRef)(function Breadcrumb({ children: children, ...props }, ref) {
352
353
  let { href: href, target: target, rel: rel, download: download, ping: ping, referrerPolicy: referrerPolicy } = props;
353
354
  let { size: size = 'M' } = (0, $a1dfd$useContext)($f329dd4f2aa58cd0$var$InternalBreadcrumbsContext) ?? {};
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@react-spectrum/s2/src/Breadcrumbs.tsx"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ActionButton} from './ActionButton';\nimport {\n Breadcrumb as AriaBreadcrumb,\n BreadcrumbsProps as AriaBreadcrumbsProps,\n CollectionRenderer,\n ContextValue,\n HeadingContext,\n Link,\n Provider,\n Breadcrumbs as RACBreadcrumbs,\n UNSTABLE_CollectionRendererContext,\n UNSTABLE_DefaultCollectionRenderer\n} from 'react-aria-components';\nimport {AriaBreadcrumbItemProps, useLocale} from 'react-aria';\nimport ChevronIcon from '../ui-icons/Chevron';\nimport {Collection, DOMRef, DOMRefValue, LinkDOMProps, Node} from '@react-types/shared';\nimport {createContext, forwardRef, Fragment, ReactNode, RefObject, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport {focusRing, size, style} from '../style' with { type: 'macro' };\nimport FolderIcon from '../s2wf-icons/S2_Icon_FolderBreadcrumb_20_N.svg';\nimport {forwardRefType} from './types';\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {Menu, MenuItem, MenuTrigger} from './Menu';\nimport {Text} from './Content';\nimport {useDOMRef, useResizeObserver} from '@react-spectrum/utils';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nconst MIN_VISIBLE_ITEMS = 1;\nconst MAX_VISIBLE_ITEMS = 4;\n\ninterface BreadcrumbsStyleProps {\n /**\n * Size of the Breadcrumbs including spacing and layout.\n *\n * @default 'M'\n */\n size?: 'M' | 'L',\n /** Whether the breadcrumbs are disabled. */\n isDisabled?: boolean\n /**\n * Whether to place the last Breadcrumb item onto a new line.\n */\n // TODO: isMultiline?: boolean\n /** Whether to always show the root item if the items are collapsed. */\n // TODO: showRoot?: boolean,\n}\n\nexport interface BreadcrumbsProps<T> extends Omit<AriaBreadcrumbsProps<T>, 'children' | 'items' | 'style' | 'className'>, BreadcrumbsStyleProps, StyleProps {\n /** The children of the Breadcrumbs. */\n children?: ReactNode\n}\n\nexport const BreadcrumbsContext = createContext<ContextValue<BreadcrumbsProps<any>, DOMRefValue<HTMLOListElement>>>(null);\n\nconst wrapper = style<BreadcrumbsStyleProps>({\n position: 'relative',\n display: 'flex',\n justifyContent: 'start',\n listStyleType: 'none',\n flexWrap: 'nowrap',\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: 0,\n gap: {\n size: {\n // TODO: why do these scale but other spacings don't?\n M: size(6), // breadcrumbs-text-to-separator-medium\n L: size(9) // breadcrumbs-text-to-separator-large\n }\n },\n padding: 0,\n transition: 'default',\n marginTop: 0,\n marginBottom: 0,\n marginStart: {\n size: {\n M: size(6),\n L: size(9)\n }\n }\n}, getAllowedOverrides());\n\nconst InternalBreadcrumbsContext = createContext<BreadcrumbsProps<any>>({});\n\n/** Breadcrumbs show hierarchy and navigational context for a user’s location within an application. */\nexport const Breadcrumbs = /*#__PURE__*/ (forwardRef as forwardRefType)(function Breadcrumbs<T extends object>(props: BreadcrumbsProps<T>, ref: DOMRef<HTMLOListElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, BreadcrumbsContext);\n let domRef = useDOMRef(ref);\n let {\n UNSAFE_className = '',\n UNSAFE_style,\n styles,\n size = 'M',\n children,\n isDisabled,\n ...otherProps\n } = props;\n\n return (\n <Provider\n values={[\n [InternalBreadcrumbsContext, {size, isDisabled}]\n ]}>\n <CollapsingCollection containerRef={domRef} onAction={props.onAction}>\n <RACBreadcrumbs\n {...otherProps}\n isDisabled={isDisabled}\n ref={domRef}\n style={UNSAFE_style}\n className={UNSAFE_className + wrapper({\n size\n }, styles)}>\n {children}\n </RACBreadcrumbs>\n </CollapsingCollection>\n </Provider>\n );\n});\n\nlet BreadcrumbMenu = (props: {items: Array<Node<any>>, onAction: BreadcrumbsProps<unknown>['onAction']}) => {\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let {items, onAction} = props;\n let {direction} = useLocale();\n let {size, isDisabled} = useContext(InternalBreadcrumbsContext);\n let label = stringFormatter.format('breadcrumbs.more');\n return (\n <UNSTABLE_CollectionRendererContext.Provider value={UNSTABLE_DefaultCollectionRenderer}>\n <li className={breadcrumbStyles({size, isDisabled, isMenu: true})}>\n <MenuTrigger>\n <ActionButton isDisabled={isDisabled} isQuiet aria-label={label}><FolderIcon /></ActionButton>\n <Menu items={items} onAction={onAction}>\n {(item: Node<any>) => (\n <MenuItem\n {...item.props.originalProps}\n key={item.key}>\n <Text slot=\"label\">\n {item.props.children({size, isCurrent: false, isMenu: true})}\n </Text>\n </MenuItem>\n )}\n </Menu>\n </MenuTrigger>\n <ChevronIcon\n size={size}\n className={chevronStyles({direction, isMenu: true})} />\n </li>\n </UNSTABLE_CollectionRendererContext.Provider>\n );\n};\n\nlet HiddenBreadcrumbs = function (props: {listRef: RefObject<HTMLDivElement | null>, items: Array<Node<any>>, size: string}) {\n let {listRef, items, size} = props;\n return (\n <div\n // @ts-ignore\n inert=\"true\"\n ref={listRef}\n className={style({\n display: '[inherit]',\n gap: '[inherit]',\n flexWrap: '[inherit]',\n position: 'absolute',\n top: 0,\n bottom: 0,\n start: 0,\n end: 0,\n visibility: 'hidden',\n overflow: 'hidden',\n opacity: 0\n })}>\n {items.map((item, idx) => {\n // pull off individual props as an allow list, don't want refs or other props getting through\n return (\n <div\n data-hidden-breadcrumb\n style={item.props.UNSAFE_style}\n key={item.key}\n className={item.props.className({size, isCurrent: idx === items.length - 1})}>\n {item.props.children({size, isCurrent: idx === items.length - 1})}\n </div>\n );\n })}\n <ActionButton data-hidden-button isQuiet><FolderIcon /></ActionButton>\n </div>\n );\n};\n\nconst breadcrumbStyles = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'start',\n height: 'control',\n transition: 'default',\n position: 'relative',\n flexShrink: 0,\n color: {\n default: 'neutral',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isDisabled: 'GrayText'\n }\n },\n borderStyle: 'none',\n marginStart: {\n // adjusts with the parent flex gap\n isMenu: size(-6)\n }\n});\n\nconst chevronStyles = style({\n scale: {\n direction: {\n rtl: -1\n }\n },\n marginStart: {\n default: 'text-to-visual',\n isMenu: 0\n },\n color: {\n default: 'neutral',\n forcedColors: {\n default: 'LinkText'\n }\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n});\n\nconst linkStyles = style({\n ...focusRing(),\n borderRadius: 'sm',\n font: 'control',\n color: {\n default: 'neutral-subdued',\n isDisabled: 'disabled',\n isCurrent: 'neutral',\n forcedColors: {\n default: 'LinkText',\n isDisabled: 'GrayText'\n }\n },\n transition: 'default',\n textDecoration: {\n default: 'none',\n isHovered: 'underline',\n isFocusVisible: 'underline',\n isDisabled: 'none'\n },\n cursor: {\n default: 'pointer',\n isDisabled: 'default'\n },\n outlineColor: {\n default: 'focus-ring',\n forcedColors: 'Highlight'\n },\n disableTapHighlight: true\n});\n\nconst currentStyles = style<{size: string}>({\n font: 'control',\n fontWeight: 'bold'\n});\n\n// TODO: support user heading size customization, for now just set it to large\nconst heading = style({\n margin: 0,\n font: 'heading-lg',\n fontWeight: 'extra-bold'\n});\n\nexport interface BreadcrumbProps extends Omit<AriaBreadcrumbItemProps, 'children' | 'style' | 'className' | 'autoFocus'>, LinkDOMProps {\n /** The children of the breadcrumb item. */\n children?: ReactNode\n}\n\n/** An individual Breadcrumb for Breadcrumbs. */\nexport const Breadcrumb = /*#__PURE__*/ (forwardRef as forwardRefType)(function Breadcrumb({children, ...props}: BreadcrumbProps, ref: DOMRef<HTMLLIElement>) {\n let {href, target, rel, download, ping, referrerPolicy} = props;\n let {size = 'M'} = useContext(InternalBreadcrumbsContext) ?? {};\n let domRef = useDOMRef(ref);\n let {direction} = useLocale();\n return (\n <AriaBreadcrumb\n {...props}\n ref={domRef}\n // @ts-ignore\n originalProps={props}\n className={({isCurrent, isDisabled}) => breadcrumbStyles({size, isCurrent, isDisabled})}>\n {({\n isCurrent,\n isDisabled,\n // @ts-ignore\n isMenu\n }) => {\n if (isMenu) {\n return children;\n }\n return (\n isCurrent ?\n <div\n className={currentStyles({size})}>\n <Provider\n values={[\n [HeadingContext, {className: heading}]\n ]}>\n {children}\n </Provider>\n </div>\n : (\n <>\n <Link\n style={({isFocusVisible}) => ({clipPath: isFocusVisible ? 'none' : 'margin-box'})}\n href={href}\n target={target}\n rel={rel}\n download={download}\n ping={ping}\n referrerPolicy={referrerPolicy}\n isDisabled={isDisabled || isCurrent}\n className={({isFocused, isFocusVisible, isHovered, isDisabled, isPressed}) => linkStyles({isFocused, isFocusVisible, isHovered, isDisabled, size, isPressed})}>\n {children}\n </Link>\n <ChevronIcon\n size=\"M\"\n className={chevronStyles({direction})} />\n </>\n )\n );\n }}\n </AriaBreadcrumb>\n );\n});\n\n// Context for passing the count for the custom renderer\nlet CollapseContext = createContext<{\n containerRef: RefObject<HTMLOListElement | null>,\n onAction: BreadcrumbsProps<unknown>['onAction']\n} | null>(null);\n\nfunction CollapsingCollection({children, containerRef, onAction}) {\n return (\n <CollapseContext.Provider value={{containerRef, onAction}}>\n <UNSTABLE_CollectionRendererContext.Provider value={CollapsingCollectionRenderer}>\n {children}\n </UNSTABLE_CollectionRendererContext.Provider>\n </CollapseContext.Provider>\n );\n}\n\nlet CollapsingCollectionRenderer: CollectionRenderer = {\n CollectionRoot({collection}) {\n return useCollectionRender(collection);\n },\n CollectionBranch({collection}) {\n return useCollectionRender(collection);\n }\n};\n\nlet useCollectionRender = (collection: Collection<Node<unknown>>) => {\n let {containerRef, onAction} = useContext(CollapseContext) ?? {};\n let [visibleItems, setVisibleItems] = useState(collection.size);\n let {size = 'M'} = useContext(InternalBreadcrumbsContext);\n\n let children = useMemo(() => {\n let result: Node<any>[] = [];\n for (let key of collection.getKeys()) {\n result.push(collection.getItem(key)!);\n }\n return result;\n }, [collection]);\n\n let listRef = useRef<HTMLDivElement | null>(null);\n let updateOverflow = useCallback(() => {\n let currListRef: HTMLDivElement | null = listRef.current;\n if (!currListRef) {\n setVisibleItems(collection.size);\n return;\n }\n let container = currListRef.parentElement;\n if (!container) {\n setVisibleItems(collection.size);\n return;\n }\n\n let listItems = Array.from(currListRef.querySelectorAll('[data-hidden-breadcrumb]')) as HTMLLIElement[];\n let folder = currListRef.querySelector('button') as HTMLButtonElement;\n if (listItems.length <= 0) {\n setVisibleItems(collection.size);\n return;\n }\n let containerWidth = container.offsetWidth;\n let containerGap = parseInt(getComputedStyle(container).gap, 10);\n let folderGap = parseInt(getComputedStyle(folder).marginInlineStart, 10);\n let newVisibleItems = 0;\n let maxVisibleItems = MAX_VISIBLE_ITEMS;\n\n let widths: Array<number> = [];\n let totalWidth = 0;\n for (let breadcrumb of listItems) {\n let width = breadcrumb.offsetWidth + 1; // offsetWidth is rounded down\n widths.push(width);\n totalWidth += width;\n }\n\n // can we fit all the items without collapsing\n if (totalWidth <= containerWidth - (collection.size * containerGap) && collection.size <= MAX_VISIBLE_ITEMS) {\n setVisibleItems(collection.size);\n return;\n }\n\n // we know there is always at least one item because of the listItems.length check up above\n let widthOfFirst = widths.shift()!;\n let availableWidth = containerWidth - widthOfFirst - folderGap - folder.offsetWidth - containerGap;\n maxVisibleItems -= 2; // account for the first item and folder\n for (let width of widths.reverse()) {\n availableWidth -= width;\n if (availableWidth <= 0) {\n break;\n }\n availableWidth -= containerGap;\n newVisibleItems++;\n }\n\n setVisibleItems(Math.max(MIN_VISIBLE_ITEMS, Math.min(maxVisibleItems, newVisibleItems)));\n }, [collection.size, setVisibleItems]);\n\n // making bad assumption that i can listen to containerRef when it's declared in the parent?\n useResizeObserver({ref: containerRef, onResize: updateOverflow});\n\n useLayoutEffect(() => {\n if (collection.size > 0) {\n queueMicrotask(updateOverflow);\n }\n }, [collection.size, updateOverflow]);\n\n useEffect(() => {\n // Recalculate visible tags when fonts are loaded.\n document.fonts?.ready.then(() => updateOverflow());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n let sliceIndex = collection.size - visibleItems;\n\n return (\n <>\n <HiddenBreadcrumbs items={children} size={size} listRef={listRef} />\n {visibleItems < collection.size && collection.size > 2 ? (\n <>\n {children[0].render?.(children[0])}\n <BreadcrumbMenu items={children.slice(1, sliceIndex)} onAction={onAction} />\n {children.slice(sliceIndex).map(node => <Fragment key={node.key}>{node.render?.(node)}</Fragment >)}\n </>\n ) : (\n <>\n {children.map(node => <Fragment key={node.key}>{node.render?.(node)}</Fragment>)}\n </>\n )}\n </>\n );\n};\n"],"names":[],"version":3,"file":"Breadcrumbs.mjs.map"}
1
+ {"mappings":"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","sources":["packages/@react-spectrum/s2/src/Breadcrumbs.tsx"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ActionButton} from './ActionButton';\nimport {\n Breadcrumb as AriaBreadcrumb,\n BreadcrumbsProps as AriaBreadcrumbsProps,\n CollectionRenderer,\n ContextValue,\n HeadingContext,\n Link,\n Provider,\n Breadcrumbs as RACBreadcrumbs,\n UNSTABLE_CollectionRendererContext,\n UNSTABLE_DefaultCollectionRenderer\n} from 'react-aria-components';\nimport {AriaBreadcrumbItemProps, useLocale} from 'react-aria';\nimport ChevronIcon from '../ui-icons/Chevron';\nimport {Collection, DOMRef, DOMRefValue, LinkDOMProps, Node} from '@react-types/shared';\nimport {createContext, forwardRef, Fragment, ReactNode, RefObject, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport {focusRing, size, style} from '../style' with { type: 'macro' };\nimport FolderIcon from '../s2wf-icons/S2_Icon_FolderBreadcrumb_20_N.svg';\nimport {forwardRefType} from './types';\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {Menu, MenuItem, MenuTrigger} from './Menu';\nimport {Text} from './Content';\nimport {useDOMRef, useResizeObserver} from '@react-spectrum/utils';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\nconst MIN_VISIBLE_ITEMS = 1;\nconst MAX_VISIBLE_ITEMS = 4;\n\ninterface BreadcrumbsStyleProps {\n /**\n * Size of the Breadcrumbs including spacing and layout.\n *\n * @default 'M'\n */\n size?: 'M' | 'L',\n /** Whether the breadcrumbs are disabled. */\n isDisabled?: boolean\n /**\n * Whether to place the last Breadcrumb item onto a new line.\n */\n // TODO: isMultiline?: boolean\n /** Whether to always show the root item if the items are collapsed. */\n // TODO: showRoot?: boolean,\n}\n\nexport interface BreadcrumbsProps<T> extends Omit<AriaBreadcrumbsProps<T>, 'children' | 'items' | 'style' | 'className'>, BreadcrumbsStyleProps, StyleProps {\n /** The children of the Breadcrumbs. */\n children?: ReactNode\n}\n\nexport const BreadcrumbsContext = createContext<ContextValue<BreadcrumbsProps<any>, DOMRefValue<HTMLOListElement>>>(null);\n\nconst wrapper = style<BreadcrumbsStyleProps>({\n position: 'relative',\n display: 'flex',\n justifyContent: 'start',\n listStyleType: 'none',\n flexWrap: 'nowrap',\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: 0,\n gap: {\n size: {\n // TODO: why do these scale but other spacings don't?\n M: size(6), // breadcrumbs-text-to-separator-medium\n L: size(9) // breadcrumbs-text-to-separator-large\n }\n },\n padding: 0,\n transition: 'default',\n marginTop: 0,\n marginBottom: 0,\n marginStart: {\n size: {\n M: size(6),\n L: size(9)\n }\n }\n}, getAllowedOverrides());\n\nconst InternalBreadcrumbsContext = createContext<BreadcrumbsProps<any>>({});\n\n/** Breadcrumbs show hierarchy and navigational context for a user’s location within an application. */\nexport const Breadcrumbs = /*#__PURE__*/ (forwardRef as forwardRefType)(function Breadcrumbs<T extends object>(props: BreadcrumbsProps<T>, ref: DOMRef<HTMLOListElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, BreadcrumbsContext);\n let domRef = useDOMRef(ref);\n let {\n UNSAFE_className = '',\n UNSAFE_style,\n styles,\n size = 'M',\n children,\n isDisabled,\n ...otherProps\n } = props;\n\n return (\n <Provider\n values={[\n [InternalBreadcrumbsContext, {size, isDisabled}]\n ]}>\n <CollapsingCollection containerRef={domRef} onAction={props.onAction}>\n <RACBreadcrumbs\n {...otherProps}\n isDisabled={isDisabled}\n ref={domRef}\n style={UNSAFE_style}\n className={UNSAFE_className + wrapper({\n size\n }, styles)}>\n {children}\n </RACBreadcrumbs>\n </CollapsingCollection>\n </Provider>\n );\n});\n\nlet BreadcrumbMenu = (props: {items: Array<Node<any>>, onAction: BreadcrumbsProps<unknown>['onAction']}) => {\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/s2');\n let {items, onAction} = props;\n let {direction} = useLocale();\n let {size, isDisabled} = useContext(InternalBreadcrumbsContext);\n let label = stringFormatter.format('breadcrumbs.more');\n return (\n <UNSTABLE_CollectionRendererContext.Provider value={UNSTABLE_DefaultCollectionRenderer}>\n <li className={breadcrumbStyles({size, isDisabled, isMenu: true})}>\n <MenuTrigger>\n <ActionButton isDisabled={isDisabled} isQuiet aria-label={label}><FolderIcon /></ActionButton>\n <Menu items={items} onAction={onAction}>\n {(item: Node<any>) => (\n <MenuItem\n {...item.props.originalProps}\n key={item.key}>\n <Text slot=\"label\">\n {item.props.children({size, isCurrent: false, isMenu: true})}\n </Text>\n </MenuItem>\n )}\n </Menu>\n </MenuTrigger>\n <ChevronIcon\n size={size}\n className={chevronStyles({direction, isMenu: true})} />\n </li>\n </UNSTABLE_CollectionRendererContext.Provider>\n );\n};\n\nlet HiddenBreadcrumbs = function (props: {listRef: RefObject<HTMLDivElement | null>, items: Array<Node<any>>, size: string}) {\n let {listRef, items, size} = props;\n return (\n <div\n // @ts-ignore\n inert=\"true\"\n ref={listRef}\n className={style({\n display: '[inherit]',\n gap: '[inherit]',\n flexWrap: '[inherit]',\n position: 'absolute',\n top: 0,\n bottom: 0,\n start: 0,\n end: 0,\n visibility: 'hidden',\n overflow: 'hidden',\n opacity: 0\n })}>\n {items.map((item, idx) => {\n // pull off individual props as an allow list, don't want refs or other props getting through\n return (\n <div\n data-hidden-breadcrumb\n style={item.props.UNSAFE_style}\n key={item.key}\n className={item.props.className({size, isCurrent: idx === items.length - 1})}>\n {item.props.children({size, isCurrent: idx === items.length - 1})}\n </div>\n );\n })}\n <ActionButton data-hidden-button isQuiet><FolderIcon /></ActionButton>\n </div>\n );\n};\n\nconst breadcrumbStyles = style({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'start',\n height: 'control',\n transition: 'default',\n position: 'relative',\n flexShrink: 0,\n color: {\n default: 'neutral',\n isDisabled: 'disabled',\n forcedColors: {\n default: 'ButtonText',\n isDisabled: 'GrayText'\n }\n },\n borderStyle: 'none',\n marginStart: {\n // adjusts with the parent flex gap\n isMenu: size(-6)\n }\n});\n\nconst chevronStyles = style({\n scale: {\n direction: {\n rtl: -1\n }\n },\n marginStart: {\n default: 'text-to-visual',\n isMenu: 0\n },\n color: {\n default: 'neutral',\n forcedColors: {\n default: 'LinkText'\n }\n },\n '--iconPrimary': {\n type: 'fill',\n value: 'currentColor'\n }\n});\n\nconst linkStyles = style({\n ...focusRing(),\n borderRadius: 'sm',\n font: 'control',\n color: {\n default: 'neutral-subdued',\n isDisabled: 'disabled',\n isCurrent: 'neutral',\n forcedColors: {\n default: 'LinkText',\n isDisabled: 'GrayText'\n }\n },\n transition: 'default',\n textDecoration: {\n default: 'none',\n isHovered: 'underline',\n isFocusVisible: 'underline',\n isDisabled: 'none'\n },\n cursor: {\n default: 'pointer',\n isDisabled: 'default'\n },\n outlineColor: {\n default: 'focus-ring',\n forcedColors: 'Highlight'\n },\n disableTapHighlight: true\n});\n\nconst currentStyles = style<{size: string}>({\n font: 'control',\n fontWeight: 'bold'\n});\n\n// TODO: support user heading size customization, for now just set it to large\nconst heading = style({\n margin: 0,\n font: 'heading-lg',\n fontWeight: 'extra-bold'\n});\n\nexport interface BreadcrumbProps extends Omit<AriaBreadcrumbItemProps, 'children' | 'style' | 'className' | 'autoFocus'>, LinkDOMProps {\n /** The children of the breadcrumb item. */\n children?: ReactNode\n}\n\n/** An individual Breadcrumb for Breadcrumbs. */\nexport const Breadcrumb = /*#__PURE__*/ (forwardRef as forwardRefType)(function Breadcrumb({children, ...props}: BreadcrumbProps, ref: DOMRef<HTMLLIElement>) {\n let {href, target, rel, download, ping, referrerPolicy} = props;\n let {size = 'M'} = useContext(InternalBreadcrumbsContext) ?? {};\n let domRef = useDOMRef(ref);\n let {direction} = useLocale();\n return (\n <AriaBreadcrumb\n {...props}\n ref={domRef}\n // @ts-ignore\n originalProps={props}\n className={({isCurrent, isDisabled}) => breadcrumbStyles({size, isCurrent, isDisabled})}>\n {({\n isCurrent,\n isDisabled,\n // @ts-ignore\n isMenu\n }) => {\n if (isMenu) {\n return children;\n }\n return (\n isCurrent ?\n <div\n className={currentStyles({size})}>\n <Provider\n values={[\n [HeadingContext, {className: heading}]\n ]}>\n {children}\n </Provider>\n </div>\n : (\n <>\n <Link\n style={({isFocusVisible}) => ({clipPath: isFocusVisible ? 'none' : 'margin-box'})}\n href={href}\n target={target}\n rel={rel}\n download={download}\n ping={ping}\n referrerPolicy={referrerPolicy}\n isDisabled={isDisabled || isCurrent}\n className={({isFocused, isFocusVisible, isHovered, isDisabled, isPressed}) => linkStyles({isFocused, isFocusVisible, isHovered, isDisabled, size, isPressed})}>\n {children}\n </Link>\n <ChevronIcon\n size=\"M\"\n className={chevronStyles({direction})} />\n </>\n )\n );\n }}\n </AriaBreadcrumb>\n );\n});\n\n// Context for passing the count for the custom renderer\nlet CollapseContext = createContext<{\n containerRef: RefObject<HTMLOListElement | null>,\n onAction: BreadcrumbsProps<unknown>['onAction']\n} | null>(null);\n\nfunction CollapsingCollection({children, containerRef, onAction}) {\n return (\n <CollapseContext.Provider value={{containerRef, onAction}}>\n <UNSTABLE_CollectionRendererContext.Provider value={CollapsingCollectionRenderer}>\n {children}\n </UNSTABLE_CollectionRendererContext.Provider>\n </CollapseContext.Provider>\n );\n}\n\nlet CollapsingCollectionRenderer: CollectionRenderer = {\n CollectionRoot({collection}) {\n return useCollectionRender(collection);\n },\n CollectionBranch({collection}) {\n return useCollectionRender(collection);\n }\n};\n\nlet useCollectionRender = (collection: Collection<Node<unknown>>) => {\n let {containerRef, onAction} = useContext(CollapseContext) ?? {};\n let [visibleItems, setVisibleItems] = useState(collection.size);\n let {size = 'M'} = useContext(InternalBreadcrumbsContext);\n\n let children = useMemo(() => {\n let result: Node<any>[] = [];\n for (let key of collection.getKeys()) {\n result.push(collection.getItem(key)!);\n }\n return result;\n }, [collection]);\n\n let listRef = useRef<HTMLDivElement | null>(null);\n let updateOverflow = useCallback(() => {\n let currListRef: HTMLDivElement | null = listRef.current;\n if (!currListRef) {\n setVisibleItems(collection.size);\n return;\n }\n let container = currListRef.parentElement;\n if (!container) {\n setVisibleItems(collection.size);\n return;\n }\n\n let listItems = Array.from(currListRef.querySelectorAll('[data-hidden-breadcrumb]')) as HTMLLIElement[];\n let folder = currListRef.querySelector('button') as HTMLButtonElement;\n if (listItems.length <= 0) {\n setVisibleItems(collection.size);\n return;\n }\n let containerWidth = container.offsetWidth;\n let containerGap = parseInt(getComputedStyle(container).gap, 10);\n let folderGap = parseInt(getComputedStyle(folder).marginInlineStart, 10);\n let newVisibleItems = 0;\n let maxVisibleItems = MAX_VISIBLE_ITEMS;\n\n let widths: Array<number> = [];\n let totalWidth = 0;\n for (let breadcrumb of listItems) {\n let width = breadcrumb.offsetWidth + 1; // offsetWidth is rounded down\n widths.push(width);\n totalWidth += width;\n }\n\n // can we fit all the items without collapsing\n if (totalWidth <= containerWidth - (collection.size * containerGap) && collection.size <= MAX_VISIBLE_ITEMS) {\n setVisibleItems(collection.size);\n return;\n }\n\n // we know there is always at least one item because of the listItems.length check up above\n let widthOfFirst = widths.shift()!;\n let availableWidth = containerWidth - widthOfFirst - folderGap - folder.offsetWidth - containerGap;\n maxVisibleItems -= 2; // account for the first item and folder\n for (let width of widths.reverse()) {\n availableWidth -= width;\n if (availableWidth <= 0) {\n break;\n }\n availableWidth -= containerGap;\n newVisibleItems++;\n }\n\n setVisibleItems(Math.max(MIN_VISIBLE_ITEMS, Math.min(maxVisibleItems, newVisibleItems)));\n }, [collection.size, setVisibleItems]);\n\n // making bad assumption that i can listen to containerRef when it's declared in the parent?\n useResizeObserver({ref: containerRef, onResize: updateOverflow});\n\n useLayoutEffect(() => {\n if (collection.size > 0) {\n queueMicrotask(updateOverflow);\n }\n }, [collection.size, updateOverflow]);\n\n useEffect(() => {\n // Recalculate visible tags when fonts are loaded.\n document.fonts?.ready.then(() => updateOverflow());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n let sliceIndex = collection.size - visibleItems;\n\n return (\n <>\n <HiddenBreadcrumbs items={children} size={size} listRef={listRef} />\n {visibleItems < collection.size && collection.size > 2 ? (\n <>\n {children[0].render?.(children[0])}\n <BreadcrumbMenu items={children.slice(1, sliceIndex)} onAction={onAction} />\n {children.slice(sliceIndex).map(node => <Fragment key={node.key}>{node.render?.(node)}</Fragment >)}\n </>\n ) : (\n <>\n {children.map(node => <Fragment key={node.key}>{node.render?.(node)}</Fragment>)}\n </>\n )}\n </>\n );\n};\n"],"names":[],"version":3,"file":"Breadcrumbs.mjs.map"}
package/dist/Button.cjs CHANGED
@@ -56,60 +56,60 @@ const $25d06cf8d4e72761$export$1c1a176f3b9e48d3 = /*#__PURE__*/ (0, $8owBJ$react
56
56
  const $25d06cf8d4e72761$var$iconOnly = ':has([slot=icon]):not(:has([data-rsp-slot=text]))';
57
57
  const $25d06cf8d4e72761$var$button = function anonymous(props, overrides) {
58
58
  let rules = " .";
59
- let matches = (overrides || '').match(/(?:^|\s)(?:y|z|A|B|_9|_8|h|_5|_4|__A|__c|__d|__a|__b|U|__Q|X|Z|V|W|l|q|r)[^\s]+/g) || [];
59
+ let matches = (overrides || '').match(/(?:^|\s)(?:y|z|A|B|__a|_9|h|_6|_5|__B|__d|__e|__b|__c|V|__R|Y|_a|W|X|l|q|r)[^\s]+/g) || [];
60
60
  rules += matches.join('');
61
- let $U = false;
61
+ let $V = false;
62
62
  let $q = false;
63
63
  let $l = false;
64
64
  for (let p of matches){
65
- if (/^\s*U/.test(p)) $U = true;
65
+ if (/^\s*V/.test(p)) $V = true;
66
66
  if (/^\s*q/.test(p)) $q = true;
67
67
  if (/^\s*l/.test(p)) $l = true;
68
68
  }
69
- if (props.isFocusVisible) rules += ' _Lb';
70
- else rules += ' _La';
69
+ if (props.isFocusVisible) rules += ' _Mb';
70
+ else rules += ' _Ma';
71
71
  rules += ' da_____M';
72
72
  if (props.isStaticColor) rules += ' d_____G';
73
73
  else rules += ' dx';
74
- rules += ' _Nc';
75
- rules += ' _M-3t1z';
74
+ rules += ' _Oc';
75
+ rules += ' _N-3t1z';
76
76
  if (props.staticColor === "white") rules += ' -_1de2x0q_b-b';
77
77
  else if (props.staticColor === "black") rules += ' -_1de2x0q_b-c';
78
- if (!$U) rules += ' Uc';
79
- rules += ' _Zd';
80
- rules += ' _1-soocicc';
81
- rules += ' _1d';
78
+ if (!$V) rules += ' Vc';
79
+ rules += ' _0d';
80
+ rules += ' _2-soocicc';
82
81
  rules += ' _2d';
83
- rules += ' _ja';
82
+ rules += ' _3d';
83
+ rules += ' _ka';
84
84
  rules += ' jbH';
85
85
  rules += ' jG';
86
- rules += ' _c-bc1l9oh';
87
- rules += ' _c-1uotwbwg';
88
- rules += ' _c-eo0c6sf';
89
- rules += ' _c-enzzrge';
90
- rules += ' _c-enzykdd';
91
- rules += ' _c-enzwzjc';
92
- rules += ' _c-enzrfpb';
93
- rules += ' _ca';
86
+ rules += ' _d-bc1l9oh';
87
+ rules += ' _d-1uotwbwg';
88
+ rules += ' _d-eo0c6sf';
89
+ rules += ' _d-enzzrge';
90
+ rules += ' _d-enzykdd';
91
+ rules += ' _d-enzwzjc';
92
+ rules += ' _d-enzrfpb';
93
+ rules += ' _da';
94
94
  if (props.size === "XL") {
95
- rules += ' _dbj';
96
- rules += ' _di';
95
+ rules += ' _ebj';
96
+ rules += ' _ei';
97
97
  } else if (props.size === "L") {
98
- rules += ' _dbh';
99
- rules += ' _dg';
98
+ rules += ' _ebh';
99
+ rules += ' _eg';
100
100
  } else if (props.size === "S") {
101
- rules += ' _dbd';
102
- rules += ' _dc';
101
+ rules += ' _ebd';
102
+ rules += ' _ec';
103
103
  } else if (props.size === "XS") {
104
- rules += ' _dbb';
105
- rules += ' _da';
104
+ rules += ' _ebb';
105
+ rules += ' _ea';
106
106
  } else {
107
- rules += ' _dbf';
108
- rules += ' _de';
107
+ rules += ' _ebf';
108
+ rules += ' _ee';
109
109
  }
110
- rules += ' _ed';
111
- rules += ' _f-1x99dlob';
112
- rules += ' _fa';
110
+ rules += ' _fd';
111
+ rules += ' _g-1x99dlob';
112
+ rules += ' _ga';
113
113
  if (props.fillStyle === "outline") {
114
114
  if (props.isDisabled) rules += ' aa_____O';
115
115
  else rules += ' aa_____K';
@@ -161,7 +161,7 @@ const $25d06cf8d4e72761$var$button = function anonymous(props, overrides) {
161
161
  else rules += ' an';
162
162
  } else if (props.variant === "primary") rules += ' ad';
163
163
  }
164
- rules += ' __Da';
164
+ rules += ' __Ea';
165
165
  rules += ' o-375tou';
166
166
  if (!$q) {
167
167
  if (props.size === "XL") rules += ' q-soocicj';
@@ -170,23 +170,23 @@ const $25d06cf8d4e72761$var$button = function anonymous(props, overrides) {
170
170
  else if (props.size === "XS") rules += ' q-soocicg';
171
171
  else rules += ' q-soocicf';
172
172
  }
173
- rules += ' _vg';
174
173
  rules += ' _wg';
175
174
  rules += ' _xg';
176
175
  rules += ' _yg';
177
- rules += ' __na';
176
+ rules += ' _zg';
177
+ rules += ' __oa';
178
178
  if (!$l) rules += ' le';
179
- rules += ' _ld';
179
+ rules += ' _md';
180
180
  rules += ' C-soocica';
181
181
  rules += ' CJ';
182
182
  rules += ' D-soocica';
183
183
  rules += ' DJ';
184
184
  rules += ' Ea';
185
185
  rules += ' Fa';
186
- rules += ' _b-soocicb';
187
- rules += ' _Oa';
188
- rules += ' _Q-375x7f';
189
- rules += ' _Ra';
186
+ rules += ' _c-soocicb';
187
+ rules += ' _Pa';
188
+ rules += ' _R-375x7f';
189
+ rules += ' _Sa';
190
190
  rules += ' wa';
191
191
  rules += ' u-375tp0';
192
192
  rules += ' v-375tp1';
@@ -229,23 +229,23 @@ const $25d06cf8d4e72761$var$button = function anonymous(props, overrides) {
229
229
  else if (props.isHovered) rules += ' co';
230
230
  else rules += ' cn';
231
231
  }
232
- rules += ' _Ba-yknrp1';
233
- if (props.isDisabled) rules += ' _B-yknrp1';
232
+ rules += ' _Ca-yknrp1';
233
+ if (props.isDisabled) rules += ' _C-yknrp1';
234
234
  else if (props.variant === "genai") {
235
- if (props.isFocusVisible) rules += ' _B-1gcd5pl';
236
- else if (props.isPressed) rules += ' _B-1gcd5pl';
237
- else if (props.isHovered) rules += ' _B-1gcd5pl';
238
- else rules += ' _B-u0nzys';
235
+ if (props.isFocusVisible) rules += ' _C-1gcd5pl';
236
+ else if (props.isPressed) rules += ' _C-1gcd5pl';
237
+ else if (props.isHovered) rules += ' _C-1gcd5pl';
238
+ else rules += ' _C-u0nzys';
239
239
  } else if (props.variant === "premium") {
240
- if (props.isFocusVisible) rules += ' _B-2xhv0x';
241
- else if (props.isPressed) rules += ' _B-2xhv0x';
242
- else if (props.isHovered) rules += ' _B-2xhv0x';
243
- else rules += ' _B-riuwfd';
240
+ if (props.isFocusVisible) rules += ' _C-2xhv0x';
241
+ else if (props.isPressed) rules += ' _C-2xhv0x';
242
+ else if (props.isHovered) rules += ' _C-2xhv0x';
243
+ else rules += ' _C-riuwfd';
244
244
  }
245
245
  rules += ' b-375toh';
246
246
  rules += ' -rwx0fg_e-b';
247
- rules += ' _zb';
248
- rules += ' __R-yksgrp';
247
+ rules += ' _Ab';
248
+ rules += ' __S-yksgrp';
249
249
  if (props.size === "XL") rules += ' -_375tou_o-j';
250
250
  else if (props.size === "L") rules += ' -_375tou_o-i';
251
251
  else if (props.size === "S") rules += ' -_375tou_o-h';
@@ -383,9 +383,9 @@ const $25d06cf8d4e72761$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $8owBJ$react
383
383
  let rules = " .";
384
384
  rules += ' E-1gogtue';
385
385
  rules += ' F-1gogtue';
386
- rules += ' __A-3t1y';
387
- if (props.isProgressVisible) rules += ' _K-3t1x';
388
- else rules += ' _K-3t1y';
386
+ rules += ' __B-3t1y';
387
+ if (props.isProgressVisible) rules += ' _L-3t1x';
388
+ else rules += ' _L-3t1y';
389
389
  return rules;
390
390
  }({
391
391
  isProgressVisible: isProgressVisible
@@ -399,16 +399,16 @@ const $25d06cf8d4e72761$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $8owBJ$react
399
399
  {
400
400
  render: (0, $e991cbcdf82ced71$exports.centerBaseline)({
401
401
  slot: 'icon',
402
- styles: " . __A-3t1x"
402
+ styles: " . __B-3t1x"
403
403
  }),
404
404
  styles: function anonymous(props) {
405
405
  let rules = " .";
406
406
  rules += ' l-1sthc3k';
407
407
  rules += ' k-1sthc3k';
408
408
  rules += ' y-oelgqu';
409
- rules += ' _8-3t1x';
410
- if (props.isProgressVisible) rules += ' _K-3t1x';
411
- else rules += ' _K-3t1y';
409
+ rules += ' _9-3t1x';
410
+ if (props.isProgressVisible) rules += ' _L-3t1x';
411
+ else rules += ' _L-3t1y';
412
412
  return rules;
413
413
  }({
414
414
  isProgressVisible: isProgressVisible
@@ -423,12 +423,12 @@ const $25d06cf8d4e72761$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $8owBJ$react
423
423
  isPending && /*#__PURE__*/ (0, $8owBJ$reactjsxruntime.jsx)("div", {
424
424
  className: function anonymous(props) {
425
425
  let rules = " .";
426
- rules += ' Ua';
427
- rules += ' X-3760fj';
426
+ rules += ' Va';
428
427
  rules += ' Y-3760fj';
429
- rules += ' T-1tktoou';
430
- if (props.isProgressVisible) rules += ' _K-3t1y';
431
- else rules += ' _K-3t1x';
428
+ rules += ' Z-3760fj';
429
+ rules += ' U-1tktoou';
430
+ if (props.isProgressVisible) rules += ' _L-3t1y';
431
+ else rules += ' _L-3t1x';
432
432
  return rules;
433
433
  }({
434
434
  isProgressVisible: isProgressVisible,
@@ -488,7 +488,7 @@ const $25d06cf8d4e72761$export$29d11c0fe2fc51d8 = /*#__PURE__*/ (0, $8owBJ$react
488
488
  [
489
489
  (0, $6367bc87eb7d24ad$exports.TextContext),
490
490
  {
491
- styles: " . E-1gogtue F-1gogtue __A-3t1y",
491
+ styles: " . E-1gogtue F-1gogtue __B-3t1y",
492
492
  // @ts-ignore data-attributes allowed on all JSX elements, but adding to DOMProps has been problematic in the past
493
493
  'data-rsp-slot': 'text'
494
494
  }
@@ -498,9 +498,9 @@ const $25d06cf8d4e72761$export$29d11c0fe2fc51d8 = /*#__PURE__*/ (0, $8owBJ$react
498
498
  {
499
499
  render: (0, $e991cbcdf82ced71$exports.centerBaseline)({
500
500
  slot: 'icon',
501
- styles: " . __A-3t1x"
501
+ styles: " . __B-3t1x"
502
502
  }),
503
- styles: " . l-1sthc3k k-1sthc3k y-oelgqu _8-3t1x"
503
+ styles: " . l-1sthc3k k-1sthc3k y-oelgqu _9-3t1x"
504
504
  }
505
505
  ]
506
506
  ],