@sanity/ui 4.0.0-static.9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (677) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +25 -7
  3. package/dist/_system-CTe2lb5l.d.ts +40 -0
  4. package/dist/_system-CTe2lb5l.d.ts.map +1 -0
  5. package/dist/arrow-CHE8-_G7.js +161 -0
  6. package/dist/arrow-CHE8-_G7.js.map +1 -0
  7. package/dist/autocomplete.d.ts +140 -0
  8. package/dist/autocomplete.d.ts.map +1 -0
  9. package/dist/autocomplete.js +475 -0
  10. package/dist/autocomplete.js.map +1 -0
  11. package/dist/breadcrumbs.d.ts +18 -0
  12. package/dist/breadcrumbs.d.ts.map +1 -0
  13. package/dist/breadcrumbs.js +116 -0
  14. package/dist/breadcrumbs.js.map +1 -0
  15. package/dist/button-dnqMFkWg.d.ts +76 -0
  16. package/dist/button-dnqMFkWg.d.ts.map +1 -0
  17. package/dist/button-mxfSqr0n.js +179 -0
  18. package/dist/button-mxfSqr0n.js.map +1 -0
  19. package/dist/card-C0a0wQTc.d.ts +7 -0
  20. package/dist/card-C0a0wQTc.d.ts.map +1 -0
  21. package/dist/code.d.ts +20 -0
  22. package/dist/code.d.ts.map +1 -0
  23. package/dist/code.js +90 -0
  24. package/dist/code.js.map +1 -0
  25. package/dist/codeFontStyle-DYUujk7K.js +11 -0
  26. package/dist/codeFontStyle-DYUujk7K.js.map +1 -0
  27. package/dist/component-DVlwaWB-.d.ts +25 -0
  28. package/dist/component-DVlwaWB-.d.ts.map +1 -0
  29. package/dist/element-BYgCE_iK.js +51 -0
  30. package/dist/element-BYgCE_iK.js.map +1 -0
  31. package/dist/factory-BA3gEfyI.js +3056 -0
  32. package/dist/factory-BA3gEfyI.js.map +1 -0
  33. package/dist/flex-C-5JHi1C.js +76 -0
  34. package/dist/flex-C-5JHi1C.js.map +1 -0
  35. package/dist/font-EtfxKPUz.d.ts +49 -0
  36. package/dist/font-EtfxKPUz.d.ts.map +1 -0
  37. package/dist/getElementRef-5HZQ-Owu.js +91 -0
  38. package/dist/getElementRef-5HZQ-Owu.js.map +1 -0
  39. package/dist/getScopedTheme-C-sZsyAz.js +267 -0
  40. package/dist/getScopedTheme-C-sZsyAz.js.map +1 -0
  41. package/dist/getTheme_v2-y09KqtEb.js +487 -0
  42. package/dist/getTheme_v2-y09KqtEb.js.map +1 -0
  43. package/dist/grid-BXHFJhf_.js +115 -0
  44. package/dist/grid-BXHFJhf_.js.map +1 -0
  45. package/dist/helpers-bwfx1e-Y.js +67 -0
  46. package/dist/helpers-bwfx1e-Y.js.map +1 -0
  47. package/dist/hotkeys-CmmTQZpn.js +165 -0
  48. package/dist/hotkeys-CmmTQZpn.js.map +1 -0
  49. package/dist/index.d.ts +1192 -2168
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +2069 -4483
  52. package/dist/index.js.map +1 -1
  53. package/dist/layer-B98ynOf2.js +61 -0
  54. package/dist/layer-B98ynOf2.js.map +1 -0
  55. package/dist/layer-ChlP9Ik6.d.ts +242 -0
  56. package/dist/layer-ChlP9Ik6.d.ts.map +1 -0
  57. package/dist/menu.d.ts +146 -0
  58. package/dist/menu.d.ts.map +1 -0
  59. package/dist/menu.js +614 -0
  60. package/dist/menu.js.map +1 -0
  61. package/dist/popover-CMlQeKn0.d.ts +96 -0
  62. package/dist/popover-CMlQeKn0.d.ts.map +1 -0
  63. package/dist/popover-PorX5Jv9.js +419 -0
  64. package/dist/popover-PorX5Jv9.js.map +1 -0
  65. package/dist/popover.d.ts +2 -0
  66. package/dist/popover.js +3 -0
  67. package/dist/refractor-CC48DwHi.js +20 -0
  68. package/dist/refractor-CC48DwHi.js.map +1 -0
  69. package/dist/responsiveFont-hN1mZFjm.js +55 -0
  70. package/dist/responsiveFont-hN1mZFjm.js.map +1 -0
  71. package/dist/rgba-BSYaEUW6.d.ts +846 -0
  72. package/dist/rgba-BSYaEUW6.d.ts.map +1 -0
  73. package/dist/selectable-B0GUIL74.d.ts +7 -0
  74. package/dist/selectable-B0GUIL74.d.ts.map +1 -0
  75. package/dist/stack-iW9HuGLg.js +112 -0
  76. package/dist/stack-iW9HuGLg.js.map +1 -0
  77. package/dist/styles-css.d.ts +2 -0
  78. package/dist/styles-css.js +4 -0
  79. package/dist/styles.css +28 -0
  80. package/dist/textInput-udxyGbm1.js +321 -0
  81. package/dist/textInput-udxyGbm1.js.map +1 -0
  82. package/dist/theme.d.ts +240 -459
  83. package/dist/theme.d.ts.map +1 -0
  84. package/dist/theme.js +55 -870
  85. package/dist/theme.js.map +1 -1
  86. package/dist/toast.d.ts +73 -0
  87. package/dist/toast.d.ts.map +1 -0
  88. package/dist/toast.js +297 -0
  89. package/dist/toast.js.map +1 -0
  90. package/dist/tooltip.d.ts +88 -0
  91. package/dist/tooltip.d.ts.map +1 -0
  92. package/dist/tooltip.js +447 -0
  93. package/dist/tooltip.js.map +1 -0
  94. package/dist/useClickOutsideEvent-lEVhDFCQ.js +36 -0
  95. package/dist/useClickOutsideEvent-lEVhDFCQ.js.map +1 -0
  96. package/dist/useElementSize-BJvbGHq8.js +51 -0
  97. package/dist/useElementSize-BJvbGHq8.js.map +1 -0
  98. package/dist/useLayer-BAVfmbNN.js +712 -0
  99. package/dist/useLayer-BAVfmbNN.js.map +1 -0
  100. package/package.json +73 -208
  101. package/dist/_chunks-cjs/refractor.cjs +0 -22
  102. package/dist/_chunks-cjs/refractor.cjs.map +0 -1
  103. package/dist/_chunks-es/refractor.js +0 -25
  104. package/dist/_chunks-es/refractor.js.map +0 -1
  105. package/dist/css/index.cjs +0 -966
  106. package/dist/css/index.cjs.map +0 -1
  107. package/dist/css/index.css +0 -23387
  108. package/dist/css/index.css.map +0 -1
  109. package/dist/css/index.d.cts +0 -1394
  110. package/dist/css/index.d.ts +0 -1394
  111. package/dist/css/index.js +0 -967
  112. package/dist/css/index.js.map +0 -1
  113. package/dist/index.cjs +0 -4515
  114. package/dist/index.cjs.map +0 -1
  115. package/dist/index.d.cts +0 -2521
  116. package/dist/theme.cjs +0 -870
  117. package/dist/theme.cjs.map +0 -1
  118. package/dist/theme.d.cts +0 -499
  119. package/exports/css.ts +0 -1
  120. package/exports/index.ts +0 -1
  121. package/exports/theme.ts +0 -1
  122. package/src/core/Root.tsx +0 -88
  123. package/src/core/RootProvider.tsx +0 -40
  124. package/src/core/__workshop__/boundary.tsx +0 -28
  125. package/src/core/__workshop__/index.ts +0 -16
  126. package/src/core/components/autocomplete/__workshop__/async.tsx +0 -156
  127. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -131
  128. package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -91
  129. package/src/core/components/autocomplete/__workshop__/example.tsx +0 -80
  130. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
  131. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -292
  132. package/src/core/components/autocomplete/__workshop__/index.ts +0 -41
  133. package/src/core/components/autocomplete/__workshop__/mock/apiStore.ts +0 -49
  134. package/src/core/components/autocomplete/__workshop__/mock/countries.ts +0 -245
  135. package/src/core/components/autocomplete/__workshop__/types.ts +0 -4
  136. package/src/core/components/autocomplete/autocomplete.tsx +0 -690
  137. package/src/core/components/autocomplete/autocompleteOption.tsx +0 -45
  138. package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
  139. package/src/core/components/autocomplete/constants.ts +0 -28
  140. package/src/core/components/autocomplete/types.ts +0 -103
  141. package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -61
  142. package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -16
  143. package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -131
  144. package/src/core/components/dialog/__workshop__/activate.tsx +0 -141
  145. package/src/core/components/dialog/__workshop__/autoFocus.tsx +0 -29
  146. package/src/core/components/dialog/__workshop__/index.ts +0 -21
  147. package/src/core/components/dialog/__workshop__/layering.tsx +0 -41
  148. package/src/core/components/dialog/__workshop__/nested.tsx +0 -71
  149. package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -51
  150. package/src/core/components/dialog/__workshop__/panes.tsx +0 -89
  151. package/src/core/components/dialog/__workshop__/position.tsx +0 -30
  152. package/src/core/components/dialog/__workshop__/props.tsx +0 -77
  153. package/src/core/components/dialog/__workshop__/provider.tsx +0 -11
  154. package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -76
  155. package/src/core/components/dialog/dialog.tsx +0 -232
  156. package/src/core/components/dialog/dialogCard.tsx +0 -233
  157. package/src/core/components/dialog/dialogContext.ts +0 -21
  158. package/src/core/components/dialog/dialogProvider.tsx +0 -34
  159. package/src/core/components/dialog/isTargetWithinScope.ts +0 -14
  160. package/src/core/components/dialog/types.ts +0 -2
  161. package/src/core/components/dialog/useDialog.ts +0 -11
  162. package/src/core/components/hotkeys/__workshop__/index.ts +0 -16
  163. package/src/core/components/hotkeys/__workshop__/plain.tsx +0 -9
  164. package/src/core/components/hotkeys/hotkeys.tsx +0 -60
  165. package/src/core/components/menu/__workshop__/asComponent.tsx +0 -45
  166. package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -57
  167. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +0 -47
  168. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -133
  169. package/src/core/components/menu/__workshop__/customMenuItem.tsx +0 -45
  170. package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -35
  171. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
  172. package/src/core/components/menu/__workshop__/groups.tsx +0 -156
  173. package/src/core/components/menu/__workshop__/index.ts +0 -91
  174. package/src/core/components/menu/__workshop__/menuButton.tsx +0 -80
  175. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +0 -65
  176. package/src/core/components/menu/__workshop__/nestedMenu.tsx +0 -22
  177. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +0 -50
  178. package/src/core/components/menu/__workshop__/selectedItem.tsx +0 -69
  179. package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -42
  180. package/src/core/components/menu/__workshop__/tones.tsx +0 -25
  181. package/src/core/components/menu/__workshop__/withoutArrow.tsx +0 -32
  182. package/src/core/components/menu/helpers.ts +0 -82
  183. package/src/core/components/menu/menu.test.tsx +0 -129
  184. package/src/core/components/menu/menu.tsx +0 -179
  185. package/src/core/components/menu/menuButton.tsx +0 -225
  186. package/src/core/components/menu/menuContext.ts +0 -19
  187. package/src/core/components/menu/menuDivider.tsx +0 -32
  188. package/src/core/components/menu/menuGroup.tsx +0 -233
  189. package/src/core/components/menu/menuItem.tsx +0 -184
  190. package/src/core/components/menu/useMenu.ts +0 -21
  191. package/src/core/components/menu/useMenuController.ts +0 -241
  192. package/src/core/components/tab/__workshop__/example.tsx +0 -79
  193. package/src/core/components/tab/__workshop__/index.ts +0 -16
  194. package/src/core/components/tab/tab.tsx +0 -109
  195. package/src/core/components/tab/tabList.tsx +0 -90
  196. package/src/core/components/tab/tabPanel.tsx +0 -47
  197. package/src/core/components/toast/__workshop__/hook.tsx +0 -71
  198. package/src/core/components/toast/__workshop__/index.ts +0 -21
  199. package/src/core/components/toast/__workshop__/toast.tsx +0 -26
  200. package/src/core/components/toast/toast.test.tsx +0 -103
  201. package/src/core/components/toast/toast.tsx +0 -191
  202. package/src/core/components/toast/toastContext.ts +0 -7
  203. package/src/core/components/toast/toastLayer.tsx +0 -54
  204. package/src/core/components/toast/toastProvider.tsx +0 -112
  205. package/src/core/components/toast/toastState.ts +0 -6
  206. package/src/core/components/toast/types.ts +0 -24
  207. package/src/core/components/toast/useToast.ts +0 -23
  208. package/src/core/components/tree/__workshop__/basic.perf.ts +0 -19
  209. package/src/core/components/tree/__workshop__/basic.tsx +0 -105
  210. package/src/core/components/tree/__workshop__/index.ts +0 -23
  211. package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -84
  212. package/src/core/components/tree/helpers.ts +0 -105
  213. package/src/core/components/tree/tree.tsx +0 -248
  214. package/src/core/components/tree/treeContext.ts +0 -10
  215. package/src/core/components/tree/treeGroup.tsx +0 -46
  216. package/src/core/components/tree/treeItem.tsx +0 -237
  217. package/src/core/components/tree/types.ts +0 -24
  218. package/src/core/components/tree/useTree.ts +0 -17
  219. package/src/core/components/virtualList/__workshop__/changingProps.tsx +0 -36
  220. package/src/core/components/virtualList/__workshop__/elementScroll.tsx +0 -24
  221. package/src/core/components/virtualList/__workshop__/index.ts +0 -31
  222. package/src/core/components/virtualList/__workshop__/infiniteList.tsx +0 -48
  223. package/src/core/components/virtualList/__workshop__/windowScrolll.tsx +0 -22
  224. package/src/core/components/virtualList/virtualList.tsx +0 -209
  225. package/src/core/constants.ts +0 -67
  226. package/src/core/helpers/animation.ts +0 -27
  227. package/src/core/helpers/element.ts +0 -55
  228. package/src/core/helpers/focus.ts +0 -92
  229. package/src/core/helpers/props.ts +0 -28
  230. package/src/core/helpers/scroll.ts +0 -15
  231. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -114
  232. package/src/core/hooks/useClickOutsideEvent.ts +0 -67
  233. package/src/core/hooks/useCustomValidity.ts +0 -13
  234. package/src/core/hooks/useDelayed.test.ts +0 -67
  235. package/src/core/hooks/useDelayedState.ts +0 -28
  236. package/src/core/hooks/useElementSize.ts +0 -19
  237. package/src/core/hooks/useGlobalKeyDown.ts +0 -17
  238. package/src/core/hooks/useMatchMedia.ts +0 -28
  239. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +0 -16
  240. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
  241. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -21
  242. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -107
  243. package/src/core/hooks/useMounted.ts +0 -15
  244. package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -56
  245. package/src/core/hooks/usePrefersDark.test.tsx +0 -20
  246. package/src/core/hooks/usePrefersDark.ts +0 -16
  247. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  248. package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -20
  249. package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
  250. package/src/core/hooks/useResponsiveProp.ts +0 -28
  251. package/src/core/index.ts +0 -115
  252. package/src/core/lib/createGlobalScopedContext.ts +0 -37
  253. package/src/core/lib/globalScope.ts +0 -19
  254. package/src/core/lib/isArray.ts +0 -3
  255. package/src/core/lib/isRecord.ts +0 -3
  256. package/src/core/middleware/origin.ts +0 -47
  257. package/src/core/observers/elementSize.ts +0 -116
  258. package/src/core/observers/resize.ts +0 -9
  259. package/src/core/primitives/arrow/arrow.tsx +0 -74
  260. package/src/core/primitives/arrow/cmds.ts +0 -91
  261. package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -14
  262. package/src/core/primitives/avatar/__workshop__/index.ts +0 -31
  263. package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -25
  264. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -55
  265. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -72
  266. package/src/core/primitives/avatar/avatar.tsx +0 -147
  267. package/src/core/primitives/avatar/avatarCounter.tsx +0 -69
  268. package/src/core/primitives/avatar/avatarStack.tsx +0 -79
  269. package/src/core/primitives/avatar/types.ts +0 -2
  270. package/src/core/primitives/badge/__workshop__/index.ts +0 -21
  271. package/src/core/primitives/badge/__workshop__/props.tsx +0 -19
  272. package/src/core/primitives/badge/__workshop__/tones.tsx +0 -16
  273. package/src/core/primitives/badge/badge.test.tsx +0 -16
  274. package/src/core/primitives/badge/badge.tsx +0 -61
  275. package/src/core/primitives/box/__workshop__/index.ts +0 -21
  276. package/src/core/primitives/box/__workshop__/props.tsx +0 -20
  277. package/src/core/primitives/box/__workshop__/responsive.tsx +0 -20
  278. package/src/core/primitives/box/box.tsx +0 -222
  279. package/src/core/primitives/button/__workshop__/custom.tsx +0 -27
  280. package/src/core/primitives/button/__workshop__/customIcons.tsx +0 -30
  281. package/src/core/primitives/button/__workshop__/disabled.tsx +0 -54
  282. package/src/core/primitives/button/__workshop__/index.ts +0 -66
  283. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +0 -12
  284. package/src/core/primitives/button/__workshop__/props.tsx +0 -55
  285. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
  286. package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
  287. package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
  288. package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
  289. package/src/core/primitives/button/__workshop__/textOverflow.tsx +0 -13
  290. package/src/core/primitives/button/__workshop__/uploadButton.tsx +0 -29
  291. package/src/core/primitives/button/button.test.tsx +0 -30
  292. package/src/core/primitives/button/button.tsx +0 -193
  293. package/src/core/primitives/button/types.ts +0 -2
  294. package/src/core/primitives/card/__workshop__/asButton.tsx +0 -107
  295. package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
  296. package/src/core/primitives/card/__workshop__/checkered.tsx +0 -26
  297. package/src/core/primitives/card/__workshop__/index.ts +0 -20
  298. package/src/core/primitives/card/__workshop__/interactive.tsx +0 -29
  299. package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -78
  300. package/src/core/primitives/card/__workshop__/props.tsx +0 -52
  301. package/src/core/primitives/card/__workshop__/selected.tsx +0 -62
  302. package/src/core/primitives/card/__workshop__/styled.tsx +0 -14
  303. package/src/core/primitives/card/__workshop__/tones.tsx +0 -27
  304. package/src/core/primitives/card/card.tsx +0 -109
  305. package/src/core/primitives/card/cardContext.ts +0 -10
  306. package/src/core/primitives/card/cardProvider.tsx +0 -27
  307. package/src/core/primitives/card/types.ts +0 -17
  308. package/src/core/primitives/card/useCard.ts +0 -15
  309. package/src/core/primitives/checkbox/__workshop__/example.tsx +0 -25
  310. package/src/core/primitives/checkbox/__workshop__/index.ts +0 -15
  311. package/src/core/primitives/checkbox/__workshop__/props.tsx +0 -35
  312. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +0 -16
  313. package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -27
  314. package/src/core/primitives/checkbox/checkbox.tsx +0 -80
  315. package/src/core/primitives/code/__workshop__/index.ts +0 -21
  316. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +0 -23
  317. package/src/core/primitives/code/__workshop__/props.tsx +0 -18
  318. package/src/core/primitives/code/code.tsx +0 -48
  319. package/src/core/primitives/code/refractor.tsx +0 -18
  320. package/src/core/primitives/container/__workshop__/example.tsx +0 -20
  321. package/src/core/primitives/container/__workshop__/index.ts +0 -10
  322. package/src/core/primitives/container/container.tsx +0 -37
  323. package/src/core/primitives/container/types.ts +0 -6
  324. package/src/core/primitives/flex/__workshop__/example.tsx +0 -34
  325. package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
  326. package/src/core/primitives/flex/__workshop__/index.ts +0 -13
  327. package/src/core/primitives/flex/flex.tsx +0 -58
  328. package/src/core/primitives/grid/__workshop__/index.ts +0 -12
  329. package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
  330. package/src/core/primitives/grid/grid.tsx +0 -35
  331. package/src/core/primitives/heading/__workshop__/index.ts +0 -21
  332. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
  333. package/src/core/primitives/heading/__workshop__/plain.tsx +0 -29
  334. package/src/core/primitives/heading/heading.tsx +0 -78
  335. package/src/core/primitives/inline/__workshop__/index.ts +0 -10
  336. package/src/core/primitives/inline/__workshop__/plain.tsx +0 -24
  337. package/src/core/primitives/inline/inline.tsx +0 -62
  338. package/src/core/primitives/kbd/__workshop__/index.ts +0 -10
  339. package/src/core/primitives/kbd/__workshop__/plain.tsx +0 -9
  340. package/src/core/primitives/kbd/kbd.tsx +0 -57
  341. package/src/core/primitives/label/__workshop__/index.ts +0 -21
  342. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -54
  343. package/src/core/primitives/label/__workshop__/plain.tsx +0 -28
  344. package/src/core/primitives/label/label.tsx +0 -75
  345. package/src/core/primitives/layer/__workshop__/_debug.tsx +0 -17
  346. package/src/core/primitives/layer/__workshop__/index.ts +0 -26
  347. package/src/core/primitives/layer/__workshop__/multipleRoots.tsx +0 -49
  348. package/src/core/primitives/layer/__workshop__/nested.tsx +0 -98
  349. package/src/core/primitives/layer/__workshop__/responsiveZOffset.tsx +0 -17
  350. package/src/core/primitives/layer/getLayerContext.test.ts +0 -32
  351. package/src/core/primitives/layer/getLayerContext.ts +0 -21
  352. package/src/core/primitives/layer/layer.test.tsx +0 -110
  353. package/src/core/primitives/layer/layer.tsx +0 -42
  354. package/src/core/primitives/layer/layerCard.tsx +0 -90
  355. package/src/core/primitives/layer/layerContext.ts +0 -7
  356. package/src/core/primitives/layer/layerProvider.tsx +0 -106
  357. package/src/core/primitives/layer/types.ts +0 -9
  358. package/src/core/primitives/layer/useLayer.ts +0 -24
  359. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
  360. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  361. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  362. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  363. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -71
  364. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -69
  365. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -96
  366. package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -100
  367. package/src/core/primitives/popover/__workshop__/index.ts +0 -51
  368. package/src/core/primitives/popover/constants.ts +0 -22
  369. package/src/core/primitives/popover/floating-ui/size.ts +0 -83
  370. package/src/core/primitives/popover/helpers.ts +0 -32
  371. package/src/core/primitives/popover/popover.tsx +0 -443
  372. package/src/core/primitives/popover/popoverLayer.tsx +0 -149
  373. package/src/core/primitives/popover/types.ts +0 -12
  374. package/src/core/primitives/radio/__workshop__/example.tsx +0 -63
  375. package/src/core/primitives/radio/__workshop__/index.ts +0 -13
  376. package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
  377. package/src/core/primitives/radio/radio.tsx +0 -64
  378. package/src/core/primitives/select/__workshop__/index.ts +0 -13
  379. package/src/core/primitives/select/__workshop__/plain.tsx +0 -39
  380. package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
  381. package/src/core/primitives/select/select.tsx +0 -75
  382. package/src/core/primitives/selectable/selectable.tsx +0 -50
  383. package/src/core/primitives/skeleton/__workshop__/delay.tsx +0 -70
  384. package/src/core/primitives/skeleton/__workshop__/index.ts +0 -13
  385. package/src/core/primitives/skeleton/__workshop__/skeleton.tsx +0 -64
  386. package/src/core/primitives/skeleton/codeSkeleton.tsx +0 -49
  387. package/src/core/primitives/skeleton/headingSkeleton.tsx +0 -48
  388. package/src/core/primitives/skeleton/labelSkeleton.tsx +0 -47
  389. package/src/core/primitives/skeleton/skeleton.tsx +0 -70
  390. package/src/core/primitives/skeleton/textSkeleton.tsx +0 -49
  391. package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
  392. package/src/core/primitives/spinner/__workshop__/index.ts +0 -16
  393. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +0 -14
  394. package/src/core/primitives/spinner/spinner.tsx +0 -45
  395. package/src/core/primitives/srOnly/srOnly.tsx +0 -33
  396. package/src/core/primitives/stack/__workshop__/index.ts +0 -16
  397. package/src/core/primitives/stack/__workshop__/plain.tsx +0 -32
  398. package/src/core/primitives/stack/stack.tsx +0 -60
  399. package/src/core/primitives/switch/__workshop__/example.tsx +0 -23
  400. package/src/core/primitives/switch/__workshop__/index.ts +0 -13
  401. package/src/core/primitives/switch/__workshop__/props.tsx +0 -21
  402. package/src/core/primitives/switch/switch.tsx +0 -84
  403. package/src/core/primitives/text/__workshop__/colored.tsx +0 -23
  404. package/src/core/primitives/text/__workshop__/example.tsx +0 -28
  405. package/src/core/primitives/text/__workshop__/index.ts +0 -26
  406. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -23
  407. package/src/core/primitives/text/text.tsx +0 -76
  408. package/src/core/primitives/textArea/__workshop__/index.ts +0 -16
  409. package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -61
  410. package/src/core/primitives/textArea/textArea.tsx +0 -84
  411. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +0 -30
  412. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +0 -17
  413. package/src/core/primitives/textInput/__workshop__/index.ts +0 -46
  414. package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -110
  415. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -9
  416. package/src/core/primitives/textInput/__workshop__/states.tsx +0 -53
  417. package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -277
  418. package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -23
  419. package/src/core/primitives/textInput/textInput.tsx +0 -258
  420. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
  421. package/src/core/primitives/tooltip/__workshop__/index.ts +0 -31
  422. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
  423. package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -112
  424. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
  425. package/src/core/primitives/tooltip/constants.ts +0 -23
  426. package/src/core/primitives/tooltip/tooltip.test.tsx +0 -452
  427. package/src/core/primitives/tooltip/tooltip.tsx +0 -482
  428. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
  429. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -13
  430. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -55
  431. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -10
  432. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  433. package/src/core/primitives/tooltip/tooltipLayer.tsx +0 -106
  434. package/src/core/types.ts +0 -56
  435. package/src/core/utils/boundaryElement/__workshop__/index.ts +0 -16
  436. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +0 -19
  437. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -102
  438. package/src/core/utils/boundaryElement/boundaryElementContext.ts +0 -10
  439. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -18
  440. package/src/core/utils/boundaryElement/types.ts +0 -5
  441. package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -24
  442. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -41
  443. package/src/core/utils/elementQuery/__workshop__/index.ts +0 -16
  444. package/src/core/utils/elementQuery/elementQuery.tsx +0 -75
  445. package/src/core/utils/elementQuery/helpers.ts +0 -27
  446. package/src/core/utils/errorBoundary.tsx +0 -50
  447. package/src/core/utils/getElementRef.ts +0 -29
  448. package/src/core/utils/portal/__workshop__/index.ts +0 -16
  449. package/src/core/utils/portal/__workshop__/named.tsx +0 -63
  450. package/src/core/utils/portal/portal.test.tsx +0 -105
  451. package/src/core/utils/portal/portal.tsx +0 -36
  452. package/src/core/utils/portal/portalContext.ts +0 -37
  453. package/src/core/utils/portal/portalProvider.tsx +0 -70
  454. package/src/core/utils/portal/types.ts +0 -7
  455. package/src/core/utils/portal/usePortal.ts +0 -23
  456. package/src/css/_assign.ts +0 -3
  457. package/src/css/_composeClassNames.ts +0 -12
  458. package/src/css/_fromEntries.ts +0 -3
  459. package/src/css/_getClassNames.ts +0 -9
  460. package/src/css/_responsiveClassName.ts +0 -45
  461. package/src/css/_responsiveStyle.css.ts +0 -34
  462. package/src/css/_style.css.ts +0 -9
  463. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +0 -6
  464. package/src/css/components/breadcrumbs/breadcrumbs.ts +0 -7
  465. package/src/css/components/dialog/dialog.css.ts +0 -98
  466. package/src/css/components/dialog/dialog.ts +0 -58
  467. package/src/css/components/menu/menu.css.ts +0 -14
  468. package/src/css/components/menu/menu.ts +0 -12
  469. package/src/css/components/skeleton/skeleton.css.ts +0 -128
  470. package/src/css/components/skeleton/skeleton.ts +0 -38
  471. package/src/css/components/skeleton/types.ts +0 -36
  472. package/src/css/components/toast/toast.css.ts +0 -17
  473. package/src/css/components/toast/toast.ts +0 -11
  474. package/src/css/components/tree/tree.css.ts +0 -65
  475. package/src/css/components/tree/tree.ts +0 -7
  476. package/src/css/constants.ts +0 -10
  477. package/src/css/getVarName.ts +0 -27
  478. package/src/css/index.ts +0 -146
  479. package/src/css/layers.css.ts +0 -12
  480. package/src/css/primitives/_arrow/_arrow.css.ts +0 -68
  481. package/src/css/primitives/_arrow/_arrow.ts +0 -26
  482. package/src/css/primitives/_input/_input.css.ts +0 -261
  483. package/src/css/primitives/_input/input.ts +0 -29
  484. package/src/css/primitives/_input/types.ts +0 -13
  485. package/src/css/primitives/avatar/avatar.css.ts +0 -201
  486. package/src/css/primitives/avatar/avatar.ts +0 -68
  487. package/src/css/primitives/avatar/types.ts +0 -10
  488. package/src/css/primitives/badge/badge.css.ts +0 -27
  489. package/src/css/primitives/badge/badge.ts +0 -8
  490. package/src/css/primitives/badge/types.ts +0 -13
  491. package/src/css/primitives/box/box.css.ts +0 -19
  492. package/src/css/primitives/box/box.ts +0 -82
  493. package/src/css/primitives/box/types.ts +0 -75
  494. package/src/css/primitives/button/button.css.ts +0 -287
  495. package/src/css/primitives/button/button.ts +0 -26
  496. package/src/css/primitives/button/types.ts +0 -12
  497. package/src/css/primitives/card/__workshop__/color.tsx +0 -75
  498. package/src/css/primitives/card/__workshop__/index.ts +0 -16
  499. package/src/css/primitives/card/card.css.ts +0 -387
  500. package/src/css/primitives/card/card.ts +0 -13
  501. package/src/css/primitives/card/types.ts +0 -9
  502. package/src/css/primitives/checkbox/checkbox.css.ts +0 -193
  503. package/src/css/primitives/checkbox/checkbox.ts +0 -17
  504. package/src/css/primitives/code/code.css.ts +0 -272
  505. package/src/css/primitives/code/code.ts +0 -19
  506. package/src/css/primitives/code/types.ts +0 -11
  507. package/src/css/primitives/container/container.css.ts +0 -4
  508. package/src/css/primitives/container/container.ts +0 -17
  509. package/src/css/primitives/container/types.ts +0 -9
  510. package/src/css/primitives/heading/heading.css.ts +0 -86
  511. package/src/css/primitives/heading/heading.ts +0 -22
  512. package/src/css/primitives/heading/types.ts +0 -14
  513. package/src/css/primitives/kbd/kbd.css.ts +0 -16
  514. package/src/css/primitives/kbd/kbd.ts +0 -9
  515. package/src/css/primitives/kbd/types.ts +0 -6
  516. package/src/css/primitives/label/label.css.ts +0 -87
  517. package/src/css/primitives/label/label.ts +0 -22
  518. package/src/css/primitives/label/types.ts +0 -14
  519. package/src/css/primitives/popover/popover.css.ts +0 -6
  520. package/src/css/primitives/popover/popover.ts +0 -12
  521. package/src/css/primitives/radio/radio.css.ts +0 -78
  522. package/src/css/primitives/radio/radio.ts +0 -17
  523. package/src/css/primitives/root/root.css.ts +0 -19
  524. package/src/css/primitives/root/root.ts +0 -17
  525. package/src/css/primitives/root/types.ts +0 -10
  526. package/src/css/primitives/select/select.css.ts +0 -24
  527. package/src/css/primitives/select/select.ts +0 -14
  528. package/src/css/primitives/select/types.ts +0 -5
  529. package/src/css/primitives/selectable/selectable.css.ts +0 -131
  530. package/src/css/primitives/selectable/selectable.ts +0 -9
  531. package/src/css/primitives/selectable/types.ts +0 -9
  532. package/src/css/primitives/spinner/spinner.css.ts +0 -19
  533. package/src/css/primitives/spinner/spinner.ts +0 -13
  534. package/src/css/primitives/spinner/types.ts +0 -4
  535. package/src/css/primitives/srOnly/srOnly.css.ts +0 -10
  536. package/src/css/primitives/srOnly/srOnly.ts +0 -7
  537. package/src/css/primitives/stack/stack.css.ts +0 -6
  538. package/src/css/primitives/stack/stack.ts +0 -7
  539. package/src/css/primitives/switch/switch.css.ts +0 -98
  540. package/src/css/primitives/switch/switch.ts +0 -27
  541. package/src/css/primitives/text/text.css.ts +0 -86
  542. package/src/css/primitives/text/text.ts +0 -24
  543. package/src/css/primitives/text/types.ts +0 -18
  544. package/src/css/primitives/textArea/textArea.css.ts +0 -4
  545. package/src/css/primitives/textArea/textArea.ts +0 -9
  546. package/src/css/primitives/textArea/types.ts +0 -7
  547. package/src/css/primitives/textInput/textInput.css.ts +0 -43
  548. package/src/css/primitives/textInput/textInput.ts +0 -24
  549. package/src/css/primitives/textInput/types.ts +0 -7
  550. package/src/css/primitives/tooltip/tooltip.css.ts +0 -4
  551. package/src/css/primitives/tooltip/tooltip.ts +0 -8
  552. package/src/css/primitives/tooltip/types.ts +0 -4
  553. package/src/css/props/alignItems/alignItems.css.ts +0 -22
  554. package/src/css/props/alignItems/alignItems.ts +0 -8
  555. package/src/css/props/alignItems/types.ts +0 -9
  556. package/src/css/props/border/border.css.ts +0 -65
  557. package/src/css/props/border/border.ts +0 -21
  558. package/src/css/props/border/types.ts +0 -13
  559. package/src/css/props/boxSizing/boxSizing.css.ts +0 -12
  560. package/src/css/props/boxSizing/boxSizing.ts +0 -7
  561. package/src/css/props/boxSizing/types.ts +0 -7
  562. package/src/css/props/display/display.css.ts +0 -56
  563. package/src/css/props/display/display.ts +0 -8
  564. package/src/css/props/display/types.ts +0 -16
  565. package/src/css/props/flex/flex.css.ts +0 -52
  566. package/src/css/props/flex/flex.ts +0 -8
  567. package/src/css/props/flex/types.ts +0 -9
  568. package/src/css/props/flexDirection/flexDirection.css.ts +0 -19
  569. package/src/css/props/flexDirection/flexDirection.ts +0 -8
  570. package/src/css/props/flexDirection/types.ts +0 -9
  571. package/src/css/props/flexWrap/flexWrap.css.ts +0 -16
  572. package/src/css/props/flexWrap/flexWrap.ts +0 -8
  573. package/src/css/props/flexWrap/types.ts +0 -9
  574. package/src/css/props/font/font.css.ts +0 -94
  575. package/src/css/props/font/font.ts +0 -8
  576. package/src/css/props/font/types.ts +0 -6
  577. package/src/css/props/gap/gap.css.ts +0 -40
  578. package/src/css/props/gap/gap.ts +0 -13
  579. package/src/css/props/gap/types.ts +0 -10
  580. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +0 -19
  581. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +0 -8
  582. package/src/css/props/gridAutoColumns/types.ts +0 -9
  583. package/src/css/props/gridAutoFlow/gridAutoFlow.css.ts +0 -19
  584. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +0 -8
  585. package/src/css/props/gridAutoFlow/types.ts +0 -9
  586. package/src/css/props/gridAutoRows/gridAutoRows.css.ts +0 -19
  587. package/src/css/props/gridAutoRows/gridAutoRows.ts +0 -8
  588. package/src/css/props/gridAutoRows/types.ts +0 -9
  589. package/src/css/props/gridColumn/gridColumn.css.ts +0 -49
  590. package/src/css/props/gridColumn/gridColumn.ts +0 -8
  591. package/src/css/props/gridColumn/types.ts +0 -9
  592. package/src/css/props/gridColumnEnd/gridColumnEnd.css.ts +0 -46
  593. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +0 -8
  594. package/src/css/props/gridColumnEnd/types.ts +0 -9
  595. package/src/css/props/gridColumnStart/gridColumnStart.css.ts +0 -46
  596. package/src/css/props/gridColumnStart/gridColumnStart.ts +0 -8
  597. package/src/css/props/gridColumnStart/types.ts +0 -9
  598. package/src/css/props/gridRow/gridRow.css.ts +0 -49
  599. package/src/css/props/gridRow/gridRow.ts +0 -8
  600. package/src/css/props/gridRow/types.ts +0 -9
  601. package/src/css/props/gridRowEnd/gridRowEnd.css.ts +0 -46
  602. package/src/css/props/gridRowEnd/gridRowEnd.ts +0 -8
  603. package/src/css/props/gridRowEnd/types.ts +0 -9
  604. package/src/css/props/gridRowStart/gridRowStart.css.ts +0 -46
  605. package/src/css/props/gridRowStart/gridRowStart.ts +0 -8
  606. package/src/css/props/gridRowStart/types.ts +0 -9
  607. package/src/css/props/gridTemplateColumns/gridTemplateColumns.css.ts +0 -43
  608. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +0 -8
  609. package/src/css/props/gridTemplateColumns/types.ts +0 -9
  610. package/src/css/props/gridTemplateRows/gridTemplateRows.css.ts +0 -43
  611. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +0 -8
  612. package/src/css/props/gridTemplateRows/types.ts +0 -9
  613. package/src/css/props/height/height.css.ts +0 -25
  614. package/src/css/props/height/height.ts +0 -8
  615. package/src/css/props/height/types.ts +0 -9
  616. package/src/css/props/inset/inset.css.ts +0 -37
  617. package/src/css/props/inset/inset.ts +0 -21
  618. package/src/css/props/inset/types.ts +0 -13
  619. package/src/css/props/justifyContent/justifyContent.css.ts +0 -25
  620. package/src/css/props/justifyContent/justifyContent.ts +0 -8
  621. package/src/css/props/justifyContent/types.ts +0 -15
  622. package/src/css/props/margin/margin.css.ts +0 -117
  623. package/src/css/props/margin/margin.ts +0 -25
  624. package/src/css/props/margin/types.ts +0 -17
  625. package/src/css/props/maxWidth/maxWidth.css.ts +0 -32
  626. package/src/css/props/maxWidth/maxWidth.ts +0 -8
  627. package/src/css/props/maxWidth/types.ts +0 -11
  628. package/src/css/props/minHeight/minHeight.css.ts +0 -13
  629. package/src/css/props/minHeight/minHeight.ts +0 -8
  630. package/src/css/props/minHeight/types.ts +0 -9
  631. package/src/css/props/minWidth/minWidth.css.ts +0 -25
  632. package/src/css/props/minWidth/minWidth.ts +0 -8
  633. package/src/css/props/minWidth/types.ts +0 -9
  634. package/src/css/props/outline/outline.css.ts +0 -10
  635. package/src/css/props/outline/outline.ts +0 -8
  636. package/src/css/props/outline/types.ts +0 -7
  637. package/src/css/props/overflow/overflow.css.ts +0 -16
  638. package/src/css/props/overflow/overflow.ts +0 -8
  639. package/src/css/props/overflow/types.ts +0 -11
  640. package/src/css/props/padding/padding.css.ts +0 -87
  641. package/src/css/props/padding/padding.ts +0 -25
  642. package/src/css/props/padding/types.ts +0 -17
  643. package/src/css/props/pointerEvents/pointerEvents.css.ts +0 -13
  644. package/src/css/props/pointerEvents/pointerEvents.ts +0 -8
  645. package/src/css/props/pointerEvents/types.ts +0 -7
  646. package/src/css/props/position/position.css.ts +0 -22
  647. package/src/css/props/position/position.ts +0 -8
  648. package/src/css/props/position/types.ts +0 -9
  649. package/src/css/props/radius/radius.css.ts +0 -21
  650. package/src/css/props/radius/radius.ts +0 -8
  651. package/src/css/props/radius/types.ts +0 -8
  652. package/src/css/props/shadow/shadow.css.ts +0 -23
  653. package/src/css/props/shadow/shadow.ts +0 -8
  654. package/src/css/props/shadow/types.ts +0 -8
  655. package/src/css/props/textAlign/textAlign.css.ts +0 -22
  656. package/src/css/props/textAlign/textAlign.ts +0 -8
  657. package/src/css/props/textAlign/types.ts +0 -7
  658. package/src/css/props/textOverflow/textOverflow.css.ts +0 -19
  659. package/src/css/props/textOverflow/textOverflow.ts +0 -8
  660. package/src/css/props/textOverflow/types.ts +0 -12
  661. package/src/css/props/width/types.ts +0 -11
  662. package/src/css/props/width/width.css.ts +0 -31
  663. package/src/css/props/width/width.ts +0 -8
  664. package/src/css/theme/buildCSSTheme.ts +0 -488
  665. package/src/css/theme/defaultTheme.css.ts +0 -64
  666. package/src/css/types.ts +0 -427
  667. package/src/css/vars.css.ts +0 -676
  668. package/src/theme/_parseColorToken.ts +0 -180
  669. package/src/theme/buildTheme.ts +0 -32
  670. package/src/theme/constants.ts +0 -90
  671. package/src/theme/defaults/color.ts +0 -197
  672. package/src/theme/defaults/common.ts +0 -71
  673. package/src/theme/defaults/fonts.ts +0 -250
  674. package/src/theme/index.ts +0 -5
  675. package/src/theme/merge.ts +0 -24
  676. package/src/theme/resolveTokens.ts +0 -204
  677. package/src/theme/types.ts +0 -366
