@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,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);
@@ -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() {
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Toast: short messages that stack in a corner of the page and leave on their own.
3
+ *
4
+ * BASED ON SONNER. This component is a Lit port of Sonner, the React toast
5
+ * library by Emil Kowalski (https://sonner.emilkowal.ski,
6
+ * https://github.com/emilkowalski/sonner, MIT licence). Its API and behaviour
7
+ * follow Sonner's, so Sonner's documentation describes how it works:
8
+ *
9
+ * - `toast()`, `toast.success()`, `.info()`, `.warning()`, `.error()`,
10
+ * `.loading()`, `.message()`, `.promise()` and `.dismiss()` are Sonner's calls,
11
+ * with Sonner's options (`id`, `description`, `duration`, `action`, `cancel`,
12
+ * `dismissible`, `closeButton`, `important`, `onDismiss`, `onAutoClose`).
13
+ * - `<ds-toast>` is Sonner's `<Toaster />`, with its `position`, `expand`,
14
+ * `visible-toasts`, `duration`, `close-button` and `rich-colors`;
15
+ * `contained` draws it inside its positioned parent instead of the window.
16
+ * - A toast stays until dismissed; an explicitly timed toast pauses while the stack is hovered,
17
+ * focused, held or the tab is hidden. Three show at once, stacked behind
18
+ * one another and spread out on hover. A swipe towards the edge dismisses one,
19
+ * Alt+T reaches them from the keyboard, and they come and go with Sonner's
20
+ * 400ms slide and fade.
21
+ *
22
+ * Where it departs from Sonner, it follows Design system 1: a toast is drawn as
23
+ * the system's label, an ink chip one control high per line in the tooltip's
24
+ * colours, with no line or shadow, its actions underlined words; the pile
25
+ * advances one square per toast, one square from the edge. Only `transform`
26
+ * and `opacity` animate (a toast stacked behind takes the front one's height at
27
+ * once instead of animating it). `toast()` also adds a `<ds-toast>` to the page
28
+ * when there is none, and moving the element keeps its toasts and their time.
29
+ * An error is announced assertively unless it says `important: false`.
30
+ *
31
+ * `toast()` and its queue are framework-free (`0-face/toast-queue.ts`). On a
32
+ * page without Lit, the page toaster (`0-face/toaster.ts`) draws the same stack
33
+ * with this component's stylesheet; where a `<ds-toast>` is in the page, it
34
+ * takes every toast, so a page never shows two stacks.
35
+ */
36
+ import { LitElement } from "lit";
37
+ import type { ToastPosition } from "../0-face/toast-queue";
38
+ import "./ds-icon";
39
+ export { toast } from "../0-face/toast-queue";
40
+ export type { ToastButton, ToastData, ToastId, ToastOptions, ToastPosition, ToastPromiseMessages, ToastType } from "../0-face/toast-queue";
41
+ /** The region that shows the toasts, Sonner's `<Toaster />`. Put one in the page. */
42
+ export declare class Toaster extends LitElement {
43
+ static properties: {
44
+ position: {
45
+ type: StringConstructor;
46
+ reflect: boolean;
47
+ };
48
+ expand: {
49
+ type: BooleanConstructor;
50
+ reflect: boolean;
51
+ };
52
+ visibleToasts: {
53
+ type: NumberConstructor;
54
+ attribute: string;
55
+ };
56
+ duration: {
57
+ type: NumberConstructor;
58
+ };
59
+ closeButton: {
60
+ type: BooleanConstructor;
61
+ attribute: string;
62
+ };
63
+ richColors: {
64
+ type: BooleanConstructor;
65
+ attribute: string;
66
+ reflect: boolean;
67
+ };
68
+ contained: {
69
+ type: BooleanConstructor;
70
+ reflect: boolean;
71
+ };
72
+ label: {
73
+ type: StringConstructor;
74
+ };
75
+ closeLabel: {
76
+ type: StringConstructor;
77
+ attribute: string;
78
+ };
79
+ _items: {
80
+ state: boolean;
81
+ };
82
+ _hovered: {
83
+ state: boolean;
84
+ };
85
+ _focused: {
86
+ state: boolean;
87
+ };
88
+ };
89
+ static styles: import("lit").CSSResult;
90
+ position: ToastPosition;
91
+ expand: boolean;
92
+ visibleToasts: number;
93
+ duration: number;
94
+ closeButton: boolean;
95
+ richColors: boolean;
96
+ /** Draw within the nearest positioned ancestor instead of the window. */
97
+ contained: boolean;
98
+ /** The region's accessible name; products pass their own words. */
99
+ label: string;
100
+ closeLabel: string;
101
+ private _items;
102
+ private _hovered;
103
+ private _focused;
104
+ private heights;
105
+ private timers;
106
+ private interacting;
107
+ private swipe?;
108
+ private resizes;
109
+ private stopListening?;
110
+ constructor();
111
+ connectedCallback(): void;
112
+ disconnectedCallback(): void;
113
+ private get live();
114
+ private get expanded();
115
+ private get paused();
116
+ private receive;
117
+ private removeToast;
118
+ private clearTimer;
119
+ /** Sonner's timers: each toast keeps its remaining time while the stack is paused. */
120
+ private syncTimers;
121
+ private hotkey;
122
+ private onFocusOut;
123
+ private measure;
124
+ protected updated(): void;
125
+ private onPointerDown;
126
+ private onPointerMove;
127
+ private onPointerUp;
128
+ private press;
129
+ private renderButton;
130
+ private renderIcon;
131
+ private renderToast;
132
+ render(): import("lit").TemplateResult<1>;
133
+ }
134
+ declare global {
135
+ interface HTMLElementTagNameMap {
136
+ "ds-toast": Toaster;
137
+ }
138
+ }
139
+ //# sourceMappingURL=ds-toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds-toast.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-toast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,UAAU,EAA4B,MAAM,KAAK,CAAC;AAY3D,OAAO,KAAK,EAAmC,aAAa,EAAyB,MAAM,uBAAuB,CAAC;AACnH,OAAO,WAAW,CAAC;AAInB,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAK3I,qFAAqF;AACrF,qBAAa,OAAQ,SAAQ,UAAU;IACrC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAaf;IACF,MAAM,CAAC,MAAM,0BAAqB;IAE1B,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IAC5B,yEAAyE;IACjE,SAAS,EAAE,OAAO,CAAC;IAC3B,mEAAmE;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IAC3B,QAAgB,MAAM,CAAS;IAC/B,QAAgB,QAAQ,CAAU;IAClC,QAAgB,QAAQ,CAAU;IAClC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAC,CAA+D;IAC7E,OAAO,CAAC,OAAO,CAAgG;IAC/G,OAAO,CAAC,aAAa,CAAC,CAAa;;IAkBnC,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAgB5B,OAAO,KAAK,IAAI,GAAgE;IAChF,OAAO,KAAK,QAAQ,GAAiG;IACrH,OAAO,KAAK,MAAM,GAA6F;IAE/G,OAAO,CAAC,OAAO,CAcb;IAEF,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,UAAU;IAKlB,sFAAsF;IACtF,OAAO,CAAC,UAAU,CAiBhB;IAEF,OAAO,CAAC,MAAM,CAQZ;IAEF,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,OAAO;IAYf,SAAS,CAAC,OAAO,IAAI,IAAI;IAYzB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,aAAa,CAQnB;IAEF,OAAO,CAAC,WAAW,CAWjB;IAEF,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,WAAW;IAmCnB,MAAM;CA4BP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAAG,UAAU,EAAE,OAAO,CAAA;KAAE;CACxD"}