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

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 (699) hide show
  1. package/DS1/0-face/control.ts +99 -0
  2. package/DS1/0-face/define.ts +5 -0
  3. package/DS1/0-face/device.ts +414 -0
  4. package/DS1/0-face/grid-fit.ts +63 -0
  5. package/DS1/0-face/grid.ts +144 -0
  6. package/DS1/0-face/i18n.ts +1023 -0
  7. package/DS1/0-face/language-routing.ts +135 -0
  8. package/DS1/0-face/language-validator.ts +46 -0
  9. package/DS1/0-face/languages.ts +242 -0
  10. package/DS1/0-face/layout-inspector.ts +184 -0
  11. package/DS1/0-face/preferences.ts +39 -0
  12. package/DS1/0-face/pricing.ts +57 -0
  13. package/DS1/0-face/scaling.ts +25 -0
  14. package/DS1/0-face/shared-words.ts +45 -0
  15. package/DS1/0-face/theme.ts +58 -0
  16. package/DS1/0-face/tooltips.ts +82 -0
  17. package/DS1/0-face/translations/da.json +63 -0
  18. package/DS1/0-face/translations/de.json +63 -0
  19. package/DS1/0-face/translations/en.json +63 -0
  20. package/DS1/0-face/translations/es.json +63 -0
  21. package/DS1/0-face/translations/fi.json +63 -0
  22. package/DS1/0-face/translations/fr.json +63 -0
  23. package/DS1/0-face/translations/is.json +56 -0
  24. package/DS1/0-face/translations/it.json +63 -0
  25. package/DS1/0-face/translations/ja.json +63 -0
  26. package/DS1/0-face/translations/ko.json +63 -0
  27. package/DS1/0-face/translations/nb.json +63 -0
  28. package/DS1/0-face/translations/pt-BR.json +63 -0
  29. package/DS1/0-face/translations/pt.json +63 -0
  30. package/DS1/0-face/translations/sv.json +63 -0
  31. package/DS1/0-face/translations/zh.json +63 -0
  32. package/DS1/0-face/translations-format.ts +216 -0
  33. package/DS1/1-root/component-appearance.css +32 -0
  34. package/DS1/1-root/component-metrics.css +21 -0
  35. package/DS1/1-root/component-tokens.css +90 -0
  36. package/DS1/1-root/controls.css +261 -0
  37. package/DS1/1-root/fonts/GT-America-Compressed-Regular.woff2 +0 -0
  38. package/DS1/1-root/fonts/GT-America-Standard-Medium.woff2 +0 -0
  39. package/DS1/1-root/fonts/GT-America-Standard-Regular.woff2 +0 -0
  40. package/DS1/1-root/fonts/GT-Canon-M-Standard-Medium-Trial.woff2 +0 -0
  41. package/DS1/1-root/fonts/Inter-Arrows.woff2 +0 -0
  42. package/DS1/1-root/fonts/Inter-LICENSE.md +7 -0
  43. package/DS1/1-root/fonts/Iosevka-LICENSE.md +7 -0
  44. package/DS1/1-root/fonts/Iosevka-Regular.woff2 +0 -0
  45. package/DS1/1-root/grid.css +31 -0
  46. package/DS1/1-root/one.css +602 -0
  47. package/DS1/1-root/one.semantic.css +683 -0
  48. package/DS1/1-root/palette.ts +91 -0
  49. package/DS1/2-core/ds-avatar.ts +130 -0
  50. package/DS1/2-core/ds-badge.ts +77 -0
  51. package/DS1/2-core/ds-banner.ts +122 -0
  52. package/DS1/2-core/ds-button.ts +163 -0
  53. package/DS1/2-core/ds-card.ts +137 -0
  54. package/DS1/2-core/ds-checkbox.ts +14 -0
  55. package/DS1/2-core/ds-color.ts +32 -0
  56. package/DS1/2-core/ds-composer.ts +182 -0
  57. package/DS1/2-core/ds-cycle.ts +628 -0
  58. package/DS1/2-core/ds-date.ts +24 -0
  59. package/DS1/2-core/ds-file-picker.ts +83 -0
  60. package/DS1/2-core/ds-gap.ts +34 -0
  61. package/DS1/2-core/ds-icon.ts +161 -0
  62. package/DS1/2-core/ds-input.ts +518 -0
  63. package/DS1/2-core/ds-language.ts +94 -0
  64. package/DS1/2-core/ds-pagedots.ts +52 -0
  65. package/DS1/2-core/ds-radio.ts +25 -0
  66. package/DS1/2-core/ds-select.ts +44 -0
  67. package/DS1/2-core/ds-split.ts +122 -0
  68. package/DS1/2-core/ds-swatch.ts +20 -0
  69. package/DS1/2-core/ds-switch.ts +13 -0
  70. package/DS1/2-core/ds-text.ts +190 -0
  71. package/DS1/2-core/ds-textarea.ts +136 -0
  72. package/DS1/2-core/ds-token.ts +40 -0
  73. package/DS1/2-core/ds-tooltip.ts +115 -0
  74. package/DS1/2-core/generated/ds-icon-map.ts +583 -0
  75. package/DS1/2-core/generated/icons-extra.ts +243 -0
  76. package/DS1/2-core/generated/icons-immediate.ts +49 -0
  77. package/DS1/2-core/styles/ds-avatar.css +125 -0
  78. package/DS1/2-core/styles/ds-badge.css +26 -0
  79. package/DS1/2-core/styles/ds-banner.css +77 -0
  80. package/DS1/2-core/styles/ds-button-host.css +214 -0
  81. package/DS1/2-core/styles/ds-button.css +131 -0
  82. package/DS1/2-core/styles/ds-checkbox.css +48 -0
  83. package/DS1/2-core/styles/ds-color.css +24 -0
  84. package/DS1/2-core/styles/ds-composer-frame.css +11 -0
  85. package/DS1/2-core/styles/ds-composer.css +55 -0
  86. package/DS1/2-core/styles/ds-cycle.css +18 -0
  87. package/DS1/2-core/styles/ds-date.css +9 -0
  88. package/DS1/2-core/styles/ds-file-picker.css +66 -0
  89. package/DS1/2-core/styles/ds-gap.css +71 -0
  90. package/DS1/2-core/styles/ds-icon.css +44 -0
  91. package/DS1/2-core/styles/ds-input.css +233 -0
  92. package/DS1/2-core/styles/ds-language.css +78 -0
  93. package/DS1/2-core/styles/ds-pagedots.css +31 -0
  94. package/DS1/2-core/styles/ds-radio.css +83 -0
  95. package/DS1/2-core/styles/ds-select.css +95 -0
  96. package/DS1/2-core/styles/ds-split.css +62 -0
  97. package/DS1/2-core/styles/ds-switch.css +50 -0
  98. package/DS1/2-core/styles/ds-text.css +87 -0
  99. package/DS1/2-core/styles/ds-textarea.css +27 -0
  100. package/DS1/2-core/styles/ds-token.css +9 -0
  101. package/DS1/2-core/styles/ds-tooltip.css +37 -0
  102. package/DS1/3-unit/context-trigger.ts +104 -0
  103. package/DS1/3-unit/ds-accordion.ts +120 -0
  104. package/DS1/3-unit/ds-avatar-group.ts +99 -0
  105. package/DS1/3-unit/ds-form.ts +304 -0
  106. package/DS1/3-unit/ds-list.ts +36 -0
  107. package/DS1/3-unit/ds-menu.ts +482 -0
  108. package/DS1/3-unit/ds-row.ts +48 -0
  109. package/DS1/3-unit/ds-table.ts +68 -0
  110. package/DS1/3-unit/ds-tabs.ts +77 -0
  111. package/DS1/3-unit/ds-token-field.ts +127 -0
  112. package/DS1/3-unit/styles/context-trigger.css +6 -0
  113. package/DS1/3-unit/styles/ds-accordion.css +64 -0
  114. package/DS1/3-unit/styles/ds-avatar-group.css +51 -0
  115. package/DS1/3-unit/styles/ds-list.css +26 -0
  116. package/DS1/3-unit/styles/ds-menu.css +97 -0
  117. package/DS1/3-unit/styles/ds-row.css +37 -0
  118. package/DS1/3-unit/styles/ds-table.css +80 -0
  119. package/DS1/3-unit/styles/ds-tabs.css +44 -0
  120. package/DS1/3-unit/styles/ds-token-field.css +11 -0
  121. package/DS1/4-page/ds-container.ts +28 -0
  122. package/DS1/4-page/ds-dialog.ts +331 -0
  123. package/DS1/4-page/ds-grid.ts +74 -0
  124. package/DS1/4-page/ds-layout.ts +949 -0
  125. package/DS1/4-page/ds-panel.ts +38 -0
  126. package/DS1/4-page/email.ts +170 -0
  127. package/DS1/4-page/styles/ds-container.css +35 -0
  128. package/DS1/4-page/styles/ds-dialog.css +94 -0
  129. package/DS1/4-page/styles/ds-grid.css +95 -0
  130. package/DS1/4-page/styles/ds-layout.css +246 -0
  131. package/DS1/4-page/styles/ds-panel.css +31 -0
  132. package/DS1/components.ts +13 -0
  133. package/DS1/index.ts +86 -0
  134. package/DS1/react/accordion.ts +33 -0
  135. package/DS1/react/avatar-group.ts +11 -0
  136. package/DS1/react/avatar.ts +42 -0
  137. package/DS1/react/badge.ts +7 -0
  138. package/DS1/react/button.ts +63 -0
  139. package/DS1/react/choice.ts +64 -0
  140. package/DS1/react/composer.ts +18 -0
  141. package/DS1/react/context-menu.ts +167 -0
  142. package/DS1/react/dialog.ts +102 -0
  143. package/DS1/react/file-picker.ts +34 -0
  144. package/DS1/react/input.ts +184 -0
  145. package/DS1/react/menu.ts +28 -0
  146. package/DS1/react/split.ts +42 -0
  147. package/DS1/react/token-field.ts +32 -0
  148. package/DS1/vite-env.d.ts +13 -0
  149. package/DS1/x-icon/1x.svg +4 -0
  150. package/DS1/x-icon/1xdots.svg +11 -0
  151. package/DS1/x-icon/1xgrid.svg +8 -0
  152. package/DS1/x-icon/1xlines.svg +5 -0
  153. package/DS1/x-icon/2x.svg +4 -0
  154. package/DS1/x-icon/2xdots.svg +18 -0
  155. package/DS1/x-icon/2xgrid-alt-2.svg +9 -0
  156. package/DS1/x-icon/2xgrid-alt-3.svg +8 -0
  157. package/DS1/x-icon/2xgrid-alt.svg +15 -0
  158. package/DS1/x-icon/2xgrid.svg +6 -0
  159. package/DS1/x-icon/2xlines.svg +6 -0
  160. package/DS1/x-icon/4x4.svg +18 -0
  161. package/DS1/x-icon/app.svg +4 -0
  162. package/DS1/x-icon/apple.svg +3 -0
  163. package/DS1/x-icon/archive-alt.svg +4 -0
  164. package/DS1/x-icon/archive.svg +4 -0
  165. package/DS1/x-icon/arrange-archive.svg +1 -0
  166. package/DS1/x-icon/arrange-check.svg +1 -0
  167. package/DS1/x-icon/arrange-chevron.svg +1 -0
  168. package/DS1/x-icon/arrange-connect.svg +1 -0
  169. package/DS1/x-icon/arrange-draft.svg +1 -0
  170. package/DS1/x-icon/arrange-dropdown.svg +1 -0
  171. package/DS1/x-icon/arrange-home.svg +1 -0
  172. package/DS1/x-icon/arrange-link.svg +1 -0
  173. package/DS1/x-icon/arrange-menu.svg +1 -0
  174. package/DS1/x-icon/arrange-more.svg +1 -0
  175. package/DS1/x-icon/arrange-page.svg +1 -0
  176. package/DS1/x-icon/arrange-plus.svg +1 -0
  177. package/DS1/x-icon/arrange-site.svg +1 -0
  178. package/DS1/x-icon/avatar.svg +4 -0
  179. package/DS1/x-icon/badge-bands-3d.svg +1 -0
  180. package/DS1/x-icon/badge-bands.svg +1 -0
  181. package/DS1/x-icon/badge-blue-fan-3d.svg +1 -0
  182. package/DS1/x-icon/badge-blue-fan.svg +1 -0
  183. package/DS1/x-icon/badge-bricks-3d.svg +1 -0
  184. package/DS1/x-icon/badge-bricks.svg +1 -0
  185. package/DS1/x-icon/badge-broken-stripes-3d.svg +1 -0
  186. package/DS1/x-icon/badge-broken-stripes.svg +1 -0
  187. package/DS1/x-icon/badge-checker-3d.svg +1 -0
  188. package/DS1/x-icon/badge-checker.svg +1 -0
  189. package/DS1/x-icon/badge-diamond-3d.svg +1 -0
  190. package/DS1/x-icon/badge-diamond.svg +1 -0
  191. package/DS1/x-icon/badge-fan-3d.svg +1 -0
  192. package/DS1/x-icon/badge-fan-dark-3d.svg +1 -0
  193. package/DS1/x-icon/badge-fan-dark.svg +1 -0
  194. package/DS1/x-icon/badge-fan.svg +1 -0
  195. package/DS1/x-icon/badge-halves-3d.svg +1 -0
  196. package/DS1/x-icon/badge-halves-green-3d.svg +1 -0
  197. package/DS1/x-icon/badge-halves-green.svg +1 -0
  198. package/DS1/x-icon/badge-halves.svg +1 -0
  199. package/DS1/x-icon/badge-red-3d.svg +1 -0
  200. package/DS1/x-icon/badge-red-blue-bricks-3d.svg +1 -0
  201. package/DS1/x-icon/badge-red-blue-bricks.svg +1 -0
  202. package/DS1/x-icon/badge-red.svg +1 -0
  203. package/DS1/x-icon/badge-round-fan-3d.svg +1 -0
  204. package/DS1/x-icon/badge-round-fan.svg +1 -0
  205. package/DS1/x-icon/badge-shard-3d.svg +1 -0
  206. package/DS1/x-icon/badge-shard.svg +1 -0
  207. package/DS1/x-icon/badge-split-circle-3d.svg +1 -0
  208. package/DS1/x-icon/badge-split-circle.svg +1 -0
  209. package/DS1/x-icon/badge-tall-bricks-3d.svg +1 -0
  210. package/DS1/x-icon/badge-tall-bricks.svg +1 -0
  211. package/DS1/x-icon/badge-weave-3d.svg +1 -0
  212. package/DS1/x-icon/badge-weave.svg +1 -0
  213. package/DS1/x-icon/bag.svg +4 -0
  214. package/DS1/x-icon/block-accordion.svg +1 -0
  215. package/DS1/x-icon/block-banner.svg +1 -0
  216. package/DS1/x-icon/block-breadcrumbs.svg +1 -0
  217. package/DS1/x-icon/block-button.svg +1 -0
  218. package/DS1/x-icon/block-divider.svg +1 -0
  219. package/DS1/x-icon/block-forms.svg +1 -0
  220. package/DS1/x-icon/block-group.svg +1 -0
  221. package/DS1/x-icon/block-heading.svg +1 -0
  222. package/DS1/x-icon/block-image.svg +1 -0
  223. package/DS1/x-icon/block-logo-marquee.svg +1 -0
  224. package/DS1/x-icon/block-page-progress.svg +1 -0
  225. package/DS1/x-icon/block-section.svg +1 -0
  226. package/DS1/x-icon/block-table.svg +1 -0
  227. package/DS1/x-icon/block-tabs.svg +1 -0
  228. package/DS1/x-icon/block-text.svg +1 -0
  229. package/DS1/x-icon/bold.svg +3 -0
  230. package/DS1/x-icon/bullet.svg +5 -0
  231. package/DS1/x-icon/calendar.svg +6 -0
  232. package/DS1/x-icon/callout.svg +5 -0
  233. package/DS1/x-icon/camera.svg +5 -0
  234. package/DS1/x-icon/categories.svg +12 -0
  235. package/DS1/x-icon/check-alt.svg +3 -0
  236. package/DS1/x-icon/check.svg +3 -0
  237. package/DS1/x-icon/close.svg +3 -0
  238. package/DS1/x-icon/code-block.svg +4 -0
  239. package/DS1/x-icon/code.svg +3 -0
  240. package/DS1/x-icon/collapse.svg +3 -0
  241. package/DS1/x-icon/color.svg +4 -0
  242. package/DS1/x-icon/column.svg +3 -0
  243. package/DS1/x-icon/comment.svg +3 -0
  244. package/DS1/x-icon/compose.svg +4 -0
  245. package/DS1/x-icon/connect.svg +5 -0
  246. package/DS1/x-icon/content.svg +6 -0
  247. package/DS1/x-icon/default.svg +4 -0
  248. package/DS1/x-icon/delete.svg +5 -0
  249. package/DS1/x-icon/dictate.svg +6 -0
  250. package/DS1/x-icon/divider.svg +3 -0
  251. package/DS1/x-icon/down.svg +3 -0
  252. package/DS1/x-icon/duplicate.svg +8 -0
  253. package/DS1/x-icon/email.svg +3 -0
  254. package/DS1/x-icon/equation.svg +3 -0
  255. package/DS1/x-icon/exercise.svg +3 -0
  256. package/DS1/x-icon/expand.svg +3 -0
  257. package/DS1/x-icon/ezo-accordion-chevron.svg +11 -0
  258. package/DS1/x-icon/ezo-account-close.svg +1 -0
  259. package/DS1/x-icon/ezo-android-screen-archive.svg +4 -0
  260. package/DS1/x-icon/ezo-android-screen-calendar.svg +6 -0
  261. package/DS1/x-icon/ezo-android-screen-camera.svg +5 -0
  262. package/DS1/x-icon/ezo-android-screen-check.svg +3 -0
  263. package/DS1/x-icon/ezo-android-screen-compose.svg +4 -0
  264. package/DS1/x-icon/ezo-android-screen-globe.svg +1 -0
  265. package/DS1/x-icon/ezo-android-screen-lists.svg +3 -0
  266. package/DS1/x-icon/ezo-android-screen-shared.svg +5 -0
  267. package/DS1/x-icon/ezo-android-screen-stats.svg +3 -0
  268. package/DS1/x-icon/ezo-android-screen-store.svg +4 -0
  269. package/DS1/x-icon/ezo-android-screen-views.svg +4 -0
  270. package/DS1/x-icon/ezo-android-screen-work.svg +3 -0
  271. package/DS1/x-icon/ezo-arrow-cursor.svg +8 -0
  272. package/DS1/x-icon/ezo-block-accordion.svg +1 -0
  273. package/DS1/x-icon/ezo-block-divider.svg +1 -0
  274. package/DS1/x-icon/ezo-block-group.svg +1 -0
  275. package/DS1/x-icon/ezo-block-image.svg +1 -0
  276. package/DS1/x-icon/ezo-block-section.svg +1 -0
  277. package/DS1/x-icon/ezo-block-table.svg +1 -0
  278. package/DS1/x-icon/ezo-code.svg +14 -0
  279. package/DS1/x-icon/ezo-down.svg +3 -0
  280. package/DS1/x-icon/ezo-figma-premium-star.svg +5 -0
  281. package/DS1/x-icon/ezo-item-button-complete.svg +4 -0
  282. package/DS1/x-icon/ezo-item-button-header.svg +3 -0
  283. package/DS1/x-icon/ezo-item-button-open.svg +3 -0
  284. package/DS1/x-icon/ezo-item-button-reopen.svg +3 -0
  285. package/DS1/x-icon/ezo-item-button-star.svg +3 -0
  286. package/DS1/x-icon/ezo-item-button-start.svg +3 -0
  287. package/DS1/x-icon/ezo-item-button-unheader.svg +7 -0
  288. package/DS1/x-icon/ezo-item-button-unstar.svg +5 -0
  289. package/DS1/x-icon/ezo-item-star.svg +5 -0
  290. package/DS1/x-icon/ezo-left.svg +3 -0
  291. package/DS1/x-icon/ezo-logo.svg +1 -0
  292. package/DS1/x-icon/ezo-mic.svg +8 -0
  293. package/DS1/x-icon/ezo-move-column.svg +14 -0
  294. package/DS1/x-icon/ezo-move-row.svg +18 -0
  295. package/DS1/x-icon/ezo-navigation-check.svg +1 -0
  296. package/DS1/x-icon/ezo-note-back.svg +5 -0
  297. package/DS1/x-icon/ezo-note-menu-complete.svg +11 -0
  298. package/DS1/x-icon/ezo-note-menu-delete.svg +4 -0
  299. package/DS1/x-icon/ezo-note-menu-duplicate.svg +8 -0
  300. package/DS1/x-icon/ezo-note-menu-note.svg +5 -0
  301. package/DS1/x-icon/ezo-note-menu-page.svg +3 -0
  302. package/DS1/x-icon/ezo-note-menu-star.svg +5 -0
  303. package/DS1/x-icon/ezo-note-menu-start.svg +6 -0
  304. package/DS1/x-icon/ezo-note-menu-stop.svg +6 -0
  305. package/DS1/x-icon/ezo-note-more.svg +7 -0
  306. package/DS1/x-icon/ezo-note-star.svg +5 -0
  307. package/DS1/x-icon/ezo-password-visibility-see.svg +6 -0
  308. package/DS1/x-icon/ezo-password-visibility-unsee.svg +9 -0
  309. package/DS1/x-icon/ezo-pattern-call-to-action.svg +1 -0
  310. package/DS1/x-icon/ezo-play.svg +5 -0
  311. package/DS1/x-icon/ezo-premium-star.svg +5 -0
  312. package/DS1/x-icon/ezo-setting-1xdots.svg +13 -0
  313. package/DS1/x-icon/ezo-setting-1xgrid.svg +10 -0
  314. package/DS1/x-icon/ezo-setting-1xlines.svg +7 -0
  315. package/DS1/x-icon/ezo-setting-2xdots.svg +8 -0
  316. package/DS1/x-icon/ezo-setting-2xgrid.svg +8 -0
  317. package/DS1/x-icon/ezo-setting-2xlines.svg +6 -0
  318. package/DS1/x-icon/ezo-setting-blank.svg +5 -0
  319. package/DS1/x-icon/ezo-store-chevron.svg +1 -0
  320. package/DS1/x-icon/ezo-upgrade-close.svg +5 -0
  321. package/DS1/x-icon/folder.svg +3 -0
  322. package/DS1/x-icon/form.svg +5 -0
  323. package/DS1/x-icon/gallery.svg +3 -0
  324. package/DS1/x-icon/globe.svg +1 -0
  325. package/DS1/x-icon/google.svg +6 -0
  326. package/DS1/x-icon/group-alt-2.svg +3 -0
  327. package/DS1/x-icon/group-alt.svg +7 -0
  328. package/DS1/x-icon/group.svg +3 -0
  329. package/DS1/x-icon/h1.svg +3 -0
  330. package/DS1/x-icon/h2.svg +3 -0
  331. package/DS1/x-icon/h3.svg +3 -0
  332. package/DS1/x-icon/handle.svg +8 -0
  333. package/DS1/x-icon/head.svg +3 -0
  334. package/DS1/x-icon/help-alt.svg +3 -0
  335. package/DS1/x-icon/help.svg +5 -0
  336. package/DS1/x-icon/home.svg +3 -0
  337. package/DS1/x-icon/icon.svg +4 -0
  338. package/DS1/x-icon/image.svg +5 -0
  339. package/DS1/x-icon/in.svg +4 -0
  340. package/DS1/x-icon/indent.svg +4 -0
  341. package/DS1/x-icon/italic.svg +3 -0
  342. package/DS1/x-icon/item.svg +3 -0
  343. package/DS1/x-icon/left.svg +4 -0
  344. package/DS1/x-icon/life.svg +8 -0
  345. package/DS1/x-icon/link.svg +3 -0
  346. package/DS1/x-icon/list-line.svg +3 -0
  347. package/DS1/x-icon/lists.svg +3 -0
  348. package/DS1/x-icon/lock-filled.svg +3 -0
  349. package/DS1/x-icon/lock.svg +3 -0
  350. package/DS1/x-icon/logo-marquee.svg +5 -0
  351. package/DS1/x-icon/loop.svg +6 -0
  352. package/DS1/x-icon/mention.svg +4 -0
  353. package/DS1/x-icon/menu.svg +3 -0
  354. package/DS1/x-icon/mic.svg +5 -0
  355. package/DS1/x-icon/minimize-alt.svg +4 -0
  356. package/DS1/x-icon/minimize.svg +4 -0
  357. package/DS1/x-icon/money.svg +6 -0
  358. package/DS1/x-icon/more.svg +5 -0
  359. package/DS1/x-icon/navigation-check.svg +1 -0
  360. package/DS1/x-icon/note-alt-2.svg +6 -0
  361. package/DS1/x-icon/note-alt.svg +4 -0
  362. package/DS1/x-icon/note-lines.svg +6 -0
  363. package/DS1/x-icon/note.svg +4 -0
  364. package/DS1/x-icon/notifications.svg +3 -0
  365. package/DS1/x-icon/numbered.svg +4 -0
  366. package/DS1/x-icon/open-alt.svg +3 -0
  367. package/DS1/x-icon/open-source.svg +3 -0
  368. package/DS1/x-icon/open.svg +3 -0
  369. package/DS1/x-icon/outdent.svg +4 -0
  370. package/DS1/x-icon/pad.svg +8 -0
  371. package/DS1/x-icon/page-18.svg +3 -0
  372. package/DS1/x-icon/page-alt.svg +3 -0
  373. package/DS1/x-icon/page-note.svg +1 -0
  374. package/DS1/x-icon/page.svg +3 -0
  375. package/DS1/x-icon/panel.svg +4 -0
  376. package/DS1/x-icon/pattern-call-to-action.svg +1 -0
  377. package/DS1/x-icon/pattern-card.svg +1 -0
  378. package/DS1/x-icon/pattern-feature.svg +1 -0
  379. package/DS1/x-icon/pattern-hero.svg +1 -0
  380. package/DS1/x-icon/pen.svg +4 -0
  381. package/DS1/x-icon/play-alt.svg +3 -0
  382. package/DS1/x-icon/plus.svg +3 -0
  383. package/DS1/x-icon/product-sources.json +2557 -0
  384. package/DS1/x-icon/quote.svg +3 -0
  385. package/DS1/x-icon/redo.svg +3 -0
  386. package/DS1/x-icon/relationships.svg +3 -0
  387. package/DS1/x-icon/rewind-30-alt.svg +4 -0
  388. package/DS1/x-icon/rewind-30.svg +5 -0
  389. package/DS1/x-icon/rewind.svg +5 -0
  390. package/DS1/x-icon/right.svg +3 -0
  391. package/DS1/x-icon/row.svg +3 -0
  392. package/DS1/x-icon/school.svg +4 -0
  393. package/DS1/x-icon/sdown.svg +3 -0
  394. package/DS1/x-icon/search-30.svg +4 -0
  395. package/DS1/x-icon/search.svg +3 -0
  396. package/DS1/x-icon/see-30.svg +4 -0
  397. package/DS1/x-icon/see.svg +4 -0
  398. package/DS1/x-icon/settings.svg +8 -0
  399. package/DS1/x-icon/shared.svg +5 -0
  400. package/DS1/x-icon/slash.svg +3 -0
  401. package/DS1/x-icon/star-alt-2.svg +3 -0
  402. package/DS1/x-icon/star-alt.svg +3 -0
  403. package/DS1/x-icon/star.svg +3 -0
  404. package/DS1/x-icon/stats.svg +3 -0
  405. package/DS1/x-icon/status-alt.svg +11 -0
  406. package/DS1/x-icon/status-filled.svg +26 -0
  407. package/DS1/x-icon/status.svg +10 -0
  408. package/DS1/x-icon/store.svg +4 -0
  409. package/DS1/x-icon/strike.svg +3 -0
  410. package/DS1/x-icon/sup.svg +3 -0
  411. package/DS1/x-icon/table.svg +4 -0
  412. package/DS1/x-icon/template.svg +4 -0
  413. package/DS1/x-icon/templates.svg +4 -0
  414. package/DS1/x-icon/text.svg +3 -0
  415. package/DS1/x-icon/title.svg +3 -0
  416. package/DS1/x-icon/titlestyle.svg +11 -0
  417. package/DS1/x-icon/todo.svg +5 -0
  418. package/DS1/x-icon/toggle.svg +4 -0
  419. package/DS1/x-icon/triangle.svg +3 -0
  420. package/DS1/x-icon/underline.svg +3 -0
  421. package/DS1/x-icon/undo.svg +3 -0
  422. package/DS1/x-icon/ungroup.svg +4 -0
  423. package/DS1/x-icon/unhead.svg +7 -0
  424. package/DS1/x-icon/unicon.svg +6 -0
  425. package/DS1/x-icon/unlock.svg +3 -0
  426. package/DS1/x-icon/unmic.svg +6 -0
  427. package/DS1/x-icon/unsee.svg +5 -0
  428. package/DS1/x-icon/unstar.svg +5 -0
  429. package/DS1/x-icon/untitle.svg +7 -0
  430. package/DS1/x-icon/up-right.svg +3 -0
  431. package/DS1/x-icon/up.svg +3 -0
  432. package/DS1/x-icon/views.svg +4 -0
  433. package/DS1/x-icon/warning.svg +3 -0
  434. package/DS1/x-icon/work.svg +3 -0
  435. package/LICENSE +21 -0
  436. package/README.md +240 -2
  437. package/dist/0-face/control.d.ts +24 -0
  438. package/dist/0-face/control.d.ts.map +1 -0
  439. package/dist/0-face/control.js +117 -0
  440. package/dist/0-face/define.d.ts +3 -0
  441. package/dist/0-face/define.d.ts.map +1 -0
  442. package/dist/0-face/define.js +7 -0
  443. package/dist/0-face/device.d.ts +71 -0
  444. package/dist/0-face/device.d.ts.map +1 -0
  445. package/dist/0-face/device.js +318 -0
  446. package/dist/0-face/grid-fit.d.ts +3 -0
  447. package/dist/0-face/grid-fit.d.ts.map +1 -0
  448. package/dist/0-face/grid-fit.js +73 -0
  449. package/dist/0-face/grid.d.ts +3 -0
  450. package/dist/0-face/grid.d.ts.map +1 -0
  451. package/dist/0-face/grid.js +144 -0
  452. package/dist/0-face/i18n.d.ts +138 -0
  453. package/dist/0-face/i18n.d.ts.map +1 -0
  454. package/dist/0-face/i18n.js +725 -0
  455. package/dist/0-face/language-routing.d.ts +47 -0
  456. package/dist/0-face/language-routing.d.ts.map +1 -0
  457. package/dist/0-face/language-routing.js +91 -0
  458. package/dist/0-face/language-validator.d.ts +11 -0
  459. package/dist/0-face/language-validator.d.ts.map +1 -0
  460. package/dist/0-face/language-validator.js +31 -0
  461. package/dist/0-face/languages.d.ts +53 -0
  462. package/dist/0-face/languages.d.ts.map +1 -0
  463. package/dist/0-face/languages.js +192 -0
  464. package/dist/0-face/layout-inspector.d.ts +6 -0
  465. package/dist/0-face/layout-inspector.d.ts.map +1 -0
  466. package/dist/0-face/layout-inspector.js +197 -0
  467. package/dist/0-face/preferences.d.ts +20 -0
  468. package/dist/0-face/preferences.d.ts.map +1 -0
  469. package/dist/0-face/preferences.js +19 -0
  470. package/dist/0-face/pricing.d.ts +15 -0
  471. package/dist/0-face/pricing.d.ts.map +1 -0
  472. package/dist/0-face/pricing.js +46 -0
  473. package/dist/0-face/scaling.d.ts +10 -0
  474. package/dist/0-face/scaling.d.ts.map +1 -0
  475. package/dist/0-face/scaling.js +14 -0
  476. package/dist/0-face/shared-words.d.ts +14 -0
  477. package/dist/0-face/shared-words.d.ts.map +1 -0
  478. package/dist/0-face/shared-words.js +32 -0
  479. package/dist/0-face/theme.d.ts +4 -0
  480. package/dist/0-face/theme.d.ts.map +1 -0
  481. package/dist/0-face/theme.js +48 -0
  482. package/dist/0-face/tooltips.d.ts +8 -0
  483. package/dist/0-face/tooltips.d.ts.map +1 -0
  484. package/dist/0-face/tooltips.js +90 -0
  485. package/dist/0-face/translations/da.json +63 -0
  486. package/dist/0-face/translations/de.json +63 -0
  487. package/dist/0-face/translations/en.json +63 -0
  488. package/dist/0-face/translations/es.json +63 -0
  489. package/dist/0-face/translations/fi.json +63 -0
  490. package/dist/0-face/translations/fr.json +63 -0
  491. package/dist/0-face/translations/is.json +56 -0
  492. package/dist/0-face/translations/it.json +63 -0
  493. package/dist/0-face/translations/ja.json +63 -0
  494. package/dist/0-face/translations/ko.json +63 -0
  495. package/dist/0-face/translations/nb.json +63 -0
  496. package/dist/0-face/translations/pt-BR.json +63 -0
  497. package/dist/0-face/translations/pt.json +63 -0
  498. package/dist/0-face/translations/sv.json +63 -0
  499. package/dist/0-face/translations/zh.json +63 -0
  500. package/dist/0-face/translations-format.d.ts +62 -0
  501. package/dist/0-face/translations-format.d.ts.map +1 -0
  502. package/dist/0-face/translations-format.js +159 -0
  503. package/dist/1-root/palette.d.ts +31 -0
  504. package/dist/1-root/palette.d.ts.map +1 -0
  505. package/dist/1-root/palette.js +83 -0
  506. package/dist/2-core/ds-avatar.d.ts +82 -0
  507. package/dist/2-core/ds-avatar.d.ts.map +1 -0
  508. package/dist/2-core/ds-avatar.js +102 -0
  509. package/dist/2-core/ds-badge.d.ts +33 -0
  510. package/dist/2-core/ds-badge.d.ts.map +1 -0
  511. package/dist/2-core/ds-badge.js +77 -0
  512. package/dist/2-core/ds-banner.d.ts +68 -0
  513. package/dist/2-core/ds-banner.d.ts.map +1 -0
  514. package/dist/2-core/ds-banner.js +98 -0
  515. package/dist/2-core/ds-button.d.ts +102 -0
  516. package/dist/2-core/ds-button.d.ts.map +1 -0
  517. package/dist/2-core/ds-button.js +133 -0
  518. package/dist/2-core/ds-card.d.ts +39 -0
  519. package/dist/2-core/ds-card.d.ts.map +1 -0
  520. package/dist/2-core/ds-card.js +119 -0
  521. package/dist/2-core/ds-checkbox.d.ts +13 -0
  522. package/dist/2-core/ds-checkbox.d.ts.map +1 -0
  523. package/dist/2-core/ds-checkbox.js +11 -0
  524. package/dist/2-core/ds-color.d.ts +15 -0
  525. package/dist/2-core/ds-color.d.ts.map +1 -0
  526. package/dist/2-core/ds-color.js +30 -0
  527. package/dist/2-core/ds-composer.d.ts +69 -0
  528. package/dist/2-core/ds-composer.d.ts.map +1 -0
  529. package/dist/2-core/ds-composer.js +183 -0
  530. package/dist/2-core/ds-cycle.d.ts +85 -0
  531. package/dist/2-core/ds-cycle.d.ts.map +1 -0
  532. package/dist/2-core/ds-cycle.js +497 -0
  533. package/dist/2-core/ds-date.d.ts +16 -0
  534. package/dist/2-core/ds-date.d.ts.map +1 -0
  535. package/dist/2-core/ds-date.js +15 -0
  536. package/dist/2-core/ds-file-picker.d.ts +65 -0
  537. package/dist/2-core/ds-file-picker.d.ts.map +1 -0
  538. package/dist/2-core/ds-file-picker.js +80 -0
  539. package/dist/2-core/ds-gap.d.ts +27 -0
  540. package/dist/2-core/ds-gap.d.ts.map +1 -0
  541. package/dist/2-core/ds-gap.js +22 -0
  542. package/dist/2-core/ds-icon.d.ts +58 -0
  543. package/dist/2-core/ds-icon.d.ts.map +1 -0
  544. package/dist/2-core/ds-icon.js +128 -0
  545. package/dist/2-core/ds-input.d.ts +97 -0
  546. package/dist/2-core/ds-input.d.ts.map +1 -0
  547. package/dist/2-core/ds-input.js +429 -0
  548. package/dist/2-core/ds-language.d.ts +75 -0
  549. package/dist/2-core/ds-language.d.ts.map +1 -0
  550. package/dist/2-core/ds-language.js +74 -0
  551. package/dist/2-core/ds-pagedots.d.ts +32 -0
  552. package/dist/2-core/ds-pagedots.d.ts.map +1 -0
  553. package/dist/2-core/ds-pagedots.js +36 -0
  554. package/dist/2-core/ds-radio.d.ts +35 -0
  555. package/dist/2-core/ds-radio.d.ts.map +1 -0
  556. package/dist/2-core/ds-radio.js +19 -0
  557. package/dist/2-core/ds-select.d.ts +30 -0
  558. package/dist/2-core/ds-select.d.ts.map +1 -0
  559. package/dist/2-core/ds-select.js +45 -0
  560. package/dist/2-core/ds-split.d.ts +75 -0
  561. package/dist/2-core/ds-split.d.ts.map +1 -0
  562. package/dist/2-core/ds-split.js +101 -0
  563. package/dist/2-core/ds-swatch.d.ts +24 -0
  564. package/dist/2-core/ds-swatch.d.ts.map +1 -0
  565. package/dist/2-core/ds-swatch.js +16 -0
  566. package/dist/2-core/ds-switch.d.ts +13 -0
  567. package/dist/2-core/ds-switch.d.ts.map +1 -0
  568. package/dist/2-core/ds-switch.js +10 -0
  569. package/dist/2-core/ds-text.d.ts +75 -0
  570. package/dist/2-core/ds-text.d.ts.map +1 -0
  571. package/dist/2-core/ds-text.js +142 -0
  572. package/dist/2-core/ds-textarea.d.ts +46 -0
  573. package/dist/2-core/ds-textarea.d.ts.map +1 -0
  574. package/dist/2-core/ds-textarea.js +121 -0
  575. package/dist/2-core/ds-token.d.ts +48 -0
  576. package/dist/2-core/ds-token.d.ts.map +1 -0
  577. package/dist/2-core/ds-token.js +44 -0
  578. package/dist/2-core/ds-tooltip.d.ts +48 -0
  579. package/dist/2-core/ds-tooltip.d.ts.map +1 -0
  580. package/dist/2-core/ds-tooltip.js +99 -0
  581. package/dist/2-core/generated/ds-icon-map.d.ts +295 -0
  582. package/dist/2-core/generated/ds-icon-map.d.ts.map +1 -0
  583. package/dist/2-core/generated/ds-icon-map.js +579 -0
  584. package/dist/2-core/generated/icons-extra.d.ts +2 -0
  585. package/dist/2-core/generated/icons-extra.d.ts.map +1 -0
  586. package/dist/2-core/generated/icons-extra.js +243 -0
  587. package/dist/2-core/generated/icons-immediate.d.ts +3 -0
  588. package/dist/2-core/generated/icons-immediate.d.ts.map +1 -0
  589. package/dist/2-core/generated/icons-immediate.js +49 -0
  590. package/dist/3-unit/context-trigger.d.ts +22 -0
  591. package/dist/3-unit/context-trigger.d.ts.map +1 -0
  592. package/dist/3-unit/context-trigger.js +130 -0
  593. package/dist/3-unit/ds-accordion.d.ts +55 -0
  594. package/dist/3-unit/ds-accordion.d.ts.map +1 -0
  595. package/dist/3-unit/ds-accordion.js +105 -0
  596. package/dist/3-unit/ds-avatar-group.d.ts +40 -0
  597. package/dist/3-unit/ds-avatar-group.d.ts.map +1 -0
  598. package/dist/3-unit/ds-avatar-group.js +84 -0
  599. package/dist/3-unit/ds-form.d.ts +70 -0
  600. package/dist/3-unit/ds-form.d.ts.map +1 -0
  601. package/dist/3-unit/ds-form.js +232 -0
  602. package/dist/3-unit/ds-list.d.ts +25 -0
  603. package/dist/3-unit/ds-list.d.ts.map +1 -0
  604. package/dist/3-unit/ds-list.js +25 -0
  605. package/dist/3-unit/ds-menu.d.ts +162 -0
  606. package/dist/3-unit/ds-menu.d.ts.map +1 -0
  607. package/dist/3-unit/ds-menu.js +607 -0
  608. package/dist/3-unit/ds-row.d.ts +43 -0
  609. package/dist/3-unit/ds-row.d.ts.map +1 -0
  610. package/dist/3-unit/ds-row.js +32 -0
  611. package/dist/3-unit/ds-table.d.ts +33 -0
  612. package/dist/3-unit/ds-table.d.ts.map +1 -0
  613. package/dist/3-unit/ds-table.js +43 -0
  614. package/dist/3-unit/ds-tabs.d.ts +50 -0
  615. package/dist/3-unit/ds-tabs.d.ts.map +1 -0
  616. package/dist/3-unit/ds-tabs.js +64 -0
  617. package/dist/3-unit/ds-token-field.d.ts +64 -0
  618. package/dist/3-unit/ds-token-field.d.ts.map +1 -0
  619. package/dist/3-unit/ds-token-field.js +184 -0
  620. package/dist/4-page/ds-container.d.ts +17 -0
  621. package/dist/4-page/ds-container.d.ts.map +1 -0
  622. package/dist/4-page/ds-container.js +11 -0
  623. package/dist/4-page/ds-dialog.d.ts +105 -0
  624. package/dist/4-page/ds-dialog.d.ts.map +1 -0
  625. package/dist/4-page/ds-dialog.js +358 -0
  626. package/dist/4-page/ds-grid.d.ts +28 -0
  627. package/dist/4-page/ds-grid.d.ts.map +1 -0
  628. package/dist/4-page/ds-grid.js +49 -0
  629. package/dist/4-page/ds-layout.d.ts +31 -0
  630. package/dist/4-page/ds-layout.d.ts.map +1 -0
  631. package/dist/4-page/ds-layout.js +930 -0
  632. package/dist/4-page/ds-panel.d.ts +26 -0
  633. package/dist/4-page/ds-panel.d.ts.map +1 -0
  634. package/dist/4-page/ds-panel.js +29 -0
  635. package/dist/4-page/email.d.ts +49 -0
  636. package/dist/4-page/email.d.ts.map +1 -0
  637. package/dist/4-page/email.js +134 -0
  638. package/dist/components.d.ts +14 -0
  639. package/dist/components.d.ts.map +1 -0
  640. package/dist/components.js +13 -0
  641. package/dist/design-system-1.bundle.js +9115 -0
  642. package/dist/design-system-1.bundle.js.map +1 -0
  643. package/dist/design-system-1.bundle.min.js +6879 -0
  644. package/dist/design-system-1.bundle.min.js.map +1 -0
  645. package/dist/design-system-1.css +2 -0
  646. package/dist/icons-extra-BoAACA4X.js +944 -0
  647. package/dist/icons-extra-BoAACA4X.js.map +1 -0
  648. package/dist/icons-extra-DlxTo_Y4.js +247 -0
  649. package/dist/icons-extra-DlxTo_Y4.js.map +1 -0
  650. package/dist/index.d.ts +57 -0
  651. package/dist/index.d.ts.map +1 -0
  652. package/dist/index.js +73 -0
  653. package/dist/react/accordion.d.ts +21 -0
  654. package/dist/react/accordion.d.ts.map +1 -0
  655. package/dist/react/accordion.js +30 -0
  656. package/dist/react/avatar-group.d.ts +6 -0
  657. package/dist/react/avatar-group.d.ts.map +1 -0
  658. package/dist/react/avatar-group.js +5 -0
  659. package/dist/react/avatar.d.ts +13 -0
  660. package/dist/react/avatar.d.ts.map +1 -0
  661. package/dist/react/avatar.js +18 -0
  662. package/dist/react/badge.d.ts +11 -0
  663. package/dist/react/badge.d.ts.map +1 -0
  664. package/dist/react/badge.js +4 -0
  665. package/dist/react/button.d.ts +13 -0
  666. package/dist/react/button.d.ts.map +1 -0
  667. package/dist/react/button.js +37 -0
  668. package/dist/react/choice.d.ts +43 -0
  669. package/dist/react/choice.d.ts.map +1 -0
  670. package/dist/react/choice.js +32 -0
  671. package/dist/react/composer.d.ts +17 -0
  672. package/dist/react/composer.d.ts.map +1 -0
  673. package/dist/react/composer.js +8 -0
  674. package/dist/react/context-menu.d.ts +657 -0
  675. package/dist/react/context-menu.d.ts.map +1 -0
  676. package/dist/react/context-menu.js +133 -0
  677. package/dist/react/dialog.d.ts +1173 -0
  678. package/dist/react/dialog.d.ts.map +1 -0
  679. package/dist/react/dialog.js +79 -0
  680. package/dist/react/file-picker.d.ts +29 -0
  681. package/dist/react/file-picker.d.ts.map +1 -0
  682. package/dist/react/file-picker.js +17 -0
  683. package/dist/react/input.d.ts +35 -0
  684. package/dist/react/input.d.ts.map +1 -0
  685. package/dist/react/input.js +128 -0
  686. package/dist/react/menu.d.ts +37 -0
  687. package/dist/react/menu.d.ts.map +1 -0
  688. package/dist/react/menu.js +31 -0
  689. package/dist/react/split.d.ts +15 -0
  690. package/dist/react/split.d.ts.map +1 -0
  691. package/dist/react/split.js +32 -0
  692. package/dist/react/token-field.d.ts +36 -0
  693. package/dist/react/token-field.d.ts.map +1 -0
  694. package/dist/react/token-field.js +33 -0
  695. package/dist/shared-words-Cg6Phtx0.js +915 -0
  696. package/dist/shared-words-Cg6Phtx0.js.map +1 -0
  697. package/dist/shared-words-Ddz0yUEF.js +933 -0
  698. package/dist/shared-words-Ddz0yUEF.js.map +1 -0
  699. package/package.json +149 -3
