@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,4 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M8 2L13 3.5V8C13 10.6 10.9 12.7 8 14C5.1 12.7 3 10.6 3 8V3.5Z" stroke="currentColor"/>
3
+ <path d="M5.75 8L7.25 9.5L10.25 6.5" stroke="currentColor"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><path d="M5.75 2.25L2 4.25L3.25 7.25L4.75 6.75V13.25H11.25V6.75L12.75 7.25L14 4.25L10.25 2.25C10.25 3.49 9.24 4.25 8 4.25C6.76 4.25 5.75 3.49 5.75 2.25Z"/></g>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><path d="M2.25 6.25L3.25 2.75H12.75L13.75 6.25"/><path d="M2.25 6.25C2.25 7.08 2.92 7.75 3.75 7.75C4.58 7.75 5.25 7.08 5.25 6.25C5.25 7.08 5.92 7.75 6.75 7.75H9.25C10.08 7.75 10.75 7.08 10.75 6.25C10.75 7.08 11.42 7.75 12.25 7.75C13.08 7.75 13.75 7.08 13.75 6.25"/><path d="M3.25 7.75V13.25H12.75V7.75"/><path d="M6.75 13.25V10.25H9.25V13.25"/></g>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M1.5 8H9.5M6 4.5L9.5 8L6 11.5M9.5 2.5H13.5V13.5H9.5" stroke="currentColor" stroke-width="0.92"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M6.5 8H14.5M11 4.5L14.5 8L11 11.5M6.5 2.5H2.5V13.5H6.5" stroke="currentColor" stroke-width="0.92"/>
3
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12 12v-6a2 2 0 0 1 4 0v6m0 -2a2 2 0 1 1 2 2h-6"/>
3
+ <path d="M12 12h6a2 2 0 0 1 0 4h-6m2 0a2 2 0 1 1 -2 2v-6"/>
4
+ <path d="M12 12v6a2 2 0 0 1 -4 0v-6m0 2a2 2 0 1 1 -2 -2h6"/>
5
+ <path d="M12 12h-6a2 2 0 0 1 0 -4h6m-2 0a2 2 0 1 1 2 -2v6"/>
6
+ </svg></svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M7 3.5Q7.6 8.4 12.5 9Q7.6 9.6 7 14.5Q6.4 9.6 1.5 9Q6.4 8.4 7 3.5ZM12.25 1.5Q12.5 3.5 14.5 3.75Q12.5 4 12.25 6Q12 4 10 3.75Q12 3.5 12.25 1.5Z" fill="currentColor"/>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4.5 3.0365H5.5V12.9635H4.5V3.0365Z" fill="currentColor"/>
3
+ <path d="M11.5 3.0365V12.9635L6.25 8L11.5 3.0365Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4.25 4.25H11.75V11.75H4.25V4.25Z" fill="currentColor"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="8" r="2.75"/><path d="M12.75 8L14.25 8M11.36 11.36L12.42 12.42M8 12.75L8 14.25M4.64 11.36L3.58 12.42M3.25 8L1.75 8M4.64 4.64L3.58 3.58M8 3.25L8 1.75M11.36 4.64L12.42 3.58"/></g>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="8" cy="8" r="5.75" stroke="currentColor" stroke-width="0.92"/>
3
+ <path d="M8 2.25A5.75 5.75 0 0 0 8 13.75Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><path d="M2.25 3.25V7.34C2.25 7.74 2.41 8.12 2.69 8.4L7.6 13.31C8.19 13.9 9.14 13.9 9.72 13.31L13.31 9.72C13.9 9.14 13.9 8.19 13.31 7.6L8.4 2.69C8.12 2.41 7.74 2.25 7.34 2.25H3.25C2.7 2.25 2.25 2.7 2.25 3.25Z"/><circle cx="5.25" cy="5.25" r="0.75"/></g>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><path d="M2.25 4.25H13.75V6.5C12.93 6.5 12.25 7.17 12.25 8C12.25 8.83 12.93 9.5 13.75 9.5V11.75H2.25V9.5C3.08 9.5 3.75 8.83 3.75 8C3.75 7.17 3.08 6.5 2.25 6.5Z"/><path d="M9.75 4.25V5.25M9.75 7.5V8.5M9.75 10.75V11.75"/></g>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M7.38251 12.615V4.42501H4.48351V3.38501H11.5165V4.42501H8.61751V12.615H7.38251Z" fill="currentColor"/>
3
+ <path d="M2.5 7.48H13.5V8.52H2.5V7.48Z" fill="currentColor"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><rect x="3.25" y="1.75" width="9.5" height="9.5" rx="2.25"/><path d="M3.25 7H12.75"/><path d="M5.75 9.25H5.76M10.24 9.25H10.25"/><path d="M5.25 11.25L3.75 14M10.75 11.25L12.25 14"/></g>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><path d="M3 5.5H12.5M10 3L12.5 5.5L10 8"/><path d="M13 10.5H3.5M6 8L3.5 10.5L6 13"/></g>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><rect x="1.75" y="3.25" width="12.5" height="8.5" rx="1.75"/><path d="M5.5 13.75H10.5"/><path d="M7 6V9L9.5 7.5Z"/></g>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M8 10V2.5M4.5 6L8 2.5L11.5 6" stroke="currentColor"/>
3
+ <path d="M2.5 10.5V13.5H13.5V10.5" stroke="currentColor"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="2.5" y="4.5" width="8" height="7" stroke="currentColor"/>
3
+ <path d="M10.5 7L13.5 5V11L10.5 9" stroke="currentColor"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M3 8.5l1 1s1.5 -1.102 2 -.5c.509 .609 1.863 7.65 2.5 9c.556 1.184 1.978 2.89 4 1.5c2 -1.5 7.5 -5.5 8.5 -11.5c.444 -2.661 -1 -4 -2.5 -4c-2 0 -4.047 1.202 -4.5 4c2.05 -1.254 2.551 1 1.5 3c-1.052 2 -2 3 -2.5 3c-.49 0 -.924 -1.165 -1.5 -3.5c-.59 -2.42 -.5 -6.5 -3 -6.5s-5.5 4.5 -5.5 4.5"/>
3
+ </svg></svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><path d="M12.25 5.25V4.25C12.25 3.7 11.8 3.25 11.25 3.25H3.75C2.92 3.25 2.25 3.92 2.25 4.75"/><rect x="2.25" y="4.75" width="11.5" height="8" rx="1.75"/><path d="M13.75 7.5H11.25C10.42 7.5 9.75 8.17 9.75 9C9.75 9.83 10.42 10.5 11.25 10.5H13.75"/></g>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><path d="M1.75 6.25C5.2 3.25 10.8 3.25 14.25 6.25"/><path d="M3.75 8.5C6.2 6.5 9.8 6.5 12.25 8.5"/><path d="M5.75 10.75C7.05 9.75 8.95 9.75 10.25 10.75"/><path d="M8 12.99V13"/></g>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="2.5" y="3.5" width="11" height="9" stroke="currentColor"/>
3
+ <path d="M2.5 6H13.5" stroke="currentColor"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g stroke="currentColor" stroke-width="0.92" stroke-linecap="round" stroke-linejoin="round"><path d="M9.75 2.5C8.07 2.85 6.98 4.5 7.33 6.18L2.85 10.65C2.27 11.24 2.27 12.19 2.85 12.77L3.23 13.15C3.81 13.73 4.76 13.73 5.35 13.15L9.82 8.67C11.5 9.02 13.15 7.93 13.5 6.25L11.5 6.5L9.5 4.5Z"/></g>
3
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4 4l11.733 16h4.267l-11.733 -16l-4.267 0"/>
3
+ <path d="M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772"/>
4
+ </svg></svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8"/>
3
+ <path d="M10 9l5 3l-5 3l0 -6"/>
4
+ </svg></svg>
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Design system 1 (0.3.0-alpha.13)
1
+ # Design system 1 (0.3.0-alpha.15)
2
2
 
