@react-spectrum/s2 1.5.0 → 1.5.1

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 (268) hide show
  1. package/dist/private/Accordion.cjs +2 -2
  2. package/dist/private/Accordion.css +2 -2
  3. package/dist/private/Accordion.mjs +2 -2
  4. package/dist/private/ActionBar.cjs +59 -59
  5. package/dist/private/ActionBar.css +58 -58
  6. package/dist/private/ActionBar.mjs +59 -59
  7. package/dist/private/ActionButton.cjs +247 -247
  8. package/dist/private/ActionButton.css +169 -169
  9. package/dist/private/ActionButton.mjs +247 -247
  10. package/dist/private/ActionButtonGroup.cjs +15 -15
  11. package/dist/private/ActionButtonGroup.css +9 -9
  12. package/dist/private/ActionButtonGroup.mjs +15 -15
  13. package/dist/private/Add.cjs +10 -10
  14. package/dist/private/Add.css +6 -6
  15. package/dist/private/Add.mjs +10 -10
  16. package/dist/private/AlertDialog.cjs +3 -3
  17. package/dist/private/AlertDialog.css +3 -3
  18. package/dist/private/AlertDialog.mjs +3 -3
  19. package/dist/private/Asterisk.cjs +6 -6
  20. package/dist/private/Asterisk.css +4 -4
  21. package/dist/private/Asterisk.mjs +6 -6
  22. package/dist/private/Avatar.cjs +16 -16
  23. package/dist/private/Avatar.css +16 -16
  24. package/dist/private/Avatar.mjs +16 -16
  25. package/dist/private/AvatarGroup.cjs +120 -120
  26. package/dist/private/AvatarGroup.css +31 -31
  27. package/dist/private/AvatarGroup.mjs +120 -120
  28. package/dist/private/Badge.cjs +197 -197
  29. package/dist/private/Badge.css +125 -125
  30. package/dist/private/Badge.mjs +197 -197
  31. package/dist/private/Breadcrumbs.cjs +234 -234
  32. package/dist/private/Breadcrumbs.css +100 -100
  33. package/dist/private/Breadcrumbs.mjs +234 -234
  34. package/dist/private/Button.cjs +335 -326
  35. package/dist/private/Button.cjs.map +1 -1
  36. package/dist/private/Button.css +176 -172
  37. package/dist/private/Button.css.map +1 -1
  38. package/dist/private/Button.mjs +335 -326
  39. package/dist/private/Button.mjs.map +1 -1
  40. package/dist/private/ButtonGroup.cjs +21 -21
  41. package/dist/private/ButtonGroup.css +16 -16
  42. package/dist/private/ButtonGroup.mjs +21 -21
  43. package/dist/private/Calendar.cjs +232 -232
  44. package/dist/private/Calendar.css +149 -149
  45. package/dist/private/Calendar.mjs +232 -232
  46. package/dist/private/Card.cjs +309 -309
  47. package/dist/private/Card.css +206 -206
  48. package/dist/private/Card.mjs +309 -309
  49. package/dist/private/CardView.cjs +17 -17
  50. package/dist/private/CardView.css +17 -17
  51. package/dist/private/CardView.mjs +17 -17
  52. package/dist/private/CenterBaseline.cjs +1 -1
  53. package/dist/private/CenterBaseline.css +2 -2
  54. package/dist/private/CenterBaseline.mjs +1 -1
  55. package/dist/private/Checkbox.cjs +188 -188
  56. package/dist/private/Checkbox.css +110 -110
  57. package/dist/private/Checkbox.mjs +188 -188
  58. package/dist/private/CheckboxGroup.cjs +43 -43
  59. package/dist/private/CheckboxGroup.css +37 -37
  60. package/dist/private/CheckboxGroup.mjs +43 -43
  61. package/dist/private/Checkmark.cjs +12 -12
  62. package/dist/private/Checkmark.css +8 -8
  63. package/dist/private/Checkmark.mjs +12 -12
  64. package/dist/private/Chevron.cjs +12 -12
  65. package/dist/private/Chevron.css +10 -10
  66. package/dist/private/Chevron.mjs +12 -12
  67. package/dist/private/ClearButton.cjs +30 -30
  68. package/dist/private/ClearButton.css +30 -30
  69. package/dist/private/ClearButton.mjs +30 -30
  70. package/dist/private/CloseButton.cjs +52 -52
  71. package/dist/private/CloseButton.css +46 -46
  72. package/dist/private/CloseButton.mjs +52 -52
  73. package/dist/private/ColorArea.cjs +16 -16
  74. package/dist/private/ColorArea.css +16 -16
  75. package/dist/private/ColorArea.mjs +16 -16
  76. package/dist/private/ColorField.cjs +31 -31
  77. package/dist/private/ColorField.css +27 -27
  78. package/dist/private/ColorField.mjs +31 -31
  79. package/dist/private/ColorHandle.cjs +27 -27
  80. package/dist/private/ColorHandle.css +42 -42
  81. package/dist/private/ColorHandle.mjs +27 -27
  82. package/dist/private/ColorSlider.cjs +108 -108
  83. package/dist/private/ColorSlider.css +52 -52
  84. package/dist/private/ColorSlider.mjs +108 -108
  85. package/dist/private/ColorSwatch.cjs +29 -29
  86. package/dist/private/ColorSwatch.css +29 -29
  87. package/dist/private/ColorSwatch.mjs +29 -29
  88. package/dist/private/ColorSwatchPicker.cjs +29 -29
  89. package/dist/private/ColorSwatchPicker.css +48 -48
  90. package/dist/private/ColorSwatchPicker.mjs +29 -29
  91. package/dist/private/ColorWheel.cjs +26 -26
  92. package/dist/private/ColorWheel.css +17 -17
  93. package/dist/private/ColorWheel.mjs +26 -26
  94. package/dist/private/ComboBox.cjs +381 -381
  95. package/dist/private/ComboBox.css +188 -188
  96. package/dist/private/ComboBox.mjs +381 -381
  97. package/dist/private/ContextualHelp.cjs +5 -5
  98. package/dist/private/ContextualHelp.css +50 -50
  99. package/dist/private/ContextualHelp.mjs +5 -5
  100. package/dist/private/CornerTriangle.cjs +8 -8
  101. package/dist/private/CornerTriangle.css +6 -6
  102. package/dist/private/CornerTriangle.mjs +8 -8
  103. package/dist/private/Cross.cjs +14 -14
  104. package/dist/private/Cross.css +10 -10
  105. package/dist/private/Cross.mjs +14 -14
  106. package/dist/private/CustomDialog.cjs +25 -25
  107. package/dist/private/CustomDialog.css +25 -25
  108. package/dist/private/CustomDialog.mjs +25 -25
  109. package/dist/private/Dash.cjs +10 -10
  110. package/dist/private/Dash.css +6 -6
  111. package/dist/private/Dash.mjs +10 -10
  112. package/dist/private/DateField.cjs +73 -73
  113. package/dist/private/DateField.css +77 -77
  114. package/dist/private/DateField.mjs +73 -73
  115. package/dist/private/DatePicker.cjs +172 -172
  116. package/dist/private/DatePicker.css +128 -128
  117. package/dist/private/DatePicker.mjs +172 -172
  118. package/dist/private/DateRangePicker.cjs +55 -55
  119. package/dist/private/DateRangePicker.css +59 -59
  120. package/dist/private/DateRangePicker.mjs +55 -55
  121. package/dist/private/Dialog.cjs +17 -17
  122. package/dist/private/Dialog.css +70 -70
  123. package/dist/private/Dialog.mjs +17 -17
  124. package/dist/private/Disclosure.cjs +119 -119
  125. package/dist/private/Disclosure.css +112 -112
  126. package/dist/private/Disclosure.mjs +119 -119
  127. package/dist/private/Divider.cjs +25 -25
  128. package/dist/private/Divider.css +25 -25
  129. package/dist/private/Divider.mjs +25 -25
  130. package/dist/private/DragHandle.cjs +8 -8
  131. package/dist/private/DragHandle.css +6 -6
  132. package/dist/private/DragHandle.mjs +8 -8
  133. package/dist/private/DragPreview.cjs +154 -154
  134. package/dist/private/DragPreview.css +106 -106
  135. package/dist/private/DragPreview.mjs +154 -154
  136. package/dist/private/DropZone.cjs +61 -61
  137. package/dist/private/DropZone.css +57 -57
  138. package/dist/private/DropZone.mjs +61 -61
  139. package/dist/private/Field.cjs +360 -360
  140. package/dist/private/Field.cjs.map +1 -1
  141. package/dist/private/Field.css +160 -160
  142. package/dist/private/Field.mjs +360 -360
  143. package/dist/private/Field.mjs.map +1 -1
  144. package/dist/private/Form.cjs +9 -9
  145. package/dist/private/Form.css +9 -9
  146. package/dist/private/Form.mjs +9 -9
  147. package/dist/private/FullscreenDialog.cjs +5 -5
  148. package/dist/private/FullscreenDialog.css +78 -78
  149. package/dist/private/FullscreenDialog.mjs +5 -5
  150. package/dist/private/IllustratedMessage.cjs +228 -228
  151. package/dist/private/IllustratedMessage.css +72 -72
  152. package/dist/private/IllustratedMessage.mjs +228 -228
  153. package/dist/private/Image.cjs +14 -14
  154. package/dist/private/Image.css +14 -14
  155. package/dist/private/Image.mjs +14 -14
  156. package/dist/private/InlineAlert.cjs +100 -100
  157. package/dist/private/InlineAlert.css +76 -76
  158. package/dist/private/InlineAlert.mjs +100 -100
  159. package/dist/private/LabeledValue.cjs +134 -134
  160. package/dist/private/LabeledValue.css +63 -63
  161. package/dist/private/LabeledValue.mjs +134 -134
  162. package/dist/private/Link.cjs +49 -49
  163. package/dist/private/Link.css +41 -41
  164. package/dist/private/Link.mjs +49 -49
  165. package/dist/private/LinkOut.cjs +8 -8
  166. package/dist/private/LinkOut.css +8 -8
  167. package/dist/private/LinkOut.mjs +8 -8
  168. package/dist/private/ListView.cjs +245 -245
  169. package/dist/private/ListView.css +177 -177
  170. package/dist/private/ListView.mjs +245 -245
  171. package/dist/private/Menu.cjs +446 -446
  172. package/dist/private/Menu.css +196 -196
  173. package/dist/private/Menu.mjs +446 -446
  174. package/dist/private/Meter.cjs +153 -153
  175. package/dist/private/Meter.css +91 -91
  176. package/dist/private/Meter.mjs +153 -153
  177. package/dist/private/Modal.cjs +74 -74
  178. package/dist/private/Modal.css +59 -59
  179. package/dist/private/Modal.mjs +74 -74
  180. package/dist/private/NotificationBadge.cjs +56 -56
  181. package/dist/private/NotificationBadge.css +49 -49
  182. package/dist/private/NotificationBadge.mjs +56 -56
  183. package/dist/private/NumberField.cjs +114 -114
  184. package/dist/private/NumberField.css +99 -99
  185. package/dist/private/NumberField.mjs +114 -114
  186. package/dist/private/Picker.cjs +275 -275
  187. package/dist/private/Picker.css +173 -173
  188. package/dist/private/Picker.mjs +275 -275
  189. package/dist/private/Popover.cjs +95 -95
  190. package/dist/private/Popover.css +75 -75
  191. package/dist/private/Popover.mjs +95 -95
  192. package/dist/private/ProgressBar.cjs +163 -163
  193. package/dist/private/ProgressBar.css +99 -99
  194. package/dist/private/ProgressBar.mjs +163 -163
  195. package/dist/private/ProgressCircle.cjs +31 -31
  196. package/dist/private/ProgressCircle.css +24 -24
  197. package/dist/private/ProgressCircle.mjs +31 -31
  198. package/dist/private/Provider.cjs +19 -19
  199. package/dist/private/Provider.css +15 -15
  200. package/dist/private/Provider.mjs +19 -19
  201. package/dist/private/RadioGroup.cjs +208 -208
  202. package/dist/private/RadioGroup.css +113 -113
  203. package/dist/private/RadioGroup.mjs +208 -208
  204. package/dist/private/RangeCalendar.cjs +16 -16
  205. package/dist/private/RangeCalendar.css +17 -17
  206. package/dist/private/RangeCalendar.mjs +16 -16
  207. package/dist/private/SearchField.cjs +41 -41
  208. package/dist/private/SearchField.css +45 -45
  209. package/dist/private/SearchField.mjs +41 -41
  210. package/dist/private/SegmentedControl.cjs +178 -178
  211. package/dist/private/SegmentedControl.css +123 -123
  212. package/dist/private/SegmentedControl.mjs +178 -178
  213. package/dist/private/SelectBoxGroup.cjs +142 -142
  214. package/dist/private/SelectBoxGroup.css +120 -120
  215. package/dist/private/SelectBoxGroup.mjs +142 -142
  216. package/dist/private/Slider.cjs +292 -292
  217. package/dist/private/Slider.css +159 -159
  218. package/dist/private/Slider.mjs +292 -292
  219. package/dist/private/StatusLight.cjs +115 -115
  220. package/dist/private/StatusLight.css +59 -59
  221. package/dist/private/StatusLight.mjs +115 -115
  222. package/dist/private/Switch.cjs +171 -171
  223. package/dist/private/Switch.css +85 -85
  224. package/dist/private/Switch.mjs +171 -171
  225. package/dist/private/TableView.cjs +540 -540
  226. package/dist/private/TableView.css +290 -290
  227. package/dist/private/TableView.mjs +540 -540
  228. package/dist/private/Tabs.cjs +123 -123
  229. package/dist/private/Tabs.css +105 -105
  230. package/dist/private/Tabs.mjs +123 -123
  231. package/dist/private/TabsPicker.cjs +127 -127
  232. package/dist/private/TabsPicker.css +108 -108
  233. package/dist/private/TabsPicker.mjs +127 -127
  234. package/dist/private/TagGroup.cjs +203 -203
  235. package/dist/private/TagGroup.css +146 -146
  236. package/dist/private/TagGroup.mjs +203 -203
  237. package/dist/private/TextField.cjs +58 -58
  238. package/dist/private/TextField.css +54 -54
  239. package/dist/private/TextField.mjs +58 -58
  240. package/dist/private/TimeField.cjs +51 -51
  241. package/dist/private/TimeField.css +47 -47
  242. package/dist/private/TimeField.mjs +51 -51
  243. package/dist/private/Toast.cjs +120 -120
  244. package/dist/private/Toast.css +110 -110
  245. package/dist/private/Toast.mjs +120 -120
  246. package/dist/private/ToggleButton.cjs +16 -16
  247. package/dist/private/ToggleButton.css +23 -23
  248. package/dist/private/ToggleButton.mjs +16 -16
  249. package/dist/private/Tooltip.cjs +86 -86
  250. package/dist/private/Tooltip.css +70 -70
  251. package/dist/private/Tooltip.mjs +86 -86
  252. package/dist/private/TreeView.cjs +229 -229
  253. package/dist/private/TreeView.css +184 -184
  254. package/dist/private/TreeView.mjs +229 -229
  255. package/dist/private/dnd-utils.cjs +42 -42
  256. package/dist/private/dnd-utils.css +39 -39
  257. package/dist/private/dnd-utils.mjs +42 -42
  258. package/icons/Icon.cjs +10 -10
  259. package/icons/Icon.css +9 -9
  260. package/icons/Icon.mjs +10 -10
  261. package/icons/Skeleton.cjs +2 -2
  262. package/icons/Skeleton.cjs.map +1 -1
  263. package/icons/Skeleton.css +6 -6
  264. package/icons/Skeleton.mjs +2 -2
  265. package/icons/Skeleton.mjs.map +1 -1
  266. package/package.json +2 -2
  267. package/src/Button.tsx +12 -2
  268. package/style/__tests__/style-macro.test.js +73 -71
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;AAqBM,SAAS,0CAAoB,WAAoB;IACtD,IAAI,eAAe,CAAA,GAAA,aAAK,EAAoB;IAC5C,IAAI,eAAe,CAAA,GAAA,wCAAY,EAAE;IACjC,OAAO,CAAA,GAAA,kBAAU,EACf,CAAC;QACC,IACE,eACA,CAAC,aAAa,OAAO,IACrB,WACA,CAAC,gBACD,OAAO,QAAQ,OAAO,KAAK,YAC3B;YACA,iEAAiE;YACjE,2EAA2E;YAC3E,aAAa,OAAO,GAAG,QAAQ,OAAO,CACpC;gBAAC;oBAAC,oBAAoB;gBAAM;gBAAG;oBAAC,oBAAoB;gBAAI;aAAE,EAC1D;gBACE,UAAU;gBACV,YAAY;gBACZ,QAAQ;YACV;YAEF,aAAa,OAAO,CAAC,SAAS,GAAG;QACnC,OAAO,IAAI,CAAC,eAAe,aAAa,OAAO,EAAE;YAC/C,aAAa,OAAO,CAAC,MAAM;YAC3B,aAAa,OAAO,GAAG;QACzB;IACF,GACA;QAAC;QAAa;KAAa;AAE/B;AASO,MAAM,0DAAkB,CAAA,GAAA,oBAAY,EAAkB;AACtD,SAAS;IACd,OAAO,CAAA,GAAA,iBAAS,EAAE,8CAAoB;AACxC;AAUO,SAAS,0CAAS,YAAC,QAAQ,aAAE,SAAS,EAAgB;IAC3D,iDAAiD;IACjD,qBAAO,gBAAC,0CAAgB,QAAQ;QAAC,OAAO;kBAAY;;AACtD;AAEO,MAAM,sDASV,qEAAqE;AAEjE,SAAS,0CACd,QAAmB,EACnB,KAAgC;IAEhC,IAAI,aAAa,CAAA,GAAA,iBAAS,EAAE;IAC5B,IAAI,YAAY;QACd,yBAAW,gBAAC;sBAAc;;QAC1B,QAAQ;YACN,GAAG,KAAK;YACR,8DAA8D;YAC9D,2EAA2E;YAC3E,qBAAqB;QACvB;IACF;IACA,OAAO;QAAC;QAAU;KAAM;AAC1B;AAGO,SAAS,0CAAa,YAAC,QAAQ,EAAwB;IAC5D,qBACE,gBAAC;QACC,6CAA6C;QAC7C,OAAO,CAAA,GAAA,iBAAS,EAAE;QAClB,KAAK,0CAAoB;QACzB,WACE;kBAOD;;AAGP;AAGO,SAAS,0CAAgB,YAAC,QAAQ,EAA8B;IACrE,IAAI,YAAY,CAAA,GAAA,iBAAS,EAAE;IAC3B,IAAI,YAAY,0CAAoB,aAAa;IACjD,IAAI,aAAa,MACf,OAAO;IAGT,IAAI,WACF,SAAS,YAAY,CAAC,OAAO,wBAAwB,CAAC,UAAU,QAAQ,MACnE,SAAS,GAAG,GACb,SAAS,KAAK,CAAC,GAAG;IACxB,qBACE,gBAAC,0CAAgB,QAAQ;QAAC,OAAO;kBAC9B,0BACG,CAAA,GAAA,mBAAW,EAAE,UAAU;YACrB,KAAK,CAAA,GAAA,gBAAQ,EAAE,UAAU;YACzB,WAAW,AAAC,CAAA,SAAS,KAAK,CAAC,SAAS,IAAI,EAAC,IAAK,MAAM;YACpD,6CAA6C;YAC7C,OAAO,CAAA,GAAA,iBAAS,EAAE;QACpB,KACA;;AAGV;AAGO,SAAS,0CAAgB,MAAmB;IACjD,IAAI,aAAa,CAAA,GAAA,iBAAS,EAAE;IAC5B,IAAI,YACF,OAAO,CAAA,GAAA,yCAAU,0BAA+B;IAElD,OAAO,UAAW;AACpB","sources":["packages/@react-spectrum/s2/src/Skeleton.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 {\n cloneElement,\n createContext,\n CSSProperties,\n ReactElement,\n ReactNode,\n Ref,\n useCallback,\n useContext,\n useRef\n} from 'react';\nimport {color, style} from '../style' with {type: 'macro'};\nimport {css} from '../style/style-macro' with {type: 'macro'};\nimport {inertValue} from 'react-aria/private/utils/inertValue';\nimport {mergeRefs} from 'react-aria/mergeRefs';\nimport {mergeStyles} from '../style/runtime';\nimport {StyleString} from '../style/types';\nimport {useMediaQuery} from './useMediaQuery';\n\nexport function useLoadingAnimation(isAnimating: boolean): (element: HTMLElement | null) => void {\n let animationRef = useRef<Animation | null>(null);\n let reduceMotion = useMediaQuery('(prefers-reduced-motion: reduce)');\n return useCallback(\n (element: HTMLElement | null) => {\n if (\n isAnimating &&\n !animationRef.current &&\n element &&\n !reduceMotion &&\n typeof element.animate === 'function'\n ) {\n // Use web animation API instead of CSS animations so that we can\n // synchronize it between all loading elements on the page (via startTime).\n animationRef.current = element.animate(\n [{backgroundPosition: '100%'}, {backgroundPosition: '0%'}],\n {\n duration: 2000,\n iterations: Infinity,\n easing: 'ease-in-out'\n }\n );\n animationRef.current.startTime = 0;\n } else if (!isAnimating && animationRef.current) {\n animationRef.current.cancel();\n animationRef.current = null;\n }\n },\n [isAnimating, reduceMotion]\n );\n}\n\nexport type SkeletonElement = ReactElement<{\n children: ReactNode;\n className?: string;\n ref?: Ref<HTMLElement>;\n inert?: boolean | 'true';\n}>;\n\nexport const SkeletonContext = createContext<boolean | null>(null);\nexport function useIsSkeleton(): boolean {\n return useContext(SkeletonContext) || false;\n}\n\nexport interface SkeletonProps {\n children: ReactNode;\n isLoading: boolean;\n}\n\n/**\n * A Skeleton wraps around content to render it as a placeholder.\n */\nexport function Skeleton({children, isLoading}: SkeletonProps): ReactNode {\n // Disable all form components inside a skeleton.\n return <SkeletonContext.Provider value={isLoading}>{children}</SkeletonContext.Provider>;\n}\n\nexport const loadingStyle = css(\n `\n background-image: linear-gradient(to right, ${color('gray-100')} 33%, light-dark(${color('gray-25')}, ${color('gray-300')}), ${color('gray-100')} 66%);\n background-size: 300%;\n * {\n visibility: hidden;\n }\n`,\n 'L'\n); // add to a separate layer so it overrides default style macro styles\n\nexport function useSkeletonText(\n children: ReactNode,\n style: CSSProperties | undefined\n): [ReactNode, CSSProperties | undefined] {\n let isSkeleton = useContext(SkeletonContext);\n if (isSkeleton) {\n children = <SkeletonText>{children}</SkeletonText>;\n style = {\n ...style,\n // This ensures the ellipsis on truncated text is also hidden.\n // -webkit-text-fill-color overrides any `color` property that is also set.\n WebkitTextFillColor: 'transparent'\n };\n }\n return [children, style];\n}\n\n// Rendered inside <Text> to create skeleton line boxes via box-decoration-break.\nexport function SkeletonText({children}: {children: ReactNode}): ReactNode {\n return (\n <span\n // @ts-ignore - compatibility with React < 19\n inert={inertValue(true)}\n ref={useLoadingAnimation(true)}\n className={\n loadingStyle +\n style({\n color: 'transparent',\n boxDecorationBreak: 'clone',\n borderRadius: 'sm'\n })\n }>\n {children}\n </span>\n );\n}\n\n// Clones the child element and displays it with skeleton styling.\nexport function SkeletonWrapper({children}: {children: SkeletonElement}): ReactNode {\n let isLoading = useContext(SkeletonContext);\n let animation = useLoadingAnimation(isLoading || false);\n if (isLoading == null) {\n return children;\n }\n\n let childRef =\n 'ref' in children && !Object.getOwnPropertyDescriptor(children, 'ref')?.get\n ? (children.ref as any)\n : children.props.ref;\n return (\n <SkeletonContext.Provider value={null}>\n {isLoading\n ? cloneElement(children, {\n ref: mergeRefs(childRef, animation),\n className: (children.props.className || '') + ' ' + loadingStyle,\n // @ts-ignore - compatibility with React < 19\n inert: inertValue(true)\n })\n : children}\n </SkeletonContext.Provider>\n );\n}\n\n// Adds default border radius around icons when displayed in a skeleton.\nexport function useSkeletonIcon(styles: StyleString): StyleString {\n let isSkeleton = useContext(SkeletonContext);\n if (isSkeleton) {\n return mergeStyles(style({borderRadius: 'sm'}), styles);\n }\n return styles || ('' as StyleString);\n}\n"],"names":[],"version":3,"file":"Skeleton.mjs.map"}
1
+ {"mappings":";;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;AAqBM,SAAS,0CAAoB,WAAoB;IACtD,IAAI,eAAe,CAAA,GAAA,aAAK,EAAoB;IAC5C,IAAI,eAAe,CAAA,GAAA,wCAAY,EAAE;IACjC,OAAO,CAAA,GAAA,kBAAU,EACf,CAAC;QACC,IACE,eACA,CAAC,aAAa,OAAO,IACrB,WACA,CAAC,gBACD,OAAO,QAAQ,OAAO,KAAK,YAC3B;YACA,iEAAiE;YACjE,2EAA2E;YAC3E,aAAa,OAAO,GAAG,QAAQ,OAAO,CACpC;gBAAC;oBAAC,oBAAoB;gBAAM;gBAAG;oBAAC,oBAAoB;gBAAI;aAAE,EAC1D;gBACE,UAAU;gBACV,YAAY;gBACZ,QAAQ;YACV;YAEF,aAAa,OAAO,CAAC,SAAS,GAAG;QACnC,OAAO,IAAI,CAAC,eAAe,aAAa,OAAO,EAAE;YAC/C,aAAa,OAAO,CAAC,MAAM;YAC3B,aAAa,OAAO,GAAG;QACzB;IACF,GACA;QAAC;QAAa;KAAa;AAE/B;AASO,MAAM,0DAAkB,CAAA,GAAA,oBAAY,EAAkB;AACtD,SAAS;IACd,OAAO,CAAA,GAAA,iBAAS,EAAE,8CAAoB;AACxC;AAUO,SAAS,0CAAS,YAAC,QAAQ,aAAE,SAAS,EAAgB;IAC3D,iDAAiD;IACjD,qBAAO,gBAAC,0CAAgB,QAAQ;QAAC,OAAO;kBAAY;;AACtD;AAEO,MAAM,sDASV,qEAAqE;AAEjE,SAAS,0CACd,QAAmB,EACnB,KAAgC;IAEhC,IAAI,aAAa,CAAA,GAAA,iBAAS,EAAE;IAC5B,IAAI,YAAY;QACd,yBAAW,gBAAC;sBAAc;;QAC1B,QAAQ;YACN,GAAG,KAAK;YACR,8DAA8D;YAC9D,2EAA2E;YAC3E,qBAAqB;QACvB;IACF;IACA,OAAO;QAAC;QAAU;KAAM;AAC1B;AAGO,SAAS,0CAAa,YAAC,QAAQ,EAAwB;IAC5D,qBACE,gBAAC;QACC,6CAA6C;QAC7C,OAAO,CAAA,GAAA,iBAAS,EAAE;QAClB,KAAK,0CAAoB;QACzB,WACE;kBAOD;;AAGP;AAGO,SAAS,0CAAgB,YAAC,QAAQ,EAA8B;IACrE,IAAI,YAAY,CAAA,GAAA,iBAAS,EAAE;IAC3B,IAAI,YAAY,0CAAoB,aAAa;IACjD,IAAI,aAAa,MACf,OAAO;IAGT,IAAI,WACF,SAAS,YAAY,CAAC,OAAO,wBAAwB,CAAC,UAAU,QAAQ,MACnE,SAAS,GAAG,GACb,SAAS,KAAK,CAAC,GAAG;IACxB,qBACE,gBAAC,0CAAgB,QAAQ;QAAC,OAAO;kBAC9B,0BACG,CAAA,GAAA,mBAAW,EAAE,UAAU;YACrB,KAAK,CAAA,GAAA,gBAAQ,EAAE,UAAU;YACzB,WAAW,AAAC,CAAA,SAAS,KAAK,CAAC,SAAS,IAAI,EAAC,IAAK,MAAM;YACpD,6CAA6C;YAC7C,OAAO,CAAA,GAAA,iBAAS,EAAE;QACpB,KACA;;AAGV;AAGO,SAAS,0CAAgB,MAAmB;IACjD,IAAI,aAAa,CAAA,GAAA,iBAAS,EAAE;IAC5B,IAAI,YACF,OAAO,CAAA,GAAA,yCAAU,8BAA+B;IAElD,OAAO,UAAW;AACpB","sources":["packages/@react-spectrum/s2/src/Skeleton.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 {\n cloneElement,\n createContext,\n CSSProperties,\n ReactElement,\n ReactNode,\n Ref,\n useCallback,\n useContext,\n useRef\n} from 'react';\nimport {color, style} from '../style' with {type: 'macro'};\nimport {css} from '../style/style-macro' with {type: 'macro'};\nimport {inertValue} from 'react-aria/private/utils/inertValue';\nimport {mergeRefs} from 'react-aria/mergeRefs';\nimport {mergeStyles} from '../style/runtime';\nimport {StyleString} from '../style/types';\nimport {useMediaQuery} from './useMediaQuery';\n\nexport function useLoadingAnimation(isAnimating: boolean): (element: HTMLElement | null) => void {\n let animationRef = useRef<Animation | null>(null);\n let reduceMotion = useMediaQuery('(prefers-reduced-motion: reduce)');\n return useCallback(\n (element: HTMLElement | null) => {\n if (\n isAnimating &&\n !animationRef.current &&\n element &&\n !reduceMotion &&\n typeof element.animate === 'function'\n ) {\n // Use web animation API instead of CSS animations so that we can\n // synchronize it between all loading elements on the page (via startTime).\n animationRef.current = element.animate(\n [{backgroundPosition: '100%'}, {backgroundPosition: '0%'}],\n {\n duration: 2000,\n iterations: Infinity,\n easing: 'ease-in-out'\n }\n );\n animationRef.current.startTime = 0;\n } else if (!isAnimating && animationRef.current) {\n animationRef.current.cancel();\n animationRef.current = null;\n }\n },\n [isAnimating, reduceMotion]\n );\n}\n\nexport type SkeletonElement = ReactElement<{\n children: ReactNode;\n className?: string;\n ref?: Ref<HTMLElement>;\n inert?: boolean | 'true';\n}>;\n\nexport const SkeletonContext = createContext<boolean | null>(null);\nexport function useIsSkeleton(): boolean {\n return useContext(SkeletonContext) || false;\n}\n\nexport interface SkeletonProps {\n children: ReactNode;\n isLoading: boolean;\n}\n\n/**\n * A Skeleton wraps around content to render it as a placeholder.\n */\nexport function Skeleton({children, isLoading}: SkeletonProps): ReactNode {\n // Disable all form components inside a skeleton.\n return <SkeletonContext.Provider value={isLoading}>{children}</SkeletonContext.Provider>;\n}\n\nexport const loadingStyle = css(\n `\n background-image: linear-gradient(to right, ${color('gray-100')} 33%, light-dark(${color('gray-25')}, ${color('gray-300')}), ${color('gray-100')} 66%);\n background-size: 300%;\n * {\n visibility: hidden;\n }\n`,\n 'L'\n); // add to a separate layer so it overrides default style macro styles\n\nexport function useSkeletonText(\n children: ReactNode,\n style: CSSProperties | undefined\n): [ReactNode, CSSProperties | undefined] {\n let isSkeleton = useContext(SkeletonContext);\n if (isSkeleton) {\n children = <SkeletonText>{children}</SkeletonText>;\n style = {\n ...style,\n // This ensures the ellipsis on truncated text is also hidden.\n // -webkit-text-fill-color overrides any `color` property that is also set.\n WebkitTextFillColor: 'transparent'\n };\n }\n return [children, style];\n}\n\n// Rendered inside <Text> to create skeleton line boxes via box-decoration-break.\nexport function SkeletonText({children}: {children: ReactNode}): ReactNode {\n return (\n <span\n // @ts-ignore - compatibility with React < 19\n inert={inertValue(true)}\n ref={useLoadingAnimation(true)}\n className={\n loadingStyle +\n style({\n color: 'transparent',\n boxDecorationBreak: 'clone',\n borderRadius: 'sm'\n })\n }>\n {children}\n </span>\n );\n}\n\n// Clones the child element and displays it with skeleton styling.\nexport function SkeletonWrapper({children}: {children: SkeletonElement}): ReactNode {\n let isLoading = useContext(SkeletonContext);\n let animation = useLoadingAnimation(isLoading || false);\n if (isLoading == null) {\n return children;\n }\n\n let childRef =\n 'ref' in children && !Object.getOwnPropertyDescriptor(children, 'ref')?.get\n ? (children.ref as any)\n : children.props.ref;\n return (\n <SkeletonContext.Provider value={null}>\n {isLoading\n ? cloneElement(children, {\n ref: mergeRefs(childRef, animation),\n className: (children.props.className || '') + ' ' + loadingStyle,\n // @ts-ignore - compatibility with React < 19\n inert: inertValue(true)\n })\n : children}\n </SkeletonContext.Provider>\n );\n}\n\n// Adds default border radius around icons when displayed in a skeleton.\nexport function useSkeletonIcon(styles: StyleString): StyleString {\n let isSkeleton = useContext(SkeletonContext);\n if (isSkeleton) {\n return mergeStyles(style({borderRadius: 'sm'}), styles);\n }\n return styles || ('' as StyleString);\n}\n"],"names":[],"version":3,"file":"Skeleton.mjs.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-spectrum/s2",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "description": "Spectrum 2 UI components in React",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -96,5 +96,5 @@
96
96
  "page": "dist/page.cjs",
97
97
  "style-main": "style/dist/main.cjs",
98
98
  "style-module": "style/dist/module.mjs",
99
- "gitHead": "1c84a49a1faf50b571c84e00bcf9c60b22ddd03e"
99
+ "gitHead": "c4de1e2235bce213d392477a2ebc1e575937051f"
100
100
  }
package/src/Button.tsx CHANGED
@@ -253,7 +253,12 @@ const button = style<ButtonRenderProps & ButtonStyleProps & {isStaticColor: bool
253
253
  fill: {
254
254
  variant: {
255
255
  primary: 'auto',
256
- secondary: 'white',
256
+ secondary: {
257
+ default: 'transparent-overlay-1000',
258
+ isHovered: 'transparent-overlay-1000',
259
+ isFocusVisible: 'transparent-overlay-1000',
260
+ isPressed: 'transparent-overlay-1000'
261
+ },
257
262
  premium: 'white',
258
263
  genai: 'white'
259
264
  }
@@ -263,7 +268,12 @@ const button = style<ButtonRenderProps & ButtonStyleProps & {isStaticColor: bool
263
268
  premium: 'white',
264
269
  genai: 'white'
265
270
  },
266
- default: 'white'
271
+ default: {
272
+ default: 'transparent-overlay-1000',
273
+ isHovered: 'transparent-overlay-1000',
274
+ isFocusVisible: 'transparent-overlay-1000',
275
+ isPressed: 'transparent-overlay-1000'
276
+ }
267
277
  }
268
278
  },
269
279
  isDisabled: 'transparent-overlay-400'
@@ -40,26 +40,26 @@ describe('style-macro', () => {
40
40
  "@layer _.a, _.b, _.c;
41
41
 
42
42
  @layer _.b {
43
- .Jbs15:first-child {
43
+ .Jbs151:first-child {
44
44
  margin-top: 0.25rem;
45
45
  }
46
46
  }
47
47
 
48
48
  @layer _.c.p {
49
49
  @media (min-width: 64rem) {
50
- .Jbpv15:first-child {
50
+ .Jbpv151:first-child {
51
51
  margin-top: 0.5rem;
52
52
  }
53
53
  }
54
54
  }
55
55
 
56
- .-macro-static-wxfyDb {
57
- --macro-data-wxfyDb: {"style":{"marginTop":{":first-child":{"default":4,"lg":8}}},"loc":"undefined:undefined:undefined"};
56
+ .-macro-static-OZFeNe {
57
+ --macro-data-OZFeNe: {"style":{"marginTop":{":first-child":{"default":4,"lg":8}}},"loc":"undefined:undefined:undefined"};
58
58
  }
59
59
 
60
60
  "
61
61
  `);
62
- expect(js).toMatchInlineSnapshot(`" Jbs15 Jbpv15 -macro-static-wxfyDb"`);
62
+ expect(js).toMatchInlineSnapshot(`" Jbs151 Jbpv151 -macro-static-OZFeNe"`);
63
63
  });
64
64
 
65
65
  it('should support self references', () => {
@@ -73,60 +73,60 @@ describe('style-macro', () => {
73
73
  "@layer _.a;
74
74
 
75
75
  @layer _.a {
76
- ._kc15 {
76
+ ._kc151 {
77
77
  border-top-width: 2px;
78
78
  }
79
79
 
80
80
 
81
- .hc15 {
81
+ .hc151 {
82
82
  border-bottom-width: 2px;
83
83
  }
84
84
 
85
85
 
86
- .mCPFGYc15 {
86
+ .mCPFGYc151 {
87
87
  border-inline-start-width: var(--m);
88
88
  }
89
89
 
90
90
 
91
- .lc15 {
91
+ .lc151 {
92
92
  border-inline-end-width: 2px;
93
93
  }
94
94
 
95
95
 
96
- .SMBFGYc15 {
96
+ .SMBFGYc151 {
97
97
  padding-inline-start: var(--S);
98
98
  }
99
99
 
100
100
 
101
- .Rv15 {
101
+ .Rv151 {
102
102
  padding-inline-end: calc(var(--F, var(--M)) * 3 / 8);
103
103
  }
104
104
 
105
105
 
106
- .ZjUQgKd15 {
106
+ .ZjUQgKd151 {
107
107
  width: calc(200px - var(--m) - var(--S));
108
108
  }
109
109
 
110
110
 
111
- .-m_-mc15 {
111
+ .-m_-mc151 {
112
112
  --m: 2px;
113
113
  }
114
114
 
115
115
 
116
- .-S_-Sv15 {
116
+ .-S_-Sv151 {
117
117
  --S: calc(var(--F, var(--M)) * 3 / 8);
118
118
  }
119
119
  }
120
120
 
121
- .-macro-static-vBpT2 {
122
- --macro-data-vBpT2: {"style":{"borderWidth":2,"paddingX":"edge-to-text","width":"calc(200px - self(borderStartWidth) - self(paddingStart))"},"loc":"undefined:undefined:undefined"};
121
+ .-macro-static-6DrPJb {
122
+ --macro-data-6DrPJb: {"style":{"borderWidth":2,"paddingX":"edge-to-text","width":"calc(200px - self(borderStartWidth) - self(paddingStart))"},"loc":"undefined:undefined:undefined"};
123
123
  }
124
124
 
125
125
  "
126
126
  `);
127
127
 
128
128
  expect(js).toMatchInlineSnapshot(
129
- `" _kc15 hc15 mCPFGYc15 lc15 SMBFGYc15 Rv15 ZjUQgKd15 -m_-mc15 -S_-Sv15 -macro-static-vBpT2"`
129
+ `" _kc151 hc151 mCPFGYc151 lc151 SMBFGYc151 Rv151 ZjUQgKd151 -m_-mc151 -S_-Sv151 -macro-static-6DrPJb"`
130
130
  );
131
131
  });
132
132
 
@@ -144,9 +144,9 @@ describe('style-macro', () => {
144
144
  color: 'green-400'
145
145
  });
146
146
 
147
- expect(js()).toMatchInlineSnapshot(`" gw15 pg15 -macro-dynamic-16fgbv4"`);
148
- expect(overrides).toMatchInlineSnapshot(`" g8tmWqb15 pHJ3AUd15 -macro-static-4cOIRb"`);
149
- expect(js({}, overrides)).toMatchInlineSnapshot(`" g8tmWqb15 pg15 -macro-dynamic-1vflel8"`);
147
+ expect(js()).toMatchInlineSnapshot(`" gw151 pg151 -macro-dynamic-ksiu6q"`);
148
+ expect(overrides).toMatchInlineSnapshot(`" g8tmWqb151 pHJ3AUd151 -macro-static-4DCFgd"`);
149
+ expect(js({}, overrides)).toMatchInlineSnapshot(`" g8tmWqb151 pg151 -macro-dynamic-197x9i6"`);
150
150
  });
151
151
 
152
152
  it('should support allowed overrides for properties that expand into multiple', () => {
@@ -161,10 +161,10 @@ describe('style-macro', () => {
161
161
  translateX: 40
162
162
  });
163
163
 
164
- expect(js()).toMatchInlineSnapshot(`" -_7PloMd-B15 __Ya15 -macro-dynamic-2u33z5"`);
165
- expect(overrides).toMatchInlineSnapshot(`" -_7PloMd-D15 __Ya15 -macro-static-poioi"`);
164
+ expect(js()).toMatchInlineSnapshot(`" -_7PloMd-B151 __Ya151 -macro-dynamic-clboub"`);
165
+ expect(overrides).toMatchInlineSnapshot(`" -_7PloMd-D151 __Ya151 -macro-static-pdFIDc"`);
166
166
  expect(js({}, overrides)).toMatchInlineSnapshot(
167
- `" -_7PloMd-D15 __Ya15 -macro-dynamic-13fqmar"`
167
+ `" -_7PloMd-D151 __Ya151 -macro-dynamic-n9a5xh"`
168
168
  );
169
169
  });
170
170
 
@@ -180,10 +180,10 @@ describe('style-macro', () => {
180
180
  padding: 40
181
181
  });
182
182
 
183
- expect(js()).toMatchInlineSnapshot(`" Tk15 Qk15 Sk15 Rk15 -macro-dynamic-2rom7x"`);
184
- expect(overrides).toMatchInlineSnapshot(`" Tm15 Qm15 Sm15 Rm15 -macro-static-FXaHv"`);
183
+ expect(js()).toMatchInlineSnapshot(`" Tk151 Qk151 Sk151 Rk151 -macro-dynamic-1esad0h"`);
184
+ expect(overrides).toMatchInlineSnapshot(`" Tm151 Qm151 Sm151 Rm151 -macro-static-Nfrh6d"`);
185
185
  expect(js({}, overrides)).toMatchInlineSnapshot(
186
- `" Tm15 Qm15 Sm15 Rm15 -macro-dynamic-16os9ol"`
186
+ `" Tm151 Qm151 Sm151 Rm151 -macro-dynamic-7axbah"`
187
187
  );
188
188
  });
189
189
 
@@ -199,9 +199,11 @@ describe('style-macro', () => {
199
199
  fontSize: 'ui-xs'
200
200
  });
201
201
 
202
- expect(js()).toMatchInlineSnapshot(`" -_6BNtrc-woabcc15 vx15 -macro-dynamic-qs6tc"`);
203
- expect(overrides).toMatchInlineSnapshot(`" -_6BNtrc-a15 vx15 -macro-static-yXDXz"`);
204
- expect(js({}, overrides)).toMatchInlineSnapshot(`" -_6BNtrc-a15 vx15 -macro-dynamic-1nd81ma"`);
202
+ expect(js()).toMatchInlineSnapshot(`" -_6BNtrc-woabcc151 vx151 -macro-dynamic-xhgg6a"`);
203
+ expect(overrides).toMatchInlineSnapshot(`" -_6BNtrc-a151 vx151 -macro-static-grInxd"`);
204
+ expect(js({}, overrides)).toMatchInlineSnapshot(
205
+ `" -_6BNtrc-a151 vx151 -macro-dynamic-hitxxw"`
206
+ );
205
207
  });
