ds-one 0.2.5-alpha.17 → 0.2.5-alpha.19

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 (199) hide show
  1. package/DS1/0-face/device.ts +130 -0
  2. package/DS1/0-face/scaling.ts +152 -0
  3. package/DS1/1-root/one.css +48 -18
  4. package/DS1/2-core/ds-banner.ts +3 -77
  5. package/DS1/2-core/ds-button.ts +3 -67
  6. package/DS1/2-core/ds-card.ts +137 -0
  7. package/DS1/2-core/ds-cycle.ts +3 -22
  8. package/DS1/2-core/ds-date.ts +3 -9
  9. package/DS1/2-core/ds-gap.ts +3 -75
  10. package/DS1/2-core/ds-icon.ts +3 -33
  11. package/DS1/2-core/ds-input.ts +306 -1
  12. package/DS1/2-core/ds-pagedots.ts +52 -0
  13. package/DS1/2-core/ds-text.ts +3 -29
  14. package/DS1/2-core/ds-tooltip.ts +3 -49
  15. package/DS1/2-core/styles/ds-banner.css +77 -0
  16. package/DS1/2-core/styles/ds-button.css +67 -0
  17. package/DS1/2-core/styles/ds-cycle.css +21 -0
  18. package/DS1/2-core/styles/ds-date.css +9 -0
  19. package/DS1/2-core/styles/ds-gap.css +93 -0
  20. package/DS1/2-core/styles/ds-icon.css +30 -0
  21. package/DS1/2-core/styles/ds-input.css +46 -0
  22. package/DS1/2-core/styles/ds-pagedots.css +27 -0
  23. package/DS1/2-core/styles/ds-text.css +29 -0
  24. package/DS1/2-core/styles/ds-tooltip.css +49 -0
  25. package/DS1/3-unit/ds-accordion.ts +3 -46
  26. package/DS1/3-unit/ds-form.ts +304 -0
  27. package/DS1/3-unit/ds-list.ts +5 -14
  28. package/DS1/3-unit/ds-row.ts +3 -19
  29. package/DS1/3-unit/ds-table.ts +3 -85
  30. package/DS1/3-unit/styles/ds-accordion.css +46 -0
  31. package/DS1/3-unit/styles/ds-list.css +9 -0
  32. package/DS1/3-unit/styles/ds-row.css +19 -0
  33. package/DS1/3-unit/styles/ds-table.css +80 -0
  34. package/DS1/4-page/ds-container.ts +3 -35
  35. package/DS1/4-page/ds-grid.ts +3 -56
  36. package/DS1/4-page/ds-layout.ts +528 -50
  37. package/DS1/4-page/styles/ds-container.css +35 -0
  38. package/DS1/4-page/styles/ds-grid.css +56 -0
  39. package/DS1/4-page/styles/ds-layout.css +251 -0
  40. package/DS1/index.ts +7 -2
  41. package/DS1/vite-env.d.ts +9 -0
  42. package/DS1/x-icon/2x.svg +4 -0
  43. package/DS1/x-icon/2xdots.svg +18 -0
  44. package/DS1/x-icon/2xgrid.svg +6 -0
  45. package/DS1/x-icon/2xlines.svg +6 -0
  46. package/DS1/x-icon/4x4.svg +18 -0
  47. package/DS1/x-icon/apple.svg +4 -0
  48. package/DS1/x-icon/avatar.svg +4 -0
  49. package/DS1/x-icon/big.svg +4 -0
  50. package/DS1/x-icon/blank.svg +3 -0
  51. package/DS1/x-icon/check.svg +3 -0
  52. package/DS1/x-icon/close.svg +3 -0
  53. package/DS1/x-icon/collapse.svg +3 -0
  54. package/DS1/x-icon/color.svg +4 -0
  55. package/DS1/x-icon/column.svg +5 -0
  56. package/DS1/x-icon/default.svg +3 -0
  57. package/DS1/x-icon/delete.svg +5 -0
  58. package/DS1/x-icon/dictate.svg +6 -0
  59. package/DS1/x-icon/do.svg +3 -0
  60. package/DS1/x-icon/down.svg +3 -0
  61. package/DS1/x-icon/duplicate.svg +4 -0
  62. package/DS1/x-icon/gallery.svg +5 -0
  63. package/DS1/x-icon/google.svg +6 -0
  64. package/DS1/x-icon/head.svg +5 -0
  65. package/DS1/x-icon/home.svg +3 -0
  66. package/DS1/x-icon/icon.svg +4 -0
  67. package/DS1/x-icon/in.svg +4 -0
  68. package/DS1/x-icon/lock.svg +5 -0
  69. package/DS1/x-icon/loop.svg +5 -0
  70. package/DS1/x-icon/mic.svg +5 -0
  71. package/DS1/x-icon/minimize.svg +3 -0
  72. package/DS1/x-icon/more.svg +5 -0
  73. package/DS1/x-icon/neutral.svg +6 -0
  74. package/DS1/x-icon/note.svg +6 -0
  75. package/DS1/x-icon/page.svg +4 -0
  76. package/DS1/x-icon/plus.svg +3 -0
  77. package/DS1/x-icon/rewind.svg +4 -0
  78. package/DS1/x-icon/row.svg +5 -0
  79. package/DS1/x-icon/sdown.svg +3 -0
  80. package/DS1/x-icon/search.svg +4 -0
  81. package/DS1/x-icon/see.svg +4 -0
  82. package/DS1/x-icon/ship.svg +5 -0
  83. package/DS1/x-icon/star.svg +3 -0
  84. package/DS1/x-icon/status.svg +4 -0
  85. package/DS1/x-icon/sup.svg +3 -0
  86. package/DS1/x-icon/title.svg +3 -0
  87. package/DS1/x-icon/undo.svg +3 -0
  88. package/DS1/x-icon/ungroup.svg +4 -0
  89. package/DS1/x-icon/unhead.svg +3 -0
  90. package/DS1/x-icon/unicon.svg +3 -0
  91. package/DS1/x-icon/unlock.svg +5 -0
  92. package/DS1/x-icon/unmic.svg +6 -0
  93. package/DS1/x-icon/unsee.svg +5 -0
  94. package/DS1/x-icon/unstar.svg +3 -0
  95. package/DS1/x-icon/untitle.svg +3 -0
  96. package/DS1/x-icon/up.svg +3 -0
  97. package/README.md +2 -2
  98. package/dist/0-face/device.d.ts +5 -0
  99. package/dist/0-face/device.d.ts.map +1 -1
  100. package/dist/0-face/device.js +105 -0
  101. package/dist/0-face/scaling.d.ts +48 -0
  102. package/dist/0-face/scaling.d.ts.map +1 -0
  103. package/dist/0-face/scaling.js +114 -0
  104. package/dist/2-core/ds-banner.d.ts.map +1 -1
  105. package/dist/2-core/ds-banner.js +3 -77
  106. package/dist/2-core/ds-button.d.ts.map +1 -1
  107. package/dist/2-core/ds-button.js +3 -67
  108. package/dist/2-core/ds-card.d.ts +39 -0
  109. package/dist/2-core/ds-card.d.ts.map +1 -0
  110. package/dist/2-core/ds-card.js +119 -0
  111. package/dist/2-core/ds-cycle.d.ts.map +1 -1
  112. package/dist/2-core/ds-cycle.js +3 -22
  113. package/dist/2-core/ds-date.d.ts.map +1 -1
  114. package/dist/2-core/ds-date.js +3 -9
  115. package/dist/2-core/ds-gap.d.ts.map +1 -1
  116. package/dist/2-core/ds-gap.js +3 -75
  117. package/dist/2-core/ds-icon.d.ts.map +1 -1
  118. package/dist/2-core/ds-icon.js +3 -33
  119. package/dist/2-core/ds-input.d.ts +127 -0
  120. package/dist/2-core/ds-input.d.ts.map +1 -1
  121. package/dist/2-core/ds-input.js +252 -1
  122. package/dist/2-core/ds-pagedots.d.ts +32 -0
  123. package/dist/2-core/ds-pagedots.d.ts.map +1 -0
  124. package/dist/2-core/ds-pagedots.js +36 -0
  125. package/dist/2-core/ds-text.d.ts.map +1 -1
  126. package/dist/2-core/ds-text.js +3 -29
  127. package/dist/2-core/ds-tooltip.d.ts.map +1 -1
  128. package/dist/2-core/ds-tooltip.js +3 -49
  129. package/dist/2-core/styles/ds-banner.css +77 -0
  130. package/dist/2-core/styles/ds-button.css +67 -0
  131. package/dist/2-core/styles/ds-cycle.css +21 -0
  132. package/dist/2-core/styles/ds-date.css +9 -0
  133. package/dist/2-core/styles/ds-gap.css +93 -0
  134. package/dist/2-core/styles/ds-icon.css +30 -0
  135. package/dist/2-core/styles/ds-input.css +46 -0
  136. package/dist/2-core/styles/ds-pagedots.css +26 -0
  137. package/dist/2-core/styles/ds-text.css +29 -0
  138. package/dist/2-core/styles/ds-tooltip.css +49 -0
  139. package/dist/3-unit/ds-accordion.d.ts.map +1 -1
  140. package/dist/3-unit/ds-accordion.js +3 -46
  141. package/dist/3-unit/ds-form.d.ts +70 -0
  142. package/dist/3-unit/ds-form.d.ts.map +1 -0
  143. package/dist/3-unit/ds-form.js +232 -0
  144. package/dist/3-unit/ds-list.d.ts.map +1 -1
  145. package/dist/3-unit/ds-list.js +5 -11
  146. package/dist/3-unit/ds-row.d.ts.map +1 -1
  147. package/dist/3-unit/ds-row.js +3 -19
  148. package/dist/3-unit/ds-table.d.ts.map +1 -1
  149. package/dist/3-unit/ds-table.js +3 -85
  150. package/dist/3-unit/styles/ds-accordion.css +46 -0
  151. package/dist/3-unit/styles/ds-list.css +9 -0
  152. package/dist/3-unit/styles/ds-row.css +19 -0
  153. package/dist/3-unit/styles/ds-table.css +80 -0
  154. package/dist/4-page/ds-container.d.ts.map +1 -1
  155. package/dist/4-page/ds-container.js +3 -35
  156. package/dist/4-page/ds-grid.d.ts.map +1 -1
  157. package/dist/4-page/ds-grid.js +3 -56
  158. package/dist/4-page/ds-layout.d.ts +1 -1
  159. package/dist/4-page/ds-layout.d.ts.map +1 -1
  160. package/dist/4-page/ds-layout.js +528 -50
  161. package/dist/4-page/styles/ds-container.css +35 -0
  162. package/dist/4-page/styles/ds-grid.css +56 -0
  163. package/dist/4-page/styles/ds-layout.css +251 -0
  164. package/dist/ds-one.bundle.css +700 -0
  165. package/dist/ds-one.bundle.css.map +7 -0
  166. package/dist/ds-one.bundle.js +1370 -535
  167. package/dist/ds-one.bundle.js.map +4 -4
  168. package/dist/ds-one.bundle.min.css +2 -0
  169. package/dist/ds-one.bundle.min.css.map +7 -0
  170. package/dist/ds-one.bundle.min.js +783 -527
  171. package/dist/ds-one.bundle.min.js.map +4 -4
  172. package/dist/index.d.ts +7 -2
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +7 -2
  175. package/package.json +1 -1
  176. package/dist/3-unit/doublenav-v1.d.ts +0 -51
  177. package/dist/3-unit/doublenav-v1.d.ts.map +0 -1
  178. package/dist/3-unit/doublenav-v1.js +0 -88
  179. package/dist/3-unit/ds-portfolio-doublenav.d.ts +0 -51
  180. package/dist/3-unit/ds-portfolio-doublenav.d.ts.map +0 -1
  181. package/dist/3-unit/ds-portfolio-doublenav.js +0 -88
  182. package/dist/3-unit/ds-portfolio-panel.d.ts +0 -11
  183. package/dist/3-unit/ds-portfolio-panel.d.ts.map +0 -1
  184. package/dist/3-unit/ds-portfolio-panel.js +0 -16
  185. package/dist/3-unit/ds-portfolio-singlenav.d.ts +0 -32
  186. package/dist/3-unit/ds-portfolio-singlenav.d.ts.map +0 -1
  187. package/dist/3-unit/ds-portfolio-singlenav.js +0 -62
  188. package/dist/3-unit/list-v1.d.ts +0 -11
  189. package/dist/3-unit/list-v1.d.ts.map +0 -1
  190. package/dist/3-unit/list-v1.js +0 -15
  191. package/dist/3-unit/panel-v1.d.ts +0 -11
  192. package/dist/3-unit/panel-v1.d.ts.map +0 -1
  193. package/dist/3-unit/panel-v1.js +0 -16
  194. package/dist/3-unit/row-v1.d.ts +0 -25
  195. package/dist/3-unit/row-v1.d.ts.map +0 -1
  196. package/dist/3-unit/row-v1.js +0 -32
  197. package/dist/3-unit/singlenav-v1.d.ts +0 -32
  198. package/dist/3-unit/singlenav-v1.d.ts.map +0 -1
  199. package/dist/3-unit/singlenav-v1.js +0 -62