package/README.md CHANGED
@@ -1,3 +1,241 @@
1
- # Temporary Holding Version
1
+ # Design system 1 (0.3.0-alpha.13)
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ A plug and play design system
4
+
5
+ > A component-based design system built with Lit that provides reusable UI components with built-in theming, internationalization, and accessibility features.
6
+
7
+ **Design system 1** is a comprehensive modern design system that provides a set of reusable UI components built with Web Components via Lit. Available via CDN or npm.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ # Using Vite+ (recommended)
13
+ vp add @0001-labs/design-system-1@alpha
14
+
15
+ # Using npm
16
+ npm install @0001-labs/design-system-1@alpha
17
+
18
+ # Using yarn
19
+ yarn add @0001-labs/design-system-1@alpha
20
+
21
+ ```
22
+
23
+ **Note**: The package is being renamed from `ds-one` to `design-system-1`. The installation commands and CDN URLs below target the new name and will work after its first npm publication.
24
+
25
+ ## Quick Start
26
+
27
+ ### Classless CSS usage
28
+
29
+ Load the separate semantic stylesheet and write ordinary HTML. Elements such as
30
+ `button`, `input`, `section`, headings, tables, and code blocks are styled
31
+ directly, so no component classes or JavaScript are required.
32
+
33
+ ```html
34
+ <link
35
+ rel="stylesheet"
36
+ href="https://cdn.jsdelivr.net/npm/@0001-labs/design-system-1@alpha/DS1/1-root/one.semantic.css"
37
+ />
38
+
39
+ <section>
40
+ <h2>Welcome</h2>
41
+ <p>A native HTML interface styled by Design system 1.</p>
42
+ <label for="email">Email</label>
43
+ <input id="email" type="email" placeholder="you@example.com" />
44
+ <button type="button">Get started</button>
45
+ </section>
46
+ ```
47
+
48
+ The complete file is organized with comments for Root, Reset, Layout,
49
+ Typography, Buttons, Forms, Sections, Tables, Code, Feedback, and Motion. It is
50
+ an additional distribution: the existing `one.css` stylesheet and Lit Web
51
+ Components remain unchanged.
52
+
53
+ ### Web Components via CDN
54
+
55
+ ```html
56
+ <!DOCTYPE html>
57
+ <html>
58
+ <head>
59
+ <!-- CSS -->
60
+ <link
61
+ rel="stylesheet"
62
+ href="https://cdn.jsdelivr.net/npm/@0001-labs/design-system-1@alpha/DS1/1-root/one.css"
63
+ />
64
+ <!-- Bundle -->
65
+ <script type="module">
66
+ import "https://cdn.jsdelivr.net/npm/@0001-labs/design-system-1@alpha/dist/design-system-1.bundle.min.js";
67
+ </script>
68
+ </head>
69
+ <body>
70
+ <ds-button variant="primary" text="Get Started"></ds-button>
71
+ <ds-text text="Welcome"></ds-text>
72
+ </body>
73
+ </html>
74
+ ```
75
+
76
+ ### NPM Usage
77
+
78
+ ```tsx
79
+ import "design-system-1/styles";
80
+ import "design-system-1";
81
+ ```
82
+
83
+ For the classless version, import only the semantic stylesheet:
84
+
85
+ ```ts
86
+ import "design-system-1/DS1/1-root/one.semantic.css";
87
+ ```
88
+
89
+ ## Source snapshots in products
90
+
91
+ Products can select shared Lit components without loading the full system's
92
+ page, device or theme setup. `sync.exports.mjs` says what a product may copy:
93
+ `languages`, `components`, `email` and `icons`. 0001's products copy them with
94
+ Sync 1, naming what they take in their `sync.json`:
95
+
96
+ ```json
97
+ { "sources": { "Design system 1": { "components": { "to": "src/design", "components": ["button", "text", "row"] } } } }
98
+ ```
99
+
100
+ Import the generated `components.ts` and `1-root/component-tokens.css` in the
101
+ consumer. The copy carries the relative dependency graph
102
+ (`scripts/component-graph.mjs`), including shared languages and SVG maps, and a
103
+ `components-manifest.json` for the adoption report. Sync 1 records every file's
104
+ hash in the product's `sync.lock.json`, and `sync1 check` fails on missing
105
+ files or local drift. Files the copy did not write stay owned by the consumer.
106
+ All component edits happen here, then consumers sync.
107
+
108
+ Components use scoped `--ds-*` tokens so an embedded document can keep its own
109
+ scale and theme. A product may configure those tokens at its surface.
110
+ `ds-button control="host"` makes the custom element the accessible control
111
+ for React event handlers and roles; the default keeps a native shadow button.
112
+ `ds-text literal` preserves renderer-owned light DOM children; the default
113
+ looks up translation keys. `ds-panel` provides header and footer slots around
114
+ its body. The shared native-control sheet serves elements that need native
115
+ form or third-party focus semantics.
116
+
117
+ `ds-tooltip literal text="…"` accepts product-translated copy; omit `literal`
118
+ for a shared translation key. It labels its slotted control, supports top and
119
+ bottom placement, and dismisses on Escape. `ds-tabs` owns arrow, Home and End
120
+ navigation for its tab controls; the product handles their clicks to select
121
+ the corresponding content. Set `role="group"` for standalone filter choices.
122
+ Host buttons accept `icon` and `trailing` slots for glyphs and counts.
123
+
124
+ Reload the page after changing registered custom-element classes during
125
+ development; the browser defines each element once per document.
126
+
127
+ ## Documentation
128
+
129
+ See the full documentation for Design system 1 at: [**designsystem1.com**](https://designsystem1.com/)
130
+
131
+ The Astro + Starlight site lives in `website/`. Run `vp run docs:dev` locally;
132
+ see the [documentation contributor guide](website/README.md) for build and authoring instructions.
133
+
134
+ The site uses Astro and Starlight. Run `vp run docs:dev` locally; see the
135
+ [documentation authoring guide](website/README.md) and [issue list](docs/issue-list.md).
136
+
137
+ ## Design system 1 app
138
+
139
+ The repository includes a React-based component workbench for refining semantic
140
+ elements one at a time. The right panel always shows the complete
141
+ `one.semantic.css` file and updates its root variables as spacing and theme
142
+ controls change. Exports contain plain HTML and require no JavaScript runtime.
143
+
144
+ ```bash
145
+ vp run app:dev
146
+ ```
147
+
148
+ The app and documentation belong to this single project. The documentation lives
149
+ at `/`, and the app lives at `/app/` on `designsystem1.com`. Both are built into
150
+ `website/dist` and deployed together to the Cloudflare Worker named `designsystem1`.
151
+
152
+ Build the complete website locally:
153
+
154
+ ```bash
155
+ vp run site:build
156
+ ```
157
+
158
+ Deploy the complete website from the repository root:
159
+
160
+ ```bash
161
+ vp run deploy
162
+ ```
163
+
164
+ The `app:deploy`, `docs:deploy`, and subproject `deploy` commands all use this same
165
+ combined release. Cloudflare settings are defined in the root `wrangler.jsonc`.
166
+ The same Worker serves published CSS at `/ds1/*` and authenticated publishing
167
+ at `/api/artifacts/*`, using the existing R2 library bucket. Convex remains the
168
+ backend for accounts and library metadata. All Cloudflare deployment commands
169
+ release this single Worker. The legacy `dsone.dev/*` route also belongs to this
170
+ Worker: documentation redirects to the new domain, while existing `/ds1/*`
171
+ stylesheet URLs remain served directly. The public workbench is available at
172
+ `/app/` and `/app/playground`.
173
+
174
+ The existing Convex deployment is still `aromatic-lapwing-453` (development).
175
+ Its publishing URLs point to `designsystem1.com`; development login-link capture
176
+ is disabled. Account sign-in requires an email provider before it can be used
177
+ on the public site. The workbench does not require an account.
178
+
179
+ ## Features
180
+
181
+ ### Internationalization
182
+
183
+ - **Language keys**: Add a `translations.json` to your project and everything is translatable with the cycle type language button
184
+ - **Multi-language**: Automatically switches language based on browser language settings
185
+
186
+ ### Core Components
187
+
188
+ - **Web Components**: Built with Lit for maximum compatibility
189
+ - **Responsive design**: Mobile-first approach with scaling factor
190
+ - **Theme system**: CSS custom properties for easy customization
191
+
192
+ ### Completed Features
193
+
194
+ - ✅ Core component library (ds-button, ds-text, ds-icon, etc.)
195
+ - ✅ Theming system with accent colors
196
+ - ✅ Internationalization with language keys
197
+ - ✅ Responsive design with mobile scaling
198
+ - ✅ CDN delivery via jsDelivr
199
+ - ✅ NPM package published
200
+
201
+ ### In Progress
202
+
203
+ - 🚧 Starlight documentation coverage and manual review ([issue list](docs/issue-list.md))
204
+ - 🚧 Additional component variants and states defined in Figma
205
+
206
+ ## Architecture
207
+
208
+ ```
209
+ Design system 1/
210
+ ├── dist/ # Built files for NPM
211
+ ├── DS1/
212
+ │ ├── 0-face/ # Utilities for device detection, internationalization,
213
+ │ │ # localStorage preferences, pricing and theme
214
+ │ ├── 1-root/ # Core styles, fonts, and design tokens
215
+ │ │ # (everything as CSS variables)
216
+ │ ├── 2-core/ # Core components (banner, buttons, text, cycle,
217
+ │ │ # date, icon, input, tooltip)
218
+ │ ├── 3-unit/ # Composite components (list, row, table)
219
+ │ ├── 4-page/ # Page-level components for layout (layout, grid)
220
+ │ └── x-icon/ # SVG icon library
221
+ ├── app/ # React workbench and account/library screens at /app/
222
+ ├── website/ # Documentation at /; combined site output in website/dist
223
+ ├── convex/ # Backend, authentication, libraries, and publishing actions
224
+ ├── services/ # Asset-serving and publishing routes
225
+ ├── packages/ # Shared CSS validation package
226
+ ├── e2e/ # End-to-end checks
227
+ ├── tests/ # Project checks
228
+ └── wrangler.jsonc # Shared website deployment configuration
229
+
230
+ ```
231
+
232
+ ## License
233
+
234
+ MIT © [Design system 1](https://github.com/0001-labs/Design-system-1)
235
+
236
+ ## 🔗 Links
237
+
238
+ - [**Website**](https://designsystem1.com/) - Official website
239
+ - [**GitHub**](https://github.com/0001-labs/Design-system-1) - Source code and issues
240
+ - [**NPM Package**](https://www.npmjs.com/package/design-system-1) - Install with `@alpha` tag
241
+ - [**CDN**](https://cdn.jsdelivr.net/npm/@0001-labs/design-system-1@alpha/) - Direct browser usage
@@ -0,0 +1,24 @@
1
+ import { LitElement, type PropertyDeclarations } from "lit";
2
+ /**
3
+ * The element is the control.
4
+ *
5
+ * A host control carries the role,
6
+ * takes focus, answers Enter and Space, and reports itself disabled. React's
7
+ * handlers, the accessibility tree and Testing Library then all meet one node
8
+ * in the light DOM, and there is no second interactive element nested inside
9
+ * the first.
10
+ *
11
+ * The role defaults to `button`; an element that is a tab, an option or a menu
12
+ * item says so with its own `role` attribute, which is left as written.
13
+ */
14
+ export declare abstract class Control extends LitElement {
15
+ #private;
16
+ static properties: PropertyDeclarations;
17
+ protected get hostControl(): boolean;
18
+ protected syncControl(): void;
19
+ get disabled(): boolean;
20
+ set disabled(value: boolean);
21
+ constructor();
22
+ connectedCallback(): void;
23
+ }
24
+ //# sourceMappingURL=control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../DS1/0-face/control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,oBAAoB,EAAE,MAAM,KAAK,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,8BAAsB,OAAQ,SAAQ,UAAU;;IAC5C,MAAM,CAAC,UAAU,EAAE,oBAAoB,CAKrC;IAIF,SAAS,KAAK,WAAW,IAAI,OAAO,CAAiB;IACrD,SAAS,CAAC,WAAW,IAAI,IAAI;IAE7B,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAO1B;;IAWD,iBAAiB,IAAI,IAAI;CAiD5B"}
@@ -0,0 +1,117 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
+ if (kind === "m") throw new TypeError("Private method is not writable");
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
+ };
12
+ var _Control_instances, _Control_disabled, _Control_enabledTabIndex, _Control_syncDisabled, _Control_onClick, _Control_onKeyDown, _Control_onKeyUp;
13
+ import { LitElement } from "lit";
14
+ /**
15
+ * The element is the control.
16
+ *
17
+ * A host control carries the role,
18
+ * takes focus, answers Enter and Space, and reports itself disabled. React's
19
+ * handlers, the accessibility tree and Testing Library then all meet one node
20
+ * in the light DOM, and there is no second interactive element nested inside
21
+ * the first.
22
+ *
23
+ * The role defaults to `button`; an element that is a tab, an option or a menu
24
+ * item says so with its own `role` attribute, which is left as written.
25
+ */
26
+ export class Control extends LitElement {
27
+ get hostControl() { return true; }
28
+ syncControl() { if (this.isConnected)
29
+ __classPrivateFieldGet(this, _Control_instances, "m", _Control_syncDisabled).call(this); }
30
+ get disabled() {
31
+ return __classPrivateFieldGet(this, _Control_disabled, "f");
32
+ }
33
+ set disabled(value) {
34
+ const old = __classPrivateFieldGet(this, _Control_disabled, "f");
35
+ __classPrivateFieldSet(this, _Control_disabled, Boolean(value), "f");
36
+ // An element may not gain attributes before it is in a document; React
37
+ // sets properties first, and connectedCallback catches up.
38
+ if (this.isConnected)
39
+ __classPrivateFieldGet(this, _Control_instances, "m", _Control_syncDisabled).call(this);
40
+ this.requestUpdate("disabled", old);
41
+ }
42
+ constructor() {
43
+ super();
44
+ _Control_instances.add(this);
45
+ _Control_disabled.set(this, false);
46
+ _Control_enabledTabIndex.set(this, void 0);
47
+ _Control_onClick.set(this, (event) => {
48
+ if (!this.disabled)
49
+ return;
50
+ event.preventDefault();
51
+ event.stopImmediatePropagation();
52
+ });
53
+ _Control_onKeyDown.set(this, (event) => {
54
+ if (!this.hostControl || this.disabled || event.target !== this)
55
+ return;
56
+ if (event.key === "Enter") {
57
+ event.preventDefault();
58
+ this.click();
59
+ }
60
+ else if (event.key === " ") {
61
+ // Space clicks on release, as a native button does; stop the page from
62
+ // scrolling in the meantime.
63
+ event.preventDefault();
64
+ }
65
+ });
66
+ _Control_onKeyUp.set(this, (event) => {
67
+ if (!this.hostControl || this.disabled || event.target !== this)
68
+ return;
69
+ if (event.key === " ") {
70
+ event.preventDefault();
71
+ this.click();
72
+ }
73
+ });
74
+ this.addEventListener("keydown", __classPrivateFieldGet(this, _Control_onKeyDown, "f"));
75
+ this.addEventListener("keyup", __classPrivateFieldGet(this, _Control_onKeyUp, "f"));
76
+ // Registered on the element itself so it runs before the click reaches
77
+ // React's root listener.
78
+ this.addEventListener("click", __classPrivateFieldGet(this, _Control_onClick, "f"), { capture: true });
79
+ }
80
+ connectedCallback() {
81
+ super.connectedCallback();
82
+ if (this.hostControl && !this.hasAttribute("role"))
83
+ this.setAttribute("role", "button");
84
+ __classPrivateFieldGet(this, _Control_instances, "m", _Control_syncDisabled).call(this);
85
+ }
86
+ }
87
+ _Control_disabled = new WeakMap(), _Control_enabledTabIndex = new WeakMap(), _Control_onClick = new WeakMap(), _Control_onKeyDown = new WeakMap(), _Control_onKeyUp = new WeakMap(), _Control_instances = new WeakSet(), _Control_syncDisabled = function _Control_syncDisabled() {
88
+ this.toggleAttribute("disabled", __classPrivateFieldGet(this, _Control_disabled, "f"));
89
+ if (!this.hostControl)
90
+ return;
91
+ if (!this.hasAttribute("role"))
92
+ this.setAttribute("role", "button");
93
+ if (__classPrivateFieldGet(this, _Control_disabled, "f")) {
94
+ if (__classPrivateFieldGet(this, _Control_enabledTabIndex, "f") === undefined)
95
+ __classPrivateFieldSet(this, _Control_enabledTabIndex, this.getAttribute("tabindex"), "f");
96
+ this.setAttribute("aria-disabled", "true");
97
+ this.setAttribute("tabindex", "-1");
98
+ }
99
+ else {
100
+ this.removeAttribute("aria-disabled");
101
+ if (__classPrivateFieldGet(this, _Control_enabledTabIndex, "f") !== undefined) {
102
+ if (__classPrivateFieldGet(this, _Control_enabledTabIndex, "f") === null)
103
+ this.setAttribute("tabindex", "0");
104
+ else
105
+ this.setAttribute("tabindex", __classPrivateFieldGet(this, _Control_enabledTabIndex, "f"));
106
+ __classPrivateFieldSet(this, _Control_enabledTabIndex, undefined, "f");
107
+ }
108
+ else if (!this.hasAttribute("tabindex"))
109
+ this.setAttribute("tabindex", "0");
110
+ }
111
+ };
112
+ Control.properties = {
113
+ // The accessor is our own: disabled changes what the element does and
114
+ // what assistive technology hears, so it reaches the DOM at once rather
115
+ // than on Lit's next update.
116
+ disabled: { type: Boolean, reflect: true, noAccessor: true },
117
+ };
@@ -0,0 +1,3 @@
1
+ /** Register a shared element once; a fresh page picks up changes during HMR. */
2
+ export declare function define(name: string, element: CustomElementConstructor): void;
3
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../DS1/0-face/define.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAG5E"}
@@ -0,0 +1,7 @@
1
+ /** Register a shared element once; a fresh page picks up changes during HMR. */
2
+ export function define(name, element) {
3
+ if (typeof customElements === "undefined")
4
+ return;
5
+ if (!customElements.get(name))
6
+ customElements.define(name, element);
7
+ }
@@ -0,0 +1,71 @@
1
+ import { type ScalingConfig } from "./scaling";
2
+ export type { ScalingConfig, ScalingMode } from "./scaling";
3
+ export type DeviceType = "mobile" | "tablet" | "desktop";
4
+ export interface DeviceInfo {
5
+ isMobile: boolean;
6
+ isTablet: boolean;
7
+ isDesktop: boolean;
8
+ isTouchCapable: boolean;
9
+ deviceType: DeviceType;
10
+ userAgent: string;
11
+ screenWidth: number;
12
+ screenHeight: number;
13
+ }
14
+ /** Reactive scaling factor signal */
15
+ export declare const scalingFactor: import("@lit-labs/signals").Signal.State<number>;
16
+ /** Current scaling configuration */
17
+ export declare const scalingConfig: import("@lit-labs/signals").Signal.State<ScalingConfig>;
18
+ /**
19
+ * Comprehensive mobile device detection
20
+ * Combines user agent detection, touch capability, and viewport size
21
+ */
22
+ export declare function detectMobileDevice(): boolean;
23
+ /**
24
+ * Get detailed device information
25
+ */
26
+ export declare function getDeviceInfo(): DeviceInfo;
27
+ /**
28
+ * Calculate the scaling factor based on viewport width
29
+ * @param viewportWidth - Current viewport width in pixels
30
+ * @param config - Scaling configuration
31
+ * @returns The calculated scaling factor
32
+ */
33
+ export declare function calculateScalingFactor(viewportWidth: number, config?: ScalingConfig): number;
34
+ /**
35
+ * Set the scaling configuration
36
+ * @param config - Partial scaling configuration to apply
37
+ */
38
+ export declare function setScalingConfig(config: Partial<ScalingConfig>): void;
39
+ /**
40
+ * Update the scaling factor based on current viewport
41
+ * Desktop always uses factor 1; mobile uses computed factor
42
+ */
43
+ export declare function updateScalingFactor(): void;
44
+ /**
45
+ * Get the current scaling factor
46
+ * @returns The current scaling factor
47
+ */
48
+ export declare function getScalingFactor(): number;
49
+ /**
50
+ * Convert a design pixel value to scaled pixels
51
+ * @param designPx - The design pixel value (based on 280px width)
52
+ * @returns The scaled pixel value
53
+ */
54
+ export declare function scale(designPx: number): number;
55
+ /**
56
+ * Convert a scaled pixel value back to design pixels
57
+ * @param scaledPx - The scaled pixel value
58
+ * @returns The design pixel value
59
+ */
60
+ export declare function unscale(scaledPx: number): number;
61
+ /**
62
+ * Initialize device detection and scaling
63
+ * Sets CSS classes (.mobile/.desktop) and --sf custom property
64
+ */
65
+ export declare function initDeviceDetection(): DeviceInfo;
66
+ /**
67
+ * Disable double-tap to zoom in the browser (app-like behavior)
68
+ * Prevents all zoom gestures including double-tap and pinch-to-zoom
69
+ */
70
+ export declare function applike(): void;
71
+ //# sourceMappingURL=device.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../DS1/0-face/device.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/G,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAM5D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qCAAqC;AACrC,eAAO,MAAM,aAAa,kDAAoB,CAAC;AAE/C,oCAAoC;AACpC,eAAO,MAAM,aAAa,yDAA8C,CAAC;AAMzE;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CA0B5C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,CA6B1C;AAMD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,aAAmC,GAC1C,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CASrE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAiC1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGhD;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,UAAU,CA8ChD;AAiCD;;;GAGG;AACH,wBAAgB,OAAO,IAAI,IAAI,CA4H9B"}