ds-one 0.2.0-alpha.3 → 0.2.5-alpha.10

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 (271) hide show
  1. package/DS1/0-face/{2025-04-23-device.ts → device.ts} +10 -6
  2. package/DS1/{utils/language.ts → 0-face/i18n.ts} +236 -92
  3. package/DS1/0-face/preferences.ts +23 -0
  4. package/DS1/0-face/pricing.ts +57 -0
  5. package/DS1/1-root/fonts/Iosevka-Regular.woff2 +0 -0
  6. package/DS1/1-root/one.css +76 -107
  7. package/DS1/2-core/ds-banner.ts +3 -0
  8. package/DS1/2-core/ds-button.ts +13 -16
  9. package/DS1/2-core/ds-cycle.ts +84 -39
  10. package/DS1/2-core/{ds-year.ts → ds-date.ts} +5 -6
  11. package/DS1/2-core/ds-icon.ts +4 -4
  12. package/DS1/2-core/ds-input.ts +1 -0
  13. package/DS1/2-core/ds-text.ts +27 -3
  14. package/DS1/2-core/ds-tooltip.ts +9 -14
  15. package/DS1/3-unit/ds-list.ts +7 -0
  16. package/DS1/3-unit/ds-row.ts +4 -5
  17. package/DS1/3-unit/ds-table.ts +5 -6
  18. package/DS1/4-page/ds-grid.ts +9 -59
  19. package/DS1/4-page/ds-layout.ts +123 -18
  20. package/DS1/index.ts +39 -37
  21. package/LICENSE +1 -1
  22. package/README.md +43 -133
  23. package/dist/0-face/{2025-04-23-device.d.ts → device.d.ts} +1 -1
  24. package/dist/0-face/device.d.ts.map +1 -0
  25. package/dist/0-face/{2025-04-23-device.js → device.js} +7 -3
  26. package/dist/{utils/language.d.ts → 0-face/i18n.d.ts} +1 -3
  27. package/dist/0-face/i18n.d.ts.map +1 -0
  28. package/dist/{utils/language.js → 0-face/i18n.js} +178 -76
  29. package/dist/0-face/preferences.d.ts +9 -0
  30. package/dist/0-face/preferences.d.ts.map +1 -0
  31. package/dist/0-face/preferences.js +14 -0
  32. package/dist/0-face/pricing.d.ts +15 -0
  33. package/dist/0-face/pricing.d.ts.map +1 -0
  34. package/dist/0-face/pricing.js +46 -0
  35. package/dist/0-face/theme.d.ts.map +1 -0
  36. package/dist/2-core/ds-banner.d.ts +1 -0
  37. package/dist/2-core/ds-banner.d.ts.map +1 -0
  38. package/dist/2-core/ds-banner.js +2 -0
  39. package/dist/2-core/ds-button.d.ts +2 -7
  40. package/dist/2-core/ds-button.d.ts.map +1 -1
  41. package/dist/2-core/ds-button.js +12 -14
  42. package/dist/2-core/ds-cycle.d.ts +2 -0
  43. package/dist/2-core/ds-cycle.d.ts.map +1 -1
  44. package/dist/2-core/ds-cycle.js +80 -34
  45. package/dist/2-core/{ds-year.d.ts → ds-date.d.ts} +4 -4
  46. package/dist/2-core/ds-date.d.ts.map +1 -0
  47. package/dist/2-core/{ds-year.js → ds-date.js} +5 -5
  48. package/dist/2-core/ds-icon.js +4 -4
  49. package/dist/2-core/ds-input.d.ts +1 -0
  50. package/dist/2-core/ds-input.d.ts.map +1 -0
  51. package/dist/2-core/ds-input.js +1 -0
  52. package/dist/2-core/ds-text.d.ts +2 -0
  53. package/dist/2-core/ds-text.d.ts.map +1 -1
  54. package/dist/2-core/ds-text.js +26 -3
  55. package/dist/2-core/ds-tooltip.d.ts +1 -1
  56. package/dist/2-core/ds-tooltip.d.ts.map +1 -1
  57. package/dist/2-core/ds-tooltip.js +9 -13
  58. package/dist/3-unit/ds-list.d.ts.map +1 -1
  59. package/dist/3-unit/ds-list.js +3 -0
  60. package/dist/3-unit/{ds-doublenav.d.ts → ds-portfolio-doublenav.d.ts} +4 -4
  61. package/dist/3-unit/ds-portfolio-doublenav.d.ts.map +1 -0
  62. package/dist/3-unit/{ds-doublenav.js → ds-portfolio-doublenav.js} +4 -4
  63. package/dist/3-unit/{ds-panel.d.ts → ds-portfolio-panel.d.ts} +3 -3
  64. package/dist/3-unit/ds-portfolio-panel.d.ts.map +1 -0
  65. package/dist/3-unit/{ds-panel.js → ds-portfolio-panel.js} +3 -3
  66. package/dist/3-unit/{ds-singlenav.d.ts → ds-portfolio-singlenav.d.ts} +4 -4
  67. package/dist/3-unit/ds-portfolio-singlenav.d.ts.map +1 -0
  68. package/dist/3-unit/{ds-singlenav.js → ds-portfolio-singlenav.js} +7 -7
  69. package/dist/3-unit/ds-row.js +4 -4
  70. package/dist/3-unit/ds-table.d.ts.map +1 -1
  71. package/dist/3-unit/ds-table.js +5 -6
  72. package/dist/4-page/ds-grid.d.ts +0 -7
  73. package/dist/4-page/ds-grid.d.ts.map +1 -1
  74. package/dist/4-page/ds-grid.js +9 -54
  75. package/dist/4-page/ds-layout.d.ts +1 -1
  76. package/dist/4-page/ds-layout.d.ts.map +1 -1
  77. package/dist/4-page/ds-layout.js +126 -17
  78. package/dist/ds-one.bundle.js +2515 -4132
  79. package/dist/ds-one.bundle.js.map +4 -4
  80. package/dist/ds-one.bundle.min.js +245 -787
  81. package/dist/ds-one.bundle.min.js.map +4 -4
  82. package/dist/index.d.ts +16 -26
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +32 -34
  85. package/package.json +8 -9
  86. package/DS1/0-face/2025-04-23-language.ts +0 -4
  87. package/DS1/2-core/ds-article.ts +0 -454
  88. package/DS1/2-core/ds-attributes.ts +0 -155
  89. package/DS1/2-core/ds-downloadcv.ts +0 -146
  90. package/DS1/2-core/ds-header.ts +0 -82
  91. package/DS1/2-core/ds-home.ts +0 -168
  92. package/DS1/2-core/ds-link.ts +0 -121
  93. package/DS1/2-core/ds-markdown.ts +0 -252
  94. package/DS1/2-core/ds-price.ts +0 -108
  95. package/DS1/2-core/ds-squarecircle.ts +0 -155
  96. package/DS1/2-core/ds-title.ts +0 -139
  97. package/DS1/2-core/ds-viewtoggle.ts +0 -83
  98. package/DS1/3-unit/ds-doublenav.ts +0 -106
  99. package/DS1/3-unit/ds-panel.ts +0 -27
  100. package/DS1/3-unit/ds-singlenav.ts +0 -79
  101. package/DS1/utils/cdn-loader.ts +0 -208
  102. package/DS1/utils/keys.json +0 -41
  103. package/DS1/utils/pricing.ts +0 -24
  104. package/DS1/utils/scroll.ts +0 -184
  105. package/DS1/utils/settings.ts +0 -23
  106. package/DS1/utils/viewMode.ts +0 -55
  107. package/dist/0-face/2025-04-23-device.d.ts.map +0 -1
  108. package/dist/0-face/2025-04-23-language.d.ts +0 -1
  109. package/dist/0-face/2025-04-23-language.d.ts.map +0 -1
  110. package/dist/0-face/2025-04-23-language.js +0 -3
  111. package/dist/2-core/article-v1.d.ts +0 -129
  112. package/dist/2-core/article-v1.d.ts.map +0 -1
  113. package/dist/2-core/article-v1.js +0 -361
  114. package/dist/2-core/attributes-v1.d.ts +0 -47
  115. package/dist/2-core/attributes-v1.d.ts.map +0 -1
  116. package/dist/2-core/attributes-v1.js +0 -128
  117. package/dist/2-core/cycle-v1.d.ts +0 -66
  118. package/dist/2-core/cycle-v1.d.ts.map +0 -1
  119. package/dist/2-core/cycle-v1.js +0 -586
  120. package/dist/2-core/downloadcv-v1.d.ts +0 -58
  121. package/dist/2-core/downloadcv-v1.d.ts.map +0 -1
  122. package/dist/2-core/downloadcv-v1.js +0 -119
  123. package/dist/2-core/ds-article.d.ts +0 -129
  124. package/dist/2-core/ds-article.d.ts.map +0 -1
  125. package/dist/2-core/ds-article.js +0 -361
  126. package/dist/2-core/ds-attributes.d.ts +0 -47
  127. package/dist/2-core/ds-attributes.d.ts.map +0 -1
  128. package/dist/2-core/ds-attributes.js +0 -128
  129. package/dist/2-core/ds-button.figma.d.ts +0 -2
  130. package/dist/2-core/ds-button.figma.d.ts.map +0 -1
  131. package/dist/2-core/ds-button.figma.js +0 -6
  132. package/dist/2-core/ds-downloadcv.d.ts +0 -58
  133. package/dist/2-core/ds-downloadcv.d.ts.map +0 -1
  134. package/dist/2-core/ds-downloadcv.js +0 -119
  135. package/dist/2-core/ds-header.d.ts +0 -28
  136. package/dist/2-core/ds-header.d.ts.map +0 -1
  137. package/dist/2-core/ds-header.js +0 -66
  138. package/dist/2-core/ds-home.d.ts +0 -26
  139. package/dist/2-core/ds-home.d.ts.map +0 -1
  140. package/dist/2-core/ds-home.js +0 -148
  141. package/dist/2-core/ds-link.d.ts +0 -35
  142. package/dist/2-core/ds-link.d.ts.map +0 -1
  143. package/dist/2-core/ds-link.js +0 -85
  144. package/dist/2-core/ds-markdown.d.ts +0 -7
  145. package/dist/2-core/ds-markdown.d.ts.map +0 -1
  146. package/dist/2-core/ds-markdown.js +0 -240
  147. package/dist/2-core/ds-price.d.ts +0 -46
  148. package/dist/2-core/ds-price.d.ts.map +0 -1
  149. package/dist/2-core/ds-price.js +0 -72
  150. package/dist/2-core/ds-squarecircle.d.ts +0 -50
  151. package/dist/2-core/ds-squarecircle.d.ts.map +0 -1
  152. package/dist/2-core/ds-squarecircle.js +0 -133
  153. package/dist/2-core/ds-title.d.ts +0 -50
  154. package/dist/2-core/ds-title.d.ts.map +0 -1
  155. package/dist/2-core/ds-title.js +0 -103
  156. package/dist/2-core/ds-viewtoggle.d.ts +0 -27
  157. package/dist/2-core/ds-viewtoggle.d.ts.map +0 -1
  158. package/dist/2-core/ds-viewtoggle.js +0 -49
  159. package/dist/2-core/ds-year.d.ts.map +0 -1
  160. package/dist/2-core/header-v1.d.ts +0 -28
  161. package/dist/2-core/header-v1.d.ts.map +0 -1
  162. package/dist/2-core/header-v1.js +0 -66
  163. package/dist/2-core/home-v1.d.ts +0 -26
  164. package/dist/2-core/home-v1.d.ts.map +0 -1
  165. package/dist/2-core/home-v1.js +0 -148
  166. package/dist/2-core/icon-v1.d.ts +0 -28
  167. package/dist/2-core/icon-v1.d.ts.map +0 -1
  168. package/dist/2-core/icon-v1.js +0 -297
  169. package/dist/2-core/link-v1.d.ts +0 -35
  170. package/dist/2-core/link-v1.d.ts.map +0 -1
  171. package/dist/2-core/link-v1.js +0 -85
  172. package/dist/2-core/markdown-v1.d.ts +0 -7
  173. package/dist/2-core/markdown-v1.d.ts.map +0 -1
  174. package/dist/2-core/markdown-v1.js +0 -240
  175. package/dist/2-core/price-v1.d.ts +0 -46
  176. package/dist/2-core/price-v1.d.ts.map +0 -1
  177. package/dist/2-core/price-v1.js +0 -72
  178. package/dist/2-core/squarecircle-v1.d.ts +0 -50
  179. package/dist/2-core/squarecircle-v1.d.ts.map +0 -1
  180. package/dist/2-core/squarecircle-v1.js +0 -133
  181. package/dist/2-core/text-v1.d.ts +0 -48
  182. package/dist/2-core/text-v1.d.ts.map +0 -1
  183. package/dist/2-core/text-v1.js +0 -83
  184. package/dist/2-core/title-v1.d.ts +0 -50
  185. package/dist/2-core/title-v1.d.ts.map +0 -1
  186. package/dist/2-core/title-v1.js +0 -103
  187. package/dist/2-core/tooltip-v1.d.ts +0 -39
  188. package/dist/2-core/tooltip-v1.d.ts.map +0 -1
  189. package/dist/2-core/tooltip-v1.js +0 -145
  190. package/dist/2-core/viewtoggle-v1.d.ts +0 -27
  191. package/dist/2-core/viewtoggle-v1.d.ts.map +0 -1
  192. package/dist/2-core/viewtoggle-v1.js +0 -49
  193. package/dist/2-core/year-v1.d.ts +0 -16
  194. package/dist/2-core/year-v1.d.ts.map +0 -1
  195. package/dist/2-core/year-v1.js +0 -21
  196. package/dist/3-unit/ds-doublenav.d.ts.map +0 -1
  197. package/dist/3-unit/ds-panel.d.ts.map +0 -1
  198. package/dist/3-unit/ds-singlenav.d.ts.map +0 -1
  199. package/dist/utils/cdn-loader.d.ts +0 -19
  200. package/dist/utils/cdn-loader.d.ts.map +0 -1
  201. package/dist/utils/cdn-loader.js +0 -142
  202. package/dist/utils/keys.json +0 -41
  203. package/dist/utils/language.d.ts.map +0 -1
  204. package/dist/utils/pricing.d.ts +0 -8
  205. package/dist/utils/pricing.d.ts.map +0 -1
  206. package/dist/utils/pricing.js +0 -14
  207. package/dist/utils/scroll.d.ts +0 -34
  208. package/dist/utils/scroll.d.ts.map +0 -1
  209. package/dist/utils/scroll.js +0 -140
  210. package/dist/utils/settings.d.ts +0 -9
  211. package/dist/utils/settings.d.ts.map +0 -1
  212. package/dist/utils/settings.js +0 -14
  213. package/dist/utils/theme.d.ts.map +0 -1
  214. package/dist/utils/viewMode.d.ts +0 -14
  215. package/dist/utils/viewMode.d.ts.map +0 -1
  216. package/dist/utils/viewMode.js +0 -46
  217. /package/DS1/{utils → 0-face}/theme.ts +0 -0
  218. /package/DS1/{x Icon → x-icon}/1x.svg +0 -0
  219. /package/DS1/{x Icon → x-icon}/1xdots.svg +0 -0
  220. /package/DS1/{x Icon → x-icon}/1xgrid.svg +0 -0
  221. /package/DS1/{x Icon → x-icon}/1xlines.svg +0 -0
  222. /package/DS1/{x Icon → x-icon}/2x.svg +0 -0
  223. /package/DS1/{x Icon → x-icon}/2xdots.svg +0 -0
  224. /package/DS1/{x Icon → x-icon}/2xgrid.svg +0 -0
  225. /package/DS1/{x Icon → x-icon}/2xlines.svg +0 -0
  226. /package/DS1/{x Icon → x-icon}/big.svg +0 -0
  227. /package/DS1/{x Icon → x-icon}/blank.svg +0 -0
  228. /package/DS1/{x Icon → x-icon}/check.svg +0 -0
  229. /package/DS1/{x Icon → x-icon}/close.svg +0 -0
  230. /package/DS1/{x Icon → x-icon}/collapse.svg +0 -0
  231. /package/DS1/{x Icon → x-icon}/color.svg +0 -0
  232. /package/DS1/{x Icon → x-icon}/column.svg +0 -0
  233. /package/DS1/{x Icon → x-icon}/default.svg +0 -0
  234. /package/DS1/{x Icon → x-icon}/delete.svg +0 -0
  235. /package/DS1/{x Icon → x-icon}/do.svg +0 -0
  236. /package/DS1/{x Icon → x-icon}/down.svg +0 -0
  237. /package/DS1/{x Icon → x-icon}/duplicate.svg +0 -0
  238. /package/DS1/{x Icon → x-icon}/email.svg +0 -0
  239. /package/DS1/{x Icon → x-icon}/expand.svg +0 -0
  240. /package/DS1/{x Icon → x-icon}/gallery.svg +0 -0
  241. /package/DS1/{x Icon → x-icon}/group.svg +0 -0
  242. /package/DS1/{x Icon → x-icon}/head.svg +0 -0
  243. /package/DS1/{x Icon → x-icon}/icon.svg +0 -0
  244. /package/DS1/{x Icon → x-icon}/left.svg +0 -0
  245. /package/DS1/{x Icon → x-icon}/lock.svg +0 -0
  246. /package/DS1/{x Icon → x-icon}/mic.svg +0 -0
  247. /package/DS1/{x Icon → x-icon}/minimize.svg +0 -0
  248. /package/DS1/{x Icon → x-icon}/more.svg +0 -0
  249. /package/DS1/{x Icon → x-icon}/note.svg +0 -0
  250. /package/DS1/{x Icon → x-icon}/open.svg +0 -0
  251. /package/DS1/{x Icon → x-icon}/page.svg +0 -0
  252. /package/DS1/{x Icon → x-icon}/plus.svg +0 -0
  253. /package/DS1/{x Icon → x-icon}/rewind.svg +0 -0
  254. /package/DS1/{x Icon → x-icon}/right.svg +0 -0
  255. /package/DS1/{x Icon/row..svg → x-icon/row.svg} +0 -0
  256. /package/DS1/{x Icon → x-icon}/search.svg +0 -0
  257. /package/DS1/{x Icon → x-icon}/see.svg +0 -0
  258. /package/DS1/{x Icon → x-icon}/star.svg +0 -0
  259. /package/DS1/{x Icon → x-icon}/title.svg +0 -0
  260. /package/DS1/{x Icon → x-icon}/undo.svg +0 -0
  261. /package/DS1/{x Icon → x-icon}/ungroup.svg +0 -0
  262. /package/DS1/{x Icon → x-icon}/unhead.svg +0 -0
  263. /package/DS1/{x Icon → x-icon}/unicon.svg +0 -0
  264. /package/DS1/{x Icon → x-icon}/unlock.svg +0 -0
  265. /package/DS1/{x Icon → x-icon}/unmic.svg +0 -0
  266. /package/DS1/{x Icon → x-icon}/unsee.svg +0 -0
  267. /package/DS1/{x Icon → x-icon}/unstar.svg +0 -0
  268. /package/DS1/{x Icon → x-icon}/untitle.svg +0 -0
  269. /package/DS1/{x Icon → x-icon}/up.svg +0 -0
  270. /package/dist/{utils → 0-face}/theme.d.ts +0 -0
  271. /package/dist/{utils → 0-face}/theme.js +0 -0