@@ -1,5 +1,6 @@
1
- import { LitElement, html, css } from "lit";
1
+ import { LitElement, html, unsafeCSS } from "lit";
2
2
  import { getText, currentLanguage } from "../0-face/i18n";
3
+ import styles from "./styles/ds-text.css?inline";
3
4
 
4
5
  /**
5
6
  * A component for displaying text from translations
@@ -46,34 +47,7 @@ export class Text extends LitElement {
46
47
  };
47
48
  }
48
49
 
49
- static styles = css`
50
- :host {
51
- display: inline;
52
- font-family: var(--typeface-regular);
53
- font-size: var(--type-size-default);
54
- font-weight: var(--type-weight-default);
55
- line-height: calc(var(--type-lineheight-default) * var(--sf));
56
- letter-spacing: calc(var(--type-letterspacing-default) * var(--sf));
57
- text-align: var(--text-align-default);
58
- text-transform: var(--text-transform-default);
59
- text-decoration: var(--text-decoration-default);
60
- }
61
-
62
- :host([data-language="ja"]) {
63
- font-family: var(--typeface-regular-jp);
64
- }
65
-
66
- :host([data-language="zh"]),
67
- :host([data-language="zh-hant"]) {
68
- font-family: var(--typeface-regular-zh-hant);
69
- font-weight: 800;
70
- }
71
-
72
- :host([data-language="zh-hans"]) {
73
- font-family: var(--typeface-regular-zh-hans);
74
- font-weight: 800;
75
- }
76
- `;
50
+ static styles = unsafeCSS(styles);
77
51
 
78
52
  connectedCallback() {
79
53
  super.connectedCallback();
@@ -1,5 +1,6 @@
1
- import { LitElement, html, css } from "lit";
1
+ import { LitElement, html, unsafeCSS } from "lit";
2
2
  import { translate } from "../0-face/i18n";
3
+ import styles from "./styles/ds-tooltip.css?inline";
3
4
 
4
5
  export class Tooltip extends LitElement {
5
6
  static properties = {
@@ -61,54 +62,7 @@ export class Tooltip extends LitElement {
61
62
  };
62
63
  }
63
64
 
64
- static styles = css`
65
- :host {
66
- position: relative;
67
- display: inline-block;
68
- }
69
-
70
- .slot-wrapper {
71
- display: inline-flex;
72
- align-items: center;
73
- }
74
-
75
- .bubble {
76
- display: flex;
77
- align-items: center;
78
- justify-content: center;
79
- position: absolute;
80
- left: 50%;
81
- bottom: 100%;
82
- transform: translate(-50%, calc(-2px * var(--sf)));
83
- z-index: 1000;
84
- pointer-events: none;
85
- height: calc(var(--08) * var(--sf));
86
- opacity: 0;
87
- transition:
88
- opacity 120ms ease,
89
- transform 120ms ease;
90
- background-color: light-dark(var(--black), var(--white));
91
- color: light-dark(var(--white), var(--black));
92
- border-radius: 0;
93
- font-size: var(--type-size-default);
94
- padding: 0px calc(1px * var(--sf));
95
- font-family: var(
96
- --typeface-regular,
97
- -apple-system,
98
- BlinkMacSystemFont,
99
- "Segoe UI",
100
- Roboto,
101
- sans-serif
102
- );
103
- font-weight: 500;
104
- white-space: nowrap;
105
- min-width: max-content;
106
- }
107
-
108
- .bubble.visible {
109
- opacity: 1;
110
- }
111
- `;
65
+ static styles = unsafeCSS(styles);
112
66
 
113
67
  connectedCallback(): void {
114
68
  super.connectedCallback();
@@ -0,0 +1,77 @@
1
+ /* ds-banner.css */
2
+ /* Fixed banner component styles for notifications/alerts */
3
+
4
+ :host {
5
+ display: flex;
6
+ position: absolute;
7
+ top: 0;
8
+ left: 0;
9
+ right: 0;
10
+ width: 100%;
11
+ height: calc(var(--unit) * var(--sf, 1));
12
+ align-items: center;
13
+ justify-content: space-between;
14
+ padding: 0 calc(var(--unit) * var(--sf, 1));
15
+ box-sizing: border-box;
16
+ z-index: 9999;
17
+ }
18
+
19
+ :host([variant="warning"]) {
20
+ background-color: color-mix(in srgb, var(--yellow) 50%, transparent);
21
+ --banner-text-color: color-mix(in srgb, var(--black) 50%, transparent);
22
+ --banner-action-color: var(--slate);
23
+ }
24
+
25
+ :host([variant="info"]) {
26
+ background-color: rgba(var(--sharp-blue-rgb, 0, 122, 255), 0.7);
27
+ --banner-text-color: var(--white, #fff);
28
+ --banner-action-color: var(--white, #fff);
29
+ }
30
+
31
+ :host([variant="success"]) {
32
+ background-color: rgba(var(--apple-green-rgb, 52, 199, 89), 0.7);
33
+ --banner-text-color: var(--white, #fff);
34
+ --banner-action-color: var(--white, #fff);
35
+ }
36
+
37
+ :host([variant="error"]) {
38
+ background-color: rgba(var(--tuned-red-rgb, 255, 59, 48), 0.7);
39
+ --banner-text-color: var(--white, #fff);
40
+ --banner-action-color: var(--slate, #1e1e1e);
41
+ }
42
+
43
+ .text-wrapper {
44
+ flex: 1;
45
+ cursor: pointer;
46
+ user-select: none;
47
+ }
48
+
49
+ .text-wrapper ds-text,
50
+ .text-wrapper .version {
51
+ color: var(--banner-text-color);
52
+ }
53
+
54
+ .action-wrapper {
55
+ font-size: calc(12px * var(--sf, 1));
56
+ }
57
+
58
+ .action-wrapper a {
59
+ color: var(--banner-action-color);
60
+ text-decoration: none;
61
+ font-family: var(--typeface-regular);
62
+ font-size: calc(12px * var(--sf, 1));
63
+ cursor: pointer;
64
+ pointer-events: auto;
65
+ display: inline-block;
66
+ }
67
+
68
+ .action-wrapper a:hover {
69
+ opacity: 0.8;
70
+ }
71
+
72
+ .action-wrapper ds-text {
73
+ color: var(--banner-action-color);
74
+ font-family: var(--typeface-regular);
75
+ font-size: calc(12px * var(--sf, 1));
76
+ pointer-events: none;
77
+ }
@@ -0,0 +1,67 @@
1
+ /* ds-button.css */
2
+ /* Core button component styles */
3
+
4
+ button {
5
+ max-height: calc(var(--08) * var(--sf));
6
+ display: inline-flex;
7
+ align-items: center;
8
+ justify-content: center;
9
+ border: none;
10
+ cursor: pointer;
11
+ padding: 0 calc(0.5px * var(--sf));
12
+ color: var(--button-text-color);
13
+ font-family: var(--typeface-regular);
14
+ }
15
+
16
+ button.title {
17
+ background-color: var(--button-background-color-secondary);
18
+ color: var(--button-text-color);
19
+ }
20
+
21
+ button.primary {
22
+ background-color: var(--accent-color);
23
+ color: var(--button-text-color);
24
+ text-decoration-line: none;
25
+ font-family: var(--typeface-regular);
26
+ }
27
+
28
+ button.secondary {
29
+ background-color: var(--button-background-color-secondary);
30
+ color: var(--button-text-color);
31
+ font-family: var(--typeface-regular);
32
+ }
33
+
34
+ button.text {
35
+ background-color: transparent;
36
+ color: var(--button-color, var(--button-text-color));
37
+ font-family: var(--typeface-regular);
38
+ padding: 0;
39
+ text-decoration: none;
40
+ }
41
+
42
+ button.text:hover {
43
+ opacity: 0.8;
44
+ text-decoration: none;
45
+ }
46
+
47
+ button[bold] {
48
+ font-weight: var(--type-weight-bold);
49
+ font-family: var(--typeface-medium);
50
+ }
51
+
52
+ button[no-background] {
53
+ background-color: transparent;
54
+ max-height: var(--1);
55
+ padding: 0;
56
+ color: var(--button-color, var(--button-text-color-secondary));
57
+ }
58
+
59
+ button[no-background][bold] {
60
+ font-weight: var(--type-weight-bold);
61
+ font-family: var(--typeface-medium);
62
+ color: var(--button-color, var(--button-text-color-secondary));
63
+ }
64
+
65
+ .loading {
66
+ opacity: 0.7;
67
+ }
@@ -0,0 +1,21 @@
1
+ /* ds-cycle.css */
2
+ /* Cycle component styles for cycling through options */
3
+
4
+ :host {
5
+ display: inline-flex;
6
+ align-items: center;
7
+ }
8
+
9
+ .cycle {
10
+ display: inline-flex;
11
+ align-items: center;
12
+ gap: var(--025);
13
+ }
14
+
15
+ .color-preview {
16
+ width: var(--05);
17
+ height: var(--05);
18
+ border-radius: 999px;
19
+ border: 1px solid color-mix(in srgb, var(--text-color-primary) 20%, transparent);
20
+ flex: 0 0 auto;
21
+ }
@@ -0,0 +1,9 @@
1
+ /* ds-date.css */
2
+ /* Date component styles for displaying the current year */
3
+
4
+ :host {
5
+ display: inline;
6
+ font-family: var(--typeface-regular, var(--typeface-regular-regular));
7
+ font-size: inherit;
8
+ color: inherit;
9
+ }
@@ -0,0 +1,93 @@
1
+ /* ds-gap.css */
2
+ /* Full-width vertical spacer styles */
3
+
4
+ :host {
5
+ display: block;
6
+ width: 100%;
7
+ /* Default if no attribute is provided */
8
+ --gap-size: var(--unit);
9
+ height: var(--gap-size);
10
+ flex: 0 0 auto;
11
+ }
12
+
13
+ /* Semantic sizing tokens (from DS1/1-root/one.css) */
14
+ :host([tenth]) {
15
+ --gap-size: var(--tenth);
16
+ }
17
+
18
+ :host([quarter]) {
19
+ --gap-size: var(--quarter);
20
+ }
21
+
22
+ :host([half]) {
23
+ --gap-size: var(--half);
24
+ }
25
+
26
+ :host([eight-tenth]) {
27
+ --gap-size: var(--eight-tenth);
28
+ }
29
+
30
+ :host([unit]) {
31
+ --gap-size: var(--unit);
32
+ }
33
+
34
+ :host([double]) {
35
+ --gap-size: var(--double);
36
+ }
37
+
38
+ :host([triple]) {
39
+ --gap-size: var(--triple);
40
+ }
41
+
42
+ :host([quad]) {
43
+ --gap-size: var(--quad);
44
+ }
45
+
46
+ :host([oct]) {
47
+ --gap-size: var(--oct);
48
+ }
49
+
50
+ :host([dozen]) {
51
+ --gap-size: var(--dozen);
52
+ }
53
+
54
+ /* Raw scale sizing (size="...") */
55
+ :host([size="01"]) {
56
+ --gap-size: var(--01);
57
+ }
58
+
59
+ :host([size="025"]) {
60
+ --gap-size: var(--025);
61
+ }
62
+
63
+ :host([size="05"]) {
64
+ --gap-size: var(--05);
65
+ }
66
+
67
+ :host([size="08"]) {
68
+ --gap-size: var(--08);
69
+ }
70
+
71
+ :host([size="1"]) {
72
+ --gap-size: var(--1);
73
+ }
74
+
75
+ :host([size="2"]) {
76
+ --gap-size: var(--2);
77
+ }
78
+
79
+ :host([size="3"]) {
80
+ --gap-size: var(--3);
81
+ }
82
+
83
+ :host([size="4"]) {
84
+ --gap-size: var(--4);
85
+ }
86
+
87
+ :host([size="8"]) {
88
+ --gap-size: var(--8);
89
+ }
90
+
91
+ :host([size="12"]) {
92
+ --gap-size: var(--12);
93
+ }
@@ -0,0 +1,30 @@
1
+ /* ds-icon.css */
2
+ /* Icon component styles */
3
+
4
+ :host {
5
+ display: inline-flex;
6
+ justify-content: center;
7
+ align-items: center;
8
+ width: calc(16px * var(--sf));
9
+ height: calc(16px * var(--sf));
10
+ /* Notes style color variable for future implementation */
11
+ --notes-style-color: #ffb6b9;
12
+ }
13
+
14
+ svg {
15
+ width: 100%;
16
+ height: 100%;
17
+ fill: var(--icon-color, currentColor);
18
+ }
19
+
20
+ path {
21
+ fill: var(--icon-color, currentColor);
22
+ }
23
+
24
+ .icon-container {
25
+ display: flex;
26
+ justify-content: center;
27
+ align-items: center;
28
+ width: calc(16px * var(--sf));
29
+ height: calc(16px * var(--sf));
30
+ }
@@ -0,0 +1,46 @@
1
+ /* ds-input.css */
2
+ /* Input component styles */
3
+
4
+ :host {
5
+ display: block;
6
+ width: 100%;
7
+ }
8
+
9
+ input {
10
+ background: var(--base-light-grey, #e8e8e8);
11
+ border: none;
12
+ padding: 0 calc(2px * var(--sf, 1));
13
+ border-radius: 4px;
14
+ font-size: var(--type-size-default);
15
+ font-family: var(
16
+ --typeface-regular,
17
+ -apple-system,
18
+ BlinkMacSystemFont,
19
+ "Segoe UI",
20
+ Roboto,
21
+ sans-serif
22
+ );
23
+ color: var(--base-darker-grey, #797979);
24
+ line-height: calc(20px * var(--sf, 1));
25
+ letter-spacing: calc(-0.4px * var(--sf, 1));
26
+ opacity: 0.5;
27
+ height: calc(28px * var(--sf, 1));
28
+ width: 100%;
29
+ box-sizing: border-box;
30
+ }
31
+
32
+ input:focus {
33
+ outline: none;
34
+ opacity: 1;
35
+ color: var(--base-slate, #1e1e1e);
36
+ }
37
+
38
+ input::placeholder {
39
+ color: var(--base-darker-grey, #797979);
40
+ opacity: 0.5;
41
+ }
42
+
43
+ input:disabled {
44
+ cursor: not-allowed;
45
+ opacity: 0.5;
46
+ }
@@ -0,0 +1,27 @@
1
+ /* ds-pagedots.css */
2
+ /* Page dots indicator component styles for carousels and pagination */
3
+
4
+ :host {
5
+ display: flex;
6
+ gap: calc(11.2px * var(--sf, 1));
7
+ justify-content: center;
8
+ align-items: center;
9
+ height: calc(28px * var(--sf, 1));
10
+ }
11
+
12
+ .dot {
13
+ width: calc(2.8px * var(--sf, 1));
14
+ height: calc(2.8px * var(--sf, 1));
15
+ border-radius: 50%;
16
+ background: white;
17
+ border: calc(0.7px * var(--sf, 1)) solid #696969;
18
+ transition: background 0.2s ease, border 0.2s ease;
19
+ }
20
+
21
+ .dot.active {
22
+ background: #666;
23
+ border: none;
24
+ }
25
+
26
+
27
+
@@ -0,0 +1,29 @@
1
+ /* ds-text.css */
2
+ /* Text component styles for displaying translations */
3
+
4
+ :host {
5
+ display: inline;
6
+ font-family: var(--typeface-regular);
7
+ font-size: var(--type-size-default);
8
+ font-weight: var(--type-weight-default);
9
+ line-height: calc(var(--type-lineheight-default) * var(--sf));
10
+ letter-spacing: calc(var(--type-letterspacing-default) * var(--sf));
11
+ text-align: var(--text-align-default);
12
+ text-transform: var(--text-transform-default);
13
+ text-decoration: var(--text-decoration-default);
14
+ }
15
+
16
+ :host([data-language="ja"]) {
17
+ font-family: var(--typeface-regular-jp);
18
+ }
19
+
20
+ :host([data-language="zh"]),
21
+ :host([data-language="zh-hant"]) {
22
+ font-family: var(--typeface-regular-zh-hant);
23
+ font-weight: 800;
24
+ }
25
+
26
+ :host([data-language="zh-hans"]) {
27
+ font-family: var(--typeface-regular-zh-hans);
28
+ font-weight: 800;
29
+ }
@@ -0,0 +1,49 @@
1
+ /* ds-tooltip.css */
2
+ /* Tooltip component styles */
3
+
4
+ :host {
5
+ position: relative;
6
+ display: inline-block;
7
+ }
8
+
9
+ .slot-wrapper {
10
+ display: inline-flex;
11
+ align-items: center;
12
+ }
13
+
14
+ .bubble {
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ position: absolute;
19
+ left: 50%;
20
+ bottom: 100%;
21
+ transform: translate(-50%, calc(-2px * var(--sf)));
22
+ z-index: 1000;
23
+ pointer-events: none;
24
+ height: calc(var(--08) * var(--sf));
25
+ opacity: 0;
26
+ transition:
27
+ opacity 120ms ease,
28
+ transform 120ms ease;
29
+ background-color: light-dark(var(--black), var(--white));
30
+ color: light-dark(var(--white), var(--black));
31
+ border-radius: 0;
32
+ font-size: var(--type-size-default);
33
+ padding: 0px calc(1px * var(--sf));
34
+ font-family: var(
35
+ --typeface-regular,
36
+ -apple-system,
37
+ BlinkMacSystemFont,
38
+ "Segoe UI",
39
+ Roboto,
40
+ sans-serif
41
+ );
42
+ font-weight: 500;
43
+ white-space: nowrap;
44
+ min-width: max-content;
45
+ }
46
+
47
+ .bubble.visible {
48
+ opacity: 1;
49
+ }
@@ -1,7 +1,8 @@
1
- import { LitElement, html, css } from "lit";
1
+ import { LitElement, html, unsafeCSS } from "lit";
2
2
  import "../2-core/ds-text";
3
3
  import "../2-core/ds-icon";
4
4
  import "./ds-row";
5
+ import styles from "./styles/ds-accordion.css?inline";
5
6
 
6
7
  /**
7
8
  * Native accordion using <details>/<summary> (no JS toggle logic).
@@ -27,51 +28,7 @@ export class Accordion extends LitElement {
27
28
  this.open = false;
28
29
  }
29
30
 
30
- static styles = css`
31
- :host {
32
- display: block;
33
- width: calc(240px * var(--sf));
34
- color: var(--text-color-primary);
35
- }
36
-
37
- details {
38
- width: 100%;
39
- }
40
-
41
- summary {
42
- cursor: pointer;
43
- user-select: none;
44
- list-style: none;
45
- outline: none;
46
- }
47
-
48
- summary::-webkit-details-marker {
49
- display: none;
50
- }
51
-
52
- .summaryRow {
53
- width: 100%;
54
- }
55
-
56
- ds-icon.chevron {
57
- transform: rotate(0deg);
58
- transition: transform 140ms ease;
59
- }
60
-
61
- details[open] ds-icon.chevron {
62
- transform: rotate(180deg);
63
- }
64
-
65
- .detailsBody {
66
- padding-top: calc(var(--half) * var(--sf));
67
- }
68
-
69
- .detailsText {
70
- display: block;
71
- white-space: normal;
72
- text-align: left;
73
- }
74
- `;
31
+ static styles = unsafeCSS(styles);
75
32
 
76
33
  render() {
77
34
  return html`