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

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 (782) 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 +443 -0
  5. package/DS1/0-face/constraint-site.ts +201 -0
  6. package/DS1/0-face/constraints.ts +308 -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/fault-lines.ts +159 -0
  13. package/DS1/0-face/feedback-overlays.ts +5 -3
  14. package/DS1/0-face/feedback.ts +3 -0
  15. package/DS1/0-face/focus-vision.swift +31 -0
  16. package/DS1/0-face/focus.ts +181 -0
  17. package/DS1/0-face/google-face-metrics.json +102 -0
  18. package/DS1/0-face/grid.ts +61 -4
  19. package/DS1/0-face/i18n.ts +36 -18
  20. package/DS1/0-face/layout-inspector.ts +124 -98
  21. package/DS1/0-face/preference-options.ts +4 -0
  22. package/DS1/0-face/scaling.ts +21 -3
  23. package/DS1/0-face/shape.ts +43 -0
  24. package/DS1/0-face/text-contrast.ts +164 -0
  25. package/DS1/0-face/theme-bootstrap.js +43 -0
  26. package/DS1/0-face/toast-queue.ts +7 -1
  27. package/DS1/0-face/translations/da.json +10 -1
  28. package/DS1/0-face/translations/de.json +10 -1
  29. package/DS1/0-face/translations/en.json +10 -1
  30. package/DS1/0-face/translations/es.json +10 -1
  31. package/DS1/0-face/translations/fi.json +10 -1
  32. package/DS1/0-face/translations/fr.json +10 -1
  33. package/DS1/0-face/translations/is.json +10 -1
  34. package/DS1/0-face/translations/it.json +10 -1
  35. package/DS1/0-face/translations/ja.json +10 -1
  36. package/DS1/0-face/translations/ko.json +10 -1
  37. package/DS1/0-face/translations/nb.json +10 -1
  38. package/DS1/0-face/translations/pt-BR.json +10 -1
  39. package/DS1/0-face/translations/pt.json +10 -1
  40. package/DS1/0-face/translations/sv.json +10 -1
  41. package/DS1/0-face/translations/zh.json +10 -1
  42. package/DS1/0-face/word-wrap.ts +113 -0
  43. package/DS1/1-root/card.css +47 -20
  44. package/DS1/1-root/carousel.css +7 -0
  45. package/DS1/1-root/cjk.css +1 -1
  46. package/DS1/1-root/component-tokens.css +3 -2
  47. package/DS1/1-root/context.css +44 -6
  48. package/DS1/1-root/controls.css +99 -8
  49. package/DS1/1-root/document.css +9 -1
  50. package/DS1/1-root/empty.css +46 -5
  51. package/DS1/1-root/figures.css +50 -3
  52. package/DS1/1-root/fonts.css +1 -1
  53. package/DS1/1-root/footer.css +147 -16
  54. package/DS1/1-root/foundation.ts +60 -0
  55. package/DS1/1-root/guide.css +35 -0
  56. package/DS1/1-root/header.css +30 -9
  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 +15 -7
  60. package/DS1/1-root/progress.css +9 -1
  61. package/DS1/1-root/row.css +68 -2
  62. package/DS1/1-root/table.css +47 -4
  63. package/DS1/1-root/text.css +26 -0
  64. package/DS1/2-core/button-split.ts +10 -5
  65. package/DS1/2-core/chart/chart.css +71 -2
  66. package/DS1/2-core/chart/grid-chart.ts +2 -1
  67. package/DS1/2-core/ds-activity.ts +32 -0
  68. package/DS1/2-core/ds-app-chrome.ts +1 -0
  69. package/DS1/2-core/ds-avatar.ts +75 -7
  70. package/DS1/2-core/ds-badge.ts +8 -1
  71. package/DS1/2-core/ds-button.ts +7 -1
  72. package/DS1/2-core/ds-chart.ts +184 -49
  73. package/DS1/2-core/ds-cycle.ts +27 -186
  74. package/DS1/2-core/ds-device-bezel.ts +1 -0
  75. package/DS1/2-core/ds-empty.ts +6 -4
  76. package/DS1/2-core/ds-input.ts +23 -3
  77. package/DS1/2-core/ds-message.ts +22 -0
  78. package/DS1/2-core/ds-number.ts +349 -0
  79. package/DS1/2-core/ds-progress.ts +3 -0
  80. package/DS1/2-core/ds-radio.ts +3 -0
  81. package/DS1/2-core/ds-stat.ts +3 -0
  82. package/DS1/2-core/ds-switch.ts +5 -1
  83. package/DS1/2-core/ds-tag.ts +9 -2
  84. package/DS1/2-core/ds-text.ts +7 -0
  85. package/DS1/2-core/ds-token.ts +3 -0
  86. package/DS1/2-core/ds-tooltip.ts +17 -2
  87. package/DS1/2-core/ds-window.ts +1 -0
  88. package/DS1/2-core/generated/ds-icon-map.ts +47 -5
  89. package/DS1/2-core/generated/icons-extra.ts +24 -3
  90. package/DS1/2-core/generated/icons-immediate.ts +3 -3
  91. package/DS1/2-core/number-expression.ts +64 -0
  92. package/DS1/2-core/styles/ds-activity.css +16 -0
  93. package/DS1/2-core/styles/ds-badge.css +4 -1
  94. package/DS1/2-core/styles/ds-button-host.css +47 -13
  95. package/DS1/2-core/styles/ds-button-split.css +8 -0
  96. package/DS1/2-core/styles/ds-button.css +94 -20
  97. package/DS1/2-core/styles/ds-card.css +6 -0
  98. package/DS1/2-core/styles/ds-checkbox.css +20 -8
  99. package/DS1/2-core/styles/ds-image.css +2 -1
  100. package/DS1/2-core/styles/ds-input.css +37 -4
  101. package/DS1/2-core/styles/ds-number.css +127 -0
  102. package/DS1/2-core/styles/ds-radio.css +4 -1
  103. package/DS1/2-core/styles/ds-switch.css +34 -4
  104. package/DS1/2-core/styles/ds-tag.css +34 -6
  105. package/DS1/2-core/styles/ds-text.css +13 -4
  106. package/DS1/2-core/styles/ds-token.css +4 -1
  107. package/DS1/2-core/styles/ds-tooltip.css +13 -7
  108. package/DS1/3-unit/calendar-base.ts +5 -2
  109. package/DS1/3-unit/context-trigger.ts +29 -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 +47 -11
  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-table.ts +2 -1
  122. package/DS1/3-unit/ds-tabs.ts +40 -2
  123. package/DS1/3-unit/styles/ds-calendar.css +356 -42
  124. package/DS1/3-unit/styles/ds-context.css +38 -0
  125. package/DS1/3-unit/styles/ds-list.css +26 -1
  126. package/DS1/3-unit/styles/ds-matrix.css +4 -1
  127. package/DS1/3-unit/styles/ds-row.css +39 -0
  128. package/DS1/3-unit/styles/ds-select.css +22 -12
  129. package/DS1/3-unit/styles/ds-sidebar.css +16 -2
  130. package/DS1/3-unit/styles/ds-table-of-contents.css +40 -0
  131. package/DS1/3-unit/styles/ds-tabs.css +95 -0
  132. package/DS1/4-page/ds-container.ts +2 -1
  133. package/DS1/4-page/ds-document.ts +3 -0
  134. package/DS1/4-page/ds-footer.ts +93 -18
  135. package/DS1/4-page/ds-header.ts +5 -1
  136. package/DS1/4-page/ds-overlay.ts +8 -3
  137. package/DS1/4-page/ds-page.ts +22 -1
  138. package/DS1/4-page/email.ts +7 -4
  139. package/DS1/4-page/styles/ds-container.css +0 -1
  140. package/DS1/4-page/styles/ds-overlay.css +7 -0
  141. package/DS1/4-page/styles/ds-page.css +10 -0
  142. package/DS1/5-visual-kit/app-chrome.ts +129 -0
  143. package/DS1/5-visual-kit/bezels.ts +394 -0
  144. package/DS1/5-visual-kit/browser-icons.LICENSE +53 -0
  145. package/DS1/5-visual-kit/browser-icons.ts +47 -0
  146. package/DS1/5-visual-kit/browser-styles.ts +53 -0
  147. package/DS1/5-visual-kit/device-bezel.ts +55 -0
  148. package/DS1/5-visual-kit/instagram-frame.ts +15 -0
  149. package/DS1/5-visual-kit/instagram.ts +41 -0
  150. package/DS1/5-visual-kit/mobile-chrome.ts +25 -0
  151. package/DS1/5-visual-kit/native-icon-paths.ts +145 -0
  152. package/DS1/5-visual-kit/window.ts +22 -0
  153. package/DS1/components.ts +1 -0
  154. package/DS1/index.ts +14 -1
  155. package/DS1/react/choice.ts +4 -2
  156. package/DS1/react/context.ts +11 -6
  157. package/DS1/react/empty.ts +2 -2
  158. package/DS1/react/footer.ts +5 -5
  159. package/DS1/react/header.ts +1 -1
  160. package/DS1/react/message.ts +4 -2
  161. package/DS1/react/number.ts +53 -0
  162. package/DS1/react/sidebar.ts +4 -2
  163. package/DS1/react/table-of-contents.ts +28 -0
  164. package/DS1/x-flag/LICENSE.md +26 -0
  165. package/DS1/x-flag/ac.svg +1 -0
  166. package/DS1/x-flag/ad.svg +1 -0
  167. package/DS1/x-flag/ae.svg +1 -0
  168. package/DS1/x-flag/af.svg +1 -0
  169. package/DS1/x-flag/ag.svg +1 -0
  170. package/DS1/x-flag/ai.svg +1 -0
  171. package/DS1/x-flag/al.svg +1 -0
  172. package/DS1/x-flag/am.svg +1 -0
  173. package/DS1/x-flag/ao.svg +1 -0
  174. package/DS1/x-flag/aq.svg +1 -0
  175. package/DS1/x-flag/ar.svg +1 -0
  176. package/DS1/x-flag/as.svg +1 -0
  177. package/DS1/x-flag/at.svg +1 -0
  178. package/DS1/x-flag/au.svg +1 -0
  179. package/DS1/x-flag/aw.svg +1 -0
  180. package/DS1/x-flag/ax.svg +1 -0
  181. package/DS1/x-flag/az.svg +1 -0
  182. package/DS1/x-flag/ba.svg +1 -0
  183. package/DS1/x-flag/bb.svg +1 -0
  184. package/DS1/x-flag/bd.svg +1 -0
  185. package/DS1/x-flag/be.svg +1 -0
  186. package/DS1/x-flag/bf.svg +1 -0
  187. package/DS1/x-flag/bg.svg +1 -0
  188. package/DS1/x-flag/bh.svg +1 -0
  189. package/DS1/x-flag/bi.svg +1 -0
  190. package/DS1/x-flag/bj.svg +1 -0
  191. package/DS1/x-flag/bl.svg +1 -0
  192. package/DS1/x-flag/bm.svg +1 -0
  193. package/DS1/x-flag/bn.svg +1 -0
  194. package/DS1/x-flag/bo.svg +1 -0
  195. package/DS1/x-flag/bq-bo.svg +1 -0
  196. package/DS1/x-flag/bq-sa.svg +1 -0
  197. package/DS1/x-flag/bq-se.svg +1 -0
  198. package/DS1/x-flag/bq.svg +1 -0
  199. package/DS1/x-flag/br.svg +1 -0
  200. package/DS1/x-flag/bs.svg +1 -0
  201. package/DS1/x-flag/bt.svg +1 -0
  202. package/DS1/x-flag/bv.svg +1 -0
  203. package/DS1/x-flag/bw.svg +1 -0
  204. package/DS1/x-flag/by.svg +1 -0
  205. package/DS1/x-flag/bz.svg +1 -0
  206. package/DS1/x-flag/ca.svg +1 -0
  207. package/DS1/x-flag/cc.svg +1 -0
  208. package/DS1/x-flag/cd.svg +1 -0
  209. package/DS1/x-flag/cf.svg +1 -0
  210. package/DS1/x-flag/cg.svg +1 -0
  211. package/DS1/x-flag/ch.svg +1 -0
  212. package/DS1/x-flag/ci.svg +1 -0
  213. package/DS1/x-flag/ck.svg +1 -0
  214. package/DS1/x-flag/cl.svg +1 -0
  215. package/DS1/x-flag/cm.svg +1 -0
  216. package/DS1/x-flag/cn.svg +1 -0
  217. package/DS1/x-flag/co.svg +1 -0
  218. package/DS1/x-flag/cr.svg +1 -0
  219. package/DS1/x-flag/cu.svg +1 -0
  220. package/DS1/x-flag/cv.svg +1 -0
  221. package/DS1/x-flag/cw.svg +1 -0
  222. package/DS1/x-flag/cx.svg +1 -0
  223. package/DS1/x-flag/cy.svg +1 -0
  224. package/DS1/x-flag/cz.svg +1 -0
  225. package/DS1/x-flag/de.svg +1 -0
  226. package/DS1/x-flag/dj.svg +1 -0
  227. package/DS1/x-flag/dk.svg +1 -0
  228. package/DS1/x-flag/dm.svg +1 -0
  229. package/DS1/x-flag/do.svg +1 -0
  230. package/DS1/x-flag/dz.svg +1 -0
  231. package/DS1/x-flag/ec.svg +1 -0
  232. package/DS1/x-flag/ee.svg +1 -0
  233. package/DS1/x-flag/eg.svg +1 -0
  234. package/DS1/x-flag/eh.svg +1 -0
  235. package/DS1/x-flag/er.svg +1 -0
  236. package/DS1/x-flag/es-ct.svg +1 -0
  237. package/DS1/x-flag/es.svg +1 -0
  238. package/DS1/x-flag/et.svg +1 -0
  239. package/DS1/x-flag/eu.svg +1 -0
  240. package/DS1/x-flag/fi.svg +1 -0
  241. package/DS1/x-flag/fj.svg +1 -0
  242. package/DS1/x-flag/fk.svg +1 -0
  243. package/DS1/x-flag/fm.svg +1 -0
  244. package/DS1/x-flag/fo.svg +1 -0
  245. package/DS1/x-flag/fr.svg +1 -0
  246. package/DS1/x-flag/ga.svg +1 -0
  247. package/DS1/x-flag/gb-eng.svg +1 -0
  248. package/DS1/x-flag/gb-nir.svg +1 -0
  249. package/DS1/x-flag/gb-sct.svg +1 -0
  250. package/DS1/x-flag/gb-wls.svg +1 -0
  251. package/DS1/x-flag/gb.svg +1 -0
  252. package/DS1/x-flag/gd.svg +1 -0
  253. package/DS1/x-flag/ge.svg +1 -0
  254. package/DS1/x-flag/gf.svg +1 -0
  255. package/DS1/x-flag/gg.svg +1 -0
  256. package/DS1/x-flag/gh.svg +1 -0
  257. package/DS1/x-flag/gi.svg +1 -0
  258. package/DS1/x-flag/gl.svg +1 -0
  259. package/DS1/x-flag/gm.svg +1 -0
  260. package/DS1/x-flag/gn.svg +1 -0
  261. package/DS1/x-flag/gp.svg +1 -0
  262. package/DS1/x-flag/gq.svg +1 -0
  263. package/DS1/x-flag/gr.svg +1 -0
  264. package/DS1/x-flag/gs.svg +1 -0
  265. package/DS1/x-flag/gt.svg +1 -0
  266. package/DS1/x-flag/gu.svg +1 -0
  267. package/DS1/x-flag/gw.svg +1 -0
  268. package/DS1/x-flag/gy.svg +1 -0
  269. package/DS1/x-flag/hk.svg +1 -0
  270. package/DS1/x-flag/hm.svg +1 -0
  271. package/DS1/x-flag/hn.svg +1 -0
  272. package/DS1/x-flag/hr.svg +1 -0
  273. package/DS1/x-flag/ht.svg +1 -0
  274. package/DS1/x-flag/hu.svg +1 -0
  275. package/DS1/x-flag/ic.svg +1 -0
  276. package/DS1/x-flag/id.svg +1 -0
  277. package/DS1/x-flag/ie.svg +1 -0
  278. package/DS1/x-flag/il.svg +1 -0
  279. package/DS1/x-flag/im.svg +1 -0
  280. package/DS1/x-flag/in.svg +1 -0
  281. package/DS1/x-flag/io.svg +1 -0
  282. package/DS1/x-flag/iq.svg +1 -0
  283. package/DS1/x-flag/ir.svg +1 -0
  284. package/DS1/x-flag/is.svg +1 -0
  285. package/DS1/x-flag/it.svg +1 -0
  286. package/DS1/x-flag/je.svg +1 -0
  287. package/DS1/x-flag/jm.svg +1 -0
  288. package/DS1/x-flag/jo.svg +1 -0
  289. package/DS1/x-flag/jp.svg +1 -0
  290. package/DS1/x-flag/ke.svg +1 -0
  291. package/DS1/x-flag/kg.svg +1 -0
  292. package/DS1/x-flag/kh.svg +1 -0
  293. package/DS1/x-flag/ki.svg +1 -0
  294. package/DS1/x-flag/km.svg +1 -0
  295. package/DS1/x-flag/kn.svg +1 -0
  296. package/DS1/x-flag/kp.svg +1 -0
  297. package/DS1/x-flag/kr.svg +1 -0
  298. package/DS1/x-flag/kw.svg +1 -0
  299. package/DS1/x-flag/ky.svg +1 -0
  300. package/DS1/x-flag/kz.svg +1 -0
  301. package/DS1/x-flag/la.svg +1 -0
  302. package/DS1/x-flag/lb.svg +1 -0
  303. package/DS1/x-flag/lc.svg +1 -0
  304. package/DS1/x-flag/li.svg +1 -0
  305. package/DS1/x-flag/lk.svg +1 -0
  306. package/DS1/x-flag/lr.svg +1 -0
  307. package/DS1/x-flag/ls.svg +1 -0
  308. package/DS1/x-flag/lt.svg +1 -0
  309. package/DS1/x-flag/lu.svg +1 -0
  310. package/DS1/x-flag/lv.svg +1 -0
  311. package/DS1/x-flag/ly.svg +1 -0
  312. package/DS1/x-flag/ma.svg +1 -0
  313. package/DS1/x-flag/mc.svg +1 -0
  314. package/DS1/x-flag/md.svg +1 -0
  315. package/DS1/x-flag/me.svg +1 -0
  316. package/DS1/x-flag/mf.svg +1 -0
  317. package/DS1/x-flag/mg.svg +1 -0
  318. package/DS1/x-flag/mh.svg +1 -0
  319. package/DS1/x-flag/mk.svg +1 -0
  320. package/DS1/x-flag/ml.svg +1 -0
  321. package/DS1/x-flag/mm.svg +1 -0
  322. package/DS1/x-flag/mn.svg +1 -0
  323. package/DS1/x-flag/mo.svg +1 -0
  324. package/DS1/x-flag/mp.svg +1 -0
  325. package/DS1/x-flag/mq.svg +1 -0
  326. package/DS1/x-flag/mr.svg +1 -0
  327. package/DS1/x-flag/ms.svg +1 -0
  328. package/DS1/x-flag/mt.svg +1 -0
  329. package/DS1/x-flag/mu.svg +1 -0
  330. package/DS1/x-flag/mv.svg +1 -0
  331. package/DS1/x-flag/mw.svg +1 -0
  332. package/DS1/x-flag/mx.svg +1 -0
  333. package/DS1/x-flag/my.svg +1 -0
  334. package/DS1/x-flag/mz.svg +1 -0
  335. package/DS1/x-flag/na.svg +1 -0
  336. package/DS1/x-flag/nc.svg +1 -0
  337. package/DS1/x-flag/ne.svg +1 -0
  338. package/DS1/x-flag/nf.svg +1 -0
  339. package/DS1/x-flag/ng.svg +1 -0
  340. package/DS1/x-flag/ni.svg +1 -0
  341. package/DS1/x-flag/nl.svg +1 -0
  342. package/DS1/x-flag/no.svg +1 -0
  343. package/DS1/x-flag/np.svg +1 -0
  344. package/DS1/x-flag/nr.svg +1 -0
  345. package/DS1/x-flag/nu.svg +1 -0
  346. package/DS1/x-flag/nz.svg +1 -0
  347. package/DS1/x-flag/om.svg +1 -0
  348. package/DS1/x-flag/pa.svg +1 -0
  349. package/DS1/x-flag/pe.svg +1 -0
  350. package/DS1/x-flag/pf.svg +1 -0
  351. package/DS1/x-flag/pg.svg +1 -0
  352. package/DS1/x-flag/ph.svg +1 -0
  353. package/DS1/x-flag/pk.svg +1 -0
  354. package/DS1/x-flag/pl.svg +1 -0
  355. package/DS1/x-flag/pm.svg +1 -0
  356. package/DS1/x-flag/pn.svg +1 -0
  357. package/DS1/x-flag/pr.svg +1 -0
  358. package/DS1/x-flag/ps.svg +1 -0
  359. package/DS1/x-flag/pt.svg +1 -0
  360. package/DS1/x-flag/pw.svg +1 -0
  361. package/DS1/x-flag/py.svg +1 -0
  362. package/DS1/x-flag/qa.svg +1 -0
  363. package/DS1/x-flag/re.svg +1 -0
  364. package/DS1/x-flag/ro.svg +1 -0
  365. package/DS1/x-flag/rs.svg +1 -0
  366. package/DS1/x-flag/ru.svg +1 -0
  367. package/DS1/x-flag/rw.svg +1 -0
  368. package/DS1/x-flag/sa.svg +1 -0
  369. package/DS1/x-flag/sb.svg +1 -0
  370. package/DS1/x-flag/sc.svg +1 -0
  371. package/DS1/x-flag/sd.svg +1 -0
  372. package/DS1/x-flag/se.svg +1 -0
  373. package/DS1/x-flag/sg.svg +1 -0
  374. package/DS1/x-flag/sh.svg +1 -0
  375. package/DS1/x-flag/si.svg +1 -0
  376. package/DS1/x-flag/sj.svg +1 -0
  377. package/DS1/x-flag/sk.svg +1 -0
  378. package/DS1/x-flag/sl.svg +1 -0
  379. package/DS1/x-flag/sm.svg +1 -0
  380. package/DS1/x-flag/sn.svg +1 -0
  381. package/DS1/x-flag/so.svg +1 -0
  382. package/DS1/x-flag/sr.svg +1 -0
  383. package/DS1/x-flag/ss.svg +1 -0
  384. package/DS1/x-flag/st.svg +1 -0
  385. package/DS1/x-flag/sv.svg +1 -0
  386. package/DS1/x-flag/sx.svg +1 -0
  387. package/DS1/x-flag/sy.svg +1 -0
  388. package/DS1/x-flag/sz.svg +1 -0
  389. package/DS1/x-flag/ta.svg +1 -0
  390. package/DS1/x-flag/tc.svg +1 -0
  391. package/DS1/x-flag/td.svg +1 -0
  392. package/DS1/x-flag/tf.svg +1 -0
  393. package/DS1/x-flag/tg.svg +1 -0
  394. package/DS1/x-flag/th.svg +1 -0
  395. package/DS1/x-flag/tj.svg +1 -0
  396. package/DS1/x-flag/tk.svg +1 -0
  397. package/DS1/x-flag/tl.svg +1 -0
  398. package/DS1/x-flag/tm.svg +1 -0
  399. package/DS1/x-flag/tn.svg +1 -0
  400. package/DS1/x-flag/to.svg +1 -0
  401. package/DS1/x-flag/tr.svg +1 -0
  402. package/DS1/x-flag/tt.svg +1 -0
  403. package/DS1/x-flag/tv.svg +1 -0
  404. package/DS1/x-flag/tw.svg +1 -0
  405. package/DS1/x-flag/tz.svg +1 -0
  406. package/DS1/x-flag/ua.svg +1 -0
  407. package/DS1/x-flag/ug.svg +1 -0
  408. package/DS1/x-flag/um.svg +1 -0
  409. package/DS1/x-flag/us.svg +1 -0
  410. package/DS1/x-flag/uy.svg +1 -0
  411. package/DS1/x-flag/uz.svg +1 -0
  412. package/DS1/x-flag/va.svg +1 -0
  413. package/DS1/x-flag/vc.svg +1 -0
  414. package/DS1/x-flag/ve.svg +1 -0
  415. package/DS1/x-flag/vg.svg +1 -0
  416. package/DS1/x-flag/vi.svg +1 -0
  417. package/DS1/x-flag/vn.svg +1 -0
  418. package/DS1/x-flag/vu.svg +1 -0
  419. package/DS1/x-flag/wf.svg +1 -0
  420. package/DS1/x-flag/ws.svg +1 -0
  421. package/DS1/x-flag/xk.svg +1 -0
  422. package/DS1/x-flag/ye.svg +1 -0
  423. package/DS1/x-flag/yt.svg +1 -0
  424. package/DS1/x-flag/za.svg +1 -0
  425. package/DS1/x-flag/zm.svg +1 -0
  426. package/DS1/x-flag/zw.svg +1 -0
  427. package/DS1/x-icon/android.svg +9 -0
  428. package/DS1/x-icon/arrange-check.svg +1 -1
  429. package/DS1/x-icon/arrange-page.svg +1 -1
  430. package/DS1/x-icon/chrome.svg +7 -0
  431. package/DS1/x-icon/edge-brand.svg +6 -0
  432. package/DS1/x-icon/firefox.svg +4 -0
  433. package/DS1/x-icon/health.svg +3 -0
  434. package/DS1/x-icon/left.svg +2 -3
  435. package/DS1/x-icon/linux.svg +1 -0
  436. package/DS1/x-icon/material.svg +1 -0
  437. package/DS1/x-icon/milestone-planned.svg +3 -0
  438. package/DS1/x-icon/milestone.svg +3 -0
  439. package/DS1/x-icon/more.svg +1 -5
  440. package/DS1/x-icon/network.svg +3 -0
  441. package/DS1/x-icon/opera.svg +4 -0
  442. package/DS1/x-icon/prediction.svg +3 -0
  443. package/DS1/x-icon/priority-high.svg +3 -0
  444. package/DS1/x-icon/priority-low.svg +3 -0
  445. package/DS1/x-icon/priority-medium.svg +3 -0
  446. package/DS1/x-icon/project.svg +3 -0
  447. package/DS1/x-icon/redo.svg +2 -2
  448. package/DS1/x-icon/repeat-small.svg +3 -0
  449. package/DS1/x-icon/safari.svg +4 -0
  450. package/DS1/x-icon/scaling.svg +3 -0
  451. package/DS1/x-icon/tabs.svg +4 -0
  452. package/DS1/x-icon/windows.svg +5 -0
  453. package/README.md +3 -3
  454. package/dist/0-face/button-label.d.ts +5 -0
  455. package/dist/0-face/button-label.d.ts.map +1 -0
  456. package/dist/0-face/button-label.js +31 -0
  457. package/dist/0-face/calendar.d.ts +1 -1
  458. package/dist/0-face/calendar.d.ts.map +1 -1
  459. package/dist/0-face/calendar.js +6 -3
  460. package/dist/0-face/carousel.d.ts +9 -0
  461. package/dist/0-face/carousel.d.ts.map +1 -1
  462. package/dist/0-face/carousel.js +80 -0
  463. package/dist/0-face/constraint-panel.d.ts +43 -0
  464. package/dist/0-face/constraint-panel.d.ts.map +1 -0
  465. package/dist/0-face/constraint-panel.js +451 -0
  466. package/dist/0-face/constraint-site.d.ts +73 -0
  467. package/dist/0-face/constraint-site.d.ts.map +1 -0
  468. package/dist/0-face/constraint-site.js +186 -0
  469. package/dist/0-face/constraints.d.ts +47 -0
  470. package/dist/0-face/constraints.d.ts.map +1 -0
  471. package/dist/0-face/constraints.js +274 -0
  472. package/dist/0-face/copy-text.js +1 -1
  473. package/dist/0-face/cut-fade.d.ts +112 -0
  474. package/dist/0-face/cut-fade.d.ts.map +1 -0
  475. package/dist/0-face/cut-fade.js +274 -0
  476. package/dist/0-face/define.d.ts.map +1 -1
  477. package/dist/0-face/define.js +24 -3
  478. package/dist/0-face/face-correction.d.ts +51 -0
  479. package/dist/0-face/face-correction.d.ts.map +1 -0
  480. package/dist/0-face/face-correction.js +80 -0
  481. package/dist/0-face/failures.d.ts +16 -0
  482. package/dist/0-face/failures.d.ts.map +1 -0
  483. package/dist/0-face/failures.js +21 -0
  484. package/dist/0-face/fault-lines.d.ts +20 -0
  485. package/dist/0-face/fault-lines.d.ts.map +1 -0
  486. package/dist/0-face/fault-lines.js +172 -0
  487. package/dist/0-face/feedback-overlays.d.ts.map +1 -1
  488. package/dist/0-face/feedback-overlays.js +5 -3
  489. package/dist/0-face/feedback.d.ts +2 -0
  490. package/dist/0-face/feedback.d.ts.map +1 -1
  491. package/dist/0-face/feedback.js +1 -0
  492. package/dist/0-face/focus.d.ts +71 -0
  493. package/dist/0-face/focus.d.ts.map +1 -0
  494. package/dist/0-face/focus.js +196 -0
  495. package/dist/0-face/grid.d.ts +11 -1
  496. package/dist/0-face/grid.d.ts.map +1 -1
  497. package/dist/0-face/grid.js +90 -4
  498. package/dist/0-face/i18n.d.ts.map +1 -1
  499. package/dist/0-face/i18n.js +38 -16
  500. package/dist/0-face/layout-inspector.d.ts +5 -1
  501. package/dist/0-face/layout-inspector.d.ts.map +1 -1
  502. package/dist/0-face/layout-inspector.js +130 -104
  503. package/dist/0-face/preference-options.d.ts +4 -0
  504. package/dist/0-face/preference-options.d.ts.map +1 -1
  505. package/dist/0-face/scaling.d.ts +8 -1
  506. package/dist/0-face/scaling.d.ts.map +1 -1
  507. package/dist/0-face/scaling.js +19 -2
  508. package/dist/0-face/shape.d.ts +35 -0
  509. package/dist/0-face/shape.d.ts.map +1 -0
  510. package/dist/0-face/shape.js +23 -0
  511. package/dist/0-face/text-contrast.d.ts +22 -0
  512. package/dist/0-face/text-contrast.d.ts.map +1 -0
  513. package/dist/0-face/text-contrast.js +178 -0
  514. package/dist/0-face/theme-bootstrap.js +56 -0
  515. package/dist/0-face/toast-queue.d.ts +4 -0
  516. package/dist/0-face/toast-queue.d.ts.map +1 -1
  517. package/dist/0-face/toast-queue.js +4 -1
  518. package/dist/0-face/translations/da.json +10 -1
  519. package/dist/0-face/translations/de.json +10 -1
  520. package/dist/0-face/translations/en.json +10 -1
  521. package/dist/0-face/translations/es.json +10 -1
  522. package/dist/0-face/translations/fi.json +10 -1
  523. package/dist/0-face/translations/fr.json +10 -1
  524. package/dist/0-face/translations/is.json +10 -1
  525. package/dist/0-face/translations/it.json +10 -1
  526. package/dist/0-face/translations/ja.json +10 -1
  527. package/dist/0-face/translations/ko.json +10 -1
  528. package/dist/0-face/translations/nb.json +10 -1
  529. package/dist/0-face/translations/pt-BR.json +10 -1
  530. package/dist/0-face/translations/pt.json +10 -1
  531. package/dist/0-face/translations/sv.json +10 -1
  532. package/dist/0-face/translations/zh.json +10 -1
  533. package/dist/0-face/word-wrap.d.ts +6 -0
  534. package/dist/0-face/word-wrap.d.ts.map +1 -0
  535. package/dist/0-face/word-wrap.js +119 -0
  536. package/dist/1-root/foundation.d.ts +12 -0
  537. package/dist/1-root/foundation.d.ts.map +1 -0
  538. package/dist/1-root/foundation.js +59 -0
  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 +12 -0
  552. package/dist/2-core/ds-avatar.d.ts.map +1 -1
  553. package/dist/2-core/ds-avatar.js +86 -7
  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/context-trigger.d.ts.map +1 -1
  622. package/dist/3-unit/context-trigger.js +32 -2
  623. package/dist/3-unit/ds-calendar.d.ts +197 -4
  624. package/dist/3-unit/ds-calendar.d.ts.map +1 -1
  625. package/dist/3-unit/ds-calendar.js +687 -45
  626. package/dist/3-unit/ds-carousel.d.ts +3 -0
  627. package/dist/3-unit/ds-carousel.d.ts.map +1 -1
  628. package/dist/3-unit/ds-carousel.js +13 -1
  629. package/dist/3-unit/ds-context.d.ts +18 -1
  630. package/dist/3-unit/ds-context.d.ts.map +1 -1
  631. package/dist/3-unit/ds-context.js +37 -1
  632. package/dist/3-unit/ds-form.d.ts +9 -0
  633. package/dist/3-unit/ds-form.d.ts.map +1 -1
  634. package/dist/3-unit/ds-form.js +52 -11
  635. package/dist/3-unit/ds-list.d.ts +20 -1
  636. package/dist/3-unit/ds-list.d.ts.map +1 -1
  637. package/dist/3-unit/ds-list.js +31 -3
  638. package/dist/3-unit/ds-matrix.d.ts +3 -0
  639. package/dist/3-unit/ds-matrix.d.ts.map +1 -1
  640. package/dist/3-unit/ds-matrix.js +3 -0
  641. package/dist/3-unit/ds-menu.d.ts.map +1 -1
  642. package/dist/3-unit/ds-menu.js +17 -1
  643. package/dist/3-unit/ds-row.d.ts +13 -0
  644. package/dist/3-unit/ds-row.d.ts.map +1 -1
  645. package/dist/3-unit/ds-row.js +15 -2
  646. package/dist/3-unit/ds-select.js +1 -1
  647. package/dist/3-unit/ds-sidebar.d.ts +17 -0
  648. package/dist/3-unit/ds-sidebar.d.ts.map +1 -1
  649. package/dist/3-unit/ds-sidebar.js +14 -3
  650. package/dist/3-unit/ds-table-of-contents.d.ts +68 -0
  651. package/dist/3-unit/ds-table-of-contents.d.ts.map +1 -0
  652. package/dist/3-unit/ds-table-of-contents.js +190 -0
  653. package/dist/3-unit/ds-table.d.ts.map +1 -1
  654. package/dist/3-unit/ds-table.js +2 -1
  655. package/dist/3-unit/ds-tabs.d.ts +32 -1
  656. package/dist/3-unit/ds-tabs.d.ts.map +1 -1
  657. package/dist/3-unit/ds-tabs.js +39 -1
  658. package/dist/4-page/ds-container.d.ts.map +1 -1
  659. package/dist/4-page/ds-container.js +2 -1
  660. package/dist/4-page/ds-document.d.ts +3 -0
  661. package/dist/4-page/ds-document.d.ts.map +1 -1
  662. package/dist/4-page/ds-document.js +3 -0
  663. package/dist/4-page/ds-footer.d.ts +47 -7
  664. package/dist/4-page/ds-footer.d.ts.map +1 -1
  665. package/dist/4-page/ds-footer.js +58 -14
  666. package/dist/4-page/ds-header.d.ts +6 -0
  667. package/dist/4-page/ds-header.d.ts.map +1 -1
  668. package/dist/4-page/ds-header.js +4 -1
  669. package/dist/4-page/ds-overlay.d.ts +2 -2
  670. package/dist/4-page/ds-overlay.d.ts.map +1 -1
  671. package/dist/4-page/ds-overlay.js +8 -3
  672. package/dist/4-page/ds-page.d.ts +12 -0
  673. package/dist/4-page/ds-page.d.ts.map +1 -1
  674. package/dist/4-page/ds-page.js +19 -1
  675. package/dist/4-page/email.d.ts +2 -0
  676. package/dist/4-page/email.d.ts.map +1 -1
  677. package/dist/4-page/email.js +5 -4
  678. package/dist/5-visual-kit/app-chrome.d.ts +98 -0
  679. package/dist/5-visual-kit/app-chrome.d.ts.map +1 -0
  680. package/dist/5-visual-kit/app-chrome.js +119 -0
  681. package/dist/5-visual-kit/bezels.d.ts +30 -0
  682. package/dist/5-visual-kit/bezels.d.ts.map +1 -0
  683. package/dist/5-visual-kit/bezels.js +388 -0
  684. package/dist/5-visual-kit/browser-icons.d.ts +5 -0
  685. package/dist/5-visual-kit/browser-icons.d.ts.map +1 -0
  686. package/dist/5-visual-kit/browser-icons.js +51 -0
  687. package/dist/5-visual-kit/browser-styles.d.ts +3 -0
  688. package/dist/5-visual-kit/browser-styles.d.ts.map +1 -0
  689. package/dist/5-visual-kit/browser-styles.js +52 -0
  690. package/dist/5-visual-kit/device-bezel.d.ts +84 -0
  691. package/dist/5-visual-kit/device-bezel.d.ts.map +1 -0
  692. package/dist/5-visual-kit/device-bezel.js +56 -0
  693. package/dist/5-visual-kit/instagram-frame.d.ts +8 -0
  694. package/dist/5-visual-kit/instagram-frame.d.ts.map +1 -0
  695. package/dist/5-visual-kit/instagram-frame.js +13 -0
  696. package/dist/5-visual-kit/instagram.d.ts +18 -0
  697. package/dist/5-visual-kit/instagram.d.ts.map +1 -0
  698. package/dist/5-visual-kit/instagram.js +39 -0
  699. package/dist/5-visual-kit/mobile-chrome.d.ts +4 -0
  700. package/dist/5-visual-kit/mobile-chrome.d.ts.map +1 -0
  701. package/dist/5-visual-kit/mobile-chrome.js +24 -0
  702. package/dist/5-visual-kit/native-icon-paths.d.ts +146 -0
  703. package/dist/5-visual-kit/native-icon-paths.d.ts.map +1 -0
  704. package/dist/5-visual-kit/native-icon-paths.js +145 -0
  705. package/dist/5-visual-kit/window.d.ts +51 -0
  706. package/dist/5-visual-kit/window.d.ts.map +1 -0
  707. package/dist/5-visual-kit/window.js +20 -0
  708. package/dist/browser-icons-BFbS1tIx.js +56 -0
  709. package/dist/browser-icons-BFbS1tIx.js.map +1 -0
  710. package/dist/browser-icons-CT8qU77Z.js +48 -0
  711. package/dist/browser-icons-CT8qU77Z.js.map +1 -0
  712. package/dist/components.d.ts +1 -0
  713. package/dist/components.d.ts.map +1 -1
  714. package/dist/components.js +1 -0
  715. package/dist/design-system-1.bundle.js +5874 -2097
  716. package/dist/design-system-1.bundle.js.map +1 -1
  717. package/dist/design-system-1.bundle.min.js +7332 -4682
  718. package/dist/design-system-1.bundle.min.js.map +1 -1
  719. package/dist/design-system-1.css +1 -1
  720. package/dist/feedback.js +197 -167
  721. package/dist/feedback.js.map +1 -1
  722. package/dist/{icons-extra-CRxxWFjX.js → icons-extra-BMPvmQPI.js} +25 -4
  723. package/dist/icons-extra-BMPvmQPI.js.map +1 -0
  724. package/dist/{icons-extra-H5pqCM_R.js → icons-extra-BfYOw-cR.js} +83 -5
  725. package/dist/icons-extra-BfYOw-cR.js.map +1 -0
  726. package/dist/index.d.ts +12 -1
  727. package/dist/index.d.ts.map +1 -1
  728. package/dist/index.js +11 -1
  729. package/dist/instagram-CKofs55A.js +50 -0
  730. package/dist/instagram-CKofs55A.js.map +1 -0
  731. package/dist/instagram-CcYf5oiM.js +48 -0
  732. package/dist/instagram-CcYf5oiM.js.map +1 -0
  733. package/dist/lit-Ce_uWYM4.js +612 -0
  734. package/dist/lit-Ce_uWYM4.js.map +1 -0
  735. package/dist/lit-DGUVm1Ce.js +557 -0
  736. package/dist/lit-DGUVm1Ce.js.map +1 -0
  737. package/dist/native-icon-paths-CB9evXBM.js +93 -0
  738. package/dist/native-icon-paths-CB9evXBM.js.map +1 -0
  739. package/dist/native-icon-paths-zay-3g_n.js +150 -0
  740. package/dist/native-icon-paths-zay-3g_n.js.map +1 -0
  741. package/dist/react/avatar.d.ts +1 -1
  742. package/dist/react/choice.d.ts +4 -0
  743. package/dist/react/choice.d.ts.map +1 -1
  744. package/dist/react/choice.js +2 -2
  745. package/dist/react/context.d.ts +19 -4
  746. package/dist/react/context.d.ts.map +1 -1
  747. package/dist/react/context.js +4 -4
  748. package/dist/react/empty.d.ts +2 -2
  749. package/dist/react/empty.d.ts.map +1 -1
  750. package/dist/react/empty.js +1 -1
  751. package/dist/react/footer.d.ts +5 -5
  752. package/dist/react/footer.d.ts.map +1 -1
  753. package/dist/react/footer.js +2 -2
  754. package/dist/react/header.d.ts +2 -2
  755. package/dist/react/header.d.ts.map +1 -1
  756. package/dist/react/message.d.ts +4 -0
  757. package/dist/react/message.d.ts.map +1 -1
  758. package/dist/react/message.js +2 -2
  759. package/dist/react/number.d.ts +53 -0
  760. package/dist/react/number.d.ts.map +1 -0
  761. package/dist/react/number.js +25 -0
  762. package/dist/react/page.d.ts +1 -1
  763. package/dist/react/sidebar.d.ts +4 -0
  764. package/dist/react/sidebar.d.ts.map +1 -1
  765. package/dist/react/sidebar.js +2 -2
  766. package/dist/react/table-of-contents.d.ts +19 -0
  767. package/dist/react/table-of-contents.d.ts.map +1 -0
  768. package/dist/react/table-of-contents.js +28 -0
  769. package/dist/{shared-words-CdMDVtXx.js → shared-words-C5cjxMjZ.js} +151 -16
  770. package/dist/shared-words-C5cjxMjZ.js.map +1 -0
  771. package/dist/{shared-words-BtRee8xR.js → shared-words-Cdm7xd-_.js} +163 -28
  772. package/dist/shared-words-Cdm7xd-_.js.map +1 -0
  773. package/package.json +25 -12
  774. package/DS1/3-unit/ds-calendar-large.ts +0 -353
  775. package/DS1/3-unit/styles/ds-calendar-large.css +0 -178
  776. package/dist/3-unit/ds-calendar-large.d.ts +0 -142
  777. package/dist/3-unit/ds-calendar-large.d.ts.map +0 -1
  778. package/dist/3-unit/ds-calendar-large.js +0 -308
  779. package/dist/icons-extra-CRxxWFjX.js.map +0 -1
  780. package/dist/icons-extra-H5pqCM_R.js.map +0 -1
  781. package/dist/shared-words-BtRee8xR.js.map +0 -1
  782. package/dist/shared-words-CdMDVtXx.js.map +0 -1
