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

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 (771) 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 +13 -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 +887 -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/kbd.css +46 -0
  66. package/DS1/1-root/library-tokens.ts +91 -0
  67. package/DS1/1-root/measures.ts +53 -0
  68. package/DS1/1-root/notice.css +165 -0
  69. package/DS1/1-root/one.css +14 -84
  70. package/DS1/1-root/one.semantic.css +200 -148
  71. package/DS1/1-root/palette.css +58 -0
  72. package/DS1/1-root/palette.ts +19 -0
  73. package/DS1/1-root/progress.css +356 -0
  74. package/DS1/1-root/prose.css +202 -0
  75. package/DS1/1-root/row.css +297 -0
  76. package/DS1/1-root/table.css +111 -0
  77. package/DS1/1-root/text.css +70 -0
  78. package/DS1/2-core/button-split.ts +55 -0
  79. package/DS1/2-core/chart/chart.css +169 -0
  80. package/DS1/2-core/chart/grid-chart.ts +554 -0
  81. package/DS1/2-core/ds-avatar.ts +25 -6
  82. package/DS1/2-core/ds-badge.ts +10 -10
  83. package/DS1/2-core/ds-button.ts +111 -26
  84. package/DS1/2-core/ds-card.ts +135 -105
  85. package/DS1/2-core/ds-chart.ts +327 -0
  86. package/DS1/2-core/ds-composer.ts +8 -2
  87. package/DS1/2-core/ds-cycle.ts +97 -21
  88. package/DS1/2-core/ds-empty.ts +120 -0
  89. package/DS1/2-core/ds-icon.ts +11 -2
  90. package/DS1/2-core/ds-input.ts +165 -6
  91. package/DS1/2-core/ds-kbd.ts +78 -0
  92. package/DS1/2-core/ds-loading.ts +72 -0
  93. package/DS1/2-core/ds-notice.ts +180 -0
  94. package/DS1/2-core/ds-progress.ts +380 -0
  95. package/DS1/2-core/ds-spacing-handle.ts +22 -0
  96. package/DS1/2-core/ds-stat.ts +174 -0
  97. package/DS1/2-core/ds-switch.ts +1 -0
  98. package/DS1/2-core/ds-text.ts +15 -2
  99. package/DS1/2-core/ds-toast.ts +354 -0
  100. package/DS1/2-core/figures.ts +105 -0
  101. package/DS1/2-core/generated/ds-icon-map.ts +234 -128
  102. package/DS1/2-core/generated/icon-avatar.ts +2 -0
  103. package/DS1/2-core/generated/icons-extra.ts +118 -65
  104. package/DS1/2-core/generated/icons-immediate.ts +1 -1
  105. package/DS1/2-core/spacing-handle.ts +95 -0
  106. package/DS1/2-core/styles/ds-avatar.css +9 -8
  107. package/DS1/2-core/styles/ds-button-host.css +26 -3
  108. package/DS1/2-core/styles/ds-button-split.css +67 -0
  109. package/DS1/2-core/styles/ds-button.css +49 -15
  110. package/DS1/2-core/styles/ds-card.css +34 -0
  111. package/DS1/2-core/styles/ds-composer.css +13 -0
  112. package/DS1/2-core/styles/ds-cycle.css +69 -0
  113. package/DS1/2-core/styles/ds-empty.css +18 -0
  114. package/DS1/2-core/styles/ds-gap.css +1 -0
  115. package/DS1/2-core/styles/ds-icon.css +1 -0
  116. package/DS1/2-core/styles/ds-input.css +59 -6
  117. package/DS1/2-core/styles/ds-kbd.css +12 -0
  118. package/DS1/2-core/styles/ds-loading.css +13 -0
  119. package/DS1/2-core/styles/ds-notice.css +30 -0
  120. package/DS1/2-core/styles/ds-progress.css +25 -0
  121. package/DS1/2-core/styles/ds-select.css +2 -2
  122. package/DS1/2-core/styles/ds-spacing-handle.css +8 -0
  123. package/DS1/2-core/styles/ds-split.css +2 -62
  124. package/DS1/2-core/styles/ds-stat.css +34 -0
  125. package/DS1/2-core/styles/ds-switch.css +16 -1
  126. package/DS1/2-core/styles/ds-text.css +43 -12
  127. package/DS1/2-core/styles/ds-toast.css +182 -0
  128. package/DS1/2-core/styles/ds-tooltip.css +1 -0
  129. package/DS1/3-unit/calendar-base.ts +263 -0
  130. package/DS1/3-unit/ds-accordion.ts +9 -1
  131. package/DS1/3-unit/ds-avatar-group.ts +1 -0
  132. package/DS1/3-unit/ds-calendar-large.ts +349 -0
  133. package/DS1/3-unit/ds-calendar.ts +344 -0
  134. package/DS1/3-unit/ds-carousel.ts +368 -0
  135. package/DS1/3-unit/ds-date-picker.ts +540 -0
  136. package/DS1/3-unit/ds-form.ts +45 -37
  137. package/DS1/3-unit/ds-list.ts +48 -1
  138. package/DS1/3-unit/ds-matrix.ts +318 -0
  139. package/DS1/3-unit/ds-menu.ts +8 -4
  140. package/DS1/3-unit/ds-row.ts +84 -1
  141. package/DS1/3-unit/ds-sidebar.ts +280 -0
  142. package/DS1/3-unit/ds-table.ts +75 -34
  143. package/DS1/3-unit/styles/ds-accordion.css +1 -0
  144. package/DS1/3-unit/styles/ds-avatar-group.css +2 -4
  145. package/DS1/3-unit/styles/ds-calendar-large.css +165 -0
  146. package/DS1/3-unit/styles/ds-calendar.css +238 -0
  147. package/DS1/3-unit/styles/ds-carousel.css +30 -0
  148. package/DS1/3-unit/styles/ds-date-picker.css +124 -0
  149. package/DS1/3-unit/styles/ds-list.css +1 -0
  150. package/DS1/3-unit/styles/ds-matrix.css +203 -0
  151. package/DS1/3-unit/styles/ds-menu.css +31 -6
  152. package/DS1/3-unit/styles/ds-row.css +84 -2
  153. package/DS1/3-unit/styles/ds-sidebar.css +117 -0
  154. package/DS1/3-unit/styles/ds-table.css +3 -74
  155. package/DS1/4-page/ds-dialog.ts +40 -4
  156. package/DS1/4-page/ds-document.ts +240 -0
  157. package/DS1/4-page/ds-footer.ts +165 -0
  158. package/DS1/4-page/ds-grid.ts +39 -59
  159. package/DS1/4-page/ds-header.ts +171 -0
  160. package/DS1/4-page/ds-page.ts +184 -0
  161. package/DS1/4-page/email.ts +2 -3
  162. package/DS1/4-page/styles/ds-container.css +1 -0
  163. package/DS1/4-page/styles/ds-document.css +18 -0
  164. package/DS1/4-page/styles/ds-footer.css +29 -0
  165. package/DS1/4-page/styles/ds-grid.css +31 -85
  166. package/DS1/4-page/styles/ds-header.css +57 -0
  167. package/DS1/4-page/styles/ds-page.css +214 -0
  168. package/DS1/components.ts +7 -1
  169. package/DS1/index.ts +26 -6
  170. package/DS1/react/avatar.ts +4 -5
  171. package/DS1/react/button-split.ts +29 -0
  172. package/DS1/react/button.ts +32 -13
  173. package/DS1/react/carousel.ts +76 -0
  174. package/DS1/react/dialog.ts +36 -5
  175. package/DS1/react/document.ts +14 -0
  176. package/DS1/react/empty.ts +32 -0
  177. package/DS1/react/footer.ts +17 -0
  178. package/DS1/react/header.ts +15 -0
  179. package/DS1/react/input.ts +28 -17
  180. package/DS1/react/kbd.ts +21 -0
  181. package/DS1/react/loading.ts +18 -0
  182. package/DS1/react/notice.ts +59 -0
  183. package/DS1/react/page.ts +13 -0
  184. package/DS1/react/progress.ts +99 -0
  185. package/DS1/react/sidebar.ts +60 -0
  186. package/DS1/react/spacing-handle.ts +21 -0
  187. package/DS1/react/stat.ts +73 -0
  188. package/DS1/react/toast.ts +82 -0
  189. package/DS1/x-icon/Tabler-LICENSE.md +27 -0
  190. package/DS1/x-icon/airtable.svg +5 -0
  191. package/DS1/x-icon/attach.svg +3 -0
  192. package/DS1/x-icon/audio.svg +3 -0
  193. package/DS1/x-icon/bag-alt.svg +3 -0
  194. package/DS1/x-icon/bank.svg +3 -0
  195. package/DS1/x-icon/banknote.svg +3 -0
  196. package/DS1/x-icon/bolt.svg +3 -0
  197. package/DS1/x-icon/book-alt.svg +3 -0
  198. package/DS1/x-icon/book.svg +4 -0
  199. package/DS1/x-icon/box.svg +3 -0
  200. package/DS1/x-icon/briefcase.svg +3 -0
  201. package/DS1/x-icon/building.svg +4 -0
  202. package/DS1/x-icon/car.svg +3 -0
  203. package/DS1/x-icon/card.svg +3 -0
  204. package/DS1/x-icon/cart.svg +3 -0
  205. package/DS1/x-icon/{ezo-item-button-start.svg → chevron-left.svg} +1 -1
  206. package/DS1/x-icon/{ezo-android-screen-stats.svg → chevron-right.svg} +1 -1
  207. package/DS1/x-icon/cloud.svg +3 -0
  208. package/DS1/x-icon/coffee.svg +3 -0
  209. package/DS1/x-icon/coins.svg +3 -0
  210. package/DS1/x-icon/cursor.svg +3 -0
  211. package/DS1/x-icon/curve.svg +7 -0
  212. package/DS1/x-icon/dislike.svg +4 -0
  213. package/DS1/x-icon/dot-bank.svg +3 -0
  214. package/DS1/x-icon/dot-banknote.svg +3 -0
  215. package/DS1/x-icon/dot-banknotes.svg +3 -0
  216. package/DS1/x-icon/dot-card.svg +3 -0
  217. package/DS1/x-icon/dot-coin.svg +3 -0
  218. package/DS1/x-icon/dot-coins.svg +3 -0
  219. package/DS1/x-icon/dot-receipt.svg +3 -0
  220. package/DS1/x-icon/dot-safe.svg +3 -0
  221. package/DS1/x-icon/dot-transfer.svg +3 -0
  222. package/DS1/x-icon/dot-wallet.svg +3 -0
  223. package/DS1/x-icon/download.svg +4 -0
  224. package/DS1/x-icon/drive.svg +5 -0
  225. package/DS1/x-icon/drop.svg +3 -0
  226. package/DS1/x-icon/dropbox.svg +3 -0
  227. package/DS1/x-icon/dumbbell.svg +3 -0
  228. package/DS1/x-icon/eye-off.svg +3 -0
  229. package/DS1/x-icon/eye.svg +3 -0
  230. package/DS1/x-icon/facebook.svg +3 -0
  231. package/DS1/x-icon/figma.svg +5 -0
  232. package/DS1/x-icon/flame.svg +3 -0
  233. package/DS1/x-icon/flip.svg +5 -0
  234. package/DS1/x-icon/food.svg +3 -0
  235. package/DS1/x-icon/fuel.svg +3 -0
  236. package/DS1/x-icon/game.svg +3 -0
  237. package/DS1/x-icon/gift.svg +3 -0
  238. package/DS1/x-icon/github.svg +3 -0
  239. package/DS1/x-icon/heart.svg +3 -0
  240. package/DS1/x-icon/history.svg +3 -0
  241. package/DS1/x-icon/home-alt.svg +3 -0
  242. package/DS1/x-icon/income.svg +3 -0
  243. package/DS1/x-icon/info.svg +5 -0
  244. package/DS1/x-icon/instagram.svg +5 -0
  245. package/DS1/x-icon/jpbank.svg +3 -0
  246. package/DS1/x-icon/key.svg +4 -0
  247. package/DS1/x-icon/keyboard.svg +3 -0
  248. package/DS1/x-icon/like.svg +4 -0
  249. package/DS1/x-icon/linkedin.svg +7 -0
  250. package/DS1/x-icon/loom.svg +6 -0
  251. package/DS1/x-icon/map.svg +4 -0
  252. package/DS1/x-icon/medical.svg +3 -0
  253. package/DS1/x-icon/{ezo-android-screen-lists.svg → minus.svg} +1 -1
  254. package/DS1/x-icon/moon.svg +3 -0
  255. package/DS1/x-icon/move.svg +3 -0
  256. package/DS1/x-icon/music-alt.svg +3 -0
  257. package/DS1/x-icon/music.svg +5 -0
  258. package/DS1/x-icon/notion.svg +6 -0
  259. package/DS1/x-icon/offline.svg +3 -0
  260. package/DS1/x-icon/pause.svg +4 -0
  261. package/DS1/x-icon/paw.svg +3 -0
  262. package/DS1/x-icon/pdf.svg +3 -0
  263. package/DS1/x-icon/people.svg +5 -0
  264. package/DS1/x-icon/percent.svg +3 -0
  265. package/DS1/x-icon/phone.svg +3 -0
  266. package/DS1/x-icon/pill.svg +3 -0
  267. package/DS1/x-icon/plane.svg +3 -0
  268. package/DS1/x-icon/postal.svg +3 -0
  269. package/DS1/x-icon/present.svg +4 -0
  270. package/DS1/x-icon/reaction.svg +5 -0
  271. package/DS1/x-icon/receipt.svg +3 -0
  272. package/DS1/x-icon/refresh.svg +3 -0
  273. package/DS1/x-icon/refund.svg +3 -0
  274. package/DS1/x-icon/repeat.svg +3 -0
  275. package/DS1/x-icon/rotate.svg +4 -0
  276. package/DS1/x-icon/safe.svg +3 -0
  277. package/DS1/x-icon/school-alt.svg +3 -0
  278. package/DS1/x-icon/shield-alt.svg +3 -0
  279. package/DS1/x-icon/shield.svg +4 -0
  280. package/DS1/x-icon/shirt.svg +3 -0
  281. package/DS1/x-icon/shop.svg +3 -0
  282. package/DS1/x-icon/sign-in.svg +3 -0
  283. package/DS1/x-icon/sign-out.svg +3 -0
  284. package/DS1/x-icon/slack.svg +6 -0
  285. package/DS1/x-icon/sparkle.svg +3 -0
  286. package/DS1/x-icon/start.svg +4 -0
  287. package/DS1/x-icon/{ezo-item-button-reopen.svg → stop.svg} +1 -1
  288. package/DS1/x-icon/sun.svg +3 -0
  289. package/DS1/x-icon/system.svg +4 -0
  290. package/DS1/x-icon/tag.svg +3 -0
  291. package/DS1/x-icon/ticket.svg +3 -0
  292. package/DS1/x-icon/title-struck.svg +4 -0
  293. package/DS1/x-icon/train.svg +3 -0
  294. package/DS1/x-icon/transfer.svg +3 -0
  295. package/DS1/x-icon/tv.svg +3 -0
  296. package/DS1/x-icon/upload.svg +4 -0
  297. package/DS1/x-icon/video.svg +4 -0
  298. package/DS1/x-icon/vimeo.svg +3 -0
  299. package/DS1/x-icon/wallet.svg +3 -0
  300. package/DS1/x-icon/wifi.svg +3 -0
  301. package/DS1/x-icon/window.svg +4 -0
  302. package/DS1/x-icon/wrench.svg +3 -0
  303. package/DS1/x-icon/x-brand.svg +4 -0
  304. package/DS1/x-icon/youtube.svg +4 -0
  305. package/README.md +3 -3
  306. package/dist/0-face/calendar.d.ts +75 -0
  307. package/dist/0-face/calendar.d.ts.map +1 -0
  308. package/dist/0-face/calendar.js +149 -0
  309. package/dist/0-face/carousel.d.ts +174 -0
  310. package/dist/0-face/carousel.d.ts.map +1 -0
  311. package/dist/0-face/carousel.js +583 -0
  312. package/dist/0-face/component-visibility.d.ts +7 -0
  313. package/dist/0-face/component-visibility.d.ts.map +1 -0
  314. package/dist/0-face/component-visibility.js +10 -0
  315. package/dist/0-face/copy-text.d.ts +11 -0
  316. package/dist/0-face/copy-text.d.ts.map +1 -0
  317. package/dist/0-face/copy-text.js +97 -0
  318. package/dist/0-face/device.d.ts +3 -7
  319. package/dist/0-face/device.d.ts.map +1 -1
  320. package/dist/0-face/device.js +7 -41
  321. package/dist/0-face/dialog-swipe.d.ts +49 -0
  322. package/dist/0-face/dialog-swipe.d.ts.map +1 -0
  323. package/dist/0-face/dialog-swipe.js +239 -0
  324. package/dist/0-face/dialogs.d.ts +33 -0
  325. package/dist/0-face/dialogs.d.ts.map +1 -0
  326. package/dist/0-face/dialogs.js +173 -0
  327. package/dist/0-face/drawer.d.ts +64 -0
  328. package/dist/0-face/drawer.d.ts.map +1 -0
  329. package/dist/0-face/drawer.js +256 -0
  330. package/dist/0-face/feedback-words.d.ts +21 -0
  331. package/dist/0-face/feedback-words.d.ts.map +1 -0
  332. package/dist/0-face/feedback-words.js +30 -0
  333. package/dist/0-face/feedback.d.ts +41 -0
  334. package/dist/0-face/feedback.d.ts.map +1 -0
  335. package/dist/0-face/feedback.js +35 -0
  336. package/dist/0-face/format.d.ts +166 -0
  337. package/dist/0-face/format.d.ts.map +1 -0
  338. package/dist/0-face/format.js +445 -0
  339. package/dist/0-face/generated/toast-assets.d.ts +11 -0
  340. package/dist/0-face/generated/toast-assets.d.ts.map +1 -0
  341. package/dist/0-face/generated/toast-assets.js +14 -0
  342. package/dist/0-face/grid-fit.js +1 -1
  343. package/dist/0-face/grid.d.ts.map +1 -1
  344. package/dist/0-face/grid.js +2 -1
  345. package/dist/0-face/header.d.ts +38 -0
  346. package/dist/0-face/header.d.ts.map +1 -0
  347. package/dist/0-face/header.js +80 -0
  348. package/dist/0-face/i18n.d.ts +32 -2
  349. package/dist/0-face/i18n.d.ts.map +1 -1
  350. package/dist/0-face/i18n.js +65 -19
  351. package/dist/0-face/keys.d.ts +104 -0
  352. package/dist/0-face/keys.d.ts.map +1 -0
  353. package/dist/0-face/keys.js +253 -0
  354. package/dist/0-face/languages.d.ts +2 -2
  355. package/dist/0-face/languages.js +3 -3
  356. package/dist/0-face/layout-inspector.js +6 -6
  357. package/dist/0-face/library-styles.d.ts +7 -0
  358. package/dist/0-face/library-styles.d.ts.map +1 -0
  359. package/dist/0-face/library-styles.js +29 -0
  360. package/dist/0-face/load-toaster.d.ts +8 -0
  361. package/dist/0-face/load-toaster.d.ts.map +1 -0
  362. package/dist/0-face/load-toaster.js +7 -0
  363. package/dist/0-face/preference-options.d.ts +34 -0
  364. package/dist/0-face/preference-options.d.ts.map +1 -0
  365. package/dist/0-face/preference-options.js +1 -0
  366. package/dist/0-face/preferences.d.ts +3 -12
  367. package/dist/0-face/preferences.d.ts.map +1 -1
  368. package/dist/0-face/pricing.d.ts +19 -9
  369. package/dist/0-face/pricing.d.ts.map +1 -1
  370. package/dist/0-face/pricing.js +81 -40
  371. package/dist/0-face/scaling.d.ts +71 -1
  372. package/dist/0-face/scaling.d.ts.map +1 -1
  373. package/dist/0-face/scaling.js +108 -3
  374. package/dist/0-face/shared-words.d.ts +9 -4
  375. package/dist/0-face/shared-words.d.ts.map +1 -1
  376. package/dist/0-face/sidebar.d.ts +69 -0
  377. package/dist/0-face/sidebar.d.ts.map +1 -0
  378. package/dist/0-face/sidebar.js +191 -0
  379. package/dist/0-face/theme-bootstrap.d.ts +1 -0
  380. package/dist/0-face/theme-bootstrap.d.ts.map +1 -0
  381. package/dist/0-face/theme-bootstrap.js +214 -0
  382. package/dist/0-face/theme.d.ts +32 -0
  383. package/dist/0-face/theme.d.ts.map +1 -1
  384. package/dist/0-face/theme.js +69 -43
  385. package/dist/0-face/toast-queue.d.ts +110 -0
  386. package/dist/0-face/toast-queue.d.ts.map +1 -0
  387. package/dist/0-face/toast-queue.js +98 -0
  388. package/dist/0-face/toaster.d.ts +27 -0
  389. package/dist/0-face/toaster.d.ts.map +1 -0
  390. package/dist/0-face/toaster.js +373 -0
  391. package/dist/0-face/tooltips.d.ts +24 -1
  392. package/dist/0-face/tooltips.d.ts.map +1 -1
  393. package/dist/0-face/tooltips.js +155 -16
  394. package/dist/0-face/translations/da.json +60 -1
  395. package/dist/0-face/translations/de.json +60 -1
  396. package/dist/0-face/translations/en.json +60 -1
  397. package/dist/0-face/translations/es.json +60 -1
  398. package/dist/0-face/translations/fi.json +60 -1
  399. package/dist/0-face/translations/fr.json +60 -1
  400. package/dist/0-face/translations/is.json +60 -1
  401. package/dist/0-face/translations/it.json +60 -1
  402. package/dist/0-face/translations/ja.json +60 -1
  403. package/dist/0-face/translations/ko.json +60 -1
  404. package/dist/0-face/translations/nb.json +60 -1
  405. package/dist/0-face/translations/pt-BR.json +60 -1
  406. package/dist/0-face/translations/pt.json +60 -1
  407. package/dist/0-face/translations/sv.json +60 -1
  408. package/dist/0-face/translations/zh.json +60 -1
  409. package/dist/0-face/translations-format.d.ts.map +1 -1
  410. package/dist/0-face/translations-format.js +3 -4
  411. package/dist/0-face/tree.d.ts +69 -0
  412. package/dist/0-face/tree.d.ts.map +1 -0
  413. package/dist/0-face/tree.js +191 -0
  414. package/dist/1-root/library-tokens.d.ts +31 -0
  415. package/dist/1-root/library-tokens.d.ts.map +1 -0
  416. package/dist/1-root/library-tokens.js +84 -0
  417. package/dist/1-root/measures.d.ts +52 -0
  418. package/dist/1-root/measures.d.ts.map +1 -0
  419. package/dist/1-root/measures.js +49 -0
  420. package/dist/1-root/palette.d.ts +5 -0
  421. package/dist/1-root/palette.d.ts.map +1 -1
  422. package/dist/1-root/palette.js +18 -0
  423. package/dist/2-core/button-split.d.ts +21 -0
  424. package/dist/2-core/button-split.d.ts.map +1 -0
  425. package/dist/2-core/button-split.js +48 -0
  426. package/dist/2-core/chart/grid-chart.d.ts +113 -0
  427. package/dist/2-core/chart/grid-chart.d.ts.map +1 -0
  428. package/dist/2-core/chart/grid-chart.js +466 -0
  429. package/dist/2-core/ds-avatar.d.ts +20 -3
  430. package/dist/2-core/ds-avatar.d.ts.map +1 -1
  431. package/dist/2-core/ds-avatar.js +19 -5
  432. package/dist/2-core/ds-badge.js +10 -13
  433. package/dist/2-core/ds-banner.d.ts +23 -7
  434. package/dist/2-core/ds-banner.d.ts.map +1 -1
  435. package/dist/2-core/ds-banner.js +48 -12
  436. package/dist/2-core/ds-button.d.ts +76 -0
  437. package/dist/2-core/ds-button.d.ts.map +1 -1
  438. package/dist/2-core/ds-button.js +101 -26
  439. package/dist/2-core/ds-card.d.ts +76 -11
  440. package/dist/2-core/ds-card.d.ts.map +1 -1
  441. package/dist/2-core/ds-card.js +129 -105
  442. package/dist/2-core/ds-chart.d.ts +105 -0
  443. package/dist/2-core/ds-chart.d.ts.map +1 -0
  444. package/dist/2-core/ds-chart.js +390 -0
  445. package/dist/2-core/ds-composer.d.ts +7 -0
  446. package/dist/2-core/ds-composer.d.ts.map +1 -1
  447. package/dist/2-core/ds-composer.js +1 -1
  448. package/dist/2-core/ds-cycle.d.ts +36 -2
  449. package/dist/2-core/ds-cycle.d.ts.map +1 -1
  450. package/dist/2-core/ds-cycle.js +95 -18
  451. package/dist/2-core/ds-empty.d.ts +74 -0
  452. package/dist/2-core/ds-empty.d.ts.map +1 -0
  453. package/dist/2-core/ds-empty.js +96 -0
  454. package/dist/2-core/ds-icon.d.ts +6 -0
  455. package/dist/2-core/ds-icon.d.ts.map +1 -1
  456. package/dist/2-core/ds-icon.js +12 -2
  457. package/dist/2-core/ds-input.d.ts +39 -1
  458. package/dist/2-core/ds-input.d.ts.map +1 -1
  459. package/dist/2-core/ds-input.js +150 -6
  460. package/dist/2-core/ds-kbd.d.ts +48 -0
  461. package/dist/2-core/ds-kbd.d.ts.map +1 -0
  462. package/dist/2-core/ds-kbd.js +65 -0
  463. package/dist/2-core/ds-language.d.ts +8 -1
  464. package/dist/2-core/ds-language.d.ts.map +1 -1
  465. package/dist/2-core/ds-language.js +2 -2
  466. package/dist/2-core/ds-loading.d.ts +40 -0
  467. package/dist/2-core/ds-loading.d.ts.map +1 -0
  468. package/dist/2-core/ds-loading.js +63 -0
  469. package/dist/2-core/ds-meter.d.ts +103 -0
  470. package/dist/2-core/ds-meter.d.ts.map +1 -0
  471. package/dist/2-core/ds-meter.js +124 -0
  472. package/dist/2-core/ds-notice.d.ts +103 -0
  473. package/dist/2-core/ds-notice.d.ts.map +1 -0
  474. package/dist/2-core/ds-notice.js +152 -0
  475. package/dist/2-core/ds-pagedots.d.ts +64 -7
  476. package/dist/2-core/ds-pagedots.d.ts.map +1 -1
  477. package/dist/2-core/ds-pagedots.js +124 -18
  478. package/dist/2-core/ds-progress.d.ts +200 -0
  479. package/dist/2-core/ds-progress.d.ts.map +1 -0
  480. package/dist/2-core/ds-progress.js +319 -0
  481. package/dist/2-core/ds-spacing-handle.d.ts +25 -0
  482. package/dist/2-core/ds-spacing-handle.d.ts.map +1 -0
  483. package/dist/2-core/ds-spacing-handle.js +25 -0
  484. package/dist/2-core/ds-split.d.ts +4 -67
  485. package/dist/2-core/ds-split.d.ts.map +1 -1
  486. package/dist/2-core/ds-split.js +4 -98
  487. package/dist/2-core/ds-stat.d.ts +126 -0
  488. package/dist/2-core/ds-stat.d.ts.map +1 -0
  489. package/dist/2-core/ds-stat.js +137 -0
  490. package/dist/2-core/ds-steps.d.ts +72 -0
  491. package/dist/2-core/ds-steps.d.ts.map +1 -0
  492. package/dist/2-core/ds-steps.js +114 -0
  493. package/dist/2-core/ds-switch.d.ts +1 -0
  494. package/dist/2-core/ds-switch.d.ts.map +1 -1
  495. package/dist/2-core/ds-switch.js +1 -0
  496. package/dist/2-core/ds-text.d.ts +15 -2
  497. package/dist/2-core/ds-text.d.ts.map +1 -1
  498. package/dist/2-core/ds-text.js +13 -0
  499. package/dist/2-core/ds-textarea.d.ts.map +1 -1
  500. package/dist/2-core/ds-textarea.js +1 -0
  501. package/dist/2-core/ds-toast.d.ts +139 -0
  502. package/dist/2-core/ds-toast.d.ts.map +1 -0
  503. package/dist/2-core/ds-toast.js +329 -0
  504. package/dist/2-core/ds-toggle.d.ts +11 -0
  505. package/dist/2-core/ds-toggle.d.ts.map +1 -0
  506. package/dist/2-core/ds-toggle.js +10 -0
  507. package/dist/2-core/figures.d.ts +56 -0
  508. package/dist/2-core/figures.d.ts.map +1 -0
  509. package/dist/2-core/figures.js +70 -0
  510. package/dist/2-core/generated/ds-icon-map.d.ts +118 -65
  511. package/dist/2-core/generated/ds-icon-map.d.ts.map +1 -1
  512. package/dist/2-core/generated/ds-icon-map.js +234 -128
  513. package/dist/2-core/generated/icon-avatar.d.ts +2 -0
  514. package/dist/2-core/generated/icon-avatar.d.ts.map +1 -0
  515. package/dist/2-core/generated/icon-avatar.js +2 -0
  516. package/dist/2-core/generated/icons-extra.d.ts.map +1 -1
  517. package/dist/2-core/generated/icons-extra.js +118 -65
  518. package/dist/2-core/generated/icons-immediate.d.ts +1 -1
  519. package/dist/2-core/generated/icons-immediate.d.ts.map +1 -1
  520. package/dist/2-core/generated/icons-immediate.js +1 -1
  521. package/dist/2-core/spacing-handle.d.ts +28 -0
  522. package/dist/2-core/spacing-handle.d.ts.map +1 -0
  523. package/dist/2-core/spacing-handle.js +146 -0
  524. package/dist/3-unit/calendar-base.d.ts +149 -0
  525. package/dist/3-unit/calendar-base.d.ts.map +1 -0
  526. package/dist/3-unit/calendar-base.js +172 -0
  527. package/dist/3-unit/ds-accordion.d.ts +9 -0
  528. package/dist/3-unit/ds-accordion.d.ts.map +1 -1
  529. package/dist/3-unit/ds-accordion.js +7 -1
  530. package/dist/3-unit/ds-avatar-group.d.ts +1 -0
  531. package/dist/3-unit/ds-avatar-group.d.ts.map +1 -1
  532. package/dist/3-unit/ds-calendar-large.d.ts +138 -0
  533. package/dist/3-unit/ds-calendar-large.d.ts.map +1 -0
  534. package/dist/3-unit/ds-calendar-large.js +305 -0
  535. package/dist/3-unit/ds-calendar.d.ts +175 -0
  536. package/dist/3-unit/ds-calendar.d.ts.map +1 -0
  537. package/dist/3-unit/ds-calendar.js +303 -0
  538. package/dist/3-unit/ds-carousel.d.ts +182 -0
  539. package/dist/3-unit/ds-carousel.d.ts.map +1 -0
  540. package/dist/3-unit/ds-carousel.js +327 -0
  541. package/dist/3-unit/ds-date-picker.d.ts +203 -0
  542. package/dist/3-unit/ds-date-picker.d.ts.map +1 -0
  543. package/dist/3-unit/ds-date-picker.js +499 -0
  544. package/dist/3-unit/ds-form.d.ts.map +1 -1
  545. package/dist/3-unit/ds-form.js +38 -28
  546. package/dist/3-unit/ds-list.d.ts +12 -0
  547. package/dist/3-unit/ds-list.d.ts.map +1 -1
  548. package/dist/3-unit/ds-list.js +52 -1
  549. package/dist/3-unit/ds-matrix.d.ts +146 -0
  550. package/dist/3-unit/ds-matrix.d.ts.map +1 -0
  551. package/dist/3-unit/ds-matrix.js +248 -0
  552. package/dist/3-unit/ds-menu.d.ts +1 -1
  553. package/dist/3-unit/ds-menu.d.ts.map +1 -1
  554. package/dist/3-unit/ds-menu.js +7 -4
  555. package/dist/3-unit/ds-row.d.ts +66 -0
  556. package/dist/3-unit/ds-row.d.ts.map +1 -1
  557. package/dist/3-unit/ds-row.js +80 -1
  558. package/dist/3-unit/ds-sidebar.d.ts +108 -0
  559. package/dist/3-unit/ds-sidebar.d.ts.map +1 -0
  560. package/dist/3-unit/ds-sidebar.js +268 -0
  561. package/dist/3-unit/ds-table.d.ts +28 -10
  562. package/dist/3-unit/ds-table.d.ts.map +1 -1
  563. package/dist/3-unit/ds-table.js +53 -25
  564. package/dist/3-unit/ds-tree.d.ts +69 -0
  565. package/dist/3-unit/ds-tree.d.ts.map +1 -0
  566. package/dist/3-unit/ds-tree.js +136 -0
  567. package/dist/4-page/ds-dialog.d.ts +16 -1
  568. package/dist/4-page/ds-dialog.d.ts.map +1 -1
  569. package/dist/4-page/ds-dialog.js +39 -3
  570. package/dist/4-page/ds-document.d.ts +98 -0
  571. package/dist/4-page/ds-document.d.ts.map +1 -0
  572. package/dist/4-page/ds-document.js +213 -0
  573. package/dist/4-page/ds-footer.d.ts +100 -0
  574. package/dist/4-page/ds-footer.d.ts.map +1 -0
  575. package/dist/4-page/ds-footer.js +119 -0
  576. package/dist/4-page/ds-grid.d.ts +32 -12
  577. package/dist/4-page/ds-grid.d.ts.map +1 -1
  578. package/dist/4-page/ds-grid.js +30 -39
  579. package/dist/4-page/ds-header.d.ts +84 -0
  580. package/dist/4-page/ds-header.d.ts.map +1 -0
  581. package/dist/4-page/ds-header.js +143 -0
  582. package/dist/4-page/ds-layout.d.ts +1 -0
  583. package/dist/4-page/ds-layout.d.ts.map +1 -1
  584. package/dist/4-page/ds-layout.js +1 -1
  585. package/dist/4-page/ds-page.d.ts +110 -0
  586. package/dist/4-page/ds-page.d.ts.map +1 -0
  587. package/dist/4-page/ds-page.js +155 -0
  588. package/dist/4-page/email.d.ts +2 -3
  589. package/dist/4-page/email.d.ts.map +1 -1
  590. package/dist/4-page/email.js +2 -3
  591. package/dist/components.d.ts +4 -1
  592. package/dist/components.d.ts.map +1 -1
  593. package/dist/components.js +4 -1
  594. package/dist/design-system-1.bundle.js +11304 -4322
  595. package/dist/design-system-1.bundle.js.map +1 -1
  596. package/dist/design-system-1.bundle.min.js +8867 -4132
  597. package/dist/design-system-1.bundle.min.js.map +1 -1
  598. package/dist/design-system-1.css +1 -1
  599. package/dist/feedback.js +541 -0
  600. package/dist/feedback.js.map +1 -0
  601. package/dist/icons-extra-B4Iotc7s.js +298 -0
  602. package/dist/icons-extra-B4Iotc7s.js.map +1 -0
  603. package/dist/icons-extra-C4sCgoUj.js +185 -0
  604. package/dist/icons-extra-C4sCgoUj.js.map +1 -0
  605. package/dist/icons-extra-DSav6uTU.js +300 -0
  606. package/dist/icons-extra-DSav6uTU.js.map +1 -0
  607. package/dist/icons-extra-Dc_yVWIz.js +1024 -0
  608. package/dist/icons-extra-Dc_yVWIz.js.map +1 -0
  609. package/dist/icons-extra-cfzoudMf.js +1030 -0
  610. package/dist/icons-extra-cfzoudMf.js.map +1 -0
  611. package/dist/icons-extra-g_xpwZhZ.js +631 -0
  612. package/dist/icons-extra-g_xpwZhZ.js.map +1 -0
  613. package/dist/index.d.ts +23 -6
  614. package/dist/index.d.ts.map +1 -1
  615. package/dist/index.js +23 -6
  616. package/dist/react/avatar.d.ts +5 -9
  617. package/dist/react/avatar.d.ts.map +1 -1
  618. package/dist/react/avatar.js +2 -2
  619. package/dist/react/button-split.d.ts +19 -0
  620. package/dist/react/button-split.d.ts.map +1 -0
  621. package/dist/react/button-split.js +35 -0
  622. package/dist/react/button.d.ts +18 -7
  623. package/dist/react/button.d.ts.map +1 -1
  624. package/dist/react/button.js +13 -4
  625. package/dist/react/carousel.d.ts +63 -0
  626. package/dist/react/carousel.d.ts.map +1 -0
  627. package/dist/react/carousel.js +47 -0
  628. package/dist/react/choice.d.ts +1 -1
  629. package/dist/react/context-menu.d.ts +337 -337
  630. package/dist/react/dialog.d.ts +684 -678
  631. package/dist/react/dialog.d.ts.map +1 -1
  632. package/dist/react/dialog.js +29 -3
  633. package/dist/react/document.d.ts +11 -0
  634. package/dist/react/document.d.ts.map +1 -0
  635. package/dist/react/document.js +10 -0
  636. package/dist/react/empty.d.ts +34 -0
  637. package/dist/react/empty.d.ts.map +1 -0
  638. package/dist/react/empty.js +8 -0
  639. package/dist/react/file-picker.d.ts +1 -1
  640. package/dist/react/footer.d.ts +13 -0
  641. package/dist/react/footer.d.ts.map +1 -0
  642. package/dist/react/footer.js +12 -0
  643. package/dist/react/header.d.ts +12 -0
  644. package/dist/react/header.d.ts.map +1 -0
  645. package/dist/react/header.js +11 -0
  646. package/dist/react/input.d.ts +31 -9
  647. package/dist/react/input.d.ts.map +1 -1
  648. package/dist/react/input.js +94 -94
  649. package/dist/react/kbd.d.ts +26 -0
  650. package/dist/react/kbd.d.ts.map +1 -0
  651. package/dist/react/kbd.js +8 -0
  652. package/dist/react/loading.d.ts +14 -0
  653. package/dist/react/loading.d.ts.map +1 -0
  654. package/dist/react/loading.js +14 -0
  655. package/dist/react/meter.d.ts +64 -0
  656. package/dist/react/meter.d.ts.map +1 -0
  657. package/dist/react/meter.js +15 -0
  658. package/dist/react/notice.d.ts +45 -0
  659. package/dist/react/notice.d.ts.map +1 -0
  660. package/dist/react/notice.js +34 -0
  661. package/dist/react/page.d.ts +10 -0
  662. package/dist/react/page.d.ts.map +1 -0
  663. package/dist/react/page.js +9 -0
  664. package/dist/react/progress.d.ts +107 -0
  665. package/dist/react/progress.d.ts.map +1 -0
  666. package/dist/react/progress.js +47 -0
  667. package/dist/react/sidebar.d.ts +44 -0
  668. package/dist/react/sidebar.d.ts.map +1 -0
  669. package/dist/react/sidebar.js +41 -0
  670. package/dist/react/spacing-handle.d.ts +13 -0
  671. package/dist/react/spacing-handle.d.ts.map +1 -0
  672. package/dist/react/spacing-handle.js +18 -0
  673. package/dist/react/split.d.ts +6 -14
  674. package/dist/react/split.d.ts.map +1 -1
  675. package/dist/react/split.js +5 -31
  676. package/dist/react/stat.d.ts +78 -0
  677. package/dist/react/stat.d.ts.map +1 -0
  678. package/dist/react/stat.js +25 -0
  679. package/dist/react/steps.d.ts +36 -0
  680. package/dist/react/steps.d.ts.map +1 -0
  681. package/dist/react/steps.js +10 -0
  682. package/dist/react/toast.d.ts +37 -0
  683. package/dist/react/toast.d.ts.map +1 -0
  684. package/dist/react/toast.js +55 -0
  685. package/dist/react/tree.d.ts +31 -0
  686. package/dist/react/tree.d.ts.map +1 -0
  687. package/dist/react/tree.js +37 -0
  688. package/dist/shared-words-BfnT24Fe.js +1635 -0
  689. package/dist/shared-words-BfnT24Fe.js.map +1 -0
  690. package/dist/shared-words-CyZYc_De.js +1818 -0
  691. package/dist/shared-words-CyZYc_De.js.map +1 -0
  692. package/dist/shared-words-DAVSET4Z.js +1800 -0
  693. package/dist/shared-words-DAVSET4Z.js.map +1 -0
  694. package/dist/shared-words-UCvnkctb.js +1653 -0
  695. package/dist/shared-words-UCvnkctb.js.map +1 -0
  696. package/package.json +16 -5
  697. package/DS1/2-core/ds-banner.ts +0 -122
  698. package/DS1/2-core/ds-date.ts +0 -24
  699. package/DS1/2-core/ds-language.ts +0 -94
  700. package/DS1/2-core/ds-pagedots.ts +0 -52
  701. package/DS1/2-core/ds-split.ts +0 -122
  702. package/DS1/2-core/ds-textarea.ts +0 -136
  703. package/DS1/2-core/styles/ds-banner.css +0 -77
  704. package/DS1/2-core/styles/ds-date.css +0 -9
  705. package/DS1/2-core/styles/ds-language.css +0 -78
  706. package/DS1/2-core/styles/ds-pagedots.css +0 -31
  707. package/DS1/2-core/styles/ds-textarea.css +0 -27
  708. package/DS1/4-page/ds-layout.ts +0 -949
  709. package/DS1/4-page/styles/ds-layout.css +0 -246
  710. package/DS1/react/split.ts +0 -42
  711. package/DS1/x-icon/ezo-accordion-chevron.svg +0 -11
  712. package/DS1/x-icon/ezo-account-close.svg +0 -1
  713. package/DS1/x-icon/ezo-android-screen-archive.svg +0 -4
  714. package/DS1/x-icon/ezo-android-screen-calendar.svg +0 -6
  715. package/DS1/x-icon/ezo-android-screen-camera.svg +0 -5
  716. package/DS1/x-icon/ezo-android-screen-check.svg +0 -3
  717. package/DS1/x-icon/ezo-android-screen-compose.svg +0 -4
  718. package/DS1/x-icon/ezo-android-screen-globe.svg +0 -1
  719. package/DS1/x-icon/ezo-android-screen-shared.svg +0 -5
  720. package/DS1/x-icon/ezo-android-screen-store.svg +0 -4
  721. package/DS1/x-icon/ezo-android-screen-views.svg +0 -4
  722. package/DS1/x-icon/ezo-android-screen-work.svg +0 -3
  723. package/DS1/x-icon/ezo-arrow-cursor.svg +0 -8
  724. package/DS1/x-icon/ezo-block-accordion.svg +0 -1
  725. package/DS1/x-icon/ezo-block-divider.svg +0 -1
  726. package/DS1/x-icon/ezo-block-group.svg +0 -1
  727. package/DS1/x-icon/ezo-block-image.svg +0 -1
  728. package/DS1/x-icon/ezo-block-section.svg +0 -1
  729. package/DS1/x-icon/ezo-block-table.svg +0 -1
  730. package/DS1/x-icon/ezo-code.svg +0 -14
  731. package/DS1/x-icon/ezo-down.svg +0 -3
  732. package/DS1/x-icon/ezo-figma-premium-star.svg +0 -5
  733. package/DS1/x-icon/ezo-item-button-complete.svg +0 -4
  734. package/DS1/x-icon/ezo-item-button-header.svg +0 -3
  735. package/DS1/x-icon/ezo-item-button-open.svg +0 -3
  736. package/DS1/x-icon/ezo-item-button-star.svg +0 -3
  737. package/DS1/x-icon/ezo-item-button-unheader.svg +0 -7
  738. package/DS1/x-icon/ezo-item-button-unstar.svg +0 -5
  739. package/DS1/x-icon/ezo-item-star.svg +0 -5
  740. package/DS1/x-icon/ezo-left.svg +0 -3
  741. package/DS1/x-icon/ezo-logo.svg +0 -1
  742. package/DS1/x-icon/ezo-mic.svg +0 -8
  743. package/DS1/x-icon/ezo-move-column.svg +0 -14
  744. package/DS1/x-icon/ezo-move-row.svg +0 -18
  745. package/DS1/x-icon/ezo-navigation-check.svg +0 -1
  746. package/DS1/x-icon/ezo-note-back.svg +0 -5
  747. package/DS1/x-icon/ezo-note-menu-complete.svg +0 -11
  748. package/DS1/x-icon/ezo-note-menu-delete.svg +0 -4
  749. package/DS1/x-icon/ezo-note-menu-duplicate.svg +0 -8
  750. package/DS1/x-icon/ezo-note-menu-note.svg +0 -5
  751. package/DS1/x-icon/ezo-note-menu-page.svg +0 -3
  752. package/DS1/x-icon/ezo-note-menu-star.svg +0 -5
  753. package/DS1/x-icon/ezo-note-menu-start.svg +0 -6
  754. package/DS1/x-icon/ezo-note-menu-stop.svg +0 -6
  755. package/DS1/x-icon/ezo-note-more.svg +0 -7
  756. package/DS1/x-icon/ezo-note-star.svg +0 -5
  757. package/DS1/x-icon/ezo-pattern-call-to-action.svg +0 -1
  758. package/DS1/x-icon/ezo-play.svg +0 -5
  759. package/DS1/x-icon/ezo-premium-star.svg +0 -5
  760. package/DS1/x-icon/ezo-setting-1xdots.svg +0 -13
  761. package/DS1/x-icon/ezo-setting-1xgrid.svg +0 -10
  762. package/DS1/x-icon/ezo-setting-1xlines.svg +0 -7
  763. package/DS1/x-icon/ezo-setting-2xdots.svg +0 -8
  764. package/DS1/x-icon/ezo-setting-2xgrid.svg +0 -8
  765. package/DS1/x-icon/ezo-setting-2xlines.svg +0 -6
  766. package/DS1/x-icon/ezo-setting-blank.svg +0 -5
  767. package/DS1/x-icon/ezo-store-chevron.svg +0 -1
  768. package/DS1/x-icon/ezo-upgrade-close.svg +0 -5
  769. package/DS1/x-icon/product-sources.json +0 -2557
  770. /package/DS1/x-icon/{ezo-password-visibility-see.svg → password-see.svg} +0 -0
  771. /package/DS1/x-icon/{ezo-password-visibility-unsee.svg → password-unsee.svg} +0 -0