@@ -1,79 +1,93 @@
1
- /* version 0.2.0-alpha.3 */
1
+ /* version 0.2.5-alpha.10 */
2
+
3
+ @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200");
4
+
5
+ @font-face {
6
+ font-family: GT-America-Standard-Regular;
7
+ src: url("./fonts/GT-America-Standard-Regular.woff2") format("woff2");
8
+ }
9
+
10
+ @font-face {
11
+ font-family: GT-America-Standard-Medium;
12
+ src: url("./fonts/GT-America-Standard-Medium.woff2") format("woff2");
13
+ }
14
+
15
+ @font-face {
16
+ font-family: GT-America-Compressed-Regular;
17
+ src: url("./fonts/GT-America-Compressed-Regular.woff2") format("woff2");
18
+ }
2
19
 
3
20
  input {
4
21
  padding: 0;
5
22
  }
6
23
 
7
24
  :root {
8
- /* colors */
25
+ /* DS one colors */
26
+
27
+ /* Base/[color] */
28
+
9
29
  --black: #2a2a2a;
10
30
  --white: rgb(255 255 255);
11
31
  --slate: #bdbdbd;
12
32
  --slate-light: #e6e6e6;
13
33
  --slate-dark: #3c3c3c;
14
- --light-green: #99ff73;
15
- --green: #979441;
16
- --light-blue: #ccccff;
17
- --blue: #594dff;
34
+
35
+ /* Accent/[color] */
36
+ --tuned-red: #ff5f5f;
18
37
  --pink: #f5aad1;
19
- --red: #ff5f5f;
38
+ --sharp-blue: #594dff;
39
+ --zenith-blue: #ccccff;
40
+ --every-green: #979441;
41
+ --apple-green: #99ff73;
42
+ --chartreuse-green: #ccff4d;
43
+ --yellow: #eaff00;
20
44
  --orange: #fec20d;
21
- --yellow: #ffff00;
22
-
23
- /* accent color - defaults to blue but can be changed by user */
24
- --accent-color: var(--light-green);
25
-
26
- /* DS1 Documentation Colors */
27
- --ds1-docs-header-bg: light-dark(#f5f5f5, #232323);
28
- --ds1-docs-header-border: light-dark(#e0e0e0, #000000);
29
- --ds1-docs-header-text: light-dark(#2a2a2a, #f1f1f1);
30
- --ds1-docs-header-text-secondary: light-dark(#666666, #cdcdcd);
31
- --ds1-docs-accent-green: #72ff3d;
32
- --ds1-docs-sidebar-bg: light-dark(#fafafa, #1f1f1f);
33
- --ds1-docs-content-bg: light-dark(#ffffff, #171717);
34
- --ds1-docs-search-bg: light-dark(#f0f0f0, #171717);
35
- --ds1-docs-divider: light-dark(#e0e0e0, #000000);
45
+
46
+ /* 4-page component colors */
47
+
48
+ /* ds-grid color */
49
+ --grid-color: light-dark(var(--grid-color-light), var(--grid-color-dark));
50
+ --grid-color-light: var(--slate);
51
+ --grid-color-dark: var(--white);
36
52
 
37
53
  /* typefaces */
38
- --typeface: "GT-America-Standard-Regular";
54
+ --typeface-regular: "GT-America-Standard-Regular";
39
55
  --typeface-medium: "GT-America-Standard-Medium";
40
56
  --typeface-compressed: "GT-America-Compressed-Regular";
41
- --typeface-japanese: "Noto Sans JP";
57
+ --typeface-regular-jp: "Noto Sans JP";
42
58
  --typeface-mono: "Iosevka";
43
- --type-size-default: calc(14px * var(--scaling-factor));
44
- --type-size-small: calc(10px * var(--scaling-factor));
59
+
60
+ --type-size-default: calc(14px * var(--sf));
61
+ --type-size-small: calc(10px * var(--sf));
45
62
  --type-weight-default: 500;
46
- --type-lineheight-default: calc(15px * var(--scaling-factor));
47
- --type-size-heading: calc(15px * var(--scaling-factor));
63
+ --type-lineheight-default: calc(15px * var(--sf));
64
+ --type-size-heading: calc(15px * var(--sf));
48
65
  --type-weight-bold: 500;
49
66
 
50
- --type-size-japanese-default: calc(12px * var(--scaling-factor));
51
- --type-size-japanese-heading: calc(14px * var(--scaling-factor));
52
- --type-lineheight-japanese-default: calc(17px * var(--scaling-factor));
67
+ --type-size-japanese-default: calc(12px * var(--sf));
68
+ --type-size-japanese-heading: calc(14px * var(--sf));
69
+ --type-lineheight-japanese-default: calc(17px * var(--sf));
53
70
  --type-weight-product: var(--type-weight-bold);
54
71
  --type-weight-heading: var(--type-weight-bold);
55
72
  --type-size-book: 9px;
56
73
  --type-weight-book: 400;
57
74
  --type-lineheight-book: 15px;
58
75
 
59
- /* ezo-scaling-factor */
60
- --scaling-factor: var(--scaling-factor-mobile);
61
- --scaling-factor-mobile: 1;
62
-
63
76
  /* size */
64
77
  --outline-stroke: 1px solid light-dark(var(--black), var(--slate-dark));
65
- --outline-stroke-mobile: calc(1px * var(--scaling-factor)) solid
78
+ --outline-stroke-mobile: calc(1px * var(--sf)) solid
66
79
  light-dark(var(--black), var(--slate-dark));
67
- --item-width: calc(79px * var(--scaling-factor));
68
- --item-height: calc(19px * var(--scaling-factor));
69
- --margin-correction: calc(1px * var(--scaling-factor));
80
+ --item-width: calc(79px * var(--sf));
81
+ --item-height: calc(19px * var(--sf));
82
+ --margin-correction: calc(1px * var(--sf));
70
83
 
71
- /* sizes */
84
+ /* SIZING */
72
85
 
73
86
  /* main unit */
74
87
  --1: 20px;
75
88
  /* bigger sizes */
76
89
  --2: calc(var(--1) * 2);
90
+ --3: calc(var(--1) * 3);
77
91
  --4: calc(var(--1) * 4);
78
92
 
79
93
  /* smaller sizes */
@@ -81,7 +95,7 @@ input {
81
95
  --025: calc(var(--1) * 0.25);
82
96
  --08: calc(var(--1) * 0.8);
83
97
 
84
- /* ezo-button */
98
+ /* button */
85
99
  --button-background-color-primary: var(--accent-color);
86
100
  --button-background-color-secondary: light-dark(
87
101
  var(--slate-light),
@@ -93,11 +107,11 @@ input {
93
107
  var(--slate-light)
94
108
  );
95
109
 
96
- /* ezo-text-color */
110
+ /* text-color */
97
111
  --text-color-primary: light-dark(var(--black), var(--white));
98
112
  --text-color-dimmed: light-dark(var(--slate), var(--slate-light));
99
113
 
100
- /* ezo-icon */
114
+ /* icon colors */
101
115
  --icon-background: light-dark(var(--slate-light), var(--slate-dark));
102
116
  --icon-color: light-dark(var(--black), var(--white));
103
117
 
@@ -132,32 +146,6 @@ input {
132
146
  navigation: auto;
133
147
  }
134
148
 
135
- ::-webkit-scrollbar {
136
- display: none;
137
- }
138
-
139
- html {
140
- scrollbar-width: none;
141
- }
142
-
143
- @font-face {
144
- font-family: GT-America-Standard-Regular;
145
- src: url("./fonts/GT-America-Standard-Regular.woff2") format("woff2");
146
- font-display: swap;
147
- }
148
-
149
- @font-face {
150
- font-family: GT-America-Standard-Medium;
151
- src: url("./fonts/GT-America-Standard-Medium.woff2") format("woff2");
152
- font-display: swap;
153
- }
154
-
155
- @font-face {
156
- font-family: GT-America-Compressed-Regular;
157
- src: url("./fonts/GT-America-Compressed-Regular.woff2") format("woff2");
158
- font-display: swap;
159
- }
160
-
161
149
  body {
162
150
  margin: 0;
163
151
  padding: 0;
@@ -165,15 +153,15 @@ body {
165
153
 
166
154
  .matrix__board {
167
155
  position: relative;
168
- top: calc(21.5px * var(--scaling-factor));
169
- left: calc(-20px * var(--scaling-factor));
156
+ top: calc(21.5px * var(--sf));
157
+ left: calc(-20px * var(--sf));
158
+ width: calc(240px * var(--sf));
170
159
  display: flex;
171
- width: calc(240px * var(--scaling-factor));
172
160
  }
173
161
 
174
162
  .matrix__board--vertical {
175
163
  position: relative;
176
- left: calc(20.5px * var(--scaling-factor));
164
+ left: calc(20.5px * var(--sf));
177
165
  display: flex;
178
166
  flex-direction: row;
179
167
  align-items: start;
@@ -181,8 +169,8 @@ body {
181
169
 
182
170
  .matrix__board--horizontal {
183
171
  position: relative;
184
- top: calc(19.5px * var(--scaling-factor));
185
- left: calc(-239.5px * var(--scaling-factor));
172
+ top: calc(19.5px * var(--sf));
173
+ left: calc(-239.5px * var(--sf));
186
174
  display: flex;
187
175
  flex-direction: column;
188
176
  align-items: start;
@@ -212,11 +200,11 @@ body {
212
200
 
213
201
  .matrix__row-header {
214
202
  position: relative;
215
- top: calc(0.5px * var(--scaling-factor));
203
+ top: calc(0.5px * var(--sf));
216
204
  display: flex;
217
205
  align-items: center;
218
206
  justify-content: center;
219
- width: calc(19px * var(--scaling-factor));
207
+ width: calc(19px * var(--sf));
220
208
  height: var(--item-height);
221
209
  margin-right: var(--margin-correction);
222
210
  margin-bottom: var(--margin-correction);
@@ -268,13 +256,13 @@ body {
268
256
 
269
257
  .board__container {
270
258
  position: relative;
271
- top: calc(0.5px * var(--scaling-factor));
259
+ top: calc(0.5px * var(--sf));
272
260
  }
273
261
 
274
262
  .board {
275
263
  position: relative;
276
- top: calc(0.5px * var(--scaling-factor));
277
- left: calc(0.5px * var(--scaling-factor));
264
+ top: calc(0.5px * var(--sf));
265
+ left: calc(0.5px * var(--sf));
278
266
  display: flex;
279
267
  flex-direction: row;
280
268
  align-items: flex-start;
@@ -339,14 +327,13 @@ body {
339
327
  .header {
340
328
  display: flex;
341
329
  justify-content: center;
342
- width: calc(var(--item-width) * var(--scaling-factor));
343
- height: calc(var(--item-height) * var(--scaling-factor));
330
+ width: calc(var(--item-width) * var(--sf));
331
+ height: calc(var(--item-height) * var(--sf));
344
332
  }
345
333
 
346
334
  .header.dragging {
347
- outline: calc(var(--outline-stroke) * var(--scaling-factor)) solid
348
- var(--black);
349
- outline-offset: calc(var(--outline-stroke-offset) * var(--scaling-factor));
335
+ outline: calc(var(--outline-stroke) * var(--sf)) solid var(--black);
336
+ outline-offset: calc(var(--outline-stroke-offset) * var(--sf));
350
337
  background-color: var(--white);
351
338
  }
352
339
 
@@ -382,7 +369,7 @@ body {
382
369
  margin-top: 1px;
383
370
  z-index: 99;
384
371
  margin-bottom: 2px;
385
- padding-left: calc(3px * var(--scaling-factor));
372
+ padding-left: calc(3px * var(--sf));
386
373
  color: var(--text-color-primary);
387
374
  outline: var(--outline-stroke);
388
375
  background-color: var(--accent-color);
@@ -398,7 +385,7 @@ body {
398
385
  }
399
386
 
400
387
  .item-container.mobile {
401
- margin-left: calc(0.25px * var(--scaling-factor));
388
+ margin-left: calc(0.25px * var(--sf));
402
389
  }
403
390
 
404
391
  .group-children {
@@ -417,7 +404,7 @@ body {
417
404
  align-items: center;
418
405
  justify-content: start;
419
406
  width: var(--item-width);
420
- padding-left: calc(5px * var(--scaling-factor));
407
+ padding-left: calc(5px * var(--sf));
421
408
  overflow: hidden;
422
409
  text-overflow: ellipsis;
423
410
  white-space: nowrap;
@@ -438,27 +425,9 @@ table {
438
425
  }
439
426
 
440
427
  tr {
441
- background-color: var(--light-green);
428
+ background-color: var(--apple-green);
442
429
  }
443
430
 
444
431
  td {
445
432
  text-align: left;
446
433
  }
447
-
448
- .layout-grid {
449
- margin-top: 0.5px;
450
- margin-left: -0px;
451
- display: grid;
452
- z-index: -10;
453
- grid-template-columns: repeat(19, 79px);
454
- grid-template-rows: repeat(500, 19px);
455
- gap: 1px;
456
- row-rule: 1px solid #00000012;
457
- column-rule: 1px solid #00000012;
458
- outline: 1px solid #100101e7;
459
- position: absolute;
460
- top: 0;
461
- left: 50%;
462
- transform: translateX(-50%);
463
- pointer-events: none;
464
- }
@@ -0,0 +1,3 @@
1
+ // ds-banner.ts
2
+ // Core component
3
+
@@ -2,7 +2,7 @@
2
2
  // Core button component
3
3
 
4
4
  import { LitElement, html, css, type PropertyValues } from "lit";
5
- import { getText, currentLanguage } from "../utils/language";
5
+ import { getText, currentLanguage } from "../0-face/i18n";
6
6
 
7
7
  export class Button extends LitElement {
8
8
  static properties = {
@@ -15,14 +15,13 @@ export class Button extends LitElement {
15
15
  attribute: "no-background",
16
16
  },
17
17
  blank: { type: Boolean, reflect: true },
18
- notionKey: { type: String, attribute: "notion-key" },
19
18
  key: { type: String },
20
19
  fallback: { type: String },
21
20
  language: { type: String },
22
21
  defaultText: { type: String, attribute: "default-text" },
23
22
  href: { type: String },
24
23
  _loading: { type: Boolean, state: true },
25
- _notionText: { type: String, state: true },
24
+ _text: { type: String, state: true },
26
25
  };
27
26
 
28
27
  // Public properties
@@ -31,7 +30,6 @@ export class Button extends LitElement {
31
30
  declare bold: boolean;
32
31
  declare "no-background": boolean;
33
32
  declare blank: boolean;
34
- declare notionKey: string | null;
35
33
  declare key: string;
36
34
  declare fallback: string;
37
35
  declare language: string;
@@ -40,7 +38,7 @@ export class Button extends LitElement {
40
38
 
41
39
  // Private state
42
40
  declare _loading: boolean;
43
- declare _notionText: string | null;
41
+ declare _text: string | null;
44
42
 
45
43
  constructor() {
46
44
  super();
@@ -49,25 +47,24 @@ export class Button extends LitElement {
49
47
  this.bold = false;
50
48
  this["no-background"] = false;
51
49
  this.blank = false;
52
- this.notionKey = null;
53
50
  this.key = "";
54
51
  this.fallback = "";
55
52
  this.language = "en-US";
56
53
  this.defaultText = "";
57
54
  this.href = "";
58
55
  this._loading = false;
59
- this._notionText = null;
56
+ this._text = null;
60
57
  }
61
58
 
62
59
  static styles = css`
63
60
  button {
64
- max-height: calc(var(--08) * var(--scaling-factor));
61
+ max-height: calc(var(--08) * var(--sf));
65
62
  border: none;
66
63
  cursor: pointer;
67
- font-size: calc(var(--type-size-default) * var(--scaling-factor));
68
- padding: 0 calc(1px * var(--scaling-factor));
64
+ font-size: calc(var(--type-size-default) * var(--sf));
65
+ padding: 0 calc(1px * var(--sf));
69
66
  color: var(--button-text-color);
70
- font-family: var(--typeface);
67
+ font-family: var(--typeface-regular);
71
68
  }
72
69
 
73
70
  button.title {
@@ -79,13 +76,13 @@ export class Button extends LitElement {
79
76
  background-color: var(--accent-color);
80
77
  color: var(--button-text-color);
81
78
  text-decoration-line: none;
82
- font-family: var(--typeface);
79
+ font-family: var(--typeface-regular);
83
80
  }
84
81
 
85
82
  button.secondary {
86
83
  background-color: var(--button-background-color-secondary);
87
84
  color: var(--button-text-color);
88
- font-family: var(--typeface);
85
+ font-family: var(--typeface-regular);
89
86
  }
90
87
 
91
88
  button[bold] {
@@ -141,9 +138,9 @@ export class Button extends LitElement {
141
138
  */
142
139
  private _updateText() {
143
140
  if (this.key) {
144
- this._notionText = getText(this.key);
141
+ this._text = getText(this.key);
145
142
  } else {
146
- this._notionText = this.defaultText || this.fallback || null;
143
+ this._text = this.defaultText || this.fallback || null;
147
144
  }
148
145
  this.requestUpdate();
149
146
  }
@@ -157,7 +154,7 @@ export class Button extends LitElement {
157
154
  ?no-background=${this["no-background"]}
158
155
  @click=${this._handleClick}
159
156
  >
160
- ${this._notionText ? this._notionText : html`<slot></slot>`}
157
+ ${this._text ? this._text : html`<slot></slot>`}
161
158
  </button>
162
159
  `;
163
160
  }
@@ -5,13 +5,14 @@ import {
5
5
  getAvailableLanguagesSync,
6
6
  getLanguageDisplayName,
7
7
  setLanguage,
8
- } from "../utils/language";
9
- import type { LanguageCode } from "../utils/language";
10
- import { currentTheme, setTheme } from "../utils/theme";
11
- import type { ThemeType } from "../utils/theme";
12
- import { saveSettings } from "../utils/settings";
8
+ } from "../0-face/i18n";
9
+ import type { LanguageCode } from "../0-face/i18n";
10
+ import { currentTheme, setTheme } from "../0-face/theme";
11
+ import type { ThemeType } from "../0-face/theme";
12
+ import { savePreferences } from "../0-face/preferences";
13
13
  import "./ds-button";
14
14
  import "./ds-icon";
15
+ import "./ds-text";
15
16
 
16
17
  // Accent color utilities
17
18
  const saveAccentColor = (color: string) => {
@@ -19,7 +20,7 @@ const saveAccentColor = (color: string) => {
19
20
  };
20
21
 
21
22
  const getAccentColor = (): string => {
22
- return localStorage.getItem("accentColor") || "--blue"; // Default color if none set
23
+ return localStorage.getItem("accentColor") || "--sharp-blue"; // Default color if none set
23
24
  };
24
25
 
25
26
  const applyAccentColor = () => {
@@ -169,12 +170,12 @@ export class Cycle extends LitElement {
169
170
  } else if (this.type === "accent-color") {
170
171
  // Set up accent color cycling
171
172
  this.values = [
172
- "--light-green",
173
- "--green",
174
- "--light-blue",
175
- "--blue",
173
+ "--apple-green",
174
+ "--every-green",
175
+ "--zenith-blue",
176
+ "--sharp-blue",
176
177
  "--pink",
177
- "--red",
178
+ "--tuned-red",
178
179
  "--orange",
179
180
  "--yellow",
180
181
  ];
@@ -185,9 +186,6 @@ export class Cycle extends LitElement {
185
186
 
186
187
  // Apply the accent color to ensure it's active
187
188
  applyAccentColor();
188
-
189
- // Set label
190
- this.label = this.getLabel();
191
189
  } else if (this.type === "notes-style-medium") {
192
190
  // Set up notes style medium cycling
193
191
  this.values = ["default", "big", "gallery"];
@@ -271,9 +269,6 @@ export class Cycle extends LitElement {
271
269
 
272
270
  // Apply the accent color to ensure it's active
273
271
  applyAccentColor();
274
-
275
- // Update label
276
- this.label = this.getLabel();
277
272
  } else if (this.type === "notes-style-medium") {
278
273
  // Get current notes style medium
279
274
  const currentNotesStyle = getNotesStyleMedium();
@@ -362,8 +357,8 @@ export class Cycle extends LitElement {
362
357
  setLanguage(newLanguage as LanguageCode);
363
358
  }
364
359
 
365
- // Save settings
366
- saveSettings({ language: newLanguage as LanguageCode });
360
+ // Save preferences
361
+ savePreferences({ language: newLanguage as LanguageCode });
367
362
 
368
363
  // Dispatch language change event
369
364
  window.dispatchEvent(
@@ -383,8 +378,8 @@ export class Cycle extends LitElement {
383
378
  // Set the new theme using the shared helper
384
379
  setTheme(newTheme as ThemeType);
385
380
 
386
- // Save settings
387
- saveSettings({ theme: newTheme as ThemeType });
381
+ // Save preferences
382
+ savePreferences({ theme: newTheme as ThemeType });
388
383
 
389
384
  // Theme helper already emits the change event, so no manual dispatch here
390
385
  } else if (this.type === "accent-color") {
@@ -402,8 +397,8 @@ export class Cycle extends LitElement {
402
397
  // Apply the new accent color
403
398
  applyAccentColor();
404
399
 
405
- // Save settings
406
- saveSettings({ accentColor: newColor });
400
+ // Save preferences
401
+ savePreferences({ accentColor: newColor });
407
402
 
408
403
  // Dispatch accent color change event
409
404
  window.dispatchEvent(
@@ -423,8 +418,8 @@ export class Cycle extends LitElement {
423
418
  // Save the new notes style medium
424
419
  saveNotesStyleMedium(newStyle);
425
420
 
426
- // Save settings
427
- saveSettings({ notesStyleMedium: newStyle });
421
+ // Save preferences
422
+ savePreferences({ notesStyleMedium: newStyle });
428
423
 
429
424
  // Dispatch notes style medium change event
430
425
  window.dispatchEvent(
@@ -444,8 +439,8 @@ export class Cycle extends LitElement {
444
439
  // Save the new note behavior
445
440
  savePageStyle(newBehavior);
446
441
 
447
- // Save settings
448
- saveSettings({ pageStyle: newBehavior });
442
+ // Save preferences
443
+ savePreferences({ pageStyle: newBehavior });
449
444
 
450
445
  // Dispatch note behavior change event
451
446
  window.dispatchEvent(
@@ -465,8 +460,8 @@ export class Cycle extends LitElement {
465
460
  // Save the new page style
466
461
  savePageStyle(newIconOnlyValue);
467
462
 
468
- // Save settings
469
- saveSettings({ pageStyle: newIconOnlyValue });
463
+ // Save preferences
464
+ savePreferences({ pageStyle: newIconOnlyValue });
470
465
 
471
466
  // No label update for icon-only type
472
467
  this.label = "";
@@ -494,8 +489,8 @@ export class Cycle extends LitElement {
494
489
  } else if (this.type === "theme") {
495
490
  // Try to get translated theme name
496
491
  if (this.translationsReady) {
497
- const translatedName = translate(`themes.${value}`);
498
- if (translatedName && translatedName !== `themes.${value}`) {
492
+ const translatedName = translate(value);
493
+ if (translatedName && translatedName !== value) {
499
494
  return translatedName;
500
495
  }
501
496
  }
@@ -533,16 +528,32 @@ export class Cycle extends LitElement {
533
528
  return value;
534
529
  }
535
530
 
531
+ getColorKey(colorVar: string): string {
532
+ // Map CSS variables to language keys
533
+ const colorMap: { [key: string]: string } = {
534
+ "--tuned-red": "red",
535
+ "--orange": "orange",
536
+ "--yellow": "yellow",
537
+ "--apple-green": "appleGreen",
538
+ "--every-green": "green",
539
+ "--zenith-blue": "lightBlue",
540
+ "--sharp-blue": "blue",
541
+ "--pink": "pink",
542
+ };
543
+
544
+ return colorMap[colorVar] || colorVar.replace("--", "").replace("-", " ");
545
+ }
546
+
536
547
  getColorName(colorVar: string): string {
537
548
  // Map CSS variables to language keys
538
549
  const colorMap: { [key: string]: string } = {
539
- "--red": "red",
550
+ "--tuned-red": "red",
540
551
  "--orange": "orange",
541
552
  "--yellow": "yellow",
542
- "--light-green": "lightGreen",
543
- "--green": "green",
544
- "--light-blue": "lightBlue",
545
- "--blue": "blue",
553
+ "--apple-green": "appleGreen",
554
+ "--every-green": "green",
555
+ "--zenith-blue": "lightBlue",
556
+ "--sharp-blue": "blue",
546
557
  "--pink": "pink",
547
558
  };
548
559
 
@@ -641,7 +652,25 @@ export class Cycle extends LitElement {
641
652
  return html`
642
653
  <div class="cycle-container">
643
654
  ${this.type !== "icon-only"
644
- ? html`<span class="cycle-label">${this.label}</span>`
655
+ ? html`${this.type === "language"
656
+ ? html`<ds-text
657
+ key="language"
658
+ default-value="Language"
659
+ class="cycle-label"
660
+ ></ds-text>`
661
+ : this.type === "theme"
662
+ ? html`<ds-text
663
+ key="theme"
664
+ default-value="Theme"
665
+ class="cycle-label"
666
+ ></ds-text>`
667
+ : this.type === "accent-color"
668
+ ? html`<ds-text
669
+ key="accentColor"
670
+ default-value="Accent color"
671
+ class="cycle-label"
672
+ ></ds-text>`
673
+ : html`<span class="cycle-label">${this.label}</span>`}`
645
674
  : ""}
646
675
  <div
647
676
  style="display: flex; align-items: center; ${this.type === "icon-only"
@@ -661,7 +690,24 @@ export class Cycle extends LitElement {
661
690
  style="display: inline-flex; align-items: center; gap: var(--025)"
662
691
  >${this.getValueDisplay(this.currentValue)}</span
663
692
  >`
664
- : html`<span>${this.getValueDisplay(this.currentValue)}</span>`}
693
+ : this.type === "theme"
694
+ ? html`<ds-text
695
+ key=${this.currentValue}
696
+ default-value=${this.currentValue}
697
+ ></ds-text>`
698
+ : this.type === "accent-color"
699
+ ? html`<ds-text
700
+ key=${this.getColorKey(this.currentValue)}
701
+ default-value=${this.getColorName(this.currentValue)}
702
+ ></ds-text>`
703
+ : this.type === "page-style"
704
+ ? html`<ds-text
705
+ key=${this.currentValue}
706
+ default-value=${this.currentValue}
707
+ ></ds-text>`
708
+ : html`<ds-text
709
+ default-value=${this.getValueDisplay(this.currentValue)}
710
+ ></ds-text>`}
665
711
  </ds-button>
666
712
  ${this.type === "accent-color"
667
713
  ? html`
@@ -736,4 +782,3 @@ declare global {
736
782
  "ds-cycle": Cycle;
737
783
  }
738
784
  }
739
-