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,140 +0,0 @@
1
- // scroll.ts
2
- // Scroll position utilities for carrying scroll position across page navigations
3
- const SCROLL_POSITION_KEY = "ds-scroll-position";
4
- /**
5
- * Save the current scroll position
6
- */
7
- export function saveScrollPosition() {
8
- if (typeof window === "undefined") {
9
- return;
10
- }
11
- try {
12
- const position = {
13
- x: window.scrollX,
14
- y: window.scrollY,
15
- };
16
- sessionStorage.setItem(SCROLL_POSITION_KEY, JSON.stringify(position));
17
- }
18
- catch (error) {
19
- console.warn("[DS one] Failed to save scroll position:", error);
20
- }
21
- }
22
- /**
23
- * Get the saved scroll position
24
- */
25
- export function getScrollPosition() {
26
- if (typeof window === "undefined") {
27
- return null;
28
- }
29
- try {
30
- const stored = sessionStorage.getItem(SCROLL_POSITION_KEY);
31
- if (!stored) {
32
- return null;
33
- }
34
- const position = JSON.parse(stored);
35
- // Validate the parsed data
36
- if (typeof position.x === "number" &&
37
- typeof position.y === "number" &&
38
- !isNaN(position.x) &&
39
- !isNaN(position.y)) {
40
- return position;
41
- }
42
- return null;
43
- }
44
- catch (error) {
45
- console.warn("[DS one] Failed to retrieve scroll position:", error);
46
- return null;
47
- }
48
- }
49
- /**
50
- * Restore the saved scroll position
51
- */
52
- export function restoreScrollPosition(options = {}) {
53
- if (typeof window === "undefined") {
54
- return false;
55
- }
56
- const position = getScrollPosition();
57
- if (!position) {
58
- return false;
59
- }
60
- try {
61
- // Use requestAnimationFrame to ensure DOM is ready
62
- requestAnimationFrame(() => {
63
- window.scrollTo({
64
- left: position.x,
65
- top: position.y,
66
- behavior: options.smooth ? "smooth" : "instant",
67
- });
68
- // Optionally clear the saved position after restoring
69
- if (options.clear) {
70
- clearScrollPosition();
71
- }
72
- // Dispatch custom event
73
- window.dispatchEvent(new CustomEvent("scroll-restored", {
74
- detail: position,
75
- }));
76
- });
77
- return true;
78
- }
79
- catch (error) {
80
- console.warn("[DS one] Failed to restore scroll position:", error);
81
- return false;
82
- }
83
- }
84
- /**
85
- * Clear the saved scroll position
86
- */
87
- export function clearScrollPosition() {
88
- if (typeof window === "undefined") {
89
- return;
90
- }
91
- try {
92
- sessionStorage.removeItem(SCROLL_POSITION_KEY);
93
- }
94
- catch (error) {
95
- console.warn("[DS one] Failed to clear scroll position:", error);
96
- }
97
- }
98
- /**
99
- * Initialize scroll position management
100
- * Call this once to set up automatic save/restore behavior
101
- */
102
- export function initScrollManagement(options = {}) {
103
- if (typeof window === "undefined") {
104
- return;
105
- }
106
- const { autoSave = true, autoRestore = true, smooth = false, clearOnRestore = false, } = options;
107
- // Auto-save scroll position before leaving the page
108
- if (autoSave) {
109
- window.addEventListener("beforeunload", () => {
110
- saveScrollPosition();
111
- });
112
- // Also save on history state changes (for SPAs)
113
- window.addEventListener("pagehide", () => {
114
- saveScrollPosition();
115
- });
116
- }
117
- // Auto-restore scroll position when page loads
118
- if (autoRestore) {
119
- const restore = () => {
120
- restoreScrollPosition({ smooth, clear: clearOnRestore });
121
- };
122
- if (document.readyState === "loading") {
123
- // Wait for DOM to be ready
124
- document.addEventListener("DOMContentLoaded", restore);
125
- }
126
- else {
127
- // DOM is already ready
128
- restore();
129
- }
130
- }
131
- }
132
- // Auto-initialize scroll management when module loads
133
- if (typeof window !== "undefined") {
134
- initScrollManagement({
135
- autoSave: true,
136
- autoRestore: true,
137
- smooth: false,
138
- clearOnRestore: false,
139
- });
140
- }
@@ -1,9 +0,0 @@
1
- import type { LanguageCode } from "./language";
2
- import type { ThemeType } from "./theme";
3
- export type Settings = {
4
- language?: LanguageCode;
5
- theme?: ThemeType;
6
- [key: string]: unknown;
7
- };
8
- export declare function saveSettings(settings: Settings): void;
9
- //# sourceMappingURL=settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../DS1/utils/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAarD"}
@@ -1,14 +0,0 @@
1
- export function saveSettings(settings) {
2
- if (typeof window === "undefined") {
3
- return;
4
- }
5
- try {
6
- const raw = window.localStorage?.getItem("ds-one:settings");
7
- const existing = raw ? JSON.parse(raw) : {};
8
- const next = { ...existing, ...settings };
9
- window.localStorage?.setItem("ds-one:settings", JSON.stringify(next));
10
- }
11
- catch (error) {
12
- console.warn("ds-one: unable to persist settings", error);
13
- }
14
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../DS1/utils/theme.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAiBzC,eAAO,MAAM,YAAY,qDAAuC,CAAC;AAEjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAwB/C"}
@@ -1,14 +0,0 @@
1
- export type ViewMode = "text" | "image";
2
- /**
3
- * Get the current view mode from localStorage or return default
4
- */
5
- export declare function getViewMode(): ViewMode;
6
- /**
7
- * Set the view mode in localStorage and dispatch change event
8
- */
9
- export declare function setViewMode(mode: ViewMode): void;
10
- /**
11
- * Toggle between text and image view modes
12
- */
13
- export declare function toggleViewMode(): ViewMode;
14
- //# sourceMappingURL=viewMode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"viewMode.d.ts","sourceRoot":"","sources":["../../DS1/utils/viewMode.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAKxC;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAWtC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAiBhD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAKzC"}
@@ -1,46 +0,0 @@
1
- // viewMode.ts
2
- // View mode utilities for managing text/image view states
3
- const VIEW_MODE_KEY = "ds-view-mode";
4
- const DEFAULT_VIEW_MODE = "text";
5
- /**
6
- * Get the current view mode from localStorage or return default
7
- */
8
- export function getViewMode() {
9
- if (typeof window === "undefined") {
10
- return DEFAULT_VIEW_MODE;
11
- }
12
- try {
13
- const stored = localStorage.getItem(VIEW_MODE_KEY);
14
- return stored === "image" || stored === "text" ? stored : DEFAULT_VIEW_MODE;
15
- }
16
- catch {
17
- return DEFAULT_VIEW_MODE;
18
- }
19
- }
20
- /**
21
- * Set the view mode in localStorage and dispatch change event
22
- */
23
- export function setViewMode(mode) {
24
- if (typeof window === "undefined") {
25
- return;
26
- }
27
- try {
28
- localStorage.setItem(VIEW_MODE_KEY, mode);
29
- // Dispatch custom event for components to listen to
30
- window.dispatchEvent(new CustomEvent("view-mode-changed", {
31
- detail: mode,
32
- }));
33
- }
34
- catch (error) {
35
- console.warn("Failed to save view mode:", error);
36
- }
37
- }
38
- /**
39
- * Toggle between text and image view modes
40
- */
41
- export function toggleViewMode() {
42
- const currentMode = getViewMode();
43
- const newMode = currentMode === "text" ? "image" : "text";
44
- setViewMode(newMode);
45
- return newMode;
46
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes