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

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 (777) hide show
  1. package/DS1/0-face/button-label.ts +28 -0
  2. package/DS1/0-face/calendar.ts +6 -4
  3. package/DS1/0-face/carousel.ts +70 -0
  4. package/DS1/0-face/constraint-panel.ts +422 -0
  5. package/DS1/0-face/constraint-site.ts +200 -0
  6. package/DS1/0-face/constraints.ts +281 -0
  7. package/DS1/0-face/copy-text.ts +1 -1
  8. package/DS1/0-face/cut-fade.ts +312 -0
  9. package/DS1/0-face/define.ts +30 -2
  10. package/DS1/0-face/face-correction.ts +96 -0
  11. package/DS1/0-face/failures.ts +32 -0
  12. package/DS1/0-face/feedback-overlays.ts +5 -3
  13. package/DS1/0-face/feedback.ts +3 -0
  14. package/DS1/0-face/focus-vision.swift +31 -0
  15. package/DS1/0-face/focus.ts +181 -0
  16. package/DS1/0-face/google-face-metrics.json +102 -0
  17. package/DS1/0-face/grid.ts +61 -4
  18. package/DS1/0-face/i18n.ts +36 -18
  19. package/DS1/0-face/layout-inspector.ts +124 -98
  20. package/DS1/0-face/preference-options.ts +4 -0
  21. package/DS1/0-face/scaling.ts +21 -3
  22. package/DS1/0-face/shape.ts +43 -0
  23. package/DS1/0-face/text-contrast.ts +164 -0
  24. package/DS1/0-face/theme-bootstrap.js +43 -0
  25. package/DS1/0-face/toast-queue.ts +7 -1
  26. package/DS1/0-face/translations/da.json +10 -1
  27. package/DS1/0-face/translations/de.json +10 -1
  28. package/DS1/0-face/translations/en.json +10 -1
  29. package/DS1/0-face/translations/es.json +10 -1
  30. package/DS1/0-face/translations/fi.json +10 -1
  31. package/DS1/0-face/translations/fr.json +10 -1
  32. package/DS1/0-face/translations/is.json +10 -1
  33. package/DS1/0-face/translations/it.json +10 -1
  34. package/DS1/0-face/translations/ja.json +10 -1
  35. package/DS1/0-face/translations/ko.json +10 -1
  36. package/DS1/0-face/translations/nb.json +10 -1
  37. package/DS1/0-face/translations/pt-BR.json +10 -1
  38. package/DS1/0-face/translations/pt.json +10 -1
  39. package/DS1/0-face/translations/sv.json +10 -1
  40. package/DS1/0-face/translations/zh.json +10 -1
  41. package/DS1/0-face/word-wrap.ts +113 -0
  42. package/DS1/1-root/card.css +47 -20
  43. package/DS1/1-root/carousel.css +7 -0
  44. package/DS1/1-root/cjk.css +1 -1
  45. package/DS1/1-root/component-tokens.css +3 -2
  46. package/DS1/1-root/context.css +44 -6
  47. package/DS1/1-root/controls.css +99 -8
  48. package/DS1/1-root/document.css +9 -1
  49. package/DS1/1-root/empty.css +46 -5
  50. package/DS1/1-root/figures.css +50 -3
  51. package/DS1/1-root/fonts.css +1 -1
  52. package/DS1/1-root/footer.css +147 -16
  53. package/DS1/1-root/foundation.ts +60 -0
  54. package/DS1/1-root/guide.css +35 -0
  55. package/DS1/1-root/header.css +30 -9
  56. package/DS1/1-root/library-tokens.ts +1 -2
  57. package/DS1/1-root/material.css +67 -0
  58. package/DS1/1-root/notice.css +10 -2
  59. package/DS1/1-root/one.css +14 -7
  60. package/DS1/1-root/palette.ts +3 -3
  61. package/DS1/1-root/progress.css +9 -1
  62. package/DS1/1-root/row.css +68 -2
  63. package/DS1/1-root/table.css +47 -4
  64. package/DS1/1-root/text.css +26 -0
  65. package/DS1/2-core/button-split.ts +10 -5
  66. package/DS1/2-core/chart/chart.css +71 -2
  67. package/DS1/2-core/chart/grid-chart.ts +2 -1
  68. package/DS1/2-core/ds-activity.ts +32 -0
  69. package/DS1/2-core/ds-app-chrome.ts +1 -0
  70. package/DS1/2-core/ds-avatar.ts +35 -6
  71. package/DS1/2-core/ds-badge.ts +8 -1
  72. package/DS1/2-core/ds-button.ts +7 -1
  73. package/DS1/2-core/ds-chart.ts +184 -49
  74. package/DS1/2-core/ds-cycle.ts +27 -186
  75. package/DS1/2-core/ds-device-bezel.ts +1 -0
  76. package/DS1/2-core/ds-empty.ts +6 -4
  77. package/DS1/2-core/ds-input.ts +23 -3
  78. package/DS1/2-core/ds-message.ts +22 -0
  79. package/DS1/2-core/ds-number.ts +349 -0
  80. package/DS1/2-core/ds-progress.ts +3 -0
  81. package/DS1/2-core/ds-radio.ts +3 -0
  82. package/DS1/2-core/ds-stat.ts +3 -0
  83. package/DS1/2-core/ds-switch.ts +5 -1
  84. package/DS1/2-core/ds-tag.ts +9 -2
  85. package/DS1/2-core/ds-text.ts +7 -0
  86. package/DS1/2-core/ds-token.ts +3 -0
  87. package/DS1/2-core/ds-tooltip.ts +17 -2
  88. package/DS1/2-core/ds-window.ts +1 -0
  89. package/DS1/2-core/generated/ds-icon-map.ts +47 -5
  90. package/DS1/2-core/generated/icons-extra.ts +24 -3
  91. package/DS1/2-core/generated/icons-immediate.ts +3 -3
  92. package/DS1/2-core/number-expression.ts +64 -0
  93. package/DS1/2-core/styles/ds-activity.css +16 -0
  94. package/DS1/2-core/styles/ds-badge.css +4 -1
  95. package/DS1/2-core/styles/ds-button-host.css +45 -12
  96. package/DS1/2-core/styles/ds-button-split.css +8 -0
  97. package/DS1/2-core/styles/ds-button.css +92 -19
  98. package/DS1/2-core/styles/ds-card.css +6 -0
  99. package/DS1/2-core/styles/ds-checkbox.css +20 -8
  100. package/DS1/2-core/styles/ds-image.css +2 -1
  101. package/DS1/2-core/styles/ds-input.css +37 -4
  102. package/DS1/2-core/styles/ds-number.css +127 -0
  103. package/DS1/2-core/styles/ds-radio.css +4 -1
  104. package/DS1/2-core/styles/ds-switch.css +34 -4
  105. package/DS1/2-core/styles/ds-tag.css +32 -5
  106. package/DS1/2-core/styles/ds-text.css +13 -4
  107. package/DS1/2-core/styles/ds-token.css +4 -1
  108. package/DS1/2-core/styles/ds-tooltip.css +13 -7
  109. package/DS1/3-unit/calendar-base.ts +5 -2
  110. package/DS1/3-unit/ds-calendar.ts +711 -37
  111. package/DS1/3-unit/ds-carousel.ts +13 -1
  112. package/DS1/3-unit/ds-context.ts +40 -2
  113. package/DS1/3-unit/ds-form.ts +45 -10
  114. package/DS1/3-unit/ds-list.ts +31 -3
  115. package/DS1/3-unit/ds-matrix.ts +3 -0
  116. package/DS1/3-unit/ds-menu.ts +9 -5
  117. package/DS1/3-unit/ds-row.ts +17 -2
  118. package/DS1/3-unit/ds-select.ts +1 -1
  119. package/DS1/3-unit/ds-sidebar.ts +18 -3
  120. package/DS1/3-unit/ds-table-of-contents.ts +166 -0
  121. package/DS1/3-unit/ds-tabs.ts +40 -2
  122. package/DS1/3-unit/styles/ds-calendar.css +356 -42
  123. package/DS1/3-unit/styles/ds-context.css +38 -0
  124. package/DS1/3-unit/styles/ds-list.css +26 -1
  125. package/DS1/3-unit/styles/ds-matrix.css +4 -1
  126. package/DS1/3-unit/styles/ds-row.css +39 -0
  127. package/DS1/3-unit/styles/ds-select.css +22 -12
  128. package/DS1/3-unit/styles/ds-sidebar.css +16 -2
  129. package/DS1/3-unit/styles/ds-table-of-contents.css +40 -0
  130. package/DS1/3-unit/styles/ds-tabs.css +95 -0
  131. package/DS1/4-page/ds-document.ts +3 -0
  132. package/DS1/4-page/ds-footer.ts +93 -18
  133. package/DS1/4-page/ds-header.ts +5 -1
  134. package/DS1/4-page/ds-overlay.ts +8 -3
  135. package/DS1/4-page/ds-page.ts +22 -1
  136. package/DS1/4-page/email.ts +7 -4
  137. package/DS1/4-page/styles/ds-container.css +0 -1
  138. package/DS1/4-page/styles/ds-overlay.css +7 -0
  139. package/DS1/4-page/styles/ds-page.css +10 -0
  140. package/DS1/5-visual-kit/app-chrome.ts +129 -0
  141. package/DS1/5-visual-kit/bezels.ts +394 -0
  142. package/DS1/5-visual-kit/browser-icons.LICENSE +53 -0
  143. package/DS1/5-visual-kit/browser-icons.ts +47 -0
  144. package/DS1/5-visual-kit/browser-styles.ts +53 -0
  145. package/DS1/5-visual-kit/device-bezel.ts +55 -0
  146. package/DS1/5-visual-kit/instagram-frame.ts +15 -0
  147. package/DS1/5-visual-kit/instagram.ts +41 -0
  148. package/DS1/5-visual-kit/mobile-chrome.ts +25 -0
  149. package/DS1/5-visual-kit/native-icon-paths.ts +145 -0
  150. package/DS1/5-visual-kit/window.ts +22 -0
  151. package/DS1/components.ts +1 -0
  152. package/DS1/index.ts +14 -1
  153. package/DS1/react/choice.ts +4 -2
  154. package/DS1/react/context.ts +11 -6
  155. package/DS1/react/empty.ts +2 -2
  156. package/DS1/react/footer.ts +5 -5
  157. package/DS1/react/header.ts +1 -1
  158. package/DS1/react/message.ts +4 -2
  159. package/DS1/react/number.ts +53 -0
  160. package/DS1/react/sidebar.ts +4 -2
  161. package/DS1/react/table-of-contents.ts +28 -0
  162. package/DS1/x-flag/LICENSE.md +26 -0
  163. package/DS1/x-flag/ac.svg +1 -0
  164. package/DS1/x-flag/ad.svg +1 -0
  165. package/DS1/x-flag/ae.svg +1 -0
  166. package/DS1/x-flag/af.svg +1 -0
  167. package/DS1/x-flag/ag.svg +1 -0
  168. package/DS1/x-flag/ai.svg +1 -0
  169. package/DS1/x-flag/al.svg +1 -0
  170. package/DS1/x-flag/am.svg +1 -0
  171. package/DS1/x-flag/ao.svg +1 -0
  172. package/DS1/x-flag/aq.svg +1 -0
  173. package/DS1/x-flag/ar.svg +1 -0
  174. package/DS1/x-flag/as.svg +1 -0
  175. package/DS1/x-flag/at.svg +1 -0
  176. package/DS1/x-flag/au.svg +1 -0
  177. package/DS1/x-flag/aw.svg +1 -0
  178. package/DS1/x-flag/ax.svg +1 -0
  179. package/DS1/x-flag/az.svg +1 -0
  180. package/DS1/x-flag/ba.svg +1 -0
  181. package/DS1/x-flag/bb.svg +1 -0
  182. package/DS1/x-flag/bd.svg +1 -0
  183. package/DS1/x-flag/be.svg +1 -0
  184. package/DS1/x-flag/bf.svg +1 -0
  185. package/DS1/x-flag/bg.svg +1 -0
  186. package/DS1/x-flag/bh.svg +1 -0
  187. package/DS1/x-flag/bi.svg +1 -0
  188. package/DS1/x-flag/bj.svg +1 -0
  189. package/DS1/x-flag/bl.svg +1 -0
  190. package/DS1/x-flag/bm.svg +1 -0
  191. package/DS1/x-flag/bn.svg +1 -0
  192. package/DS1/x-flag/bo.svg +1 -0
  193. package/DS1/x-flag/bq-bo.svg +1 -0
  194. package/DS1/x-flag/bq-sa.svg +1 -0
  195. package/DS1/x-flag/bq-se.svg +1 -0
  196. package/DS1/x-flag/bq.svg +1 -0
  197. package/DS1/x-flag/br.svg +1 -0
  198. package/DS1/x-flag/bs.svg +1 -0
  199. package/DS1/x-flag/bt.svg +1 -0
  200. package/DS1/x-flag/bv.svg +1 -0
  201. package/DS1/x-flag/bw.svg +1 -0
  202. package/DS1/x-flag/by.svg +1 -0
  203. package/DS1/x-flag/bz.svg +1 -0
  204. package/DS1/x-flag/ca.svg +1 -0
  205. package/DS1/x-flag/cc.svg +1 -0
  206. package/DS1/x-flag/cd.svg +1 -0
  207. package/DS1/x-flag/cf.svg +1 -0
  208. package/DS1/x-flag/cg.svg +1 -0
  209. package/DS1/x-flag/ch.svg +1 -0
  210. package/DS1/x-flag/ci.svg +1 -0
  211. package/DS1/x-flag/ck.svg +1 -0
  212. package/DS1/x-flag/cl.svg +1 -0
  213. package/DS1/x-flag/cm.svg +1 -0
  214. package/DS1/x-flag/cn.svg +1 -0
  215. package/DS1/x-flag/co.svg +1 -0
  216. package/DS1/x-flag/cr.svg +1 -0
  217. package/DS1/x-flag/cu.svg +1 -0
  218. package/DS1/x-flag/cv.svg +1 -0
  219. package/DS1/x-flag/cw.svg +1 -0
  220. package/DS1/x-flag/cx.svg +1 -0
  221. package/DS1/x-flag/cy.svg +1 -0
  222. package/DS1/x-flag/cz.svg +1 -0
  223. package/DS1/x-flag/de.svg +1 -0
  224. package/DS1/x-flag/dj.svg +1 -0
  225. package/DS1/x-flag/dk.svg +1 -0
  226. package/DS1/x-flag/dm.svg +1 -0
  227. package/DS1/x-flag/do.svg +1 -0
  228. package/DS1/x-flag/dz.svg +1 -0
  229. package/DS1/x-flag/ec.svg +1 -0
  230. package/DS1/x-flag/ee.svg +1 -0
  231. package/DS1/x-flag/eg.svg +1 -0
  232. package/DS1/x-flag/eh.svg +1 -0
  233. package/DS1/x-flag/er.svg +1 -0
  234. package/DS1/x-flag/es-ct.svg +1 -0
  235. package/DS1/x-flag/es.svg +1 -0
  236. package/DS1/x-flag/et.svg +1 -0
  237. package/DS1/x-flag/eu.svg +1 -0
  238. package/DS1/x-flag/fi.svg +1 -0
  239. package/DS1/x-flag/fj.svg +1 -0
  240. package/DS1/x-flag/fk.svg +1 -0
  241. package/DS1/x-flag/fm.svg +1 -0
  242. package/DS1/x-flag/fo.svg +1 -0
  243. package/DS1/x-flag/fr.svg +1 -0
  244. package/DS1/x-flag/ga.svg +1 -0
  245. package/DS1/x-flag/gb-eng.svg +1 -0
  246. package/DS1/x-flag/gb-nir.svg +1 -0
  247. package/DS1/x-flag/gb-sct.svg +1 -0
  248. package/DS1/x-flag/gb-wls.svg +1 -0
  249. package/DS1/x-flag/gb.svg +1 -0
  250. package/DS1/x-flag/gd.svg +1 -0
  251. package/DS1/x-flag/ge.svg +1 -0
  252. package/DS1/x-flag/gf.svg +1 -0
  253. package/DS1/x-flag/gg.svg +1 -0
  254. package/DS1/x-flag/gh.svg +1 -0
  255. package/DS1/x-flag/gi.svg +1 -0
  256. package/DS1/x-flag/gl.svg +1 -0
  257. package/DS1/x-flag/gm.svg +1 -0
  258. package/DS1/x-flag/gn.svg +1 -0
  259. package/DS1/x-flag/gp.svg +1 -0
  260. package/DS1/x-flag/gq.svg +1 -0
  261. package/DS1/x-flag/gr.svg +1 -0
  262. package/DS1/x-flag/gs.svg +1 -0
  263. package/DS1/x-flag/gt.svg +1 -0
  264. package/DS1/x-flag/gu.svg +1 -0
  265. package/DS1/x-flag/gw.svg +1 -0
  266. package/DS1/x-flag/gy.svg +1 -0
  267. package/DS1/x-flag/hk.svg +1 -0
  268. package/DS1/x-flag/hm.svg +1 -0
  269. package/DS1/x-flag/hn.svg +1 -0
  270. package/DS1/x-flag/hr.svg +1 -0
  271. package/DS1/x-flag/ht.svg +1 -0
  272. package/DS1/x-flag/hu.svg +1 -0
  273. package/DS1/x-flag/ic.svg +1 -0
  274. package/DS1/x-flag/id.svg +1 -0
  275. package/DS1/x-flag/ie.svg +1 -0
  276. package/DS1/x-flag/il.svg +1 -0
  277. package/DS1/x-flag/im.svg +1 -0
  278. package/DS1/x-flag/in.svg +1 -0
  279. package/DS1/x-flag/io.svg +1 -0
  280. package/DS1/x-flag/iq.svg +1 -0
  281. package/DS1/x-flag/ir.svg +1 -0
  282. package/DS1/x-flag/is.svg +1 -0
  283. package/DS1/x-flag/it.svg +1 -0
  284. package/DS1/x-flag/je.svg +1 -0
  285. package/DS1/x-flag/jm.svg +1 -0
  286. package/DS1/x-flag/jo.svg +1 -0
  287. package/DS1/x-flag/jp.svg +1 -0
  288. package/DS1/x-flag/ke.svg +1 -0
  289. package/DS1/x-flag/kg.svg +1 -0
  290. package/DS1/x-flag/kh.svg +1 -0
  291. package/DS1/x-flag/ki.svg +1 -0
  292. package/DS1/x-flag/km.svg +1 -0
  293. package/DS1/x-flag/kn.svg +1 -0
  294. package/DS1/x-flag/kp.svg +1 -0
  295. package/DS1/x-flag/kr.svg +1 -0
  296. package/DS1/x-flag/kw.svg +1 -0
  297. package/DS1/x-flag/ky.svg +1 -0
  298. package/DS1/x-flag/kz.svg +1 -0
  299. package/DS1/x-flag/la.svg +1 -0
  300. package/DS1/x-flag/lb.svg +1 -0
  301. package/DS1/x-flag/lc.svg +1 -0
  302. package/DS1/x-flag/li.svg +1 -0
  303. package/DS1/x-flag/lk.svg +1 -0
  304. package/DS1/x-flag/lr.svg +1 -0
  305. package/DS1/x-flag/ls.svg +1 -0
  306. package/DS1/x-flag/lt.svg +1 -0
  307. package/DS1/x-flag/lu.svg +1 -0
  308. package/DS1/x-flag/lv.svg +1 -0
  309. package/DS1/x-flag/ly.svg +1 -0
  310. package/DS1/x-flag/ma.svg +1 -0
  311. package/DS1/x-flag/mc.svg +1 -0
  312. package/DS1/x-flag/md.svg +1 -0
  313. package/DS1/x-flag/me.svg +1 -0
  314. package/DS1/x-flag/mf.svg +1 -0
  315. package/DS1/x-flag/mg.svg +1 -0
  316. package/DS1/x-flag/mh.svg +1 -0
  317. package/DS1/x-flag/mk.svg +1 -0
  318. package/DS1/x-flag/ml.svg +1 -0
  319. package/DS1/x-flag/mm.svg +1 -0
  320. package/DS1/x-flag/mn.svg +1 -0
  321. package/DS1/x-flag/mo.svg +1 -0
  322. package/DS1/x-flag/mp.svg +1 -0
  323. package/DS1/x-flag/mq.svg +1 -0
  324. package/DS1/x-flag/mr.svg +1 -0
  325. package/DS1/x-flag/ms.svg +1 -0
  326. package/DS1/x-flag/mt.svg +1 -0
  327. package/DS1/x-flag/mu.svg +1 -0
  328. package/DS1/x-flag/mv.svg +1 -0
  329. package/DS1/x-flag/mw.svg +1 -0
  330. package/DS1/x-flag/mx.svg +1 -0
  331. package/DS1/x-flag/my.svg +1 -0
  332. package/DS1/x-flag/mz.svg +1 -0
  333. package/DS1/x-flag/na.svg +1 -0
  334. package/DS1/x-flag/nc.svg +1 -0
  335. package/DS1/x-flag/ne.svg +1 -0
  336. package/DS1/x-flag/nf.svg +1 -0
  337. package/DS1/x-flag/ng.svg +1 -0
  338. package/DS1/x-flag/ni.svg +1 -0
  339. package/DS1/x-flag/nl.svg +1 -0
  340. package/DS1/x-flag/no.svg +1 -0
  341. package/DS1/x-flag/np.svg +1 -0
  342. package/DS1/x-flag/nr.svg +1 -0
  343. package/DS1/x-flag/nu.svg +1 -0
  344. package/DS1/x-flag/nz.svg +1 -0
  345. package/DS1/x-flag/om.svg +1 -0
  346. package/DS1/x-flag/pa.svg +1 -0
  347. package/DS1/x-flag/pe.svg +1 -0
  348. package/DS1/x-flag/pf.svg +1 -0
  349. package/DS1/x-flag/pg.svg +1 -0
  350. package/DS1/x-flag/ph.svg +1 -0
  351. package/DS1/x-flag/pk.svg +1 -0
  352. package/DS1/x-flag/pl.svg +1 -0
  353. package/DS1/x-flag/pm.svg +1 -0
  354. package/DS1/x-flag/pn.svg +1 -0
  355. package/DS1/x-flag/pr.svg +1 -0
  356. package/DS1/x-flag/ps.svg +1 -0
  357. package/DS1/x-flag/pt.svg +1 -0
  358. package/DS1/x-flag/pw.svg +1 -0
  359. package/DS1/x-flag/py.svg +1 -0
  360. package/DS1/x-flag/qa.svg +1 -0
  361. package/DS1/x-flag/re.svg +1 -0
  362. package/DS1/x-flag/ro.svg +1 -0
  363. package/DS1/x-flag/rs.svg +1 -0
  364. package/DS1/x-flag/ru.svg +1 -0
  365. package/DS1/x-flag/rw.svg +1 -0
  366. package/DS1/x-flag/sa.svg +1 -0
  367. package/DS1/x-flag/sb.svg +1 -0
  368. package/DS1/x-flag/sc.svg +1 -0
  369. package/DS1/x-flag/sd.svg +1 -0
  370. package/DS1/x-flag/se.svg +1 -0
  371. package/DS1/x-flag/sg.svg +1 -0
  372. package/DS1/x-flag/sh.svg +1 -0
  373. package/DS1/x-flag/si.svg +1 -0
  374. package/DS1/x-flag/sj.svg +1 -0
  375. package/DS1/x-flag/sk.svg +1 -0
  376. package/DS1/x-flag/sl.svg +1 -0
  377. package/DS1/x-flag/sm.svg +1 -0
  378. package/DS1/x-flag/sn.svg +1 -0
  379. package/DS1/x-flag/so.svg +1 -0
  380. package/DS1/x-flag/sr.svg +1 -0
  381. package/DS1/x-flag/ss.svg +1 -0
  382. package/DS1/x-flag/st.svg +1 -0
  383. package/DS1/x-flag/sv.svg +1 -0
  384. package/DS1/x-flag/sx.svg +1 -0
  385. package/DS1/x-flag/sy.svg +1 -0
  386. package/DS1/x-flag/sz.svg +1 -0
  387. package/DS1/x-flag/ta.svg +1 -0
  388. package/DS1/x-flag/tc.svg +1 -0
  389. package/DS1/x-flag/td.svg +1 -0
  390. package/DS1/x-flag/tf.svg +1 -0
  391. package/DS1/x-flag/tg.svg +1 -0
  392. package/DS1/x-flag/th.svg +1 -0
  393. package/DS1/x-flag/tj.svg +1 -0
  394. package/DS1/x-flag/tk.svg +1 -0
  395. package/DS1/x-flag/tl.svg +1 -0
  396. package/DS1/x-flag/tm.svg +1 -0
  397. package/DS1/x-flag/tn.svg +1 -0
  398. package/DS1/x-flag/to.svg +1 -0
  399. package/DS1/x-flag/tr.svg +1 -0
  400. package/DS1/x-flag/tt.svg +1 -0
  401. package/DS1/x-flag/tv.svg +1 -0
  402. package/DS1/x-flag/tw.svg +1 -0
  403. package/DS1/x-flag/tz.svg +1 -0
  404. package/DS1/x-flag/ua.svg +1 -0
  405. package/DS1/x-flag/ug.svg +1 -0
  406. package/DS1/x-flag/um.svg +1 -0
  407. package/DS1/x-flag/us.svg +1 -0
  408. package/DS1/x-flag/uy.svg +1 -0
  409. package/DS1/x-flag/uz.svg +1 -0
  410. package/DS1/x-flag/va.svg +1 -0
  411. package/DS1/x-flag/vc.svg +1 -0
  412. package/DS1/x-flag/ve.svg +1 -0
  413. package/DS1/x-flag/vg.svg +1 -0
  414. package/DS1/x-flag/vi.svg +1 -0
  415. package/DS1/x-flag/vn.svg +1 -0
  416. package/DS1/x-flag/vu.svg +1 -0
  417. package/DS1/x-flag/wf.svg +1 -0
  418. package/DS1/x-flag/ws.svg +1 -0
  419. package/DS1/x-flag/xk.svg +1 -0
  420. package/DS1/x-flag/ye.svg +1 -0
  421. package/DS1/x-flag/yt.svg +1 -0
  422. package/DS1/x-flag/za.svg +1 -0
  423. package/DS1/x-flag/zm.svg +1 -0
  424. package/DS1/x-flag/zw.svg +1 -0
  425. package/DS1/x-icon/android.svg +9 -0
  426. package/DS1/x-icon/arrange-check.svg +1 -1
  427. package/DS1/x-icon/arrange-page.svg +1 -1
  428. package/DS1/x-icon/chrome.svg +7 -0
  429. package/DS1/x-icon/edge-brand.svg +6 -0
  430. package/DS1/x-icon/firefox.svg +4 -0
  431. package/DS1/x-icon/health.svg +3 -0
  432. package/DS1/x-icon/left.svg +2 -3
  433. package/DS1/x-icon/linux.svg +1 -0
  434. package/DS1/x-icon/material.svg +1 -0
  435. package/DS1/x-icon/milestone-planned.svg +3 -0
  436. package/DS1/x-icon/milestone.svg +3 -0
  437. package/DS1/x-icon/more.svg +1 -5
  438. package/DS1/x-icon/network.svg +3 -0
  439. package/DS1/x-icon/opera.svg +4 -0
  440. package/DS1/x-icon/prediction.svg +3 -0
  441. package/DS1/x-icon/priority-high.svg +3 -0
  442. package/DS1/x-icon/priority-low.svg +3 -0
  443. package/DS1/x-icon/priority-medium.svg +3 -0
  444. package/DS1/x-icon/project.svg +3 -0
  445. package/DS1/x-icon/redo.svg +2 -2
  446. package/DS1/x-icon/repeat-small.svg +3 -0
  447. package/DS1/x-icon/safari.svg +4 -0
  448. package/DS1/x-icon/scaling.svg +3 -0
  449. package/DS1/x-icon/tabs.svg +4 -0
  450. package/DS1/x-icon/windows.svg +5 -0
  451. package/README.md +10 -6
  452. package/dist/0-face/button-label.d.ts +5 -0
  453. package/dist/0-face/button-label.d.ts.map +1 -0
  454. package/dist/0-face/button-label.js +31 -0
  455. package/dist/0-face/calendar.d.ts +1 -1
  456. package/dist/0-face/calendar.d.ts.map +1 -1
  457. package/dist/0-face/calendar.js +6 -3
  458. package/dist/0-face/carousel.d.ts +9 -0
  459. package/dist/0-face/carousel.d.ts.map +1 -1
  460. package/dist/0-face/carousel.js +80 -0
  461. package/dist/0-face/constraint-panel.d.ts +43 -0
  462. package/dist/0-face/constraint-panel.d.ts.map +1 -0
  463. package/dist/0-face/constraint-panel.js +429 -0
  464. package/dist/0-face/constraint-site.d.ts +72 -0
  465. package/dist/0-face/constraint-site.d.ts.map +1 -0
  466. package/dist/0-face/constraint-site.js +185 -0
  467. package/dist/0-face/constraints.d.ts +47 -0
  468. package/dist/0-face/constraints.d.ts.map +1 -0
  469. package/dist/0-face/constraints.js +247 -0
  470. package/dist/0-face/copy-text.js +1 -1
  471. package/dist/0-face/cut-fade.d.ts +112 -0
  472. package/dist/0-face/cut-fade.d.ts.map +1 -0
  473. package/dist/0-face/cut-fade.js +274 -0
  474. package/dist/0-face/define.d.ts.map +1 -1
  475. package/dist/0-face/define.js +24 -3
  476. package/dist/0-face/face-correction.d.ts +51 -0
  477. package/dist/0-face/face-correction.d.ts.map +1 -0
  478. package/dist/0-face/face-correction.js +80 -0
  479. package/dist/0-face/failures.d.ts +16 -0
  480. package/dist/0-face/failures.d.ts.map +1 -0
  481. package/dist/0-face/failures.js +21 -0
  482. package/dist/0-face/feedback-overlays.d.ts.map +1 -1
  483. package/dist/0-face/feedback-overlays.js +5 -3
  484. package/dist/0-face/feedback.d.ts +2 -0
  485. package/dist/0-face/feedback.d.ts.map +1 -1
  486. package/dist/0-face/feedback.js +1 -0
  487. package/dist/0-face/focus.d.ts +71 -0
  488. package/dist/0-face/focus.d.ts.map +1 -0
  489. package/dist/0-face/focus.js +196 -0
  490. package/dist/0-face/grid.d.ts +11 -1
  491. package/dist/0-face/grid.d.ts.map +1 -1
  492. package/dist/0-face/grid.js +90 -4
  493. package/dist/0-face/i18n.d.ts.map +1 -1
  494. package/dist/0-face/i18n.js +38 -16
  495. package/dist/0-face/layout-inspector.d.ts +5 -1
  496. package/dist/0-face/layout-inspector.d.ts.map +1 -1
  497. package/dist/0-face/layout-inspector.js +130 -104
  498. package/dist/0-face/preference-options.d.ts +4 -0
  499. package/dist/0-face/preference-options.d.ts.map +1 -1
  500. package/dist/0-face/scaling.d.ts +8 -1
  501. package/dist/0-face/scaling.d.ts.map +1 -1
  502. package/dist/0-face/scaling.js +19 -2
  503. package/dist/0-face/shape.d.ts +35 -0
  504. package/dist/0-face/shape.d.ts.map +1 -0
  505. package/dist/0-face/shape.js +23 -0
  506. package/dist/0-face/text-contrast.d.ts +22 -0
  507. package/dist/0-face/text-contrast.d.ts.map +1 -0
  508. package/dist/0-face/text-contrast.js +178 -0
  509. package/dist/0-face/theme-bootstrap.js +56 -0
  510. package/dist/0-face/toast-queue.d.ts +4 -0
  511. package/dist/0-face/toast-queue.d.ts.map +1 -1
  512. package/dist/0-face/toast-queue.js +4 -1
  513. package/dist/0-face/translations/da.json +10 -1
  514. package/dist/0-face/translations/de.json +10 -1
  515. package/dist/0-face/translations/en.json +10 -1
  516. package/dist/0-face/translations/es.json +10 -1
  517. package/dist/0-face/translations/fi.json +10 -1
  518. package/dist/0-face/translations/fr.json +10 -1
  519. package/dist/0-face/translations/is.json +10 -1
  520. package/dist/0-face/translations/it.json +10 -1
  521. package/dist/0-face/translations/ja.json +10 -1
  522. package/dist/0-face/translations/ko.json +10 -1
  523. package/dist/0-face/translations/nb.json +10 -1
  524. package/dist/0-face/translations/pt-BR.json +10 -1
  525. package/dist/0-face/translations/pt.json +10 -1
  526. package/dist/0-face/translations/sv.json +10 -1
  527. package/dist/0-face/translations/zh.json +10 -1
  528. package/dist/0-face/word-wrap.d.ts +6 -0
  529. package/dist/0-face/word-wrap.d.ts.map +1 -0
  530. package/dist/0-face/word-wrap.js +119 -0
  531. package/dist/1-root/foundation.d.ts +12 -0
  532. package/dist/1-root/foundation.d.ts.map +1 -0
  533. package/dist/1-root/foundation.js +59 -0
  534. package/dist/1-root/library-tokens.d.ts.map +1 -1
  535. package/dist/1-root/library-tokens.js +1 -2
  536. package/dist/1-root/palette.d.ts +2 -2
  537. package/dist/1-root/palette.d.ts.map +1 -1
  538. package/dist/1-root/palette.js +3 -3
  539. package/dist/2-core/button-split.d.ts +1 -0
  540. package/dist/2-core/button-split.d.ts.map +1 -1
  541. package/dist/2-core/button-split.js +9 -4
  542. package/dist/2-core/chart/grid-chart.d.ts +2 -0
  543. package/dist/2-core/chart/grid-chart.d.ts.map +1 -1
  544. package/dist/2-core/chart/grid-chart.js +2 -1
  545. package/dist/2-core/ds-activity.d.ts +25 -0
  546. package/dist/2-core/ds-activity.d.ts.map +1 -0
  547. package/dist/2-core/ds-activity.js +28 -0
  548. package/dist/2-core/ds-app-chrome.d.ts +2 -0
  549. package/dist/2-core/ds-app-chrome.d.ts.map +1 -0
  550. package/dist/2-core/ds-app-chrome.js +1 -0
  551. package/dist/2-core/ds-avatar.d.ts +7 -0
  552. package/dist/2-core/ds-avatar.d.ts.map +1 -1
  553. package/dist/2-core/ds-avatar.js +41 -6
  554. package/dist/2-core/ds-badge.d.ts +7 -1
  555. package/dist/2-core/ds-badge.d.ts.map +1 -1
  556. package/dist/2-core/ds-badge.js +8 -1
  557. package/dist/2-core/ds-button.d.ts +12 -0
  558. package/dist/2-core/ds-button.d.ts.map +1 -1
  559. package/dist/2-core/ds-button.js +4 -0
  560. package/dist/2-core/ds-chart.d.ts +28 -3
  561. package/dist/2-core/ds-chart.d.ts.map +1 -1
  562. package/dist/2-core/ds-chart.js +110 -130
  563. package/dist/2-core/ds-cycle.d.ts +2 -2
  564. package/dist/2-core/ds-cycle.d.ts.map +1 -1
  565. package/dist/2-core/ds-cycle.js +36 -171
  566. package/dist/2-core/ds-device-bezel.d.ts +2 -0
  567. package/dist/2-core/ds-device-bezel.d.ts.map +1 -0
  568. package/dist/2-core/ds-device-bezel.js +1 -0
  569. package/dist/2-core/ds-empty.d.ts +2 -2
  570. package/dist/2-core/ds-empty.d.ts.map +1 -1
  571. package/dist/2-core/ds-empty.js +6 -4
  572. package/dist/2-core/ds-input.d.ts +7 -0
  573. package/dist/2-core/ds-input.d.ts.map +1 -1
  574. package/dist/2-core/ds-input.js +23 -3
  575. package/dist/2-core/ds-message.d.ts +11 -0
  576. package/dist/2-core/ds-message.d.ts.map +1 -1
  577. package/dist/2-core/ds-message.js +18 -0
  578. package/dist/2-core/ds-number.d.ts +86 -0
  579. package/dist/2-core/ds-number.d.ts.map +1 -0
  580. package/dist/2-core/ds-number.js +326 -0
  581. package/dist/2-core/ds-progress.d.ts +3 -0
  582. package/dist/2-core/ds-progress.d.ts.map +1 -1
  583. package/dist/2-core/ds-progress.js +3 -0
  584. package/dist/2-core/ds-radio.d.ts +3 -0
  585. package/dist/2-core/ds-radio.d.ts.map +1 -1
  586. package/dist/2-core/ds-radio.js +10 -1
  587. package/dist/2-core/ds-stat.d.ts +3 -0
  588. package/dist/2-core/ds-stat.d.ts.map +1 -1
  589. package/dist/2-core/ds-stat.js +3 -0
  590. package/dist/2-core/ds-switch.d.ts +14 -1
  591. package/dist/2-core/ds-switch.d.ts.map +1 -1
  592. package/dist/2-core/ds-switch.js +3 -1
  593. package/dist/2-core/ds-tag.d.ts +8 -1
  594. package/dist/2-core/ds-tag.d.ts.map +1 -1
  595. package/dist/2-core/ds-tag.js +12 -2
  596. package/dist/2-core/ds-text.d.ts +7 -0
  597. package/dist/2-core/ds-text.d.ts.map +1 -1
  598. package/dist/2-core/ds-text.js +7 -0
  599. package/dist/2-core/ds-token.d.ts +3 -0
  600. package/dist/2-core/ds-token.d.ts.map +1 -1
  601. package/dist/2-core/ds-token.js +3 -0
  602. package/dist/2-core/ds-tooltip.d.ts.map +1 -1
  603. package/dist/2-core/ds-tooltip.js +23 -2
  604. package/dist/2-core/ds-window.d.ts +2 -0
  605. package/dist/2-core/ds-window.d.ts.map +1 -0
  606. package/dist/2-core/ds-window.js +1 -0
  607. package/dist/2-core/generated/ds-icon-map.d.ts +27 -6
  608. package/dist/2-core/generated/ds-icon-map.d.ts.map +1 -1
  609. package/dist/2-core/generated/ds-icon-map.js +47 -5
  610. package/dist/2-core/generated/icons-extra.d.ts.map +1 -1
  611. package/dist/2-core/generated/icons-extra.js +24 -3
  612. package/dist/2-core/generated/icons-immediate.d.ts +1 -1
  613. package/dist/2-core/generated/icons-immediate.d.ts.map +1 -1
  614. package/dist/2-core/generated/icons-immediate.js +3 -3
  615. package/dist/2-core/number-expression.d.ts +12 -0
  616. package/dist/2-core/number-expression.d.ts.map +1 -0
  617. package/dist/2-core/number-expression.js +82 -0
  618. package/dist/3-unit/calendar-base.d.ts +5 -0
  619. package/dist/3-unit/calendar-base.d.ts.map +1 -1
  620. package/dist/3-unit/calendar-base.js +3 -2
  621. package/dist/3-unit/ds-calendar.d.ts +197 -4
  622. package/dist/3-unit/ds-calendar.d.ts.map +1 -1
  623. package/dist/3-unit/ds-calendar.js +687 -45
  624. package/dist/3-unit/ds-carousel.d.ts +3 -0
  625. package/dist/3-unit/ds-carousel.d.ts.map +1 -1
  626. package/dist/3-unit/ds-carousel.js +13 -1
  627. package/dist/3-unit/ds-context.d.ts +18 -1
  628. package/dist/3-unit/ds-context.d.ts.map +1 -1
  629. package/dist/3-unit/ds-context.js +37 -1
  630. package/dist/3-unit/ds-form.d.ts +9 -0
  631. package/dist/3-unit/ds-form.d.ts.map +1 -1
  632. package/dist/3-unit/ds-form.js +50 -10
  633. package/dist/3-unit/ds-list.d.ts +20 -1
  634. package/dist/3-unit/ds-list.d.ts.map +1 -1
  635. package/dist/3-unit/ds-list.js +31 -3
  636. package/dist/3-unit/ds-matrix.d.ts +3 -0
  637. package/dist/3-unit/ds-matrix.d.ts.map +1 -1
  638. package/dist/3-unit/ds-matrix.js +3 -0
  639. package/dist/3-unit/ds-menu.d.ts.map +1 -1
  640. package/dist/3-unit/ds-menu.js +17 -1
  641. package/dist/3-unit/ds-row.d.ts +13 -0
  642. package/dist/3-unit/ds-row.d.ts.map +1 -1
  643. package/dist/3-unit/ds-row.js +15 -2
  644. package/dist/3-unit/ds-select.js +1 -1
  645. package/dist/3-unit/ds-sidebar.d.ts +17 -0
  646. package/dist/3-unit/ds-sidebar.d.ts.map +1 -1
  647. package/dist/3-unit/ds-sidebar.js +14 -3
  648. package/dist/3-unit/ds-table-of-contents.d.ts +68 -0
  649. package/dist/3-unit/ds-table-of-contents.d.ts.map +1 -0
  650. package/dist/3-unit/ds-table-of-contents.js +190 -0
  651. package/dist/3-unit/ds-tabs.d.ts +32 -1
  652. package/dist/3-unit/ds-tabs.d.ts.map +1 -1
  653. package/dist/3-unit/ds-tabs.js +39 -1
  654. package/dist/4-page/ds-document.d.ts +3 -0
  655. package/dist/4-page/ds-document.d.ts.map +1 -1
  656. package/dist/4-page/ds-document.js +3 -0
  657. package/dist/4-page/ds-footer.d.ts +47 -7
  658. package/dist/4-page/ds-footer.d.ts.map +1 -1
  659. package/dist/4-page/ds-footer.js +58 -14
  660. package/dist/4-page/ds-header.d.ts +6 -0
  661. package/dist/4-page/ds-header.d.ts.map +1 -1
  662. package/dist/4-page/ds-header.js +4 -1
  663. package/dist/4-page/ds-overlay.d.ts +2 -2
  664. package/dist/4-page/ds-overlay.d.ts.map +1 -1
  665. package/dist/4-page/ds-overlay.js +8 -3
  666. package/dist/4-page/ds-page.d.ts +12 -0
  667. package/dist/4-page/ds-page.d.ts.map +1 -1
  668. package/dist/4-page/ds-page.js +19 -1
  669. package/dist/4-page/email.d.ts +2 -0
  670. package/dist/4-page/email.d.ts.map +1 -1
  671. package/dist/4-page/email.js +5 -4
  672. package/dist/5-visual-kit/app-chrome.d.ts +98 -0
  673. package/dist/5-visual-kit/app-chrome.d.ts.map +1 -0
  674. package/dist/5-visual-kit/app-chrome.js +119 -0
  675. package/dist/5-visual-kit/bezels.d.ts +30 -0
  676. package/dist/5-visual-kit/bezels.d.ts.map +1 -0
  677. package/dist/5-visual-kit/bezels.js +388 -0
  678. package/dist/5-visual-kit/browser-icons.d.ts +5 -0
  679. package/dist/5-visual-kit/browser-icons.d.ts.map +1 -0
  680. package/dist/5-visual-kit/browser-icons.js +51 -0
  681. package/dist/5-visual-kit/browser-styles.d.ts +3 -0
  682. package/dist/5-visual-kit/browser-styles.d.ts.map +1 -0
  683. package/dist/5-visual-kit/browser-styles.js +52 -0
  684. package/dist/5-visual-kit/device-bezel.d.ts +84 -0
  685. package/dist/5-visual-kit/device-bezel.d.ts.map +1 -0
  686. package/dist/5-visual-kit/device-bezel.js +56 -0
  687. package/dist/5-visual-kit/instagram-frame.d.ts +8 -0
  688. package/dist/5-visual-kit/instagram-frame.d.ts.map +1 -0
  689. package/dist/5-visual-kit/instagram-frame.js +13 -0
  690. package/dist/5-visual-kit/instagram.d.ts +18 -0
  691. package/dist/5-visual-kit/instagram.d.ts.map +1 -0
  692. package/dist/5-visual-kit/instagram.js +39 -0
  693. package/dist/5-visual-kit/mobile-chrome.d.ts +4 -0
  694. package/dist/5-visual-kit/mobile-chrome.d.ts.map +1 -0
  695. package/dist/5-visual-kit/mobile-chrome.js +24 -0
  696. package/dist/5-visual-kit/native-icon-paths.d.ts +146 -0
  697. package/dist/5-visual-kit/native-icon-paths.d.ts.map +1 -0
  698. package/dist/5-visual-kit/native-icon-paths.js +145 -0
  699. package/dist/5-visual-kit/window.d.ts +51 -0
  700. package/dist/5-visual-kit/window.d.ts.map +1 -0
  701. package/dist/5-visual-kit/window.js +20 -0
  702. package/dist/browser-icons-BFbS1tIx.js +56 -0
  703. package/dist/browser-icons-BFbS1tIx.js.map +1 -0
  704. package/dist/browser-icons-CT8qU77Z.js +48 -0
  705. package/dist/browser-icons-CT8qU77Z.js.map +1 -0
  706. package/dist/components.d.ts +1 -0
  707. package/dist/components.d.ts.map +1 -1
  708. package/dist/components.js +1 -0
  709. package/dist/design-system-1.bundle.js +5505 -2068
  710. package/dist/design-system-1.bundle.js.map +1 -1
  711. package/dist/design-system-1.bundle.min.js +7026 -4628
  712. package/dist/design-system-1.bundle.min.js.map +1 -1
  713. package/dist/design-system-1.css +1 -1
  714. package/dist/feedback.js +197 -167
  715. package/dist/feedback.js.map +1 -1
  716. package/dist/{icons-extra-CRxxWFjX.js → icons-extra-BMPvmQPI.js} +25 -4
  717. package/dist/icons-extra-BMPvmQPI.js.map +1 -0
  718. package/dist/{icons-extra-H5pqCM_R.js → icons-extra-BfYOw-cR.js} +83 -5
  719. package/dist/icons-extra-BfYOw-cR.js.map +1 -0
  720. package/dist/index.d.ts +12 -1
  721. package/dist/index.d.ts.map +1 -1
  722. package/dist/index.js +11 -1
  723. package/dist/instagram-CKofs55A.js +50 -0
  724. package/dist/instagram-CKofs55A.js.map +1 -0
  725. package/dist/instagram-CcYf5oiM.js +48 -0
  726. package/dist/instagram-CcYf5oiM.js.map +1 -0
  727. package/dist/lit-Ce_uWYM4.js +612 -0
  728. package/dist/lit-Ce_uWYM4.js.map +1 -0
  729. package/dist/lit-DGUVm1Ce.js +557 -0
  730. package/dist/lit-DGUVm1Ce.js.map +1 -0
  731. package/dist/native-icon-paths-CB9evXBM.js +93 -0
  732. package/dist/native-icon-paths-CB9evXBM.js.map +1 -0
  733. package/dist/native-icon-paths-zay-3g_n.js +150 -0
  734. package/dist/native-icon-paths-zay-3g_n.js.map +1 -0
  735. package/dist/react/avatar.d.ts +1 -1
  736. package/dist/react/choice.d.ts +4 -0
  737. package/dist/react/choice.d.ts.map +1 -1
  738. package/dist/react/choice.js +2 -2
  739. package/dist/react/context.d.ts +19 -4
  740. package/dist/react/context.d.ts.map +1 -1
  741. package/dist/react/context.js +4 -4
  742. package/dist/react/empty.d.ts +2 -2
  743. package/dist/react/empty.d.ts.map +1 -1
  744. package/dist/react/empty.js +1 -1
  745. package/dist/react/footer.d.ts +5 -5
  746. package/dist/react/footer.d.ts.map +1 -1
  747. package/dist/react/footer.js +2 -2
  748. package/dist/react/header.d.ts +2 -2
  749. package/dist/react/header.d.ts.map +1 -1
  750. package/dist/react/message.d.ts +4 -0
  751. package/dist/react/message.d.ts.map +1 -1
  752. package/dist/react/message.js +2 -2
  753. package/dist/react/number.d.ts +53 -0
  754. package/dist/react/number.d.ts.map +1 -0
  755. package/dist/react/number.js +25 -0
  756. package/dist/react/page.d.ts +1 -1
  757. package/dist/react/sidebar.d.ts +4 -0
  758. package/dist/react/sidebar.d.ts.map +1 -1
  759. package/dist/react/sidebar.js +2 -2
  760. package/dist/react/table-of-contents.d.ts +19 -0
  761. package/dist/react/table-of-contents.d.ts.map +1 -0
  762. package/dist/react/table-of-contents.js +28 -0
  763. package/dist/{shared-words-CdMDVtXx.js → shared-words-C5cjxMjZ.js} +151 -16
  764. package/dist/shared-words-C5cjxMjZ.js.map +1 -0
  765. package/dist/{shared-words-BtRee8xR.js → shared-words-Cdm7xd-_.js} +163 -28
  766. package/dist/shared-words-Cdm7xd-_.js.map +1 -0
  767. package/package.json +24 -13
  768. package/DS1/1-root/one.semantic.css +0 -735
  769. package/DS1/3-unit/ds-calendar-large.ts +0 -353
  770. package/DS1/3-unit/styles/ds-calendar-large.css +0 -178
  771. package/dist/3-unit/ds-calendar-large.d.ts +0 -142
  772. package/dist/3-unit/ds-calendar-large.d.ts.map +0 -1
  773. package/dist/3-unit/ds-calendar-large.js +0 -308
  774. package/dist/icons-extra-CRxxWFjX.js.map +0 -1
  775. package/dist/icons-extra-H5pqCM_R.js.map +0 -1
  776. package/dist/shared-words-BtRee8xR.js.map +0 -1
  777. package/dist/shared-words-CdMDVtXx.js.map +0 -1
