@forte-ui/react 1.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/README.md +240 -0
  2. package/dist/Accordion-9JunkjgY.js +111 -0
  3. package/dist/Alert-Cn_WUF3L.js +183 -0
  4. package/dist/AspectRatio-gSjpTVk-.js +39 -0
  5. package/dist/Avatar-BuitDluH.js +87 -0
  6. package/dist/Badge-sArNWMre.js +33 -0
  7. package/dist/Breadcrumb-Cq7tFtMX.js +170 -0
  8. package/dist/Button-AiyKnx5I.js +42 -0
  9. package/dist/ButtonGroup-C-CrwPXP.js +54 -0
  10. package/dist/Calendar-D7Q-QJ_e.js +503 -0
  11. package/dist/Checkbox-DfNbmOed.js +56 -0
  12. package/dist/Collapsible-D8UKiGip.js +86 -0
  13. package/dist/ColorPicker-B-eCI31W.js +612 -0
  14. package/dist/Combobox-D-BN-Tvp.js +302 -0
  15. package/dist/ContextMenu-D81uDaMG.js +44 -0
  16. package/dist/DatePicker-CfkMsaI-.js +192 -0
  17. package/dist/Dialog-_n8FpFs5.js +432 -0
  18. package/dist/Drawer-DKQF3OO7.js +158 -0
  19. package/dist/Field-FLFEO70D.js +58 -0
  20. package/dist/Fieldset-CYhh71Qt.js +28 -0
  21. package/dist/Form-DVPmW9XV.js +17 -0
  22. package/dist/Input-BgGWhO2q.js +18 -0
  23. package/dist/InputGroup-DsZyDXNn.js +89 -0
  24. package/dist/Menu-CKu9xE2h.js +261 -0
  25. package/dist/Menubar-Dax027Db.js +19 -0
  26. package/dist/NavList-DGvcIoJm.js +176 -0
  27. package/dist/NavigationMenu-BayQkUUb.js +209 -0
  28. package/dist/NumberField-P55SA8T7.js +191 -0
  29. package/dist/OTPField-CjHvBNSN.js +55 -0
  30. package/dist/Popover-BXhn2Wwt.js +142 -0
  31. package/dist/PreviewCard-Dnitrky0.js +99 -0
  32. package/dist/Progress-BlomDp-X.js +81 -0
  33. package/dist/ProgressCircle-j6XBl0fk.js +112 -0
  34. package/dist/Radio-BIcX4INJ.js +37 -0
  35. package/dist/Resizable-7nJJM97e.js +609 -0
  36. package/dist/ScrollArea-CBMGJ6hh.js +83 -0
  37. package/dist/Select-BP-zvdXm.js +237 -0
  38. package/dist/Separator-DewJBzaJ.js +21 -0
  39. package/dist/Skeleton-zr6ObCCq.js +79 -0
  40. package/dist/Slider-Bh8_cti1.js +104 -0
  41. package/dist/Spinner-BF0uD4hR.js +53 -0
  42. package/dist/Switch-OBewMMvM.js +39 -0
  43. package/dist/Tabs-LgkSbPSF.js +132 -0
  44. package/dist/Textarea-CqZJL41e.js +51 -0
  45. package/dist/Toast-BWayxAcd.js +304 -0
  46. package/dist/Toggle-BrhMnkF5.js +45 -0
  47. package/dist/Toolbar-OmOVCk3i.js +88 -0
  48. package/dist/Tooltip-CI4chsRw.js +101 -0
  49. package/dist/clsx-By2n9mTe.js +16 -0
  50. package/dist/cn.d.ts +8 -0
  51. package/dist/cn.js +11 -0
  52. package/dist/components/accordion/Accordion.d.ts +117 -0
  53. package/dist/components/accordion/Accordion.js +3 -0
  54. package/dist/components/accordion/index.d.ts +2 -0
  55. package/dist/components/accordion/index.js +2 -0
  56. package/dist/components/alert/Alert.d.ts +167 -0
  57. package/dist/components/alert/Alert.js +3 -0
  58. package/dist/components/alert/index.d.ts +2 -0
  59. package/dist/components/alert/index.js +2 -0
  60. package/dist/components/aspect-ratio/AspectRatio.d.ts +128 -0
  61. package/dist/components/aspect-ratio/AspectRatio.js +3 -0
  62. package/dist/components/aspect-ratio/index.d.ts +2 -0
  63. package/dist/components/aspect-ratio/index.js +2 -0
  64. package/dist/components/avatar/Avatar.d.ts +176 -0
  65. package/dist/components/avatar/Avatar.js +3 -0
  66. package/dist/components/avatar/index.d.ts +2 -0
  67. package/dist/components/avatar/index.js +2 -0
  68. package/dist/components/badge/Badge.d.ts +117 -0
  69. package/dist/components/badge/Badge.js +3 -0
  70. package/dist/components/badge/index.d.ts +2 -0
  71. package/dist/components/badge/index.js +2 -0
  72. package/dist/components/breadcrumb/Breadcrumb.d.ts +244 -0
  73. package/dist/components/breadcrumb/Breadcrumb.js +3 -0
  74. package/dist/components/breadcrumb/index.d.ts +2 -0
  75. package/dist/components/breadcrumb/index.js +2 -0
  76. package/dist/components/button/Button.d.ts +73 -0
  77. package/dist/components/button/Button.js +3 -0
  78. package/dist/components/button/index.d.ts +2 -0
  79. package/dist/components/button/index.js +2 -0
  80. package/dist/components/button-group/ButtonGroup.d.ts +113 -0
  81. package/dist/components/button-group/ButtonGroup.js +3 -0
  82. package/dist/components/button-group/index.d.ts +2 -0
  83. package/dist/components/button-group/index.js +2 -0
  84. package/dist/components/calendar/Calendar.d.ts +201 -0
  85. package/dist/components/calendar/Calendar.js +3 -0
  86. package/dist/components/calendar/index.d.ts +2 -0
  87. package/dist/components/calendar/index.js +2 -0
  88. package/dist/components/checkbox/Checkbox.d.ts +130 -0
  89. package/dist/components/checkbox/Checkbox.js +3 -0
  90. package/dist/components/checkbox/index.d.ts +2 -0
  91. package/dist/components/checkbox/index.js +2 -0
  92. package/dist/components/collapsible/Collapsible.d.ts +91 -0
  93. package/dist/components/collapsible/Collapsible.js +3 -0
  94. package/dist/components/collapsible/index.d.ts +2 -0
  95. package/dist/components/collapsible/index.js +2 -0
  96. package/dist/components/color-picker/ColorPicker.d.ts +553 -0
  97. package/dist/components/color-picker/ColorPicker.js +4 -0
  98. package/dist/components/color-picker/color.d.ts +102 -0
  99. package/dist/components/color-picker/color.js +249 -0
  100. package/dist/components/color-picker/index.d.ts +2 -0
  101. package/dist/components/color-picker/index.js +3 -0
  102. package/dist/components/combobox/Combobox.d.ts +553 -0
  103. package/dist/components/combobox/Combobox.js +3 -0
  104. package/dist/components/combobox/index.d.ts +2 -0
  105. package/dist/components/combobox/index.js +2 -0
  106. package/dist/components/context-menu/ContextMenu.d.ts +103 -0
  107. package/dist/components/context-menu/ContextMenu.js +3 -0
  108. package/dist/components/context-menu/index.d.ts +3 -0
  109. package/dist/components/context-menu/index.js +2 -0
  110. package/dist/components/date-picker/DatePicker.d.ts +268 -0
  111. package/dist/components/date-picker/DatePicker.js +3 -0
  112. package/dist/components/date-picker/index.d.ts +2 -0
  113. package/dist/components/date-picker/index.js +2 -0
  114. package/dist/components/dialog/Dialog.d.ts +567 -0
  115. package/dist/components/dialog/Dialog.js +3 -0
  116. package/dist/components/dialog/index.d.ts +2 -0
  117. package/dist/components/dialog/index.js +2 -0
  118. package/dist/components/drawer/Drawer.d.ts +351 -0
  119. package/dist/components/drawer/Drawer.js +3 -0
  120. package/dist/components/drawer/index.d.ts +2 -0
  121. package/dist/components/drawer/index.js +2 -0
  122. package/dist/components/field/Field.d.ts +170 -0
  123. package/dist/components/field/Field.js +3 -0
  124. package/dist/components/field/index.d.ts +2 -0
  125. package/dist/components/field/index.js +2 -0
  126. package/dist/components/fieldset/Fieldset.d.ts +60 -0
  127. package/dist/components/fieldset/Fieldset.js +3 -0
  128. package/dist/components/fieldset/index.d.ts +2 -0
  129. package/dist/components/fieldset/index.js +2 -0
  130. package/dist/components/form/Form.d.ts +76 -0
  131. package/dist/components/form/Form.js +3 -0
  132. package/dist/components/form/index.d.ts +2 -0
  133. package/dist/components/form/index.js +2 -0
  134. package/dist/components/input/Input.d.ts +67 -0
  135. package/dist/components/input/Input.js +3 -0
  136. package/dist/components/input/index.d.ts +2 -0
  137. package/dist/components/input/index.js +2 -0
  138. package/dist/components/input-group/InputGroup.d.ts +214 -0
  139. package/dist/components/input-group/InputGroup.js +3 -0
  140. package/dist/components/input-group/index.d.ts +2 -0
  141. package/dist/components/input-group/index.js +2 -0
  142. package/dist/components/menu/Menu.d.ts +587 -0
  143. package/dist/components/menu/Menu.js +3 -0
  144. package/dist/components/menu/index.d.ts +2 -0
  145. package/dist/components/menu/index.js +2 -0
  146. package/dist/components/menubar/Menubar.d.ts +104 -0
  147. package/dist/components/menubar/Menubar.js +3 -0
  148. package/dist/components/menubar/index.d.ts +2 -0
  149. package/dist/components/menubar/index.js +2 -0
  150. package/dist/components/nav-list/NavList.d.ts +290 -0
  151. package/dist/components/nav-list/NavList.js +3 -0
  152. package/dist/components/nav-list/index.d.ts +2 -0
  153. package/dist/components/nav-list/index.js +2 -0
  154. package/dist/components/navigation-menu/NavigationMenu.d.ts +483 -0
  155. package/dist/components/navigation-menu/NavigationMenu.js +3 -0
  156. package/dist/components/navigation-menu/index.d.ts +2 -0
  157. package/dist/components/navigation-menu/index.js +2 -0
  158. package/dist/components/number-field/NumberField.d.ts +303 -0
  159. package/dist/components/number-field/NumberField.js +3 -0
  160. package/dist/components/number-field/index.d.ts +2 -0
  161. package/dist/components/number-field/index.js +2 -0
  162. package/dist/components/otp-field/OTPField.d.ts +206 -0
  163. package/dist/components/otp-field/OTPField.js +3 -0
  164. package/dist/components/otp-field/index.d.ts +2 -0
  165. package/dist/components/otp-field/index.js +2 -0
  166. package/dist/components/popover/Popover.d.ts +394 -0
  167. package/dist/components/popover/Popover.js +3 -0
  168. package/dist/components/popover/index.d.ts +2 -0
  169. package/dist/components/popover/index.js +2 -0
  170. package/dist/components/preview-card/PreviewCard.d.ts +307 -0
  171. package/dist/components/preview-card/PreviewCard.js +3 -0
  172. package/dist/components/preview-card/index.d.ts +2 -0
  173. package/dist/components/preview-card/index.js +2 -0
  174. package/dist/components/progress/Progress.d.ts +156 -0
  175. package/dist/components/progress/Progress.js +3 -0
  176. package/dist/components/progress/ProgressCircle.d.ts +166 -0
  177. package/dist/components/progress/ProgressCircle.js +3 -0
  178. package/dist/components/progress/index.d.ts +4 -0
  179. package/dist/components/progress/index.js +3 -0
  180. package/dist/components/radio/Radio.d.ts +144 -0
  181. package/dist/components/radio/Radio.js +3 -0
  182. package/dist/components/radio/index.d.ts +2 -0
  183. package/dist/components/radio/index.js +2 -0
  184. package/dist/components/resizable/Resizable.d.ts +211 -0
  185. package/dist/components/resizable/Resizable.js +3 -0
  186. package/dist/components/resizable/index.d.ts +2 -0
  187. package/dist/components/resizable/index.js +2 -0
  188. package/dist/components/scroll-area/ScrollArea.d.ts +113 -0
  189. package/dist/components/scroll-area/ScrollArea.js +3 -0
  190. package/dist/components/scroll-area/index.d.ts +2 -0
  191. package/dist/components/scroll-area/index.js +2 -0
  192. package/dist/components/select/Select.d.ts +345 -0
  193. package/dist/components/select/Select.js +3 -0
  194. package/dist/components/select/index.d.ts +2 -0
  195. package/dist/components/select/index.js +2 -0
  196. package/dist/components/separator/Separator.d.ts +75 -0
  197. package/dist/components/separator/Separator.js +3 -0
  198. package/dist/components/separator/index.d.ts +2 -0
  199. package/dist/components/separator/index.js +2 -0
  200. package/dist/components/skeleton/Skeleton.d.ts +169 -0
  201. package/dist/components/skeleton/Skeleton.js +3 -0
  202. package/dist/components/skeleton/index.d.ts +2 -0
  203. package/dist/components/skeleton/index.js +2 -0
  204. package/dist/components/slider/Slider.d.ts +208 -0
  205. package/dist/components/slider/Slider.js +3 -0
  206. package/dist/components/slider/index.d.ts +2 -0
  207. package/dist/components/slider/index.js +2 -0
  208. package/dist/components/spinner/Spinner.d.ts +92 -0
  209. package/dist/components/spinner/Spinner.js +3 -0
  210. package/dist/components/spinner/index.d.ts +2 -0
  211. package/dist/components/spinner/index.js +2 -0
  212. package/dist/components/switch/Switch.d.ts +80 -0
  213. package/dist/components/switch/Switch.js +3 -0
  214. package/dist/components/switch/index.d.ts +2 -0
  215. package/dist/components/switch/index.js +2 -0
  216. package/dist/components/tabs/Tabs.d.ts +125 -0
  217. package/dist/components/tabs/Tabs.js +3 -0
  218. package/dist/components/tabs/index.d.ts +2 -0
  219. package/dist/components/tabs/index.js +2 -0
  220. package/dist/components/textarea/Textarea.d.ts +119 -0
  221. package/dist/components/textarea/Textarea.js +3 -0
  222. package/dist/components/textarea/index.d.ts +2 -0
  223. package/dist/components/textarea/index.js +2 -0
  224. package/dist/components/toast/Toast.d.ts +517 -0
  225. package/dist/components/toast/Toast.js +3 -0
  226. package/dist/components/toast/index.d.ts +2 -0
  227. package/dist/components/toast/index.js +2 -0
  228. package/dist/components/toggle/Toggle.d.ts +171 -0
  229. package/dist/components/toggle/Toggle.js +3 -0
  230. package/dist/components/toggle/index.d.ts +2 -0
  231. package/dist/components/toggle/index.js +2 -0
  232. package/dist/components/toolbar/Toolbar.d.ts +318 -0
  233. package/dist/components/toolbar/Toolbar.js +3 -0
  234. package/dist/components/toolbar/index.d.ts +2 -0
  235. package/dist/components/toolbar/index.js +2 -0
  236. package/dist/components/tooltip/Tooltip.d.ts +361 -0
  237. package/dist/components/tooltip/Tooltip.js +3 -0
  238. package/dist/components/tooltip/index.d.ts +2 -0
  239. package/dist/components/tooltip/index.js +2 -0
  240. package/dist/index.d.ts +92 -0
  241. package/dist/index.js +86 -0
  242. package/dist/styles/Accordion.css +1 -0
  243. package/dist/styles/Alert.css +1 -0
  244. package/dist/styles/AspectRatio.css +1 -0
  245. package/dist/styles/Avatar.css +1 -0
  246. package/dist/styles/Badge.css +1 -0
  247. package/dist/styles/Breadcrumb.css +1 -0
  248. package/dist/styles/Button.css +1 -0
  249. package/dist/styles/ButtonGroup.css +1 -0
  250. package/dist/styles/Calendar.css +1 -0
  251. package/dist/styles/Checkbox.css +1 -0
  252. package/dist/styles/Collapsible.css +1 -0
  253. package/dist/styles/ColorPicker.css +1 -0
  254. package/dist/styles/Combobox.css +1 -0
  255. package/dist/styles/ContextMenu.css +1 -0
  256. package/dist/styles/DatePicker.css +1 -0
  257. package/dist/styles/Dialog.css +1 -0
  258. package/dist/styles/Drawer.css +1 -0
  259. package/dist/styles/Field.css +1 -0
  260. package/dist/styles/Fieldset.css +1 -0
  261. package/dist/styles/Form.css +1 -0
  262. package/dist/styles/Input.css +1 -0
  263. package/dist/styles/InputGroup.css +1 -0
  264. package/dist/styles/Menu.css +1 -0
  265. package/dist/styles/Menubar.css +1 -0
  266. package/dist/styles/NavList.css +1 -0
  267. package/dist/styles/NavigationMenu.css +1 -0
  268. package/dist/styles/NumberField.css +1 -0
  269. package/dist/styles/OTPField.css +1 -0
  270. package/dist/styles/Popover.css +1 -0
  271. package/dist/styles/PreviewCard.css +1 -0
  272. package/dist/styles/Progress.css +1 -0
  273. package/dist/styles/ProgressCircle.css +1 -0
  274. package/dist/styles/Radio.css +1 -0
  275. package/dist/styles/Resizable.css +1 -0
  276. package/dist/styles/ScrollArea.css +1 -0
  277. package/dist/styles/Select.css +1 -0
  278. package/dist/styles/Separator.css +1 -0
  279. package/dist/styles/Skeleton.css +1 -0
  280. package/dist/styles/Slider.css +1 -0
  281. package/dist/styles/Spinner.css +1 -0
  282. package/dist/styles/Switch.css +1 -0
  283. package/dist/styles/Tabs.css +1 -0
  284. package/dist/styles/Textarea.css +1 -0
  285. package/dist/styles/Toast.css +1 -0
  286. package/dist/styles/Toggle.css +1 -0
  287. package/dist/styles/Toolbar.css +1 -0
  288. package/dist/styles/Tooltip.css +1 -0
  289. package/dist/styles/a11y.css +119 -0
  290. package/dist/styles/layers.css +39 -0
  291. package/dist/styles/motion.css +194 -0
  292. package/dist/styles/patterns.css +236 -0
  293. package/dist/styles/properties.css +62 -0
  294. package/dist/styles/reset.css +11 -0
  295. package/dist/styles/tailwind.css +281 -0
  296. package/dist/styles/theme.css +57 -0
  297. package/dist/styles/tokens.color.css +223 -0
  298. package/dist/styles/tokens.css +460 -0
  299. package/dist/tailwind-merge.d.ts +52 -0
  300. package/dist/tailwind-merge.js +52 -0
  301. package/docs-data/props.json +8047 -0
  302. package/docs-data/theming.json +9600 -0
  303. package/docs-data/tokens.json +4070 -0
  304. package/package.json +78 -0
