@0001-labs/design-system-1 0.3.0-alpha.13 → 0.3.0-alpha.15

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 (722) hide show
  1. package/DS1/0-face/calendar.ts +194 -0
  2. package/DS1/0-face/carousel.ts +623 -0
  3. package/DS1/0-face/component-visibility.ts +14 -0
  4. package/DS1/0-face/copy-text.ts +96 -0
  5. package/DS1/0-face/device.ts +8 -58
  6. package/DS1/0-face/dialog-swipe.ts +249 -0
  7. package/DS1/0-face/dialogs.ts +208 -0
  8. package/DS1/0-face/drawer.ts +258 -0
  9. package/DS1/0-face/feedback-words.ts +36 -0
  10. package/DS1/0-face/feedback.ts +40 -0
  11. package/DS1/0-face/format.ts +700 -0
  12. package/DS1/0-face/generated/toast-assets.ts +18 -0
  13. package/DS1/0-face/grid-fit.ts +1 -1
  14. package/DS1/0-face/grid.ts +3 -2
  15. package/DS1/0-face/header.ts +78 -0
  16. package/DS1/0-face/i18n.ts +93 -18
  17. package/DS1/0-face/keys.ts +276 -0
  18. package/DS1/0-face/languages.ts +4 -4
  19. package/DS1/0-face/layout-inspector.ts +6 -6
  20. package/DS1/0-face/library-styles.ts +33 -0
  21. package/DS1/0-face/load-toaster.ts +7 -0
  22. package/DS1/0-face/preference-options.ts +29 -0
  23. package/DS1/0-face/preferences.ts +3 -11
  24. package/DS1/0-face/pricing.ts +98 -43
  25. package/DS1/0-face/scaling.ts +160 -4
  26. package/DS1/0-face/shared-words.ts +9 -4
  27. package/DS1/0-face/sidebar.ts +201 -0
  28. package/DS1/0-face/theme-bootstrap.js +184 -0
  29. package/DS1/0-face/theme.ts +89 -47
  30. package/DS1/0-face/toast-queue.ts +157 -0
  31. package/DS1/0-face/toaster.ts +384 -0
  32. package/DS1/0-face/tooltips.ts +157 -15
  33. package/DS1/0-face/translations/da.json +60 -1
  34. package/DS1/0-face/translations/de.json +60 -1
  35. package/DS1/0-face/translations/en.json +60 -1
  36. package/DS1/0-face/translations/es.json +60 -1
  37. package/DS1/0-face/translations/fi.json +60 -1
  38. package/DS1/0-face/translations/fr.json +60 -1
  39. package/DS1/0-face/translations/is.json +60 -1
  40. package/DS1/0-face/translations/it.json +60 -1
  41. package/DS1/0-face/translations/ja.json +60 -1
  42. package/DS1/0-face/translations/ko.json +60 -1
  43. package/DS1/0-face/translations/nb.json +60 -1
  44. package/DS1/0-face/translations/pt-BR.json +60 -1
  45. package/DS1/0-face/translations/pt.json +60 -1
  46. package/DS1/0-face/translations/sv.json +60 -1
  47. package/DS1/0-face/translations/zh.json +60 -1
  48. package/DS1/0-face/translations-format.ts +3 -4
  49. package/DS1/1-root/card.css +192 -0
  50. package/DS1/1-root/carousel.css +136 -0
  51. package/DS1/1-root/cjk.css +23 -0
  52. package/DS1/1-root/component-metrics.css +1 -0
  53. package/DS1/1-root/component-tokens.css +51 -8
  54. package/DS1/1-root/controls.css +891 -14
  55. package/DS1/1-root/dialog-placement.css +191 -0
  56. package/DS1/1-root/document.css +183 -0
  57. package/DS1/1-root/drawer.css +83 -0
  58. package/DS1/1-root/empty.css +83 -0
  59. package/DS1/1-root/figures.css +141 -0
  60. package/DS1/1-root/fonts/Iosevka-LICENSE.md +3 -1
  61. package/DS1/1-root/fonts/Iosevka-Regular.woff2 +0 -0
  62. package/DS1/1-root/fonts.css +69 -0
  63. package/DS1/1-root/footer.css +186 -0
  64. package/DS1/1-root/header.css +165 -0
  65. package/DS1/1-root/library-tokens.ts +91 -0
  66. package/DS1/1-root/measures.ts +53 -0
  67. package/DS1/1-root/notice.css +165 -0
  68. package/DS1/1-root/one.css +14 -84
  69. package/DS1/1-root/one.semantic.css +200 -148
  70. package/DS1/1-root/palette.css +58 -0
  71. package/DS1/1-root/palette.ts +19 -0
  72. package/DS1/1-root/progress.css +356 -0
  73. package/DS1/1-root/prose.css +202 -0
  74. package/DS1/1-root/row.css +300 -0
  75. package/DS1/1-root/table.css +111 -0
  76. package/DS1/1-root/text.css +70 -0
  77. package/DS1/2-core/button-split.ts +55 -0
  78. package/DS1/2-core/chart/chart.css +169 -0
  79. package/DS1/2-core/chart/grid-chart.ts +554 -0
  80. package/DS1/2-core/ds-avatar.ts +25 -6
  81. package/DS1/2-core/ds-badge.ts +10 -10
  82. package/DS1/2-core/ds-button.ts +111 -26
  83. package/DS1/2-core/ds-card.ts +135 -105
  84. package/DS1/2-core/ds-chart.ts +327 -0
  85. package/DS1/2-core/ds-composer.ts +8 -2
  86. package/DS1/2-core/ds-cycle.ts +97 -21
  87. package/DS1/2-core/ds-empty.ts +120 -0
  88. package/DS1/2-core/ds-icon.ts +11 -2
  89. package/DS1/2-core/ds-input.ts +165 -6
  90. package/DS1/2-core/ds-message.ts +218 -0
  91. package/DS1/2-core/ds-notice.ts +10 -0
  92. package/DS1/2-core/ds-progress.ts +380 -0
  93. package/DS1/2-core/ds-stat.ts +174 -0
  94. package/DS1/2-core/ds-switch.ts +1 -0
  95. package/DS1/2-core/ds-text.ts +15 -2
  96. package/DS1/2-core/ds-toast.ts +354 -0
  97. package/DS1/2-core/figures.ts +105 -0
  98. package/DS1/2-core/generated/ds-icon-map.ts +238 -128
  99. package/DS1/2-core/generated/icon-avatar.ts +2 -0
  100. package/DS1/2-core/generated/icons-extra.ts +120 -65
  101. package/DS1/2-core/generated/icons-immediate.ts +1 -1
  102. package/DS1/2-core/styles/ds-avatar.css +9 -8
  103. package/DS1/2-core/styles/ds-button-host.css +26 -3
  104. package/DS1/2-core/styles/ds-button-split.css +67 -0
  105. package/DS1/2-core/styles/ds-button.css +49 -15
  106. package/DS1/2-core/styles/ds-card.css +34 -0
  107. package/DS1/2-core/styles/ds-composer.css +13 -0
  108. package/DS1/2-core/styles/ds-cycle.css +10 -0
  109. package/DS1/2-core/styles/ds-empty.css +18 -0
  110. package/DS1/2-core/styles/ds-gap.css +1 -0
  111. package/DS1/2-core/styles/ds-icon.css +1 -0
  112. package/DS1/2-core/styles/ds-input.css +59 -6
  113. package/DS1/2-core/styles/ds-notice.css +32 -0
  114. package/DS1/2-core/styles/ds-progress.css +25 -0
  115. package/DS1/2-core/styles/ds-select.css +2 -2
  116. package/DS1/2-core/styles/ds-split.css +2 -62
  117. package/DS1/2-core/styles/ds-stat.css +34 -0
  118. package/DS1/2-core/styles/ds-switch.css +16 -1
  119. package/DS1/2-core/styles/ds-text.css +43 -12
  120. package/DS1/2-core/styles/ds-toast.css +182 -0
  121. package/DS1/2-core/styles/ds-tooltip.css +1 -0
  122. package/DS1/3-unit/calendar-base.ts +263 -0
  123. package/DS1/3-unit/ds-accordion.ts +9 -1
  124. package/DS1/3-unit/ds-avatar-group.ts +1 -0
  125. package/DS1/3-unit/ds-calendar-large.ts +349 -0
  126. package/DS1/3-unit/ds-calendar.ts +344 -0
  127. package/DS1/3-unit/ds-carousel.ts +368 -0
  128. package/DS1/3-unit/ds-date-picker.ts +540 -0
  129. package/DS1/3-unit/ds-form.ts +45 -37
  130. package/DS1/3-unit/ds-list.ts +48 -1
  131. package/DS1/3-unit/ds-matrix.ts +318 -0
  132. package/DS1/3-unit/ds-menu.ts +8 -4
  133. package/DS1/3-unit/ds-row.ts +84 -1
  134. package/DS1/3-unit/ds-sidebar.ts +366 -0
  135. package/DS1/3-unit/ds-table.ts +75 -34
  136. package/DS1/3-unit/styles/ds-accordion.css +1 -0
  137. package/DS1/3-unit/styles/ds-avatar-group.css +2 -4
  138. package/DS1/3-unit/styles/ds-calendar-large.css +165 -0
  139. package/DS1/3-unit/styles/ds-calendar.css +238 -0
  140. package/DS1/3-unit/styles/ds-carousel.css +30 -0
  141. package/DS1/3-unit/styles/ds-date-picker.css +124 -0
  142. package/DS1/3-unit/styles/ds-list.css +1 -0
  143. package/DS1/3-unit/styles/ds-matrix.css +203 -0
  144. package/DS1/3-unit/styles/ds-menu.css +31 -6
  145. package/DS1/3-unit/styles/ds-row.css +84 -2
  146. package/DS1/3-unit/styles/ds-sidebar.css +134 -0
  147. package/DS1/3-unit/styles/ds-table.css +3 -74
  148. package/DS1/4-page/ds-dialog.ts +40 -4
  149. package/DS1/4-page/ds-document.ts +240 -0
  150. package/DS1/4-page/ds-footer.ts +165 -0
  151. package/DS1/4-page/ds-grid.ts +39 -59
  152. package/DS1/4-page/ds-header.ts +171 -0
  153. package/DS1/4-page/ds-page.ts +184 -0
  154. package/DS1/4-page/email.ts +2 -3
  155. package/DS1/4-page/styles/ds-container.css +1 -0
  156. package/DS1/4-page/styles/ds-document.css +18 -0
  157. package/DS1/4-page/styles/ds-footer.css +29 -0
  158. package/DS1/4-page/styles/ds-grid.css +31 -85
  159. package/DS1/4-page/styles/ds-header.css +57 -0
  160. package/DS1/4-page/styles/ds-page.css +214 -0
  161. package/DS1/components.ts +7 -1
  162. package/DS1/index.ts +24 -6
  163. package/DS1/react/avatar.ts +4 -5
  164. package/DS1/react/button-split.ts +29 -0
  165. package/DS1/react/button.ts +32 -13
  166. package/DS1/react/carousel.ts +76 -0
  167. package/DS1/react/dialog.ts +36 -5
  168. package/DS1/react/document.ts +14 -0
  169. package/DS1/react/empty.ts +32 -0
  170. package/DS1/react/footer.ts +17 -0
  171. package/DS1/react/header.ts +15 -0
  172. package/DS1/react/input.ts +28 -17
  173. package/DS1/react/message.ts +73 -0
  174. package/DS1/react/notice.ts +59 -0
  175. package/DS1/react/page.ts +13 -0
  176. package/DS1/react/progress.ts +99 -0
  177. package/DS1/react/sidebar.ts +71 -0
  178. package/DS1/react/stat.ts +73 -0
  179. package/DS1/react/toast.ts +82 -0
  180. package/DS1/x-icon/Tabler-LICENSE.md +27 -0
  181. package/DS1/x-icon/airtable.svg +5 -0
  182. package/DS1/x-icon/attach.svg +3 -0
  183. package/DS1/x-icon/audio.svg +3 -0
  184. package/DS1/x-icon/bag-alt.svg +3 -0
  185. package/DS1/x-icon/bank.svg +3 -0
  186. package/DS1/x-icon/banknote.svg +3 -0
  187. package/DS1/x-icon/bolt.svg +3 -0
  188. package/DS1/x-icon/book-alt.svg +3 -0
  189. package/DS1/x-icon/book.svg +4 -0
  190. package/DS1/x-icon/box.svg +3 -0
  191. package/DS1/x-icon/briefcase.svg +3 -0
  192. package/DS1/x-icon/building.svg +4 -0
  193. package/DS1/x-icon/car.svg +3 -0
  194. package/DS1/x-icon/card.svg +3 -0
  195. package/DS1/x-icon/cart.svg +3 -0
  196. package/DS1/x-icon/{ezo-android-screen-stats.svg → chevron-down.svg} +1 -1
  197. package/DS1/x-icon/{ezo-item-button-start.svg → chevron-left.svg} +1 -1
  198. package/DS1/x-icon/{ezo-android-screen-lists.svg → chevron-right.svg} +1 -1
  199. package/DS1/x-icon/{ezo-item-button-reopen.svg → chevron-up.svg} +1 -1
  200. package/DS1/x-icon/cloud.svg +3 -0
  201. package/DS1/x-icon/coffee.svg +3 -0
  202. package/DS1/x-icon/coins.svg +3 -0
  203. package/DS1/x-icon/cursor.svg +3 -0
  204. package/DS1/x-icon/curve.svg +7 -0
  205. package/DS1/x-icon/dislike.svg +4 -0
  206. package/DS1/x-icon/dot-bank.svg +3 -0
  207. package/DS1/x-icon/dot-banknote.svg +3 -0
  208. package/DS1/x-icon/dot-banknotes.svg +3 -0
  209. package/DS1/x-icon/dot-card.svg +3 -0
  210. package/DS1/x-icon/dot-coin.svg +3 -0
  211. package/DS1/x-icon/dot-coins.svg +3 -0
  212. package/DS1/x-icon/dot-receipt.svg +3 -0
  213. package/DS1/x-icon/dot-safe.svg +3 -0
  214. package/DS1/x-icon/dot-transfer.svg +3 -0
  215. package/DS1/x-icon/dot-wallet.svg +3 -0
  216. package/DS1/x-icon/download.svg +4 -0
  217. package/DS1/x-icon/drive.svg +5 -0
  218. package/DS1/x-icon/drop.svg +3 -0
  219. package/DS1/x-icon/dropbox.svg +3 -0
  220. package/DS1/x-icon/dumbbell.svg +3 -0
  221. package/DS1/x-icon/eye-off.svg +3 -0
  222. package/DS1/x-icon/eye.svg +3 -0
  223. package/DS1/x-icon/facebook.svg +3 -0
  224. package/DS1/x-icon/figma.svg +5 -0
  225. package/DS1/x-icon/flame.svg +3 -0
  226. package/DS1/x-icon/flip.svg +5 -0
  227. package/DS1/x-icon/food.svg +3 -0
  228. package/DS1/x-icon/fuel.svg +3 -0
  229. package/DS1/x-icon/game.svg +3 -0
  230. package/DS1/x-icon/gift.svg +3 -0
  231. package/DS1/x-icon/github.svg +3 -0
  232. package/DS1/x-icon/heart.svg +3 -0
  233. package/DS1/x-icon/history.svg +3 -0
  234. package/DS1/x-icon/home-alt.svg +3 -0
  235. package/DS1/x-icon/income.svg +3 -0
  236. package/DS1/x-icon/info.svg +5 -0
  237. package/DS1/x-icon/instagram.svg +5 -0
  238. package/DS1/x-icon/jpbank.svg +3 -0
  239. package/DS1/x-icon/key.svg +4 -0
  240. package/DS1/x-icon/keyboard.svg +3 -0
  241. package/DS1/x-icon/like.svg +4 -0
  242. package/DS1/x-icon/linkedin.svg +7 -0
  243. package/DS1/x-icon/loom.svg +6 -0
  244. package/DS1/x-icon/map.svg +4 -0
  245. package/DS1/x-icon/medical.svg +3 -0
  246. package/DS1/x-icon/minus.svg +3 -0
  247. package/DS1/x-icon/moon.svg +3 -0
  248. package/DS1/x-icon/move.svg +3 -0
  249. package/DS1/x-icon/music-alt.svg +3 -0
  250. package/DS1/x-icon/music.svg +5 -0
  251. package/DS1/x-icon/notion.svg +6 -0
  252. package/DS1/x-icon/offline.svg +3 -0
  253. package/DS1/x-icon/pause.svg +4 -0
  254. package/DS1/x-icon/paw.svg +3 -0
  255. package/DS1/x-icon/pdf.svg +3 -0
  256. package/DS1/x-icon/people.svg +5 -0
  257. package/DS1/x-icon/percent.svg +3 -0
  258. package/DS1/x-icon/phone.svg +3 -0
  259. package/DS1/x-icon/pill.svg +3 -0
  260. package/DS1/x-icon/plane.svg +3 -0
  261. package/DS1/x-icon/postal.svg +3 -0
  262. package/DS1/x-icon/present.svg +4 -0
  263. package/DS1/x-icon/reaction.svg +5 -0
  264. package/DS1/x-icon/receipt.svg +3 -0
  265. package/DS1/x-icon/refresh.svg +3 -0
  266. package/DS1/x-icon/refund.svg +3 -0
  267. package/DS1/x-icon/repeat.svg +3 -0
  268. package/DS1/x-icon/rotate.svg +4 -0
  269. package/DS1/x-icon/safe.svg +3 -0
  270. package/DS1/x-icon/school-alt.svg +3 -0
  271. package/DS1/x-icon/shield-alt.svg +3 -0
  272. package/DS1/x-icon/shield.svg +4 -0
  273. package/DS1/x-icon/shirt.svg +3 -0
  274. package/DS1/x-icon/shop.svg +3 -0
  275. package/DS1/x-icon/sign-in.svg +3 -0
  276. package/DS1/x-icon/sign-out.svg +3 -0
  277. package/DS1/x-icon/slack.svg +6 -0
  278. package/DS1/x-icon/sparkle.svg +3 -0
  279. package/DS1/x-icon/start.svg +4 -0
  280. package/DS1/x-icon/stop.svg +3 -0
  281. package/DS1/x-icon/sun.svg +3 -0
  282. package/DS1/x-icon/system.svg +4 -0
  283. package/DS1/x-icon/tag.svg +3 -0
  284. package/DS1/x-icon/ticket.svg +3 -0
  285. package/DS1/x-icon/title-struck.svg +4 -0
  286. package/DS1/x-icon/train.svg +3 -0
  287. package/DS1/x-icon/transfer.svg +3 -0
  288. package/DS1/x-icon/tv.svg +3 -0
  289. package/DS1/x-icon/upload.svg +4 -0
  290. package/DS1/x-icon/video.svg +4 -0
  291. package/DS1/x-icon/vimeo.svg +3 -0
  292. package/DS1/x-icon/wallet.svg +3 -0
  293. package/DS1/x-icon/wifi.svg +3 -0
  294. package/DS1/x-icon/window.svg +4 -0
  295. package/DS1/x-icon/wrench.svg +3 -0
  296. package/DS1/x-icon/x-brand.svg +4 -0
  297. package/DS1/x-icon/youtube.svg +4 -0
  298. package/README.md +3 -3
  299. package/dist/0-face/calendar.d.ts +75 -0
  300. package/dist/0-face/calendar.d.ts.map +1 -0
  301. package/dist/0-face/calendar.js +149 -0
  302. package/dist/0-face/carousel.d.ts +174 -0
  303. package/dist/0-face/carousel.d.ts.map +1 -0
  304. package/dist/0-face/carousel.js +583 -0
  305. package/dist/0-face/component-visibility.d.ts +7 -0
  306. package/dist/0-face/component-visibility.d.ts.map +1 -0
  307. package/dist/0-face/component-visibility.js +11 -0
  308. package/dist/0-face/copy-text.d.ts +11 -0
  309. package/dist/0-face/copy-text.d.ts.map +1 -0
  310. package/dist/0-face/copy-text.js +97 -0
  311. package/dist/0-face/device.d.ts +3 -7
  312. package/dist/0-face/device.d.ts.map +1 -1
  313. package/dist/0-face/device.js +7 -41
  314. package/dist/0-face/dialog-swipe.d.ts +49 -0
  315. package/dist/0-face/dialog-swipe.d.ts.map +1 -0
  316. package/dist/0-face/dialog-swipe.js +239 -0
  317. package/dist/0-face/dialogs.d.ts +33 -0
  318. package/dist/0-face/dialogs.d.ts.map +1 -0
  319. package/dist/0-face/dialogs.js +173 -0
  320. package/dist/0-face/drawer.d.ts +64 -0
  321. package/dist/0-face/drawer.d.ts.map +1 -0
  322. package/dist/0-face/drawer.js +256 -0
  323. package/dist/0-face/feedback-words.d.ts +21 -0
  324. package/dist/0-face/feedback-words.d.ts.map +1 -0
  325. package/dist/0-face/feedback-words.js +30 -0
  326. package/dist/0-face/feedback.d.ts +41 -0
  327. package/dist/0-face/feedback.d.ts.map +1 -0
  328. package/dist/0-face/feedback.js +35 -0
  329. package/dist/0-face/format.d.ts +166 -0
  330. package/dist/0-face/format.d.ts.map +1 -0
  331. package/dist/0-face/format.js +445 -0
  332. package/dist/0-face/generated/toast-assets.d.ts +11 -0
  333. package/dist/0-face/generated/toast-assets.d.ts.map +1 -0
  334. package/dist/0-face/generated/toast-assets.js +14 -0
  335. package/dist/0-face/grid-fit.js +1 -1
  336. package/dist/0-face/grid.d.ts.map +1 -1
  337. package/dist/0-face/grid.js +2 -1
  338. package/dist/0-face/header.d.ts +38 -0
  339. package/dist/0-face/header.d.ts.map +1 -0
  340. package/dist/0-face/header.js +80 -0
  341. package/dist/0-face/i18n.d.ts +32 -2
  342. package/dist/0-face/i18n.d.ts.map +1 -1
  343. package/dist/0-face/i18n.js +65 -19
  344. package/dist/0-face/keys.d.ts +104 -0
  345. package/dist/0-face/keys.d.ts.map +1 -0
  346. package/dist/0-face/keys.js +253 -0
  347. package/dist/0-face/languages.d.ts +2 -2
  348. package/dist/0-face/languages.js +3 -3
  349. package/dist/0-face/layout-inspector.js +6 -6
  350. package/dist/0-face/library-styles.d.ts +7 -0
  351. package/dist/0-face/library-styles.d.ts.map +1 -0
  352. package/dist/0-face/library-styles.js +29 -0
  353. package/dist/0-face/load-toaster.d.ts +8 -0
  354. package/dist/0-face/load-toaster.d.ts.map +1 -0
  355. package/dist/0-face/load-toaster.js +7 -0
  356. package/dist/0-face/preference-options.d.ts +34 -0
  357. package/dist/0-face/preference-options.d.ts.map +1 -0
  358. package/dist/0-face/preference-options.js +1 -0
  359. package/dist/0-face/preferences.d.ts +3 -12
  360. package/dist/0-face/preferences.d.ts.map +1 -1
  361. package/dist/0-face/pricing.d.ts +19 -9
  362. package/dist/0-face/pricing.d.ts.map +1 -1
  363. package/dist/0-face/pricing.js +81 -40
  364. package/dist/0-face/scaling.d.ts +71 -1
  365. package/dist/0-face/scaling.d.ts.map +1 -1
  366. package/dist/0-face/scaling.js +108 -3
  367. package/dist/0-face/shared-words.d.ts +9 -4
  368. package/dist/0-face/shared-words.d.ts.map +1 -1
  369. package/dist/0-face/sidebar.d.ts +69 -0
  370. package/dist/0-face/sidebar.d.ts.map +1 -0
  371. package/dist/0-face/sidebar.js +191 -0
  372. package/dist/0-face/theme-bootstrap.d.ts +1 -0
  373. package/dist/0-face/theme-bootstrap.d.ts.map +1 -0
  374. package/dist/0-face/theme-bootstrap.js +214 -0
  375. package/dist/0-face/theme.d.ts +32 -0
  376. package/dist/0-face/theme.d.ts.map +1 -1
  377. package/dist/0-face/theme.js +69 -43
  378. package/dist/0-face/toast-queue.d.ts +110 -0
  379. package/dist/0-face/toast-queue.d.ts.map +1 -0
  380. package/dist/0-face/toast-queue.js +98 -0
  381. package/dist/0-face/toaster.d.ts +27 -0
  382. package/dist/0-face/toaster.d.ts.map +1 -0
  383. package/dist/0-face/toaster.js +373 -0
  384. package/dist/0-face/tooltips.d.ts +24 -1
  385. package/dist/0-face/tooltips.d.ts.map +1 -1
  386. package/dist/0-face/tooltips.js +155 -16
  387. package/dist/0-face/translations/da.json +60 -1
  388. package/dist/0-face/translations/de.json +60 -1
  389. package/dist/0-face/translations/en.json +60 -1
  390. package/dist/0-face/translations/es.json +60 -1
  391. package/dist/0-face/translations/fi.json +60 -1
  392. package/dist/0-face/translations/fr.json +60 -1
  393. package/dist/0-face/translations/is.json +60 -1
  394. package/dist/0-face/translations/it.json +60 -1
  395. package/dist/0-face/translations/ja.json +60 -1
  396. package/dist/0-face/translations/ko.json +60 -1
  397. package/dist/0-face/translations/nb.json +60 -1
  398. package/dist/0-face/translations/pt-BR.json +60 -1
  399. package/dist/0-face/translations/pt.json +60 -1
  400. package/dist/0-face/translations/sv.json +60 -1
  401. package/dist/0-face/translations/zh.json +60 -1
  402. package/dist/0-face/translations-format.d.ts.map +1 -1
  403. package/dist/0-face/translations-format.js +3 -4
  404. package/dist/1-root/library-tokens.d.ts +31 -0
  405. package/dist/1-root/library-tokens.d.ts.map +1 -0
  406. package/dist/1-root/library-tokens.js +84 -0
  407. package/dist/1-root/measures.d.ts +52 -0
  408. package/dist/1-root/measures.d.ts.map +1 -0
  409. package/dist/1-root/measures.js +49 -0
  410. package/dist/1-root/palette.d.ts +5 -0
  411. package/dist/1-root/palette.d.ts.map +1 -1
  412. package/dist/1-root/palette.js +18 -0
  413. package/dist/2-core/button-split.d.ts +21 -0
  414. package/dist/2-core/button-split.d.ts.map +1 -0
  415. package/dist/2-core/button-split.js +48 -0
  416. package/dist/2-core/chart/grid-chart.d.ts +113 -0
  417. package/dist/2-core/chart/grid-chart.d.ts.map +1 -0
  418. package/dist/2-core/chart/grid-chart.js +466 -0
  419. package/dist/2-core/ds-avatar.d.ts +20 -3
  420. package/dist/2-core/ds-avatar.d.ts.map +1 -1
  421. package/dist/2-core/ds-avatar.js +19 -5
  422. package/dist/2-core/ds-badge.js +10 -13
  423. package/dist/2-core/ds-button.d.ts +76 -0
  424. package/dist/2-core/ds-button.d.ts.map +1 -1
  425. package/dist/2-core/ds-button.js +101 -26
  426. package/dist/2-core/ds-card.d.ts +76 -11
  427. package/dist/2-core/ds-card.d.ts.map +1 -1
  428. package/dist/2-core/ds-card.js +129 -105
  429. package/dist/2-core/ds-chart.d.ts +105 -0
  430. package/dist/2-core/ds-chart.d.ts.map +1 -0
  431. package/dist/2-core/ds-chart.js +390 -0
  432. package/dist/2-core/ds-composer.d.ts +7 -0
  433. package/dist/2-core/ds-composer.d.ts.map +1 -1
  434. package/dist/2-core/ds-composer.js +1 -1
  435. package/dist/2-core/ds-cycle.d.ts +36 -2
  436. package/dist/2-core/ds-cycle.d.ts.map +1 -1
  437. package/dist/2-core/ds-cycle.js +95 -18
  438. package/dist/2-core/ds-empty.d.ts +74 -0
  439. package/dist/2-core/ds-empty.d.ts.map +1 -0
  440. package/dist/2-core/ds-empty.js +96 -0
  441. package/dist/2-core/ds-icon.d.ts +6 -0
  442. package/dist/2-core/ds-icon.d.ts.map +1 -1
  443. package/dist/2-core/ds-icon.js +12 -2
  444. package/dist/2-core/ds-input.d.ts +39 -1
  445. package/dist/2-core/ds-input.d.ts.map +1 -1
  446. package/dist/2-core/ds-input.js +150 -6
  447. package/dist/2-core/ds-message.d.ts +154 -0
  448. package/dist/2-core/ds-message.d.ts.map +1 -0
  449. package/dist/2-core/ds-message.js +177 -0
  450. package/dist/2-core/ds-notice.d.ts +13 -0
  451. package/dist/2-core/ds-notice.d.ts.map +1 -0
  452. package/dist/2-core/ds-notice.js +11 -0
  453. package/dist/2-core/ds-progress.d.ts +200 -0
  454. package/dist/2-core/ds-progress.d.ts.map +1 -0
  455. package/dist/2-core/ds-progress.js +319 -0
  456. package/dist/2-core/ds-stat.d.ts +126 -0
  457. package/dist/2-core/ds-stat.d.ts.map +1 -0
  458. package/dist/2-core/ds-stat.js +137 -0
  459. package/dist/2-core/ds-switch.d.ts +1 -0
  460. package/dist/2-core/ds-switch.d.ts.map +1 -1
  461. package/dist/2-core/ds-switch.js +1 -0
  462. package/dist/2-core/ds-text.d.ts +15 -2
  463. package/dist/2-core/ds-text.d.ts.map +1 -1
  464. package/dist/2-core/ds-text.js +13 -0
  465. package/dist/2-core/ds-toast.d.ts +139 -0
  466. package/dist/2-core/ds-toast.d.ts.map +1 -0
  467. package/dist/2-core/ds-toast.js +329 -0
  468. package/dist/2-core/figures.d.ts +56 -0
  469. package/dist/2-core/figures.d.ts.map +1 -0
  470. package/dist/2-core/figures.js +70 -0
  471. package/dist/2-core/generated/ds-icon-map.d.ts +120 -65
  472. package/dist/2-core/generated/ds-icon-map.d.ts.map +1 -1
  473. package/dist/2-core/generated/ds-icon-map.js +238 -128
  474. package/dist/2-core/generated/icon-avatar.d.ts +2 -0
  475. package/dist/2-core/generated/icon-avatar.d.ts.map +1 -0
  476. package/dist/2-core/generated/icon-avatar.js +2 -0
  477. package/dist/2-core/generated/icons-extra.d.ts.map +1 -1
  478. package/dist/2-core/generated/icons-extra.js +120 -65
  479. package/dist/2-core/generated/icons-immediate.d.ts +1 -1
  480. package/dist/2-core/generated/icons-immediate.d.ts.map +1 -1
  481. package/dist/2-core/generated/icons-immediate.js +1 -1
  482. package/dist/3-unit/calendar-base.d.ts +149 -0
  483. package/dist/3-unit/calendar-base.d.ts.map +1 -0
  484. package/dist/3-unit/calendar-base.js +172 -0
  485. package/dist/3-unit/ds-accordion.d.ts +9 -0
  486. package/dist/3-unit/ds-accordion.d.ts.map +1 -1
  487. package/dist/3-unit/ds-accordion.js +7 -1
  488. package/dist/3-unit/ds-avatar-group.d.ts +1 -0
  489. package/dist/3-unit/ds-avatar-group.d.ts.map +1 -1
  490. package/dist/3-unit/ds-calendar-large.d.ts +138 -0
  491. package/dist/3-unit/ds-calendar-large.d.ts.map +1 -0
  492. package/dist/3-unit/ds-calendar-large.js +305 -0
  493. package/dist/3-unit/ds-calendar.d.ts +175 -0
  494. package/dist/3-unit/ds-calendar.d.ts.map +1 -0
  495. package/dist/3-unit/ds-calendar.js +303 -0
  496. package/dist/3-unit/ds-carousel.d.ts +182 -0
  497. package/dist/3-unit/ds-carousel.d.ts.map +1 -0
  498. package/dist/3-unit/ds-carousel.js +327 -0
  499. package/dist/3-unit/ds-date-picker.d.ts +203 -0
  500. package/dist/3-unit/ds-date-picker.d.ts.map +1 -0
  501. package/dist/3-unit/ds-date-picker.js +499 -0
  502. package/dist/3-unit/ds-form.d.ts.map +1 -1
  503. package/dist/3-unit/ds-form.js +38 -28
  504. package/dist/3-unit/ds-list.d.ts +12 -0
  505. package/dist/3-unit/ds-list.d.ts.map +1 -1
  506. package/dist/3-unit/ds-list.js +52 -1
  507. package/dist/3-unit/ds-matrix.d.ts +146 -0
  508. package/dist/3-unit/ds-matrix.d.ts.map +1 -0
  509. package/dist/3-unit/ds-matrix.js +248 -0
  510. package/dist/3-unit/ds-menu.d.ts +1 -1
  511. package/dist/3-unit/ds-menu.d.ts.map +1 -1
  512. package/dist/3-unit/ds-menu.js +7 -4
  513. package/dist/3-unit/ds-row.d.ts +66 -0
  514. package/dist/3-unit/ds-row.d.ts.map +1 -1
  515. package/dist/3-unit/ds-row.js +80 -1
  516. package/dist/3-unit/ds-sidebar.d.ts +149 -0
  517. package/dist/3-unit/ds-sidebar.d.ts.map +1 -0
  518. package/dist/3-unit/ds-sidebar.js +342 -0
  519. package/dist/3-unit/ds-table.d.ts +28 -10
  520. package/dist/3-unit/ds-table.d.ts.map +1 -1
  521. package/dist/3-unit/ds-table.js +53 -25
  522. package/dist/4-page/ds-dialog.d.ts +16 -1
  523. package/dist/4-page/ds-dialog.d.ts.map +1 -1
  524. package/dist/4-page/ds-dialog.js +39 -3
  525. package/dist/4-page/ds-document.d.ts +98 -0
  526. package/dist/4-page/ds-document.d.ts.map +1 -0
  527. package/dist/4-page/ds-document.js +213 -0
  528. package/dist/4-page/ds-footer.d.ts +100 -0
  529. package/dist/4-page/ds-footer.d.ts.map +1 -0
  530. package/dist/4-page/ds-footer.js +119 -0
  531. package/dist/4-page/ds-grid.d.ts +32 -12
  532. package/dist/4-page/ds-grid.d.ts.map +1 -1
  533. package/dist/4-page/ds-grid.js +30 -39
  534. package/dist/4-page/ds-header.d.ts +84 -0
  535. package/dist/4-page/ds-header.d.ts.map +1 -0
  536. package/dist/4-page/ds-header.js +143 -0
  537. package/dist/4-page/ds-page.d.ts +110 -0
  538. package/dist/4-page/ds-page.d.ts.map +1 -0
  539. package/dist/4-page/ds-page.js +155 -0
  540. package/dist/4-page/email.d.ts +2 -3
  541. package/dist/4-page/email.d.ts.map +1 -1
  542. package/dist/4-page/email.js +2 -3
  543. package/dist/components.d.ts +4 -1
  544. package/dist/components.d.ts.map +1 -1
  545. package/dist/components.js +4 -1
  546. package/dist/design-system-1.bundle.js +12322 -5523
  547. package/dist/design-system-1.bundle.js.map +1 -1
  548. package/dist/design-system-1.bundle.min.js +8771 -4115
  549. package/dist/design-system-1.bundle.min.js.map +1 -1
  550. package/dist/design-system-1.css +1 -1
  551. package/dist/feedback.js +541 -0
  552. package/dist/feedback.js.map +1 -0
  553. package/dist/{icons-extra-BoAACA4X.js → icons-extra-CiDDs7_-.js} +404 -312
  554. package/dist/icons-extra-CiDDs7_-.js.map +1 -0
  555. package/dist/{icons-extra-DlxTo_Y4.js → icons-extra-hauwCx07.js} +121 -66
  556. package/dist/icons-extra-hauwCx07.js.map +1 -0
  557. package/dist/index.d.ts +21 -6
  558. package/dist/index.d.ts.map +1 -1
  559. package/dist/index.js +21 -6
  560. package/dist/react/avatar.d.ts +5 -9
  561. package/dist/react/avatar.d.ts.map +1 -1
  562. package/dist/react/avatar.js +2 -2
  563. package/dist/react/button-split.d.ts +19 -0
  564. package/dist/react/button-split.d.ts.map +1 -0
  565. package/dist/react/{split.js → button-split.js} +12 -9
  566. package/dist/react/button.d.ts +18 -7
  567. package/dist/react/button.d.ts.map +1 -1
  568. package/dist/react/button.js +13 -4
  569. package/dist/react/carousel.d.ts +63 -0
  570. package/dist/react/carousel.d.ts.map +1 -0
  571. package/dist/react/carousel.js +47 -0
  572. package/dist/react/choice.d.ts +1 -1
  573. package/dist/react/context-menu.d.ts +337 -337
  574. package/dist/react/dialog.d.ts +684 -678
  575. package/dist/react/dialog.d.ts.map +1 -1
  576. package/dist/react/dialog.js +29 -3
  577. package/dist/react/document.d.ts +11 -0
  578. package/dist/react/document.d.ts.map +1 -0
  579. package/dist/react/document.js +10 -0
  580. package/dist/react/empty.d.ts +34 -0
  581. package/dist/react/empty.d.ts.map +1 -0
  582. package/dist/react/empty.js +8 -0
  583. package/dist/react/file-picker.d.ts +1 -1
  584. package/dist/react/footer.d.ts +13 -0
  585. package/dist/react/footer.d.ts.map +1 -0
  586. package/dist/react/footer.js +12 -0
  587. package/dist/react/header.d.ts +12 -0
  588. package/dist/react/header.d.ts.map +1 -0
  589. package/dist/react/header.js +11 -0
  590. package/dist/react/input.d.ts +31 -9
  591. package/dist/react/input.d.ts.map +1 -1
  592. package/dist/react/input.js +94 -94
  593. package/dist/react/message.d.ts +66 -0
  594. package/dist/react/message.d.ts.map +1 -0
  595. package/dist/react/message.js +37 -0
  596. package/dist/react/notice.d.ts +45 -0
  597. package/dist/react/notice.d.ts.map +1 -0
  598. package/dist/react/notice.js +34 -0
  599. package/dist/react/page.d.ts +10 -0
  600. package/dist/react/page.d.ts.map +1 -0
  601. package/dist/react/page.js +9 -0
  602. package/dist/react/progress.d.ts +107 -0
  603. package/dist/react/progress.d.ts.map +1 -0
  604. package/dist/react/progress.js +47 -0
  605. package/dist/react/sidebar.d.ts +54 -0
  606. package/dist/react/sidebar.d.ts.map +1 -0
  607. package/dist/react/sidebar.js +48 -0
  608. package/dist/react/stat.d.ts +78 -0
  609. package/dist/react/stat.d.ts.map +1 -0
  610. package/dist/react/stat.js +25 -0
  611. package/dist/react/toast.d.ts +37 -0
  612. package/dist/react/toast.d.ts.map +1 -0
  613. package/dist/react/toast.js +55 -0
  614. package/dist/shared-words-CyZYc_De.js +1818 -0
  615. package/dist/shared-words-CyZYc_De.js.map +1 -0
  616. package/dist/shared-words-DAVSET4Z.js +1800 -0
  617. package/dist/shared-words-DAVSET4Z.js.map +1 -0
  618. package/package.json +19 -6
  619. package/DS1/2-core/ds-banner.ts +0 -122
  620. package/DS1/2-core/ds-date.ts +0 -24
  621. package/DS1/2-core/ds-language.ts +0 -94
  622. package/DS1/2-core/ds-pagedots.ts +0 -52
  623. package/DS1/2-core/ds-split.ts +0 -122
  624. package/DS1/2-core/ds-textarea.ts +0 -136
  625. package/DS1/2-core/styles/ds-banner.css +0 -77
  626. package/DS1/2-core/styles/ds-date.css +0 -9
  627. package/DS1/2-core/styles/ds-language.css +0 -78
  628. package/DS1/2-core/styles/ds-pagedots.css +0 -31
  629. package/DS1/2-core/styles/ds-textarea.css +0 -27
  630. package/DS1/4-page/ds-layout.ts +0 -949
  631. package/DS1/4-page/styles/ds-layout.css +0 -246
  632. package/DS1/react/split.ts +0 -42
  633. package/DS1/x-icon/ezo-accordion-chevron.svg +0 -11
  634. package/DS1/x-icon/ezo-account-close.svg +0 -1
  635. package/DS1/x-icon/ezo-android-screen-archive.svg +0 -4
  636. package/DS1/x-icon/ezo-android-screen-calendar.svg +0 -6
  637. package/DS1/x-icon/ezo-android-screen-camera.svg +0 -5
  638. package/DS1/x-icon/ezo-android-screen-check.svg +0 -3
  639. package/DS1/x-icon/ezo-android-screen-compose.svg +0 -4
  640. package/DS1/x-icon/ezo-android-screen-globe.svg +0 -1
  641. package/DS1/x-icon/ezo-android-screen-shared.svg +0 -5
  642. package/DS1/x-icon/ezo-android-screen-store.svg +0 -4
  643. package/DS1/x-icon/ezo-android-screen-views.svg +0 -4
  644. package/DS1/x-icon/ezo-android-screen-work.svg +0 -3
  645. package/DS1/x-icon/ezo-arrow-cursor.svg +0 -8
  646. package/DS1/x-icon/ezo-block-accordion.svg +0 -1
  647. package/DS1/x-icon/ezo-block-divider.svg +0 -1
  648. package/DS1/x-icon/ezo-block-group.svg +0 -1
  649. package/DS1/x-icon/ezo-block-image.svg +0 -1
  650. package/DS1/x-icon/ezo-block-section.svg +0 -1
  651. package/DS1/x-icon/ezo-block-table.svg +0 -1
  652. package/DS1/x-icon/ezo-code.svg +0 -14
  653. package/DS1/x-icon/ezo-down.svg +0 -3
  654. package/DS1/x-icon/ezo-figma-premium-star.svg +0 -5
  655. package/DS1/x-icon/ezo-item-button-complete.svg +0 -4
  656. package/DS1/x-icon/ezo-item-button-header.svg +0 -3
  657. package/DS1/x-icon/ezo-item-button-open.svg +0 -3
  658. package/DS1/x-icon/ezo-item-button-star.svg +0 -3
  659. package/DS1/x-icon/ezo-item-button-unheader.svg +0 -7
  660. package/DS1/x-icon/ezo-item-button-unstar.svg +0 -5
  661. package/DS1/x-icon/ezo-item-star.svg +0 -5
  662. package/DS1/x-icon/ezo-left.svg +0 -3
  663. package/DS1/x-icon/ezo-logo.svg +0 -1
  664. package/DS1/x-icon/ezo-mic.svg +0 -8
  665. package/DS1/x-icon/ezo-move-column.svg +0 -14
  666. package/DS1/x-icon/ezo-move-row.svg +0 -18
  667. package/DS1/x-icon/ezo-navigation-check.svg +0 -1
  668. package/DS1/x-icon/ezo-note-back.svg +0 -5
  669. package/DS1/x-icon/ezo-note-menu-complete.svg +0 -11
  670. package/DS1/x-icon/ezo-note-menu-delete.svg +0 -4
  671. package/DS1/x-icon/ezo-note-menu-duplicate.svg +0 -8
  672. package/DS1/x-icon/ezo-note-menu-note.svg +0 -5
  673. package/DS1/x-icon/ezo-note-menu-page.svg +0 -3
  674. package/DS1/x-icon/ezo-note-menu-star.svg +0 -5
  675. package/DS1/x-icon/ezo-note-menu-start.svg +0 -6
  676. package/DS1/x-icon/ezo-note-menu-stop.svg +0 -6
  677. package/DS1/x-icon/ezo-note-more.svg +0 -7
  678. package/DS1/x-icon/ezo-note-star.svg +0 -5
  679. package/DS1/x-icon/ezo-pattern-call-to-action.svg +0 -1
  680. package/DS1/x-icon/ezo-play.svg +0 -5
  681. package/DS1/x-icon/ezo-premium-star.svg +0 -5
  682. package/DS1/x-icon/ezo-setting-1xdots.svg +0 -13
  683. package/DS1/x-icon/ezo-setting-1xgrid.svg +0 -10
  684. package/DS1/x-icon/ezo-setting-1xlines.svg +0 -7
  685. package/DS1/x-icon/ezo-setting-2xdots.svg +0 -8
  686. package/DS1/x-icon/ezo-setting-2xgrid.svg +0 -8
  687. package/DS1/x-icon/ezo-setting-2xlines.svg +0 -6
  688. package/DS1/x-icon/ezo-setting-blank.svg +0 -5
  689. package/DS1/x-icon/ezo-store-chevron.svg +0 -1
  690. package/DS1/x-icon/ezo-upgrade-close.svg +0 -5
  691. package/DS1/x-icon/product-sources.json +0 -2557
  692. package/dist/2-core/ds-banner.d.ts +0 -68
  693. package/dist/2-core/ds-banner.d.ts.map +0 -1
  694. package/dist/2-core/ds-banner.js +0 -98
  695. package/dist/2-core/ds-date.d.ts +0 -16
  696. package/dist/2-core/ds-date.d.ts.map +0 -1
  697. package/dist/2-core/ds-date.js +0 -15
  698. package/dist/2-core/ds-language.d.ts +0 -75
  699. package/dist/2-core/ds-language.d.ts.map +0 -1
  700. package/dist/2-core/ds-language.js +0 -74
  701. package/dist/2-core/ds-pagedots.d.ts +0 -32
  702. package/dist/2-core/ds-pagedots.d.ts.map +0 -1
  703. package/dist/2-core/ds-pagedots.js +0 -36
  704. package/dist/2-core/ds-split.d.ts +0 -75
  705. package/dist/2-core/ds-split.d.ts.map +0 -1
  706. package/dist/2-core/ds-split.js +0 -101
  707. package/dist/2-core/ds-textarea.d.ts +0 -46
  708. package/dist/2-core/ds-textarea.d.ts.map +0 -1
  709. package/dist/2-core/ds-textarea.js +0 -121
  710. package/dist/4-page/ds-layout.d.ts +0 -31
  711. package/dist/4-page/ds-layout.d.ts.map +0 -1
  712. package/dist/4-page/ds-layout.js +0 -930
  713. package/dist/icons-extra-BoAACA4X.js.map +0 -1
  714. package/dist/icons-extra-DlxTo_Y4.js.map +0 -1
  715. package/dist/react/split.d.ts +0 -15
  716. package/dist/react/split.d.ts.map +0 -1
  717. package/dist/shared-words-Cg6Phtx0.js +0 -915
  718. package/dist/shared-words-Cg6Phtx0.js.map +0 -1
  719. package/dist/shared-words-Ddz0yUEF.js +0 -933
  720. package/dist/shared-words-Ddz0yUEF.js.map +0 -1
  721. /package/DS1/x-icon/{ezo-password-visibility-see.svg → password-see.svg} +0 -0
  722. /package/DS1/x-icon/{ezo-password-visibility-unsee.svg → password-unsee.svg} +0 -0