package/dist/theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sources":["../src/theme/constants.ts","../src/theme/_parseColorToken.ts","../src/theme/defaults/color.ts","../src/theme/defaults/common.ts","../src/theme/defaults/fonts.ts","../src/theme/merge.ts","../src/theme/resolveTokens.ts","../src/theme/buildTheme.ts"],"sourcesContent":["/** @public */\nexport const HUES = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const TINTS = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950] as const\n\n/** @public */\nexport const AVATAR_SIZE = [0, 1, 2, 3] as const\n\n/** @public */\nexport const CONTAINER_SCALE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const CONTAINER: [...typeof CONTAINER_SCALE, 'auto'] = [...CONTAINER_SCALE, 'auto']\n\n/** @public */\nexport const RADIUS = [0, 1, 2, 3, 4, 5, 6] as const\n\n/** @public */\nexport const SPACE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const\n\n/** @public */\nexport const FONT_CODE_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const FONT_HEADING_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_LABEL_SIZE = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const FONT_TEXT_SIZE = [0, 1, 2, 3, 4] as const\n\n/** @public */\nexport const SHADOW = [0, 1, 2, 3, 4, 5] as const\n\n/** @public */\nexport const COLOR_SCHEMES = ['light', 'dark'] as const\n\n/** @public */\nexport const COLOR_VARIANTS = ['tinted', 'solid'] as const\n\n/** @public */\nexport const AVATAR_COLORS = [\n 'gray',\n 'blue',\n 'purple',\n 'magenta',\n 'red',\n 'orange',\n 'yellow',\n 'green',\n 'cyan',\n] as const\n\n/** @public */\nexport const CARD_TONES = [\n 'transparent',\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const ELEMENT_TONES = [\n 'default',\n 'neutral',\n 'primary', // selections\n 'suggest',\n 'positive',\n 'caution',\n 'critical',\n] as const\n\n/** @public */\nexport const BUTTON_MODES = ['default', 'ghost', 'bleed'] as const\n","import {HUES, TINTS} from './constants'\nimport type {ColorToken, Hue, Tint} from './types'\n\nconst RE_PERCENTAGE = /^([0-9]+)%/\nconst RE_OPACITY = /^(1|0\\.[0-9]+)?/\n\n/** @internal */\nexport interface ColorNode {\n type: 'color'\n name: 'black' | 'white'\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorTintNode {\n type: 'tint'\n hue: Hue\n tint: Tint\n /** Between 0 and 1 */\n opacity: number\n /** Between 0 and 1 */\n mix: number\n}\n\n/** @internal */\nexport interface ColorInheritNode {\n type: 'inherit'\n}\n\n/** @internal */\nexport type TokenizeColorResult = ColorNode | ColorTintNode | ColorInheritNode\n\n/** @internal */\nexport function _parseColorToken(str: ColorToken, options: {defaultHue: Hue}): TokenizeColorResult {\n const {defaultHue} = options\n\n let cursor = 0\n\n return parseColorNode()\n\n function _consume(s: string) {\n if (str.startsWith(s, cursor)) {\n cursor += s.length\n\n return s\n }\n\n return undefined\n }\n\n function _peek() {\n return str[cursor]\n }\n\n function parseColorNode(): ColorNode | ColorTintNode | ColorInheritNode {\n ignoreWhitespace()\n\n let v = _consume('black') || _consume('white')\n\n if (v) {\n return {\n type: 'color',\n name: v as 'black' | 'white',\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n for (const hue of HUES) {\n v = _consume(String(hue))\n\n if (v) {\n if (_peek() !== '-') {\n throw new Error(`Expected \"-\" after hue key`)\n }\n\n cursor += 1\n\n const tint = parseTint()\n\n if (!tint) {\n throw new Error(`Expected tint after hue`)\n }\n\n return {\n type: 'tint',\n hue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n }\n\n const tint = parseTint()\n\n if (tint) {\n return {\n type: 'tint',\n hue: defaultHue,\n tint,\n opacity: parseOpacity() ?? 1,\n mix: parseMix() ?? 1,\n }\n }\n\n if (str === 'inherit') {\n return {\n type: 'inherit',\n }\n }\n\n throw new Error(`Invalid color: ${str}`)\n }\n\n function parseTint() {\n ignoreWhitespace()\n\n let v = Number(str.slice(cursor, cursor + 3)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 3\n\n return v\n }\n\n v = Number(str.slice(cursor, cursor + 2)) as Tint\n\n if (TINTS.includes(v)) {\n cursor += 2\n\n return v\n }\n\n return undefined\n }\n\n function parseMix() {\n ignoreWhitespace()\n\n const match = RE_PERCENTAGE.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1]) / 100\n }\n\n return undefined\n }\n\n function parseOpacity() {\n ignoreWhitespace()\n\n if (_peek() === '/') {\n cursor += 1\n\n const match = RE_OPACITY.exec(str.slice(cursor))\n\n if (match) {\n cursor += match[0].length\n\n return parseFloat(match[1])\n }\n\n cursor -= 1\n }\n\n return undefined\n }\n\n function ignoreWhitespace() {\n while (_peek() === ' ') {\n cursor++\n }\n }\n}\n","import type {ColorTokens, PartialTokens} from '../types'\n\n/** @internal */\nexport const defaultColor: PartialTokens<ColorTokens> = {\n '*': {\n backdrop: ['gray-100/0.5', 'black/0.5'],\n code: {\n bg: ['50', '950'],\n fg: ['700', '300'],\n token: {\n atrule: ['purple-600', 'purple-400'],\n attrName: ['green-600', 'green-400'],\n attrValue: ['yellow-600', 'yellow-400'],\n attribute: ['yellow-600', 'yellow-400'],\n boolean: ['purple-600', 'purple-400'],\n builtin: ['purple-600', 'purple-400'],\n cdata: ['yellow-600', 'yellow-400'],\n char: ['yellow-600', 'yellow-400'],\n class: ['orange-600', 'orange-400'],\n className: ['cyan-600', 'cyan-400'],\n comment: ['gray-400', 'gray-600'],\n constant: ['purple-600', 'purple-400'],\n deleted: ['red-600', 'red-400'],\n entity: ['red-600', 'red-400'],\n function: ['green-600', 'green-400'],\n hexcode: ['blue-600', 'blue-400'],\n id: ['purple-600', 'purple-400'],\n important: ['purple-600', 'purple-400'],\n inserted: ['green-600', 'green-400'],\n keyword: ['magenta-600', 'magenta-400'],\n number: ['purple-600', 'purple-400'],\n operator: ['magenta-600', 'magenta-400'],\n prolog: ['gray-600', 'gray-400'],\n property: ['blue-600', 'blue-400'],\n pseudoClass: ['yellow-600', 'yellow-400'],\n pseudoElement: ['yellow-600', 'yellow-400'],\n punctuation: ['gray-600', 'gray-400'],\n regex: ['blue-600', 'blue-400'],\n selector: ['red-600', 'red-400'],\n string: ['yellow-600', 'yellow-400'],\n symbol: ['purple-600', 'purple-400'],\n tag: ['red-600', 'red-400'],\n unit: ['orange-600', 'orange-400'],\n url: ['red-600', 'red-400'],\n variable: ['red-600', 'red-400'],\n },\n },\n focusRing: ['blue-500', 'blue-500'],\n link: {\n fg: ['blue-600', 'blue-400'],\n },\n shadow: {\n outline: ['600/0.3', '500/0.4'],\n umbra: ['600/0.1', 'black/0.2'],\n penumbra: ['600/0.07', 'black/0.14'],\n ambient: ['600/0.06', 'black/0.12'],\n },\n skeleton: {\n from: ['200 70%', '800 35%'],\n to: ['200 40%', '800 50%'],\n },\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['100 75%', '900 75%'],\n 4: ['300', '700'],\n },\n border: {\n 0: ['200', '700 50%'],\n 4: ['300 75%', '500'],\n },\n fg: {\n 0: ['900', '100'],\n 4: ['700', '300'],\n },\n },\n 'primary': {\n _hue: 'blue',\n bg: {0: ['inherit', 'inherit']},\n },\n 'suggest': {\n _hue: 'purple',\n bg: {0: ['inherit', 'inherit']},\n },\n 'positive': {\n _hue: 'green',\n bg: {0: ['inherit', 'inherit']},\n },\n 'caution': {\n _hue: 'yellow',\n bg: {0: ['inherit', 'inherit']},\n },\n 'critical': {\n _hue: 'red',\n bg: {0: ['inherit', 'inherit']},\n },\n },\n solid: {\n '*': {\n bg: {\n 0: ['500', '400'],\n 4: ['600', '300'],\n },\n border: {\n 0: ['400', '200'],\n 4: ['500', '100'],\n },\n fg: {\n 0: ['white', 'black'],\n 4: ['200', '700'],\n },\n },\n 'default': {\n bg: {\n 0: ['800', '200'],\n 4: ['black', 'white'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['800', '200'],\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n },\n },\n },\n 'transparent': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['gray-50', 'black'],\n 4: ['300 75%', '700 75%'],\n },\n border: {\n 0: ['200', '800 75%'],\n 4: ['400', '700'],\n },\n fg: {\n 0: ['black', '100'],\n 4: ['700', '400'],\n },\n },\n },\n },\n },\n 'default': {\n variant: {\n tinted: {\n '*': {\n bg: {\n 0: ['white', '950'],\n 4: ['300 75%', '700'],\n },\n border: {\n 0: ['100', '800 75%'],\n 4: ['300', '700'],\n },\n fg: {\n 0: ['black', 'white'],\n 4: ['600', '400'],\n },\n },\n },\n },\n },\n 'primary': {\n _hue: 'blue',\n },\n 'suggest': {\n _hue: 'purple',\n },\n 'positive': {\n _hue: 'green',\n },\n 'caution': {\n _hue: 'yellow',\n },\n 'critical': {\n _hue: 'red',\n },\n}\n","import type {Theme} from '../types'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultTheme: Omit<Theme, '_version' | '_tokens' | 'color' | 'font' | 'palette'> = {\n avatar: {\n sizes: [\n {distance: -4, size: 19},\n {distance: -4, size: 25},\n {distance: -8, size: 33},\n {distance: -12, size: 49},\n ],\n focusRing: {offset: 1, width: 1},\n },\n button: {\n textWeight: 'medium',\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n },\n card: {\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n shadow: {outline: OUTLINE_WIDTH},\n },\n container: [320, 640, 960, 1280, 1600, 1920],\n media: [360, 600, 900, 1200, 1800, 2400],\n layer: {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n },\n radius: [0, 1, 3, 7, 11, 15, 23, 43, 75, 127],\n shadow: [\n undefined,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n border: {\n width: BORDER_WIDTH,\n },\n checkbox: {\n size: 17,\n focusRing: {offset: -1, width: 1},\n },\n radio: {\n size: 17,\n markSize: 9,\n focusRing: {offset: -1, width: 1},\n },\n switch: {\n width: 25,\n height: 17,\n padding: 5,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n focusRing: {offset: 1, width: 1},\n },\n select: {\n focusRing: {offset: -1, width: 1},\n },\n text: {\n focusRing: {offset: -1, width: 1},\n },\n },\n}\n","import type {Fonts} from '../types'\n\nexport const defaultFonts: Fonts = {\n code: {\n family: 'ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace',\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 10,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18.75,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 21.5,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\n },\n ],\n },\n heading: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n featureSettings: `'liga' 1, 'calt' 1, 'ss01' 1, 'ss03' 1, 'zero' 1`,\n weight: {\n regular: 600,\n medium: 700,\n semibold: 800,\n bold: 900,\n },\n scale: [\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 13,\n iconSize: 17,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 16,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 21,\n iconSize: 33,\n lineHeight: 29,\n letterSpacing: -0.25,\n customIconSize: 28,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 27,\n iconSize: 41,\n lineHeight: 35,\n letterSpacing: -0.5,\n customIconSize: 36,\n },\n {\n ascenderHeight: 9.5,\n descenderHeight: 8.5,\n fontSize: 33,\n iconSize: 49,\n lineHeight: 41,\n letterSpacing: -1,\n customIconSize: 44,\n },\n {\n ascenderHeight: 10.5,\n descenderHeight: 9.5,\n fontSize: 38,\n iconSize: 53,\n lineHeight: 47,\n letterSpacing: -1,\n customIconSize: 48,\n },\n ],\n },\n label: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", system-ui, sans-serif',\n weight: {\n regular: 500,\n medium: 600,\n semibold: 700,\n bold: 800,\n },\n scale: [\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 8.1,\n iconSize: 13,\n lineHeight: 10,\n letterSpacing: 0.5,\n customIconSize: 8,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 9.5,\n iconSize: 15,\n lineHeight: 11,\n letterSpacing: 0.5,\n customIconSize: 10,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 10.8,\n iconSize: 17,\n lineHeight: 12,\n letterSpacing: 0.5,\n customIconSize: 12,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 12.25,\n iconSize: 19,\n lineHeight: 13,\n letterSpacing: 0.5,\n customIconSize: 14,\n },\n {\n ascenderHeight: 1.5,\n descenderHeight: 2.5,\n fontSize: 13.6,\n iconSize: 21,\n lineHeight: 14,\n letterSpacing: 0.5,\n customIconSize: 16,\n },\n {\n ascenderHeight: 2,\n descenderHeight: 2,\n fontSize: 15,\n iconSize: 23,\n lineHeight: 15,\n letterSpacing: 0.5,\n customIconSize: 18,\n },\n ],\n },\n text: {\n family:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Liberation Sans\", Helvetica, Arial, system-ui, sans-serif',\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n scale: [\n {\n ascenderHeight: 4,\n descenderHeight: 4,\n fontSize: 9.75,\n iconSize: 17,\n lineHeight: 15,\n letterSpacing: 0,\n customIconSize: 12,\n },\n {\n ascenderHeight: 5,\n descenderHeight: 5,\n fontSize: 12.5,\n iconSize: 21,\n lineHeight: 19,\n letterSpacing: 0,\n customIconSize: 16,\n },\n {\n ascenderHeight: 6,\n descenderHeight: 6,\n fontSize: 15.25,\n iconSize: 25,\n lineHeight: 23,\n letterSpacing: 0,\n customIconSize: 20,\n },\n {\n ascenderHeight: 7,\n descenderHeight: 7,\n fontSize: 18,\n iconSize: 29,\n lineHeight: 27,\n letterSpacing: 0,\n customIconSize: 24,\n },\n {\n ascenderHeight: 8,\n descenderHeight: 8,\n fontSize: 20.75,\n iconSize: 33,\n lineHeight: 31,\n letterSpacing: 0,\n customIconSize: 28,\n },\n ],\n },\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport function merge<T extends Record<string, any>>(...records: (T | undefined)[]): T {\n return (records.filter(Boolean) as T[]).reduce(_merge, {} as T)\n}\n\nfunction _merge<T extends Record<string, any>>(acc: T, source: T): T {\n for (const key of Object.keys(source)) {\n const prevValue = acc[key]\n const nextValue = source[key]\n\n if (isRecord(prevValue) && isRecord(nextValue)) {\n ;(acc as any)[key] = merge(prevValue, nextValue)\n } else {\n ;(acc as any)[key] = nextValue\n }\n }\n\n return acc\n}\n\nfunction isRecord(value: unknown): value is Record<string, any> {\n return value !== null && typeof value === 'object' && !Array.isArray(value)\n}\n","import {CARD_TONES, ELEMENT_TONES} from './constants'\nimport {merge} from './merge'\nimport type {\n CardColorTokens,\n CardTone,\n ElementColorTokens,\n ElementTone,\n PartialTokens,\n Tokens,\n} from './types'\n\nconst defaultElementTokens: ElementColorTokens = {\n _hue: 'gray',\n bg: {\n 0: ['950', '50'],\n 4: ['700', '300'],\n },\n border: {\n 0: ['700', '300'],\n 4: ['400', '600'],\n },\n fg: {\n 0: ['100', '900'],\n 4: ['400', '600'],\n },\n}\n\n/** @internal */\nexport function resolveTokens(tokens: PartialTokens<Tokens> = {}): Tokens {\n return {\n color: {\n '*': resolveCardColorTokens(tokens.color?.['*']),\n\n ...CARD_TONES.reduce(\n (acc, tone) => {\n return {\n ...acc,\n [tone]: resolveCardColorTokens(merge(tokens.color?.['*'], tokens.color?.[tone])),\n }\n },\n {} as Record<CardTone, CardColorTokens>,\n ),\n },\n }\n}\n\nfunction resolveCardColorTokens(\n tokens: PartialTokens<CardColorTokens> | undefined,\n): CardColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n avatar: {\n gray: {\n _hue: tokens?.avatar?.gray?._hue ?? 'gray',\n bg: tokens?.avatar?.gray?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.gray?.fg ?? ['white', '900'],\n },\n blue: {\n _hue: tokens?.avatar?.blue?._hue ?? 'blue',\n bg: tokens?.avatar?.blue?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.blue?.fg ?? ['white', '900'],\n },\n purple: {\n _hue: tokens?.avatar?.purple?._hue ?? 'purple',\n bg: tokens?.avatar?.purple?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.purple?.fg ?? ['white', '900'],\n },\n magenta: {\n _hue: tokens?.avatar?.magenta?._hue ?? 'magenta',\n bg: tokens?.avatar?.magenta?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.magenta?.fg ?? ['white', '900'],\n },\n red: {\n _hue: tokens?.avatar?.red?._hue ?? 'red',\n bg: tokens?.avatar?.red?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.red?.fg ?? ['white', '900'],\n },\n orange: {\n _hue: tokens?.avatar?.orange?._hue ?? 'orange',\n bg: tokens?.avatar?.orange?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.orange?.fg ?? ['white', '900'],\n },\n yellow: {\n _hue: tokens?.avatar?.yellow?._hue ?? 'yellow',\n bg: tokens?.avatar?.yellow?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.yellow?.fg ?? ['white', '900'],\n },\n green: {\n _hue: tokens?.avatar?.green?._hue ?? 'green',\n bg: tokens?.avatar?.green?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.green?.fg ?? ['white', '900'],\n },\n cyan: {\n _hue: tokens?.avatar?.cyan?._hue ?? 'cyan',\n bg: tokens?.avatar?.cyan?.bg ?? ['500', '400'],\n fg: tokens?.avatar?.cyan?.fg ?? ['white', '900'],\n },\n },\n backdrop: tokens?.backdrop ?? ['100', '900'],\n code: {\n bg: tokens?.code?.bg ?? ['50', '950'],\n fg: tokens?.code?.fg ?? ['600', '400'],\n token: {\n atrule: tokens?.code?.token?.atrule ?? ['600', '400'],\n attribute: tokens?.code?.token?.attribute ?? ['600', '400'],\n attrName: tokens?.code?.token?.attrName ?? ['600', '400'],\n attrValue: tokens?.code?.token?.attrValue ?? ['600', '400'],\n boolean: tokens?.code?.token?.boolean ?? ['600', '400'],\n builtin: tokens?.code?.token?.builtin ?? ['600', '400'],\n cdata: tokens?.code?.token?.cdata ?? ['600', '400'],\n char: tokens?.code?.token?.char ?? ['600', '400'],\n class: tokens?.code?.token?.class ?? ['600', '400'],\n className: tokens?.code?.token?.className ?? ['600', '400'],\n comment: tokens?.code?.token?.comment ?? ['400', '600'],\n constant: tokens?.code?.token?.constant ?? ['600', '400'],\n deleted: tokens?.code?.token?.deleted ?? ['600', '400'],\n doctype: tokens?.code?.token?.doctype ?? ['600', '400'],\n entity: tokens?.code?.token?.entity ?? ['600', '400'],\n function: tokens?.code?.token?.function ?? ['600', '400'],\n hexcode: tokens?.code?.token?.hexcode ?? ['600', '400'],\n id: tokens?.code?.token?.id ?? ['600', '400'],\n important: tokens?.code?.token?.important ?? ['600', '400'],\n inserted: tokens?.code?.token?.inserted ?? ['600', '400'],\n keyword: tokens?.code?.token?.keyword ?? ['600', '400'],\n number: tokens?.code?.token?.number ?? ['600', '400'],\n operator: tokens?.code?.token?.operator ?? ['600', '400'],\n prolog: tokens?.code?.token?.prolog ?? ['600', '400'],\n property: tokens?.code?.token?.property ?? ['600', '400'],\n pseudoClass: tokens?.code?.token?.pseudoClass ?? ['600', '400'],\n pseudoElement: tokens?.code?.token?.pseudoElement ?? ['600', '400'],\n punctuation: tokens?.code?.token?.punctuation ?? ['600', '400'],\n regex: tokens?.code?.token?.regex ?? ['600', '400'],\n selector: tokens?.code?.token?.selector ?? ['600', '400'],\n string: tokens?.code?.token?.string ?? ['600', '400'],\n symbol: tokens?.code?.token?.symbol ?? ['600', '400'],\n tag: tokens?.code?.token?.tag ?? ['600', '400'],\n unit: tokens?.code?.token?.unit ?? ['600', '400'],\n url: tokens?.code?.token?.url ?? ['600', '400'],\n variable: tokens?.code?.token?.variable ?? ['600', '400'],\n },\n },\n focusRing: tokens?.focusRing ?? ['500', '500'],\n link: {\n fg: tokens?.link?.fg ?? ['600', '400'],\n },\n shadow: {\n outline: tokens?.shadow?.outline ?? ['500', '500'],\n umbra: tokens?.shadow?.umbra ?? ['500', '500'],\n penumbra: tokens?.shadow?.penumbra ?? ['500', '500'],\n ambient: tokens?.shadow?.ambient ?? ['500', '500'],\n },\n skeleton: {\n from: tokens?.skeleton?.from ?? ['100', '900'],\n to: tokens?.skeleton?.to ?? ['50', '950'],\n },\n\n variant: {\n solid: {\n '*': resolveElementTokens(tokens?.variant?.solid?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.solid?.['*'], tokens?.variant?.solid?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n tinted: {\n '*': resolveElementTokens(tokens?.variant?.tinted?.['*']),\n ...ELEMENT_TONES.reduce(\n (acc, tone) => {\n acc[tone] = resolveElementTokens(\n merge(tokens, tokens?.variant?.tinted?.['*'], tokens?.variant?.tinted?.[tone]),\n )\n\n return acc\n },\n {} as Record<ElementTone, ElementColorTokens>,\n ),\n },\n },\n }\n}\n\nfunction resolveElementTokens(tokens?: PartialTokens<ElementColorTokens>): ElementColorTokens {\n return {\n _hue: tokens?._hue ?? 'gray',\n bg: {\n 0: tokens?.bg?.[0] ?? defaultElementTokens.bg[0],\n 4: tokens?.bg?.[4] ?? defaultElementTokens.bg[4],\n },\n border: {\n 0: tokens?.border?.[0] ?? defaultElementTokens.border[0],\n 4: tokens?.border?.[4] ?? defaultElementTokens.border[4],\n },\n fg: {\n 0: tokens?.fg?.[0] ?? defaultElementTokens.fg[0],\n 4: tokens?.fg?.[4] ?? defaultElementTokens.fg[4],\n },\n }\n}\n","import {black, hues, white} from '@sanity/color'\n\nimport {defaultColor} from './defaults/color'\nimport {defaultTheme} from './defaults/common'\nimport {defaultFonts} from './defaults/fonts'\nimport {resolveTokens} from './resolveTokens'\nimport type {Theme, ThemeOptions} from './types'\n\n/** @public */\nexport function buildTheme(options?: ThemeOptions): Theme {\n const tokens = resolveTokens({\n color: options?.color ?? defaultColor,\n })\n\n return {\n _version: 3,\n _tokens: tokens,\n avatar: defaultTheme.avatar,\n button: defaultTheme.button,\n card: defaultTheme.card,\n color: tokens.color,\n container: defaultTheme.container,\n font: defaultFonts,\n input: defaultTheme.input,\n layer: defaultTheme.layer,\n media: defaultTheme.media,\n palette: {black, white, hues},\n radius: defaultTheme.radius,\n shadow: defaultTheme.shadow,\n space: defaultTheme.space,\n }\n}\n"],"names":["HUES","TINTS","AVATAR_SIZE","CONTAINER_SCALE","CONTAINER","RADIUS","SPACE","FONT_CODE_SIZE","FONT_HEADING_SIZE","FONT_LABEL_SIZE","FONT_TEXT_SIZE","SHADOW","COLOR_SCHEMES","COLOR_VARIANTS","AVATAR_COLORS","CARD_TONES","ELEMENT_TONES","BUTTON_MODES","RE_PERCENTAGE","RE_OPACITY","_parseColorToken","str","options","defaultHue","cursor","parseColorNode","_consume","s","startsWith","length","_peek","ignoreWhitespace","v","type","name","opacity","parseOpacity","mix","parseMix","hue","String","Error","tint","parseTint","Number","slice","includes","match","exec","parseFloat","defaultColor","backdrop","code","bg","fg","token","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","focusRing","link","shadow","outline","umbra","penumbra","ambient","skeleton","from","to","variant","tinted","border","_hue","solid","defaultTheme","avatar","sizes","distance","size","offset","width","button","textWeight","BORDER_WIDTH","card","OUTLINE_WIDTH","container","media","layer","dialog","zOffset","popover","tooltip","radius","undefined","space","input","checkbox","radio","markSize","switch","height","padding","transitionDurationMs","transitionTimingFunction","select","text","defaultFonts","family","weight","regular","medium","semibold","bold","scale","ascenderHeight","descenderHeight","fontSize","iconSize","lineHeight","letterSpacing","customIconSize","heading","featureSettings","label","merge","records","filter","Boolean","reduce","_merge","acc","source","key","Object","keys","prevValue","nextValue","isRecord","value","Array","isArray","defaultElementTokens","resolveTokens","tokens","color","resolveCardColorTokens","tone","gray","blue","purple","magenta","red","orange","yellow","green","cyan","doctype","resolveElementTokens","buildTheme","_version","_tokens","font","palette","black","white","hues"],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","names":["parseColor","RGB","RGBA","getContrastRatio","bg","fg","rgb1","rgb2","c1","rgb_lrgb","c2","l1","lrgb_luminance","l2","Math","max","min","r","g","b","rgb_lrgb1","v","isColorButtonMode","isColorConfigBaseKey","isColorConfigBaseTone","isColorConfigBlendKey","isColorConfigStateKey","isColorConfigStateTone","TokenKeyNode","parseTokenKey","str","segments","split","segment0","shift","key","join","type","tone","segment1","segment2","mode","undefined","RootTheme","RootTheme_v2","is_v0","themeProp","_version"],"sources":["../src/theme/build/lib/color-fns/contrastRatio.ts","../src/theme/config/tokens/parseTokenKey.ts","../src/theme/versioning/is_v0.ts"],"sourcesContent":["import {parseColor} from './parse'\nimport {RGB, RGBA} from './types'\n\n/** @internal */\nexport function getContrastRatio(bg: string, fg: string): number {\n const rgb1 = parseColor(bg) // bg: RGB | RGBA, fg: RGB | RGBA\n const rgb2 = parseColor(fg)\n\n // convert the two colors from sRGB to linear-light RGB\n const c1 = rgb_lrgb(rgb1)\n const c2 = rgb_lrgb(rgb2)\n\n // compute the relative luminances\n const l1 = lrgb_luminance(c1)\n const l2 = lrgb_luminance(c2)\n\n // compute the contrast ratio\n return (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05)\n}\n\nfunction rgb_lrgb({r, g, b}: RGB | RGBA): [number, number, number] {\n return [rgb_lrgb1(r / 255), rgb_lrgb1(g / 255), rgb_lrgb1(b / 255)]\n}\n\nfunction rgb_lrgb1(v: number) {\n return v <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4\n}\n\nfunction lrgb_luminance([r, g, b]: [number, number, number]) {\n return 0.2126 * r + 0.7152 * g + 0.0722 * b\n}\n","import {isColorButtonMode} from '../../system/color/_helpers'\nimport {\n isColorConfigBaseKey,\n isColorConfigBaseTone,\n isColorConfigBlendKey,\n isColorConfigStateKey,\n isColorConfigStateTone,\n} from '../helpers'\nimport {TokenKeyNode} from './types'\n\n/** @internal */\nexport function parseTokenKey(str: string): TokenKeyNode | undefined {\n const segments = str.split('/')\n const segment0 = segments.shift() || ''\n\n if (isColorConfigBaseTone(segment0)) {\n const key = segments.join('/')\n\n if (isColorConfigBaseKey(key)) {\n return {\n type: 'base',\n tone: segment0,\n key,\n }\n }\n\n if (isColorConfigBlendKey(key)) {\n return {\n type: 'base',\n tone: segment0,\n key,\n }\n }\n }\n\n if (segment0 === 'button') {\n const segment1 = segments.shift() || ''\n\n if (isColorConfigStateTone(segment1)) {\n const segment2 = segments.shift() || ''\n\n if (isColorButtonMode(segment2)) {\n const key = segments.join('/')\n\n if (isColorConfigStateKey(key)) {\n return {\n type: 'button',\n tone: segment1,\n mode: segment2,\n key,\n }\n }\n\n if (isColorConfigBlendKey(key)) {\n return {\n type: 'button',\n tone: segment1,\n mode: segment2,\n key,\n }\n }\n }\n }\n }\n\n return undefined\n}\n","import {RootTheme, RootTheme_v2} from '../system/theme'\n\n/** @internal */\nexport function is_v0(themeProp: RootTheme | RootTheme_v2): themeProp is RootTheme {\n return themeProp._version === 0\n}\n"],"mappings":";;;;AAIA,SAAgBG,iBAAiBC,IAAYC,IAAoB;CAC/D,IAAMC,OAAON,WAAWI,EAAE,GACpBG,OAAOP,WAAWK,EAAE,GAGpBG,KAAKC,SAASH,IAAI,GAClBI,KAAKD,SAASF,IAAI,GAGlBI,KAAKC,eAAeJ,EAAE,GACtBK,KAAKD,eAAeF,EAAE;CAG5B,QAAQI,KAAKC,IAAIJ,IAAIE,EAAE,IAAI,QAASC,KAAKE,IAAIL,IAAIE,EAAE,IAAI;AACzD;AAEA,SAASJ,SAAS,EAACQ,GAAGC,GAAGC,KAA0C;CACjE,OAAO;EAACC,UAAUH,IAAI,GAAG;EAAGG,UAAUF,IAAI,GAAG;EAAGE,UAAUD,IAAI,GAAG;CAAC;AACpE;AAEA,SAASC,UAAUC,GAAW;CAC5B,OAAOA,KAAK,SAAUA,IAAI,UAAUA,IAAI,QAAS,UAAU;AAC7D;AAEA,SAAST,eAAe,CAACK,GAAGC,GAAGC,IAA8B;CAC3D,OAAO,QAASF,IAAI,QAASC,IAAI,QAASC;AAC5C;;ACnBA,SAAgBU,cAAcC,KAAuC;CACnE,IAAMC,WAAWD,IAAIE,MAAM,GAAG,GACxBC,WAAWF,SAASG,MAAM,KAAK;CAErC,IAAIV,sBAAsBS,QAAQ,GAAG;EACnC,IAAME,MAAMJ,SAASK,KAAK,GAAG;EAU7B,IARIb,qBAAqBY,GAAG,KAQxBV,sBAAsBU,GAAG,GAC3B,OAAO;GACLE,MAAM;GACNC,MAAML;GACNE;EACF;CAEJ;CAEA,IAAIF,aAAa,UAAU;EACzB,IAAMM,WAAWR,SAASG,MAAM,KAAK;EAErC,IAAIP,uBAAuBY,QAAQ,GAAG;GACpC,IAAMC,WAAWT,SAASG,MAAM,KAAK;GAErC,IAAIZ,kBAAkBkB,QAAQ,GAAG;IAC/B,IAAML,MAAMJ,SAASK,KAAK,GAAG;IAW7B,IATIV,sBAAsBS,GAAG,KASzBV,sBAAsBU,GAAG,GAC3B,OAAO;KACLE,MAAM;KACNC,MAAMC;KACNE,MAAMD;KACNL;IACF;GAEJ;EACF;CACF;AAGF;;AC/DA,SAAgBU,MAAMC,WAA6D;CACjF,OAAOA,UAAUC,aAAa;AAChC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @public
3
+ */
4
+ interface ToastProps {
5
+ closable?: boolean;
6
+ description?: React.ReactNode;
7
+ onClose: () => void;
8
+ radius?: number | number[];
9
+ title?: React.ReactNode;
10
+ status?: 'error' | 'warning' | 'success' | 'info';
11
+ duration?: number;
12
+ updatedAt?: number;
13
+ }
14
+ /**
15
+ * The `Toast` component gives feedback to users when an action has taken place.
16
+ *
17
+ * Toasts can be closed with a close button, or auto-dismiss after a certain timeout.
18
+ *
19
+ * @public
20
+ */
21
+ declare function Toast(props: ToastProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'ref' | 'title' | 'onAnimationStart' | 'onDragStart' | 'onDragEnd' | 'onDrag'>): React.JSX.Element;
22
+ /**
23
+ * @public
24
+ */
25
+ interface ToastLayerProps {
26
+ children: React.ReactNode;
27
+ padding?: number | number[];
28
+ paddingX?: number | number[];
29
+ paddingY?: number | number[];
30
+ gap?: number | number[];
31
+ }
32
+ /**
33
+ * @public
34
+ */
35
+ interface ToastProviderProps extends Omit<ToastLayerProps, 'children'> {
36
+ children?: React.ReactNode;
37
+ zOffset?: number | number[];
38
+ }
39
+ /**
40
+ * @public
41
+ */
42
+ declare function ToastProvider(props: ToastProviderProps): React.JSX.Element;
43
+ /**
44
+ * @public
45
+ */
46
+ interface ToastParams {
47
+ closable?: boolean;
48
+ description?: React.ReactNode;
49
+ duration?: number;
50
+ id?: string;
51
+ onClose?: () => void;
52
+ title?: React.ReactNode;
53
+ status?: 'error' | 'warning' | 'success' | 'info';
54
+ }
55
+ /**
56
+ * @public
57
+ */
58
+ interface ToastContextValue {
59
+ version: 0.0;
60
+ /**
61
+ * Creates or updates a toast notification.
62
+ * If a toast with the same ID already exists, it will be updated.
63
+ * If an ID is not provided, a random one will be generated.
64
+ * The returned ID can be used to programatically update a toast.
65
+ */
66
+ push: (params: ToastParams) => string;
67
+ }
68
+ /**
69
+ * @public
70
+ */
71
+ declare function useToast(): ToastContextValue;
72
+ export { Toast, type ToastContextValue, type ToastParams, type ToastProps, ToastProvider, type ToastProviderProps, useToast };
73
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","names":[],"sources":["../src/core/components/toast/toast.tsx","../src/core/components/toast/toastLayer.tsx","../src/core/components/toast/toastProvider.tsx","../src/core/components/toast/types.ts","../src/core/components/toast/useToast.ts"],"mappings":"AAsBA;;;UAAiB;EACf;EACA,cAAc,MAAM;EACpB;EACA;EACA,QAAQ,MAAM;EACd;EACA;EACA;;;;;;;;;iBAqBc,MACd,OAAO,aACL,KACE,MAAM,UAAU,oHAUnB,MAAM,IAAI;;;;UCxDI;EACf,UAAU,MAAM;EAChB;EACA;EACA;EACA;;;;;UCQe,2BAA2B,KAAK;EAC/C,WAAW,MAAM;EACjB;;;;;iBAMc,cAAc,OAAO,qBAAqB,MAAM,IAAI;;;;UC1BnD;EACf;EACA,cAAc,MAAM;EACpB;EACA;EACA;EACA,QAAQ,MAAM;EACd;;;;;UAMe;EACf;;;;;;;EAOA,OAAO,QAAQ;;;;;iBCfD,YAAY"}
package/dist/toast.js ADDED
@@ -0,0 +1,297 @@
1
+ "use client";
2
+ import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
3
+ import { d as createGlobalScopedContext, i as usePrefersReducedMotion, n as LayerProvider, r as isRecord, s as Card, t as useLayer, y as Box } from "./useLayer-BAVfmbNN.js";
4
+ import { t as Flex } from "./flex-C-5JHi1C.js";
5
+ import { n as Text, t as Stack } from "./stack-iW9HuGLg.js";
6
+ import { t as Button } from "./button-mxfSqr0n.js";
7
+ import { t as Grid } from "./grid-BXHFJhf_.js";
8
+ import { c } from "react/compiler-runtime";
9
+ import { startTransition, useContext, useState, useSyncExternalStore } from "react";
10
+ import { styled } from "styled-components";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ import { AnimatePresence, motion, stagger } from "motion/react";
13
+ import { CloseIcon } from "@sanity/icons/Close";
14
+ const STATUS_CARD_TONE = {
15
+ error: "critical",
16
+ warning: "caution",
17
+ success: "positive",
18
+ info: "neutral"
19
+ }, BUTTON_TONE = {
20
+ error: "critical",
21
+ warning: "caution",
22
+ success: "positive",
23
+ info: "neutral"
24
+ }, TextBox = styled(Flex).withConfig({
25
+ displayName: "TextBox",
26
+ componentId: "sc-xd2ehd-0"
27
+ })`overflow-x:auto;`, StyledToast = styled(Card).withConfig({
28
+ displayName: "StyledToast",
29
+ componentId: "sc-xd2ehd-1"
30
+ })`pointer-events:all;width:100%;position:relative;overflow:hidden;overflow:clip;&[data-has-duration]{padding-bottom:calc(${2}px / 2);}`, LoadingBar = styled.div.withConfig({
31
+ displayName: "LoadingBar",
32
+ componentId: "sc-xd2ehd-2"
33
+ })`display:flex;position:absolute;bottom:0px;top:0px;left:0px;right:0px;pointer-events:none;z-index:-1;overflow:hidden;overflow:clip;background:transparent;align-items:flex-end;will-change:opacity;`, LoadingBarMask = styled(Card).withConfig({
34
+ displayName: "LoadingBarMask",
35
+ componentId: "sc-xd2ehd-3"
36
+ })`position:absolute;top:0;left:-${2}px;right:-${2}px;bottom:${2}px;z-index:1;`, LoadingBarProgress = styled(Card).withConfig({
37
+ displayName: "LoadingBarProgress",
38
+ componentId: "sc-xd2ehd-4"
39
+ })`display:block;height:100%;width:100%;transform-origin:0% 50%;background-color:${(props) => {
40
+ let { color } = getTheme_v2(props.theme);
41
+ return color.button.default[props.tone].enabled.bg;
42
+ }};`, ROLES = {
43
+ error: "alert",
44
+ warning: "alert",
45
+ success: "alert",
46
+ info: "alert"
47
+ };
48
+ /**
49
+ * The `Toast` component gives feedback to users when an action has taken place.
50
+ *
51
+ * Toasts can be closed with a close button, or auto-dismiss after a certain timeout.
52
+ *
53
+ * @public
54
+ */
55
+ function Toast(props) {
56
+ let $ = c(50), closable, description, duration, onClose, restProps, status, t0, title, updatedAt;
57
+ $[0] === props ? (closable = $[1], description = $[2], duration = $[3], onClose = $[4], restProps = $[5], status = $[6], t0 = $[7], title = $[8], updatedAt = $[9]) : ({closable, description, duration, onClose, radius: t0, title, status, updatedAt, ...restProps} = props, $[0] = props, $[1] = closable, $[2] = description, $[3] = duration, $[4] = onClose, $[5] = restProps, $[6] = status, $[7] = t0, $[8] = title, $[9] = updatedAt);
58
+ let radius = t0 === void 0 ? 3 : t0, cardTone = status ? STATUS_CARD_TONE[status] : "default", buttonTone = status ? BUTTON_TONE[status] : "default", role = status ? ROLES[status] : "status", visualDuration = usePrefersReducedMotion() ? 0 : .26, t1;
59
+ $[10] === visualDuration ? t1 = $[11] : (t1 = visualDuration ? {
60
+ type: "spring",
61
+ visualDuration,
62
+ bounce: .25
63
+ } : { duration: 0 }, $[10] = visualDuration, $[11] = t1);
64
+ let transition = t1, hasDuration = duration && isFinite(duration) && duration < 20736e5, t2;
65
+ $[12] === Symbol.for("react.memo_cache_sentinel") ? (t2 = ["hidden", "initial"], $[12] = t2) : t2 = $[12];
66
+ let initial = t2, t3;
67
+ $[13] === Symbol.for("react.memo_cache_sentinel") ? (t3 = ["visible", "slideIn"], $[13] = t3) : t3 = $[13];
68
+ let animate = t3, t4;
69
+ $[14] === Symbol.for("react.memo_cache_sentinel") ? (t4 = ["hidden", "slideOut"], $[14] = t4) : t4 = $[14];
70
+ let exit = t4, t5 = hasDuration ? "" : void 0, t6;
71
+ $[15] === title ? t6 = $[16] : (t6 = title && /* @__PURE__ */ jsx(Text, {
72
+ size: 1,
73
+ weight: "medium",
74
+ children: title
75
+ }), $[15] = title, $[16] = t6);
76
+ let t7;
77
+ $[17] !== description || $[18] !== transition ? (t7 = description && /* @__PURE__ */ jsx(MotionText, {
78
+ muted: !0,
79
+ size: 1,
80
+ variants: content,
81
+ transition,
82
+ children: description
83
+ }), $[17] = description, $[18] = transition, $[19] = t7) : t7 = $[19];
84
+ let t8;
85
+ $[20] !== t6 || $[21] !== t7 ? (t8 = /* @__PURE__ */ jsx(TextBox, {
86
+ flex: 1,
87
+ padding: 3,
88
+ children: /* @__PURE__ */ jsxs(Stack, {
89
+ gap: 3,
90
+ children: [t6, t7]
91
+ })
92
+ }), $[20] = t6, $[21] = t7, $[22] = t8) : t8 = $[22];
93
+ let t9;
94
+ $[23] !== buttonTone || $[24] !== closable || $[25] !== onClose ? (t9 = closable && /* @__PURE__ */ jsx(Box, {
95
+ padding: 1,
96
+ children: /* @__PURE__ */ jsx(Button, {
97
+ as: "button",
98
+ icon: CloseIcon,
99
+ mode: "bleed",
100
+ padding: 2,
101
+ tone: buttonTone,
102
+ onClick: onClose,
103
+ style: { verticalAlign: "top" }
104
+ })
105
+ }), $[23] = buttonTone, $[24] = closable, $[25] = onClose, $[26] = t9) : t9 = $[26];
106
+ let t10;
107
+ $[27] !== t8 || $[28] !== t9 || $[29] !== transition ? (t10 = /* @__PURE__ */ jsxs(MotionFlex, {
108
+ align: "flex-start",
109
+ variants: content,
110
+ transition,
111
+ children: [t8, t9]
112
+ }), $[27] = t8, $[28] = t9, $[29] = transition, $[30] = t10) : t10 = $[30];
113
+ let t11;
114
+ $[31] !== cardTone || $[32] !== duration || $[33] !== hasDuration || $[34] !== onClose || $[35] !== radius || $[36] !== transition || $[37] !== updatedAt || $[38] !== visualDuration ? (t11 = hasDuration && /* @__PURE__ */ jsxs(MotionLoadingBar, {
115
+ variants: content,
116
+ transition,
117
+ children: [/* @__PURE__ */ jsx(LoadingBarMask, {
118
+ tone: cardTone,
119
+ radius
120
+ }), /* @__PURE__ */ jsx(MotionLoadingBarProgress, {
121
+ tone: cardTone,
122
+ initial: { scaleX: 0 },
123
+ animate: { scaleX: 1 },
124
+ transition: {
125
+ delay: visualDuration,
126
+ duration: duration / 1e3,
127
+ ease: "linear"
128
+ },
129
+ onAnimationComplete: onClose
130
+ }, `progress-${updatedAt}`)]
131
+ }), $[31] = cardTone, $[32] = duration, $[33] = hasDuration, $[34] = onClose, $[35] = radius, $[36] = transition, $[37] = updatedAt, $[38] = visualDuration, $[39] = t11) : t11 = $[39];
132
+ let t12;
133
+ return $[40] !== cardTone || $[41] !== radius || $[42] !== restProps || $[43] !== role || $[44] !== t10 || $[45] !== t11 || $[46] !== t5 || $[47] !== transition || $[48] !== visualDuration ? (t12 = /* @__PURE__ */ jsxs(MotionToast, {
134
+ "data-ui": "Toast",
135
+ role,
136
+ ...restProps,
137
+ "data-has-duration": t5,
138
+ custom: visualDuration,
139
+ radius,
140
+ shadow: 2,
141
+ tone: cardTone,
142
+ forwardedAs: "li",
143
+ layout: "position",
144
+ variants: container,
145
+ initial,
146
+ animate,
147
+ exit,
148
+ transition,
149
+ children: [t10, t11]
150
+ }), $[40] = cardTone, $[41] = radius, $[42] = restProps, $[43] = role, $[44] = t10, $[45] = t11, $[46] = t5, $[47] = transition, $[48] = visualDuration, $[49] = t12) : t12 = $[49], t12;
151
+ }
152
+ const container = {
153
+ initial: {
154
+ y: 32,
155
+ scale: .5,
156
+ zIndex: 1
157
+ },
158
+ hidden: { opacity: 0 },
159
+ visible: (visualDuration) => visualDuration ? {
160
+ opacity: 1,
161
+ transition: {
162
+ when: "beforeChildren",
163
+ delayChildren: stagger(visualDuration / 3),
164
+ duration: visualDuration / 3
165
+ }
166
+ } : { opacity: 1 },
167
+ slideIn: {
168
+ y: 0,
169
+ scale: 1
170
+ },
171
+ slideOut: {
172
+ zIndex: 0,
173
+ scale: .75
174
+ }
175
+ }, content = {
176
+ initial: { willChange: "transform" },
177
+ hidden: { opacity: 0 },
178
+ visible: { opacity: 1 }
179
+ }, MotionToast = motion.create(StyledToast), MotionFlex = motion.create(Flex), MotionText = motion.create(Text), MotionLoadingBar = motion.create(LoadingBar), MotionLoadingBarProgress = motion.create(LoadingBarProgress);
180
+ /**
181
+ * Some components should only render after mounting to the DOM, and not be rendered at all during SSR renderToString or equivalent.
182
+ * @public
183
+ */
184
+ function useMounted() {
185
+ return useSyncExternalStore(subscribe, _temp$1, _temp2);
186
+ }
187
+ function _temp2() {
188
+ return !1;
189
+ }
190
+ function _temp$1() {
191
+ return !0;
192
+ }
193
+ const subscribe = () => () => {}, ToastContext = createGlobalScopedContext("@sanity/ui/context/toast", null);
194
+ /**
195
+ * @internal
196
+ */
197
+ function ToastLayer(props) {
198
+ let $ = c(9), { children, padding: t0, paddingX, paddingY, gap: t1 } = props, padding = t0 === void 0 ? 4 : t0, gap = t1 === void 0 ? 3 : t1, { zIndex } = useLayer(), t2;
199
+ $[0] === zIndex ? t2 = $[1] : (t2 = { zIndex }, $[0] = zIndex, $[1] = t2);
200
+ let t3;
201
+ return $[2] !== children || $[3] !== gap || $[4] !== padding || $[5] !== paddingX || $[6] !== paddingY || $[7] !== t2 ? (t3 = /* @__PURE__ */ jsx(StyledLayer, {
202
+ forwardedAs: "ul",
203
+ "data-ui": "ToastProvider",
204
+ padding,
205
+ paddingX,
206
+ paddingY,
207
+ gap,
208
+ gridTemplateColumns: 1,
209
+ style: t2,
210
+ children
211
+ }), $[2] = children, $[3] = gap, $[4] = padding, $[5] = paddingX, $[6] = paddingY, $[7] = t2, $[8] = t3) : t3 = $[8], t3;
212
+ }
213
+ const StyledLayer = styled(Grid).withConfig({
214
+ displayName: "StyledLayer",
215
+ componentId: "sc-kxgg1x-0"
216
+ })`box-sizing:border-box;position:fixed;right:0;bottom:0;list-style:none;pointer-events:none;max-width:420px;width:100%;`;
217
+ let toastId = 0;
218
+ /** @internal */
219
+ function generateToastId() {
220
+ return String(toastId++);
221
+ }
222
+ /**
223
+ * @public
224
+ */
225
+ function ToastProvider(props) {
226
+ let $ = c(13), { children, padding, paddingX, paddingY, gap, zOffset: t0 } = props, zOffset = t0 === void 0 ? 1 : t0, t1;
227
+ $[0] === Symbol.for("react.memo_cache_sentinel") ? (t1 = [], $[0] = t1) : t1 = $[0];
228
+ let [state, setState] = useState(t1), mounted = useMounted(), t2;
229
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
230
+ let push = (params) => {
231
+ let id = params.id || generateToastId(), duration = params.duration || 5e3;
232
+ return startTransition(() => {
233
+ setState((prevState) => {
234
+ if (duration === .01) return prevState.filter((toast) => toast.id !== id);
235
+ let dismiss = () => startTransition(() => setState((currentState) => currentState.filter((toast_0) => toast_0.id !== id)));
236
+ return [...prevState.filter((toast_1) => toast_1.id !== id), {
237
+ dismiss,
238
+ id,
239
+ updatedAt: Date.now(),
240
+ params: {
241
+ ...params,
242
+ duration
243
+ }
244
+ }];
245
+ });
246
+ }), id;
247
+ };
248
+ t2 = {
249
+ version: 0,
250
+ push
251
+ }, $[1] = t2;
252
+ } else t2 = $[1];
253
+ let value = t2, t3;
254
+ $[2] !== gap || $[3] !== mounted || $[4] !== padding || $[5] !== paddingX || $[6] !== paddingY || $[7] !== state || $[8] !== zOffset ? (t3 = mounted && /* @__PURE__ */ jsx(LayerProvider, {
255
+ zOffset,
256
+ children: /* @__PURE__ */ jsx(ToastLayer, {
257
+ padding,
258
+ paddingX,
259
+ paddingY,
260
+ gap,
261
+ children: /* @__PURE__ */ jsx(AnimatePresence, {
262
+ initial: !1,
263
+ mode: "popLayout",
264
+ children: state.map(_temp)
265
+ })
266
+ })
267
+ }), $[2] = gap, $[3] = mounted, $[4] = padding, $[5] = paddingX, $[6] = paddingY, $[7] = state, $[8] = zOffset, $[9] = t3) : t3 = $[9];
268
+ let t4;
269
+ return $[10] !== children || $[11] !== t3 ? (t4 = /* @__PURE__ */ jsxs(ToastContext.Provider, {
270
+ value,
271
+ children: [children, t3]
272
+ }), $[10] = children, $[11] = t3, $[12] = t4) : t4 = $[12], t4;
273
+ }
274
+ function _temp(t0) {
275
+ let { dismiss: dismiss_0, id: id_0, params: params_0, updatedAt } = t0;
276
+ return /* @__PURE__ */ jsx(Toast, {
277
+ closable: params_0.closable,
278
+ description: params_0.description,
279
+ onClose: dismiss_0,
280
+ status: params_0.status,
281
+ title: params_0.title,
282
+ duration: params_0.duration,
283
+ updatedAt
284
+ }, id_0);
285
+ }
286
+ /**
287
+ * @public
288
+ */
289
+ function useToast() {
290
+ let value = useContext(ToastContext);
291
+ if (!value) throw Error("useToast(): missing context value");
292
+ if (!isRecord(value) || value.version !== 0) throw Error("useToast(): the context value is not compatible");
293
+ return value;
294
+ }
295
+ export { Toast, ToastProvider, useToast };
296
+
297
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","names":["styled","ThemeColorStateToneKey","getTheme_v2","Card","CardProps","Flex","ButtonTone","LOADING_BAR_HEIGHT","STATUS_CARD_TONE","error","warning","success","info","key","BUTTON_TONE","TextBox","StyledToast","LoadingBar","div","LoadingBarMask","LoadingBarProgressProps","Omit","tone","LoadingBarProgress","React","ComponentType","props","color","theme","button","default","enabled","bg","CloseIcon","motion","stagger","Variant","Variants","usePrefersReducedMotion","Box","Button","Flex","Stack","Text","BUTTON_TONE","LoadingBar","LoadingBarMask","LoadingBarProgress","STATUS_CARD_TONE","StyledToast","TextBox","ToastProps","closable","description","React","ReactNode","onClose","radius","title","status","duration","updatedAt","ROLES","error","warning","success","info","const","LONG_ENOUGH_BUT_NOT_TOO_LONG","Toast","props","$","_c","restProps","t0","undefined","cardTone","buttonTone","role","prefersReducedMotion","visualDuration","t1","type","bounce","transition","hasDuration","isFinite","t2","Symbol","for","initial","t3","animate","t4","exit","t5","t6","t7","content","t8","t9","verticalAlign","t10","t11","scaleX","delay","ease","t12","container","y","scale","zIndex","hidden","opacity","visible","when","delayChildren","slideIn","slideOut","ContainerVariants","willChange","Partial","Record","MotionToast","create","MotionFlex","MotionText","MotionLoadingBar","MotionLoadingBarProgress","useSyncExternalStore","useMounted","subscribe","_temp","_temp2","createGlobalScopedContext","ToastContextValue","ToastContext","styled","Grid","useLayer","ToastLayerProps","children","React","ReactNode","padding","paddingX","paddingY","gap","ToastLayer","props","$","_c","t0","t1","undefined","zIndex","t2","t3","StyledLayer","toastId","generateToastId","String","AnimatePresence","startTransition","useMemo","useState","useMounted","LayerProvider","Toast","ToastContext","ToastLayer","ToastLayerProps","generateToastId","ToastContextValue","ToastParams","ToastState","dismiss","id","updatedAt","params","ToastProviderProps","Omit","children","React","ReactNode","zOffset","ToastProvider","props","$","_c","padding","paddingX","paddingY","gap","t0","undefined","t1","Symbol","for","state","setState","mounted","t2","push","duration","prevState","filter","toast","currentState","toast_0","toast_1","Date","now","version","value","t3","map","_temp","t4","dismiss_0","id_0","params_0","closable","description","status","title","useContext","isRecord","ToastContext","ToastContextValue","useToast","value","Error","version"],"sources":["../src/core/components/toast/styles.ts","../src/core/components/toast/toast.tsx","../src/core/hooks/useMounted.ts","../src/core/components/toast/toastContext.ts","../src/core/components/toast/toastLayer.tsx","../src/core/components/toast/toastState.ts","../src/core/components/toast/toastProvider.tsx","../src/core/components/toast/useToast.ts"],"sourcesContent":["import {styled} from 'styled-components'\n\nimport {ThemeColorStateToneKey} from '../../../theme/system/color/_system'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {Card, type CardProps} from '../../primitives/card/card'\nimport {Flex} from '../../primitives/flex/flex'\nimport type {ButtonTone} from '../../types/button'\n\nconst LOADING_BAR_HEIGHT = 2\n\nexport const STATUS_CARD_TONE = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'neutral',\n} satisfies {[key: string]: ThemeColorStateToneKey}\n\nexport const BUTTON_TONE = {\n error: 'critical',\n warning: 'caution',\n success: 'positive',\n info: 'neutral',\n} satisfies {[key: string]: ButtonTone}\n\nexport const TextBox = styled(Flex)`\n overflow-x: auto;\n`\n\nexport const StyledToast = styled(Card)`\n pointer-events: all;\n width: 100%;\n position: relative;\n overflow: hidden;\n overflow: clip;\n\n &[data-has-duration] {\n padding-bottom: calc(${LOADING_BAR_HEIGHT}px / 2);\n }\n`\n\nexport const LoadingBar = styled.div`\n display: flex;\n position: absolute;\n bottom: 0px;\n top: 0px;\n left: 0px;\n right: 0px;\n pointer-events: none;\n z-index: -1;\n overflow: hidden;\n overflow: clip;\n background: transparent;\n align-items: flex-end;\n will-change: opacity;\n`\n\nexport const LoadingBarMask = styled(Card)`\n position: absolute;\n top: 0;\n left: -${LOADING_BAR_HEIGHT}px;\n right: -${LOADING_BAR_HEIGHT}px;\n bottom: ${LOADING_BAR_HEIGHT}px;\n z-index: 1;\n`\n\ntype LoadingBarProgressProps = Omit<CardProps, 'tone'> & {\n tone: ThemeColorStateToneKey\n}\nexport const LoadingBarProgress = styled<React.ComponentType<LoadingBarProgressProps>>(Card)`\n display: block;\n height: 100%;\n width: 100%;\n transform-origin: 0% 50%;\n background-color: ${(props) => {\n const {color} = getTheme_v2(props.theme)\n\n return color.button.default[props.tone].enabled.bg\n }};\n`\n","import {CloseIcon} from '@sanity/icons/Close'\nimport {motion, stagger, type Variant, type Variants} from 'motion/react'\n\nimport {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'\nimport {Box} from '../../primitives/box/box'\nimport {Button} from '../../primitives/button/button'\nimport {Flex} from '../../primitives/flex/flex'\nimport {Stack} from '../../primitives/stack/stack'\nimport {Text} from '../../primitives/text/text'\nimport {\n BUTTON_TONE,\n LoadingBar,\n LoadingBarMask,\n LoadingBarProgress,\n STATUS_CARD_TONE,\n StyledToast,\n TextBox,\n} from './styles'\n\n/**\n * @public\n */\nexport interface ToastProps {\n closable?: boolean\n description?: React.ReactNode\n onClose: () => void\n radius?: number | number[]\n title?: React.ReactNode\n status?: 'error' | 'warning' | 'success' | 'info'\n duration?: number\n updatedAt?: number\n}\n\nconst ROLES = {\n error: 'alert',\n warning: 'alert',\n success: 'alert',\n info: 'alert',\n} as const\n\n// Support pattern used by Sanity Studio, that works around the lack of `duration: Infinity` support in older @sanity/ui versions\n// https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#maximum_delay_value\nconst LONG_ENOUGH_BUT_NOT_TOO_LONG = 1000 * 60 * 60 * 24 * 24\n\n/**\n * The `Toast` component gives feedback to users when an action has taken place.\n *\n * Toasts can be closed with a close button, or auto-dismiss after a certain timeout.\n *\n * @public\n */\nexport function Toast(\n props: ToastProps &\n Omit<\n React.HTMLProps<HTMLDivElement>,\n | 'as'\n | 'height'\n | 'ref'\n | 'title'\n | 'onAnimationStart'\n | 'onDragStart'\n | 'onDragEnd'\n | 'onDrag'\n >,\n): React.JSX.Element {\n const {\n closable,\n description,\n duration,\n onClose,\n radius = 3,\n title,\n status,\n updatedAt,\n ...restProps\n } = props\n const cardTone = status ? STATUS_CARD_TONE[status] : 'default'\n const buttonTone = status ? BUTTON_TONE[status] : 'default'\n const role = status ? ROLES[status] : 'status'\n\n const prefersReducedMotion = usePrefersReducedMotion()\n\n const visualDuration: number = prefersReducedMotion ? 0 : 0.26\n const transition = visualDuration\n ? {type: 'spring' as const, visualDuration, bounce: 0.25}\n : {duration: 0}\n\n const hasDuration = duration && isFinite(duration) && duration < LONG_ENOUGH_BUT_NOT_TOO_LONG\n const initial: ContainerVariants[] = ['hidden', 'initial']\n const animate: ContainerVariants[] = ['visible', 'slideIn']\n const exit: ContainerVariants[] = ['hidden', 'slideOut']\n\n return (\n <MotionToast\n data-ui=\"Toast\"\n role={role}\n {...restProps}\n data-has-duration={hasDuration ? '' : undefined}\n custom={visualDuration}\n radius={radius}\n shadow={2}\n tone={cardTone}\n forwardedAs=\"li\"\n layout=\"position\"\n variants={container}\n initial={initial}\n animate={animate}\n exit={exit}\n transition={transition}\n >\n <MotionFlex align=\"flex-start\" variants={content} transition={transition}>\n <TextBox flex={1} padding={3}>\n <Stack gap={3}>\n {title && (\n <Text size={1} weight=\"medium\">\n {title}\n </Text>\n )}\n {description && (\n <MotionText muted size={1} variants={content} transition={transition}>\n {description}\n </MotionText>\n )}\n </Stack>\n </TextBox>\n\n {closable && (\n <Box padding={1}>\n <Button\n as=\"button\"\n icon={CloseIcon}\n mode=\"bleed\"\n padding={2}\n tone={buttonTone}\n onClick={onClose}\n style={{verticalAlign: 'top'}}\n />\n </Box>\n )}\n </MotionFlex>\n {hasDuration && (\n <MotionLoadingBar variants={content} transition={transition}>\n <LoadingBarMask tone={cardTone} radius={radius} />\n <MotionLoadingBarProgress\n key={`progress-${updatedAt}`}\n tone={cardTone}\n initial={{scaleX: 0}}\n animate={{scaleX: 1}}\n transition={{delay: visualDuration, duration: duration / 1_000, ease: 'linear'}}\n onAnimationComplete={onClose}\n />\n </MotionLoadingBar>\n )}\n </MotionToast>\n )\n}\n\nconst container = {\n initial: {y: 32, scale: 0.5, zIndex: 1},\n hidden: {opacity: 0},\n visible: (visualDuration: number) => {\n if (!visualDuration) return {opacity: 1}\n\n return {\n opacity: 1,\n transition: {\n when: 'beforeChildren',\n delayChildren: stagger(visualDuration / 3),\n duration: visualDuration / 3,\n },\n }\n },\n slideIn: {\n y: 0,\n scale: 1,\n },\n slideOut: {\n zIndex: 0,\n scale: 0.75,\n },\n} satisfies Variants\ntype ContainerVariants = keyof typeof container\n\nconst content = {\n initial: {\n willChange: 'transform',\n },\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n },\n} satisfies Partial<Record<ContainerVariants, Variant>>\n\nconst MotionToast = motion.create(StyledToast)\nconst MotionFlex = motion.create(Flex)\nconst MotionText = motion.create(Text)\nconst MotionLoadingBar = motion.create(LoadingBar)\nconst MotionLoadingBarProgress = motion.create(LoadingBarProgress)\n","import {useSyncExternalStore} from 'react'\n\n/**\n * Some components should only render after mounting to the DOM, and not be rendered at all during SSR renderToString or equivalent.\n * @public\n */\nexport function useMounted(): boolean {\n return useSyncExternalStore(\n subscribe,\n () => true,\n () => false,\n )\n}\n\nconst subscribe = () => () => {}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {ToastContextValue} from './types'\n\nexport const ToastContext = createGlobalScopedContext<ToastContextValue | null>(\n '@sanity/ui/context/toast',\n null,\n)\n","import {styled} from 'styled-components'\n\nimport {Grid} from '../../primitives/grid/grid'\nimport {useLayer} from '../../utils/layer/useLayer'\n\n/**\n * @public\n */\nexport interface ToastLayerProps {\n children: React.ReactNode\n padding?: number | number[]\n paddingX?: number | number[]\n paddingY?: number | number[]\n gap?: number | number[]\n}\n\n/**\n * @internal\n */\nexport function ToastLayer(props: ToastLayerProps): React.JSX.Element {\n const {children, padding = 4, paddingX, paddingY, gap = 3} = props\n const {zIndex} = useLayer()\n\n return (\n <StyledLayer\n forwardedAs=\"ul\"\n data-ui=\"ToastProvider\"\n padding={padding}\n paddingX={paddingX}\n paddingY={paddingY}\n gap={gap}\n gridTemplateColumns={1}\n style={{zIndex}}\n >\n {children}\n </StyledLayer>\n )\n}\n\nconst StyledLayer = styled(Grid)`\n box-sizing: border-box;\n position: fixed;\n right: 0;\n bottom: 0;\n list-style: none;\n pointer-events: none;\n max-width: 420px;\n width: 100%;\n`\n","let toastId = 0\n\n/** @internal */\nexport function generateToastId(): string {\n return String(toastId++)\n}\n","import {AnimatePresence} from 'motion/react'\nimport {startTransition, useMemo, useState} from 'react'\n\nimport {useMounted} from '../../hooks/useMounted'\nimport {LayerProvider} from '../../utils/layer/layerProvider'\nimport {Toast} from './toast'\nimport {ToastContext} from './toastContext'\nimport {ToastLayer, type ToastLayerProps} from './toastLayer'\nimport {generateToastId} from './toastState'\nimport {ToastContextValue, ToastParams} from './types'\n\ntype ToastState = {\n dismiss: () => void\n id: string\n updatedAt: number\n params: ToastParams\n}[]\n\n/**\n * @public\n */\nexport interface ToastProviderProps extends Omit<ToastLayerProps, 'children'> {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function ToastProvider(props: ToastProviderProps): React.JSX.Element {\n const {children, padding, paddingX, paddingY, gap, zOffset = 1} = props\n const [state, setState] = useState<ToastState>([])\n const mounted = useMounted()\n\n const value: ToastContextValue = useMemo(() => {\n const push = (params: ToastParams) => {\n const id = params.id || generateToastId()\n const duration = params.duration || 5000\n\n startTransition(() => {\n setState((prevState): ToastState => {\n /**\n * Backwards compatibility for `sanity` patterns workaround a lack of programatically dismissible toasts.\n * It uses a super short duration that closes the toast immediately in previous versions of `@sanity/ui`.\n * We interpret this as a request to dismiss the toast immediately, and remove it from the state right away.\n * Even once we support programatic dismissal we'll need to keep this for backwards compatibility with v2 and v1.\n */\n if (duration === 0.01) {\n return prevState.filter((toast) => toast.id !== id)\n }\n\n /**\n * Creates a function to dismiss this specific toast.\n * This function will be passed to the Toast component\n * and called either on close button click or after duration.\n */\n const dismiss = () =>\n startTransition(() =>\n setState((currentState) => currentState.filter((toast) => toast.id !== id)),\n )\n\n /**\n * Create updated state by:\n * 1. Removing any existing toast with the same ID (prevents duplicates)\n * 2. Adding the new toast with its dismiss handler\n * 3. Updates the `updatedAt` timestamp, which resets progress bar count downs.\n */\n return [\n ...prevState.filter((toast) => toast.id !== id),\n {\n dismiss,\n id,\n updatedAt: Date.now(),\n params: {...params, duration},\n },\n ]\n })\n })\n\n return id\n }\n\n return {version: 0.0, push}\n }, [])\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n {mounted && (\n <LayerProvider zOffset={zOffset}>\n <ToastLayer padding={padding} paddingX={paddingX} paddingY={paddingY} gap={gap}>\n <AnimatePresence initial={false} mode=\"popLayout\">\n {state.map(({dismiss, id, params, updatedAt}) => (\n <Toast\n key={id}\n closable={params.closable}\n description={params.description}\n onClose={dismiss}\n status={params.status}\n title={params.title}\n duration={params.duration}\n updatedAt={updatedAt}\n />\n ))}\n </AnimatePresence>\n </ToastLayer>\n </LayerProvider>\n )}\n </ToastContext.Provider>\n )\n}\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {ToastContext} from './toastContext'\nimport {ToastContextValue} from './types'\n\n/**\n * @public\n */\nexport function useToast(): ToastContextValue {\n const value = useContext(ToastContext)\n\n if (!value) {\n throw new Error('useToast(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useToast(): the context value is not compatible')\n }\n\n return value\n}\n"],"mappings":"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"}