@goliapkg/gds 1.7.0 → 2.0.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 (592) hide show
  1. package/dist/{avatar-l3SaMCmU.js → avatar-Ct8OOGx6.js} +5 -5
  2. package/dist/avatar-Ct8OOGx6.js.map +1 -0
  3. package/dist/{badge-DTJq6AXr.js → badge-BCvi5RVF.js} +4 -4
  4. package/dist/badge-BCvi5RVF.js.map +1 -0
  5. package/dist/{button-avu-rQU4.js → button-BD3VHhwq.js} +2 -2
  6. package/dist/button-BD3VHhwq.js.map +1 -0
  7. package/dist/fonts.css +77 -11
  8. package/dist/{gesture-irjS0hVM.js → gesture-I79dlTuS.js} +1 -1
  9. package/dist/gesture-I79dlTuS.js.map +1 -0
  10. package/dist/highlight-BAGZc-4h.js.map +1 -1
  11. package/dist/hooks-BE-_EmDI.js.map +1 -1
  12. package/dist/{icon-button-YatlVZnz.js → icon-button-Bns79124.js} +3 -3
  13. package/dist/icon-button-Bns79124.js.map +1 -0
  14. package/dist/index.d.ts +3 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +29 -29
  17. package/dist/l0-tokens/color-derive.d.ts.map +1 -1
  18. package/dist/l0-tokens/color-health.d.ts.map +1 -1
  19. package/dist/l0-tokens/color-math.d.ts.map +1 -1
  20. package/dist/l0-tokens/deps.d.ts.map +1 -1
  21. package/dist/l0-tokens/font-system.d.ts.map +1 -1
  22. package/dist/l0-tokens/generate-defaults.d.ts.map +1 -1
  23. package/dist/l0-tokens/glass-system.d.ts.map +1 -1
  24. package/dist/l0-tokens/index.d.ts +12 -12
  25. package/dist/l0-tokens/index.d.ts.map +1 -1
  26. package/dist/l0-tokens/index.js +1 -1
  27. package/dist/l0-tokens/motion-system.d.ts +1 -0
  28. package/dist/l0-tokens/motion-system.d.ts.map +1 -1
  29. package/dist/l0-tokens/shadow-system.d.ts.map +1 -1
  30. package/dist/l0-tokens/size-system.d.ts.map +1 -1
  31. package/dist/l0-tokens-DZkyVlac.js.map +1 -1
  32. package/dist/l1-systems/index.d.ts +2 -2
  33. package/dist/l1-systems/index.d.ts.map +1 -1
  34. package/dist/l1-systems/index.js +9 -9
  35. package/dist/l1-systems/theme.d.ts +30 -2
  36. package/dist/l1-systems/theme.d.ts.map +1 -1
  37. package/dist/l1-systems/use-theme.d.ts.map +1 -1
  38. package/dist/l2-primitives/aspect-ratio.d.ts.map +1 -1
  39. package/dist/l2-primitives/badge-dot.d.ts.map +1 -1
  40. package/dist/l2-primitives/badge.d.ts.map +1 -1
  41. package/dist/l2-primitives/button.d.ts.map +1 -1
  42. package/dist/l2-primitives/divider.d.ts.map +1 -1
  43. package/dist/l2-primitives/dot.d.ts.map +1 -1
  44. package/dist/l2-primitives/focus-ring.d.ts +9 -3
  45. package/dist/l2-primitives/focus-ring.d.ts.map +1 -1
  46. package/dist/l2-primitives/glow-effect.d.ts +8 -2
  47. package/dist/l2-primitives/glow-effect.d.ts.map +1 -1
  48. package/dist/l2-primitives/gradient-border.d.ts +8 -2
  49. package/dist/l2-primitives/gradient-border.d.ts.map +1 -1
  50. package/dist/l2-primitives/highlight.d.ts.map +1 -1
  51. package/dist/l2-primitives/index.js +8 -8
  52. package/dist/l2-primitives/input.d.ts +16 -0
  53. package/dist/l2-primitives/input.d.ts.map +1 -1
  54. package/dist/l2-primitives/kbd.d.ts.map +1 -1
  55. package/dist/l2-primitives/label.d.ts.map +1 -1
  56. package/dist/l2-primitives/loading.d.ts +21 -6
  57. package/dist/l2-primitives/loading.d.ts.map +1 -1
  58. package/dist/l2-primitives/number-input.d.ts.map +1 -1
  59. package/dist/l2-primitives/number-stepper.d.ts.map +1 -1
  60. package/dist/l2-primitives/progress.d.ts.map +1 -1
  61. package/dist/l2-primitives/scroll-area.d.ts.map +1 -1
  62. package/dist/l2-primitives/separator.d.ts.map +1 -1
  63. package/dist/l2-primitives/shimmer.d.ts.map +1 -1
  64. package/dist/l2-primitives/skeleton.d.ts.map +1 -1
  65. package/dist/l2-primitives/slider.d.ts.map +1 -1
  66. package/dist/l2-primitives/spinner.d.ts.map +1 -1
  67. package/dist/l2-primitives/truncate.d.ts +8 -2
  68. package/dist/l2-primitives/truncate.d.ts.map +1 -1
  69. package/dist/l2-primitives/visually-hidden.d.ts.map +1 -1
  70. package/dist/{l2-primitives-Le0006ck.js → l2-primitives-Cn0KNxbB.js} +84 -67
  71. package/dist/l2-primitives-Cn0KNxbB.js.map +1 -0
  72. package/dist/l3-atoms/animated-border.d.ts +1 -1
  73. package/dist/l3-atoms/animated-border.d.ts.map +1 -1
  74. package/dist/l3-atoms/animated-counter.d.ts.map +1 -1
  75. package/dist/l3-atoms/animated-number.d.ts.map +1 -1
  76. package/dist/l3-atoms/avatar-badge.d.ts.map +1 -1
  77. package/dist/l3-atoms/avatar.d.ts.map +1 -1
  78. package/dist/l3-atoms/barcode.d.ts.map +1 -1
  79. package/dist/l3-atoms/blinking.d.ts.map +1 -1
  80. package/dist/l3-atoms/bounce-dot.d.ts.map +1 -1
  81. package/dist/l3-atoms/checkbox-group.d.ts.map +1 -1
  82. package/dist/l3-atoms/checkbox.d.ts.map +1 -1
  83. package/dist/l3-atoms/chip.d.ts.map +1 -1
  84. package/dist/l3-atoms/color-swatch.d.ts.map +1 -1
  85. package/dist/l3-atoms/copy-button.d.ts.map +1 -1
  86. package/dist/l3-atoms/count-badge.d.ts.map +1 -1
  87. package/dist/l3-atoms/count-up.d.ts.map +1 -1
  88. package/dist/l3-atoms/countdown-badge.d.ts.map +1 -1
  89. package/dist/l3-atoms/countdown.d.ts.map +1 -1
  90. package/dist/l3-atoms/cursor-follow.d.ts.map +1 -1
  91. package/dist/l3-atoms/diff-indicator.d.ts.map +1 -1
  92. package/dist/l3-atoms/glow-dot.d.ts.map +1 -1
  93. package/dist/l3-atoms/gradient-text.d.ts.map +1 -1
  94. package/dist/l3-atoms/heat-cell.d.ts.map +1 -1
  95. package/dist/l3-atoms/hotkey.d.ts.map +1 -1
  96. package/dist/l3-atoms/index.d.ts +4 -4
  97. package/dist/l3-atoms/index.d.ts.map +1 -1
  98. package/dist/l3-atoms/index.js +6 -6
  99. package/dist/l3-atoms/info-tip.d.ts.map +1 -1
  100. package/dist/l3-atoms/key-value.d.ts.map +1 -1
  101. package/dist/l3-atoms/keyboard-shortcut.d.ts.map +1 -1
  102. package/dist/l3-atoms/live-dot.d.ts.map +1 -1
  103. package/dist/l3-atoms/loading-dots.d.ts.map +1 -1
  104. package/dist/l3-atoms/magnetic-button.d.ts.map +1 -1
  105. package/dist/l3-atoms/marquee.d.ts.map +1 -1
  106. package/dist/l3-atoms/meter.d.ts.map +1 -1
  107. package/dist/l3-atoms/number-flow.d.ts.map +1 -1
  108. package/dist/l3-atoms/online-indicator.d.ts.map +1 -1
  109. package/dist/l3-atoms/orbit.d.ts +1 -1
  110. package/dist/l3-atoms/orbit.d.ts.map +1 -1
  111. package/dist/l3-atoms/percentage-circle.d.ts.map +1 -1
  112. package/dist/l3-atoms/percentage.d.ts.map +1 -1
  113. package/dist/l3-atoms/price.d.ts.map +1 -1
  114. package/dist/l3-atoms/progress-circle.d.ts.map +1 -1
  115. package/dist/l3-atoms/progress-ring.d.ts.map +1 -1
  116. package/dist/l3-atoms/pulse-indicator.d.ts.map +1 -1
  117. package/dist/l3-atoms/pulse-ring.d.ts.map +1 -1
  118. package/dist/l3-atoms/qr-code.d.ts.map +1 -1
  119. package/dist/l3-atoms/quick-action.d.ts.map +1 -1
  120. package/dist/l3-atoms/radio-group.d.ts.map +1 -1
  121. package/dist/l3-atoms/range-slider.d.ts.map +1 -1
  122. package/dist/l3-atoms/rating.d.ts.map +1 -1
  123. package/dist/l3-atoms/ribbon-banner.d.ts.map +1 -1
  124. package/dist/l3-atoms/ribbon.d.ts.map +1 -1
  125. package/dist/l3-atoms/ripple-effect.d.ts.map +1 -1
  126. package/dist/l3-atoms/scroll-to-top.d.ts.map +1 -1
  127. package/dist/l3-atoms/segmented-control.d.ts +1 -1
  128. package/dist/l3-atoms/segmented-control.d.ts.map +1 -1
  129. package/dist/l3-atoms/shortcut-display.d.ts.map +1 -1
  130. package/dist/l3-atoms/skeleton-group.d.ts.map +1 -1
  131. package/dist/l3-atoms/sparkle.d.ts.map +1 -1
  132. package/dist/l3-atoms/stagger.d.ts +1 -1
  133. package/dist/l3-atoms/stagger.d.ts.map +1 -1
  134. package/dist/l3-atoms/star-rating.d.ts.map +1 -1
  135. package/dist/l3-atoms/status-badge.d.ts.map +1 -1
  136. package/dist/l3-atoms/status-dot.d.ts.map +1 -1
  137. package/dist/l3-atoms/switch-group.d.ts.map +1 -1
  138. package/dist/l3-atoms/switch.d.ts.map +1 -1
  139. package/dist/l3-atoms/text-badge.d.ts.map +1 -1
  140. package/dist/l3-atoms/text-effect.d.ts.map +1 -1
  141. package/dist/l3-atoms/textarea-counter.d.ts.map +1 -1
  142. package/dist/l3-atoms/theme-toggle.d.ts.map +1 -1
  143. package/dist/l3-atoms/toggle-group.d.ts.map +1 -1
  144. package/dist/l3-atoms/tooltip.d.ts.map +1 -1
  145. package/dist/l3-atoms/trend-arrow.d.ts.map +1 -1
  146. package/dist/l3-atoms/trend-indicator.d.ts +1 -1
  147. package/dist/l3-atoms/trend-indicator.d.ts.map +1 -1
  148. package/dist/l3-atoms/truncated-list.d.ts.map +1 -1
  149. package/dist/l3-atoms/verified-badge.d.ts.map +1 -1
  150. package/dist/l3-atoms/visual-counter.d.ts.map +1 -1
  151. package/dist/l3-atoms/volume-slider.d.ts +1 -1
  152. package/dist/l3-atoms/volume-slider.d.ts.map +1 -1
  153. package/dist/l3-atoms/zoom-on-hover.d.ts.map +1 -1
  154. package/dist/{l3-atoms-Cvu01YHO.js → l3-atoms-BCJNqPHk.js} +199 -236
  155. package/dist/l3-atoms-BCJNqPHk.js.map +1 -0
  156. package/dist/l4-molecules/accordion.d.ts +2 -2
  157. package/dist/l4-molecules/accordion.d.ts.map +1 -1
  158. package/dist/l4-molecules/action-card.d.ts.map +1 -1
  159. package/dist/l4-molecules/action-menu.d.ts.map +1 -1
  160. package/dist/l4-molecules/activity-log.d.ts.map +1 -1
  161. package/dist/l4-molecules/alert.d.ts.map +1 -1
  162. package/dist/l4-molecules/audit-entry.d.ts.map +1 -1
  163. package/dist/l4-molecules/banner.d.ts.map +1 -1
  164. package/dist/l4-molecules/before-after.d.ts.map +1 -1
  165. package/dist/l4-molecules/breadcrumb.d.ts.map +1 -1
  166. package/dist/l4-molecules/bulk-action-bar.d.ts.map +1 -1
  167. package/dist/l4-molecules/callout.d.ts.map +1 -1
  168. package/dist/l4-molecules/card.d.ts +1 -1
  169. package/dist/l4-molecules/card.d.ts.map +1 -1
  170. package/dist/l4-molecules/category-tag.d.ts.map +1 -1
  171. package/dist/l4-molecules/cert-badge.d.ts.map +1 -1
  172. package/dist/l4-molecules/chip-group.d.ts.map +1 -1
  173. package/dist/l4-molecules/circular-menu.d.ts.map +1 -1
  174. package/dist/l4-molecules/code-block.d.ts.map +1 -1
  175. package/dist/l4-molecules/code-snippet.d.ts.map +1 -1
  176. package/dist/l4-molecules/collapsible.d.ts +1 -1
  177. package/dist/l4-molecules/collapsible.d.ts.map +1 -1
  178. package/dist/l4-molecules/color-picker.d.ts.map +1 -1
  179. package/dist/l4-molecules/combobox-list.d.ts +4 -1
  180. package/dist/l4-molecules/combobox-list.d.ts.map +1 -1
  181. package/dist/l4-molecules/combobox.d.ts +5 -0
  182. package/dist/l4-molecules/combobox.d.ts.map +1 -1
  183. package/dist/l4-molecules/command-bar-float.d.ts.map +1 -1
  184. package/dist/l4-molecules/command-bar.d.ts.map +1 -1
  185. package/dist/l4-molecules/command-menu.d.ts.map +1 -1
  186. package/dist/l4-molecules/comparison-bar.d.ts.map +1 -1
  187. package/dist/l4-molecules/confirm-dialog.d.ts.map +1 -1
  188. package/dist/l4-molecules/context-menu.d.ts +1 -1
  189. package/dist/l4-molecules/context-menu.d.ts.map +1 -1
  190. package/dist/l4-molecules/copy-field.d.ts.map +1 -1
  191. package/dist/l4-molecules/copy-to-clipboard.d.ts.map +1 -1
  192. package/dist/l4-molecules/countdown-timer.d.ts.map +1 -1
  193. package/dist/l4-molecules/currency-display.d.ts.map +1 -1
  194. package/dist/l4-molecules/currency-input.d.ts.map +1 -1
  195. package/dist/l4-molecules/data-card.d.ts.map +1 -1
  196. package/dist/l4-molecules/date-display.d.ts.map +1 -1
  197. package/dist/l4-molecules/date-range-input.d.ts.map +1 -1
  198. package/dist/l4-molecules/description.d.ts.map +1 -1
  199. package/dist/l4-molecules/dialog.d.ts.map +1 -1
  200. package/dist/l4-molecules/dock.d.ts.map +1 -1
  201. package/dist/l4-molecules/download-button.d.ts.map +1 -1
  202. package/dist/l4-molecules/drawer.d.ts.map +1 -1
  203. package/dist/l4-molecules/drop-zone.d.ts.map +1 -1
  204. package/dist/l4-molecules/dropdown.d.ts +1 -1
  205. package/dist/l4-molecules/dropdown.d.ts.map +1 -1
  206. package/dist/l4-molecules/editable.d.ts.map +1 -1
  207. package/dist/l4-molecules/email-composer-field.d.ts +38 -0
  208. package/dist/l4-molecules/email-composer-field.d.ts.map +1 -0
  209. package/dist/l4-molecules/emoji-picker.d.ts.map +1 -1
  210. package/dist/l4-molecules/empty-placeholder.d.ts.map +1 -1
  211. package/dist/l4-molecules/empty-search.d.ts.map +1 -1
  212. package/dist/l4-molecules/environment-badge.d.ts.map +1 -1
  213. package/dist/l4-molecules/feature-flag.d.ts.map +1 -1
  214. package/dist/l4-molecules/field-group.d.ts.map +1 -1
  215. package/dist/l4-molecules/file-upload.d.ts.map +1 -1
  216. package/dist/l4-molecules/filter-bar.d.ts.map +1 -1
  217. package/dist/l4-molecules/flip-card.d.ts.map +1 -1
  218. package/dist/l4-molecules/form-actions.d.ts.map +1 -1
  219. package/dist/l4-molecules/form-field.d.ts.map +1 -1
  220. package/dist/l4-molecules/glass-button.d.ts.map +1 -1
  221. package/dist/l4-molecules/glass-card.d.ts.map +1 -1
  222. package/dist/l4-molecules/glitch-text.d.ts.map +1 -1
  223. package/dist/l4-molecules/hover-card.d.ts.map +1 -1
  224. package/dist/l4-molecules/index.d.ts +11 -5
  225. package/dist/l4-molecules/index.d.ts.map +1 -1
  226. package/dist/l4-molecules/index.js +4 -4
  227. package/dist/l4-molecules/info-row.d.ts.map +1 -1
  228. package/dist/l4-molecules/inline-edit.d.ts.map +1 -1
  229. package/dist/l4-molecules/input-group.d.ts.map +1 -1
  230. package/dist/l4-molecules/input-with-button.d.ts.map +1 -1
  231. package/dist/l4-molecules/key-value-list.d.ts.map +1 -1
  232. package/dist/l4-molecules/kv-table.d.ts.map +1 -1
  233. package/dist/l4-molecules/link-preview.d.ts.map +1 -1
  234. package/dist/l4-molecules/list-item.d.ts.map +1 -1
  235. package/dist/l4-molecules/live-metric.d.ts.map +1 -1
  236. package/dist/l4-molecules/matrix-rain.d.ts.map +1 -1
  237. package/dist/l4-molecules/media-container.d.ts.map +1 -1
  238. package/dist/l4-molecules/media-object.d.ts.map +1 -1
  239. package/dist/l4-molecules/mention-input.d.ts.map +1 -1
  240. package/dist/l4-molecules/mention-list.d.ts +1 -1
  241. package/dist/l4-molecules/mention-list.d.ts.map +1 -1
  242. package/dist/l4-molecules/metric-row.d.ts.map +1 -1
  243. package/dist/l4-molecules/metric-tile.d.ts.map +1 -1
  244. package/dist/l4-molecules/morphing-shape.d.ts.map +1 -1
  245. package/dist/l4-molecules/multi-select-list.d.ts.map +1 -1
  246. package/dist/l4-molecules/multi-select.d.ts.map +1 -1
  247. package/dist/l4-molecules/nav-item.d.ts.map +1 -1
  248. package/dist/l4-molecules/network-status.d.ts.map +1 -1
  249. package/dist/l4-molecules/noise-overlay.d.ts.map +1 -1
  250. package/dist/l4-molecules/notification-bell.d.ts.map +1 -1
  251. package/dist/l4-molecules/notification-dot.d.ts.map +1 -1
  252. package/dist/l4-molecules/notification.d.ts.map +1 -1
  253. package/dist/l4-molecules/num-table.d.ts.map +1 -1
  254. package/dist/l4-molecules/otp-input.d.ts.map +1 -1
  255. package/dist/l4-molecules/overflow-menu.d.ts.map +1 -1
  256. package/dist/l4-molecules/page-nav.d.ts.map +1 -1
  257. package/dist/l4-molecules/pagination.d.ts.map +1 -1
  258. package/dist/l4-molecules/panel.d.ts.map +1 -1
  259. package/dist/l4-molecules/particle-field.d.ts.map +1 -1
  260. package/dist/l4-molecules/password-input.d.ts.map +1 -1
  261. package/dist/l4-molecules/phone-input.d.ts.map +1 -1
  262. package/dist/l4-molecules/pin-input.d.ts.map +1 -1
  263. package/dist/l4-molecules/popover.d.ts.map +1 -1
  264. package/dist/l4-molecules/progress-steps.d.ts.map +1 -1
  265. package/dist/l4-molecules/quick-stat.d.ts.map +1 -1
  266. package/dist/l4-molecules/radio-card.d.ts.map +1 -1
  267. package/dist/l4-molecules/reveal.d.ts.map +1 -1
  268. package/dist/l4-molecules/scoreboard.d.ts.map +1 -1
  269. package/dist/l4-molecules/search-input.d.ts.map +1 -1
  270. package/dist/l4-molecules/select.d.ts.map +1 -1
  271. package/dist/l4-molecules/sheet.d.ts.map +1 -1
  272. package/dist/l4-molecules/slider-field.d.ts.map +1 -1
  273. package/dist/l4-molecules/sortable-header.d.ts.map +1 -1
  274. package/dist/l4-molecules/split-button.d.ts +1 -1
  275. package/dist/l4-molecules/split-button.d.ts.map +1 -1
  276. package/dist/l4-molecules/stacked-progress.d.ts.map +1 -1
  277. package/dist/l4-molecules/stat-comparison.d.ts.map +1 -1
  278. package/dist/l4-molecules/stat-trend.d.ts.map +1 -1
  279. package/dist/l4-molecules/status-bar-component.d.ts.map +1 -1
  280. package/dist/l4-molecules/stepper.d.ts.map +1 -1
  281. package/dist/l4-molecules/tab-group.d.ts +5 -1
  282. package/dist/l4-molecules/tab-group.d.ts.map +1 -1
  283. package/dist/l4-molecules/tabs.d.ts +4 -1
  284. package/dist/l4-molecules/tabs.d.ts.map +1 -1
  285. package/dist/l4-molecules/tag-input.d.ts.map +1 -1
  286. package/dist/l4-molecules/task-item.d.ts.map +1 -1
  287. package/dist/l4-molecules/text-reveal.d.ts.map +1 -1
  288. package/dist/l4-molecules/text-scramble.d.ts.map +1 -1
  289. package/dist/l4-molecules/tilt-card.d.ts.map +1 -1
  290. package/dist/l4-molecules/time-picker-grid.d.ts.map +1 -1
  291. package/dist/l4-molecules/time-picker.d.ts.map +1 -1
  292. package/dist/l4-molecules/timeline-item.d.ts.map +1 -1
  293. package/dist/l4-molecules/toast-provider.d.ts +10 -0
  294. package/dist/l4-molecules/toast-provider.d.ts.map +1 -0
  295. package/dist/l4-molecules/toast-store.d.ts +42 -0
  296. package/dist/l4-molecules/toast-store.d.ts.map +1 -0
  297. package/dist/l4-molecules/toast.d.ts.map +1 -1
  298. package/dist/l4-molecules/toggle-field.d.ts.map +1 -1
  299. package/dist/l4-molecules/toolbar-generic.d.ts.map +1 -1
  300. package/dist/l4-molecules/upload-progress.d.ts.map +1 -1
  301. package/dist/l4-molecules/user-card.d.ts.map +1 -1
  302. package/dist/l4-molecules/user-info.d.ts.map +1 -1
  303. package/dist/l4-molecules/user-menu.d.ts.map +1 -1
  304. package/dist/l4-molecules/version-badge.d.ts.map +1 -1
  305. package/dist/l4-molecules/watermark.d.ts.map +1 -1
  306. package/dist/l4-molecules/wizard.d.ts.map +1 -1
  307. package/dist/{l4-molecules-CSmApFmt.js → l4-molecules-DtNnQaFU.js} +1703 -1517
  308. package/dist/l4-molecules-DtNnQaFU.js.map +1 -0
  309. package/dist/l5-organisms/activity-feed.d.ts.map +1 -1
  310. package/dist/l5-organisms/animate-presence.d.ts.map +1 -1
  311. package/dist/l5-organisms/audio-player.d.ts.map +1 -1
  312. package/dist/l5-organisms/audit-log.d.ts.map +1 -1
  313. package/dist/l5-organisms/avatar-list.d.ts.map +1 -1
  314. package/dist/l5-organisms/calendar-utils.d.ts.map +1 -1
  315. package/dist/l5-organisms/calendar.d.ts.map +1 -1
  316. package/dist/l5-organisms/carousel.d.ts.map +1 -1
  317. package/dist/l5-organisms/changelog.d.ts.map +1 -1
  318. package/dist/l5-organisms/command-palette-list.d.ts +3 -1
  319. package/dist/l5-organisms/command-palette-list.d.ts.map +1 -1
  320. package/dist/l5-organisms/command-palette.d.ts +10 -1
  321. package/dist/l5-organisms/command-palette.d.ts.map +1 -1
  322. package/dist/l5-organisms/comment-thread.d.ts.map +1 -1
  323. package/dist/l5-organisms/confetti.d.ts.map +1 -1
  324. package/dist/l5-organisms/contact-card.d.ts.map +1 -1
  325. package/dist/l5-organisms/container-list.d.ts.map +1 -1
  326. package/dist/l5-organisms/cookie-banner.d.ts.map +1 -1
  327. package/dist/l5-organisms/cron-schedule.d.ts.map +1 -1
  328. package/dist/l5-organisms/data-grid.d.ts.map +1 -1
  329. package/dist/l5-organisms/data-list.d.ts.map +1 -1
  330. package/dist/l5-organisms/data-table/data-table-body.d.ts.map +1 -1
  331. package/dist/l5-organisms/data-table/data-table-head.d.ts.map +1 -1
  332. package/dist/l5-organisms/data-table/data-table-pagination.d.ts.map +1 -1
  333. package/dist/l5-organisms/data-table/data-table-toolbar.d.ts.map +1 -1
  334. package/dist/l5-organisms/data-table/data-table-types.d.ts +1 -1
  335. package/dist/l5-organisms/data-table/data-table-types.d.ts.map +1 -1
  336. package/dist/l5-organisms/data-table/data-table.d.ts.map +1 -1
  337. package/dist/l5-organisms/data-table/index.d.ts +1 -1
  338. package/dist/l5-organisms/data-table/index.d.ts.map +1 -1
  339. package/dist/l5-organisms/date-picker.d.ts.map +1 -1
  340. package/dist/l5-organisms/deploy-log.d.ts.map +1 -1
  341. package/dist/l5-organisms/description-list.d.ts.map +1 -1
  342. package/dist/l5-organisms/diff-algorithm.d.ts.map +1 -1
  343. package/dist/l5-organisms/diff-viewer.d.ts.map +1 -1
  344. package/dist/l5-organisms/email-composer.d.ts +118 -0
  345. package/dist/l5-organisms/email-composer.d.ts.map +1 -0
  346. package/dist/l5-organisms/email-list-item.d.ts.map +1 -1
  347. package/dist/l5-organisms/email-thread.d.ts +85 -0
  348. package/dist/l5-organisms/email-thread.d.ts.map +1 -0
  349. package/dist/l5-organisms/embed.d.ts.map +1 -1
  350. package/dist/l5-organisms/employee-card.d.ts.map +1 -1
  351. package/dist/l5-organisms/error-boundary.d.ts.map +1 -1
  352. package/dist/l5-organisms/file-browser.d.ts.map +1 -1
  353. package/dist/l5-organisms/file-card.d.ts.map +1 -1
  354. package/dist/l5-organisms/form-builder.d.ts.map +1 -1
  355. package/dist/l5-organisms/gantt-chart/gantt-chart-utils.d.ts.map +1 -1
  356. package/dist/l5-organisms/gantt-chart/gantt-chart.d.ts.map +1 -1
  357. package/dist/l5-organisms/gantt-chart/index.d.ts +1 -1
  358. package/dist/l5-organisms/gantt-chart/index.d.ts.map +1 -1
  359. package/dist/l5-organisms/heatmap-table.d.ts.map +1 -1
  360. package/dist/l5-organisms/image-preview.d.ts.map +1 -1
  361. package/dist/l5-organisms/index.d.ts +18 -12
  362. package/dist/l5-organisms/index.d.ts.map +1 -1
  363. package/dist/l5-organisms/index.js +2 -2
  364. package/dist/l5-organisms/infinite-scroll.d.ts.map +1 -1
  365. package/dist/l5-organisms/json-node.d.ts +1 -1
  366. package/dist/l5-organisms/json-node.d.ts.map +1 -1
  367. package/dist/l5-organisms/kanban.d.ts +2 -2
  368. package/dist/l5-organisms/kanban.d.ts.map +1 -1
  369. package/dist/l5-organisms/markdown-editor.d.ts.map +1 -1
  370. package/dist/l5-organisms/markdown-parser.d.ts.map +1 -1
  371. package/dist/l5-organisms/markdown-preview.d.ts +6 -0
  372. package/dist/l5-organisms/markdown-preview.d.ts.map +1 -1
  373. package/dist/l5-organisms/notification-center.d.ts.map +1 -1
  374. package/dist/l5-organisms/notification-toast.d.ts.map +1 -1
  375. package/dist/l5-organisms/parallax.d.ts.map +1 -1
  376. package/dist/l5-organisms/payslip-card.d.ts.map +1 -1
  377. package/dist/l5-organisms/permission-matrix.d.ts.map +1 -1
  378. package/dist/l5-organisms/progress-timeline.d.ts.map +1 -1
  379. package/dist/l5-organisms/property-editor.d.ts.map +1 -1
  380. package/dist/l5-organisms/quick-links.d.ts.map +1 -1
  381. package/dist/l5-organisms/recent-activity.d.ts.map +1 -1
  382. package/dist/l5-organisms/responsive-stack.d.ts.map +1 -1
  383. package/dist/l5-organisms/responsive-table.d.ts.map +1 -1
  384. package/dist/l5-organisms/rich-select-list.d.ts +1 -1
  385. package/dist/l5-organisms/rich-select-list.d.ts.map +1 -1
  386. package/dist/l5-organisms/rich-select.d.ts.map +1 -1
  387. package/dist/l5-organisms/rich-text-editor.d.ts +56 -0
  388. package/dist/l5-organisms/rich-text-editor.d.ts.map +1 -0
  389. package/dist/l5-organisms/search-results.d.ts.map +1 -1
  390. package/dist/l5-organisms/service-card.d.ts.map +1 -1
  391. package/dist/l5-organisms/signature-drawing.d.ts +1 -1
  392. package/dist/l5-organisms/signature-drawing.d.ts.map +1 -1
  393. package/dist/l5-organisms/signature-pad.d.ts.map +1 -1
  394. package/dist/l5-organisms/sortable-table.d.ts.map +1 -1
  395. package/dist/l5-organisms/spotlight.d.ts.map +1 -1
  396. package/dist/l5-organisms/stacked-list.d.ts.map +1 -1
  397. package/dist/l5-organisms/step-form.d.ts.map +1 -1
  398. package/dist/l5-organisms/system-health.d.ts.map +1 -1
  399. package/dist/l5-organisms/table.d.ts.map +1 -1
  400. package/dist/l5-organisms/task-board.d.ts.map +1 -1
  401. package/dist/l5-organisms/timeline.d.ts +1 -1
  402. package/dist/l5-organisms/timeline.d.ts.map +1 -1
  403. package/dist/l5-organisms/tour.d.ts.map +1 -1
  404. package/dist/l5-organisms/transaction-list.d.ts.map +1 -1
  405. package/dist/l5-organisms/tree.d.ts.map +1 -1
  406. package/dist/l5-organisms/video-controls.d.ts.map +1 -1
  407. package/dist/l5-organisms/video-player.d.ts.map +1 -1
  408. package/dist/l5-organisms/virtual-list.d.ts.map +1 -1
  409. package/dist/l5-organisms/weather-widget.d.ts.map +1 -1
  410. package/dist/l5-organisms-Bu2Z8LSj.js +6147 -0
  411. package/dist/l5-organisms-Bu2Z8LSj.js.map +1 -0
  412. package/dist/l6-charts/annotated-chart.d.ts +1 -1
  413. package/dist/l6-charts/annotated-chart.d.ts.map +1 -1
  414. package/dist/l6-charts/area-chart.d.ts.map +1 -1
  415. package/dist/l6-charts/bar-chart.d.ts.map +1 -1
  416. package/dist/l6-charts/box-plot.d.ts.map +1 -1
  417. package/dist/l6-charts/bullet-chart.d.ts.map +1 -1
  418. package/dist/l6-charts/bump-chart.d.ts.map +1 -1
  419. package/dist/l6-charts/calendar-heatmap.d.ts.map +1 -1
  420. package/dist/l6-charts/candlestick-chart.d.ts.map +1 -1
  421. package/dist/l6-charts/chord-diagram.d.ts.map +1 -1
  422. package/dist/l6-charts/chord-math.d.ts.map +1 -1
  423. package/dist/l6-charts/choropleth-map.d.ts +1 -1
  424. package/dist/l6-charts/choropleth-map.d.ts.map +1 -1
  425. package/dist/l6-charts/combo-chart.d.ts.map +1 -1
  426. package/dist/l6-charts/donut-gauge.d.ts.map +1 -1
  427. package/dist/l6-charts/flame-chart.d.ts.map +1 -1
  428. package/dist/l6-charts/flow-chart.d.ts.map +1 -1
  429. package/dist/l6-charts/funnel-chart.d.ts.map +1 -1
  430. package/dist/l6-charts/gauge.d.ts.map +1 -1
  431. package/dist/l6-charts/heatmap-chart.d.ts.map +1 -1
  432. package/dist/l6-charts/heatmap-utils.d.ts.map +1 -1
  433. package/dist/l6-charts/histogram.d.ts.map +1 -1
  434. package/dist/l6-charts/index.d.ts +1 -1
  435. package/dist/l6-charts/index.d.ts.map +1 -1
  436. package/dist/l6-charts/index.js +1 -1
  437. package/dist/l6-charts/line-chart.d.ts.map +1 -1
  438. package/dist/l6-charts/network-graph.d.ts.map +1 -1
  439. package/dist/l6-charts/order-book-chart.d.ts.map +1 -1
  440. package/dist/l6-charts/pie-chart.d.ts.map +1 -1
  441. package/dist/l6-charts/polar-area-chart.d.ts +1 -1
  442. package/dist/l6-charts/polar-area-chart.d.ts.map +1 -1
  443. package/dist/l6-charts/radar-chart.d.ts.map +1 -1
  444. package/dist/l6-charts/radial-bar-chart.d.ts.map +1 -1
  445. package/dist/l6-charts/realtime-chart.d.ts.map +1 -1
  446. package/dist/l6-charts/sankey-chart.d.ts.map +1 -1
  447. package/dist/l6-charts/scatter-chart.d.ts.map +1 -1
  448. package/dist/l6-charts/sparkline.d.ts.map +1 -1
  449. package/dist/l6-charts/stock-ticker.d.ts.map +1 -1
  450. package/dist/l6-charts/stream-chart.d.ts.map +1 -1
  451. package/dist/l6-charts/sunburst-chart.d.ts.map +1 -1
  452. package/dist/l6-charts/sunburst-math.d.ts.map +1 -1
  453. package/dist/l6-charts/timeline-chart.d.ts.map +1 -1
  454. package/dist/l6-charts/treemap-chart.d.ts.map +1 -1
  455. package/dist/l6-charts/violin-plot.d.ts.map +1 -1
  456. package/dist/l6-charts/waffle-chart.d.ts.map +1 -1
  457. package/dist/l6-charts/waterfall-chart.d.ts.map +1 -1
  458. package/dist/l6-charts/word-cloud.d.ts.map +1 -1
  459. package/dist/{l6-charts-DPMj1m0E.js → l6-charts-ngP5gbBh.js} +51 -51
  460. package/dist/l6-charts-ngP5gbBh.js.map +1 -0
  461. package/dist/l7-patterns/admin-layout.d.ts +6 -0
  462. package/dist/l7-patterns/admin-layout.d.ts.map +1 -1
  463. package/dist/l7-patterns/analytics-dashboard.d.ts.map +1 -1
  464. package/dist/l7-patterns/app-shell.d.ts +44 -0
  465. package/dist/l7-patterns/app-shell.d.ts.map +1 -0
  466. package/dist/l7-patterns/bento-grid.d.ts.map +1 -1
  467. package/dist/l7-patterns/calendar-view.d.ts.map +1 -1
  468. package/dist/l7-patterns/comparison-table.d.ts.map +1 -1
  469. package/dist/l7-patterns/composition-pattern.d.ts.map +1 -1
  470. package/dist/l7-patterns/cta-banner.d.ts.map +1 -1
  471. package/dist/l7-patterns/dashboard-layout.d.ts.map +1 -1
  472. package/dist/l7-patterns/data-export-card.d.ts.map +1 -1
  473. package/dist/l7-patterns/devops-layout.d.ts.map +1 -1
  474. package/dist/l7-patterns/empty-state.d.ts.map +1 -1
  475. package/dist/l7-patterns/faq.d.ts.map +1 -1
  476. package/dist/l7-patterns/feature-card.d.ts.map +1 -1
  477. package/dist/l7-patterns/footer.d.ts.map +1 -1
  478. package/dist/l7-patterns/form-layout.d.ts.map +1 -1
  479. package/dist/l7-patterns/form-pattern.d.ts.map +1 -1
  480. package/dist/l7-patterns/glass-panel.d.ts.map +1 -1
  481. package/dist/l7-patterns/grid-layout.d.ts.map +1 -1
  482. package/dist/l7-patterns/hero.d.ts.map +1 -1
  483. package/dist/l7-patterns/hr-dashboard.d.ts.map +1 -1
  484. package/dist/l7-patterns/inbox-layout.d.ts +50 -3
  485. package/dist/l7-patterns/inbox-layout.d.ts.map +1 -1
  486. package/dist/l7-patterns/index.d.ts +8 -4
  487. package/dist/l7-patterns/index.d.ts.map +1 -1
  488. package/dist/l7-patterns/index.js +2 -2
  489. package/dist/l7-patterns/kpi-dashboard.d.ts.map +1 -1
  490. package/dist/l7-patterns/loading-states.d.ts.map +1 -1
  491. package/dist/l7-patterns/login-form.d.ts.map +1 -1
  492. package/dist/l7-patterns/mail-composer.d.ts.map +1 -1
  493. package/dist/l7-patterns/masonry.d.ts.map +1 -1
  494. package/dist/l7-patterns/media-grid.d.ts.map +1 -1
  495. package/dist/l7-patterns/metric-card.d.ts.map +1 -1
  496. package/dist/l7-patterns/nav-bar.d.ts.map +1 -1
  497. package/dist/l7-patterns/notification-list.d.ts.map +1 -1
  498. package/dist/l7-patterns/onboarding-card.d.ts.map +1 -1
  499. package/dist/l7-patterns/page-header.d.ts.map +1 -1
  500. package/dist/l7-patterns/panel-group.d.ts +42 -0
  501. package/dist/l7-patterns/panel-group.d.ts.map +1 -0
  502. package/dist/l7-patterns/payroll-dashboard.d.ts.map +1 -1
  503. package/dist/l7-patterns/pricing-card.d.ts.map +1 -1
  504. package/dist/l7-patterns/profile-card.d.ts.map +1 -1
  505. package/dist/l7-patterns/project-dashboard.d.ts.map +1 -1
  506. package/dist/l7-patterns/responsive-container.d.ts.map +1 -1
  507. package/dist/l7-patterns/server-overview.d.ts.map +1 -1
  508. package/dist/l7-patterns/settings-layout.d.ts +6 -1
  509. package/dist/l7-patterns/settings-layout.d.ts.map +1 -1
  510. package/dist/l7-patterns/sidebar.d.ts +14 -0
  511. package/dist/l7-patterns/sidebar.d.ts.map +1 -1
  512. package/dist/l7-patterns/skeleton-pattern.d.ts.map +1 -1
  513. package/dist/l7-patterns/splash-screen.d.ts.map +1 -1
  514. package/dist/l7-patterns/split-view.d.ts.map +1 -1
  515. package/dist/l7-patterns/stat.d.ts.map +1 -1
  516. package/dist/l7-patterns/stats-card.d.ts.map +1 -1
  517. package/dist/l7-patterns/status-page.d.ts.map +1 -1
  518. package/dist/l7-patterns/stepper-form.d.ts.map +1 -1
  519. package/dist/l7-patterns/sticky-header.d.ts.map +1 -1
  520. package/dist/l7-patterns/testimonial.d.ts.map +1 -1
  521. package/dist/l7-patterns/timeline-steps.d.ts.map +1 -1
  522. package/dist/l7-patterns/toolbar.d.ts.map +1 -1
  523. package/dist/l7-patterns/wizard-layout.d.ts.map +1 -1
  524. package/dist/l7-patterns-CwonNW9o.js +2272 -0
  525. package/dist/l7-patterns-CwonNW9o.js.map +1 -0
  526. package/dist/loading-dots-C1LPHGa0.js +62 -0
  527. package/dist/loading-dots-C1LPHGa0.js.map +1 -0
  528. package/dist/motion-DUPegem-.js.map +1 -1
  529. package/dist/portal-Bbl6F_Wj.js.map +1 -1
  530. package/dist/{progress-wAKN3Czz.js → progress-dZIQEiTw.js} +5 -5
  531. package/dist/progress-dZIQEiTw.js.map +1 -0
  532. package/dist/{resize-handle-ilSc7QRM.js → resize-handle-BjSNhgJK.js} +5 -5
  533. package/dist/resize-handle-BjSNhgJK.js.map +1 -0
  534. package/dist/sanitize-BF45M9xp.js +33 -0
  535. package/dist/sanitize-BF45M9xp.js.map +1 -0
  536. package/dist/{scales-B23Guac-.js → scales-DlVrSOA2.js} +98 -96
  537. package/dist/scales-DlVrSOA2.js.map +1 -0
  538. package/dist/{separator-Dqs23A9D.js → separator-CRll1Ycp.js} +5 -5
  539. package/dist/separator-CRll1Ycp.js.map +1 -0
  540. package/dist/skeleton-C9FFZSYN.js.map +1 -1
  541. package/dist/spinner-C15eER04.js +201 -0
  542. package/dist/spinner-C15eER04.js.map +1 -0
  543. package/dist/stepper-DJ8pn-9D.js +199 -0
  544. package/dist/stepper-DJ8pn-9D.js.map +1 -0
  545. package/dist/{switch-DC85Os9r.js → switch-BAS-GXJV.js} +6 -6
  546. package/dist/switch-BAS-GXJV.js.map +1 -0
  547. package/dist/{textarea-BJCl_aH2.js → textarea-Btdu41rY.js} +4 -4
  548. package/dist/textarea-Btdu41rY.js.map +1 -0
  549. package/dist/toast-QxCZG0Oy.js +614 -0
  550. package/dist/toast-QxCZG0Oy.js.map +1 -0
  551. package/dist/tokens.css +466 -101
  552. package/dist/{use-theme-CONuDdW3.js → use-theme-D_THp_K2.js} +87 -66
  553. package/dist/use-theme-D_THp_K2.js.map +1 -0
  554. package/dist/utils/gesture.d.ts.map +1 -1
  555. package/dist/utils/hooks.d.ts.map +1 -1
  556. package/dist/utils/index.d.ts +2 -0
  557. package/dist/utils/index.d.ts.map +1 -1
  558. package/dist/utils/index.js +3 -2
  559. package/dist/utils/sanitize.d.ts +7 -0
  560. package/dist/utils/sanitize.d.ts.map +1 -0
  561. package/dist/utils/tiptap.d.ts +12 -0
  562. package/dist/utils/tiptap.d.ts.map +1 -0
  563. package/dist/utils/types.d.ts.map +1 -1
  564. package/package.json +80 -14
  565. package/dist/avatar-l3SaMCmU.js.map +0 -1
  566. package/dist/badge-DTJq6AXr.js.map +0 -1
  567. package/dist/button-avu-rQU4.js.map +0 -1
  568. package/dist/gesture-irjS0hVM.js.map +0 -1
  569. package/dist/icon-button-YatlVZnz.js.map +0 -1
  570. package/dist/l2-primitives-Le0006ck.js.map +0 -1
  571. package/dist/l3-atoms-Cvu01YHO.js.map +0 -1
  572. package/dist/l4-molecules-CSmApFmt.js.map +0 -1
  573. package/dist/l5-organisms-Css3AvsZ.js +0 -4955
  574. package/dist/l5-organisms-Css3AvsZ.js.map +0 -1
  575. package/dist/l6-charts-DPMj1m0E.js.map +0 -1
  576. package/dist/l7-patterns-8fc4b3eE.js +0 -1969
  577. package/dist/l7-patterns-8fc4b3eE.js.map +0 -1
  578. package/dist/loading-dots-fB4X_Zh0.js +0 -24
  579. package/dist/loading-dots-fB4X_Zh0.js.map +0 -1
  580. package/dist/progress-wAKN3Czz.js.map +0 -1
  581. package/dist/resize-handle-ilSc7QRM.js.map +0 -1
  582. package/dist/scales-B23Guac-.js.map +0 -1
  583. package/dist/separator-Dqs23A9D.js.map +0 -1
  584. package/dist/spinner-N7UNjdsQ.js +0 -144
  585. package/dist/spinner-N7UNjdsQ.js.map +0 -1
  586. package/dist/stepper-DWJfv7TA.js +0 -140
  587. package/dist/stepper-DWJfv7TA.js.map +0 -1
  588. package/dist/switch-DC85Os9r.js.map +0 -1
  589. package/dist/textarea-BJCl_aH2.js.map +0 -1
  590. package/dist/toast-DN5xANLM.js +0 -442
  591. package/dist/toast-DN5xANLM.js.map +0 -1
  592. package/dist/use-theme-CONuDdW3.js.map +0 -1