@@ -1,101 +1,7 @@
1
- import { LitElement, html, nothing, unsafeCSS } from "lit";
1
+ import { Button } from "./ds-button";
2
2
  import { define } from "../0-face/define";
3
- import { getText } from "../0-face/i18n";
4
- import "./ds-icon";
5
- import "./ds-text";
6
- import styles from "./styles/ds-split.css?inline";
7
- /** A compact group of choices or repeated actions, sharing outside corners.
8
- * `change` requests a choice; preventDefault keeps the current value. `press`
9
- * reports every activation in actions mode. Neither mode submits a form.
10
- */
11
- export class Split extends LitElement {
12
- constructor() {
13
- super();
14
- this.languageChanged = () => this.requestUpdate();
15
- // Association supplies native disabled-fieldset behavior, without adding
16
- // a form value or making an action button into a submitter.
17
- if (typeof this.attachInternals === "function")
18
- this.attachInternals();
19
- this.options = "";
20
- this.value = "";
21
- this.disabled = false;
22
- this.actions = false;
23
- this.literal = false;
24
- this.compact = false;
25
- this._fieldsetDisabled = false;
26
- }
27
- connectedCallback() {
28
- super.connectedCallback();
29
- if (!this.hasAttribute("role"))
30
- this.setAttribute("role", "group");
31
- window.addEventListener("language-changed", this.languageChanged);
32
- window.addEventListener("translations-loaded", this.languageChanged);
33
- }
34
- disconnectedCallback() {
35
- super.disconnectedCallback();
36
- window.removeEventListener("language-changed", this.languageChanged);
37
- window.removeEventListener("translations-loaded", this.languageChanged);
38
- }
39
- formDisabledCallback(disabled) { this._fieldsetDisabled = disabled; }
40
- /** String convenience for HTML: day:Day,back:@left:Back. Use segments for
41
- * labels containing commas/colons, translated product labels or disabling
42
- * individual actions. An explicit empty array renders no choices.
43
- */
44
- get choices() {
45
- return this.segments ?? this.options.split(",").map(part => part.trim()).filter(Boolean).map(part => {
46
- const colon = part.indexOf(":");
47
- if (colon < 0)
48
- return { value: part.toLowerCase(), label: part };
49
- const value = part.slice(0, colon).trim();
50
- const label = part.slice(colon + 1).trim();
51
- if (!label.startsWith("@"))
52
- return { value, label };
53
- const end = label.indexOf(":");
54
- return { value, icon: label.slice(1, end < 0 ? undefined : end).trim(), label: end < 0 ? value : label.slice(end + 1).trim() };
55
- });
56
- }
57
- press(segment) {
58
- if (this.disabled || this._fieldsetDisabled || segment.disabled)
59
- return;
60
- if (this.actions) {
61
- this.dispatchEvent(new CustomEvent("press", { detail: { value: segment.value }, bubbles: true, composed: true }));
62
- }
63
- else if (segment.value !== this.value) {
64
- const accepted = this.dispatchEvent(new CustomEvent("change", {
65
- detail: { value: segment.value }, bubbles: true, composed: true, cancelable: true,
66
- }));
67
- if (accepted)
68
- this.value = segment.value;
69
- }
70
- }
71
- focus(options) {
72
- const buttons = [...this.renderRoot.querySelectorAll("button:not(:disabled)")];
73
- (buttons.find(button => button.getAttribute("aria-pressed") === "true") ?? buttons[0])?.focus(options);
74
- }
75
- render() {
76
- return html `${this.choices.map(segment => html `<button
77
- type="button" part="segment" value=${segment.value}
78
- aria-pressed=${this.actions ? nothing : String(segment.value === this.value)}
79
- aria-label=${segment.icon ? (this.literal ? segment.label : getText(segment.label)) : nothing}
80
- ?data-icon=${!!segment.icon}
81
- ?data-short=${segment.label.length === 1}
82
- ?disabled=${this.disabled || this._fieldsetDisabled || segment.disabled}
83
- @click=${() => this.press(segment)}
84
- >${segment.icon
85
- ? html `<ds-icon type=${segment.icon} aria-hidden="true"></ds-icon>`
86
- : html `<ds-text .text=${segment.label} .literal=${this.literal}></ds-text>`}</button>`)}`;
87
- }
3
+ /** Compatibility name for Button's split mode. New usage is <ds-button split>. */
4
+ export class Split extends Button {
5
+ constructor() { super(); this.split = true; }
88
6
  }
89
- Split.formAssociated = true;
90
- Split.properties = {
91
- options: { type: String },
92
- segments: { attribute: false },
93
- value: { type: String, reflect: true },
94
- disabled: { type: Boolean, reflect: true },
95
- actions: { type: Boolean, reflect: true },
96
- literal: { type: Boolean, reflect: true },
97
- compact: { type: Boolean, reflect: true },
98
- _fieldsetDisabled: { state: true },
99
- };
100
- Split.styles = unsafeCSS(styles);
101
7
  define("ds-split", Split);
@@ -0,0 +1,126 @@
1
+ import { LitElement } from "lit";
2
+ import { type FigureFormat } from "./figures";
3
+ import "./ds-icon";
4
+ export type StatTone = "danger" | "warning";
5
+ /**
6
+ * @element ds-stat
7
+ * @prop {string} label - What the figure is: a translation key, or literal words.
8
+ * @prop {number} value - The figure, written as `format` says in the current language.
9
+ * @prop {string} figure - Words in place of the value ("Incomplete"): a key, or literal words.
10
+ * @prop {"number" | "compact" | "percent" | "money"} format - How the value is written. Number by default.
11
+ * @prop {string} currency - The ISO 4217 code for money.
12
+ * @prop {boolean} minor - The money is counted in the currency's minor unit (cents).
13
+ * @prop {boolean} whole - Money in whole units only.
14
+ * @prop {number} digits - Decimals, at least and at most.
15
+ * @prop {number} change - A change, written with its sign and an up or down icon before the caption.
16
+ * @prop {"number" | "compact" | "percent" | "money"} changeFormat - How the change is written (`change-format`). The value's format by default; `percent` reads a fraction.
17
+ * @prop {"danger" | "warning"} changeTone - The change in that colour (`change-tone`), where the page knows which way is bad.
18
+ * @prop {string} caption - A line under the figure: a key, or literal words.
19
+ * @prop {string} icon - An icon from the library on its own square before the label.
20
+ * @prop {"danger" | "warning"} tone - The figure in that colour.
21
+ * @prop {boolean} cells - Draw each digit in a cell of one width, for a face whose digits differ in width.
22
+ * @prop {boolean} literal - Show `label`, `figure` and `caption` as written, never looked up.
23
+ *
24
+ * @slot label - The label, as inline content.
25
+ * @slot figure - The figure, when the page writes it itself.
26
+ * @slot - Anything that belongs between the figure and the caption, such as a `ds-meter`.
27
+ * @slot caption - The caption, as inline content.
28
+ *
29
+ * @example
30
+ * <ds-stat label="Revenue" value="1234.5" format="money" currency="EUR" change="0.12" change-format="percent" caption="Since last month"></ds-stat>
31
+ */
32
+ export declare class Stat extends LitElement {
33
+ static properties: {
34
+ label: {
35
+ type: StringConstructor;
36
+ };
37
+ value: {
38
+ type: NumberConstructor;
39
+ };
40
+ figure: {
41
+ type: StringConstructor;
42
+ };
43
+ format: {
44
+ type: StringConstructor;
45
+ reflect: boolean;
46
+ };
47
+ currency: {
48
+ type: StringConstructor;
49
+ };
50
+ minor: {
51
+ type: BooleanConstructor;
52
+ };
53
+ whole: {
54
+ type: BooleanConstructor;
55
+ };
56
+ digits: {
57
+ type: NumberConstructor;
58
+ };
59
+ change: {
60
+ type: NumberConstructor;
61
+ };
62
+ changeFormat: {
63
+ type: StringConstructor;
64
+ attribute: string;
65
+ };
66
+ changeTone: {
67
+ type: StringConstructor;
68
+ attribute: string;
69
+ reflect: boolean;
70
+ };
71
+ caption: {
72
+ type: StringConstructor;
73
+ };
74
+ icon: {
75
+ type: StringConstructor;
76
+ };
77
+ tone: {
78
+ type: StringConstructor;
79
+ reflect: boolean;
80
+ };
81
+ cells: {
82
+ type: BooleanConstructor;
83
+ reflect: boolean;
84
+ };
85
+ literal: {
86
+ type: BooleanConstructor;
87
+ reflect: boolean;
88
+ };
89
+ };
90
+ static styles: import("lit").CSSResult[];
91
+ label: string | undefined;
92
+ value: number | undefined;
93
+ figure: string | undefined;
94
+ format: FigureFormat;
95
+ currency: string | undefined;
96
+ minor: boolean;
97
+ whole: boolean;
98
+ digits: number | undefined;
99
+ change: number | undefined;
100
+ changeFormat: FigureFormat | undefined;
101
+ changeTone: StatTone | undefined;
102
+ caption: string | undefined;
103
+ icon: string | undefined;
104
+ tone: StatTone | undefined;
105
+ cells: boolean;
106
+ literal: boolean;
107
+ private readonly relabel;
108
+ constructor();
109
+ connectedCallback(): void;
110
+ disconnectedCallback(): void;
111
+ private words;
112
+ private options;
113
+ /** The figure's text as it is drawn: the words given, or the value written in the current language. */
114
+ get text(): string;
115
+ /** The change's text with its sign, or empty without a change. */
116
+ get changeText(): string;
117
+ private slotted;
118
+ private drawFigure;
119
+ render(): import("lit").TemplateResult<1>;
120
+ }
121
+ declare global {
122
+ interface HTMLElementTagNameMap {
123
+ "ds-stat": Stat;
124
+ }
125
+ }
126
+ //# sourceMappingURL=ds-stat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds-stat.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-stat.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAA4B,MAAM,KAAK,CAAC;AAG3D,OAAO,EAA2C,KAAK,YAAY,EAAsB,MAAM,WAAW,CAAC;AAC3G,OAAO,WAAW,CAAC;AAKnB,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiBf;IAEF,MAAM,CAAC,MAAM,4BAA+D;IAEpE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAC;IACjC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;;IAWtD,iBAAiB;IAOjB,oBAAoB;IAOpB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,OAAO;IAIf,uGAAuG;IACvG,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,kEAAkE;IAClE,IAAI,UAAU,IAAI,MAAM,CAIvB;IAED,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,UAAU;IAMlB,MAAM;CAyBP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
@@ -0,0 +1,137 @@
1
+ // ds-stat.ts
2
+ // A figure with its label and a line for its change or caption, written in
3
+ // the current language through 0-face/format.ts. Drawn by 1-root/figures.css,
4
+ // the same classes a page without scripts writes.
5
+ import { LitElement, html, nothing, unsafeCSS } from "lit";
6
+ import { getText } from "../0-face/i18n";
7
+ import { define } from "../0-face/define";
8
+ import { figureCells, figureFormat, formatFigure } from "./figures";
9
+ import "./ds-icon";
10
+ import metrics from "../1-root/component-metrics.css?inline";
11
+ import figures from "../1-root/figures.css?inline";
12
+ import styles from "./styles/ds-stat.css?inline";
13
+ const TONES = ["danger", "warning"];
14
+ /**
15
+ * @element ds-stat
16
+ * @prop {string} label - What the figure is: a translation key, or literal words.
17
+ * @prop {number} value - The figure, written as `format` says in the current language.
18
+ * @prop {string} figure - Words in place of the value ("Incomplete"): a key, or literal words.
19
+ * @prop {"number" | "compact" | "percent" | "money"} format - How the value is written. Number by default.
20
+ * @prop {string} currency - The ISO 4217 code for money.
21
+ * @prop {boolean} minor - The money is counted in the currency's minor unit (cents).
22
+ * @prop {boolean} whole - Money in whole units only.
23
+ * @prop {number} digits - Decimals, at least and at most.
24
+ * @prop {number} change - A change, written with its sign and an up or down icon before the caption.
25
+ * @prop {"number" | "compact" | "percent" | "money"} changeFormat - How the change is written (`change-format`). The value's format by default; `percent` reads a fraction.
26
+ * @prop {"danger" | "warning"} changeTone - The change in that colour (`change-tone`), where the page knows which way is bad.
27
+ * @prop {string} caption - A line under the figure: a key, or literal words.
28
+ * @prop {string} icon - An icon from the library on its own square before the label.
29
+ * @prop {"danger" | "warning"} tone - The figure in that colour.
30
+ * @prop {boolean} cells - Draw each digit in a cell of one width, for a face whose digits differ in width.
31
+ * @prop {boolean} literal - Show `label`, `figure` and `caption` as written, never looked up.
32
+ *
33
+ * @slot label - The label, as inline content.
34
+ * @slot figure - The figure, when the page writes it itself.
35
+ * @slot - Anything that belongs between the figure and the caption, such as a `ds-meter`.
36
+ * @slot caption - The caption, as inline content.
37
+ *
38
+ * @example
39
+ * <ds-stat label="Revenue" value="1234.5" format="money" currency="EUR" change="0.12" change-format="percent" caption="Since last month"></ds-stat>
40
+ */
41
+ export class Stat extends LitElement {
42
+ constructor() {
43
+ super();
44
+ this.relabel = () => this.requestUpdate();
45
+ this.format = "number";
46
+ this.minor = false;
47
+ this.whole = false;
48
+ this.cells = false;
49
+ this.literal = false;
50
+ }
51
+ connectedCallback() {
52
+ super.connectedCallback();
53
+ window.addEventListener("language-changed", this.relabel);
54
+ window.addEventListener("translations-loaded", this.relabel);
55
+ window.addEventListener("translations-ready", this.relabel);
56
+ }
57
+ disconnectedCallback() {
58
+ window.removeEventListener("language-changed", this.relabel);
59
+ window.removeEventListener("translations-loaded", this.relabel);
60
+ window.removeEventListener("translations-ready", this.relabel);
61
+ super.disconnectedCallback();
62
+ }
63
+ words(value) {
64
+ if (!value)
65
+ return "";
66
+ return this.literal ? value : getText(value) || value;
67
+ }
68
+ options(format) {
69
+ return { format: figureFormat(format), currency: this.currency, minor: this.minor, whole: this.whole, digits: this.digits };
70
+ }
71
+ /** The figure's text as it is drawn: the words given, or the value written in the current language. */
72
+ get text() {
73
+ if (this.figure)
74
+ return this.words(this.figure);
75
+ return typeof this.value === "number" ? formatFigure(this.value, this.options(this.format)) : "";
76
+ }
77
+ /** The change's text with its sign, or empty without a change. */
78
+ get changeText() {
79
+ if (typeof this.change !== "number" || !Number.isFinite(this.change))
80
+ return "";
81
+ const format = this.changeFormat ?? this.format;
82
+ return formatFigure(this.change, { ...this.options(format), signed: true });
83
+ }
84
+ slotted(name) {
85
+ return [...this.children].some(node => (node.getAttribute("slot") ?? "") === name);
86
+ }
87
+ drawFigure(text) {
88
+ if (!this.cells || !text)
89
+ return text;
90
+ return html `<span class="hidden-words">${text}</span><span aria-hidden="true">${figureCells(text).map(cell => cell.digit ? html `<span class="ds-stat__digit">${cell.text}</span>` : cell.text)}</span>`;
91
+ }
92
+ render() {
93
+ const changed = () => this.requestUpdate();
94
+ const label = this.words(this.label);
95
+ const caption = this.words(this.caption);
96
+ const change = this.changeText;
97
+ const tone = TONES.includes(this.tone) ? this.tone : undefined;
98
+ const changeTone = TONES.includes(this.changeTone) ? this.changeTone : undefined;
99
+ const hasLabel = Boolean(label) || this.slotted("label");
100
+ const hasCaption = Boolean(caption) || Boolean(change) || this.slotted("caption");
101
+ const direction = typeof this.change === "number" && this.change !== 0 ? (this.change > 0 ? "up" : "down") : undefined;
102
+ return html `<div class="ds-stat${tone ? ` ds-stat--${tone}` : ""}" part="stat">
103
+ <div class="ds-stat__label" part="label" ?hidden=${!hasLabel}>
104
+ ${this.icon ? html `<span class="ds-stat__icon" part="icon" aria-hidden="true"><ds-icon .type=${this.icon}></ds-icon></span>` : nothing}<slot name="label" @slotchange=${changed}>${label}</slot>
105
+ </div>
106
+ <div class="ds-stat__figure" part="figure"><slot name="figure" @slotchange=${changed}>${this.drawFigure(this.text)}</slot></div>
107
+ <slot></slot>
108
+ <div class="ds-stat__caption" part="caption" ?hidden=${!hasCaption}>
109
+ ${change
110
+ ? html `<span class="ds-stat__change${changeTone ? ` ds-stat__change--${changeTone}` : ""}" part="change">${direction
111
+ ? html `<ds-icon size="small" type=${direction} aria-hidden="true"></ds-icon>`
112
+ : nothing}${change}</span>`
113
+ : nothing}<slot name="caption" @slotchange=${changed}>${caption}</slot>
114
+ </div>
115
+ </div>`;
116
+ }
117
+ }
118
+ Stat.properties = {
119
+ label: { type: String },
120
+ value: { type: Number },
121
+ figure: { type: String },
122
+ format: { type: String, reflect: true },
123
+ currency: { type: String },
124
+ minor: { type: Boolean },
125
+ whole: { type: Boolean },
126
+ digits: { type: Number },
127
+ change: { type: Number },
128
+ changeFormat: { type: String, attribute: "change-format" },
129
+ changeTone: { type: String, attribute: "change-tone", reflect: true },
130
+ caption: { type: String },
131
+ icon: { type: String },
132
+ tone: { type: String, reflect: true },
133
+ cells: { type: Boolean, reflect: true },
134
+ literal: { type: Boolean, reflect: true },
135
+ };
136
+ Stat.styles = [unsafeCSS(metrics), unsafeCSS(figures), unsafeCSS(styles)];
137
+ define("ds-stat", Stat);
@@ -0,0 +1,72 @@
1
+ import { LitElement } from "lit";
2
+ import "./ds-icon";
3
+ /** Where a step stands: before the current one, the current one, after it, or stopped. */
4
+ export type StepState = "done" | "current" | "upcoming" | "failed";
5
+ /** A step: its name (a translation key, or literal words), and optionally its own state and where it goes. */
6
+ export type Step = string | {
7
+ label: string;
8
+ state?: StepState;
9
+ href?: string;
10
+ };
11
+ /** Each step's state: its own if it names one, else done before `current`, current at it and upcoming after. */
12
+ export declare function stepStates(steps: readonly Step[], current: number): StepState[];
13
+ /**
14
+ * @element ds-steps
15
+ * @prop {Step[]} steps - The steps in order: names, or `{ label, state, href }`. As an attribute, a JSON array.
16
+ * @prop {number} current - The number of the current step, counted from 1. Past the last, every step is done; 0, none has started.
17
+ * @prop {boolean} vertical - One step to a row, with each step's `step-N` slot under it.
18
+ * @prop {string} label - The sequence's name for assistive technology: a translation key, or literal words.
19
+ * @prop {boolean} literal - Show the names and `label` as written, never looked up.
20
+ *
21
+ * @slot step-N - In a vertical sequence, what belongs under step N (counted from 1): a line of text, a form.
22
+ *
23
+ * The steps are an ordered list. The current one carries `aria-current="step"`;
24
+ * a done or failed step says so in hidden words ("Done", "Failed", the
25
+ * shared words). A step with `href` is a link around its mark and name, so it
26
+ * is reached with Tab; the others are not focusable.
27
+ *
28
+ * @example
29
+ * <ds-steps current="2" steps='["Apply", "Approval", "Connect payouts", "Start earning"]' label="Getting started" literal></ds-steps>
30
+ */
31
+ export declare class Steps extends LitElement {
32
+ static properties: {
33
+ steps: {
34
+ type: ArrayConstructor;
35
+ };
36
+ current: {
37
+ type: NumberConstructor;
38
+ };
39
+ vertical: {
40
+ type: BooleanConstructor;
41
+ reflect: boolean;
42
+ };
43
+ label: {
44
+ type: StringConstructor;
45
+ };
46
+ literal: {
47
+ type: BooleanConstructor;
48
+ reflect: boolean;
49
+ };
50
+ };
51
+ static styles: import("lit").CSSResult[];
52
+ steps: Step[];
53
+ current: number;
54
+ vertical: boolean;
55
+ label: string | undefined;
56
+ literal: boolean;
57
+ private readonly relabel;
58
+ constructor();
59
+ connectedCallback(): void;
60
+ disconnectedCallback(): void;
61
+ private words;
62
+ /** Each step's state, as drawn. */
63
+ get states(): StepState[];
64
+ private slotted;
65
+ render(): import("lit").TemplateResult<1>;
66
+ }
67
+ declare global {
68
+ interface HTMLElementTagNameMap {
69
+ "ds-steps": Steps;
70
+ }
71
+ }
72
+ //# sourceMappingURL=ds-steps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds-steps.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-steps.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAA4B,MAAM,KAAK,CAAC;AAI3D,OAAO,WAAW,CAAC;AAKnB,0FAA0F;AAC1F,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAGnE,8GAA8G;AAC9G,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAKhF,gHAAgH;AAChH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAO/E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,KAAM,SAAQ,UAAU;IACnC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;MAMf;IAEF,MAAM,CAAC,MAAM,4BAA+D;IAEpE,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;;IAUtD,iBAAiB;IAOjB,oBAAoB;IAOpB,OAAO,CAAC,KAAK;IAKb,mCAAmC;IACnC,IAAI,MAAM,IAAI,SAAS,EAAE,CAExB;IAED,OAAO,CAAC,OAAO;IAIf,MAAM;CA2BP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,KAAK,CAAC;KACnB;CACF"}
@@ -0,0 +1,114 @@
1
+ // ds-steps.ts
2
+ // A numbered sequence of steps, one square high: those before the current
3
+ // one done, the current one marked with aria-current="step", the rest still
4
+ // to come. Drawn by 1-root/figures.css, the same classes a page without
5
+ // scripts writes on an <ol>.
6
+ import { LitElement, html, nothing, unsafeCSS } from "lit";
7
+ import { getText } from "../0-face/i18n";
8
+ import { define } from "../0-face/define";
9
+ import { formatNumber } from "../0-face/format";
10
+ import "./ds-icon";
11
+ import metrics from "../1-root/component-metrics.css?inline";
12
+ import figures from "../1-root/figures.css?inline";
13
+ import styles from "./styles/ds-steps.css?inline";
14
+ const STATES = ["done", "current", "upcoming", "failed"];
15
+ /** The words assistive technology reads after a step's name for its state; aria-current says the current one. */
16
+ const STATE_WORDS = { done: "Done", failed: "Failed" };
17
+ /** Each step's state: its own if it names one, else done before `current`, current at it and upcoming after. */
18
+ export function stepStates(steps, current) {
19
+ return steps.map((step, index) => {
20
+ const own = typeof step === "object" && step ? step.state : undefined;
21
+ if (own && STATES.includes(own))
22
+ return own;
23
+ const number = index + 1;
24
+ return number < current ? "done" : number === current ? "current" : "upcoming";
25
+ });
26
+ }
27
+ /**
28
+ * @element ds-steps
29
+ * @prop {Step[]} steps - The steps in order: names, or `{ label, state, href }`. As an attribute, a JSON array.
30
+ * @prop {number} current - The number of the current step, counted from 1. Past the last, every step is done; 0, none has started.
31
+ * @prop {boolean} vertical - One step to a row, with each step's `step-N` slot under it.
32
+ * @prop {string} label - The sequence's name for assistive technology: a translation key, or literal words.
33
+ * @prop {boolean} literal - Show the names and `label` as written, never looked up.
34
+ *
35
+ * @slot step-N - In a vertical sequence, what belongs under step N (counted from 1): a line of text, a form.
36
+ *
37
+ * The steps are an ordered list. The current one carries `aria-current="step"`;
38
+ * a done or failed step says so in hidden words ("Done", "Failed", the
39
+ * shared words). A step with `href` is a link around its mark and name, so it
40
+ * is reached with Tab; the others are not focusable.
41
+ *
42
+ * @example
43
+ * <ds-steps current="2" steps='["Apply", "Approval", "Connect payouts", "Start earning"]' label="Getting started" literal></ds-steps>
44
+ */
45
+ export class Steps extends LitElement {
46
+ constructor() {
47
+ super();
48
+ this.relabel = () => this.requestUpdate();
49
+ this.steps = [];
50
+ this.current = 1;
51
+ this.vertical = false;
52
+ this.literal = false;
53
+ }
54
+ connectedCallback() {
55
+ super.connectedCallback();
56
+ window.addEventListener("language-changed", this.relabel);
57
+ window.addEventListener("translations-loaded", this.relabel);
58
+ window.addEventListener("translations-ready", this.relabel);
59
+ }
60
+ disconnectedCallback() {
61
+ window.removeEventListener("language-changed", this.relabel);
62
+ window.removeEventListener("translations-loaded", this.relabel);
63
+ window.removeEventListener("translations-ready", this.relabel);
64
+ super.disconnectedCallback();
65
+ }
66
+ words(value) {
67
+ if (!value)
68
+ return "";
69
+ return this.literal ? value : getText(value) || value;
70
+ }
71
+ /** Each step's state, as drawn. */
72
+ get states() {
73
+ return stepStates(Array.isArray(this.steps) ? this.steps : [], Number(this.current));
74
+ }
75
+ slotted(name) {
76
+ return [...this.children].some(node => node.getAttribute("slot") === name);
77
+ }
78
+ render() {
79
+ const steps = Array.isArray(this.steps) ? this.steps : [];
80
+ const states = this.states;
81
+ const label = this.words(this.label);
82
+ const changed = () => this.requestUpdate();
83
+ return html `<ol class="ds-steps${this.vertical ? " ds-steps--vertical" : ""}" part="steps" aria-label=${label || nothing}>
84
+ ${steps.map((step, index) => {
85
+ const state = states[index];
86
+ const name = this.words(typeof step === "string" ? step : step?.label);
87
+ const href = typeof step === "object" && step ? step.href : undefined;
88
+ const number = index + 1;
89
+ const said = STATE_WORDS[state];
90
+ const mark = state === "done" || state === "failed"
91
+ ? html `<ds-icon size="small" type=${state === "done" ? "check" : "warning"}></ds-icon>`
92
+ : formatNumber(number);
93
+ const face = html `<span class="ds-steps__mark" part="mark" aria-hidden="true">${mark}</span><span class="ds-steps__label" part="label">${name}</span>${said
94
+ ? html `<span class="ds-steps__state"> ${getText(said) || said}</span>`
95
+ : nothing}`;
96
+ return html `<li class="ds-steps__step${state === "upcoming" ? "" : ` ds-steps__step--${state}`}" part="step" data-state=${state} aria-current=${state === "current" ? "step" : nothing}>
97
+ ${href ? html `<a class="ds-steps__link" part="link" href=${href}>${face}</a>` : face}
98
+ ${this.vertical
99
+ ? html `<div class="ds-steps__body" part="body" ?hidden=${!this.slotted(`step-${number}`)}><slot name=${`step-${number}`} @slotchange=${changed}></slot></div>`
100
+ : nothing}
101
+ </li>`;
102
+ })}
103
+ </ol>`;
104
+ }
105
+ }
106
+ Steps.properties = {
107
+ steps: { type: Array },
108
+ current: { type: Number },
109
+ vertical: { type: Boolean, reflect: true },
110
+ label: { type: String },
111
+ literal: { type: Boolean, reflect: true },
112
+ };
113
+ Steps.styles = [unsafeCSS(metrics), unsafeCSS(figures), unsafeCSS(styles)];
114
+ define("ds-steps", Steps);
@@ -1,5 +1,6 @@
1
1
  import { LitElement } from "lit";
2
2
  /** The shared switch face. The slotted button retains native activation and refs. */
3
+ /** rounded selects a pill track, white circular thumb and darker-green on state. */
3
4
  export declare class Switch extends LitElement {
4
5
  static styles: import("lit").CSSResult;
5
6
  focus(options?: FocusOptions): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ds-switch.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAIlD,qFAAqF;AACrF,qBAAa,MAAO,SAAQ,UAAU;IACpC,MAAM,CAAC,MAAM,0BAAqB;IAClC,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAC5B,MAAM;CACP;AAGD,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,WAAW,EAAE,MAAM,CAAA;KAAE;CAAE"}
1
+ {"version":3,"file":"ds-switch.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAIlD,qFAAqF;AACrF,oFAAoF;AACpF,qBAAa,MAAO,SAAQ,UAAU;IACpC,MAAM,CAAC,MAAM,0BAAqB;IAClC,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAC5B,MAAM;CACP;AAGD,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,WAAW,EAAE,MAAM,CAAA;KAAE;CAAE"}
@@ -2,6 +2,7 @@ import { LitElement, html, unsafeCSS } from "lit";
2
2
  import { define } from "../0-face/define";
3
3
  import styles from "./styles/ds-switch.css?inline";
4
4
  /** The shared switch face. The slotted button retains native activation and refs. */
5
+ /** rounded selects a pill track, white circular thumb and darker-green on state. */
5
6
  export class Switch extends LitElement {
6
7
  focus(options) { this.querySelector(":scope > button")?.focus(options); }
7
8
  render() { return html `<slot></slot>`; }
@@ -6,6 +6,16 @@ import { LitElement } from "lit";
6
6
  * @prop {string} text - The translation key (optional if using slot content)
7
7
  * @prop {boolean} literal - The text is what someone wrote, not a key: show it
8
8
  * as it stands, never looked up, never translated
9
+ * @prop {"muted" | "title" | "warning" | "danger"} tone - A quieter colour, the
10
+ * title grey, the warning colour for something that needs care, or the
11
+ * danger colour for a failure or a loss
12
+ * @prop {"small" | "heading" | "display"} size - 10px, a 13px heading on one
13
+ * square, or a 20px title on two squares
14
+ * @prop {boolean} strong - The medium weight
15
+ * @prop {boolean} wrap - Let the text run over several lines, each one square
16
+ *
17
+ * The four work alike for a translation key and for literal text. For a
18
+ * heading, give the element `role="heading"` and `aria-level`.
9
19
  *
10
20
  * @example
11
21
  * // Using slot content as the key (preferred)
@@ -16,6 +26,9 @@ import { LitElement } from "lit";
16
26
  *
17
27
  * // Something a person typed: a list title, an item, a search they saved
18
28
  * <ds-text literal text="Marketing plan"></ds-text>
29
+ *
30
+ * // A translated message over several lines, in the danger colour
31
+ * <ds-text wrap tone="danger" role="alert">Couldn't save your changes</ds-text>
19
32
  */
20
33
  export declare class Text extends LitElement {
21
34
  static get properties(): {
@@ -50,8 +63,8 @@ export declare class Text extends LitElement {
50
63
  };
51
64
  text: string;
52
65
  literal: boolean;
53
- tone?: "muted" | "title";
54
- size?: "small" | "heading";
66
+ tone?: "muted" | "title" | "warning" | "danger";
67
+ size?: "small" | "heading" | "display";
55
68
  strong: boolean;
56
69
  wrap: boolean;
57
70
  _text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ds-text.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAKlD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,KAAK,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAUpB;IAEO,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,aAAa,CAAqC;;IAsB1D,MAAM,CAAC,MAAM,0BAAqB;IAElC,iBAAiB;IA8BjB,oBAAoB;IAYpB,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQlD,wBAAwB;IA8BxB,SAAS;IA4BT,MAAM;CAIP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
1
+ {"version":3,"file":"ds-text.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAKlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,KAAK,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAUpB;IAEO,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,aAAa,CAAqC;;IAsB1D,MAAM,CAAC,MAAM,0BAAqB;IAElC,iBAAiB;IA8BjB,oBAAoB;IAYpB,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQlD,wBAAwB;IA8BxB,SAAS;IA4BT,MAAM;CAIP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
@@ -9,6 +9,16 @@ import styles from "./styles/ds-text.css?inline";
9
9
  * @prop {string} text - The translation key (optional if using slot content)
10
10
  * @prop {boolean} literal - The text is what someone wrote, not a key: show it
11
11
  * as it stands, never looked up, never translated
12
+ * @prop {"muted" | "title" | "warning" | "danger"} tone - A quieter colour, the
13
+ * title grey, the warning colour for something that needs care, or the
14
+ * danger colour for a failure or a loss
15
+ * @prop {"small" | "heading" | "display"} size - 10px, a 13px heading on one
16
+ * square, or a 20px title on two squares
17
+ * @prop {boolean} strong - The medium weight
18
+ * @prop {boolean} wrap - Let the text run over several lines, each one square
19
+ *
20
+ * The four work alike for a translation key and for literal text. For a
21
+ * heading, give the element `role="heading"` and `aria-level`.
12
22
  *
13
23
  * @example
14
24
  * // Using slot content as the key (preferred)
@@ -19,6 +29,9 @@ import styles from "./styles/ds-text.css?inline";
19
29
  *
20
30
  * // Something a person typed: a list title, an item, a search they saved
21
31
  * <ds-text literal text="Marketing plan"></ds-text>
32
+ *
33
+ * // A translated message over several lines, in the danger colour
34
+ * <ds-text wrap tone="danger" role="alert">Couldn't save your changes</ds-text>
22
35
  */
23
36
  export class Text extends LitElement {
24
37
  static get properties() {