3
3
  A plug and play design system
4
4
 
@@ -90,7 +90,7 @@ import "design-system-1/DS1/1-root/one.semantic.css";
90
90
 
91
91
  Products can select shared Lit components without loading the full system's
92
92
  page, device or theme setup. `sync.exports.mjs` says what a product may copy:
93
- `languages`, `components`, `email` and `icons`. 0001's products copy them with
93
+ `languages`, `components`, `email` and `icons`. Products copy them with
94
94
  Sync 1, naming what they take in their `sync.json`:
95
95
 
96
96
  ```json
@@ -214,7 +214,7 @@ Design system 1/
214
214
  │ ├── 1-root/ # Core styles, fonts, and design tokens
215
215
  │ │ # (everything as CSS variables)
216
216
  │ ├── 2-core/ # Core components (banner, buttons, text, cycle,
217
- │ │ # date, icon, input, tooltip)
217
+ │ │ # date, icon, input, toast (based on Sonner), tooltip)
218
218
  │ ├── 3-unit/ # Composite components (list, row, table)
219
219
  │ ├── 4-page/ # Page-level components for layout (layout, grid)
220
220
  │ └── x-icon/ # SVG icon library
@@ -0,0 +1,75 @@
1
+ /** A day without a time: `2026-10-18`. */
2
+ export type Day = string;
3
+ /** The first day of the week: 0 is Sunday, 1 Monday … 6 Saturday. */
4
+ export type Weekday = 0 | 1 | 2 | 3 | 4 | 5 | 6;
5
+ /** The day as year, month (1–12) and date, or `null` for anything that is not a real day. */
6
+ export declare function readDay(value: string | null | undefined): {
7
+ year: number;
8
+ month: number;
9
+ date: number;
10
+ } | null;
11
+ /** Whether a value is a real day written `YYYY-MM-DD`. */
12
+ export declare const isDay: (value: unknown) => value is Day;
13
+ /** Writes a day from its parts; months and dates past their end roll over. */
14
+ export declare function toDay(year: number, month: number, date: number): Day;
15
+ /** The day a `Date` falls on where the reader is. */
16
+ export declare const dayOf: (moment: Date) => Day;
17
+ /** Today, where the reader is. */
18
+ export declare const today: () => Day;
19
+ /** The day `count` days later (earlier when negative). */
20
+ export declare function addDays(day: Day, count: number): Day;
21
+ /** The same date `count` months later, held to the month's last day (31 January → 28 February). */
22
+ export declare function addMonths(day: Day, count: number): Day;
23
+ /** The first of the day's month. */
24
+ export declare const startOfMonth: (day: Day) => Day;
25
+ /** Whether two days are in the same month. */
26
+ export declare const sameMonth: (a: Day, b: Day) => boolean;
27
+ /** The day of the week, 0 Sunday … 6 Saturday. */
28
+ export declare const weekdayOf: (day: Day) => Weekday;
29
+ /** Days compare as text: `-1`, `0` or `1`. */
30
+ export declare const compareDays: (a: Day, b: Day) => 0 | 1 | -1;
31
+ /** The day held inside `min` and `max`, either of which may be left out. */
32
+ export declare function clampDay(day: Day, min?: Day | null, max?: Day | null): Day;
33
+ /**
34
+ * Where the language starts its week: Monday for most of Europe, Sunday for
35
+ * the United States and Japan, read from the locale where the browser can
36
+ * tell, Monday where it cannot.
37
+ */
38
+ export declare function firstWeekday(language?: string | null): Weekday;
39
+ /** Reads a `week-start` attribute: a number 0–6, or a day's English name. */
40
+ export declare function readWeekday(value: unknown): Weekday | undefined;
41
+ /**
42
+ * The weeks drawn for the month holding `day`: whole weeks from the week of the
43
+ * first to the week of the last, or six when `fixed` so the month never
44
+ * changes height.
45
+ */
46
+ export declare function monthWeeks(day: Day, weekStart: Weekday, fixed?: boolean): Day[][];
47
+ /** The weekdays in order from `weekStart`, named `narrow` (M), `short` (Mon) or `long`. */
48
+ export declare function weekdayNames(weekStart: Weekday, width?: "narrow" | "short" | "long", language?: string): string[];
49
+ /** The month and year: "October 2026", or "Oct 2026" with `short`. */
50
+ export declare const monthTitle: (day: Day, width?: "long" | "short", language?: string) => string;
51
+ /** The month alone: "October" (or "Oct" with `short`). */
52
+ export declare const monthName: (day: Day, width?: "long" | "short", language?: string) => string;
53
+ /** The date's number in the language's digits: "18". */
54
+ export declare const dateNumber: (day: Day, language?: string) => string;
55
+ /** The whole day, for a day's accessible name: "Sunday, 18 October 2026". */
56
+ export declare const dayLabel: (day: Day, language?: string) => string;
57
+ /** The ISO week number (Monday weeks, week 1 holds the first Thursday). */
58
+ export declare function isoWeek(day: Day): number;
59
+ /** A day's events, kept in a map so a month draws in one pass. */
60
+ export type CalendarEvent = {
61
+ /** Who the event is to the page; given back in events. */
62
+ id?: string;
63
+ title: string;
64
+ /** The first day, `YYYY-MM-DD`. */
65
+ start: Day;
66
+ /** The last day, for an event over several; the first when left out. */
67
+ end?: Day;
68
+ /** The time it starts, `14:30`, written before the title. */
69
+ time?: string;
70
+ /** A colour token or value for the event's fill (`var(--ds-zenith-blue)`). */
71
+ color?: string;
72
+ };
73
+ /** The events that touch each day between `from` and `to`, in order: longest first, then by time. */
74
+ export declare function eventsByDay(events: readonly CalendarEvent[], from: Day, to: Day): Map<Day, CalendarEvent[]>;
75
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../DS1/0-face/calendar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ // calendar.ts
2
+ // Days as the calendars count them: a day is written `YYYY-MM-DD` and read on
3
+ // its own date in every zone, a month is the whole weeks that hold it, and the
4
+ // week starts where the language starts it. Shared by ds-calendar,
5
+ // ds-calendar-large and ds-date-picker; no Lit, so a page can use it alone.
6
+ import { currentLanguage } from "./i18n";
7
+ import { dateFormatter, localeTag } from "./format";
8
+ const DAY = /^(\d{4})-(\d{2})-(\d{2})$/;
9
+ /** The day as year, month (1–12) and date, or `null` for anything that is not a real day. */
10
+ export function readDay(value) {
11
+ const match = DAY.exec(value?.trim() ?? "");
12
+ if (!match)
13
+ return null;
14
+ const [year, month, date] = [Number(match[1]), Number(match[2]), Number(match[3])];
15
+ const check = new Date(Date.UTC(year, month - 1, date));
16
+ if (check.getUTCFullYear() !== year || check.getUTCMonth() !== month - 1 || check.getUTCDate() !== date)
17
+ return null;
18
+ return { year, month, date };
19
+ }
20
+ /** Whether a value is a real day written `YYYY-MM-DD`. */
21
+ export const isDay = (value) => typeof value === "string" && readDay(value) !== null;
22
+ /** Writes a day from its parts; months and dates past their end roll over. */
23
+ export function toDay(year, month, date) {
24
+ const moment = new Date(Date.UTC(year, month - 1, date));
25
+ const pad = (value, size = 2) => String(value).padStart(size, "0");
26
+ return `${pad(moment.getUTCFullYear(), 4)}-${pad(moment.getUTCMonth() + 1)}-${pad(moment.getUTCDate())}`;
27
+ }
28
+ /** The day a `Date` falls on where the reader is. */
29
+ export const dayOf = (moment) => toDay(moment.getFullYear(), moment.getMonth() + 1, moment.getDate());
30
+ /** Today, where the reader is. */
31
+ export const today = () => dayOf(new Date());
32
+ /** Midday UTC on the day, the moment the formatters are given. */
33
+ const noon = (day) => {
34
+ const parts = readDay(day);
35
+ return Date.UTC(parts.year, parts.month - 1, parts.date, 12);
36
+ };
37
+ /** The day `count` days later (earlier when negative). */
38
+ export function addDays(day, count) {
39
+ const parts = readDay(day);
40
+ return toDay(parts.year, parts.month, parts.date + count);
41
+ }
42
+ /** The same date `count` months later, held to the month's last day (31 January → 28 February). */
43
+ export function addMonths(day, count) {
44
+ const parts = readDay(day);
45
+ const month = parts.month - 1 + count;
46
+ const year = parts.year + Math.floor(month / 12);
47
+ const inYear = ((month % 12) + 12) % 12;
48
+ const last = new Date(Date.UTC(year, inYear + 1, 0)).getUTCDate();
49
+ return toDay(year, inYear + 1, Math.min(parts.date, last));
50
+ }
51
+ /** The first of the day's month. */
52
+ export const startOfMonth = (day) => `${day.slice(0, 8)}01`;
53
+ /** Whether two days are in the same month. */
54
+ export const sameMonth = (a, b) => a.slice(0, 7) === b.slice(0, 7);
55
+ /** The day of the week, 0 Sunday … 6 Saturday. */
56
+ export const weekdayOf = (day) => new Date(noon(day)).getUTCDay();
57
+ /** Days compare as text: `-1`, `0` or `1`. */
58
+ export const compareDays = (a, b) => (a < b ? -1 : a > b ? 1 : 0);
59
+ /** The day held inside `min` and `max`, either of which may be left out. */
60
+ export function clampDay(day, min, max) {
61
+ if (min && isDay(min) && day < min)
62
+ return min;
63
+ if (max && isDay(max) && day > max)
64
+ return max;
65
+ return day;
66
+ }
67
+ /**
68
+ * Where the language starts its week: Monday for most of Europe, Sunday for
69
+ * the United States and Japan, read from the locale where the browser can
70
+ * tell, Monday where it cannot.
71
+ */
72
+ export function firstWeekday(language) {
73
+ try {
74
+ const locale = new Intl.Locale(localeTag(language ?? currentLanguage.value));
75
+ const first = locale.getWeekInfo?.().firstDay ?? locale.weekInfo?.firstDay;
76
+ // weekInfo counts Monday as 1 and Sunday as 7.
77
+ if (typeof first === "number" && first >= 1 && first <= 7)
78
+ return (first % 7);
79
+ }
80
+ catch {
81
+ // An old runtime: fall through to Monday.
82
+ }
83
+ return 1;
84
+ }
85
+ /** Reads a `week-start` attribute: a number 0–6, or a day's English name. */
86
+ export function readWeekday(value) {
87
+ if (typeof value === "number" && Number.isInteger(value) && value >= 0 && value <= 6)
88
+ return value;
89
+ if (typeof value !== "string" || !value.trim())
90
+ return undefined;
91
+ const number = Number(value);
92
+ if (Number.isInteger(number) && number >= 0 && number <= 6)
93
+ return number;
94
+ const index = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"].indexOf(value.trim().toLowerCase());
95
+ return index >= 0 ? index : undefined;
96
+ }
97
+ /**
98
+ * The weeks drawn for the month holding `day`: whole weeks from the week of the
99
+ * first to the week of the last, or six when `fixed` so the month never
100
+ * changes height.
101
+ */
102
+ export function monthWeeks(day, weekStart, fixed = false) {
103
+ const first = startOfMonth(day);
104
+ const lead = (weekdayOf(first) - weekStart + 7) % 7;
105
+ const start = addDays(first, -lead);
106
+ const last = addDays(addMonths(first, 1), -1);
107
+ const days = Number(last.slice(8)) + lead;
108
+ const count = fixed ? 6 : Math.ceil(days / 7);
109
+ return Array.from({ length: count }, (_, week) => Array.from({ length: 7 }, (_, index) => addDays(start, week * 7 + index)));
110
+ }
111
+ /** The weekdays in order from `weekStart`, named `narrow` (M), `short` (Mon) or `long`. */
112
+ export function weekdayNames(weekStart, width = "short", language) {
113
+ const format = dateFormatter({ weekday: width, timeZone: "UTC", language });
114
+ // 4 January 1970 was a Sunday.
115
+ return Array.from({ length: 7 }, (_, index) => format.format(Date.UTC(1970, 0, 4 + ((weekStart + index) % 7), 12)));
116
+ }
117
+ /** The month and year: "October 2026", or "Oct 2026" with `short`. */
118
+ export const monthTitle = (day, width = "long", language) => dateFormatter({ month: width, year: "numeric", timeZone: "UTC", language }).format(noon(day));
119
+ /** The month alone: "October" (or "Oct" with `short`). */
120
+ export const monthName = (day, width = "long", language) => dateFormatter({ month: width, timeZone: "UTC", language }).format(noon(day));
121
+ /** The date's number in the language's digits: "18". */
122
+ export const dateNumber = (day, language) => dateFormatter({ day: "numeric", timeZone: "UTC", language }).format(noon(day));
123
+ /** The whole day, for a day's accessible name: "Sunday, 18 October 2026". */
124
+ export const dayLabel = (day, language) => dateFormatter({ weekday: "long", day: "numeric", month: "long", year: "numeric", timeZone: "UTC", language }).format(noon(day));
125
+ /** The ISO week number (Monday weeks, week 1 holds the first Thursday). */
126
+ export function isoWeek(day) {
127
+ const thursday = addDays(day, 3 - ((weekdayOf(day) + 6) % 7));
128
+ const january4 = `${thursday.slice(0, 4)}-01-04`;
129
+ const firstThursday = addDays(january4, 3 - ((weekdayOf(january4) + 6) % 7));
130
+ return 1 + Math.round((noon(thursday) - noon(firstThursday)) / (7 * 864e5));
131
+ }
132
+ /** The events that touch each day between `from` and `to`, in order: longest first, then by time. */
133
+ export function eventsByDay(events, from, to) {
134
+ const days = new Map();
135
+ const sorted = events
136
+ .filter(event => isDay(event.start))
137
+ .map(event => ({ event, end: event.end && isDay(event.end) && event.end > event.start ? event.end : event.start }))
138
+ .sort((a, b) => compareDays(a.event.start, b.event.start) || compareDays(b.end, a.end) || (a.event.time ?? "").localeCompare(b.event.time ?? ""));
139
+ for (const { event, end } of sorted) {
140
+ if (end < from || event.start > to)
141
+ continue;
142
+ for (let day = event.start < from ? from : event.start; day <= end && day <= to; day = addDays(day, 1)) {
143
+ const list = days.get(day) ?? [];
144
+ list.push(event);
145
+ days.set(day, list);
146
+ }
147
+ }
148
+ return days;
149
+ }
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Carousels without Lit: the behaviour of `.ds-carousel` (drawn by
3
+ * `1-root/carousel.css`) and its dots (`.ds-progress--dots`, from
4
+ * `progress.css`) on a page's own markup, and the pieces `ds-carousel` and
5
+ * `ds-progress` share with it. No framework and no imports.
6
+ *
7
+ * ```html
8
+ * <section class="ds-carousel" aria-label="Colours">
9
+ * <div class="ds-carousel__track">
10
+ * <figure>…</figure>
11
+ * <figure>…</figure>
12
+ * </div>
13
+ * <div class="ds-carousel__controls">
14
+ * <button class="ds-button ds-button--icon ds-carousel__previous" type="button">…</button>
15
+ * <div class="ds-progress ds-progress--dots"></div>
16
+ * <button class="ds-button ds-button--icon ds-carousel__next" type="button">…</button>
17
+ * </div>
18
+ * </section>
19
+ * <script type="module">
20
+ * import { startCarousels } from "/ds1/0-face/carousel.js";
21
+ * startCarousels();
22
+ * </script>
23
+ * ```
24
+ *
25
+ * `startCarousels()` starts every `.ds-carousel` on the page: it makes the
26
+ * block a region described as a carousel, each slide a group labelled "2 of
27
+ * 5" (unless the page labels it), fills `.ds-progress--dots` with a dot for each
28
+ * slide, keeps the dots and the buttons on the slide in view, and announces
29
+ * the current slide politely in a `.ds-carousel__status` it adds. Dots take
30
+ * the arrow keys, Home and End. Scrolling is instant when the reader asks for
31
+ * reduced motion. The block fires `change` (`detail: { index, previous }`)
32
+ * when a person moves to another slide.
33
+ *
34
+ * A strip of things of their own width (`data-slides="auto"`, several in
35
+ * view, each stopping at the strip's start) takes three more options, as data
36
+ * attributes on `.ds-carousel` (and attributes of the same names on
37
+ * `ds-carousel`):
38
+ *
39
+ * - `data-bleed`: `none` (the default) keeps the strip in its box; `end` runs
40
+ * it on to the window's end edge, the first slide still on the box's start;
41
+ * `both` runs it to both edges, slides passing out of the box at its start.
42
+ * - `data-loop`: the slides held three times over, the copies unseen by
43
+ * assistive technology and never focused, so the strip has no end. A
44
+ * looping carousel draws no dots.
45
+ * - `data-autoplay`: move on a slide at a time by itself every so many
46
+ * milliseconds (`data-autoplay="5000"`; empty is 5000). Held while the
47
+ * pointer, a finger or the keyboard is in the strip, while it is out of
48
+ * view or the page hidden, and never for a reader who asks for reduced
49
+ * motion. A pause button (`.ds-carousel__pause`) is always drawn with it
50
+ * (WCAG 2.2.2).
51
+ * - `data-snap="none"`: slide freely, without stopping at slides.
52
+ *
53
+ * The words read English, or the shared words in the page's language where
54
+ * the page loads the language module; `setCarouselWords()` gives others.
55
+ */
56
+ /** The words a carousel says, keyed by the shared words' English. */
57
+ export type CarouselWord = "Carousel" | "Slide" | "Slides" | "Slide {index}" | "{index} of {count}" | "Previous slide" | "Next slide" | "Pause" | "Play";
58
+ /** What a strip's drive can be told; every option is off unless given. */
59
+ export interface CarouselDriveOptions {
60
+ bleed?: "none" | "end" | "both";
61
+ loop?: boolean;
62
+ /** Milliseconds between steps; `0` or absent for none. */
63
+ autoplay?: number;
64
+ /** A copy was made: mark and change it before it is placed. */
65
+ onCopy?: (copy: HTMLElement) => void;
66
+ }
67
+ /** A running drive: the bleed's measures, the loop's copies and autoplay. */
68
+ export interface CarouselDrive {
69
+ /** Moves a slide on (`1`) or back (`-1`). */
70
+ step(direction: 1 | -1): void;
71
+ /** Holds or resumes autoplay, as the pause button does. */
72
+ pause(paused: boolean): void;
73
+ /** Whether autoplay is held by the pause button. */
74
+ readonly paused: boolean;
75
+ stop(): void;
76
+ }
77
+ /** How long an autoplaying carousel stands when no interval is given. */
78
+ export declare const CAROUSEL_AUTOPLAY_MS = 5000;
79
+ /** An autoplay interval from an attribute: empty or `true` is the default, a number of milliseconds otherwise, at least a second. */
80
+ export declare function autoplayInterval(value: string | number | boolean | null | undefined): number;
81
+ /** Marks an element as a copy made for a loop. */
82
+ export declare const COPY = "data-ds-carousel-copy";
83
+ /** Whether an attribute asks for a bleed. */
84
+ export declare const bleedOf: (value: string | undefined) => CarouselDriveOptions["bleed"];
85
+ export type CarouselWords = Partial<Record<CarouselWord, string>> | ((word: CarouselWord, params: Record<string, string | number>) => string);
86
+ /** Give the carousel script words of the page's own, or `null` for the language module's (or English). */
87
+ export declare function setCarouselWords(next: CarouselWords | null): void;
88
+ /** A carousel word in the page's language, with its placeholders filled. */
89
+ export declare function carouselWord(word: CarouselWord, params?: Record<string, string | number>): string;
90
+ /** How a dot is drawn: before, at or after the current slide, or the end marker. */
91
+ export type DotState = "past" | "current" | "next" | "future" | "end";
92
+ /** The state of dot `index` of `count` when `current` is the slide in view. */
93
+ export declare function dotState(index: number, current: number, count: number, end?: boolean): DotState;
94
+ /**
95
+ * The dot a key moves to from `index`, or `undefined` for a key dots leave
96
+ * alone. Left and right follow the reading direction.
97
+ */
98
+ export declare function dotForKey(key: string, index: number, count: number, rtl?: boolean): number | undefined;
99
+ /** Whether the reader asks for reduced motion. */
100
+ export declare function prefersReducedMotion(): boolean;
101
+ /**
102
+ * Scrolls the track so `slide` stands at its start: smoothly, unless the
103
+ * reader asks for reduced motion. Says whether the track had to move.
104
+ */
105
+ export declare function scrollToSlide(track: HTMLElement, slide: HTMLElement, smooth?: boolean): boolean;
106
+ /**
107
+ * The slide in view: the one whose start is nearest the track's. At the far
108
+ * end, where the last slides cannot reach the start, the current slide stays
109
+ * while it is wholly in view, and the last slide is current otherwise.
110
+ */
111
+ export declare function nearestSlide(track: HTMLElement, slides: readonly HTMLElement[], current?: number): number;
112
+ /**
113
+ * The room between an element and the window's edges, at its start and its
114
+ * end, for a strip that bleeds out to them. Measured against the document's
115
+ * width, so a scrollbar is never covered.
116
+ */
117
+ export declare function bleedRoom(element: HTMLElement): {
118
+ before: number;
119
+ after: number;
120
+ };
121
+ /**
122
+ * Drives a strip: `block` carries the bleed's measures, `track` scrolls, and
123
+ * the slides (the children of `holder`, the track itself on a native page)
124
+ * are what it holds. The bleed's room is measured as the page's width
125
+ * changes; a loop holds the slides three times over, opened on the middle
126
+ * set and kept within it; autoplay steps a slide at a time while nobody is in
127
+ * the strip and it can be seen.
128
+ */
129
+ export declare function driveCarousel(block: HTMLElement, track: HTMLElement, holder: HTMLElement, options?: CarouselDriveOptions): CarouselDrive;
130
+ /** What `startDots` is given: the number of dots, the current one and the end marker. */
131
+ export interface DotsOptions {
132
+ count: number;
133
+ current?: number;
134
+ /** Draw the last dot as an end marker. */
135
+ end?: boolean;
136
+ /** Called when a person picks a dot, by a click or a key. */
137
+ onSelect?: (index: number) => void;
138
+ }
139
+ /** A running set of native dots. */
140
+ export interface DotsHandle {
141
+ /** Draw `count` dots, `current` among them. */
142
+ set(count: number, current: number): void;
143
+ stop(): void;
144
+ }
145
+ /**
146
+ * Fills a `.ds-progress--dots` element with a button for each dot and keeps
147
+ * its states: a group labelled "Slides", each dot "Slide 2", the current one
148
+ * `aria-current` and the only one in the tab order, arrows, Home and End
149
+ * moving between them.
150
+ */
151
+ export declare function startDots(element: HTMLElement, options: DotsOptions): DotsHandle;
152
+ /** A running native carousel. */
153
+ export interface CarouselHandle {
154
+ /** The slide in view. */
155
+ readonly current: number;
156
+ /** Go to a slide, as its dot does. */
157
+ goTo(index: number): void;
158
+ stop(): void;
159
+ }
160
+ /** Detail of a carousel's `change` event. */
161
+ export interface CarouselChangeDetail {
162
+ index: number;
163
+ previous: number;
164
+ }
165
+ /** What `startCarousel` and `startCarousels` are told. */
166
+ export interface StartCarouselOptions {
167
+ /** Where the icons are, for the pause button the script adds (`/ds1/x-icon/`). */
168
+ icons?: string;
169
+ }
170
+ /** Starts one `.ds-carousel` block; starting it again returns the running one. */
171
+ export declare function startCarousel(element: HTMLElement, options?: StartCarouselOptions): CarouselHandle;
172
+ /** Starts every `.ds-carousel` inside `root` (the document by default); the returned function stops them. */
173
+ export declare function startCarousels(root?: ParentNode, options?: StartCarouselOptions): () => void;
174
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../DS1/0-face/carousel.ts"],"names":[],"mappings":"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"}