@@ -1,442 +0,0 @@
1
- import { r as e, t } from "./glass-CQTlX7IO.js";
2
- import { r as n } from "./motion-DUPegem-.js";
3
- import { forwardRef as r, useCallback as i, useState as a } from "react";
4
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
- //#region src/l4-molecules/audit-entry.tsx
6
- var c = {
7
- default: "text-fg",
8
- success: "text-success",
9
- warning: "text-warning",
10
- danger: "text-danger"
11
- }, l = r(function({ action: t, className: n, target: r, timestamp: i, user: a, variant: l = "default", ...u }, d) {
12
- return /* @__PURE__ */ s("div", {
13
- className: e("flex items-center justify-between gds-gap gds-text", n),
14
- "data-component": "audit-entry",
15
- ref: d,
16
- ...u,
17
- children: [/* @__PURE__ */ o("span", {
18
- className: "shrink-0 text-xs text-fg-muted",
19
- children: i
20
- }), /* @__PURE__ */ s("span", {
21
- className: "flex-1 truncate",
22
- children: [
23
- /* @__PURE__ */ o("span", {
24
- className: "font-medium text-fg",
25
- children: a
26
- }),
27
- " ",
28
- /* @__PURE__ */ o("span", {
29
- className: c[l],
30
- children: t
31
- }),
32
- r !== void 0 && /* @__PURE__ */ s("span", {
33
- className: "text-fg-muted",
34
- children: [" ", r]
35
- })
36
- ]
37
- })]
38
- });
39
- }), u = /* @__PURE__ */ o("svg", {
40
- width: "14",
41
- height: "14",
42
- viewBox: "0 0 14 14",
43
- fill: "none",
44
- stroke: "currentColor",
45
- strokeWidth: "2",
46
- strokeLinecap: "round",
47
- strokeLinejoin: "round",
48
- children: /* @__PURE__ */ o("path", { d: "M2.5 7.5l3 3 6-6.5" })
49
- }), d = /* @__PURE__ */ o("svg", {
50
- width: "14",
51
- height: "14",
52
- viewBox: "0 0 14 14",
53
- fill: "none",
54
- stroke: "currentColor",
55
- strokeWidth: "2",
56
- strokeLinecap: "round",
57
- children: /* @__PURE__ */ o("path", { d: "M3 3l8 8M11 3l-8 8" })
58
- }), f = /* @__PURE__ */ o("svg", {
59
- width: "12",
60
- height: "12",
61
- viewBox: "0 0 12 12",
62
- fill: "none",
63
- stroke: "currentColor",
64
- strokeWidth: "1.5",
65
- strokeLinecap: "round",
66
- strokeLinejoin: "round",
67
- children: /* @__PURE__ */ o("path", { d: "M7 2l3 3-7 7H0V9z" })
68
- }), p = r(function({ value: t, onSave: r, onCancel: c, validate: l, placeholder: p = "Click to edit", disabled: m, className: h }, g) {
69
- let [_, v] = a(!1), [y, b] = a(t), [x, S] = a(null), C = i(() => {
70
- m !== !0 && (b(t), S(null), v(!0));
71
- }, [m, t]), w = i(() => {
72
- if (l !== void 0) {
73
- let e = l(y);
74
- if (e !== null) {
75
- S(e);
76
- return;
77
- }
78
- }
79
- v(!1), S(null), r(y);
80
- }, [
81
- y,
82
- r,
83
- l
84
- ]), T = i(() => {
85
- v(!1), b(t), S(null), c !== void 0 && c();
86
- }, [c, t]), E = i((e) => {
87
- e.key === "Enter" && w(), e.key === "Escape" && T();
88
- }, [w, T]);
89
- if (_) return /* @__PURE__ */ s("div", {
90
- ref: g,
91
- className: e("inline-flex flex-col", h),
92
- "data-component": "inline-edit",
93
- "data-state": "editing",
94
- children: [/* @__PURE__ */ s("div", {
95
- className: "flex items-center gap-1",
96
- children: [
97
- /* @__PURE__ */ o("input", {
98
- autoFocus: !0,
99
- className: e("bg-transparent gds-text-body text-fg outline-none border-b border-accent/50 px-0.5", x !== null && "border-danger/50", n),
100
- onChange: (e) => {
101
- b(e.target.value), S(null);
102
- },
103
- onKeyDown: E,
104
- type: "text",
105
- value: y
106
- }),
107
- /* @__PURE__ */ o("button", {
108
- type: "button",
109
- onClick: w,
110
- className: e("shrink-0 p-0.5 text-success hover:text-success/80", n),
111
- "aria-label": "Save",
112
- children: u
113
- }),
114
- /* @__PURE__ */ o("button", {
115
- type: "button",
116
- onClick: T,
117
- className: e("shrink-0 p-0.5 text-fg-muted hover:text-fg", n),
118
- "aria-label": "Cancel",
119
- children: d
120
- })
121
- ]
122
- }), x !== null && /* @__PURE__ */ o("span", {
123
- className: "mt-0.5 text-[10px] text-danger",
124
- children: x
125
- })]
126
- });
127
- let D = t === "";
128
- return /* @__PURE__ */ s("div", {
129
- ref: g,
130
- className: e("group inline-flex cursor-pointer items-center gap-1", m === !0 && "pointer-events-none opacity-50", h),
131
- "data-component": "inline-edit",
132
- "data-state": "display",
133
- onClick: C,
134
- onKeyDown: (e) => {
135
- (e.key === "Enter" || e.key === " ") && C();
136
- },
137
- role: "button",
138
- tabIndex: m === !0 ? -1 : 0,
139
- children: [/* @__PURE__ */ o("span", {
140
- className: e("gds-text-body", D ? "text-fg-muted" : "text-fg", n),
141
- children: D ? p : t
142
- }), /* @__PURE__ */ o("span", {
143
- className: "text-fg-muted/0 transition-colors group-hover:text-fg-muted/60",
144
- children: f
145
- })]
146
- });
147
- }), m = r(function({ icon: t, title: n, description: r, trailing: i, onClick: a, active: c, disabled: l, className: u }, d) {
148
- let f = a !== void 0 && l !== !0;
149
- return /* @__PURE__ */ s("div", {
150
- ref: d,
151
- role: f ? "button" : void 0,
152
- tabIndex: f ? 0 : void 0,
153
- onClick: f ? a : void 0,
154
- onKeyDown: f ? (e) => {
155
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), a());
156
- } : void 0,
157
- className: e("flex items-center gap-3 gds-pad-x gds-pad-y-sm gds-text-body select-none", f && "cursor-pointer hover:bg-bg-tertiary", c === !0 && "border-l-2 border-l-accent bg-accent/5", l === !0 && "pointer-events-none opacity-50", u),
158
- "data-component": "list-item",
159
- "data-state": c === !0 ? "active" : void 0,
160
- children: [
161
- t !== void 0 && /* @__PURE__ */ o("span", {
162
- className: "shrink-0 text-fg-muted",
163
- children: t
164
- }),
165
- /* @__PURE__ */ s("div", {
166
- className: "min-w-0 flex-1",
167
- children: [/* @__PURE__ */ o("div", {
168
- className: "font-medium text-fg",
169
- children: n
170
- }), r !== void 0 && /* @__PURE__ */ o("div", {
171
- className: "mt-0.5 text-fg-muted gds-text-caption",
172
- children: r
173
- })]
174
- }),
175
- i !== void 0 && /* @__PURE__ */ o("span", {
176
- className: "shrink-0",
177
- children: i
178
- })
179
- ]
180
- });
181
- }), h = {
182
- info: "border-l-accent",
183
- success: "border-l-success",
184
- warning: "border-l-warning",
185
- danger: "border-l-danger"
186
- }, g = {
187
- info: "bg-accent/5",
188
- success: "bg-success/5",
189
- warning: "bg-warning/5",
190
- danger: "bg-danger/5"
191
- }, _ = {
192
- info: "text-accent",
193
- success: "text-success",
194
- warning: "text-warning",
195
- danger: "text-danger"
196
- }, v = {
197
- info: /* @__PURE__ */ s("svg", {
198
- width: "16",
199
- height: "16",
200
- viewBox: "0 0 16 16",
201
- fill: "none",
202
- stroke: "currentColor",
203
- strokeWidth: "1.5",
204
- strokeLinecap: "round",
205
- children: [/* @__PURE__ */ o("circle", {
206
- cx: "8",
207
- cy: "8",
208
- r: "6.5"
209
- }), /* @__PURE__ */ o("path", { d: "M8 5.5h.01M8 7.5v3" })]
210
- }),
211
- success: /* @__PURE__ */ s("svg", {
212
- width: "16",
213
- height: "16",
214
- viewBox: "0 0 16 16",
215
- fill: "none",
216
- stroke: "currentColor",
217
- strokeWidth: "1.5",
218
- strokeLinecap: "round",
219
- strokeLinejoin: "round",
220
- children: [/* @__PURE__ */ o("circle", {
221
- cx: "8",
222
- cy: "8",
223
- r: "6.5"
224
- }), /* @__PURE__ */ o("path", { d: "M5.5 8l2 2 3-3.5" })]
225
- }),
226
- warning: /* @__PURE__ */ s("svg", {
227
- width: "16",
228
- height: "16",
229
- viewBox: "0 0 16 16",
230
- fill: "none",
231
- stroke: "currentColor",
232
- strokeWidth: "1.5",
233
- strokeLinecap: "round",
234
- children: [/* @__PURE__ */ o("path", { d: "M7.13 2.5l-5.5 10h11l-5.5-10z" }), /* @__PURE__ */ o("path", { d: "M7.63 6.5v2.5M7.63 11h.01" })]
235
- }),
236
- danger: /* @__PURE__ */ s("svg", {
237
- width: "16",
238
- height: "16",
239
- viewBox: "0 0 16 16",
240
- fill: "none",
241
- stroke: "currentColor",
242
- strokeWidth: "1.5",
243
- strokeLinecap: "round",
244
- children: [/* @__PURE__ */ o("circle", {
245
- cx: "8",
246
- cy: "8",
247
- r: "6.5"
248
- }), /* @__PURE__ */ o("path", { d: "M5.5 5.5l5 5M10.5 5.5l-5 5" })]
249
- })
250
- }, y = r(function({ title: n, description: r, variant: i = "info", action: a, onClose: c, glass: l, className: u, ...d }, f) {
251
- let p = i ?? "info";
252
- return /* @__PURE__ */ s("div", {
253
- ref: f,
254
- className: e("flex w-full items-start gds-gap gds-radius-popover border border-border border-l-2 gds-pad-x gds-pad-y", h[p], g[p], l === !0 && t(l), u),
255
- "data-component": "notification",
256
- "data-variant": p,
257
- role: "alert",
258
- ...d,
259
- children: [
260
- /* @__PURE__ */ o("span", {
261
- className: e("mt-px shrink-0", _[p]),
262
- children: v[p]
263
- }),
264
- /* @__PURE__ */ s("div", {
265
- className: "min-w-0 flex-1",
266
- children: [/* @__PURE__ */ o("p", {
267
- className: "gds-text-body font-medium text-fg",
268
- children: n
269
- }), r !== void 0 && /* @__PURE__ */ o("p", {
270
- className: "mt-0.5 gds-text-label text-fg-muted",
271
- children: r
272
- })]
273
- }),
274
- a !== void 0 && /* @__PURE__ */ o("div", {
275
- className: "shrink-0",
276
- children: a
277
- }),
278
- c !== void 0 && /* @__PURE__ */ o("button", {
279
- type: "button",
280
- onClick: c,
281
- className: e("shrink-0 gds-radius-button p-0.5 text-fg-muted opacity-60 hover:opacity-100", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-bg"),
282
- "aria-label": "Dismiss",
283
- children: /* @__PURE__ */ o("svg", {
284
- width: "12",
285
- height: "12",
286
- viewBox: "0 0 12 12",
287
- fill: "none",
288
- stroke: "currentColor",
289
- strokeWidth: "2",
290
- strokeLinecap: "round",
291
- children: /* @__PURE__ */ o("path", { d: "M2 2l8 8M10 2l-8 8" })
292
- })
293
- })
294
- ]
295
- });
296
- }), b = {
297
- low: "bg-success/15 text-success",
298
- medium: "bg-warning/15 text-warning",
299
- high: "bg-danger/15 text-danger",
300
- critical: "bg-danger text-white"
301
- }, x = r(function({ className: t, completed: n = !1, dueDate: r, onToggle: i, priority: a, title: c, ...l }, u) {
302
- return /* @__PURE__ */ s("div", {
303
- className: e("flex items-center gap-2 rounded px-2 py-1.5 text-sm", t),
304
- "data-component": "task-item",
305
- "data-completed": n,
306
- ref: u,
307
- ...l,
308
- children: [
309
- /* @__PURE__ */ o("input", {
310
- checked: n,
311
- className: "shrink-0 accent-accent",
312
- onChange: i,
313
- type: "checkbox"
314
- }),
315
- /* @__PURE__ */ o("span", {
316
- className: e("flex-1 truncate", n && "line-through text-fg-muted"),
317
- children: c
318
- }),
319
- a !== void 0 && /* @__PURE__ */ o("span", {
320
- className: e("rounded px-1.5 py-0.5 text-[10px] font-medium uppercase", b[a]),
321
- children: a
322
- }),
323
- r !== void 0 && /* @__PURE__ */ o("span", {
324
- className: "shrink-0 text-xs text-fg-muted",
325
- children: r
326
- })
327
- ]
328
- });
329
- }), S = {
330
- default: "border-l-accent",
331
- success: "border-l-success",
332
- warning: "border-l-warning",
333
- danger: "border-l-danger"
334
- }, C = {
335
- default: /* @__PURE__ */ s("svg", {
336
- width: "16",
337
- height: "16",
338
- viewBox: "0 0 16 16",
339
- fill: "none",
340
- stroke: "currentColor",
341
- strokeWidth: "1.5",
342
- strokeLinecap: "round",
343
- children: [/* @__PURE__ */ o("circle", {
344
- cx: "8",
345
- cy: "8",
346
- r: "6.5"
347
- }), /* @__PURE__ */ o("path", { d: "M8 5.5h.01M8 7.5v3" })]
348
- }),
349
- success: /* @__PURE__ */ s("svg", {
350
- width: "16",
351
- height: "16",
352
- viewBox: "0 0 16 16",
353
- fill: "none",
354
- stroke: "currentColor",
355
- strokeWidth: "1.5",
356
- strokeLinecap: "round",
357
- strokeLinejoin: "round",
358
- children: [/* @__PURE__ */ o("circle", {
359
- cx: "8",
360
- cy: "8",
361
- r: "6.5"
362
- }), /* @__PURE__ */ o("path", { d: "M5.5 8l2 2 3-3.5" })]
363
- }),
364
- warning: /* @__PURE__ */ s("svg", {
365
- width: "16",
366
- height: "16",
367
- viewBox: "0 0 16 16",
368
- fill: "none",
369
- stroke: "currentColor",
370
- strokeWidth: "1.5",
371
- strokeLinecap: "round",
372
- children: [/* @__PURE__ */ o("path", { d: "M7.13 2.5l-5.5 10h11l-5.5-10z" }), /* @__PURE__ */ o("path", { d: "M7.63 6.5v2.5M7.63 11h.01" })]
373
- }),
374
- danger: /* @__PURE__ */ s("svg", {
375
- width: "16",
376
- height: "16",
377
- viewBox: "0 0 16 16",
378
- fill: "none",
379
- stroke: "currentColor",
380
- strokeWidth: "1.5",
381
- strokeLinecap: "round",
382
- children: [/* @__PURE__ */ o("circle", {
383
- cx: "8",
384
- cy: "8",
385
- r: "6.5"
386
- }), /* @__PURE__ */ o("path", { d: "M5.5 5.5l5 5M10.5 5.5l-5 5" })]
387
- })
388
- }, w = {
389
- default: "text-accent",
390
- success: "text-success",
391
- warning: "text-warning",
392
- danger: "text-danger"
393
- }, T = r(function({ title: t, description: n, variant: r = "default", onClose: i, action: a, className: c, ...l }, u) {
394
- return /* @__PURE__ */ s("div", {
395
- ref: u,
396
- className: e("flex items-start gds-gap gds-radius-popover border border-border border-l-4 bg-surface gds-pad-x gds-pad-y gds-shadow-lg", S[r], c),
397
- "data-component": "toast",
398
- "data-variant": r,
399
- role: "status",
400
- ...l,
401
- children: [
402
- /* @__PURE__ */ o("span", {
403
- className: e("mt-px shrink-0", w[r]),
404
- children: C[r]
405
- }),
406
- /* @__PURE__ */ s("div", {
407
- className: "min-w-0 flex-1",
408
- children: [/* @__PURE__ */ o("p", {
409
- className: "gds-text-body font-medium text-fg",
410
- children: t
411
- }), n !== void 0 && /* @__PURE__ */ o("p", {
412
- className: "mt-0.5 gds-text-label text-fg-muted",
413
- children: n
414
- })]
415
- }),
416
- a !== void 0 && /* @__PURE__ */ o("div", {
417
- className: "shrink-0",
418
- children: a
419
- }),
420
- i !== void 0 && /* @__PURE__ */ o("button", {
421
- type: "button",
422
- onClick: i,
423
- className: e("shrink-0 gds-radius-button p-0.5 text-fg-muted opacity-60 hover:opacity-100", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-bg"),
424
- "aria-label": "Dismiss",
425
- children: /* @__PURE__ */ o("svg", {
426
- width: "12",
427
- height: "12",
428
- viewBox: "0 0 12 12",
429
- fill: "none",
430
- stroke: "currentColor",
431
- strokeWidth: "2",
432
- strokeLinecap: "round",
433
- children: /* @__PURE__ */ o("path", { d: "M2 2l8 8M10 2l-8 8" })
434
- })
435
- })
436
- ]
437
- });
438
- });
439
- //#endregion
440
- export { p as a, m as i, x as n, l as o, y as r, T as t };
441
-
442
- //# sourceMappingURL=toast-DN5xANLM.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toast-DN5xANLM.js","names":[],"sources":["../src/l4-molecules/audit-entry.tsx","../src/l4-molecules/inline-edit.tsx","../src/l4-molecules/list-item.tsx","../src/l4-molecules/notification.tsx","../src/l4-molecules/task-item.tsx","../src/l4-molecules/toast.tsx"],"sourcesContent":["import { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype AuditEntryVariant = 'danger' | 'default' | 'success' | 'warning'\n\ntype AuditEntryProps = React.HTMLAttributes<HTMLDivElement> & {\n action: string\n target?: string\n timestamp: string\n user: string\n variant?: AuditEntryVariant\n}\n\nconst variantCls: Record<AuditEntryVariant, string> = {\n default: 'text-fg',\n success: 'text-success',\n warning: 'text-warning',\n danger: 'text-danger',\n}\n\nexport const AuditEntry = forwardRef<HTMLDivElement, AuditEntryProps>(\n function AuditEntry({ action, className, target, timestamp, user, variant = 'default', ...props }, ref) {\n return (\n <div\n className={cx('flex items-center justify-between gds-gap gds-text', className)}\n data-component=\"audit-entry\"\n ref={ref}\n {...props}\n >\n <span className=\"shrink-0 text-xs text-fg-muted\">{timestamp}</span>\n <span className=\"flex-1 truncate\">\n <span className=\"font-medium text-fg\">{user}</span>\n {' '}\n <span className={variantCls[variant]}>{action}</span>\n {target !== undefined && <span className=\"text-fg-muted\"> {target}</span>}\n </span>\n </div>\n )\n },\n)\n\nexport type { AuditEntryProps, AuditEntryVariant }\n","// inline-edit — editable text with confirm/cancel buttons and validation\nimport { forwardRef, useCallback, useState } from 'react'\n\nimport { focusCls } from '../utils/a11y'\nimport { cx } from '../utils/cx'\n\nexport type InlineEditProps = {\n value: string\n onSave: (value: string) => void\n onCancel?: () => void\n validate?: (value: string) => string | null\n placeholder?: string\n disabled?: boolean\n className?: string\n}\n\nconst checkIcon = (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M2.5 7.5l3 3 6-6.5\" />\n </svg>\n)\n\nconst cancelIcon = (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <path d=\"M3 3l8 8M11 3l-8 8\" />\n </svg>\n)\n\nconst editIcon = (\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M7 2l3 3-7 7H0V9z\" />\n </svg>\n)\n\nexport const InlineEdit = forwardRef<HTMLDivElement, InlineEditProps>(\n function InlineEdit({ value, onSave, onCancel, validate, placeholder = 'Click to edit', disabled, className }, ref) {\n const [editing, setEditing] = useState(false)\n const [editValue, setEditValue] = useState(value)\n const [error, setError] = useState<string | null>(null)\n\n const startEditing = useCallback(() => {\n if (disabled === true) return\n setEditValue(value)\n setError(null)\n setEditing(true)\n }, [disabled, value])\n\n const save = useCallback(() => {\n if (validate !== undefined) {\n const err = validate(editValue)\n if (err !== null) {\n setError(err)\n return\n }\n }\n setEditing(false)\n setError(null)\n onSave(editValue)\n }, [editValue, onSave, validate])\n\n const cancel = useCallback(() => {\n setEditing(false)\n setEditValue(value)\n setError(null)\n if (onCancel !== undefined) {\n onCancel()\n }\n }, [onCancel, value])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n save()\n }\n if (e.key === 'Escape') {\n cancel()\n }\n },\n [save, cancel],\n )\n\n if (editing) {\n return (\n <div ref={ref} className={cx('inline-flex flex-col', className)} data-component=\"inline-edit\" data-state=\"editing\">\n <div className=\"flex items-center gap-1\">\n <input\n autoFocus\n className={cx(\n 'bg-transparent gds-text-body text-fg outline-none border-b border-accent/50 px-0.5',\n error !== null && 'border-danger/50',\n focusCls,\n )}\n onChange={(e) => { setEditValue(e.target.value); setError(null) }}\n onKeyDown={handleKeyDown}\n type=\"text\"\n value={editValue}\n />\n <button type=\"button\" onClick={save} className={cx('shrink-0 p-0.5 text-success hover:text-success/80', focusCls)} aria-label=\"Save\">\n {checkIcon}\n </button>\n <button type=\"button\" onClick={cancel} className={cx('shrink-0 p-0.5 text-fg-muted hover:text-fg', focusCls)} aria-label=\"Cancel\">\n {cancelIcon}\n </button>\n </div>\n {error !== null && <span className=\"mt-0.5 text-[10px] text-danger\">{error}</span>}\n </div>\n )\n }\n\n const isEmpty = value === ''\n\n return (\n <div\n ref={ref}\n className={cx('group inline-flex cursor-pointer items-center gap-1', disabled === true && 'pointer-events-none opacity-50', className)}\n data-component=\"inline-edit\"\n data-state=\"display\"\n onClick={startEditing}\n onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') startEditing() }}\n role=\"button\"\n tabIndex={disabled === true ? -1 : 0}\n >\n <span className={cx('gds-text-body', isEmpty ? 'text-fg-muted' : 'text-fg', focusCls)}>\n {isEmpty ? placeholder : value}\n </span>\n <span className=\"text-fg-muted/0 transition-colors group-hover:text-fg-muted/60\">{editIcon}</span>\n </div>\n )\n },\n)\n","// list-item — structured list row with icon, title, description, and trailing element\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\nexport type ListItemProps = {\n icon?: ReactNode\n title: string\n description?: string\n trailing?: ReactNode\n onClick?: () => void\n active?: boolean\n disabled?: boolean\n className?: string\n}\n\nexport const ListItem = forwardRef<HTMLDivElement, ListItemProps>(\n function ListItem({ icon, title, description, trailing, onClick, active, disabled, className }, ref) {\n const isClickable = onClick !== undefined && disabled !== true\n\n return (\n <div\n ref={ref}\n role={isClickable ? 'button' : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onClick={isClickable ? onClick : undefined}\n onKeyDown={isClickable ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick()\n }\n } : undefined}\n className={cx(\n 'flex items-center gap-3 gds-pad-x gds-pad-y-sm gds-text-body select-none',\n isClickable && 'cursor-pointer hover:bg-bg-tertiary',\n active === true && 'border-l-2 border-l-accent bg-accent/5',\n disabled === true && 'pointer-events-none opacity-50',\n className,\n )}\n data-component=\"list-item\"\n data-state={active === true ? 'active' : undefined}\n >\n {icon !== undefined && <span className=\"shrink-0 text-fg-muted\">{icon}</span>}\n <div className=\"min-w-0 flex-1\">\n <div className=\"font-medium text-fg\">{title}</div>\n {description !== undefined && (\n <div className=\"mt-0.5 text-fg-muted gds-text-caption\">{description}</div>\n )}\n </div>\n {trailing !== undefined && <span className=\"shrink-0\">{trailing}</span>}\n </div>\n )\n },\n)\n","// notification — persistent banner with variant, title, description, and action\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { focusCls } from '../utils/a11y'\nimport { cx } from '../utils/cx'\nimport { glassClass } from '../utils/glass'\n\ntype NotificationVariant = 'danger' | 'info' | 'success' | 'warning'\n\nconst borderColorMap: Record<NotificationVariant, string> = {\n info: 'border-l-accent',\n success: 'border-l-success',\n warning: 'border-l-warning',\n danger: 'border-l-danger',\n}\n\nconst bgColorMap: Record<NotificationVariant, string> = {\n info: 'bg-accent/5',\n success: 'bg-success/5',\n warning: 'bg-warning/5',\n danger: 'bg-danger/5',\n}\n\nconst iconColorMap: Record<NotificationVariant, string> = {\n info: 'text-accent',\n success: 'text-success',\n warning: 'text-warning',\n danger: 'text-danger',\n}\n\nconst iconMap: Record<NotificationVariant, ReactNode> = {\n info: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\">\n <circle cx=\"8\" cy=\"8\" r=\"6.5\" /><path d=\"M8 5.5h.01M8 7.5v3\" />\n </svg>\n ),\n success: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"8\" cy=\"8\" r=\"6.5\" /><path d=\"M5.5 8l2 2 3-3.5\" />\n </svg>\n ),\n warning: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\">\n <path d=\"M7.13 2.5l-5.5 10h11l-5.5-10z\" /><path d=\"M7.63 6.5v2.5M7.63 11h.01\" />\n </svg>\n ),\n danger: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\">\n <circle cx=\"8\" cy=\"8\" r=\"6.5\" /><path d=\"M5.5 5.5l5 5M10.5 5.5l-5 5\" />\n </svg>\n ),\n}\n\ntype NotificationProps = React.HTMLAttributes<HTMLDivElement> & {\n title: string\n description?: string\n variant?: NotificationVariant\n action?: ReactNode\n onClose?: () => void\n glass?: boolean\n}\n\nconst Notification = forwardRef<HTMLDivElement, NotificationProps>(\n function Notification({ title, description, variant = 'info', action, onClose, glass, className, ...props }, ref) {\n const v = variant ?? 'info'\n\n return (\n <div\n ref={ref}\n className={cx(\n 'flex w-full items-start gds-gap gds-radius-popover border border-border border-l-2 gds-pad-x gds-pad-y',\n borderColorMap[v],\n bgColorMap[v],\n glass === true && glassClass(glass),\n className,\n )}\n data-component=\"notification\"\n data-variant={v}\n role=\"alert\"\n {...props}\n >\n <span className={cx('mt-px shrink-0', iconColorMap[v])}>{iconMap[v]}</span>\n <div className=\"min-w-0 flex-1\">\n <p className=\"gds-text-body font-medium text-fg\">{title}</p>\n {description !== undefined && <p className=\"mt-0.5 gds-text-label text-fg-muted\">{description}</p>}\n </div>\n {action !== undefined && <div className=\"shrink-0\">{action}</div>}\n {onClose !== undefined && (\n <button\n type=\"button\"\n onClick={onClose}\n className={cx('shrink-0 gds-radius-button p-0.5 text-fg-muted opacity-60 hover:opacity-100', focusCls)}\n aria-label=\"Dismiss\"\n >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <path d=\"M2 2l8 8M10 2l-8 8\" />\n </svg>\n </button>\n )}\n </div>\n )\n },\n)\n\nexport { Notification }\nexport type { NotificationProps, NotificationVariant }\n","import { forwardRef } from 'react'\n\nimport { cx } from '../utils/cx'\n\ntype TaskItemPriority = 'low' | 'medium' | 'high' | 'critical'\n\ntype TaskItemProps = React.HTMLAttributes<HTMLDivElement> & {\n completed?: boolean\n dueDate?: string\n onToggle?: () => void\n priority?: TaskItemPriority\n title: string\n}\n\nconst priorityCls: Record<TaskItemPriority, string> = {\n low: 'bg-success/15 text-success',\n medium: 'bg-warning/15 text-warning',\n high: 'bg-danger/15 text-danger',\n critical: 'bg-danger text-white',\n}\n\nconst TaskItem = forwardRef<HTMLDivElement, TaskItemProps>(\n function TaskItem({ className, completed = false, dueDate, onToggle, priority, title, ...props }, ref) {\n return (\n <div\n className={cx('flex items-center gap-2 rounded px-2 py-1.5 text-sm', className)}\n data-component=\"task-item\"\n data-completed={completed}\n ref={ref}\n {...props}\n >\n <input\n checked={completed}\n className=\"shrink-0 accent-accent\"\n onChange={onToggle}\n type=\"checkbox\"\n />\n <span className={cx('flex-1 truncate', completed && 'line-through text-fg-muted')}>{title}</span>\n {priority !== undefined && (\n <span className={cx('rounded px-1.5 py-0.5 text-[10px] font-medium uppercase', priorityCls[priority])}>{priority}</span>\n )}\n {dueDate !== undefined && (\n <span className=\"shrink-0 text-xs text-fg-muted\">{dueDate}</span>\n )}\n </div>\n )\n },\n)\n\nexport { TaskItem }\nexport type { TaskItemPriority, TaskItemProps }\n","// toast — notification card with variant, title, description, and action\nimport type { ReactNode } from 'react'\nimport { forwardRef } from 'react'\n\nimport { focusCls } from '../utils/a11y'\nimport { cx } from '../utils/cx'\n\nexport type ToastVariant = 'danger' | 'default' | 'success' | 'warning'\n\nconst borderColorMap: Record<ToastVariant, string> = {\n default: 'border-l-accent',\n success: 'border-l-success',\n warning: 'border-l-warning',\n danger: 'border-l-danger',\n}\n\nconst iconMap: Record<ToastVariant, ReactNode> = {\n default: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\">\n <circle cx=\"8\" cy=\"8\" r=\"6.5\" /><path d=\"M8 5.5h.01M8 7.5v3\" />\n </svg>\n ),\n success: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"8\" cy=\"8\" r=\"6.5\" /><path d=\"M5.5 8l2 2 3-3.5\" />\n </svg>\n ),\n warning: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\">\n <path d=\"M7.13 2.5l-5.5 10h11l-5.5-10z\" /><path d=\"M7.63 6.5v2.5M7.63 11h.01\" />\n </svg>\n ),\n danger: (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\">\n <circle cx=\"8\" cy=\"8\" r=\"6.5\" /><path d=\"M5.5 5.5l5 5M10.5 5.5l-5 5\" />\n </svg>\n ),\n}\n\nconst iconColorMap: Record<ToastVariant, string> = {\n default: 'text-accent',\n success: 'text-success',\n warning: 'text-warning',\n danger: 'text-danger',\n}\n\nexport type ToastProps = React.HTMLAttributes<HTMLDivElement> & {\n title: string\n description?: string\n variant?: ToastVariant\n onClose?: () => void\n action?: ReactNode\n}\n\nexport const Toast = forwardRef<HTMLDivElement, ToastProps>(\n function Toast({ title, description, variant = 'default', onClose, action, className, ...props }, ref) {\n return (\n <div\n ref={ref}\n className={cx(\n 'flex items-start gds-gap gds-radius-popover border border-border border-l-4 bg-surface gds-pad-x gds-pad-y gds-shadow-lg',\n borderColorMap[variant],\n className,\n )}\n data-component=\"toast\"\n data-variant={variant}\n role=\"status\"\n {...props}\n >\n <span className={cx('mt-px shrink-0', iconColorMap[variant])}>{iconMap[variant]}</span>\n <div className=\"min-w-0 flex-1\">\n <p className=\"gds-text-body font-medium text-fg\">{title}</p>\n {description !== undefined && <p className=\"mt-0.5 gds-text-label text-fg-muted\">{description}</p>}\n </div>\n {action !== undefined && <div className=\"shrink-0\">{action}</div>}\n {onClose !== undefined && (\n <button\n type=\"button\"\n onClick={onClose}\n className={cx('shrink-0 gds-radius-button p-0.5 text-fg-muted opacity-60 hover:opacity-100', focusCls)}\n aria-label=\"Dismiss\"\n >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <path d=\"M2 2l8 8M10 2l-8 8\" />\n </svg>\n </button>\n )}\n </div>\n )\n },\n)\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-theme-CONuDdW3.js","names":[],"sources":["../src/l1-systems/theme.ts","../src/l1-systems/use-theme.ts"],"sourcesContent":["// L1 — Theme System\n// manages color preset + 5 dimensional axes + dark/light mode\n// applies CSS variable overrides to document root\n// persists to localStorage, syncs across tabs\n\nimport { atom } from 'jotai'\n\nimport { deriveDarkPalette, deriveLightPalette, paletteToVars } from '../l0-tokens/color-derive'\nimport { fontToCssVars } from '../l0-tokens/font-system'\nimport { DEFAULT_PRIMARY } from '../l0-tokens/generate-defaults'\nimport type {\n ThemeDensity,\n ThemeElevation,\n ThemeGlass,\n ThemeMotion,\n ThemeShape,\n} from '../l0-tokens/scales'\nimport { resolveAxesToCssVars } from '../l0-tokens/scales'\n\n// color overrides — per-token overrides for advanced users\nexport type ThemeColorOverrides = {\n '--gds-accent': string\n '--gds-accent-fg': string\n '--gds-accent-hover': string\n '--gds-danger': string\n '--gds-success': string\n '--gds-warning': string\n}\n\nexport type ThemeMode = 'dark' | 'light' | 'system'\n\n// full theme state — what the user has configured\nexport type ThemeState = {\n mode: ThemeMode\n primaryColor: string // single source — everything derived from this\n presetId: string // for UI display only (\"default\", \"teal\", \"amber\"...)\n // dimensional axes — each constrained to L0 scale options\n shape: ThemeShape\n density: ThemeDensity\n elevation: ThemeElevation\n glass: ThemeGlass\n motion: ThemeMotion\n // optional per-token color overrides (advanced — overrides derivation)\n colorOverrides: Partial<ThemeColorOverrides> | null\n}\n\n// default theme — beautiful out of the box\nexport const DEFAULT_THEME: ThemeState = {\n mode: 'system',\n primaryColor: DEFAULT_PRIMARY,\n presetId: 'default',\n shape: 'default',\n density: 'default',\n elevation: 'raised',\n glass: 'full',\n motion: 'full',\n colorOverrides: null,\n}\n\n// jotai atoms — reactive theme state\nexport const themeAtom = atom<ThemeState>(DEFAULT_THEME)\n\nexport const resolvedModeAtom = atom<'dark' | 'light'>((get) => {\n const { mode } = get(themeAtom)\n if (mode !== 'system') return mode\n if (typeof window === 'undefined') return 'dark'\n return window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n})\n\n// resolve theme state → flat CSS variable overrides\n// all colors derived from primaryColor via L0 functions — no manual color presets\nexport function resolveThemeCssVars(\n state: ThemeState,\n resolvedMode: 'dark' | 'light',\n): Record<string, string> {\n // 1. derive colors from primaryColor\n const palette = resolvedMode === 'dark'\n ? deriveDarkPalette(state.primaryColor)\n : deriveLightPalette(state.primaryColor)\n const vars: Record<string, string> = { ...paletteToVars(palette, resolvedMode) }\n\n // 2. font stacks + weights\n Object.assign(vars, fontToCssVars())\n\n // 3. dimensional axes — computed by L0 system functions\n Object.assign(vars, resolveAxesToCssVars(\n state.shape, state.density, state.elevation,\n state.glass, state.motion, resolvedMode,\n ))\n\n // 4. per-token color overrides (highest priority — advanced users)\n if (state.colorOverrides !== null) {\n for (const [key, val] of Object.entries(state.colorOverrides)) {\n if (val !== undefined) {\n vars[key] = val\n }\n }\n }\n\n return vars\n}\n\n// apply resolved vars to document\nexport function applyThemeToDocument(\n vars: Record<string, string>,\n resolvedMode: 'dark' | 'light',\n previousKeys?: string[],\n): string[] {\n const root = document.documentElement\n\n // clear previous overrides\n if (previousKeys !== undefined) {\n for (const key of previousKeys) {\n root.style.removeProperty(key)\n }\n }\n\n // set mode attribute\n const mode = root.getAttribute('data-theme-mode')\n if (mode !== resolvedMode) {\n root.setAttribute('data-theme-mode', resolvedMode)\n }\n\n // apply new overrides\n const keys = Object.keys(vars)\n for (const [key, val] of Object.entries(vars)) {\n root.style.setProperty(key, val)\n }\n\n return keys\n}\n\n// persistence keys\nconst STORAGE_KEY = 'gds-theme'\n\nexport function persistTheme(state: ThemeState): void {\n try {\n localStorage.setItem(STORAGE_KEY, JSON.stringify(state))\n } catch {\n // storage full or unavailable\n }\n}\n\nexport function loadPersistedTheme(): ThemeState | null {\n try {\n const raw = localStorage.getItem(STORAGE_KEY)\n if (raw === null) return null\n const parsed = JSON.parse(raw) as Partial<ThemeState>\n // validate and merge with defaults to handle schema evolution\n return {\n ...DEFAULT_THEME,\n ...parsed,\n // validate primaryColor is a hex string\n primaryColor: typeof parsed.primaryColor === 'string' && /^#[0-9a-fA-F]{6}$/.test(parsed.primaryColor)\n ? parsed.primaryColor : DEFAULT_THEME.primaryColor,\n // ensure constrained values are valid\n shape: validateOption(parsed.shape, ['sharp', 'default', 'rounded'], DEFAULT_THEME.shape),\n density: validateOption(parsed.density, ['compact', 'default', 'comfortable'], DEFAULT_THEME.density),\n elevation: validateOption(parsed.elevation, ['flat', 'subtle', 'raised'], DEFAULT_THEME.elevation),\n glass: validateOption(parsed.glass, ['off', 'subtle', 'full'], DEFAULT_THEME.glass),\n motion: validateOption(parsed.motion, ['off', 'reduced', 'full'], DEFAULT_THEME.motion),\n mode: validateOption(parsed.mode, ['light', 'dark', 'system'], DEFAULT_THEME.mode),\n }\n } catch {\n return null\n }\n}\n\nfunction validateOption<T extends string>(\n value: unknown,\n options: T[],\n fallback: T,\n): T {\n if (typeof value === 'string' && options.includes(value as T)) {\n return value as T\n }\n return fallback\n}\n","// L1 — theme hooks\n// components use these to read/write theme state\n// all changes go through constrained API — no raw CSS manipulation\n\nimport { useAtom, useAtomValue } from 'jotai'\nimport { useCallback, useEffect, useRef } from 'react'\n\nimport type { ThemeDensity, ThemeElevation, ThemeGlass, ThemeMotion, ThemeShape } from '../l0-tokens/scales'\nimport type { ThemeColorOverrides, ThemeMode, ThemeState } from './theme'\nimport {\n applyThemeToDocument,\n DEFAULT_THEME,\n loadPersistedTheme,\n persistTheme,\n resolvedModeAtom,\n resolveThemeCssVars,\n themeAtom,\n} from './theme'\n\n// color presets — app registers named presets, each is just a primaryColor\ntype ThemeConfig = {\n colorPresets: Record<string, { primaryColor: string }>\n}\n\nlet themeConfig: ThemeConfig = { colorPresets: {} }\n\n// called once at app init — register named color presets\nexport function configureTheme(config: ThemeConfig): void {\n themeConfig = config\n}\n\n// read current theme state (reactive)\nexport function useTheme(): ThemeState {\n return useAtomValue(themeAtom)\n}\n\n// read resolved dark/light mode (reactive)\nexport function useResolvedMode(): 'dark' | 'light' {\n return useAtomValue(resolvedModeAtom)\n}\n\n// theme mutation hooks — each returns a setter for one axis\nexport function useSetThemeMode(): (mode: ThemeMode) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback((mode: ThemeMode) => {\n setTheme((prev) => ({ ...prev, mode }))\n }, [setTheme])\n}\n\nexport function useSetThemePreset(): (presetId: string) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback((presetId: string) => {\n const preset = themeConfig.colorPresets[presetId]\n const primaryColor = preset?.primaryColor ?? DEFAULT_THEME.primaryColor\n setTheme((prev) => ({ ...prev, presetId, primaryColor, colorOverrides: null }))\n }, [setTheme])\n}\n\nexport function useSetThemePrimaryColor(): (color: string) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback((primaryColor: string) => {\n setTheme((prev) => ({ ...prev, primaryColor, colorOverrides: null }))\n }, [setTheme])\n}\n\nexport function useSetThemeShape(): (shape: ThemeShape) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback((shape: ThemeShape) => {\n setTheme((prev) => ({ ...prev, shape }))\n }, [setTheme])\n}\n\nexport function useSetThemeDensity(): (density: ThemeDensity) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback((density: ThemeDensity) => {\n setTheme((prev) => ({ ...prev, density }))\n }, [setTheme])\n}\n\nexport function useSetThemeElevation(): (elevation: ThemeElevation) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback((elevation: ThemeElevation) => {\n setTheme((prev) => ({ ...prev, elevation }))\n }, [setTheme])\n}\n\nexport function useSetThemeGlass(): (glass: ThemeGlass) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback((glass: ThemeGlass) => {\n setTheme((prev) => ({ ...prev, glass }))\n }, [setTheme])\n}\n\nexport function useSetThemeMotion(): (motion: ThemeMotion) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback((motion: ThemeMotion) => {\n setTheme((prev) => ({ ...prev, motion }))\n }, [setTheme])\n}\n\nexport function useSetThemeColors(): (overrides: Partial<ThemeColorOverrides> | null) => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback((colorOverrides: Partial<ThemeColorOverrides> | null) => {\n setTheme((prev) => ({ ...prev, colorOverrides }))\n }, [setTheme])\n}\n\nexport function useResetTheme(): () => void {\n const [, setTheme] = useAtom(themeAtom)\n return useCallback(() => {\n setTheme(DEFAULT_THEME)\n }, [setTheme])\n}\n\n// side-effect hook: apply theme to DOM + persist + listen to system changes\n// call this ONCE in the app root\nexport function useThemeEffect(): void {\n const theme = useAtomValue(themeAtom)\n const resolvedMode = useAtomValue(resolvedModeAtom)\n const prevKeysRef = useRef<string[]>([])\n\n // apply to DOM whenever theme changes\n useEffect(() => {\n const vars = resolveThemeCssVars(theme, resolvedMode)\n prevKeysRef.current = applyThemeToDocument(vars, resolvedMode, prevKeysRef.current)\n persistTheme(theme)\n }, [theme, resolvedMode])\n\n // listen for system theme preference changes\n useEffect(() => {\n const mq = window.matchMedia('(prefers-color-scheme: dark)')\n const handler = () => {\n // trigger re-render via resolvedModeAtom re-evaluation\n // jotai derived atoms auto-recompute, but we need to force it\n // by touching the base atom (no-op write)\n }\n mq.addEventListener('change', handler)\n return () => mq.removeEventListener('change', handler)\n }, [])\n\n // restore from localStorage on mount\n useEffect(() => {\n const persisted = loadPersistedTheme()\n if (persisted !== null) {\n // apply directly without going through atom to avoid flash\n const vars = resolveThemeCssVars(persisted, resolvedMode)\n prevKeysRef.current = applyThemeToDocument(vars, resolvedMode)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n"],"mappings":";;;;AA+CA,IAAa,IAA4B;CACvC,MAAM;CACN,cAAc;CACd,UAAU;CACV,OAAO;CACP,SAAS;CACT,WAAW;CACX,OAAO;CACP,QAAQ;CACR,gBAAgB;CACjB,EAGY,IAAY,EAAiB,EAAc,EAE3C,IAAmB,GAAwB,MAAQ;CAC9D,IAAM,EAAE,YAAS,EAAI,EAAU;AAG/B,QAFI,MAAS,WACT,OAAO,SAAW,OACf,OAAO,WAAW,+BAA+B,CAAC,UADf,SAGtC,UAJ0B;EAK9B;AAIF,SAAgB,EACd,GACA,GACwB;CAKxB,IAAM,IAA+B,EAAE,GAAG,EAH1B,MAAiB,SAC7B,EAAkB,EAAM,aAAa,GACrC,EAAmB,EAAM,aAAa,EACuB,EAAa,EAAE;AAYhF,KATA,OAAO,OAAO,GAAM,GAAe,CAAC,EAGpC,OAAO,OAAO,GAAM,EAClB,EAAM,OAAO,EAAM,SAAS,EAAM,WAClC,EAAM,OAAO,EAAM,QAAQ,EAC5B,CAAC,EAGE,EAAM,mBAAmB,WACtB,IAAM,CAAC,GAAK,MAAQ,OAAO,QAAQ,EAAM,eAAe,CAC3D,CAAI,MAAQ,KAAA,MACV,EAAK,KAAO;AAKlB,QAAO;;AAIT,SAAgB,EACd,GACA,GACA,GACU;CACV,IAAM,IAAO,SAAS;AAGtB,KAAI,MAAiB,KAAA,EACnB,MAAK,IAAM,KAAO,EAChB,GAAK,MAAM,eAAe,EAAI;AAMlC,CADa,EAAK,aAAa,kBAAkB,KACpC,KACX,EAAK,aAAa,mBAAmB,EAAa;CAIpD,IAAM,IAAO,OAAO,KAAK,EAAK;AAC9B,MAAK,IAAM,CAAC,GAAK,MAAQ,OAAO,QAAQ,EAAK,CAC3C,GAAK,MAAM,YAAY,GAAK,EAAI;AAGlC,QAAO;;AAIT,IAAM,IAAc;AAEpB,SAAgB,EAAa,GAAyB;AACpD,KAAI;AACF,eAAa,QAAQ,GAAa,KAAK,UAAU,EAAM,CAAC;SAClD;;AAKV,SAAgB,IAAwC;AACtD,KAAI;EACF,IAAM,IAAM,aAAa,QAAQ,EAAY;AAC7C,MAAI,MAAQ,KAAM,QAAO;EACzB,IAAM,IAAS,KAAK,MAAM,EAAI;AAE9B,SAAO;GACL,GAAG;GACH,GAAG;GAEH,cAAc,OAAO,EAAO,gBAAiB,YAAY,oBAAoB,KAAK,EAAO,aAAa,GAClG,EAAO,eAAe,EAAc;GAExC,OAAO,EAAe,EAAO,OAAO;IAAC;IAAS;IAAW;IAAU,EAAE,EAAc,MAAM;GACzF,SAAS,EAAe,EAAO,SAAS;IAAC;IAAW;IAAW;IAAc,EAAE,EAAc,QAAQ;GACrG,WAAW,EAAe,EAAO,WAAW;IAAC;IAAQ;IAAU;IAAS,EAAE,EAAc,UAAU;GAClG,OAAO,EAAe,EAAO,OAAO;IAAC;IAAO;IAAU;IAAO,EAAE,EAAc,MAAM;GACnF,QAAQ,EAAe,EAAO,QAAQ;IAAC;IAAO;IAAW;IAAO,EAAE,EAAc,OAAO;GACvF,MAAM,EAAe,EAAO,MAAM;IAAC;IAAS;IAAQ;IAAS,EAAE,EAAc,KAAK;GACnF;SACK;AACN,SAAO;;;AAIX,SAAS,EACP,GACA,GACA,GACG;AAIH,QAHI,OAAO,KAAU,YAAY,EAAQ,SAAS,EAAW,GACpD,IAEF;;;;AC1JT,IAAI,IAA2B,EAAE,cAAc,EAAE,EAAE;AAGnD,SAAgB,EAAe,GAA2B;AACxD,KAAc;;AAIhB,SAAgB,IAAuB;AACrC,QAAO,EAAa,EAAU;;AAIhC,SAAgB,IAAoC;AAClD,QAAO,EAAa,EAAiB;;AAIvC,SAAgB,IAA6C;CAC3D,IAAM,GAAG,KAAY,EAAQ,EAAU;AACvC,QAAO,GAAa,MAAoB;AACtC,KAAU,OAAU;GAAE,GAAG;GAAM;GAAM,EAAE;IACtC,CAAC,EAAS,CAAC;;AAGhB,SAAgB,IAAgD;CAC9D,IAAM,GAAG,KAAY,EAAQ,EAAU;AACvC,QAAO,GAAa,MAAqB;EAEvC,IAAM,IADS,EAAY,aAAa,IACX,gBAAgB,EAAc;AAC3D,KAAU,OAAU;GAAE,GAAG;GAAM;GAAU;GAAc,gBAAgB;GAAM,EAAE;IAC9E,CAAC,EAAS,CAAC;;AAGhB,SAAgB,IAAmD;CACjE,IAAM,GAAG,KAAY,EAAQ,EAAU;AACvC,QAAO,GAAa,MAAyB;AAC3C,KAAU,OAAU;GAAE,GAAG;GAAM;GAAc,gBAAgB;GAAM,EAAE;IACpE,CAAC,EAAS,CAAC;;AAGhB,SAAgB,IAAgD;CAC9D,IAAM,GAAG,KAAY,EAAQ,EAAU;AACvC,QAAO,GAAa,MAAsB;AACxC,KAAU,OAAU;GAAE,GAAG;GAAM;GAAO,EAAE;IACvC,CAAC,EAAS,CAAC;;AAGhB,SAAgB,IAAsD;CACpE,IAAM,GAAG,KAAY,EAAQ,EAAU;AACvC,QAAO,GAAa,MAA0B;AAC5C,KAAU,OAAU;GAAE,GAAG;GAAM;GAAS,EAAE;IACzC,CAAC,EAAS,CAAC;;AAGhB,SAAgB,IAA4D;CAC1E,IAAM,GAAG,KAAY,EAAQ,EAAU;AACvC,QAAO,GAAa,MAA8B;AAChD,KAAU,OAAU;GAAE,GAAG;GAAM;GAAW,EAAE;IAC3C,CAAC,EAAS,CAAC;;AAGhB,SAAgB,IAAgD;CAC9D,IAAM,GAAG,KAAY,EAAQ,EAAU;AACvC,QAAO,GAAa,MAAsB;AACxC,KAAU,OAAU;GAAE,GAAG;GAAM;GAAO,EAAE;IACvC,CAAC,EAAS,CAAC;;AAGhB,SAAgB,IAAmD;CACjE,IAAM,GAAG,KAAY,EAAQ,EAAU;AACvC,QAAO,GAAa,MAAwB;AAC1C,KAAU,OAAU;GAAE,GAAG;GAAM;GAAQ,EAAE;IACxC,CAAC,EAAS,CAAC;;AAGhB,SAAgB,IAA8E;CAC5F,IAAM,GAAG,KAAY,EAAQ,EAAU;AACvC,QAAO,GAAa,MAAwD;AAC1E,KAAU,OAAU;GAAE,GAAG;GAAM;GAAgB,EAAE;IAChD,CAAC,EAAS,CAAC;;AAGhB,SAAgB,IAA4B;CAC1C,IAAM,GAAG,KAAY,EAAQ,EAAU;AACvC,QAAO,QAAkB;AACvB,IAAS,EAAc;IACtB,CAAC,EAAS,CAAC;;AAKhB,SAAgB,IAAuB;CACrC,IAAM,IAAQ,EAAa,EAAU,EAC/B,IAAe,EAAa,EAAiB,EAC7C,IAAc,EAAiB,EAAE,CAAC;AAsBxC,CAnBA,QAAgB;AAGd,EADA,EAAY,UAAU,EADT,EAAoB,GAAO,EAAa,EACJ,GAAc,EAAY,QAAQ,EACnF,EAAa,EAAM;IAClB,CAAC,GAAO,EAAa,CAAC,EAGzB,QAAgB;EACd,IAAM,IAAK,OAAO,WAAW,+BAA+B,EACtD,UAAgB;AAMtB,SADA,EAAG,iBAAiB,UAAU,EAAQ,QACzB,EAAG,oBAAoB,UAAU,EAAQ;IACrD,EAAE,CAAC,EAGN,QAAgB;EACd,IAAM,IAAY,GAAoB;AACtC,EAAI,MAAc,SAGhB,EAAY,UAAU,EADT,EAAoB,GAAW,EAAa,EACR,EAAa;IAG/D,EAAE,CAAC"}