@@ -3,7 +3,10 @@
3
3
  * one when compact) and, beside its date's square, holds --ds-calendar-lines
4
4
  * one-square lines of events and one square to spare. Every line of words
5
5
  * stands on the lower sixteen of its square. The boxes are hairlines centred
6
- * on the grid lines; today is a red disc nine tenths of a square across.
6
+ * on the grid lines, the month's frame rounded more than a card, as a larger
7
+ * thing wears a larger curve; a full month names its days inside the first
8
+ * week's boxes, and writes a week's number on its first day; today is a red
9
+ * disc nine tenths of a square across, its weekday's name in the same red.
7
10
  *
8
11
  * A picker is a field's face: one control high at the foot of its square,
9
12
  * as wide as its words (it hugs them, as a button does), its words 4px in and the chevron-down icon
@@ -17,7 +20,13 @@
17
20
  :host {
18
21
  --ds-calendar-day: calc(var(--ds-unit) * var(--ds-calendar-day-squares, 4));
19
22
  --ds-calendar-day-height: calc(var(--ds-unit) * (var(--ds-calendar-lines, 2) + 2));
23
+ /* The weekdays' own row over the days: none in a full month, whose first week names them; a square when compact. */
24
+ --ds-calendar-weekdays: 0px;
25
+ /* The month's height under its header, fixed: six weeks. Every view takes it with `fixed`. */
26
+ --ds-calendar-area: calc(var(--ds-calendar-weekdays) + 6 * var(--ds-calendar-day-height));
20
27
  --ds-calendar-line: 1px solid var(--ds-border-color);
28
+ /* Three times a card's corner, at most a square: twelve pixels on the base card, none where cards are square. */
29
+ --ds-calendar-radius: clamp(0px, calc(3 * var(--ds-radius-card, calc(4px * var(--ds-sf, 1)))), var(--ds-unit));
21
30
  --ds-calendar-today: var(--ds-red-for-blood);
22
31
  --ds-calendar-today-ink: var(--ds-white, #fff);
23
32
  --ds-calendar-selected: var(--ds-sharp-blue);
@@ -50,6 +59,7 @@
50
59
  :host([hidden]) { display: none !important; }
51
60
  /* A compact day is square: one square, or two where the month has room. Its marks grow with it. */
52
61
  :host([compact]) {
62
+ --ds-calendar-weekdays: var(--ds-unit);
53
63
  --ds-calendar-day-height: var(--ds-calendar-day);
54
64
  --ds-calendar-mark: calc(var(--ds-unit) * (var(--ds-calendar-day-squares, 1) * 0.75 + 0.15));
55
65
  }
@@ -71,7 +81,7 @@
71
81
  min-width: 0;
72
82
  overflow: hidden;
73
83
  font-family: var(--ds-typeface-medium, var(--ds-typeface-regular));
74
- text-overflow: ellipsis;
84
+ text-overflow: clip;
75
85
  white-space: nowrap;
76
86
  }
77
87
  .controls {
@@ -81,21 +91,45 @@
81
91
  align-items: flex-end;
82
92
  gap: 0;
83
93
  }
84
- /* Each arrow is a chevron on its own square, one control high at the square's foot,
85
- * in the title grey; the pointer fills it with the system's corners and inks it. */
86
- .nav {
94
+ /* A step back, Today and a step on: a plain split button, the segments a hair apart and one
95
+ * control high at the square's foot, their words and arrows in the title grey on no ground in
96
+ * any state; the pointer inks them. */
97
+ .controls { gap: 1px; }
98
+ :is(.nav, .today-button) {
99
+ appearance: none;
100
+ box-sizing: border-box;
101
+ display: inline-flex;
87
102
  flex: 0 0 auto;
88
- width: var(--ds-unit);
103
+ align-items: center;
104
+ justify-content: center;
89
105
  height: var(--ds-control-height);
106
+ margin: 0;
107
+ padding: 0 calc(5px * var(--ds-sf, 1));
108
+ border: 0;
90
109
  border-radius: var(--ds-radius);
110
+ background: transparent;
91
111
  color: var(--ds-title-color);
112
+ font: inherit;
113
+ line-height: var(--ds-control-height);
114
+ letter-spacing: inherit;
115
+ white-space: nowrap;
116
+ cursor: pointer;
117
+ -webkit-tap-highlight-color: transparent;
92
118
  }
93
- .nav:hover:not(:disabled) { background: var(--ds-fill); color: var(--ds-text-color); }
119
+ .nav { width: var(--ds-control-height); padding: 0; }
120
+ .nav > ds-icon { --ds-icon-size: 16px; color: inherit; }
121
+ :is(.nav, .today-button):hover:not(:disabled) { color: var(--ds-text-color); }
122
+ :is(.nav, .today-button):focus-visible { outline: 1px solid currentColor; outline-offset: -2px; }
123
+ .nav:disabled { cursor: default; opacity: 0.5; }
94
124
  :host(:dir(rtl)) .nav > ds-icon { transform: scaleX(-1); }
125
+ /* A compact month's arrows are chevrons a square wide each, filled under the pointer. */
126
+ :host([compact]) .nav { width: var(--ds-unit); }
127
+ :host([compact]) .nav:hover:not(:disabled) { background: var(--ds-fill); }
95
128
 
96
129
  /* The title as a plain button, its words alone: pressing it travels up to the months of the year,
97
130
  * then to twelve years. One control high at the square's foot, the words on the sixteen where the
98
- * title stands, the pointer filling it 4px past them at each side. */
131
+ * title stands, hugging them: never a bar across the header, the pointer filling it only 4px past
132
+ * the words at each side. */
99
133
  .title-button {
100
134
  display: inline-flex;
101
135
  flex: 0 1 auto;
@@ -118,14 +152,18 @@
118
152
  :host(:dir(rtl)) .title-button { margin: 0 calc(-4px * var(--ds-sf, 1)) 0 0; }
119
153
  .title-button:hover { background: var(--ds-fill); }
120
154
  .title-button:focus-visible { outline: 2px solid var(--ds-focus-ring); outline-offset: -2px; }
121
- .title-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
155
+ .title-text { min-width: 0; overflow: hidden; text-overflow: clip; white-space: nowrap; }
156
+ /* Cut words fade over their last square, never an ellipsis: the title, a weekday's name and
157
+ the picker's value (0-face/cut-fade.ts marks them; an event's name is drawn below). */
158
+ :is(.title, .title-text, .weekday, .trigger .text, .swimlane-month)[data-cut="end"] { mask-image: linear-gradient(to right, #000 calc(100% - var(--ds-unit)), transparent); }
159
+ :host(:dir(rtl)) :is(.title, .title-text, .weekday, .trigger .text, .swimlane-month)[data-cut="end"] { mask-image: linear-gradient(to left, #000 calc(100% - var(--ds-unit)), transparent); }
122
160
 
123
161
  /* The months of a year, or twelve years: cells whole squares wide, three across a narrow month
124
162
  * and four across a wider one, each row one square, one square apart. The area keeps the days'
125
163
  * height, so nothing below moves between levels. */
126
164
  .picks {
127
165
  box-sizing: border-box;
128
- height: calc(var(--ds-unit) + var(--ds-calendar-weeks, 6) * var(--ds-calendar-day-height));
166
+ height: calc(var(--ds-calendar-weekdays) + var(--ds-calendar-weeks, 6) * var(--ds-calendar-day-height));
129
167
  outline: none;
130
168
  }
131
169
  .pick-row {
@@ -134,10 +172,12 @@
134
172
  height: var(--ds-unit);
135
173
  margin-block-end: var(--ds-unit);
136
174
  }
175
+ /* Each choice hugs its words, one control high on the row's sixteen and padded 4px from them, as
176
+ * a button is, in the middle of its cell; never stretched to fill the cell. */
137
177
  .pick {
138
178
  box-sizing: border-box;
139
179
  display: flex;
140
- align-items: center;
180
+ align-items: flex-end;
141
181
  justify-content: center;
142
182
  min-width: 0;
143
183
  height: var(--ds-unit);
@@ -154,19 +194,22 @@
154
194
  .pick-mark {
155
195
  box-sizing: border-box;
156
196
  display: inline-flex;
197
+ flex: 0 1 auto;
157
198
  align-items: center;
158
199
  justify-content: center;
159
- width: calc(100% - var(--ds-unit) * 0.1);
160
- height: calc(var(--ds-unit) * 0.9);
200
+ max-width: 100%;
201
+ height: var(--ds-control-height);
202
+ padding: 0 calc(4px * var(--ds-sf, 1));
161
203
  overflow: hidden;
162
204
  border-radius: var(--ds-radius);
205
+ line-height: var(--ds-control-height);
163
206
  font-variant-numeric: tabular-nums;
164
207
  white-space: nowrap;
165
208
  }
166
- .pick:hover:not(:disabled) .pick-mark { background: var(--ds-fill); }
209
+ .pick:hover:not(:disabled):not([data-today], [data-selected]) .pick-mark { background: var(--ds-fill); }
167
210
  .pick:focus-visible .pick-mark { outline: 2px solid var(--ds-focus-ring); outline-offset: -1px; }
168
- .pick[data-today] .pick-mark { background: var(--ds-calendar-today); color: var(--ds-calendar-today-ink); }
169
- .pick[data-selected] .pick-mark { background: var(--ds-calendar-selected); color: var(--ds-calendar-selected-ink); }
211
+ /* The current month or year and the chosen one take the accent, as a chosen segment does. */
212
+ .pick:is([data-today], [data-selected]) .pick-mark { background: var(--ds-accent-color); color: var(--ds-button-text-color-on-accent); }
170
213
  .pick:disabled { color: var(--ds-title-color); cursor: default; opacity: 0.5; }
171
214
 
172
215
  /* Clear, only while something is chosen: a button one control high, centred on the square right under the dates. */
@@ -178,7 +221,7 @@
178
221
  }
179
222
 
180
223
  @media (prefers-reduced-motion: no-preference) {
181
- :is(.grid, .picks)[data-travel] { animation: ds-calendar-level 160ms cubic-bezier(0.22, 1, 0.36, 1); }
224
+ :is(.grid, .picks, .swimlane, .own-view)[data-travel] { animation: ds-calendar-level 160ms cubic-bezier(0.22, 1, 0.36, 1); }
182
225
  }
183
226
  @keyframes ds-calendar-level {
184
227
  from { opacity: 0; transform: scale(0.98); }
@@ -186,6 +229,9 @@
186
229
  }
187
230
 
188
231
  .grid { outline: none; }
232
+ /* A calendar with a header takes sideways touches on its days and months for its swipe (ds-calendar.ts),
233
+ so a carousel or a page around it stays put; up and down still scroll the page. */
234
+ [data-swipe] :is(.grid, .picks) { touch-action: pan-y; }
189
235
  .weekdays,
190
236
  .week {
191
237
  display: grid;
@@ -199,10 +245,19 @@
199
245
  padding: calc(4px * var(--ds-sf, 1)) var(--ds-calendar-pad) 0;
200
246
  overflow: hidden;
201
247
  color: var(--ds-title-color);
202
- text-overflow: ellipsis;
248
+ text-overflow: clip;
203
249
  white-space: nowrap;
204
250
  }
205
251
  :host([compact]) .weekday { padding-inline: 0; text-align: center; }
252
+ /* A full month's weekdays are named inside its first week's boxes; the row stays for those who listen. */
253
+ :host(:not([compact])) .weekdays {
254
+ position: absolute;
255
+ width: 1px;
256
+ height: 1px;
257
+ overflow: hidden;
258
+ clip-path: inset(50%);
259
+ white-space: nowrap;
260
+ }
206
261
 
207
262
  /* A day's box: hairlines on the grid lines, top and start; the last column
208
263
  * and the last week close it at the end and the foot. */
@@ -223,6 +278,17 @@
223
278
  }
224
279
  .day:nth-child(7)::after { border-inline-end: var(--ds-calendar-line); }
225
280
  .week:last-child .day::after { border-block-end: var(--ds-calendar-line); }
281
+ /* The month's frame has a card's rounded corners, as a framed table does: the
282
+ * four corner days round their box, its hairlines and whatever fills it. */
283
+ .weekdays + .week .day:first-child,
284
+ .weekdays + .week .day:first-child::after { border-start-start-radius: var(--ds-calendar-radius); }
285
+ .weekdays + .week .day:nth-child(7),
286
+ .weekdays + .week .day:nth-child(7)::after { border-start-end-radius: var(--ds-calendar-radius); }
287
+ .week:last-child .day:first-child,
288
+ .week:last-child .day:first-child::after { border-end-start-radius: var(--ds-calendar-radius); }
289
+ .week:last-child .day:nth-child(7),
290
+ .week:last-child .day:nth-child(7)::after { border-end-end-radius: var(--ds-calendar-radius); }
291
+ :host([compact]) .day { border-radius: 0; }
226
292
  :host([compact]) .day::after { content: none; }
227
293
 
228
294
  .day[data-day] { cursor: default; }
@@ -232,7 +298,8 @@
232
298
  :host([compact]) .day:focus-visible { outline: none; }
233
299
  :host([compact]) .day:focus-visible .date { outline: 2px solid var(--ds-focus-ring); outline-offset: -1px; }
234
300
 
235
- /* The date: on the first square, at the end of a wide day, in the title grey. */
301
+ /* The date: on the first square, at the end of a wide day, in the title grey; before it, at the
302
+ * day's start, the first week's weekday name and the week's number in the compressed face. */
236
303
  .date-line {
237
304
  box-sizing: border-box;
238
305
  display: flex;
@@ -243,24 +310,31 @@
243
310
  padding-inline: var(--ds-calendar-pad);
244
311
  }
245
312
  .date {
313
+ margin-inline-start: auto;
246
314
  color: var(--ds-title-color);
247
315
  font-variant-numeric: tabular-nums;
248
316
  }
317
+ .weekday-name,
249
318
  .week-number {
250
- margin-inline-end: auto;
319
+ flex: 0 0 auto;
251
320
  color: var(--ds-title-color);
252
- font-family: var(--ds-typeface-compressed);
321
+ white-space: nowrap;
253
322
  }
323
+ .weekday-name[data-today] { color: var(--ds-calendar-today); }
324
+ .week-number { font-family: var(--ds-typeface-compressed); }
325
+ .day.outside .date-line { justify-content: flex-start; }
254
326
 
255
327
  /* A compact day: the date centred in its square, in the ink; with events,
256
328
  * the empty days fall back to the title grey and the busy ones keep the ink. */
257
329
  :host([compact]) .date-line { justify-content: center; padding: 0; }
330
+ :host([compact]) .date { margin-inline-start: 0; }
258
331
  :host([compact]) .date { color: var(--ds-text-color); }
259
332
  :host([compact][data-events]) .day:not([data-busy]) .date { color: var(--ds-title-color); }
260
333
  :host([compact][selectable]) .day[data-day]:not([aria-disabled="true"], [data-today], [data-selected]):hover .date { background: var(--ds-fill); }
261
334
 
262
335
  /* Today and the selected day: a disc nine tenths of a square, centred on the date's square. */
263
- .day:is([data-today], [data-selected]) .date-line { align-items: center; padding-inline-end: calc(var(--ds-unit) * 0.05); }
336
+ .day:is([data-today], [data-selected]) .date-line { padding-inline-end: calc(var(--ds-unit) * 0.05); }
337
+ .day:is([data-today], [data-selected]) .date { align-self: center; }
264
338
  :host([compact]) .day:is([data-today], [data-selected]) .date-line { padding: 0; }
265
339
  .date {
266
340
  box-sizing: border-box;
@@ -274,13 +348,17 @@
274
348
  .day:not([data-today], [data-selected]) .date { min-width: 0; height: auto; }
275
349
  :host([compact]) .day .date { min-width: var(--ds-calendar-mark); height: var(--ds-calendar-mark); }
276
350
  .day[data-today] .date { background: var(--ds-calendar-today); color: var(--ds-calendar-today-ink); letter-spacing: 0; }
351
+ /* Today's ink holds in a compact month too, where quiet days take the title colour and the text colour above. */
352
+ :host([compact]) .day[data-today] .date,
353
+ :host([compact][data-events]) .day[data-today]:not([data-busy]) .date { color: var(--ds-calendar-today-ink); }
277
354
  /* The selected day, and each end of a range: a square with the system's corners in the selection's blue. */
278
355
  .day[data-selected] .date { border-radius: var(--ds-radius); background: var(--ds-calendar-selected); color: var(--ds-calendar-selected-ink); letter-spacing: 0; }
279
356
 
280
357
  .day[aria-disabled="true"] .date { color: var(--ds-title-color); opacity: 0.5; }
281
358
 
282
359
  /* Heat: the date's mark filled by its step, a picture's corners, inside the day's square; today and the selection draw over it. */
283
- .day[data-heat]:not([data-today], [data-selected]) .date-line { align-items: center; padding-inline-end: calc(var(--ds-unit) * 0.05); }
360
+ .day[data-heat]:not([data-today], [data-selected]) .date-line { padding-inline-end: calc(var(--ds-unit) * 0.05); }
361
+ .day[data-heat]:not([data-today], [data-selected]) .date { align-self: center; }
284
362
  .day[data-heat]:not([data-today], [data-selected]) .date {
285
363
  min-width: var(--ds-calendar-mark);
286
364
  height: var(--ds-calendar-mark);
@@ -305,7 +383,8 @@
305
383
  align-items: flex-end;
306
384
  gap: var(--ds-calendar-pad);
307
385
  height: calc(var(--ds-unit) - 1px);
308
- margin: 0.5px;
386
+ /* A pixel at the start, so the day's line (and the month's frame) shows beside a bar. */
387
+ margin: 0.5px 0.5px 0.5px 1px;
309
388
  padding-inline: var(--ds-calendar-pad);
310
389
  overflow: hidden;
311
390
  white-space: nowrap;
@@ -315,7 +394,19 @@
315
394
  color: var(--ds-calendar-event-ink, var(--ds-text-color));
316
395
  cursor: pointer;
317
396
  }
318
- .event .name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
397
+ .event .name { min-width: 0; overflow: hidden; }
398
+ /* A name its bar cuts fades out over the bar's last square, at the end where it is cut. */
399
+ .event .name[data-cut="end"] { mask-image: linear-gradient(to right, #000 calc(100% - var(--ds-unit)), transparent); }
400
+ :host(:dir(rtl)) .event .name[data-cut="end"] { mask-image: linear-gradient(to left, #000 calc(100% - var(--ds-unit)), transparent); }
401
+ /* An event over several days is one bar from its first day in the week,
402
+ * drawn over the days after it (and their lines) with its name written once. */
403
+ .event[data-span] {
404
+ position: relative;
405
+ z-index: 1;
406
+ width: calc(var(--ds-calendar-event-span) * var(--ds-calendar-day) - 1.5px);
407
+ }
408
+ /* A line a bar passes over, or an empty line above another event. */
409
+ .line { flex: 0 0 auto; height: var(--ds-unit); }
319
410
  .event .time { flex: 0 0 auto; opacity: 0.6; font-variant-numeric: tabular-nums; }
320
411
  .more { color: var(--ds-title-color); cursor: pointer; }
321
412
  .more:hover { color: var(--ds-text-color); }
@@ -361,16 +452,6 @@
361
452
  :host([compact]) .day[data-inside] .date-line { align-items: center; padding: 0; }
362
453
  :host([compact][selectable]) .day[data-inside]:hover .date { background: transparent; }
363
454
 
364
- /* Today, as words in the title grey beside the arrows. */
365
- .today-button {
366
- height: var(--ds-control-height);
367
- padding-inline: calc(4px * var(--ds-sf, 1));
368
- border: 0;
369
- background: transparent;
370
- color: var(--ds-title-color);
371
- }
372
- .today-button:hover { background: var(--ds-fill); color: var(--ds-text-color); }
373
-
374
455
  /* In a compact month the pointer's day and the chosen day take squares with the system's corners; today keeps its disc. */
375
456
  :host([compact]) .date { border-radius: var(--ds-radius); }
376
457
  :host([compact]) .day[data-today]:not([data-selected]) .date { border-radius: 999px; }
@@ -378,6 +459,9 @@
378
459
  /* The picker: a field that opens the small month. */
379
460
  :host([picker]) {
380
461
  display: inline-flex;
462
+ width: max-content !important;
463
+ flex: 0 0 auto !important;
464
+ justify-self: start !important;
381
465
  max-width: 100%;
382
466
  align-items: flex-end;
383
467
  vertical-align: bottom;
@@ -388,7 +472,7 @@
388
472
  display: inline-flex;
389
473
  align-items: center;
390
474
  gap: calc(4px * var(--ds-sf, 1));
391
- width: var(--ds-calendar-picker-width, max-content);
475
+ width: max-content !important;
392
476
  max-width: 100%;
393
477
  padding-inline: calc(4px * var(--ds-sf, 1)) calc(2px * var(--ds-sf, 1));
394
478
  text-align: start;
@@ -400,7 +484,7 @@
400
484
  flex: 1 1 auto;
401
485
  min-width: 0;
402
486
  overflow: hidden;
403
- text-overflow: ellipsis;
487
+ text-overflow: clip;
404
488
  white-space: nowrap;
405
489
  }
406
490
  .trigger[data-empty] .text { color: var(--ds-title-color); }
@@ -411,8 +495,8 @@
411
495
  inset: auto;
412
496
  box-sizing: border-box;
413
497
  margin: 0;
414
- padding: calc(var(--ds-unit) / 2 - 1px);
415
- border: 1px solid var(--ds-border-color);
498
+ padding: 0;
499
+ border: 0;
416
500
  border-radius: var(--ds-radius-card);
417
501
  background: var(--ds-paper);
418
502
  color: var(--ds-text-color);
@@ -422,7 +506,7 @@
422
506
  .popover:not(:popover-open) { display: none; }
423
507
 
424
508
  /* The days to type: a row of one square for each end, its time on the row below; one square spare after. */
425
- .fields { margin-block-end: var(--ds-unit); }
509
+ .fields { margin-block-end: 0; }
426
510
  .field-row {
427
511
  display: flex;
428
512
  align-items: flex-end;
@@ -458,10 +542,11 @@
458
542
  .option:disabled { color: var(--ds-title-color); cursor: default; }
459
543
  .option .ds-switch { flex: 0 0 auto; }
460
544
 
461
- /* A separator: one square with a 1px line through its middle. */
545
+ /* Adjacent picker controls share one continuous menu surface. */
462
546
  .separator {
547
+ display: none;
463
548
  position: relative;
464
- height: var(--ds-unit);
549
+ height: 0;
465
550
  }
466
551
  .separator::after {
467
552
  position: absolute;
@@ -481,3 +566,232 @@
481
566
  from { opacity: 0; transform: translateY(calc(-4px * var(--ds-sf, 1))); }
482
567
  to { opacity: 1; transform: none; }
483
568
  }
569
+
570
+ /* Day, Week and Month on a split button in the middle of the header, the
571
+ * title at its start and Today and the arrows at its end. */
572
+ .header[data-views] {
573
+ display: grid;
574
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
575
+ }
576
+ .header[data-views] .controls { justify-self: end; }
577
+ /* The title hugs its words in its column, never stretched across it. */
578
+ .header[data-views] .title { justify-self: start; }
579
+ .views { justify-self: center; }
580
+ /* On a phone the title and the arrows keep the first row, and Day, Week and
581
+ * Month stand on a row of their own a square under them. */
582
+ @media (max-width: 639px) {
583
+ .header[data-views] {
584
+ grid-template-columns: minmax(0, 1fr) auto;
585
+ grid-template-rows: var(--ds-unit) var(--ds-unit);
586
+ row-gap: var(--ds-unit);
587
+ height: auto;
588
+ }
589
+ .header[data-views] .views { grid-column: 1 / -1; grid-row: 2; justify-self: start; }
590
+ }
591
+
592
+ /* One day: its events without a time on lines a day wide across the top, then
593
+ * its hours, one square each with a hairline at the foot, in an area twelve
594
+ * squares high that scrolls; an hour's events stand a day wide beside each
595
+ * other after its name and wrap onto more squares when they need them. */
596
+ .day-view { width: calc(7 * var(--ds-calendar-day)); }
597
+ .all-day {
598
+ display: grid;
599
+ grid-template-columns: repeat(7, var(--ds-calendar-day));
600
+ padding-block-end: var(--ds-unit);
601
+ }
602
+ .hours {
603
+ position: relative;
604
+ height: calc(12 * var(--ds-unit));
605
+ overflow-y: auto;
606
+ box-sizing: border-box;
607
+ border: var(--ds-calendar-line);
608
+ border-radius: var(--ds-calendar-radius);
609
+ }
610
+ .hour:last-child { border-block-end: 0; }
611
+ .hour {
612
+ box-sizing: border-box;
613
+ display: flex;
614
+ align-items: flex-start;
615
+ min-height: var(--ds-unit);
616
+ border-block-end: var(--ds-calendar-line);
617
+ }
618
+ .hour-name {
619
+ box-sizing: border-box;
620
+ flex: 0 0 calc(2 * var(--ds-unit));
621
+ height: calc(var(--ds-unit) - 1px);
622
+ padding-block-start: calc(3px * var(--ds-sf, 1));
623
+ padding-inline-start: var(--ds-calendar-pad);
624
+ color: var(--ds-title-color);
625
+ font-variant-numeric: tabular-nums;
626
+ line-height: calc(16px * var(--ds-sf, 1));
627
+ white-space: nowrap;
628
+ }
629
+ .hour-events {
630
+ display: flex;
631
+ flex: 1 1 auto;
632
+ flex-wrap: wrap;
633
+ min-width: 0;
634
+ }
635
+ .hour-events .event,
636
+ .all-day .event { width: calc(var(--ds-calendar-day) - 1.5px); }
637
+
638
+
639
+ /* A swimlane: weeks across, a square each (20 by 20), so the month's width
640
+ * holds a week to each of its squares, 28 at the default. Over them the
641
+ * months, one square, a name where the month owning the week changes, and
642
+ * each week's first date, one square, centred in the title grey (today's
643
+ * week writes today in its disc). Then a row to an event, a square high, in
644
+ * the month's hairline boxes and rounded frame; an event is one bar from its
645
+ * first week to its last, filled with its colour, its name on the sixteen,
646
+ * written once and fading where it is cut. */
647
+ .swimlane {
648
+ --ds-calendar-week: var(--ds-unit);
649
+ width: calc(var(--ds-calendar-weeks) * var(--ds-calendar-week));
650
+ }
651
+ [data-swipe] .swimlane { touch-action: pan-y; }
652
+ .swimlane-months,
653
+ .swimlane-dates,
654
+ .swimlane-grid {
655
+ display: grid;
656
+ grid-template-columns: repeat(var(--ds-calendar-weeks), var(--ds-calendar-week));
657
+ }
658
+ .swimlane-months,
659
+ .swimlane-dates { height: var(--ds-unit); }
660
+ .swimlane-month {
661
+ box-sizing: border-box;
662
+ min-width: 0;
663
+ height: var(--ds-unit);
664
+ padding: calc(4px * var(--ds-sf, 1)) var(--ds-calendar-pad) 0;
665
+ overflow: hidden;
666
+ text-overflow: clip;
667
+ white-space: nowrap;
668
+ }
669
+ .swimlane-date {
670
+ box-sizing: border-box;
671
+ display: flex;
672
+ align-items: flex-end;
673
+ justify-content: center;
674
+ height: var(--ds-unit);
675
+ font-variant-numeric: tabular-nums;
676
+ letter-spacing: 0;
677
+ }
678
+ .swimlane-date .date { color: var(--ds-title-color); }
679
+ .swimlane-date:not([data-today]) .date { min-width: 0; height: auto; }
680
+ .swimlane-date[data-today] { align-items: center; }
681
+ .swimlane-date[data-today] .date { background: var(--ds-calendar-today); color: var(--ds-calendar-today-ink); letter-spacing: 0; }
682
+ .swimlane-grid { grid-template-rows: repeat(var(--ds-calendar-rows), var(--ds-calendar-week)); }
683
+ .swimlane-grid .cell { position: relative; box-sizing: border-box; min-width: 0; }
684
+ .swimlane-grid .cell::after {
685
+ position: absolute;
686
+ inset: -0.5px;
687
+ border-block-start: var(--ds-calendar-line);
688
+ border-inline-start: var(--ds-calendar-line);
689
+ content: "";
690
+ pointer-events: none;
691
+ }
692
+ .swimlane-grid .cell[data-last-column]::after { border-inline-end: var(--ds-calendar-line); }
693
+ .swimlane-grid .cell[data-last-row]::after { border-block-end: var(--ds-calendar-line); }
694
+ .swimlane-grid .cell[data-first-row][data-first-column]::after { border-start-start-radius: var(--ds-calendar-radius); }
695
+ .swimlane-grid .cell[data-first-row][data-last-column]::after { border-start-end-radius: var(--ds-calendar-radius); }
696
+ .swimlane-grid .cell[data-last-row][data-first-column]::after { border-end-start-radius: var(--ds-calendar-radius); }
697
+ .swimlane-grid .cell[data-last-row][data-last-column]::after { border-end-end-radius: var(--ds-calendar-radius); }
698
+ .swimlane-grid .event {
699
+ position: relative;
700
+ z-index: 1;
701
+ height: calc(var(--ds-calendar-week) - 1px);
702
+ min-width: 0;
703
+ padding-block: 0;
704
+ border: 0;
705
+ font: inherit;
706
+ letter-spacing: inherit;
707
+ text-align: start;
708
+ }
709
+ .swimlane-grid .event:hover { background: color-mix(in srgb, var(--ds-calendar-event-fill, var(--ds-fill)) 88%, var(--ds-text-color)); }
710
+ .swimlane-grid .event:focus-visible { outline: 2px solid var(--ds-focus-ring); outline-offset: -2px; }
711
+
712
+ /* A page's own view, chosen in the switch: what the page puts in the slot of
713
+ * its name, under the header and as wide as the month. */
714
+ .own-view { width: calc(7 * var(--ds-calendar-day)); }
715
+
716
+ /* Fixed, every view stands in the six-week month's height (--ds-calendar-area),
717
+ * so nothing under the calendar moves when the view changes: the week's days
718
+ * grow to it, the day's hours fill what the untimed events leave, the
719
+ * swimlane's rows fill it under the months and dates and scroll past it, and a
720
+ * page's own view gets it and scrolls inside. */
721
+ :host([fixed]:not([compact])) .grid[data-view="week"] .week .day { height: var(--ds-calendar-area); }
722
+ :host([fixed]) :is(.swimlane, .own-view, .day-view) { box-sizing: border-box; height: var(--ds-calendar-area); }
723
+ :host([fixed]) .own-view { overflow: auto; }
724
+ :host([fixed]) .day-view { display: flex; flex-direction: column; }
725
+ :host([fixed]) .day-view .hours { flex: 1 1 auto; min-height: 0; height: auto; }
726
+ :host([fixed]) .swimlane-scroll {
727
+ max-height: calc(var(--ds-calendar-fit) * var(--ds-calendar-week));
728
+ overflow-x: hidden;
729
+ overflow-y: auto;
730
+ scrollbar-width: thin;
731
+ /* Room for the frame's hairlines, which stand half a pixel outside the cells. */
732
+ margin: -0.5px;
733
+ padding: 0.5px;
734
+ }
735
+
736
+ /* Activity: the days as quiet squares, a contribution grid on the swimlane's
737
+ * footing. Every other weekday is named down the start in the title grey,
738
+ * two squares wide; the months stand over their weeks; a week is a column a
739
+ * square wide with its days down it, each a square drawn two pixels in with a
740
+ * picture's corners, quiet in the fill or filled with its events' colours. */
741
+ .activity {
742
+ display: grid;
743
+ grid-template-columns: calc(2 * var(--ds-unit)) max-content;
744
+ align-items: start;
745
+ }
746
+ .activity-rail {
747
+ display: grid;
748
+ grid-template-rows: repeat(7, var(--ds-unit));
749
+ padding-block-start: var(--ds-unit);
750
+ color: var(--ds-title-color);
751
+ }
752
+ .activity-weekday {
753
+ box-sizing: border-box;
754
+ height: var(--ds-unit);
755
+ padding-block-start: calc(4px * var(--ds-sf, 1));
756
+ overflow: hidden;
757
+ white-space: nowrap;
758
+ }
759
+ .activity-months,
760
+ .activity-grid {
761
+ display: grid;
762
+ grid-template-columns: repeat(var(--ds-calendar-weeks), var(--ds-unit));
763
+ }
764
+ .activity-months { height: var(--ds-unit); }
765
+ .activity-month {
766
+ box-sizing: border-box;
767
+ min-width: 0;
768
+ height: var(--ds-unit);
769
+ padding-block-start: calc(4px * var(--ds-sf, 1));
770
+ overflow: visible;
771
+ white-space: nowrap;
772
+ }
773
+ .activity-grid { grid-template-rows: repeat(7, var(--ds-unit)); }
774
+ .activity-row { display: contents; }
775
+ .activity-hidden {
776
+ position: absolute;
777
+ width: 1px;
778
+ height: 1px;
779
+ overflow: hidden;
780
+ clip-path: inset(50%);
781
+ white-space: nowrap;
782
+ }
783
+ .activity-day { position: relative; }
784
+ .activity-day[data-day]::before {
785
+ content: "";
786
+ position: absolute;
787
+ inset: calc(2px * var(--ds-sf, 1));
788
+ border-radius: calc(2px * var(--ds-sf, 1));
789
+ background: var(--ds-calendar-cell-fill, var(--ds-fill));
790
+ }
791
+ :host([selectable]) .activity-day[data-day] { cursor: pointer; }
792
+ .activity-day[data-selected]::before { outline: 1px solid var(--ds-text-color); }
793
+ /* On a narrow screen the weekdays take one letter. */
794
+ @media (max-width: 720px) {
795
+ .activity-weekday:not(:empty) { font-size: 0; }
796
+ .activity-weekday:not(:empty)::after { content: attr(data-narrow); font-size: var(--ds-type-size-default); }
797
+ }
@@ -113,3 +113,41 @@
113
113
  color: color-mix(in srgb, var(--ds-context-ink) 60%, var(--ds-context-fill));
114
114
  line-height: var(--ds-type-lineheight-default);
115
115
  }
116
+
117
+ /* The bar: the same rows side by side, the context bar over what is selected.
118
+ One row high, the cells a pixel apart and groups two, the page showing
119
+ through; a cell with words is 4px in on the sixteen, a cell holding only an
120
+ icon one square (19px with the pixel beside it), the icon in its middle.
121
+ As long as its cells, never rounded up, so the silhouette ends with them. */
122
+ :host([bar]) {
123
+ width: var(--ds-menu-width, max-content);
124
+ min-width: 0;
125
+ }
126
+ :host([bar]) .frame {
127
+ flex-direction: row;
128
+ align-items: stretch;
129
+ height: var(--ds-menu-row);
130
+ max-height: none;
131
+ overflow: auto hidden;
132
+ scrollbar-width: none;
133
+ }
134
+ :host([bar]) ::slotted(:is(button, a, ds-button, ds-file-picker)) {
135
+ flex: 0 0 auto !important;
136
+ width: auto;
137
+ min-width: var(--ds-menu-row);
138
+ }
139
+ :host([bar]) ::slotted(ds-button) {
140
+ --ds-button-min-width: var(--ds-menu-row) !important;
141
+ }
142
+ :host([bar]) ::slotted([data-ds-context-icon]) {
143
+ --ds-button-padding: 0 !important;
144
+ --ds-button-align: center !important;
145
+ justify-content: center !important;
146
+ width: var(--ds-menu-row);
147
+ padding: 0 !important;
148
+ }
149
+ :host([bar]) ::slotted(:is(hr, [data-ds-menu-separator])) {
150
+ width: 0 !important;
151
+ height: auto !important;
152
+ }
153
+ :host([bar]) ::slotted([data-ds-menu-label]) { flex: 0 0 auto; white-space: nowrap; }