@@ -0,0 +1 @@
1
+ @layer forte.components{._root_1bsip_52{--forte-skeleton-color:var(--forte-color-panel-active);--forte-skeleton-highlight:var(--lightningcss-light,var(--forte-gray-1))var(--lightningcss-dark,var(--forte-gray-7));--forte-skeleton-radius:var(--forte-radius-control);--forte-skeleton-line-height:var(--forte-line-height-normal);--forte-skeleton-ink:.72em;--forte-skeleton-width:100%;--forte-skeleton-height:calc(1em * var(--forte-skeleton-line-height));--forte-skeleton-duration:var(--forte-duration-loop-sweep);--forte-skeleton-dim:calc(.55 + .25 * var(--forte-motion-off));box-sizing:border-box;isolation:isolate;inline-size:var(--forte-skeleton-width);block-size:var(--forte-skeleton-height);border-radius:var(--forte-skeleton-radius);background-color:var(--forte-skeleton-color);cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;display:block;position:relative;overflow:hidden}._root_1bsip_52[data-variant=text]{vertical-align:middle;--forte-skeleton-height:var(--forte-skeleton-ink);--forte-skeleton-radius:var(--forte-radius-2);display:inline-block}._root_1bsip_52[data-variant=circle]{--forte-skeleton-width:var(--forte-skeleton-height);aspect-ratio:1;border-radius:50%;block-size:auto}._root_1bsip_52:has(>._content_1bsip_170){--forte-skeleton-width:fit-content}._root_1bsip_52:not([data-variant=text]):has(>._content_1bsip_170){--forte-skeleton-height:auto}._content_1bsip_170{visibility:hidden}._root_1bsip_52[data-animation=pulse]{animation:_forte-skeleton-pulse_1bsip_1 var(--forte-skeleton-duration) var(--forte-ease-in-out) infinite}._root_1bsip_52[data-animation=shimmer]{animation:_forte-skeleton-breathe_1bsip_1 var(--forte-duration-loop-pulse) var(--forte-ease-standard) infinite}._root_1bsip_52[data-animation=shimmer]:after{content:"";opacity:calc(1 - var(--forte-motion-off));background-image:linear-gradient(to right, transparent, var(--forte-skeleton-highlight), transparent);animation:_forte-skeleton-sweep_1bsip_1 var(--forte-skeleton-duration) var(--forte-ease-in-out) infinite;position:absolute;inset:0}._text_1bsip_230{--forte-skeleton-line-height:var(--forte-line-height-normal);--forte-skeleton-ink:.72em;--forte-skeleton-leading:calc(1em * var(--forte-skeleton-line-height) - var(--forte-skeleton-ink));gap:var(--forte-skeleton-leading);padding-block:calc(var(--forte-skeleton-leading) / 2);flex-direction:column;display:flex}._text_1bsip_230>._root_1bsip_52{--forte-skeleton-ink:inherit}._group_1bsip_254{--forte-skeleton-group-gap:var(--forte-space-3);gap:var(--forte-skeleton-group-gap);display:grid}@keyframes _forte-skeleton-pulse_1bsip_1{50%{opacity:var(--forte-skeleton-dim)}}@keyframes _forte-skeleton-breathe_1bsip_1{50%{opacity:calc(1 - (1 - var(--forte-skeleton-dim)) * var(--forte-motion-off))}}@keyframes _forte-skeleton-sweep_1bsip_1{0%{translate:calc(-100% * var(--forte-direction) * var(--forte-motion-ok)) 0}60%,to{translate:calc(100% * var(--forte-direction) * var(--forte-motion-ok)) 0}}}@layer forte.a11y{@media (forced-colors:active){._root_1bsip_52{background-color:canvas;border:1px solid graytext}._root_1bsip_52[data-animation=shimmer]:after{background-image:none}}}
@@ -0,0 +1 @@
1
+ @layer forte.components{._root_o49p8_63{--forte-slider-length:16rem;--forte-slider-track-thickness:4px;--forte-slider-thumb-size:1rem;--forte-slider-thumb-border-width:2px;--forte-slider-radius:var(--forte-radius-pill);--forte-slider-gap:var(--forte-space-2);--forte-slider-track-bg:var(--forte-color-border-muted);--forte-slider-indicator-bg:var(--forte-color-primary);--forte-slider-thumb-bg:var(--forte-color-background);--forte-slider-thumb-border:var(--forte-color-primary);--forte-slider-thumb-shadow:var(--forte-shadow-1);--forte-slider-thumb-halo-color:var(--forte-color-primary);--forte-slider-thumb-halo-strength:48%;--forte-slider-thumb-halo:color-mix(in oklab, var(--forte-slider-thumb-halo-color) var(--forte-slider-thumb-halo-strength), transparent);--forte-slider-thumb-halo-size:0px;--forte-slider-thumb-halo-size-active:5px;--forte-slider-control-padding:max(calc((var(--forte-target-min) - var(--forte-slider-track-thickness)) / 2), calc((var(--forte-slider-thumb-size) - var(--forte-slider-track-thickness)) / 2 + var(--forte-space-1)));box-sizing:border-box;align-items:center;gap:var(--forte-slider-gap);inline-size:var(--forte-slider-length);max-inline-size:100%;font-family:var(--forte-font-sans);color:var(--forte-color-foreground);grid-template-columns:minmax(0,1fr) auto;display:grid}._root_o49p8_63[data-orientation=vertical]{--forte-slider-length:10rem;grid-template-columns:minmax(0,auto);justify-items:center;inline-size:auto;display:inline-grid}._root_o49p8_63[data-size=sm]{--forte-slider-track-thickness:3px;--forte-slider-thumb-size:.875rem;--forte-slider-thumb-halo-size-active:4px}._root_o49p8_63[data-size=md]{--forte-slider-track-thickness:4px;--forte-slider-thumb-size:1rem;--forte-slider-thumb-halo-size-active:5px}._root_o49p8_63[data-size=lg]{--forte-slider-track-thickness:6px;--forte-slider-thumb-size:1.25rem;--forte-slider-thumb-halo-size-active:6px}._root_o49p8_63[data-tone=secondary]{--forte-slider-indicator-bg:var(--forte-color-secondary);--forte-slider-thumb-border:var(--forte-color-secondary);--forte-slider-thumb-halo-color:var(--forte-color-secondary)}._root_o49p8_63[data-tone=danger]{--forte-slider-indicator-bg:var(--forte-color-danger);--forte-slider-thumb-border:var(--forte-color-danger);--forte-slider-thumb-halo-color:var(--forte-color-danger)}._root_o49p8_63[data-tone=neutral]{--forte-slider-indicator-bg:var(--forte-color-foreground);--forte-slider-thumb-border:var(--forte-color-foreground);--forte-slider-thumb-halo-color:var(--forte-color-foreground);--forte-slider-thumb-halo-strength:30%}._root_o49p8_63[data-invalid]{--forte-slider-thumb-border:var(--forte-color-danger-border)}._root_o49p8_63[data-disabled]{opacity:.55}._label_o49p8_240{font-size:var(--forte-font-size-2);font-weight:var(--forte-font-weight-medium);line-height:var(--forte-line-height-normal);color:var(--forte-color-foreground);cursor:default;-webkit-user-select:none;user-select:none;grid-column:1}._value_o49p8_251{font-size:var(--forte-font-size-2);line-height:var(--forte-line-height-normal);color:var(--forte-color-foreground-muted);font-variant-numeric:tabular-nums;cursor:default;-webkit-user-select:none;user-select:none;grid-column:2;justify-self:end}._root_o49p8_63[data-orientation=vertical] :is(._label_o49p8_240,._value_o49p8_251){grid-column:1;justify-self:center}._control_o49p8_27{box-sizing:border-box;inline-size:100%;padding-block:var(--forte-slider-control-padding);isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;grid-column:1/-1;align-items:center;display:flex}._control_o49p8_27[data-orientation=vertical]{block-size:var(--forte-slider-length);inline-size:auto;padding-block:0;padding-inline:var(--forte-slider-control-padding)}._control_o49p8_27[data-disabled]{cursor:not-allowed}._track_o49p8_311{box-sizing:border-box;inline-size:100%;block-size:var(--forte-slider-track-thickness);border-radius:var(--forte-slider-radius);background-color:var(--forte-slider-track-bg)}._track_o49p8_311[data-orientation=vertical]{inline-size:var(--forte-slider-track-thickness);block-size:100%}._indicator_o49p8_330{border-radius:var(--forte-slider-radius);background-color:var(--forte-slider-indicator-bg);transition:background-color var(--forte-duration-fast) var(--forte-ease-standard)}._thumb_o49p8_341{box-sizing:border-box;inline-size:var(--forte-slider-thumb-size);block-size:var(--forte-slider-thumb-size);border:var(--forte-slider-thumb-border-width) solid var(--forte-slider-thumb-border);border-radius:var(--forte-radius-full);background-color:var(--forte-slider-thumb-bg);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--forte-duration-fast) var(--forte-ease-standard), background-color var(--forte-duration-fast) var(--forte-ease-standard)}._thumb_o49p8_341:before{content:"";inset:calc(-1 * var(--forte-slider-thumb-border-width));border-radius:inherit;box-shadow:var(--forte-slider-thumb-shadow), 0 0 0 var(--forte-slider-thumb-halo-size) var(--forte-slider-thumb-halo);pointer-events:none;transition:box-shadow var(--forte-duration-fast) var(--forte-ease-standard);position:absolute}@media (hover:hover){._control_o49p8_27:not([data-disabled]) ._thumb_o49p8_341:hover:not(:has(:focus-visible)){--forte-slider-thumb-halo-size:var(--forte-slider-thumb-halo-size-active)}}._root_o49p8_63[data-dragging] ._thumb_o49p8_341:not(:has(:focus-visible)){--forte-slider-thumb-halo-size:var(--forte-slider-thumb-halo-size-active)}._thumb_o49p8_341[data-disabled]{cursor:not-allowed}}@layer forte.a11y{@media (forced-colors:active){._track_o49p8_311{background-color:canvas;outline:1px solid canvastext}._indicator_o49p8_330{background-color:highlight}._thumb_o49p8_341{background-color:canvas;border-color:canvastext}._thumb_o49p8_341:before{box-shadow:none}._root_o49p8_63[data-disabled]{opacity:1}._root_o49p8_63[data-disabled] ._track_o49p8_311{outline-color:graytext}._root_o49p8_63[data-disabled] ._indicator_o49p8_330{background-color:graytext}._root_o49p8_63[data-disabled] ._thumb_o49p8_341{border-color:graytext}}}
@@ -0,0 +1 @@
1
+ @layer forte.components{._root_7sirh_32{--forte-spinner-size:1.5rem;--forte-spinner-thickness:max(2px, calc(var(--forte-spinner-size) / 8));--forte-spinner-gap:var(--forte-control-gap);--forte-spinner-duration:var(--forte-duration-loop-spin);--forte-spinner-color:var(--forte-color-primary);--forte-spinner-track:color-mix(in oklab, var(--forte-spinner-color) 18%, transparent);--forte-spinner-label-color:var(--forte-color-foreground-muted);--forte-spinner-label-size:var(--forte-font-size-2);--forte-spinner-dot-dim:.25;--forte-spinner-bar-dim:.15;--forte-spinner-bar-width:calc(var(--forte-spinner-size) / 9);--forte-spinner-bar-length:calc(var(--forte-spinner-size) / 3.2);--forte-spinner-dot-travel:min(var(--forte-travel-sm), calc(var(--forte-spinner-size) / 5));--forte-spinner-ripple-min:calc(1 - .6 * var(--forte-motion-ok));box-sizing:border-box;justify-content:center;align-items:center;gap:var(--forte-spinner-gap);vertical-align:middle;cursor:default;-webkit-user-select:none;user-select:none;display:inline-flex}._root_7sirh_32[data-label-placement=bottom]{flex-direction:column}._indicator_7sirh_117{box-sizing:border-box;width:var(--forte-spinner-size);aspect-ratio:1;color:var(--forte-spinner-color);flex-shrink:0;position:relative}._label_7sirh_132{color:var(--forte-spinner-label-color);font-family:var(--forte-font-sans);font-size:var(--forte-spinner-label-size);line-height:var(--forte-line-height-tight)}._root_7sirh_32[data-size=sm]{--forte-spinner-size:1rem;--forte-spinner-label-size:var(--forte-font-size-1)}._root_7sirh_32[data-size=md]{--forte-spinner-size:1.5rem;--forte-spinner-label-size:var(--forte-font-size-2)}._root_7sirh_32[data-size=lg]{--forte-spinner-size:2rem;--forte-spinner-label-size:var(--forte-font-size-3)}._root_7sirh_32[data-tone=primary]{--forte-spinner-color:var(--forte-color-primary)}._root_7sirh_32[data-tone=secondary]{--forte-spinner-color:var(--forte-color-secondary)}._root_7sirh_32[data-tone=danger]{--forte-spinner-color:var(--forte-color-danger)}._root_7sirh_32[data-tone=neutral]{--forte-spinner-color:var(--forte-color-foreground-muted)}._root_7sirh_32[data-tone=current]{--forte-spinner-color:currentColor}._root_7sirh_32[data-variant=ring] ._indicator_7sirh_117{background-color:var(--forte-spinner-track);background-image:conic-gradient(from 0deg, transparent, var(--forte-spinner-color));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--forte-spinner-thickness)), black 0);mask:radial-gradient(farthest-side, transparent calc(100% - var(--forte-spinner-thickness)), black 0);animation:_forte-spinner-spin_7sirh_1 var(--forte-spinner-duration) linear infinite, _forte-spinner-breathe_7sirh_1 var(--forte-duration-loop-pulse) var(--forte-ease-standard) infinite;border-radius:50%}._root_7sirh_32[data-variant=dots] ._indicator_7sirh_117{justify-content:center;align-items:center;gap:calc(var(--forte-spinner-size) / 8);display:flex}._root_7sirh_32[data-variant=dots] ._part_7sirh_227{width:calc(var(--forte-spinner-size) / 4);aspect-ratio:1;opacity:var(--forte-spinner-dot-dim);animation:_forte-spinner-hop_7sirh_1 var(--forte-spinner-duration) var(--forte-ease-standard) infinite;animation-delay:calc(var(--forte-spinner-i) * var(--forte-spinner-duration) / 6);background-color:currentColor;border-radius:50%}._root_7sirh_32[data-variant=bars] ._part_7sirh_227{width:var(--forte-spinner-bar-width);height:var(--forte-spinner-bar-length);border-radius:var(--forte-radius-full);transform-origin:50% calc(var(--forte-spinner-size) / 2);rotate:calc(var(--forte-spinner-i) * 1turn / var(--forte-spinner-count));opacity:var(--forte-spinner-bar-dim);animation:_forte-spinner-sweep_7sirh_1 var(--forte-spinner-duration) linear infinite;animation-delay:calc((var(--forte-spinner-i) - var(--forte-spinner-count)) * var(--forte-spinner-duration) / var(--forte-spinner-count));background-color:currentColor;position:absolute;inset-block-start:0;inset-inline-start:calc(50% - var(--forte-spinner-bar-width) / 2)}._root_7sirh_32[data-variant=pulse]{--forte-spinner-duration:var(--forte-duration-loop-pulse)}._root_7sirh_32[data-variant=pulse] ._indicator_7sirh_117:before{content:"";width:calc(var(--forte-spinner-size) * .34);aspect-ratio:1;background-color:currentColor;border-radius:50%;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}._root_7sirh_32[data-variant=pulse] ._part_7sirh_227{--forte-spinner-ripple-peak:calc(1 - var(--forte-spinner-i) * var(--forte-motion-off));box-sizing:border-box;border:var(--forte-spinner-thickness) solid currentColor;opacity:0;animation:_forte-spinner-ripple_7sirh_1 var(--forte-spinner-duration) var(--forte-ease-standard) infinite;animation-delay:calc(var(--forte-spinner-i) * var(--forte-spinner-duration) / 2);border-radius:50%;position:absolute;inset:0}@keyframes _forte-spinner-spin_7sirh_1{to{rotate:var(--forte-spin-turn)}}@keyframes _forte-spinner-breathe_7sirh_1{50%{opacity:var(--forte-pulse-dip)}}@keyframes _forte-spinner-hop_7sirh_1{0%,to{opacity:var(--forte-spinner-dot-dim);translate:0}45%{opacity:1;translate:0 calc(-1 * var(--forte-spinner-dot-travel))}}@keyframes _forte-spinner-sweep_7sirh_1{0%{opacity:1}to{opacity:var(--forte-spinner-bar-dim)}}@keyframes _forte-spinner-ripple_7sirh_1{0%{scale:var(--forte-spinner-ripple-min);opacity:0}30%{opacity:var(--forte-spinner-ripple-peak)}to{opacity:0;scale:1}}}@layer forte.a11y{@media (forced-colors:active){._root_7sirh_32[data-variant=ring] ._indicator_7sirh_117{border:var(--forte-spinner-thickness) solid CanvasText;background-image:none;border-block-start-color:canvas;-webkit-mask:none;mask:none}}}
@@ -0,0 +1 @@
1
+ @layer forte.components{._root_1jatm_32{--forte-switch-track-width:2.25rem;--forte-switch-track-height:1.25rem;--forte-switch-thumb-size:.875rem;--forte-switch-padding:.125rem;--forte-switch-border-width:1px;--forte-switch-radius:var(--forte-radius-pill);--forte-switch-track-bg:var(--forte-color-panel);--forte-switch-track-bg-hover:var(--forte-color-panel-hover);--forte-switch-track-border:var(--forte-color-foreground-subtle);--forte-switch-thumb-bg:var(--forte-color-foreground-subtle);--forte-switch-thumb-fg:var(--forte-color-panel);--forte-switch-thumb-shadow:var(--forte-shadow-1);--forte-switch-travel:calc(var(--forte-switch-track-width) - var(--forte-switch-thumb-size) - 2 * var(--forte-switch-padding) - 2 * var(--forte-switch-border-width));--forte-switch-direction:var(--forte-direction,1);box-sizing:border-box;inline-size:var(--forte-switch-track-width);block-size:var(--forte-switch-track-height);padding:var(--forte-switch-padding);border:var(--forte-switch-border-width) solid var(--forte-switch-track-border);border-radius:var(--forte-switch-radius);background-color:var(--forte-switch-track-bg);-webkit-user-select:none;user-select:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--forte-duration-fast) var(--forte-ease-standard), border-color var(--forte-duration-fast) var(--forte-ease-standard);flex-shrink:0;justify-content:flex-start;align-items:center;margin:0;display:inline-flex;position:relative}._root_1jatm_32[data-checked]{--forte-switch-track-bg:var(--forte-color-primary);--forte-switch-track-bg-hover:var(--forte-color-primary-hover);--forte-switch-track-border:var(--forte-color-primary);--forte-switch-thumb-bg:var(--forte-color-on-primary);--forte-switch-thumb-fg:var(--forte-color-primary)}@media (hover:hover){._root_1jatm_32:hover:not([data-disabled],[data-readonly]){background-color:var(--forte-switch-track-bg-hover)}}._root_1jatm_32:active:not([data-disabled],[data-readonly]) ._thumb_1jatm_135{scale:var(--forte-scale-press);transition-duration:var(--forte-duration-instant)}._root_1jatm_32[data-readonly]{cursor:default}._root_1jatm_32[data-disabled]{cursor:not-allowed;opacity:.55}._root_1jatm_32[data-invalid]{--forte-switch-track-border:var(--forte-color-danger-border)}._root_1jatm_32[data-size=sm]{--forte-switch-track-width:1.75rem;--forte-switch-track-height:1rem;--forte-switch-thumb-size:.625rem}._root_1jatm_32[data-size=md]{--forte-switch-track-width:2.25rem;--forte-switch-track-height:1.25rem;--forte-switch-thumb-size:.875rem}._root_1jatm_32[data-size=lg]{--forte-switch-track-width:2.75rem;--forte-switch-track-height:1.5rem;--forte-switch-thumb-size:1.125rem}._thumb_1jatm_135{box-sizing:border-box;inline-size:var(--forte-switch-thumb-size);block-size:var(--forte-switch-thumb-size);border-radius:var(--forte-radius-full);background-color:var(--forte-switch-thumb-bg);color:var(--forte-switch-thumb-fg);box-shadow:var(--forte-switch-thumb-shadow);transition:translate var(--forte-duration-spring-snappy) var(--forte-ease-spring-snappy), scale var(--forte-duration-spring-snappy) var(--forte-ease-spring-snappy), background-color var(--forte-duration-fast) var(--forte-ease-standard), color var(--forte-duration-fast) var(--forte-ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;translate:0;scale:1}._thumb_1jatm_135[data-checked]{translate:calc(var(--forte-switch-travel) * var(--forte-switch-direction)) 0}._icon_1jatm_213{opacity:0;block-size:100%;inline-size:100%;scale:var(--forte-scale-enter);transition:opacity var(--forte-duration-fast) var(--forte-ease-standard), scale var(--forte-duration-spring-snappy) var(--forte-ease-spring-snappy)}._thumb_1jatm_135[data-checked] ._icon_1jatm_213{opacity:1;scale:1}}@layer forte.a11y{@media (forced-colors:active){._root_1jatm_32{background-color:canvas;border-color:canvastext}._root_1jatm_32[data-checked]{background-color:highlight;border-color:highlight}._thumb_1jatm_135{color:canvas;box-shadow:none;background-color:canvastext}._thumb_1jatm_135[data-checked]{color:highlight;background-color:highlighttext}._root_1jatm_32[data-disabled]{opacity:1;border-color:graytext}._root_1jatm_32[data-disabled] ._thumb_1jatm_135{background-color:graytext}}}
@@ -0,0 +1 @@
1
+ @layer forte.components{._root_dql63_26{--forte-tabs-radius:var(--forte-radius-control);--forte-tabs-radius-line:min(var(--forte-tabs-radius), calc(var(--forte-tabs-height) / 2));--forte-tabs-gap:var(--forte-space-1);--forte-tabs-content-gap:var(--forte-space-4);--forte-tabs-height:var(--forte-control-h-md);--forte-tabs-padding-x:var(--forte-control-px-md);--forte-tabs-font-size:var(--forte-font-size-2);--forte-tabs-font-weight:var(--forte-font-weight-medium);--forte-tabs-scroll-peek:var(--forte-space-8);--forte-tabs-list-bg:transparent;--forte-tabs-list-padding:0px;--forte-tabs-list-radius:0px;--forte-tabs-rail-width:1px;--forte-tabs-rail-color:var(--forte-color-border-muted);--forte-tabs-tab-color:var(--forte-color-foreground-muted);--forte-tabs-tab-color-hover:var(--forte-color-foreground);--forte-tabs-tab-color-active:var(--forte-color-primary-text);--forte-tabs-tab-bg-hover:transparent;--forte-tabs-indicator-color:var(--forte-color-primary);--forte-tabs-indicator-size:2px;--forte-tabs-indicator-radius:var(--forte-radius-pill);--forte-tabs-panel-padding:0px;box-sizing:border-box;isolation:isolate;gap:var(--forte-tabs-content-gap);font-family:var(--forte-font-sans);color:var(--forte-color-foreground);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;position:relative}._root_dql63_26[data-orientation=vertical]{grid-template-rows:minmax(0,auto);grid-template-columns:auto minmax(0,1fr);align-items:start}._root_dql63_26>._list_dql63_172,._root_dql63_26>._scroller_dql63_172{grid-area:1/1}._root_dql63_26>._panel_dql63_181{grid-area:2/1}._root_dql63_26[data-orientation=vertical]>._list_dql63_172,._root_dql63_26[data-orientation=vertical]>._scroller_dql63_172{grid-area:1/1}._root_dql63_26[data-orientation=vertical]>._panel_dql63_181{grid-area:1/2}._root_dql63_26[data-variant=pill]{--forte-tabs-list-bg:var(--forte-color-panel);--forte-tabs-list-padding:var(--forte-space-1);--forte-tabs-list-radius:var(--forte-radius-4);--forte-tabs-indicator-color:var(--forte-color-primary-soft);--forte-tabs-indicator-radius:var(--forte-radius-control)}._scroller_dql63_172{min-width:0}._root_dql63_26[data-orientation=vertical]>._scroller_dql63_172{min-block-size:0;max-block-size:100%}._content_dql63_255{width:100%}._list_dql63_172{box-sizing:border-box;align-items:stretch;gap:var(--forte-tabs-gap);padding:var(--forte-tabs-list-padding);border-radius:var(--forte-tabs-list-radius);background-color:var(--forte-tabs-list-bg);flex-direction:row;display:flex;position:relative}._list_dql63_172[data-orientation=vertical]{flex-direction:column;align-items:stretch}._list_dql63_172[data-variant=line]{border-block-end:var(--forte-tabs-rail-width) solid var(--forte-tabs-rail-color)}._list_dql63_172[data-variant=line][data-orientation=vertical]{border-block-end:0;border-inline-end:var(--forte-tabs-rail-width) solid var(--forte-tabs-rail-color)}._tab_dql63_295{box-sizing:border-box;z-index:1;justify-content:center;align-items:center;gap:var(--forte-control-gap);height:var(--forte-tabs-height);min-height:var(--forte-target-min);padding-inline:var(--forte-tabs-padding-x);border-radius:var(--forte-tabs-radius);color:var(--forte-tabs-tab-color);font-family:inherit;font-size:var(--forte-tabs-font-size);font-weight:var(--forte-tabs-font-weight);line-height:var(--forte-line-height-tight);white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;scroll-margin-inline:var(--forte-tabs-scroll-peek);transition:color var(--forte-duration-fast) var(--forte-ease-standard), background-color var(--forte-duration-fast) var(--forte-ease-standard);background-color:#0000;border:0;flex:none;margin:0;display:inline-flex;position:relative}._tab_dql63_295[data-orientation=vertical]{width:100%;scroll-margin-block:var(--forte-tabs-scroll-peek);justify-content:flex-start}._tab_dql63_295[data-variant=line]{border-start-start-radius:var(--forte-tabs-radius-line);border-start-end-radius:var(--forte-tabs-radius-line);border-end-end-radius:0;border-end-start-radius:0}._tab_dql63_295[data-variant=line][data-orientation=vertical]{border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--forte-tabs-radius-line)}@media (hover:hover){._tab_dql63_295:hover:not([data-disabled]):not([data-active]){color:var(--forte-tabs-tab-color-hover);background-color:var(--forte-tabs-tab-bg-hover)}}._tab_dql63_295[data-active]{color:var(--forte-tabs-tab-color-active)}._tab_dql63_295[data-disabled]{cursor:not-allowed;opacity:.55}._indicator_dql63_405{box-sizing:border-box;z-index:0;inset-block:auto 0;translate:var(--active-tab-left);width:var(--active-tab-width);height:var(--forte-tabs-indicator-size);border-radius:var(--forte-tabs-indicator-radius);background-color:var(--forte-tabs-indicator-color);pointer-events:none;transition-property:translate,width,height;transition-duration:var(--forte-duration-move);transition-timing-function:var(--forte-ease-spring-snappy);position:absolute;left:0;right:auto}._indicator_dql63_405[data-orientation=vertical]{inset-block:0 auto;left:auto;right:auto;translate:0 var(--active-tab-top);width:var(--forte-tabs-indicator-size);height:var(--active-tab-height);inset-inline-end:0}._indicator_dql63_405[data-variant=pill],._indicator_dql63_405[data-variant=pill][data-orientation=vertical]{inset-block:0 auto;translate:var(--active-tab-left) var(--active-tab-top);width:var(--active-tab-width);height:var(--active-tab-height);left:0;right:auto}._panel_dql63_181{box-sizing:border-box;z-index:1;min-width:0;padding:var(--forte-tabs-panel-padding);border-radius:var(--forte-tabs-radius);color:var(--forte-color-foreground);font-size:var(--forte-font-size-2);line-height:var(--forte-line-height-normal);transition:opacity var(--forte-duration-fast) var(--forte-ease-standard), translate var(--forte-duration-normal) var(--forte-ease-spring-snappy);position:relative;translate:0}._panel_dql63_181[data-starting-style],._panel_dql63_181[data-ending-style]{opacity:0}._panel_dql63_181[data-starting-style][data-activation-direction=right]{translate:var(--forte-travel-md) 0}._panel_dql63_181[data-starting-style][data-activation-direction=left]{translate:calc(-1 * var(--forte-travel-md)) 0}._panel_dql63_181[data-starting-style][data-activation-direction=down]{translate:0 var(--forte-travel-md)}._panel_dql63_181[data-starting-style][data-activation-direction=up]{translate:0 calc(-1 * var(--forte-travel-md))}._root_dql63_26>._panel_dql63_181[data-ending-style]{z-index:0;pointer-events:none;position:absolute;inset-block-start:0;inset-inline:0}._panel_dql63_181[data-ending-style]{transition-duration:var(--forte-duration-instant);transition-timing-function:var(--forte-ease-exit)}._panel_dql63_181[hidden]{display:none}}@layer forte.a11y{@media (forced-colors:active){._indicator_dql63_405{forced-color-adjust:none;background-color:highlight}._list_dql63_172[data-variant=line]{border-color:canvastext}._tab_dql63_295[data-active] :where(svg){fill:highlighttext;stroke:highlighttext}._tab_dql63_295[data-variant=line][data-active]{forced-color-adjust:none;color:canvastext;background-color:#0000}._tab_dql63_295[data-variant=line][data-active] :where(svg){fill:canvastext;stroke:canvastext}}}
@@ -0,0 +1 @@
1
+ @layer forte.components{._root_wgu77_30{--forte-textarea-rows:3;--forte-textarea-max-rows:infinity;--forte-textarea-padding-x:var(--forte-control-px-md);--forte-textarea-padding-y:calc(var(--forte-textarea-padding-x) / 2);--forte-textarea-font-size:var(--forte-font-size-2);--forte-textarea-line-height:var(--forte-line-height-normal);--forte-textarea-radius:min(var(--forte-radius-control), calc(( 1lh + 2 * var(--forte-textarea-padding-y) + 2 * var(--forte-textarea-border-width) ) / 2));--forte-textarea-border-width:1px;--forte-textarea-bg:var(--forte-color-background);--forte-textarea-bg-hover:var(--forte-color-panel-hover);--forte-textarea-fg:var(--forte-color-foreground);--forte-textarea-placeholder-fg:var(--forte-color-foreground-muted);--forte-textarea-border-color:var(--forte-color-border);--forte-textarea-border-color-hover:var(--forte-color-border-strong);--forte-textarea-caret-color:var(--forte-color-primary);--forte-textarea-selection-bg:var(--forte-color-primary-soft);--forte-textarea-selection-fg:var(--forte-color-primary-text);box-sizing:border-box;min-inline-size:0;min-block-size:calc(var(--forte-textarea-rows) * 1lh + 2 * var(--forte-textarea-padding-y) + 2 * var(--forte-textarea-border-width));max-block-size:calc(var(--forte-textarea-max-rows) * 1lh + 2 * var(--forte-textarea-padding-y) + 2 * var(--forte-textarea-border-width));padding-block:var(--forte-textarea-padding-y);padding-inline:var(--forte-textarea-padding-x);border:var(--forte-textarea-border-width) solid var(--forte-textarea-border-color);border-radius:var(--forte-textarea-radius);background-color:var(--forte-textarea-bg);color:var(--forte-textarea-fg);caret-color:var(--forte-textarea-caret-color);font-family:var(--forte-font-sans);font-size:var(--forte-textarea-font-size);font-weight:var(--forte-font-weight-normal);line-height:var(--forte-textarea-line-height);text-align:start;transition:background-color var(--forte-duration-fast) var(--forte-ease-standard), border-color var(--forte-duration-fast) var(--forte-ease-standard), color var(--forte-duration-fast) var(--forte-ease-standard);margin:0;display:block}._root_wgu77_30::placeholder{color:var(--forte-textarea-placeholder-fg);opacity:1}._root_wgu77_30::selection{background-color:var(--forte-textarea-selection-bg);color:var(--forte-textarea-selection-fg)}._root_wgu77_30[data-resize=vertical]{resize:vertical}._root_wgu77_30[data-resize=none]{resize:none}._root_wgu77_30[data-resize=both]{resize:both}._root_wgu77_30[data-auto-resize]{field-sizing:content}@media (hover:hover){._root_wgu77_30:hover:not([data-disabled],[readonly]){background-color:var(--forte-textarea-bg-hover);border-color:var(--forte-textarea-border-color-hover)}}._root_wgu77_30[data-disabled]{cursor:not-allowed;opacity:.55;resize:none}._root_wgu77_30[readonly]{--forte-textarea-bg:var(--forte-color-panel)}._root_wgu77_30[data-full-width]{inline-size:100%}._root_wgu77_30[data-size=sm]{--forte-textarea-padding-x:var(--forte-control-px-sm);--forte-textarea-font-size:var(--forte-font-size-1)}._root_wgu77_30[data-size=md]{--forte-textarea-padding-x:var(--forte-control-px-md);--forte-textarea-font-size:var(--forte-font-size-2)}._root_wgu77_30[data-size=lg]{--forte-textarea-padding-x:var(--forte-control-px-lg);--forte-textarea-font-size:var(--forte-font-size-3)}._root_wgu77_30[data-variant=outline]{--forte-textarea-bg:var(--forte-color-background);--forte-textarea-border-color:var(--forte-color-border)}._root_wgu77_30[data-variant=soft]{--forte-textarea-bg:var(--forte-color-panel);--forte-textarea-border-color:transparent}._root_wgu77_30[data-variant=ghost]{--forte-textarea-bg:transparent;--forte-textarea-border-color:transparent}._root_wgu77_30[data-invalid]{--forte-textarea-border-color:var(--forte-color-danger-border);--forte-textarea-border-color-hover:var(--forte-color-danger);--forte-textarea-caret-color:var(--forte-color-danger)}}@layer forte.a11y{@media (forced-colors:active){._root_wgu77_30{color:fieldtext;background-color:field;border-color:fieldtext}._root_wgu77_30[data-disabled]{color:graytext;background-color:canvas;border-color:graytext}}}
@@ -0,0 +1 @@
1
+ @layer forte.components{._viewport_1j9wt_84{--forte-toast-viewport-inset:var(--forte-space-4);--forte-toast-width:22rem;--forte-toast-gap:var(--forte-space-3);--forte-toast-peek:var(--forte-space-3);--forte-toast-stack-scale:.05;--forte-toast-z-index:60;box-sizing:border-box;z-index:var(--forte-toast-z-index);inline-size:min(var(--forte-toast-width), calc(100% - 2 * var(--forte-toast-viewport-inset)));block-size:var(--toast-frontmost-height,0px);pointer-events:none;position:fixed}._viewport_1j9wt_84[data-contained]{position:absolute}._viewport_1j9wt_84[data-position^=top]{inset-block-start:var(--forte-toast-viewport-inset)}._viewport_1j9wt_84[data-position^=bottom]{inset-block-end:var(--forte-toast-viewport-inset)}._viewport_1j9wt_84[data-position$=-start]{inset-inline-start:var(--forte-toast-viewport-inset)}._viewport_1j9wt_84[data-position$=-end]{inset-inline-end:var(--forte-toast-viewport-inset)}._viewport_1j9wt_84[data-position=top],._viewport_1j9wt_84[data-position=bottom]{margin-inline:auto;inset-inline:0}._root_1j9wt_49{--forte-toast-bg:var(--forte-color-overlay);--forte-toast-fg:var(--forte-color-foreground);--forte-toast-radius:var(--forte-radius-surface);--forte-toast-padding:var(--forte-space-4);--forte-toast-content-gap:var(--forte-space-3);--forte-toast-shadow:var(--forte-shadow-3);--forte-toast-border:var(--forte-color-border);--forte-toast-accent:var(--forte-color-foreground-muted);--forte-toast-stack-direction:-1;--forte-toast-enter-travel:100%;--forte-toast-enter-duration:var(--forte-duration-normal);--forte-toast-enter-ease:var(--forte-ease-spring-snappy);--forte-toast-exit-duration:var(--forte-duration-fast);--forte-toast-exit-ease:var(--forte-ease-exit);box-sizing:border-box;z-index:calc(-1 * var(--toast-index,0));border:1px solid var(--forte-toast-border);border-radius:var(--forte-toast-radius);background-color:var(--forte-toast-bg);color:var(--forte-toast-fg);box-shadow:var(--forte-toast-shadow);font-family:var(--forte-font-sans);line-height:var(--forte-line-height-normal);pointer-events:auto;transform-origin:50% 100%;height:var(--toast-frontmost-height,auto);translate:0 calc(var(--forte-toast-stack-direction) * var(--toast-index,0) * var(--forte-toast-peek));scale:calc(1 - var(--toast-index,0) * var(--forte-toast-stack-scale));transition:opacity var(--forte-toast-enter-duration) var(--forte-ease-standard), transform var(--forte-toast-enter-duration) var(--forte-toast-enter-ease), height var(--forte-duration-move) var(--forte-ease-standard), translate var(--forte-duration-move) var(--forte-ease-standard), scale var(--forte-duration-move) var(--forte-ease-standard);position:absolute;inset-block-end:0;inset-inline:0}._viewport_1j9wt_84[data-position^=top] ._root_1j9wt_49{--forte-toast-stack-direction:1;--forte-toast-enter-travel:-100%;transform-origin:50% 0;inset-block:0 auto}._root_1j9wt_49[data-expanded]{height:var(--toast-height,auto);translate:0 calc(var(--forte-toast-stack-direction) * ( var(--toast-offset-y,0px) + var(--toast-index,0) * var(--forte-toast-gap) ));scale:1}._root_1j9wt_49[data-expanded]:after{content:"";inset-inline:0;inset-block:calc(-.5 * var(--forte-toast-gap) - 1px);z-index:-1;position:absolute}._root_1j9wt_49[data-limited]{opacity:0;pointer-events:none}._root_1j9wt_49[data-starting-style],._root_1j9wt_49[data-ending-style]{opacity:0;transform:translateY(calc(var(--forte-toast-enter-travel) * var(--forte-motion-ok)))}._root_1j9wt_49[data-ending-style]{transition:opacity var(--forte-toast-exit-duration) var(--forte-toast-exit-ease), transform var(--forte-toast-exit-duration) var(--forte-toast-exit-ease), height var(--forte-duration-move) var(--forte-ease-standard), translate var(--forte-duration-move) var(--forte-ease-standard), scale var(--forte-duration-move) var(--forte-ease-standard)}._root_1j9wt_49[data-ending-style][data-swipe-direction=right]{transform:translateX(calc(var(--toast-swipe-movement-x) + 100%))}._root_1j9wt_49[data-ending-style][data-swipe-direction=left]{transform:translateX(calc(var(--toast-swipe-movement-x) - 100%))}._root_1j9wt_49[data-ending-style][data-swipe-direction=down]{transform:translateY(calc(var(--toast-swipe-movement-y) + 100%))}._root_1j9wt_49[data-ending-style][data-swipe-direction=up]{transform:translateY(calc(var(--toast-swipe-movement-y) - 100%))}._root_1j9wt_49[data-type=success]{--forte-toast-accent:var(--forte-color-success-text)}._root_1j9wt_49[data-type=error]{--forte-toast-accent:var(--forte-color-danger-text)}._root_1j9wt_49[data-type=warning]{--forte-toast-accent:var(--forte-color-warning-text)}._root_1j9wt_49[data-type=info]{--forte-toast-accent:var(--forte-color-info-text)}._root_1j9wt_49[data-type=loading]{--forte-toast-accent:var(--forte-color-primary-text)}._content_1j9wt_428{box-sizing:border-box;align-items:center;gap:var(--forte-toast-content-gap);padding:var(--forte-toast-padding);font-size:var(--forte-font-size-2);transition:opacity var(--forte-duration-move) var(--forte-ease-standard);display:flex}._content_1j9wt_428[data-behind]:not([data-expanded]){opacity:0}._body_1j9wt_450{gap:var(--forte-space-1);flex-direction:column;flex:auto;min-inline-size:0;display:flex}._title_1j9wt_458{font-size:var(--forte-font-size-2);font-weight:var(--forte-font-weight-semibold);line-height:var(--forte-line-height-tight);color:var(--forte-toast-fg);margin:0}._description_1j9wt_466{font-size:var(--forte-font-size-2);line-height:var(--forte-line-height-normal);color:var(--forte-color-foreground-muted);margin:0}._icon_1j9wt_481{color:var(--forte-toast-accent);pointer-events:none;flex:none;justify-content:center;align-items:center;display:flex}._glyph_1j9wt_490{inline-size:var(--forte-space-4);block-size:var(--forte-space-4);display:block}._action_1j9wt_501{box-sizing:border-box;min-block-size:max(var(--forte-control-h-sm), var(--forte-target-min));padding-inline:var(--forte-control-px-sm);border:1px solid var(--forte-color-border);border-radius:var(--forte-radius-control);background-color:var(--forte-color-panel);color:var(--forte-color-foreground);font-family:var(--forte-font-sans);font-size:var(--forte-font-size-2);font-weight:var(--forte-font-weight-medium);line-height:var(--forte-line-height-tight);white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background-color var(--forte-duration-fast) var(--forte-ease-standard), border-color var(--forte-duration-fast) var(--forte-ease-standard), color var(--forte-duration-fast) var(--forte-ease-standard);flex:none;justify-content:center;align-items:center;margin:0;display:inline-flex}@media (hover:hover){._action_1j9wt_501:hover:not([data-disabled]){background-color:var(--forte-color-panel-hover)}}._action_1j9wt_501:active:not([data-disabled]){background-color:var(--forte-color-panel-active)}._action_1j9wt_501[data-disabled]{cursor:not-allowed;opacity:.55}._close_1j9wt_552{box-sizing:border-box;inline-size:var(--forte-target-min);block-size:var(--forte-target-min);border-radius:var(--forte-radius-control);color:var(--forte-color-foreground-muted);cursor:pointer;transition:background-color var(--forte-duration-fast) var(--forte-ease-standard), color var(--forte-duration-fast) var(--forte-ease-standard);background-color:#0000;border:0;flex:none;justify-content:center;align-self:flex-start;align-items:center;margin:0;padding:0;display:inline-flex}@media (hover:hover){._close_1j9wt_552:hover{background-color:var(--forte-color-panel-hover);color:var(--forte-color-foreground)}}._close_1j9wt_552:active{background-color:var(--forte-color-panel-active)}}@layer forte.a11y{@media (forced-colors:active){._root_1j9wt_49{background-color:canvas}._icon_1j9wt_481{color:canvastext}}}
@@ -0,0 +1 @@
1
+ @layer forte.components{._root_p9w1c_24{--forte-toggle-radius:var(--forte-radius-control);--forte-toggle-height:var(--forte-control-h-md);--forte-toggle-padding-x:var(--forte-control-px-md);--forte-toggle-font-size:var(--forte-font-size-2);--forte-toggle-font-weight:var(--forte-font-weight-medium);--forte-toggle-gap:var(--forte-control-gap);--forte-toggle-border-width:1px;--forte-toggle-duration:var(--forte-duration-fast);--forte-toggle-press-scale:var(--forte-scale-press);--forte-toggle-tone-solid:var(--forte-color-primary);--forte-toggle-tone-solid-hover:var(--forte-color-primary-hover);--forte-toggle-tone-on-solid:var(--forte-color-on-primary);--forte-toggle-tone-soft:var(--forte-color-primary-soft);--forte-toggle-tone-soft-hover:var(--forte-color-primary-soft-hover);--forte-toggle-tone-text:var(--forte-color-primary-text);--forte-toggle-tone-border:var(--forte-color-primary-border);--forte-toggle-bg:transparent;--forte-toggle-bg-hover:var(--forte-color-panel-hover);--forte-toggle-fg:var(--forte-color-foreground-muted);--forte-toggle-fg-hover:var(--forte-color-foreground);--forte-toggle-border-color:transparent;--forte-toggle-bg-pressed:var(--forte-toggle-tone-soft);--forte-toggle-bg-pressed-hover:var(--forte-toggle-tone-soft-hover);--forte-toggle-fg-pressed:var(--forte-toggle-tone-text);--forte-toggle-border-color-pressed:transparent;box-sizing:border-box;justify-content:center;align-items:center;gap:var(--forte-toggle-gap);height:var(--forte-toggle-height);padding-inline:var(--forte-toggle-padding-x);border:var(--forte-toggle-border-width) solid var(--forte-toggle-border-color);border-radius:var(--forte-toggle-radius);background-color:var(--forte-toggle-bg);color:var(--forte-toggle-fg);font-family:var(--forte-font-sans);font-size:var(--forte-toggle-font-size);font-weight:var(--forte-toggle-font-weight);line-height:var(--forte-line-height-tight);white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--forte-toggle-duration) var(--forte-ease-standard), border-color var(--forte-toggle-duration) var(--forte-ease-standard), color var(--forte-toggle-duration) var(--forte-ease-standard), scale var(--forte-duration-spring-snappy) var(--forte-ease-spring-snappy);margin:0;display:inline-flex;position:relative;scale:1}._root_p9w1c_24[data-pressed]{background-color:var(--forte-toggle-bg-pressed);color:var(--forte-toggle-fg-pressed);border-color:var(--forte-toggle-border-color-pressed)}@media (hover:hover){._root_p9w1c_24:hover:not([data-disabled]){background-color:var(--forte-toggle-bg-hover);color:var(--forte-toggle-fg-hover)}._root_p9w1c_24[data-pressed]:hover:not([data-disabled]){background-color:var(--forte-toggle-bg-pressed-hover);color:var(--forte-toggle-fg-pressed)}}._root_p9w1c_24:active:not([data-disabled]){scale:calc(1 + (var(--forte-toggle-press-scale) - 1) * var(--forte-motion-ok));transition-duration:var(--forte-duration-instant)}._root_p9w1c_24[data-disabled]{cursor:not-allowed;opacity:.55;scale:1}._root_p9w1c_24[data-size=sm]{--forte-toggle-height:var(--forte-control-h-sm);--forte-toggle-padding-x:var(--forte-control-px-sm);--forte-toggle-font-size:var(--forte-font-size-1)}._root_p9w1c_24[data-size=md]{--forte-toggle-height:var(--forte-control-h-md);--forte-toggle-padding-x:var(--forte-control-px-md);--forte-toggle-font-size:var(--forte-font-size-2)}._root_p9w1c_24[data-size=lg]{--forte-toggle-height:var(--forte-control-h-lg);--forte-toggle-padding-x:var(--forte-control-px-lg);--forte-toggle-font-size:var(--forte-font-size-3)}._root_p9w1c_24[data-icon-only]{--forte-toggle-icon-padding:var(--forte-space-2);--forte-toggle-padding-x:var(--forte-toggle-icon-padding);padding-block:var(--forte-toggle-icon-padding);aspect-ratio:1;block-size:auto;min-block-size:max(var(--forte-toggle-height), var(--forte-target-min));min-inline-size:max(var(--forte-toggle-height), var(--forte-target-min))}._root_p9w1c_24[data-tone=secondary]{--forte-toggle-tone-solid:var(--forte-color-secondary);--forte-toggle-tone-solid-hover:var(--forte-color-secondary-hover);--forte-toggle-tone-on-solid:var(--forte-color-on-secondary);--forte-toggle-tone-soft:var(--forte-color-secondary-soft);--forte-toggle-tone-soft-hover:var(--forte-color-secondary-soft-hover);--forte-toggle-tone-text:var(--forte-color-secondary-text);--forte-toggle-tone-border:var(--forte-color-secondary-border)}._root_p9w1c_24[data-tone=danger]{--forte-toggle-tone-solid:var(--forte-color-danger);--forte-toggle-tone-solid-hover:var(--forte-color-danger-hover);--forte-toggle-tone-on-solid:var(--forte-color-on-danger);--forte-toggle-tone-soft:var(--forte-danger-3);--forte-toggle-tone-soft-hover:var(--forte-danger-3);--forte-toggle-tone-text:var(--forte-color-danger-text);--forte-toggle-tone-border:var(--forte-color-danger-border)}._root_p9w1c_24[data-tone=neutral]{--forte-toggle-tone-solid:var(--forte-gray-12);--forte-toggle-tone-solid-hover:var(--forte-gray-11);--forte-toggle-tone-on-solid:var(--forte-gray-1);--forte-toggle-tone-soft:var(--forte-gray-4);--forte-toggle-tone-soft-hover:var(--forte-gray-5);--forte-toggle-tone-text:var(--forte-color-foreground);--forte-toggle-tone-border:var(--forte-color-border)}._root_p9w1c_24[data-variant=solid]{--forte-toggle-bg-pressed:var(--forte-toggle-tone-solid);--forte-toggle-bg-pressed-hover:var(--forte-toggle-tone-solid-hover);--forte-toggle-fg-pressed:var(--forte-toggle-tone-on-solid);--forte-toggle-border-color-pressed:transparent}._root_p9w1c_24[data-variant=soft]{--forte-toggle-bg-pressed:var(--forte-toggle-tone-soft);--forte-toggle-bg-pressed-hover:var(--forte-toggle-tone-soft-hover);--forte-toggle-fg-pressed:var(--forte-toggle-tone-text);--forte-toggle-border-color-pressed:transparent}._root_p9w1c_24[data-variant=outline]{--forte-toggle-border-color:var(--forte-color-border);--forte-toggle-bg-pressed:var(--forte-toggle-tone-soft);--forte-toggle-bg-pressed-hover:var(--forte-toggle-tone-soft-hover);--forte-toggle-fg-pressed:var(--forte-toggle-tone-text);--forte-toggle-border-color-pressed:var(--forte-toggle-tone-border)}._group_p9w1c_279{--forte-toggle-group-gap:var(--forte-space-2);--forte-toggle-group-padding:0px;--forte-toggle-group-radius:0px;--forte-toggle-group-bg:transparent;--forte-toggle-group-border-width:1px;--forte-toggle-group-border-color:transparent;box-sizing:border-box;align-items:stretch;gap:var(--forte-toggle-group-gap);padding:var(--forte-toggle-group-padding);border:var(--forte-toggle-group-border-width) solid var(--forte-toggle-group-border-color);border-radius:var(--forte-toggle-group-radius);background-color:var(--forte-toggle-group-bg);flex-direction:row;display:inline-flex}._group_p9w1c_279[data-orientation=vertical]{flex-direction:column}._group_p9w1c_279[data-segmented]{--forte-toggle-group-gap:var(--forte-space-1);--forte-toggle-group-padding:var(--forte-space-1);--forte-toggle-group-radius:var(--forte-radius-4);--forte-toggle-group-bg:var(--forte-color-panel)}._group_p9w1c_279[data-full-width]{width:100%;display:flex}._group_p9w1c_279[data-full-width]>._root_p9w1c_24{flex:1 1 0;min-width:0}}@layer forte.a11y{@media (forced-colors:active){._root_p9w1c_24{color:canvastext;background-color:canvas}._root_p9w1c_24[data-variant=outline]{border-color:canvastext}._root_p9w1c_24[data-pressed]:not([data-disabled]){color:highlighttext;background-color:highlight;border-color:highlight}._root_p9w1c_24[data-pressed]:not([data-disabled]) :where(svg){fill:highlighttext;stroke:highlighttext}._root_p9w1c_24[data-disabled]{color:graytext;background-color:canvas;border-color:graytext}._group_p9w1c_279[data-segmented]{border-color:canvastext}}}
@@ -0,0 +1 @@
1
+ @layer forte.components{._root_1v39b_28{--forte-toolbar-gap:var(--forte-space-2);--forte-toolbar-padding:var(--forte-space-2);--forte-toolbar-radius:var(--forte-radius-surface);--forte-toolbar-bg:transparent;--forte-toolbar-border-width:1px;--forte-toolbar-border-color:transparent;--forte-toolbar-shadow:none;box-sizing:border-box;align-items:center;gap:var(--forte-toolbar-gap);padding:var(--forte-toolbar-padding);border:var(--forte-toolbar-border-width) solid var(--forte-toolbar-border-color);border-radius:var(--forte-toolbar-radius);background-color:var(--forte-toolbar-bg);box-shadow:var(--forte-toolbar-shadow);cursor:default;flex-direction:row;display:flex}._root_1v39b_28[data-orientation=vertical]{flex-direction:column;align-items:stretch;inline-size:-moz-fit-content;inline-size:fit-content}._root_1v39b_28[data-orientation=horizontal][data-wrap]{flex-wrap:wrap}._root_1v39b_28[data-size=sm]{--forte-toolbar-gap:var(--forte-space-1);--forte-toolbar-padding:var(--forte-space-1)}._root_1v39b_28[data-size=md]{--forte-toolbar-gap:var(--forte-space-2);--forte-toolbar-padding:var(--forte-space-2)}._root_1v39b_28[data-size=lg]{--forte-toolbar-gap:var(--forte-space-2);--forte-toolbar-padding:var(--forte-space-3)}._root_1v39b_28[data-variant=plain]{--forte-toolbar-padding:0px;--forte-toolbar-radius:0px;--forte-toolbar-bg:transparent;--forte-toolbar-border-color:transparent}._root_1v39b_28[data-variant=panel]{--forte-toolbar-bg:var(--forte-color-panel);--forte-toolbar-border-color:transparent}._root_1v39b_28[data-variant=outline]{--forte-toolbar-bg:var(--forte-color-background);--forte-toolbar-border-color:var(--forte-color-border)}._group_1v39b_140{--forte-toolbar-group-gap:var(--forte-space-1);box-sizing:border-box;align-items:center;gap:var(--forte-toolbar-group-gap);flex-direction:row;display:inline-flex}._group_1v39b_140[data-orientation=vertical]{flex-direction:column;align-items:stretch}._separator_1v39b_179{--forte-toolbar-separator-thickness:1px;--forte-toolbar-separator-color:var(--forte-color-border);--forte-toolbar-separator-inset:var(--forte-space-1);--forte-toolbar-separator-min-length:1lh;box-sizing:border-box;cursor:default;-webkit-user-select:none;user-select:none;border:0;flex-shrink:0;align-self:stretch;margin:0;padding:0}._separator_1v39b_179[data-orientation=vertical]{block-size:auto;inline-size:0;min-block-size:var(--forte-toolbar-separator-min-length);border-inline-start:var(--forte-toolbar-separator-thickness) solid var(--forte-toolbar-separator-color);margin-block:var(--forte-toolbar-separator-inset);display:inline-block}._separator_1v39b_179[data-orientation=horizontal]{border-block-start:var(--forte-toolbar-separator-thickness) solid var(--forte-toolbar-separator-color);block-size:0;margin-inline:var(--forte-toolbar-separator-inset);display:block}._link_1v39b_245{--forte-toolbar-link-height:var(--forte-control-h-md);--forte-toolbar-link-padding-x:var(--forte-space-2);--forte-toolbar-link-radius:var(--forte-radius-control);--forte-toolbar-link-font-size:var(--forte-font-size-2);--forte-toolbar-link-color:var(--forte-color-primary-text);--forte-toolbar-link-bg-hover:var(--forte-color-panel-hover);--forte-toolbar-link-underline-color:color-mix(in oklab, currentcolor 45%, transparent);--forte-toolbar-link-underline-offset:.15em;--forte-toolbar-link-duration:var(--forte-duration-fast);box-sizing:border-box;justify-content:center;align-items:center;gap:var(--forte-control-gap);block-size:var(--forte-toolbar-link-height);padding-inline:var(--forte-toolbar-link-padding-x);border-radius:var(--forte-toolbar-link-radius);color:var(--forte-toolbar-link-color);font-family:var(--forte-font-sans);font-size:var(--forte-toolbar-link-font-size);font-weight:var(--forte-font-weight-medium);line-height:var(--forte-line-height-tight);white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:var(--forte-toolbar-link-underline-color);text-decoration-color:var(--forte-toolbar-link-underline-color);text-underline-offset:var(--forte-toolbar-link-underline-offset);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--forte-toolbar-link-duration) var(--forte-ease-standard), text-decoration-color var(--forte-toolbar-link-duration) var(--forte-ease-standard);text-decoration-thickness:from-font;display:inline-flex}@media (hover:hover){._link_1v39b_245:hover{--forte-toolbar-link-underline-color:currentcolor;background-color:var(--forte-toolbar-link-bg-hover)}}._link_1v39b_245[data-size=sm]{--forte-toolbar-link-height:var(--forte-control-h-sm);--forte-toolbar-link-font-size:var(--forte-font-size-1)}._link_1v39b_245[data-size=md]{--forte-toolbar-link-height:var(--forte-control-h-md);--forte-toolbar-link-font-size:var(--forte-font-size-2)}._link_1v39b_245[data-size=lg]{--forte-toolbar-link-height:var(--forte-control-h-lg);--forte-toolbar-link-font-size:var(--forte-font-size-3)}}@layer forte.a11y{@media (forced-colors:active){._root_1v39b_28[data-variant=panel],._root_1v39b_28[data-variant=outline]{--forte-toolbar-border-color:CanvasText}}}
@@ -0,0 +1 @@
1
+ @layer forte.components{._positioner_1k2q4_55{--forte-tooltip-z-index:50;z-index:var(--forte-tooltip-z-index)}._popup_1k2q4_65{--forte-tooltip-bg:var(--forte-gray-12);--forte-tooltip-fg:var(--forte-gray-1);--forte-tooltip-radius:var(--forte-radius-2);--forte-tooltip-padding-block:var(--forte-space-1);--forte-tooltip-padding-inline:var(--forte-space-2);--forte-tooltip-font-size:var(--forte-font-size-1);--forte-tooltip-font-weight:var(--forte-font-weight-medium);--forte-tooltip-shadow:var(--forte-shadow-2);--forte-tooltip-max-width:18rem;--forte-tooltip-travel:var(--forte-travel-sm);--forte-tooltip-arrow-width:1em;--forte-tooltip-arrow-height:.5em;--forte-tooltip-shortcut-gap:var(--forte-space-3);--forte-tooltip-shortcut-bg:color-mix(in oklab, currentColor 16%, transparent);--forte-tooltip-shortcut-border-color:color-mix(in oklab, currentColor 28%, transparent);--forte-tooltip-shortcut-radius:var(--forte-radius-1);--forte-tooltip-shortcut-padding-inline:var(--forte-space-1);--forte-tooltip-enter-x:0px;--forte-tooltip-enter-y:var(--forte-tooltip-travel);box-sizing:border-box;max-width:min(var(--forte-tooltip-max-width), var(--available-width,100vw));padding-block:var(--forte-tooltip-padding-block);padding-inline:var(--forte-tooltip-padding-inline);border-radius:var(--forte-tooltip-radius);background-color:var(--forte-tooltip-bg);color:var(--forte-tooltip-fg);box-shadow:var(--forte-tooltip-shadow);font-family:var(--forte-font-sans);font-size:var(--forte-tooltip-font-size);font-weight:var(--forte-tooltip-font-weight);line-height:var(--forte-line-height-tight);letter-spacing:var(--forte-letter-spacing-normal);text-align:start;transform-origin:var(--transform-origin);transition:opacity var(--forte-duration-fast) var(--forte-ease-standard), transform var(--forte-duration-fast) var(--forte-ease-standard);flex-direction:column;display:flex;position:relative}._popup_1k2q4_65[data-side=top]{--forte-tooltip-enter-x:0px;--forte-tooltip-enter-y:var(--forte-tooltip-travel)}._popup_1k2q4_65[data-side=bottom]{--forte-tooltip-enter-x:0px;--forte-tooltip-enter-y:calc(-1 * var(--forte-tooltip-travel))}._popup_1k2q4_65:is([data-side=left],[data-side=inline-start]:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[data-side=inline-end]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){--forte-tooltip-enter-x:var(--forte-tooltip-travel);--forte-tooltip-enter-y:0px}._popup_1k2q4_65:is([data-side=right],[data-side=inline-end]:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[data-side=inline-start]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){--forte-tooltip-enter-x:calc(-1 * var(--forte-tooltip-travel));--forte-tooltip-enter-y:0px}._popup_1k2q4_65[data-starting-style],._popup_1k2q4_65[data-ending-style]{opacity:0;transform:translate(var(--forte-tooltip-enter-x), var(--forte-tooltip-enter-y)) scale(var(--forte-scale-enter))}._popup_1k2q4_65[data-ending-style]{transition-timing-function:var(--forte-ease-exit)}._popup_1k2q4_65[data-instant],._arrow_1k2q4_94[data-instant]{transition:none}._popup_1k2q4_65:has(._shortcut_1k2q4_101){align-items:baseline;gap:var(--forte-tooltip-shortcut-gap,var(--forte-space-3));flex-direction:row}._shortcut_1k2q4_101{padding-inline:var(--forte-tooltip-shortcut-padding-inline,var(--forte-space-1));border:1px solid var(--forte-tooltip-shortcut-border-color,color-mix(in oklab, currentColor 28%, transparent));border-radius:var(--forte-tooltip-shortcut-radius,var(--forte-radius-1));background-color:var(--forte-tooltip-shortcut-bg,color-mix(in oklab, currentColor 16%, transparent));font-variant-numeric:tabular-nums;letter-spacing:var(--forte-letter-spacing-normal);white-space:nowrap;direction:ltr;unicode-bidi:isolate;flex:none}._arrow_1k2q4_94{width:var(--forte-tooltip-arrow-width,1em);height:var(--forte-tooltip-arrow-height,.5em);display:block;position:relative}._arrow_1k2q4_94[data-side=top]{bottom:calc(-1 * var(--forte-tooltip-arrow-height,.5em));rotate:180deg}._arrow_1k2q4_94[data-side=bottom]{top:calc(-1 * var(--forte-tooltip-arrow-height,.5em));rotate:0deg}._arrow_1k2q4_94:is([data-side=left],[data-side=inline-start]:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[data-side=inline-end]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:calc(-.5 * ( var(--forte-tooltip-arrow-width,1em) + var(--forte-tooltip-arrow-height,.5em) ));rotate:90deg}._arrow_1k2q4_94:is([data-side=right],[data-side=inline-end]:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[data-side=inline-start]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:calc(-.5 * ( var(--forte-tooltip-arrow-width,1em) + var(--forte-tooltip-arrow-height,.5em) ));rotate:-90deg}._arrowSvg_1k2q4_335{width:100%;height:100%;display:block}._arrowFill_1k2q4_342{fill:var(--forte-tooltip-bg)}._arrowBorder_1k2q4_348{fill:#0000}}@layer forte.a11y{@media (forced-colors:active){._arrowFill_1k2q4_342{fill:canvas}._arrowBorder_1k2q4_348{fill:canvastext}}}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Accessibility responses.
3
+ *
4
+ * Everything here retunes TOKENS rather than restyling components, so a
5
+ * component stylesheet never needs its own `@media` block and cannot forget
6
+ * one. Adding a component gets this behaviour for free.
7
+ *
8
+ * Covered: focus appearance, prefers-contrast, prefers-reduced-transparency,
9
+ * forced-colors, and the parts of reduced motion that tokens provably cannot
10
+ * reach. (The reduced-motion token overrides themselves live in motion.css.)
11
+ */
12
+ @layer forte.tokens {
13
+ :root,
14
+ .forte-theme,
15
+ [data-forte-theme] {
16
+ --forte-focus-ring-width: 2px;
17
+ --forte-focus-ring-offset: 2px;
18
+
19
+ /* Two tones that contrast with EACH OTHER, not with the page. That is the
20
+ * whole trick: whatever sits behind the control, one of the ring's two
21
+ * boundaries still clears the 3:1 that SC 1.4.11 requires. A single-tone
22
+ * accent-coloured ring cannot promise that — the previous
23
+ * `--forte-color-focus-ring: var(--forte-accent-9)` measured 2.61:1 on a light
24
+ * background and failed outright, while passing comfortably in dark mode,
25
+ * which is exactly how it went unnoticed. */
26
+ --forte-focus-ring-inner: light-dark(oklch(0.240 0 0), oklch(0.995 0 0));
27
+ --forte-focus-ring-outer: light-dark(oklch(0.995 0 0), oklch(0.178 0 0));
28
+
29
+ /* Retained so existing overrides keep working. */
30
+ --forte-color-focus-ring: var(--forte-focus-ring-inner);
31
+ }
32
+
33
+ /* ------------------------------------------------------------------------
34
+ * prefers-contrast
35
+ *
36
+ * Note: `prefers-contrast: custom` also matches forced-colors users. Do not
37
+ * stack a `more` override on top of the forced-colors block below — the two
38
+ * will fight, and forced-colors should win.
39
+ * --------------------------------------------------------------------- */
40
+ @media (prefers-contrast: more) {
41
+ :root,
42
+ .forte-theme,
43
+ [data-forte-theme] {
44
+ --forte-color-foreground-muted: var(--forte-gray-12);
45
+ /* Promotes the 3.73:1 subtle tier to 5.82:1, making it safe for text. */
46
+ --forte-color-foreground-subtle: var(--forte-gray-11);
47
+ --forte-color-border: var(--forte-gray-12);
48
+ --forte-color-border-muted: var(--forte-gray-11);
49
+ --forte-color-border-strong: var(--forte-gray-12);
50
+ --forte-focus-ring-width: 3px;
51
+ --forte-shadow-1: none;
52
+ --forte-shadow-2: none;
53
+ --forte-shadow-3: none;
54
+ --forte-shadow-4: none;
55
+ --forte-scrim-color: light-dark(oklch(0 0 0 / 0.7), oklch(0 0 0 / 0.85));
56
+ }
57
+ }
58
+
59
+ @media (prefers-contrast: less) {
60
+ :root,
61
+ .forte-theme,
62
+ [data-forte-theme] {
63
+ --forte-color-border: var(--forte-gray-6);
64
+ --forte-color-foreground-muted: var(--forte-gray-10);
65
+ }
66
+ }
67
+
68
+ /* Not Baseline — Firefox does not ship it. Pure enhancement: scrim
69
+ * legibility must never depend on this query having matched. */
70
+ @media (prefers-reduced-transparency: reduce) {
71
+ :root,
72
+ .forte-theme,
73
+ [data-forte-theme] {
74
+ --forte-scrim-color: light-dark(oklch(0.242 0 0), oklch(0.100 0 0));
75
+ --forte-scrim-blur: 0px;
76
+ --forte-glass-alpha: 1;
77
+ }
78
+ }
79
+ }
80
+
81
+ /**
82
+ * The parts of reduced motion that no token can reach.
83
+ */
84
+ @layer forte.patterns {
85
+ @media (prefers-reduced-motion: reduce) {
86
+ /* `animation-duration` is IGNORED on a scroll or view progress timeline,
87
+ * so no duration token can stop a parallax. The timeline itself has to be
88
+ * detached. This selector is a net, not a guarantee — it only catches
89
+ * inline styles and the opt-in class. The real protection is the
90
+ * authoring convention: wrap scroll-driven work in
91
+ * @media (prefers-reduced-motion: no-preference)
92
+ * @supports (animation-timeline: view()) { ... }
93
+ * and never gate visibility on it. */
94
+ :where([style*="animation-timeline"], .forte-scroll-anim) {
95
+ animation-timeline: none !important;
96
+ animation-name: none !important;
97
+ }
98
+
99
+ :where(html, body, .forte-scroll) {
100
+ scroll-behavior: auto;
101
+ }
102
+
103
+ ::view-transition-group(*),
104
+ ::view-transition-old(*),
105
+ ::view-transition-new(*) {
106
+ animation-duration: 1ms;
107
+ animation-delay: 0s;
108
+ }
109
+ }
110
+
111
+ :where([data-forte-motion="reduce"], [data-forte-motion="off"]) {
112
+ scroll-behavior: auto;
113
+ }
114
+
115
+ /* The view-transition overlay otherwise swallows clicks for its duration. */
116
+ ::view-transition {
117
+ pointer-events: none;
118
+ }
119
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * forte-ui cascade layers
3
+ * ---------------------------------------------------------------------------
4
+ * MUST be the first forte-ui stylesheet the browser sees. `@layer` statements
5
+ * fix the order at first appearance, so declaring all six up-front means the
6
+ * order never depends on which component happens to load first.
7
+ *
8
+ * Every layer here loses to *unlayered* author CSS. That is the point: a
9
+ * consumer can override anything we ship without `!important`.
10
+ *
11
+ * reset optional box-sizing normalisation
12
+ * tokens design tokens, and the media queries that retune them
13
+ * patterns reusable global classes (.forte-focus-ring, .forte-hc-surface, ...)
14
+ * components per-component CSS Modules
15
+ * a11y accessibility overrides that must beat component CSS
16
+ * overrides reserved for the consumer, last among our layers
17
+ *
18
+ * ---------------------------------------------------------------------------
19
+ * Why `a11y` sits AFTER `components`
20
+ * ---------------------------------------------------------------------------
21
+ * Layer order outranks specificity completely: a (0,0,0) selector in a later
22
+ * layer beats a (0,1,0) selector in an earlier one. So an accessibility rule
23
+ * placed in `patterns` — before `components` — can never win against ordinary
24
+ * component CSS, no matter how it is written.
25
+ *
26
+ * That bites hardest in forced-colors mode. `opacity` is one of the few
27
+ * properties forced-colors does NOT override, so a component's
28
+ * `[data-disabled] { opacity: 0.55 }` survives, and if the `GrayText` remedy
29
+ * sits in an earlier layer it is discarded — leaving a disabled control at
30
+ * full system-colour contrast, reading as enabled.
31
+ *
32
+ * Putting those overrides in `a11y` makes them win by layer order alone, with
33
+ * no specificity games, while the whole library still yields to the app.
34
+ * Component files that need their own forced-colors handling must therefore
35
+ * open `@layer forte.a11y` rather than nesting the media query inside
36
+ * their `forte.components` block.
37
+ */
38
+ @layer forte.reset, forte.tokens, forte.patterns, forte.components,
39
+ forte.a11y, forte.overrides;
@@ -0,0 +1,194 @@
1
+ /**
2
+ * GENERATED FILE — do not edit by hand.
3
+ * Source of truth: packages/react/scripts/motion.mjs
4
+ * Regenerate with: pnpm --filter @forte-ui/react tokens
5
+ *
6
+ * This is the ONLY prefers-reduced-motion block in the library. Component
7
+ * stylesheets must never write their own — they consume the tokens below and
8
+ * get correct behaviour for free.
9
+ *
10
+ * Two rules worth knowing before you use these:
11
+ *
12
+ * - Durations never reach 0s. At exactly 0s no transition object is created
13
+ * at all, so 'transitionend' never fires and any consumer code awaiting it
14
+ * deadlocks. 1ms costs one frame and keeps the event contract intact.
15
+ *
16
+ * - Never put an 'infinite' animation on a Base UI Popup or Positioner part.
17
+ * Base UI awaits Promise.all(el.getAnimations().map(a => a.finished)) to
18
+ * decide when a popup may unmount, and an infinite animation's promise
19
+ * never settles — the popup would stay in the DOM forever. Put spinners on
20
+ * an inner child instead.
21
+ *
22
+ * The defaults below sit on ':root' alone, unlike the colour ramps, which are
23
+ * restated on '.forte-theme' / '[data-forte-theme]'. A ramp must be restated
24
+ * because it is DERIVED from a seed a scope can override; these are literals,
25
+ * so a scope has nothing to re-derive — and restating them would let every
26
+ * theme scope re-declare the defaults on top of a 'data-forte-motion' inherited
27
+ * from an ancestor. Inheritance carries the setting into a scope; a scope that
28
+ * wants its own motion sets 'data-forte-motion' and wins on the blocks below.
29
+ */
30
+ @layer forte.tokens {
31
+ :root {
32
+ --forte-ease-standard: cubic-bezier(0.2, 0, 0, 1);
33
+ --forte-ease-in-out: cubic-bezier(0.4, 0, 0.6, 1);
34
+ --forte-ease-emphasized: cubic-bezier(0.2, 0, 0, 1.2);
35
+ --forte-ease-exit: cubic-bezier(0.4, 0, 1, 1);
36
+ --forte-ease-spring-gentle: linear(0, 0.066, 0.203, 0.3552, 0.4964, 0.6164, 0.7132, 0.7887, 0.8461, 0.889, 0.9206, 0.9436, 0.9601, 0.972, 0.9804, 0.9864, 0.9905, 0.9934, 0.9955, 0.9969, 0.9979, 0.9985, 0.999);
37
+ --forte-ease-spring-snappy: linear(0, 0.055, 0.1821, 0.3382, 0.4954, 0.6374, 0.7563, 0.8497, 0.919, 0.9673, 0.9987, 1.0169, 1.0258, 1.0284, 1.027, 1.0235, 1.0191, 1.0146, 1.0105, 1.0071, 1.0044, 1.0024, 1.001);
38
+ --forte-ease-spring-bouncy: linear(0, 0.1344, 0.4195, 0.7176, 0.9501, 1.0898, 1.1445, 1.1392, 1.1023, 1.0571, 1.0184, 0.9926, 0.9803, 0.9784, 0.9826, 0.9891, 0.9954, 1, 1.0025, 1.0032, 1.0029, 1.002, 1.001);
39
+ --forte-ease-spring-precise: linear(0, 0.0669, 0.2055, 0.3587, 0.5002, 0.6201, 0.7165, 0.7915, 0.8483, 0.8907, 0.9219, 0.9445, 0.9608, 0.9725, 0.9807, 0.9866, 0.9907, 0.9935, 0.9955, 0.9969, 0.9979, 0.9985, 0.999);
40
+ }
41
+
42
+ :root {
43
+ --forte-motion-ok: 1;
44
+ --forte-motion-off: 0;
45
+
46
+ --forte-duration-instant: 1ms;
47
+ --forte-duration-fast: 160ms;
48
+ --forte-duration-normal: 240ms;
49
+ --forte-duration-slow: 400ms;
50
+ --forte-duration-move: 220ms;
51
+ --forte-duration-loop-spin: 800ms;
52
+ --forte-duration-loop-pulse: 1600ms;
53
+ --forte-duration-loop-sweep: 1400ms;
54
+ --forte-duration-spring-gentle: 700ms;
55
+ --forte-duration-spring-snappy: 400ms;
56
+ --forte-duration-spring-bouncy: 730ms;
57
+ --forte-duration-spring-precise: 410ms;
58
+
59
+ --forte-travel-xs: 2px;
60
+ --forte-travel-sm: 4px;
61
+ --forte-travel-md: 8px;
62
+ --forte-travel-lg: 16px;
63
+ --forte-travel-page: 32px;
64
+ --forte-scale-enter: 0.95;
65
+ --forte-scale-exit: 1.02;
66
+ --forte-scale-press: 0.97;
67
+ --forte-spin-turn: 1turn;
68
+ --forte-pulse-dip: 1;
69
+ }
70
+
71
+ /* The OS preference. Geometry off, durations shortened rather than removed. */
72
+ @media (prefers-reduced-motion: reduce) {
73
+ :root {
74
+ --forte-motion-ok: 0;
75
+ --forte-motion-off: 1;
76
+
77
+ --forte-duration-instant: 1ms;
78
+ --forte-duration-fast: 100ms;
79
+ --forte-duration-normal: 120ms;
80
+ --forte-duration-slow: 150ms;
81
+ --forte-duration-move: 1ms;
82
+ --forte-duration-loop-spin: 800ms;
83
+ --forte-duration-loop-pulse: 1600ms;
84
+ --forte-duration-loop-sweep: 1400ms;
85
+ --forte-duration-spring-gentle: 150ms;
86
+ --forte-duration-spring-snappy: 120ms;
87
+ --forte-duration-spring-bouncy: 150ms;
88
+ --forte-duration-spring-precise: 120ms;
89
+
90
+ --forte-travel-xs: 0px;
91
+ --forte-travel-sm: 0px;
92
+ --forte-travel-md: 0px;
93
+ --forte-travel-lg: 0px;
94
+ --forte-travel-page: 0px;
95
+ --forte-scale-enter: 1;
96
+ --forte-scale-exit: 1;
97
+ --forte-scale-press: 1;
98
+ --forte-spin-turn: 0turn;
99
+ --forte-pulse-dip: 0.45;
100
+ }
101
+ }
102
+
103
+ /* In-page control (SC 2.3.3), and per-subtree scoping for docs demos. */
104
+ :root[data-forte-motion="reduce"],
105
+ [data-forte-motion="reduce"] {
106
+ --forte-motion-ok: 0;
107
+ --forte-motion-off: 1;
108
+
109
+ --forte-duration-instant: 1ms;
110
+ --forte-duration-fast: 100ms;
111
+ --forte-duration-normal: 120ms;
112
+ --forte-duration-slow: 150ms;
113
+ --forte-duration-move: 1ms;
114
+ --forte-duration-loop-spin: 800ms;
115
+ --forte-duration-loop-pulse: 1600ms;
116
+ --forte-duration-loop-sweep: 1400ms;
117
+ --forte-duration-spring-gentle: 150ms;
118
+ --forte-duration-spring-snappy: 120ms;
119
+ --forte-duration-spring-bouncy: 150ms;
120
+ --forte-duration-spring-precise: 120ms;
121
+
122
+ --forte-travel-xs: 0px;
123
+ --forte-travel-sm: 0px;
124
+ --forte-travel-md: 0px;
125
+ --forte-travel-lg: 0px;
126
+ --forte-travel-page: 0px;
127
+ --forte-scale-enter: 1;
128
+ --forte-scale-exit: 1;
129
+ --forte-scale-press: 1;
130
+ --forte-spin-turn: 0turn;
131
+ --forte-pulse-dip: 0.45;
132
+ }
133
+
134
+ :root[data-forte-motion="off"],
135
+ [data-forte-motion="off"] {
136
+ --forte-motion-ok: 0;
137
+ --forte-motion-off: 1;
138
+
139
+ --forte-duration-instant: 1ms;
140
+ --forte-duration-fast: 1ms;
141
+ --forte-duration-normal: 1ms;
142
+ --forte-duration-slow: 1ms;
143
+ --forte-duration-move: 1ms;
144
+ --forte-duration-loop-spin: 800ms;
145
+ --forte-duration-loop-pulse: 1600ms;
146
+ --forte-duration-loop-sweep: 1400ms;
147
+ --forte-duration-spring-gentle: 1ms;
148
+ --forte-duration-spring-snappy: 1ms;
149
+ --forte-duration-spring-bouncy: 1ms;
150
+ --forte-duration-spring-precise: 1ms;
151
+
152
+ --forte-travel-xs: 0px;
153
+ --forte-travel-sm: 0px;
154
+ --forte-travel-md: 0px;
155
+ --forte-travel-lg: 0px;
156
+ --forte-travel-page: 0px;
157
+ --forte-scale-enter: 1;
158
+ --forte-scale-exit: 1;
159
+ --forte-scale-press: 1;
160
+ --forte-spin-turn: 0turn;
161
+ --forte-pulse-dip: 0.45;
162
+ }
163
+
164
+ /* Explicit opt-in — deliberately overrides the OS preference. */
165
+ :root[data-forte-motion="full"],
166
+ [data-forte-motion="full"] {
167
+ --forte-motion-ok: 1;
168
+ --forte-motion-off: 0;
169
+
170
+ --forte-duration-instant: 1ms;
171
+ --forte-duration-fast: 160ms;
172
+ --forte-duration-normal: 240ms;
173
+ --forte-duration-slow: 400ms;
174
+ --forte-duration-move: 220ms;
175
+ --forte-duration-loop-spin: 800ms;
176
+ --forte-duration-loop-pulse: 1600ms;
177
+ --forte-duration-loop-sweep: 1400ms;
178
+ --forte-duration-spring-gentle: 700ms;
179
+ --forte-duration-spring-snappy: 400ms;
180
+ --forte-duration-spring-bouncy: 730ms;
181
+ --forte-duration-spring-precise: 410ms;
182
+
183
+ --forte-travel-xs: 2px;
184
+ --forte-travel-sm: 4px;
185
+ --forte-travel-md: 8px;
186
+ --forte-travel-lg: 16px;
187
+ --forte-travel-page: 32px;
188
+ --forte-scale-enter: 0.95;
189
+ --forte-scale-exit: 1.02;
190
+ --forte-scale-press: 0.97;
191
+ --forte-spin-turn: 1turn;
192
+ --forte-pulse-dip: 1;
193
+ }
194
+ }