@@ -0,0 +1,45 @@
1
+ /** An inline notice in React: the words stay in the light DOM, so they render
2
+ * on the server and read in tests; ds-notice draws them and is the live region.
3
+ * Browser-only registration of ds-notice stays in the product's runtime entry. */
4
+ import { type HTMLAttributes, type ReactNode } from "react";
5
+ import type { Notice as NoticeElement, NoticeTone } from "../2-core/ds-notice";
6
+ export type { NoticeTone } from "../2-core/ds-notice";
7
+ export type NoticeProps = Omit<HTMLAttributes<NoticeElement>, "title"> & {
8
+ /** The mark's colour and icon; danger also colours the words. Neutral by default. */
9
+ tone?: NoticeTone;
10
+ /** A title on the first line. */
11
+ heading?: ReactNode;
12
+ /** The text; `children` take its place when given. */
13
+ text?: ReactNode;
14
+ /** An icon from the library in place of the tone's own. */
15
+ icon?: string;
16
+ /** Buttons or links on the row under the words. */
17
+ actions?: ReactNode;
18
+ /** Show the close button. On by default when `onDismiss` is given. */
19
+ dismissible?: boolean;
20
+ /** A strip across the top of its positioning context instead of a block in the flow. */
21
+ banner?: boolean;
22
+ /** The close button was pressed. The product removes the notice; without
23
+ * this callback the element hides itself. */
24
+ onDismiss?: () => void;
25
+ };
26
+ export declare const Notice: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<NoticeElement>, "title"> & {
27
+ /** The mark's colour and icon; danger also colours the words. Neutral by default. */
28
+ tone?: NoticeTone;
29
+ /** A title on the first line. */
30
+ heading?: ReactNode;
31
+ /** The text; `children` take its place when given. */
32
+ text?: ReactNode;
33
+ /** An icon from the library in place of the tone's own. */
34
+ icon?: string;
35
+ /** Buttons or links on the row under the words. */
36
+ actions?: ReactNode;
37
+ /** Show the close button. On by default when `onDismiss` is given. */
38
+ dismissible?: boolean;
39
+ /** A strip across the top of its positioning context instead of a block in the flow. */
40
+ banner?: boolean;
41
+ /** The close button was pressed. The product removes the notice; without
42
+ * this callback the element hides itself. */
43
+ onDismiss?: () => void;
44
+ } & import("react").RefAttributes<NoticeElement>>;
45
+ //# sourceMappingURL=notice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notice.d.ts","sourceRoot":"","sources":["../../DS1/react/notice.ts"],"names":[],"mappings":"AAAA;;kFAEkF;AAClF,OAAO,EAAsE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAChI,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE/E,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,GAAG;IACvE,qFAAqF;IACrF,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,iCAAiC;IACjC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,sDAAsD;IACtD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;iDAC6C;IAC7C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAMF,eAAO,MAAM,MAAM;IAvBjB,qFAAqF;WAC9E,UAAU;IACjB,iCAAiC;cACvB,SAAS;IACnB,sDAAsD;WAC/C,SAAS;IAChB,2DAA2D;WACpD,MAAM;IACb,mDAAmD;cACzC,SAAS;IACnB,sEAAsE;kBACxD,OAAO;IACrB,wFAAwF;aAC/E,OAAO;IAChB;iDAC6C;gBACjC,MAAM,IAAI;iDAkCtB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /** An inline notice in React: the words stay in the light DOM, so they render
2
+ * on the server and read in tests; ds-notice draws them and is the live region.
3
+ * Browser-only registration of ds-notice stays in the product's runtime entry. */
4
+ import { createElement as h, forwardRef, useEffect, useLayoutEffect, useRef } from "react";
5
+ const useCommitEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
6
+ const title = (content) => content == null || content === false || content === "" ? null : h("span", { slot: "heading" }, content);
7
+ export const Notice = forwardRef(function Notice({ tone, heading, text, icon, actions, dismissible, banner, onDismiss, children, ...props }, ref) {
8
+ const host = useRef(null);
9
+ useCommitEffect(() => {
10
+ const element = host.current;
11
+ if (!element || !onDismiss)
12
+ return;
13
+ const dismiss = (event) => {
14
+ if (event.target !== element)
15
+ return;
16
+ event.preventDefault();
17
+ onDismiss();
18
+ };
19
+ element.addEventListener("ds-notice-dismiss", dismiss);
20
+ return () => element.removeEventListener("ds-notice-dismiss", dismiss);
21
+ });
22
+ // The live region is in the markup from the first render, on the server too.
23
+ return h("ds-notice", {
24
+ role: tone === "danger" ? "alert" : "status",
25
+ ...props, tone, icon, banner: banner || undefined, dismissible: (dismissible ?? Boolean(onDismiss)) || undefined,
26
+ ref: (element) => {
27
+ host.current = element;
28
+ if (typeof ref === "function")
29
+ ref(element);
30
+ else if (ref)
31
+ ref.current = element;
32
+ },
33
+ }, title(heading), children ?? text, actions == null || actions === false ? null : h("div", { slot: "actions", style: { display: "contents" } }, actions));
34
+ });
@@ -0,0 +1,10 @@
1
+ import { type HTMLAttributes } from "react";
2
+ import type { Page as PageElement } from "../4-page/ds-page";
3
+ export type PageProps = HTMLAttributes<PageElement> & Partial<Pick<PageElement, "layout" | "divided" | "measure" | "fill" | "view">>;
4
+ /**
5
+ * A standard page. Typed so a React product needs no `IntrinsicElements`
6
+ * entry of its own for `ds-page`; `measure` is a count of squares.
7
+ * Browser-only registration stays in the product's runtime entry for SSR.
8
+ */
9
+ export declare const Page: import("react").ForwardRefExoticComponent<HTMLAttributes<PageElement> & Partial<Pick<PageElement, "fill" | "view" | "layout" | "divided" | "measure">> & import("react").RefAttributes<PageElement>>;
10
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../DS1/react/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AACjF;;;;GAIG;AACH,eAAO,MAAM,IAAI,sMAEf,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { createElement, forwardRef } from "react";
2
+ /**
3
+ * A standard page. Typed so a React product needs no `IntrinsicElements`
4
+ * entry of its own for `ds-page`; `measure` is a count of squares.
5
+ * Browser-only registration stays in the product's runtime entry for SSR.
6
+ */
7
+ export const Page = forwardRef(function Page(props, ref) {
8
+ return createElement("ds-page", { ...props, ref });
9
+ });
@@ -0,0 +1,107 @@
1
+ /** Progress in React. A value against its range puts its role and values in
2
+ * the markup from the first render, on the server too, written in the
3
+ * language. Steps arrive as a property, with what belongs under each step in
4
+ * a vertical sequence slotted from the light DOM. Dots are a group whose
5
+ * picks come back as `onSelect`. Register ds-progress in the browser before
6
+ * hydration. */
7
+ import { type HTMLAttributes, type ReactNode } from "react";
8
+ import type { Progress as ProgressElement, Step } from "../2-core/ds-progress";
9
+ import { type FigureFormat } from "../2-core/figures";
10
+ export type { Step, StepState } from "../2-core/ds-progress";
11
+ export type ProgressProps = Omit<HTMLAttributes<ProgressElement>, "title" | "children" | "onSelect"> & {
12
+ /** The value. Past `max`, it is over. */
13
+ value?: number;
14
+ /** The start of the range, 0 by default. */
15
+ min?: number;
16
+ /** The end of the range, 1 by default. */
17
+ max?: number;
18
+ /** Draw the range in this many squares instead of a bar. */
19
+ squares?: number;
20
+ /** Show it as over whatever its value. */
21
+ over?: boolean;
22
+ /** What the value says, in place of "7 of 10". */
23
+ valuetext?: string;
24
+ /** How the value and the range are written in the words. */
25
+ format?: FigureFormat;
26
+ /** The ISO 4217 code for money. */
27
+ currency?: string;
28
+ /** The money is counted in the currency's minor unit. */
29
+ minor?: boolean;
30
+ /** Money in whole units only. */
31
+ whole?: boolean;
32
+ /** Decimals in the words. */
33
+ digits?: number;
34
+ /** Write the words in this language rather than the current one. */
35
+ language?: string;
36
+ /** A sequence: the steps in order, names or `{ label, state, href }`. */
37
+ steps?: Step[];
38
+ /** The number of the current step, counted from 1. */
39
+ current?: number;
40
+ /** One step to a row, with `bodies` under them. */
41
+ vertical?: boolean;
42
+ /** In a vertical sequence, what belongs under each step, by its place in `steps`. */
43
+ bodies?: ReactNode[];
44
+ /** A dot for each of this many pages. */
45
+ dots?: number;
46
+ /** The current dot, from 0. */
47
+ active?: number;
48
+ /** Draw the last dot as an end marker. */
49
+ end?: boolean;
50
+ /** Each dot's name, with `{index}` for its number from 1. */
51
+ dotLabel?: string;
52
+ /** A person picked a dot. */
53
+ onSelect?: (index: number, previous: number) => void;
54
+ /** The element's name for assistive technology. */
55
+ label?: string;
56
+ /** Show the words as written, never looked up. On by default: React writes its own words. */
57
+ literal?: boolean;
58
+ };
59
+ export declare const Progress: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<ProgressElement>, "title" | "children" | "onSelect"> & {
60
+ /** The value. Past `max`, it is over. */
61
+ value?: number;
62
+ /** The start of the range, 0 by default. */
63
+ min?: number;
64
+ /** The end of the range, 1 by default. */
65
+ max?: number;
66
+ /** Draw the range in this many squares instead of a bar. */
67
+ squares?: number;
68
+ /** Show it as over whatever its value. */
69
+ over?: boolean;
70
+ /** What the value says, in place of "7 of 10". */
71
+ valuetext?: string;
72
+ /** How the value and the range are written in the words. */
73
+ format?: FigureFormat;
74
+ /** The ISO 4217 code for money. */
75
+ currency?: string;
76
+ /** The money is counted in the currency's minor unit. */
77
+ minor?: boolean;
78
+ /** Money in whole units only. */
79
+ whole?: boolean;
80
+ /** Decimals in the words. */
81
+ digits?: number;
82
+ /** Write the words in this language rather than the current one. */
83
+ language?: string;
84
+ /** A sequence: the steps in order, names or `{ label, state, href }`. */
85
+ steps?: Step[];
86
+ /** The number of the current step, counted from 1. */
87
+ current?: number;
88
+ /** One step to a row, with `bodies` under them. */
89
+ vertical?: boolean;
90
+ /** In a vertical sequence, what belongs under each step, by its place in `steps`. */
91
+ bodies?: ReactNode[];
92
+ /** A dot for each of this many pages. */
93
+ dots?: number;
94
+ /** The current dot, from 0. */
95
+ active?: number;
96
+ /** Draw the last dot as an end marker. */
97
+ end?: boolean;
98
+ /** Each dot's name, with `{index}` for its number from 1. */
99
+ dotLabel?: string;
100
+ /** A person picked a dot. */
101
+ onSelect?: (index: number, previous: number) => void;
102
+ /** The element's name for assistive technology. */
103
+ label?: string;
104
+ /** Show the words as written, never looked up. On by default: React writes its own words. */
105
+ literal?: boolean;
106
+ } & import("react").RefAttributes<ProgressElement>>;
107
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../DS1/react/progress.ts"],"names":[],"mappings":"AAAA;;;;;gBAKgB;AAChB,OAAO,EAAsE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAChI,OAAO,KAAK,EAAE,QAAQ,IAAI,eAAe,EAAwB,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC7D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG;IACrG,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iCAAiC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAIF,eAAO,MAAM,QAAQ;IAlDnB,yCAAyC;YACjC,MAAM;IACd,4CAA4C;UACtC,MAAM;IACZ,0CAA0C;UACpC,MAAM;IACZ,4DAA4D;cAClD,MAAM;IAChB,0CAA0C;WACnC,OAAO;IACd,kDAAkD;gBACtC,MAAM;IAClB,4DAA4D;aACnD,YAAY;IACrB,mCAAmC;eACxB,MAAM;IACjB,yDAAyD;YACjD,OAAO;IACf,iCAAiC;YACzB,OAAO;IACf,6BAA6B;aACpB,MAAM;IACf,oEAAoE;eACzD,MAAM;IACjB,yEAAyE;YACjE,IAAI,EAAE;IACd,sDAAsD;cAC5C,MAAM;IAChB,mDAAmD;eACxC,OAAO;IAClB,qFAAqF;aAC5E,SAAS,EAAE;IACpB,yCAAyC;WAClC,MAAM;IACb,+BAA+B;aACtB,MAAM;IACf,0CAA0C;UACpC,OAAO;IACb,6DAA6D;eAClD,MAAM;IACjB,6BAA6B;eAClB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI;IACpD,mDAAmD;YAC3C,MAAM;IACd,6FAA6F;cACnF,OAAO;mDAyCjB,CAAC"}
@@ -0,0 +1,47 @@
1
+ /** Progress in React. A value against its range puts its role and values in
2
+ * the markup from the first render, on the server too, written in the
3
+ * language. Steps arrive as a property, with what belongs under each step in
4
+ * a vertical sequence slotted from the light DOM. Dots are a group whose
5
+ * picks come back as `onSelect`. Register ds-progress in the browser before
6
+ * hydration. */
7
+ import { createElement as h, forwardRef, useEffect, useLayoutEffect, useRef } from "react";
8
+ import { meterAria } from "../2-core/figures";
9
+ const useCommitEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
10
+ export const Progress = forwardRef(function Progress({ value, min = 0, max = 1, squares, over, valuetext, format, currency, minor, whole, digits, language, steps, current, vertical, bodies, dots, active, end, dotLabel, onSelect, label, literal = true, ...props }, ref) {
11
+ const host = useRef(null);
12
+ useCommitEffect(() => {
13
+ const element = host.current;
14
+ if (!element || !onSelect)
15
+ return;
16
+ const select = (event) => {
17
+ if (event.target !== element)
18
+ return;
19
+ const { index, previous } = event.detail;
20
+ onSelect(index, previous);
21
+ };
22
+ element.addEventListener("select", select);
23
+ return () => element.removeEventListener("select", select);
24
+ });
25
+ const attach = (element) => {
26
+ host.current = element;
27
+ if (typeof ref === "function")
28
+ ref(element);
29
+ else if (ref)
30
+ ref.current = element;
31
+ };
32
+ if (steps) {
33
+ return h("ds-progress", { ...props, steps, current, vertical: vertical || undefined, label, literal: literal || undefined, ref: attach }, vertical ? bodies?.map((body, index) => body == null || body === false
34
+ ? null
35
+ : h("div", { key: index, slot: `step-${index + 1}`, style: { display: "contents" } }, body)) : null);
36
+ }
37
+ if (dots !== undefined) {
38
+ return h("ds-progress", { role: "group", "aria-label": label, ...props, dots, active, end: end || undefined, "dot-label": dotLabel, label, literal: literal || undefined, ref: attach });
39
+ }
40
+ const aria = meterAria(value ?? 0, min, max, { over, format, currency, minor, whole, digits, language });
41
+ return h("ds-progress", {
42
+ role: "meter", "aria-valuenow": aria.now, "aria-valuemin": aria.min, "aria-valuemax": aria.max,
43
+ "aria-valuetext": valuetext || aria.text, "aria-label": label,
44
+ ...props, value: value ?? 0, min, max, squares, over: over || undefined, label, valuetext, format, currency,
45
+ minor: minor || undefined, whole: whole || undefined, digits, literal: literal || undefined, ref: attach,
46
+ });
47
+ });
@@ -0,0 +1,54 @@
1
+ /** A sidebar in React: the rows go to ds-sidebar as a property, its events come
2
+ * back as callbacks; `tree` makes it a tree of nested things. Browser-only
3
+ * registration of ds-sidebar stays in the product's runtime entry; on the
4
+ * server the element renders empty and fills on load. */
5
+ import { type HTMLAttributes } from "react";
6
+ import type { Sidebar as SidebarElement, SidebarItem, SidebarMoveDetail } from "../3-unit/ds-sidebar";
7
+ export type { SidebarItem, SidebarMoveDetail };
8
+ export type SidebarProps = Omit<HTMLAttributes<SidebarElement>, "onSelect" | "onToggle"> & {
9
+ /** The visible rows, in order; leave out the children of a closed row. */
10
+ items: SidebarItem[];
11
+ /** The navigation's or the tree's accessible name. */
12
+ label?: string;
13
+ /** The empty state's words. */
14
+ empty?: string;
15
+ /** A tree of nested things instead of navigation. */
16
+ tree?: boolean;
17
+ disclosurePosition?: "start" | "end";
18
+ expandIcon?: string;
19
+ collapseIcon?: string;
20
+ reorderable?: boolean;
21
+ onMove?: (move: SidebarMoveDetail) => void;
22
+ /** A row asks to open (`true`) or close. */
23
+ onToggle?: (id: string, expanded: boolean) => void;
24
+ /** A click, Space or Enter chose a tree row. */
25
+ onSelect?: (id: string) => void;
26
+ /** A row was pressed (navigation), or Enter or a double click opened one (a tree). */
27
+ onActivate?: (id: string) => void;
28
+ /** A row's own action was pressed. */
29
+ onAction?: (id: string, action: string) => void;
30
+ };
31
+ export declare const Sidebar: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<SidebarElement>, "onToggle" | "onSelect"> & {
32
+ /** The visible rows, in order; leave out the children of a closed row. */
33
+ items: SidebarItem[];
34
+ /** The navigation's or the tree's accessible name. */
35
+ label?: string;
36
+ /** The empty state's words. */
37
+ empty?: string;
38
+ /** A tree of nested things instead of navigation. */
39
+ tree?: boolean;
40
+ disclosurePosition?: "start" | "end";
41
+ expandIcon?: string;
42
+ collapseIcon?: string;
43
+ reorderable?: boolean;
44
+ onMove?: (move: SidebarMoveDetail) => void;
45
+ /** A row asks to open (`true`) or close. */
46
+ onToggle?: (id: string, expanded: boolean) => void;
47
+ /** A click, Space or Enter chose a tree row. */
48
+ onSelect?: (id: string) => void;
49
+ /** A row was pressed (navigation), or Enter or a double click opened one (a tree). */
50
+ onActivate?: (id: string) => void;
51
+ /** A row's own action was pressed. */
52
+ onAction?: (id: string, action: string) => void;
53
+ } & import("react").RefAttributes<SidebarElement>>;
54
+ //# sourceMappingURL=sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../DS1/react/sidebar.ts"],"names":[],"mappings":"AAAA;;;yDAGyD;AACzD,OAAO,EAAsE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAChH,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEtG,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG;IACzF,0EAA0E;IAC1E,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC3C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,gDAAgD;IAChD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,sFAAsF;IACtF,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD,CAAC;AAIF,eAAO,MAAM,OAAO;IAxBlB,0EAA0E;WACnE,WAAW,EAAE;IACpB,sDAAsD;YAC9C,MAAM;IACd,+BAA+B;YACvB,MAAM;IACd,qDAAqD;WAC9C,OAAO;yBACO,OAAO,GAAG,KAAK;iBAAe,MAAM;mBAC1C,MAAM;kBACP,OAAO;aACZ,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;IAC1C,4CAA4C;eACjC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI;IAClD,gDAAgD;eACrC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;IAC/B,sFAAsF;iBACzE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;IACjC,sCAAsC;eAC3B,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI;kDAyC/C,CAAC"}
@@ -0,0 +1,48 @@
1
+ /** A sidebar in React: the rows go to ds-sidebar as a property, its events come
2
+ * back as callbacks; `tree` makes it a tree of nested things. Browser-only
3
+ * registration of ds-sidebar stays in the product's runtime entry; on the
4
+ * server the element renders empty and fills on load. */
5
+ import { createElement as h, forwardRef, useEffect, useLayoutEffect, useRef } from "react";
6
+ const useCommitEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
7
+ export const Sidebar = forwardRef(function Sidebar({ items, label, empty, tree, expandIcon, collapseIcon, disclosurePosition, reorderable, onMove, onToggle, onSelect, onActivate, onAction, ...props }, ref) {
8
+ const host = useRef(null);
9
+ useCommitEffect(() => {
10
+ const element = host.current;
11
+ if (!element)
12
+ return;
13
+ element.items = items;
14
+ element.disclosurePosition = disclosurePosition;
15
+ element.expandIcon = expandIcon;
16
+ element.collapseIcon = collapseIcon;
17
+ element.reorderable = Boolean(reorderable);
18
+ }, [items, expandIcon, collapseIcon, disclosurePosition, reorderable]);
19
+ useCommitEffect(() => {
20
+ const element = host.current;
21
+ if (!element)
22
+ return;
23
+ const detail = (event) => event.detail;
24
+ const toggle = (event) => { const d = detail(event); onToggle?.(d.id, Boolean(d.expanded)); };
25
+ const select = (event) => onSelect?.(detail(event).id);
26
+ const activate = (event) => onActivate?.(detail(event).id);
27
+ const action = (event) => { const d = detail(event); onAction?.(d.id, d.action ?? ""); };
28
+ const move = (event) => onMove?.(event.detail);
29
+ element.addEventListener("sidebar-move", move);
30
+ element.addEventListener("sidebar-toggle", toggle);
31
+ element.addEventListener("sidebar-select", select);
32
+ element.addEventListener("sidebar-activate", activate);
33
+ element.addEventListener("sidebar-action", action);
34
+ return () => {
35
+ element.removeEventListener("sidebar-move", move);
36
+ element.removeEventListener("sidebar-toggle", toggle);
37
+ element.removeEventListener("sidebar-select", select);
38
+ element.removeEventListener("sidebar-activate", activate);
39
+ element.removeEventListener("sidebar-action", action);
40
+ };
41
+ });
42
+ return h("ds-sidebar", { ...props, label, empty, tree: tree || undefined,
43
+ ref: (element) => { host.current = element; if (typeof ref === "function")
44
+ ref(element);
45
+ else if (ref)
46
+ ref.current = element; },
47
+ });
48
+ });
@@ -0,0 +1,78 @@
1
+ /** A stat in React: the label, the figure and the caption stay in the light
2
+ * DOM, the figure already written in the language, so they render on the
3
+ * server and read in tests; ds-stat draws them and the change. Browser-only
4
+ * registration of ds-stat stays in the product's runtime entry. */
5
+ import { type HTMLAttributes, type ReactNode } from "react";
6
+ import type { Stat as StatElement, StatTone } from "../2-core/ds-stat";
7
+ import { type FigureFormat } from "../2-core/figures";
8
+ export type { StatTone } from "../2-core/ds-stat";
9
+ export type { FigureFormat } from "../2-core/figures";
10
+ export type StatProps = Omit<HTMLAttributes<StatElement>, "title"> & {
11
+ /** What the figure is. */
12
+ label?: ReactNode;
13
+ /** The figure, written as `format` says in the current language (or `language`). */
14
+ value?: number;
15
+ /** Words or markup in place of the value ("Incomplete"). */
16
+ figure?: ReactNode;
17
+ /** How the value is written: number (the default), compact, percent (a fraction) or money. */
18
+ format?: FigureFormat;
19
+ /** The ISO 4217 code for money. */
20
+ currency?: string;
21
+ /** The money is counted in the currency's minor unit. */
22
+ minor?: boolean;
23
+ /** Money in whole units only. */
24
+ whole?: boolean;
25
+ /** Decimals, at least and at most. */
26
+ digits?: number;
27
+ /** A change, written with its sign and an up or down icon at the start of the caption. */
28
+ change?: number;
29
+ /** How the change is written; the value's format by default. */
30
+ changeFormat?: FigureFormat;
31
+ /** The change in that colour, where the page knows which way is bad. */
32
+ changeTone?: StatTone;
33
+ /** A line under the figure. */
34
+ caption?: ReactNode;
35
+ /** An icon from the library on its own square before the label. */
36
+ icon?: string;
37
+ /** The figure in that colour. */
38
+ tone?: StatTone;
39
+ /** Each digit in a cell of one width, for a face whose digits differ in width. */
40
+ cells?: boolean;
41
+ /** Write the figure in this language rather than the current one, as a server answering a request does. */
42
+ language?: string;
43
+ };
44
+ export declare const Stat: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<StatElement>, "title"> & {
45
+ /** What the figure is. */
46
+ label?: ReactNode;
47
+ /** The figure, written as `format` says in the current language (or `language`). */
48
+ value?: number;
49
+ /** Words or markup in place of the value ("Incomplete"). */
50
+ figure?: ReactNode;
51
+ /** How the value is written: number (the default), compact, percent (a fraction) or money. */
52
+ format?: FigureFormat;
53
+ /** The ISO 4217 code for money. */
54
+ currency?: string;
55
+ /** The money is counted in the currency's minor unit. */
56
+ minor?: boolean;
57
+ /** Money in whole units only. */
58
+ whole?: boolean;
59
+ /** Decimals, at least and at most. */
60
+ digits?: number;
61
+ /** A change, written with its sign and an up or down icon at the start of the caption. */
62
+ change?: number;
63
+ /** How the change is written; the value's format by default. */
64
+ changeFormat?: FigureFormat;
65
+ /** The change in that colour, where the page knows which way is bad. */
66
+ changeTone?: StatTone;
67
+ /** A line under the figure. */
68
+ caption?: ReactNode;
69
+ /** An icon from the library on its own square before the label. */
70
+ icon?: string;
71
+ /** The figure in that colour. */
72
+ tone?: StatTone;
73
+ /** Each digit in a cell of one width, for a face whose digits differ in width. */
74
+ cells?: boolean;
75
+ /** Write the figure in this language rather than the current one, as a server answering a request does. */
76
+ language?: string;
77
+ } & import("react").RefAttributes<StatElement>>;
78
+ //# sourceMappingURL=stat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat.d.ts","sourceRoot":"","sources":["../../DS1/react/stat.ts"],"names":[],"mappings":"AAAA;;;mEAGmE;AACnE,OAAO,EAAsD,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAChH,OAAO,KAAK,EAAE,IAAI,IAAI,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjF,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IACnE,0BAA0B;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iCAAiC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wEAAwE;IACxE,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAiBF,eAAO,MAAM,IAAI;IAjDf,0BAA0B;YAClB,SAAS;IACjB,oFAAoF;YAC5E,MAAM;IACd,4DAA4D;aACnD,SAAS;IAClB,8FAA8F;aACrF,YAAY;IACrB,mCAAmC;eACxB,MAAM;IACjB,yDAAyD;YACjD,OAAO;IACf,iCAAiC;YACzB,OAAO;IACf,sCAAsC;aAC7B,MAAM;IACf,0FAA0F;aACjF,MAAM;IACf,gEAAgE;mBACjD,YAAY;IAC3B,wEAAwE;iBAC3D,QAAQ;IACrB,+BAA+B;cACrB,SAAS;IACnB,mEAAmE;WAC5D,MAAM;IACb,iCAAiC;WAC1B,QAAQ;IACf,kFAAkF;YAC1E,OAAO;IACf,2GAA2G;eAChG,MAAM;+CA8BjB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /** A stat in React: the label, the figure and the caption stay in the light
2
+ * DOM, the figure already written in the language, so they render on the
3
+ * server and read in tests; ds-stat draws them and the change. Browser-only
4
+ * registration of ds-stat stays in the product's runtime entry. */
5
+ import { createElement as h, forwardRef } from "react";
6
+ import { figureCells, formatFigure } from "../2-core/figures";
7
+ const hiddenWords = { position: "absolute", width: "1px", height: "1px", overflow: "hidden", clipPath: "inset(50%)", whiteSpace: "nowrap" };
8
+ const digitCell = { display: "inline-block", width: "var(--ds-stat-digit, 1ch)", textAlign: "center" };
9
+ const slot = (name, content) => content == null || content === false || content === "" ? null : h("span", { slot: name }, content);
10
+ /** The figure as text, or its digits in cells of one width with the whole read once. */
11
+ function drawn(text, cells) {
12
+ if (!cells)
13
+ return text;
14
+ return [
15
+ h("span", { key: "words", style: hiddenWords }, text),
16
+ h("span", { key: "cells", "aria-hidden": "true" }, figureCells(text).map((cell, index) => cell.digit ? h("span", { key: index, style: digitCell }, cell.text) : cell.text)),
17
+ ];
18
+ }
19
+ export const Stat = forwardRef(function Stat({ label, value, figure, format, currency, minor, whole, digits, change, changeFormat, changeTone, caption, icon, tone, cells, language, children, ...props }, ref) {
20
+ const text = figure ?? (typeof value === "number" ? formatFigure(value, { format, currency, minor, whole, digits, language }) : null);
21
+ return h("ds-stat", {
22
+ ...props, format, currency, minor: minor || undefined, whole: whole || undefined, digits, change,
23
+ "change-format": changeFormat, "change-tone": changeTone, icon, tone, cells: cells || undefined, ref,
24
+ }, slot("label", label), slot("figure", typeof text === "string" ? drawn(text, cells) : text), children, slot("caption", caption));
25
+ });
@@ -0,0 +1,37 @@
1
+ import { type HTMLAttributes } from "react";
2
+ import type { Toaster as ToasterElement, ToastId, ToastOptions, ToastPosition, ToastPromiseMessages } from "../2-core/ds-toast";
3
+ /** Show a toast, as Sonner's `toast()`. Returns its id. */
4
+ export declare const toast: ((title: string, options?: ToastOptions) => ToastId) & {
5
+ message: (title: string, options?: ToastOptions) => ToastId;
6
+ success: (title: string, options?: ToastOptions) => ToastId;
7
+ info: (title: string, options?: ToastOptions) => ToastId;
8
+ warning: (title: string, options?: ToastOptions) => ToastId;
9
+ error: (title: string, options?: ToastOptions) => ToastId;
10
+ loading: (title: string, options?: ToastOptions) => ToastId;
11
+ promise<T>(promise: Promise<T> | (() => Promise<T>), messages: ToastPromiseMessages<T>): ToastId;
12
+ dismiss(id?: ToastId): ToastId | undefined;
13
+ };
14
+ export type ToasterProps = HTMLAttributes<ToasterElement> & {
15
+ position?: ToastPosition;
16
+ expand?: boolean;
17
+ visibleToasts?: number;
18
+ duration?: number;
19
+ closeButton?: boolean;
20
+ richColors?: boolean;
21
+ contained?: boolean;
22
+ label?: string;
23
+ closeLabel?: string;
24
+ };
25
+ export declare const Toaster: import("react").ForwardRefExoticComponent<HTMLAttributes<ToasterElement> & {
26
+ position?: ToastPosition;
27
+ expand?: boolean;
28
+ visibleToasts?: number;
29
+ duration?: number;
30
+ closeButton?: boolean;
31
+ richColors?: boolean;
32
+ contained?: boolean;
33
+ label?: string;
34
+ closeLabel?: string;
35
+ } & import("react").RefAttributes<ToasterElement>>;
36
+ export type { ToastButton, ToastData, ToastId, ToastOptions, ToastPosition, ToastPromiseMessages, ToastType } from "../2-core/ds-toast";
37
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../DS1/react/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAuChI,2DAA2D;AAC3D,eAAO,MAAM,KAAK,WACR,MAAM,YAAY,YAAY,KAAG,OAAO;qBAE7B,MAAM,YAAY,YAAY,KAAG,OAAO;qBACxC,MAAM,YAAY,YAAY,KAAG,OAAO;kBAC3C,MAAM,YAAY,YAAY,KAAG,OAAO;qBACrC,MAAM,YAAY,YAAY,KAAG,OAAO;mBAC1C,MAAM,YAAY,YAAY,KAAG,OAAO;qBACtC,MAAM,YAAY,YAAY,KAAG,OAAO;YACjD,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,oBAAoB,CAAC,CAAC,CAAC,GAAG,OAAO;iBAKnF,OAAO,GAAG,OAAO,GAAG,SAAS;CAK7C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC1D,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,eAAO,MAAM,OAAO;eAVP,aAAa;aACf,OAAO;oBACA,MAAM;eACX,MAAM;kBACH,OAAO;iBACR,OAAO;gBACR,OAAO;YACX,MAAM;iBACD,MAAM;kDASnB,CAAC;AACH,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { createElement, forwardRef, useEffect } from "react";
2
+ let runtime;
3
+ let loading;
4
+ const waiting = [];
5
+ let lastId = 0;
6
+ function load() {
7
+ if (runtime || loading || typeof window === "undefined")
8
+ return;
9
+ loading = import("../2-core/ds-toast").then(module => {
10
+ runtime = module.toast;
11
+ for (const call of waiting.splice(0))
12
+ call(runtime);
13
+ }, () => { loading = undefined; });
14
+ }
15
+ function run(call) {
16
+ if (runtime) {
17
+ call(runtime);
18
+ return;
19
+ }
20
+ if (typeof window === "undefined")
21
+ return;
22
+ waiting.push(call);
23
+ load();
24
+ }
25
+ function show(kind, title, options) {
26
+ const id = options?.id ?? `toast-${++lastId}`;
27
+ run(toast => (kind ? toast[kind] : toast)(title, { ...options, id }));
28
+ return id;
29
+ }
30
+ /** Show a toast, as Sonner's `toast()`. Returns its id. */
31
+ export const toast = Object.assign((title, options) => show(undefined, title, options), {
32
+ message: (title, options) => show("message", title, options),
33
+ success: (title, options) => show("success", title, options),
34
+ info: (title, options) => show("info", title, options),
35
+ warning: (title, options) => show("warning", title, options),
36
+ error: (title, options) => show("error", title, options),
37
+ loading: (title, options) => show("loading", title, options),
38
+ promise(promise, messages) {
39
+ const id = messages.id ?? `toast-${++lastId}`;
40
+ run(toast => toast.promise(promise, { ...messages, id }));
41
+ return id;
42
+ },
43
+ dismiss(id) {
44
+ run(toast => toast.dismiss(id));
45
+ return id;
46
+ },
47
+ });
48
+ export const Toaster = forwardRef(function Toaster({ visibleToasts, closeButton, richColors, closeLabel, expand, contained, ...props }, ref) {
49
+ useEffect(load, []);
50
+ return createElement("ds-toast", {
51
+ ...props, ref,
52
+ "visible-toasts": visibleToasts, "close-label": closeLabel,
53
+ expand: expand || undefined, "close-button": closeButton || undefined, "rich-colors": richColors || undefined, contained: contained || undefined,
54
+ });
55
+ });