@@ -0,0 +1,51 @@
1
+ import { svg } from 'lit';
2
+ let chromiumIcons = {};
3
+ let edgeIcons = {};
4
+ let loading;
5
+ /** Native browser glyphs are unnecessary for Apple windows and device status bars. */
6
+ export function loadBrowserIcons(kind) {
7
+ if (kind !== 'chrome' && kind !== 'edge')
8
+ return Promise.resolve();
9
+ return loading ?? (loading = import('./native-icon-paths').then((icons) => {
10
+ chromiumIcons = icons.chromiumIcons;
11
+ edgeIcons = icons.edgeIcons;
12
+ }).catch((error) => { loading = undefined; throw error; }));
13
+ }
14
+ /** Presentation glyphs drawn in each browser's native icon vocabulary, not DS1 UI icons. */
15
+ export function browserIcon(name, kind) {
16
+ if (kind === 'safari-ios' && name === 'tabs')
17
+ return svg `<svg viewBox="0 0 20 20" aria-hidden="true"><rect x="2" y="2" width="12" height="12" rx="2"/><rect x="6" y="6" width="12" height="12" rx="2"/></svg>`;
18
+ if (kind === 'safari-ios' && name === 'back')
19
+ return svg `<svg viewBox="0 0 20 20" aria-hidden="true"><path d="m13 3-7 7 7 7"/></svg>`;
20
+ const native = (kind === 'chrome' ? chromiumIcons : kind === 'edge' ? edgeIcons : {});
21
+ if (native[name]) {
22
+ const glyph = native[name];
23
+ return svg `<svg viewBox=${`0 0 ${glyph.size} ${glyph.size}`} aria-hidden="true" style="fill:currentColor;stroke:none"><path d=${glyph.path}/></svg>`;
24
+ }
25
+ const apple = kind === 'safari' || kind === 'safari-ios' || kind === 'macos';
26
+ const paths = {
27
+ back: apple ? 'M12 4 6 10l6 6' : 'M16 10H4m6-6-6 6 6 6',
28
+ forward: apple ? 'm8 4 6 6-6 6' : 'M4 10h12m-6-6 6 6-6 6',
29
+ reload: 'M16 7a6.5 6.5 0 1 0 .4 5M16 3v4h-4',
30
+ share: 'M7 6H4v11h12V6h-3M10 12V1m-3 3 3-3 3 3',
31
+ tabs: 'M6 6H2v12h12v-4M6 2h12v12H6Z',
32
+ sidebar: 'M3 3h14v14H3ZM8 3v14M5 6h1m-1 3h1m-1 3h1',
33
+ plus: 'M10 4v12M4 10h12',
34
+ close: 'm5 5 10 10M15 5 5 15',
35
+ 'close-tab': 'm6 6 8 8m0-8-8 8',
36
+ minimize: 'M4 10h12', zoom: 'M4 8V4h4m4 12h4v-4M4 4l12 12',
37
+ 'chevron-down': 'm6 8 4 4 4-4',
38
+ 'page-menu': 'M3 5h14M3 10h10M3 15h6',
39
+ lock: 'M6 9V6a4 4 0 0 1 8 0v3M5 9h10v8H5Z',
40
+ tune: 'M3 6h7m4 0h3M3 14h3m4 0h7M10 4h4v4h-4ZM6 12h4v4H6Z',
41
+ star: 'm10 2 2.4 5 5.6.8-4 3.9.9 5.6-4.9-2.6-4.9 2.6.9-5.6-4-3.9L7.6 7Z',
42
+ extensions: 'M4 4h4V2a2 2 0 0 1 4 0v2h4v5h2a2 2 0 0 1 0 4h-2v5h-5v-2a2 2 0 0 0-4 0v2H2V4Z',
43
+ reading: 'M10 5Q6 2 2 4v12q4-2 8 1 4-3 8-1V4q-4-2-8 1v12',
44
+ favorites: 'm7 2 1.6 3.3 3.7.5-2.7 2.6.6 3.6L7 10.3 3.8 12l.6-3.6L1.7 5.8l3.7-.5ZM14 5h4m-4 5h4M3 16h15',
45
+ globe: 'M18 10a8 8 0 1 1-16 0 8 8 0 0 1 16 0ZM2 10h16M10 2c-5 4-5 12 0 16 5-4 5-12 0-16Z',
46
+ profile: 'M18 10a8 8 0 1 1-16 0 8 8 0 0 1 16 0ZM6 16v-1a4 4 0 0 1 8 0v1M12.5 7a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z',
47
+ };
48
+ if (name === 'more' || name === 'more-horizontal')
49
+ return svg `<svg viewBox="0 0 20 20" aria-hidden="true" style="fill:currentColor;stroke:none">${name === 'more' ? svg `<circle cx="10" cy="4" r="1.5"/><circle cx="10" cy="10" r="1.5"/><circle cx="10" cy="16" r="1.5"/>` : svg `<circle cx="4" cy="10" r="1.2"/><circle cx="10" cy="10" r="1.2"/><circle cx="16" cy="10" r="1.2"/>`}</svg>`;
50
+ return svg `<svg viewBox="0 0 20 20" aria-hidden="true"><path d=${paths[name] || paths['globe']}/></svg>`;
51
+ }
@@ -0,0 +1,3 @@
1
+ /** macOS reference layouts: Safari 27 compact, Chrome 155, Edge 156. CSS pixels at 1×. */
2
+ export declare const browserStyles: import("lit").CSSResult;
3
+ //# sourceMappingURL=browser-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-styles.d.ts","sourceRoot":"","sources":["../../DS1/5-visual-kit/browser-styles.ts"],"names":[],"mappings":"AAEA,0FAA0F;AAC1F,eAAO,MAAM,aAAa,yBAiDzB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { css } from 'lit';
2
+ /** macOS reference layouts: Safari 27 compact, Chrome 155, Edge 156. CSS pixels at 1×. */
3
+ export const browserStyles = css `
4
+ :host { --browser-strip:#dee1e6; --browser-toolbar:#fff; --browser-address:#f1f3f4; --browser-ink:#3c4043; }
5
+ :host([appearance=dark]) { --browser-strip:#202124; --browser-toolbar:#35363a; --browser-address:#202124; --browser-ink:#e8eaed; }
6
+ :host([kind=edge]) { --browser-strip:#f3f3f3; --browser-toolbar:#fff; --browser-address:#fff; --browser-ink:#242424; }
7
+ :host([kind=edge][appearance=dark]) { --browser-strip:#202020; --browser-toolbar:#2b2b2b; --browser-address:#2b2b2b; --browser-ink:#f5f5f5; }
8
+ .unavailable { opacity:.35 !important; }
9
+ .favicon { width:16px; height:16px; object-fit:contain; flex:none; }
10
+ .lights { width:80px; padding-left:12px; gap:8px; height:100%; }
11
+ .lights svg { width:8px; height:8px; }
12
+ .tabs { height:40px; gap:8px; padding:0 8px 0 0; background:var(--browser-strip); color:var(--browser-ink); }
13
+ .tabs > button { width:28px; height:28px; flex:none; border-radius:8px; }
14
+ .tab { position:relative; isolation:isolate; height:34px; width:232px; min-width:80px; border-radius:12px 12px 0 0; padding:0 10px; gap:8px; background:var(--browser-toolbar); font-size:13px; font-weight:400; }
15
+ .tab::before,.tab::after { content:''; position:absolute; bottom:0; width:12px; height:12px; background:transparent; z-index:-1; }
16
+ .tab::before { left:-12px; border-radius:0 0 12px 0; box-shadow:4px 4px 0 4px var(--browser-toolbar); }
17
+ .tab::after { right:-12px; border-radius:0 0 0 12px; box-shadow:-4px 4px 0 4px var(--browser-toolbar); }
18
+ .tab > svg { flex:none; width:16px; height:16px; color:#5f6368; }
19
+ :host([appearance=dark]) .tab > svg { color:#bdc1c6; }
20
+ .tab button { flex:none; width:20px; height:20px; border-radius:50%; }
21
+ .tab button svg { width:16px; height:16px; }
22
+ .browser-toolbar { height:46px; min-height:46px; padding:6px; gap:2px; background:var(--browser-toolbar); color:var(--browser-ink); border-bottom:1px solid #00000015; }
23
+ .browser-toolbar > button { width:34px; height:34px; flex:none; border-radius:50%; }
24
+ .browser-toolbar svg { width:20px; height:20px; stroke-width:1.65; }
25
+ .browser-toolbar .address { height:34px; padding:0 6px; gap:4px; margin:0 4px; border:0; border-radius:17px; background:var(--browser-address); justify-content:start; }
26
+ .address > span { flex:1; min-width:0; font-size:14px; }
27
+ .browser-toolbar .address button { flex:none; width:28px; height:28px; border-radius:50%; }
28
+ .browser-toolbar .address button svg { width:18px; height:18px; }
29
+ :host([kind=edge]) .tabs { background:var(--browser-strip); gap:6px; }
30
+ :host([kind=edge]) .tab { height:36px; width:240px; border-radius:10px 10px 0 0; }
31
+ :host([kind=edge]) .browser-toolbar { height:40px; min-height:40px; padding:4px; gap:0; }
32
+ :host([kind=edge]) .browser-toolbar > button { width:36px; height:32px; border-radius:6px; }
33
+ :host([kind=edge]) .browser-toolbar svg { stroke-width:1.3; }
34
+ :host([kind=edge]) .address { height:32px; border:1px solid #c7c7c7; margin:0 4px 0 0; padding:0 5px; }
35
+ :host([kind=edge][appearance=dark]) .address { border-color:#555; }
36
+ :host([kind=safari]) { background:#f8f8f8; color:#424242; }
37
+ :host([kind=safari][appearance=dark]) { background:#444448; color:#f4f4f4; }
38
+ :host([kind=safari]) .toolbar { height:52px; min-height:52px; padding:8px 12px 8px 0; gap:8px; border-bottom:1px solid #00000018; }
39
+ .safari-group { display:flex; align-items:center; height:36px; border-radius:18px; background:#eaeaea; flex:none; padding:0 4px; }
40
+ .safari-group button { width:32px; height:32px; border-radius:50%; }
41
+ .safari-group svg { width:18px; height:18px; stroke-width:1.5; }
42
+ .sidebar-group { gap:0; padding:0 8px; }
43
+ .sidebar-group button:last-child { width:16px; }
44
+ .sidebar-group button:last-child svg { width:12px; }
45
+ :host([kind=safari]) .safari-address { height:36px; max-width:none; margin:0; padding:0 10px 0 16px; border-radius:18px; background:#eaeaea; border:1px solid #00000008; box-shadow:0 1px 2px #00000008; gap:8px; }
46
+ .safari-address span { text-align:center; font-size:13px; }
47
+ .safari-address button { width:24px; height:28px; flex:none; }
48
+ .safari-actions { padding:0 8px; }
49
+ :host([kind=safari][appearance=dark]) .safari-group { background:#5b5b5f; }
50
+ :host([kind=safari][appearance=dark]) .safari-address { background:#505054; border-color:#ffffff10; }
51
+ @media(max-width:480px) { .tab { width:180px; } }
52
+ `;
@@ -0,0 +1,84 @@
1
+ import { LitElement } from 'lit';
2
+ import './app-chrome';
3
+ /** Artwork and a measured, native-size screen. The entire screen scales uniformly into the bezel. */
4
+ export declare class DsDeviceBezel extends LitElement {
5
+ static properties: {
6
+ edgeToEdge: {
7
+ type: BooleanConstructor;
8
+ attribute: string;
9
+ reflect: boolean;
10
+ };
11
+ staticFrame: {
12
+ type: BooleanConstructor;
13
+ attribute: string;
14
+ reflect: boolean;
15
+ };
16
+ frameless: {
17
+ type: BooleanConstructor;
18
+ reflect: boolean;
19
+ };
20
+ responsive: {
21
+ type: BooleanConstructor;
22
+ reflect: boolean;
23
+ };
24
+ device: {};
25
+ assetBase: {
26
+ attribute: string;
27
+ };
28
+ chromeAssets: {
29
+ attribute: string;
30
+ };
31
+ network: {};
32
+ battery: {
33
+ type: NumberConstructor;
34
+ };
35
+ dualSim: {
36
+ type: BooleanConstructor;
37
+ attribute: string;
38
+ };
39
+ time: {};
40
+ address: {};
41
+ browser: {};
42
+ appearance: {
43
+ reflect: boolean;
44
+ };
45
+ interactive: {
46
+ type: BooleanConstructor;
47
+ };
48
+ status: {
49
+ type: BooleanConstructor;
50
+ };
51
+ measuredWidth: {
52
+ state: boolean;
53
+ };
54
+ };
55
+ edgeToEdge: boolean;
56
+ frameless: boolean;
57
+ responsive: boolean;
58
+ staticFrame: boolean;
59
+ device: string;
60
+ assetBase: string;
61
+ chromeAssets: string;
62
+ network: string;
63
+ battery: number;
64
+ dualSim: boolean;
65
+ time: string;
66
+ address: string;
67
+ browser: string;
68
+ appearance: string;
69
+ interactive: boolean;
70
+ status: boolean;
71
+ private measuredWidth;
72
+ private observer?;
73
+ constructor();
74
+ static styles: import("lit").CSSResult;
75
+ connectedCallback(): void;
76
+ disconnectedCallback(): void;
77
+ render(): import("lit").TemplateResult<1>;
78
+ }
79
+ declare global {
80
+ interface HTMLElementTagNameMap {
81
+ 'ds-device-bezel': DsDeviceBezel;
82
+ }
83
+ }
84
+ //# sourceMappingURL=device-bezel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-bezel.d.ts","sourceRoot":"","sources":["../../DS1/5-visual-kit/device-bezel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,OAAO,cAAc,CAAC;AACtB,qGAAqG;AACrG,qBAAa,aAAc,SAAQ,UAAU;IAC3C,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAogB;IAC7gB,UAAU,EAAC,OAAO,CAAC;IAAS,SAAS,EAAE,OAAO,CAAC;IAAS,UAAU,EAAE,OAAO,CAAC;IAC5E,WAAW,EAAE,OAAO,CAAC;IAAS,MAAM,EAAE,MAAM,CAAC;IAAS,SAAS,EAAE,MAAM,CAAC;IAAS,YAAY,EAAE,MAAM,CAAC;IAAS,OAAO,EAAE,MAAM,CAAC;IAAS,OAAO,EAAE,MAAM,CAAC;IAAS,OAAO,EAAE,OAAO,CAAC;IAAS,IAAI,EAAE,MAAM,CAAC;IAAS,OAAO,EAAE,MAAM,CAAC;IAAS,OAAO,EAAE,MAAM,CAAC;IAAS,UAAU,EAAE,MAAM,CAAC;IAAS,WAAW,EAAE,OAAO,CAAC;IAAS,MAAM,EAAE,OAAO,CAAC;IACrV,QAAgB,aAAa,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,CAAgB;;IAEjC,MAAM,CAAC,MAAM,0BAwBX;IACF,iBAAiB;IACjB,oBAAoB;IACpB,MAAM;CAYP;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,iBAAiB,EAAE,aAAa,CAAC;KAAE;CAAE"}
@@ -0,0 +1,56 @@
1
+ import { LitElement, css, html, nothing } from 'lit';
2
+ import { styleMap } from 'lit/directives/style-map.js';
3
+ import { define } from '../0-face/define';
4
+ import { bezelById, screenGeometry } from './bezels';
5
+ import './app-chrome';
6
+ /** Artwork and a measured, native-size screen. The entire screen scales uniformly into the bezel. */
7
+ export class DsDeviceBezel extends LitElement {
8
+ constructor() { super(); this.edgeToEdge = false; this.staticFrame = false; this.frameless = false; this.responsive = false; this.device = 'iphone-17-pro-max-deep-blue'; this.assetBase = ''; this.chromeAssets = ''; this.network = '4G'; this.battery = 80; this.dualSim = false; this.time = '00:01'; this.address = ''; this.browser = ''; this.appearance = 'light'; this.interactive = false; this.status = true; this.measuredWidth = 0; }
9
+ connectedCallback() { super.connectedCallback(); this.observer = new ResizeObserver(entries => { this.measuredWidth = entries[0].contentRect.width; }); this.observer.observe(this); }
10
+ disconnectedCallback() { this.observer?.disconnect(); super.disconnectedCallback(); }
11
+ render() {
12
+ if (this.frameless)
13
+ return html `<slot></slot>`;
14
+ const b = bezelById(this.device);
15
+ if (!b || !this.assetBase)
16
+ return html `<div class="missing" role="status">${b ? 'Set asset-base to your licensed bezel artwork.' : 'Unknown device bezel.'}</div>`;
17
+ const g = screenGeometry(b, this.measuredWidth || b.width);
18
+ const compact = this.responsive && this.measuredWidth > 0 && this.measuredWidth < 320;
19
+ if (compact) {
20
+ g.left = 3;
21
+ g.top = 3;
22
+ g.scale = (this.measuredWidth - 6) / g.width;
23
+ }
24
+ const screenStyle = { left: g.left + 'px', top: g.top + 'px', width: g.width * (this.responsive ? g.scale : 1) + 'px', height: g.height * (this.responsive ? g.scale : 1) + 'px', borderRadius: (compact ? 29 : b.screen.radius * (this.responsive ? g.scale : 1)) + 'px', transform: this.responsive ? 'none' : `scale(${g.scale})` };
25
+ const chromeStyle = this.responsive ? `width:${g.width}px;transform:scale(${g.scale});` : '';
26
+ const path = this.assetBase.replace(/\/?$/, '/') + b.asset.split('/').pop();
27
+ return html `<div class=${compact ? 'device compact' : 'device'} style=${styleMap({ aspectRatio: `${b.width} / ${b.height}` })}><div class=${this.browser === 'safari' ? 'screen with-browser' : 'screen'} part="screen" style=${styleMap(screenStyle)}>${this.status ? html `<div class="status-wrap" style=${this.responsive ? `height:${(b.kind === 'phone' ? 59 : 32) * g.scale}px` : ""}><ds-app-chrome class="scaled-chrome" style=${chromeStyle} .kind=${b.kind === 'phone' ? 'ios' : 'ipados'} .time=${this.time} .network=${this.network} .battery=${this.battery} .dualSim=${this.dualSim} .appearance=${this.appearance} .assetBase=${this.chromeAssets}></ds-app-chrome></div>` : nothing}<div class="content" part="viewport" ?inert=${this.staticFrame}><slot></slot></div>${this.browser === 'safari' ? html `<div class="browser" style=${this.responsive ? `height:${49 * g.scale}px;bottom:${34 * g.scale}px` : ""}><ds-app-chrome class="scaled-chrome" style=${chromeStyle} kind="safari-ios" .address=${this.address} .appearance=${this.appearance} .interactive=${this.interactive && !this.staticFrame}></ds-app-chrome></div>` : nothing}<div class="home" aria-hidden="true"></div></div><img class="art" src=${path} alt="" width=${b.width} height=${b.height} @error=${() => this.dispatchEvent(new CustomEvent('bezel-error', { detail: { device: b.id }, bubbles: true, composed: true }))}></div>`;
28
+ }
29
+ }
30
+ DsDeviceBezel.properties = { edgeToEdge: { type: Boolean, attribute: "edge-to-edge", reflect: true }, staticFrame: { type: Boolean, attribute: "static", reflect: true }, frameless: { type: Boolean, reflect: true }, responsive: { type: Boolean, reflect: true }, device: {}, assetBase: { attribute: 'asset-base' }, chromeAssets: { attribute: 'chrome-assets' }, network: {}, battery: { type: Number }, dualSim: { type: Boolean, attribute: 'dual-sim' }, time: {}, address: {}, browser: {}, appearance: { reflect: true }, interactive: { type: Boolean }, status: { type: Boolean }, measuredWidth: { state: true } };
31
+ DsDeviceBezel.styles = css `
32
+ :host { display:block; width:var(--ds-device-width,280px); max-width:100%; }
33
+ :host([frameless]) { display:contents; }
34
+ .status-wrap { flex:none; }
35
+ :host([edge-to-edge]) .status-wrap { position:absolute; top:0; left:0; right:0; z-index:2; pointer-events:none; }
36
+ :host([edge-to-edge]) .home { display:none; }
37
+ /* Over the page, the status bar's ink follows appearance: black over a light page, white over a dark one. */
38
+ :host([edge-to-edge]) ds-app-chrome { --chrome-screen:transparent; background:transparent; }
39
+ .scaled-chrome { transform-origin:top left; }
40
+ .device.compact { box-shadow:inset 0 0 0 3px #202124; border-radius:32px; background:#202124; }
41
+ .compact .art { display:none; }
42
+ .device { position:relative; width:100%; }
43
+ .screen { position:absolute; transform-origin:top left; overflow:hidden; background:var(--ds-device-paper,#fff); display:flex; flex-direction:column; }
44
+ :host([appearance=dark]) .screen { --ds-device-paper:#111; }
45
+ .content { position:relative; flex:1; min-height:0; overflow:hidden; }
46
+ .art { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
47
+ .browser { position:absolute; left:0; right:0; bottom:34px; z-index:1; }
48
+ .screen.with-browser .home { position:absolute; bottom:0; left:0; right:0; background:transparent; pointer-events:none; }
49
+ .screen.with-browser .home::after { display:none; }
50
+ .home { height:34px; flex:none; display:flex; align-items:center; justify-content:center; background:var(--ds-device-paper,#fff); }
51
+ .home::after { content:''; width:134px; height:5px; border-radius:9px; background:#000; }
52
+ :host([appearance=dark]) .home::after { background:#fff; }
53
+ ds-app-chrome { flex:none; } ::slotted(iframe) { display:block; width:100%; height:100%; border:0; }
54
+ .missing { padding:20px; border:1px solid currentColor; font:14px/20px sans-serif; }
55
+ `;
56
+ define('ds-device-bezel', DsDeviceBezel);
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The Reels frame: its size, its transparent face and the slotted media. App chrome draws it from
3
+ * the start, so the picture shows and nothing moves while the overlay (`instagram.ts`) loads on demand.
4
+ */
5
+ export declare const instagramFrameStyles: import("lit").CSSResult;
6
+ /** The frame alone, until the overlay has loaded. */
7
+ export declare const instagramFrame: () => import("lit").TemplateResult<1>;
8
+ //# sourceMappingURL=instagram-frame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instagram-frame.d.ts","sourceRoot":"","sources":["../../DS1/5-visual-kit/instagram-frame.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,yBAKhC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,cAAc,uCAAoF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { css, html } from 'lit';
2
+ /**
3
+ * The Reels frame: its size, its transparent face and the slotted media. App chrome draws it from
4
+ * the start, so the picture shows and nothing moves while the overlay (`instagram.ts`) loads on demand.
5
+ */
6
+ export const instagramFrameStyles = css `
7
+ :host([kind=instagram]) { height:100%; background:transparent; color:white; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
8
+ .reels { position:relative; height:100%; overflow:hidden; isolation:isolate; }
9
+ .reels-media { position:absolute; inset:0; z-index:-2; }
10
+ .reels ::slotted(*) { width:100%; height:100%; display:block; object-fit:cover; }
11
+ `;
12
+ /** The frame alone, until the overlay has loaded. */
13
+ export const instagramFrame = () => html `<div class="reels"><div class="reels-media"><slot></slot></div></div>`;
@@ -0,0 +1,18 @@
1
+ /** Presentation based on the supplied October 2026 iPhone Reels reference. Its frame and media are `instagram-frame.ts`, drawn before this loads. */
2
+ export declare const instagramStyles: import("lit").CSSResult;
3
+ interface ReelsOptions {
4
+ interactive: boolean;
5
+ username: string;
6
+ caption: string;
7
+ avatar: string;
8
+ verified: boolean;
9
+ likes: string;
10
+ comments: string;
11
+ reposts: string;
12
+ shares: string;
13
+ progress: number;
14
+ action: (action: string) => void;
15
+ }
16
+ export declare function instagram(o: ReelsOptions): import("lit").TemplateResult<1>;
17
+ export {};
18
+ //# sourceMappingURL=instagram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instagram.d.ts","sourceRoot":"","sources":["../../DS1/5-visual-kit/instagram.ts"],"names":[],"mappings":"AAEA,qJAAqJ;AACrJ,eAAO,MAAM,eAAe,yBAwB3B,CAAC;AAQF,UAAU,YAAY;IAAG,WAAW,EAAC,OAAO,CAAC;IAAC,QAAQ,EAAC,MAAM,CAAC;IAAC,OAAO,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,OAAO,CAAC;IAAC,KAAK,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,MAAM,CAAC;IAAC,OAAO,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,CAAC,MAAM,EAAC,MAAM,KAAG,IAAI,CAAA;CAAE;AAC7N,wBAAgB,SAAS,CAAC,CAAC,EAAC,YAAY,mCAIvC"}
@@ -0,0 +1,39 @@
1
+ import { css, html, svg, nothing } from 'lit';
2
+ /** Presentation based on the supplied October 2026 iPhone Reels reference. Its frame and media are `instagram-frame.ts`, drawn before this loads. */
3
+ export const instagramStyles = css `
4
+ .reels::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(#0005,transparent 23%,transparent 55%,#0009); }
5
+ .reels button { width:44px; height:44px; border-radius:8px; color:white; }
6
+ .reels svg { width:27px; height:27px; stroke-width:1.8; }
7
+ .reels-header { position:absolute; top:68px; left:12px; right:12px; display:flex; align-items:center; justify-content:space-between; }
8
+ .reels-tabs { display:flex; gap:14px; font-size:24px; font-weight:700; }
9
+ .reels-tabs span:last-child { color:#ffffffa6; }
10
+ .reels-actions { position:absolute; right:10px; bottom:118px; display:grid; gap:15px; text-align:center; }
11
+ .reels-action { display:grid; justify-items:center; font-size:13px; line-height:18px; }
12
+ .reels-action button { height:36px; }
13
+ .reels-action span:empty { display:none; }
14
+ .reels-author { position:absolute; left:16px; right:64px; bottom:120px; font-size:14px; }
15
+ .reels-identity { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
16
+ .reels-avatar { flex:none; width:40px; height:40px; border:2px solid #fb44b8; border-radius:50%; padding:2px; background:#ffd52a; color:#111; display:grid; place-items:center; overflow:hidden; }
17
+ .reels-avatar img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
18
+ .reels-name { font-weight:650; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
19
+ .reels-verified { font-size:15px; }
20
+ .reels .reels-follow { width:auto; height:28px; padding:0 9px; border:1px solid #ffffff80; font-size:14px; }
21
+ .reels-caption { margin:0; line-height:20px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
22
+ .reels-progress { position:absolute; bottom:98px; left:16px; right:16px; height:2px; background:#ffffff40; border-radius:2px; overflow:hidden; }
23
+ .reels-progress i { display:block; height:100%; background:white; transform-origin:left; }
24
+ .reels-nav { position:absolute; bottom:26px; left:50px; right:50px; height:52px; padding:3px; border:1px solid #ffffff40; border-radius:30px; background:#3339; backdrop-filter:blur(20px); display:flex; align-items:center; justify-content:space-around; }
25
+ .reels-nav button { flex:1; border-radius:30px; height:44px; }
26
+ .reels-nav .selected { background:#ffffff30; }
27
+ `;
28
+ const paths = {
29
+ plus: 'M12 3v18M3 12h18', heart: 'M12 21 3.5 13C-3 6 6-1 12 6 18-1 27 6 20.5 13Z',
30
+ comment: 'M21 20 20 15a9 9 0 1 0-5 5Z', repost: 'm15 2 4 4-4 4M19 6H7a4 4 0 0 0-4 4v3m6 9-4-4 4-4M5 18h12a4 4 0 0 0 4-4v-3',
31
+ send: 'm3 3 19 1-8 18-4-11Z M10 11 22 4', more: 'M4 8h16M4 14h11',
32
+ home: 'm3 10 9-8 9 8v11h-6v-8H9v8H3Z', reels: 'M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2Z m5 4 7 5-7 5Z',
33
+ search: 'M17 17 22 22M20 10a9 9 0 1 1-18 0 9 9 0 0 1 18 0', profile: 'M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0M3 12h18M12 3v18', filters: 'M2 6h20M2 18h20M7 3v6M17 15v6',
34
+ };
35
+ export function instagram(o) {
36
+ const button = (action, label, selected = false) => html `<button type="button" class=${selected ? 'selected' : ''} aria-label=${label} ?disabled=${!o.interactive} tabindex=${o.interactive ? 0 : -1} @click=${() => o.action(action)}>${svg `<svg viewBox="0 0 24 24" aria-hidden="true"><path d=${paths[action] ?? paths.profile}></path></svg>`}</button>`;
37
+ const action = (name, label, count) => html `<div class="reels-action">${button(name, label)}<span>${count}</span></div>`;
38
+ return html `<div class="reels"><div class="reels-media"><slot></slot></div><div class="reels-header">${button('plus', 'Create')}<div class="reels-tabs"><span>Reels</span><span>Friends</span></div>${button('filters', 'Feed preferences')}</div><div class="reels-actions">${action('heart', 'Like', o.likes)}${action('comment', 'Comment', o.comments)}${action('repost', 'Repost', o.reposts)}${action('send', 'Share', o.shares)}${action('more', 'More', '')}</div><div class="reels-author"><div class="reels-identity"><span class="reels-avatar">${o.avatar ? html `<img src=${o.avatar} alt="">` : html `<span>◎</span>`}</span><span class="reels-name">${o.username}</span>${o.verified ? html `<span class="reels-verified" aria-label="Verified">✹</span>` : nothing}<button class="reels-follow" ?disabled=${!o.interactive} tabindex=${o.interactive ? 0 : -1} @click=${() => o.action('follow')}>Follow</button></div><p class="reels-caption">${o.caption}</p></div><div class="reels-progress" aria-hidden="true"><i style=${`transform:scaleX(${Math.min(1, Math.max(0, o.progress))})`}></i></div><nav class="reels-nav" aria-label="Instagram">${button('home', 'Home')}${button('reels', 'Reels', true)}${button('send', 'Messages')}${button('search', 'Search')}${button('profile', 'Profile')}</nav></div>`;
39
+ }
@@ -0,0 +1,4 @@
1
+ /** Measured from the supplied 1179×2556 iPhone capture at 3× (393×852 points). */
2
+ export declare const mobileChromeStyles: import("lit").CSSResult;
3
+ export declare const cellularSignal: (dual: boolean) => import("lit").TemplateResult<1>;
4
+ //# sourceMappingURL=mobile-chrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile-chrome.d.ts","sourceRoot":"","sources":["../../DS1/5-visual-kit/mobile-chrome.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,yBAoB9B,CAAC;AACF,eAAO,MAAM,cAAc,GAAI,MAAM,OAAO,oCAA+T,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { css, html, svg } from 'lit';
2
+ /** Measured from the supplied 1179×2556 iPhone capture at 3× (393×852 points). */
3
+ export const mobileChromeStyles = css `
4
+ :host([kind=safari-ios]) { background:transparent; color:#080808; }
5
+ :host([kind=safari-ios][appearance=dark]) { color:#f5f5f5; }
6
+ .mobile { display:flex; align-items:center; gap:7px; padding:0 33px; height:49px; background:transparent; }
7
+ .mobile > button,.mobile .address { height:49px; border:1px solid #00000016; border-radius:28px; background:linear-gradient(155deg,#ffffffa0,#ffffff66 45%,#ffffffb8); box-shadow:inset 0 1px 1px #fff,inset 0 -1px 2px #ffffffb0,0 2px 9px #00000005; backdrop-filter:blur(3px) saturate(1.5); -webkit-backdrop-filter:blur(3px) saturate(1.5); }
8
+ .mobile > button { width:49px; flex:none; }
9
+ .mobile .address { min-width:0; flex:1; padding:0 12px; gap:6px; justify-content:space-between; }
10
+ .mobile .address span { text-align:center; color:inherit; font-size:17px; font-weight:600; letter-spacing:-.4px; }
11
+ .mobile .address button { width:24px; height:36px; flex:none; }
12
+ .mobile svg { width:28px; height:28px; stroke-width:1.65; }
13
+ .mobile > button:first-child svg { width:27px; height:27px; stroke-width:1.8; }
14
+ .mobile .address button svg { width:24px; height:24px; }
15
+ :host([kind=safari-ios][appearance=dark]) .mobile > button,:host([kind=safari-ios][appearance=dark]) .mobile .address { border-color:#ffffff24; background:linear-gradient(155deg,#303030b8,#20202080 45%,#202020e0); box-shadow:inset 0 1px 1px #ffffff35,inset 0 -1px 2px #ffffff18,0 2px 9px #0001; }
16
+ :host([kind=ios]) .status { height:59px; padding-top:0; }
17
+ .network { font-size:14px; font-weight:500; line-height:16px; letter-spacing:-.4px; }
18
+ .signal { display:block; width:20px; height:16px; fill:currentColor; stroke:none; }
19
+ .status .levels { gap:6px; }
20
+ .status .battery-meter { display:block; position:relative; width:25px; height:13px; border-radius:4.5px; background:color-mix(in srgb,currentColor 30%,transparent); overflow:visible; }
21
+ .battery-meter .charge { display:block; height:100%; width:var(--battery-charge,80%); background:currentColor; border-radius:4.5px 0 0 4.5px; }
22
+ .battery-meter::after { content:''; position:absolute; left:26px; top:4px; width:2px; height:5px; border-radius:0 2px 2px 0; background:color-mix(in srgb,currentColor 30%,transparent); }
23
+ `;
24
+ export const cellularSignal = (dual) => html `<svg class="signal" viewBox="0 0 20 16" role="img" aria-label=${dual ? 'Full dual-SIM signal' : 'Full signal'}>${[0, 1, 2, 3].map(i => svg `<rect x=${i * 5} y=${dual ? 4 - i : 7 - i * 2} width="3.5" height=${dual ? 6 + i : 8 + i * 2} rx="1.75"></rect>${dual ? svg `<rect x=${i * 5} y="12" width="3.5" height="3.5" rx="1.75"></rect>` : ''}`)}</svg>`;
@@ -0,0 +1,146 @@
1
+ /*!
2
+ Chromium source: https://chromium.googlesource.com/chromium/src/+/refs/tags/155.0.8059.86/components/vector_icons/
3
+
4
+ // Copyright 2015 The Chromium Authors
5
+ //
6
+ // Redistribution and use in source and binary forms, with or without
7
+ // modification, are permitted provided that the following conditions are
8
+ // met:
9
+ //
10
+ // * Redistributions of source code must retain the above copyright
11
+ // notice, this list of conditions and the following disclaimer.
12
+ // * Redistributions in binary form must reproduce the above
13
+ // copyright notice, this list of conditions and the following disclaimer
14
+ // in the documentation and/or other materials provided with the
15
+ // distribution.
16
+ // * Neither the name of Google LLC nor the names of its
17
+ // contributors may be used to endorse or promote products derived from
18
+ // this software without specific prior written permission.
19
+ //
20
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
+ // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
+ // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
+ // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
+ // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
+ // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
+ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
+ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+
32
+ Microsoft Fluent system icons: https://github.com/microsoft/fluentui-system-icons
33
+
34
+ MIT License
35
+
36
+ Copyright (c) 2020 Microsoft Corporation
37
+
38
+ Permission is hereby granted, free of charge, to any person obtaining a copy
39
+ of this software and associated documentation files (the "Software"), to deal
40
+ in the Software without restriction, including without limitation the rights
41
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
42
+ copies of the Software, and to permit persons to whom the Software is
43
+ furnished to do so, subject to the following conditions:
44
+
45
+ The above copyright notice and this permission notice shall be included in all
46
+ copies or substantial portions of the Software.
47
+
48
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
49
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
50
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
51
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
52
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
53
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
54
+ SOFTWARE.
55
+
56
+ */
57
+ /** Chromium 155 (BSD-3-Clause) and Microsoft Fluent system icons (MIT). See browser-icons.LICENSE. */
58
+ export declare const chromiumIcons: {
59
+ back: {
60
+ size: number;
61
+ path: string;
62
+ };
63
+ forward: {
64
+ size: number;
65
+ path: string;
66
+ };
67
+ reload: {
68
+ size: number;
69
+ path: string;
70
+ };
71
+ tune: {
72
+ size: number;
73
+ path: string;
74
+ };
75
+ extensions: {
76
+ size: number;
77
+ path: string;
78
+ };
79
+ profile: {
80
+ size: number;
81
+ path: string;
82
+ };
83
+ "close-tab": {
84
+ size: number;
85
+ path: string;
86
+ };
87
+ "chevron-down": {
88
+ size: number;
89
+ path: string;
90
+ };
91
+ star: {
92
+ size: number;
93
+ path: string;
94
+ };
95
+ };
96
+ export declare const edgeIcons: {
97
+ back: {
98
+ size: number;
99
+ path: string;
100
+ };
101
+ forward: {
102
+ size: number;
103
+ path: string;
104
+ };
105
+ reload: {
106
+ size: number;
107
+ path: string;
108
+ };
109
+ lock: {
110
+ size: number;
111
+ path: string;
112
+ };
113
+ reading: {
114
+ size: number;
115
+ path: string;
116
+ };
117
+ star: {
118
+ size: number;
119
+ path: string;
120
+ };
121
+ favorites: {
122
+ size: number;
123
+ path: string;
124
+ };
125
+ profile: {
126
+ size: number;
127
+ path: string;
128
+ };
129
+ "more-horizontal": {
130
+ size: number;
131
+ path: string;
132
+ };
133
+ "chevron-down": {
134
+ size: number;
135
+ path: string;
136
+ };
137
+ plus: {
138
+ size: number;
139
+ path: string;
140
+ };
141
+ "close-tab": {
142
+ size: number;
143
+ path: string;
144
+ };
145
+ };
146
+ //# sourceMappingURL=native-icon-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-icon-paths.d.ts","sourceRoot":"","sources":["../../DS1/5-visual-kit/native-icon-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDE;AACF,sGAAsG;AACtG,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCzB,CAAC;AACF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDrB,CAAC"}