206
208
 
207
209
  it("should support allowed overrides for values that aren't defined", () => {
@@ -216,9 +218,9 @@ describe('style-macro', () => {
216
218
  minWidth: 32
217
219
  });
218
220
 
219
- expect(js()).toMatchInlineSnapshot(`" gE15 -macro-dynamic-11gtfdt"`);
220
- expect(overrides).toMatchInlineSnapshot(`" Nk15 -macro-static-Io0zY"`);
221
- expect(js({}, overrides)).toMatchInlineSnapshot(`" Nk15 gE15 -macro-dynamic-14t819c"`);
221
+ expect(js()).toMatchInlineSnapshot(`" gE151 -macro-dynamic-wd489e"`);
222
+ expect(overrides).toMatchInlineSnapshot(`" Nk151 -macro-static-f34NMd"`);
223
+ expect(js({}, overrides)).toMatchInlineSnapshot(`" Nk151 gE151 -macro-dynamic-1qncav6"`);
222
224
  });
223
225
 
224
226
  it('should support runtime conditions', () => {
@@ -239,32 +241,32 @@ describe('style-macro', () => {
239
241
  "@layer _.a;
240
242
 
241
243
  @layer _.a {
242
- .gH15 {
244
+ .gH151 {
243
245
  background-color: light-dark(rgb(233, 233, 233), rgb(44, 44, 44));
244
246
  }
245
247
 
246
248
 
247
- .gF15 {
249
+ .gF151 {
248
250
  background-color: light-dark(rgb(225, 225, 225), rgb(50, 50, 50));
249
251
  }
250
252
 
251
253
 
252
- .gE15 {
254
+ .gE151 {
253
255
  background-color: light-dark(rgb(218, 218, 218), rgb(57, 57, 57));
254
256
  }
255
257
 
256
258
 
257
- .pt15 {
259
+ .pt151 {
258
260
  color: light-dark(rgb(41, 41, 41), rgb(219, 219, 219));
259
261
  }
260
262
 
261
263
 
262
- .po15 {
264
+ .po151 {
263
265
  color: light-dark(rgb(19, 19, 19), rgb(242, 242, 242));
264
266
  }
265
267
 
266
268
 
267
- .pm15 {
269
+ .pm151 {
268
270
  color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));
269
271
  }
270
272
  }
@@ -272,9 +274,9 @@ describe('style-macro', () => {
272
274
  "
273
275
  `);
274
276
 
275
- expect(js({})).toMatchInlineSnapshot(`" gH15 pt15 -macro-dynamic-10n1jv2"`);
276
- expect(js({isHovered: true})).toMatchInlineSnapshot(`" gF15 po15 -macro-dynamic-boma93"`);
277
- expect(js({isPressed: true})).toMatchInlineSnapshot(`" gE15 pm15 -macro-dynamic-1cs8qp0"`);
277
+ expect(js({})).toMatchInlineSnapshot(`" gH151 pt151 -macro-dynamic-13m9l9s"`);
278
+ expect(js({isHovered: true})).toMatchInlineSnapshot(`" gF151 po151 -macro-dynamic-1e5szmx"`);
279
+ expect(js({isPressed: true})).toMatchInlineSnapshot(`" gE151 pm151 -macro-dynamic-1ltkejq"`);
278
280
  });
279
281
 
280
282
  it('should support nested runtime conditions', () => {
@@ -293,33 +295,33 @@ describe('style-macro', () => {
293
295
  "@layer _.a;
294
296
 
295
297
  @layer _.a {
296
- .gH15 {
298
+ .gH151 {
297
299
  background-color: light-dark(rgb(233, 233, 233), rgb(44, 44, 44));
298
300
  }
299
301
 
300
302
 
301
- .gF15 {
303
+ .gF151 {
302
304
  background-color: light-dark(rgb(225, 225, 225), rgb(50, 50, 50));
303
305
  }
304
306
 
305
307
 
306
- .g_h15 {
308
+ .g_h151 {
307
309
  background-color: light-dark(rgb(75, 117, 255), rgb(64, 105, 253));
308
310
  }
309
311
 
310
312
 
311
- .g315 {
313
+ .g3151 {
312
314
  background-color: light-dark(rgb(59, 99, 251), rgb(86, 129, 255));
313
315
  }
314
316
  }
315
317
 
316
318
  "
317
319
  `);
318
- expect(js({})).toMatchInlineSnapshot(`" gH15 -macro-dynamic-1etdqys"`);
319
- expect(js({isHovered: true})).toMatchInlineSnapshot(`" gF15 -macro-dynamic-1tldjwi"`);
320
- expect(js({isSelected: true})).toMatchInlineSnapshot(`" g_h15 -macro-dynamic-d1dps3"`);
320
+ expect(js({})).toMatchInlineSnapshot(`" gH151 -macro-dynamic-1ap2imt"`);
321
+ expect(js({isHovered: true})).toMatchInlineSnapshot(`" gF151 -macro-dynamic-1153npv"`);
322
+ expect(js({isSelected: true})).toMatchInlineSnapshot(`" g_h151 -macro-dynamic-7jyd2s"`);
321
323
  expect(js({isSelected: true, isHovered: true})).toMatchInlineSnapshot(
322
- `" g315 -macro-dynamic-sejjv3"`
324
+ `" g3151 -macro-dynamic-heik00"`
323
325
  );
324
326
  });
325
327
 
@@ -334,9 +336,9 @@ describe('style-macro', () => {
334
336
  }
335
337
  });
336
338
 
337
- expect(js({variant: 'accent'})).toMatchInlineSnapshot(`" gY15 -macro-dynamic-vr3hyt"`);
338
- expect(js({variant: 'primary'})).toMatchInlineSnapshot(`" gjQquMe15 -macro-dynamic-vcucj3"`);
339
- expect(js({variant: 'secondary'})).toMatchInlineSnapshot(`" gw15 -macro-dynamic-n6ilub"`);
339
+ expect(js({variant: 'accent'})).toMatchInlineSnapshot(`" gY151 -macro-dynamic-1kvorfq"`);
340
+ expect(js({variant: 'primary'})).toMatchInlineSnapshot(`" gjQquMe151 -macro-dynamic-17tas0w"`);
341
+ expect(js({variant: 'secondary'})).toMatchInlineSnapshot(`" gw151 -macro-dynamic-1m4zj7o"`);
340
342
  });
341
343
 
342
344
  it('supports runtime conditions nested inside css conditions', () => {
@@ -354,14 +356,14 @@ describe('style-macro', () => {
354
356
 
355
357
  @layer _.b.l {
356
358
  @media (forced-colors: active) {
357
- .plb15 {
359
+ .plb151 {
358
360
  color: ButtonText;
359
361
  }
360
362
  }
361
363
 
362
364
 
363
365
  @media (forced-colors: active) {
364
- .ple15 {
366
+ .ple151 {
365
367
  color: HighlightText;
366
368
  }
367
369
  }
@@ -370,8 +372,8 @@ describe('style-macro', () => {
370
372
  "
371
373
  `);
372
374
 
373
- expect(js({})).toMatchInlineSnapshot(`" plb15 -macro-dynamic-1ap32yb"`);
374
- expect(js({isSelected: true})).toMatchInlineSnapshot(`" ple15 -macro-dynamic-1o1neja"`);
375
+ expect(js({})).toMatchInlineSnapshot(`" plb151 -macro-dynamic-1gtim5g"`);
376
+ expect(js({isSelected: true})).toMatchInlineSnapshot(`" ple151 -macro-dynamic-1v5gwiv"`);
375
377
  });
376
378
 
377
379
  it('inherits parent default when nested branch has no default key', () => {
@@ -387,9 +389,9 @@ describe('style-macro', () => {
387
389
  });
388
390
  // forcedColors.default should apply when variant=highlight but !isSelected
389
391
  expect(css).toContain('ButtonText');
390
- expect(js({variant: 'highlight'})).toMatchInlineSnapshot(`" plb15 -macro-dynamic-1ap32yb"`);
392
+ expect(js({variant: 'highlight'})).toMatchInlineSnapshot(`" plb151 -macro-dynamic-1gtim5g"`);
391
393
  expect(js({variant: 'highlight', isSelected: true})).toMatchInlineSnapshot(
392
- `" ple15 -macro-dynamic-1o1neja"`
394
+ `" ple151 -macro-dynamic-1v5gwiv"`
393
395
  );
394
396
  });
395
397
 
@@ -398,33 +400,33 @@ describe('style-macro', () => {
398
400
  padding: 24
399
401
  });
400
402
 
401
- expect(js).toMatchInlineSnapshot(`" Th15 Qh15 Sh15 Rh15 -macro-static-PaKDid"`);
403
+ expect(js).toMatchInlineSnapshot(`" Th151 Qh151 Sh151 Rh151 -macro-static-dvFMTb"`);
402
404
  expect(css).toMatchInlineSnapshot(`
403
405
  "@layer _.a;
404
406
 
405
407
  @layer _.a {
406
- .Th15 {
408
+ .Th151 {
407
409
  padding-top: 24px;
408
410
  }
409
411
 
410
412
 
411
- .Qh15 {
413
+ .Qh151 {
412
414
  padding-bottom: 24px;
413
415
  }
414
416
 
415
417
 
416
- .Sh15 {
418
+ .Sh151 {
417
419
  padding-inline-start: 24px;
418
420
  }
419
421
 
420
422
 
421
- .Rh15 {
423
+ .Rh151 {
422
424
  padding-inline-end: 24px;
423
425
  }
424
426
  }
425
427
 
426
- .-macro-static-PaKDid {
427
- --macro-data-PaKDid: {"style":{"padding":24},"loc":"undefined:undefined:undefined"};
428
+ .-macro-static-dvFMTb {
429
+ --macro-data-dvFMTb: {"style":{"padding":24},"loc":"undefined:undefined:undefined"};
428
430
  }
429
431
 
430
432
  "
@@ -440,13 +442,13 @@ describe('style-macro', () => {
440
442
  "@layer _.a;
441
443
 
442
444
  @layer _.a {
443
- .gpQzfVb15 {
445
+ .gpQzfVb151 {
444
446
  background-color: rgb(from light-dark(rgb(39, 77, 234), rgb(105, 149, 254)) r g b / 50%);
445
447
  }
446
448
  }
447
449
 
448
- .-macro-static-3vO7o {
449
- --macro-data-3vO7o: {"style":{"backgroundColor":"blue-1000/50"},"loc":"undefined:undefined:undefined"};
450
+ .-macro-static-GJJsFd {
451
+ --macro-data-GJJsFd: {"style":{"backgroundColor":"blue-1000/50"},"loc":"undefined:undefined:undefined"};
450
452
  }
451
453
 
452
454
  "
@@ -465,13 +467,13 @@ describe('style-macro', () => {
465
467
  "@layer _.a;
466
468
 
467
469
  @layer _.a {
468
- .-FUeYm-gE15 {
470
+ .-FUeYm-gE151 {
469
471
  --foo: light-dark(rgb(218, 218, 218), rgb(57, 57, 57));
470
472
  }
471
473
  }
472
474
 
473
- .-macro-static-z8Uxye {
474
- --macro-data-z8Uxye: {"style":{"--foo":{"type":"backgroundColor","value":"gray-300"}},"loc":"undefined:undefined:undefined"};
475
+ .-macro-static-QA93Ie {
476
+ --macro-data-QA93Ie: {"style":{"--foo":{"type":"backgroundColor","value":"gray-300"}},"loc":"undefined:undefined:undefined"};
475
477
  }
476
478
 
477
479
  "