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 +1,252 @@
1
- // here should be an input component
1
+ // ds-input.ts
2
+ // Input component for text and other input types
3
+ import { LitElement, html, css } from "lit";
4
+ import "./ds-text";
5
+ export class Input extends LitElement {
6
+ constructor() {
7
+ super();
8
+ this.type = "text";
9
+ this.name = "";
10
+ this.value = "";
11
+ this.placeholder = "";
12
+ this.placeholderKey = "";
13
+ this.label = "";
14
+ this.labelKey = "";
15
+ this.disabled = false;
16
+ this.readonly = false;
17
+ this.required = false;
18
+ this.autofocus = false;
19
+ this.autocomplete = "off";
20
+ this.pattern = "";
21
+ this.minlength = 0;
22
+ this.maxlength = 0;
23
+ this.min = "";
24
+ this.max = "";
25
+ this.step = "";
26
+ this.variant = "default";
27
+ this.error = "";
28
+ this.errorKey = "";
29
+ this._focused = false;
30
+ }
31
+ _handleInput(e) {
32
+ const target = e.target;
33
+ this.value = target.value;
34
+ this.dispatchEvent(new CustomEvent("input-change", {
35
+ detail: { value: this.value, name: this.name },
36
+ bubbles: true,
37
+ }));
38
+ }
39
+ _handleFocus() {
40
+ this._focused = true;
41
+ this.dispatchEvent(new CustomEvent("input-focus", { bubbles: true }));
42
+ }
43
+ _handleBlur() {
44
+ this._focused = false;
45
+ this.dispatchEvent(new CustomEvent("input-blur", { bubbles: true }));
46
+ }
47
+ /**
48
+ * Focus the input element
49
+ */
50
+ focus() {
51
+ const input = this.shadowRoot?.querySelector("input");
52
+ input?.focus();
53
+ }
54
+ /**
55
+ * Blur the input element
56
+ */
57
+ blur() {
58
+ const input = this.shadowRoot?.querySelector("input");
59
+ input?.blur();
60
+ }
61
+ /**
62
+ * Select all text in the input
63
+ */
64
+ select() {
65
+ const input = this.shadowRoot?.querySelector("input");
66
+ input?.select();
67
+ }
68
+ render() {
69
+ const hasError = Boolean(this.error || this.errorKey);
70
+ return html `
71
+ <div class="input-wrapper">
72
+ ${this.label || this.labelKey
73
+ ? html `
74
+ <label for="input">
75
+ ${this.labelKey
76
+ ? html `<ds-text .key=${this.labelKey}></ds-text>`
77
+ : this.label}
78
+ </label>
79
+ `
80
+ : null}
81
+
82
+ <div class="input-container">
83
+ <input
84
+ id="input"
85
+ .type=${this.type}
86
+ .name=${this.name}
87
+ .value=${this.value}
88
+ .placeholder=${this.placeholder}
89
+ ?disabled=${this.disabled}
90
+ ?readonly=${this.readonly}
91
+ ?required=${this.required}
92
+ ?autofocus=${this.autofocus}
93
+ autocomplete=${this.autocomplete}
94
+ pattern=${this.pattern || ""}
95
+ minlength=${this.minlength || ""}
96
+ maxlength=${this.maxlength || ""}
97
+ min=${this.min}
98
+ max=${this.max}
99
+ step=${this.step}
100
+ class=${hasError ? "has-error" : ""}
101
+ @input=${this._handleInput}
102
+ @focus=${this._handleFocus}
103
+ @blur=${this._handleBlur}
104
+ />
105
+ </div>
106
+
107
+ ${hasError
108
+ ? html `
109
+ <div class="error-message">
110
+ ${this.errorKey
111
+ ? html `<ds-text .key=${this.errorKey}></ds-text>`
112
+ : this.error}
113
+ </div>
114
+ `
115
+ : null}
116
+ </div>
117
+ `;
118
+ }
119
+ }
120
+ Input.properties = {
121
+ type: { type: String, reflect: true },
122
+ name: { type: String, reflect: true },
123
+ value: { type: String },
124
+ placeholder: { type: String },
125
+ placeholderKey: { type: String, attribute: "placeholder-key" },
126
+ label: { type: String },
127
+ labelKey: { type: String, attribute: "label-key" },
128
+ disabled: { type: Boolean, reflect: true },
129
+ readonly: { type: Boolean, reflect: true },
130
+ required: { type: Boolean, reflect: true },
131
+ autofocus: { type: Boolean },
132
+ autocomplete: { type: String },
133
+ pattern: { type: String },
134
+ minlength: { type: Number },
135
+ maxlength: { type: Number },
136
+ min: { type: String },
137
+ max: { type: String },
138
+ step: { type: String },
139
+ variant: { type: String, reflect: true },
140
+ error: { type: String },
141
+ errorKey: { type: String, attribute: "error-key" },
142
+ _focused: { type: Boolean, state: true },
143
+ };
144
+ Input.styles = css `
145
+ :host {
146
+ display: block;
147
+ width: 100%;
148
+ }
149
+
150
+ .input-wrapper {
151
+ display: flex;
152
+ flex-direction: column;
153
+ gap: calc(var(--025) * var(--sf, 1));
154
+ width: 100%;
155
+ }
156
+
157
+ label {
158
+ font-family: var(--typeface-regular);
159
+ font-size: calc(12px * var(--sf, 1));
160
+ color: var(--text-color-secondary);
161
+ }
162
+
163
+ .input-container {
164
+ position: relative;
165
+ display: flex;
166
+ align-items: center;
167
+ width: 100%;
168
+ }
169
+
170
+ input {
171
+ width: 100%;
172
+ height: calc(var(--1) * var(--sf, 1));
173
+ padding: 0 calc(var(--025) * var(--sf, 1));
174
+ font-family: var(--typeface-regular);
175
+ font-size: calc(14px * var(--sf, 1));
176
+ color: var(--text-color-primary);
177
+ background-color: var(--input-background, transparent);
178
+ border: 1px solid var(--input-border-color, var(--border-color, #ccc));
179
+ border-radius: calc(var(--025) * var(--sf, 1));
180
+ outline: none;
181
+ transition:
182
+ border-color 0.2s ease,
183
+ box-shadow 0.2s ease;
184
+ box-sizing: border-box;
185
+ }
186
+
187
+ input::placeholder {
188
+ color: var(--text-color-tertiary, #999);
189
+ }
190
+
191
+ input:focus {
192
+ border-color: var(--accent-color, #007aff);
193
+ box-shadow: 0 0 0 2px var(--input-focus-ring, rgba(0, 122, 255, 0.2));
194
+ }
195
+
196
+ input:disabled {
197
+ opacity: 0.5;
198
+ cursor: not-allowed;
199
+ background-color: var(--input-disabled-background, #f5f5f5);
200
+ }
201
+
202
+ input:read-only {
203
+ background-color: var(--input-readonly-background, #fafafa);
204
+ }
205
+
206
+ :host([variant="filled"]) input {
207
+ background-color: var(
208
+ --input-filled-background,
209
+ var(--surface-color-secondary, #f5f5f5)
210
+ );
211
+ border: none;
212
+ border-bottom: 2px solid var(--border-color, #ccc);
213
+ border-radius: calc(var(--025) * var(--sf, 1))
214
+ calc(var(--025) * var(--sf, 1)) 0 0;
215
+ }
216
+
217
+ :host([variant="filled"]) input:focus {
218
+ border-bottom-color: var(--accent-color, #007aff);
219
+ box-shadow: none;
220
+ }
221
+
222
+ :host([variant="outlined"]) input {
223
+ background-color: transparent;
224
+ border: 2px solid var(--border-color, #ccc);
225
+ }
226
+
227
+ :host([variant="outlined"]) input:focus {
228
+ border-color: var(--accent-color, #007aff);
229
+ }
230
+
231
+ .error-message {
232
+ font-family: var(--typeface-regular);
233
+ font-size: calc(12px * var(--sf, 1));
234
+ color: var(--error-color, #ff3b30);
235
+ margin-top: calc(var(--025) * var(--sf, 1));
236
+ }
237
+
238
+ :host([required]) label::after {
239
+ content: " *";
240
+ color: var(--error-color, #ff3b30);
241
+ }
242
+
243
+ /* Error state */
244
+ input.has-error {
245
+ border-color: var(--error-color, #ff3b30);
246
+ }
247
+
248
+ input.has-error:focus {
249
+ box-shadow: 0 0 0 2px rgba(255, 59, 48, 0.2);
250
+ }
251
+ `;
252
+ customElements.define("ds-input", Input);
@@ -0,0 +1,32 @@
1
+ import { LitElement } from "lit";
2
+ /**
3
+ * Page dots indicator component for carousels and pagination.
4
+ *
5
+ * Usage:
6
+ * - <ds-pagedots count="3" active="0"></ds-pagedots>
7
+ */
8
+ export declare class Pagedots extends LitElement {
9
+ static properties: {
10
+ /** Number of dots to display */
11
+ count: {
12
+ type: NumberConstructor;
13
+ reflect: boolean;
14
+ };
15
+ /** Index of the active dot (0-based) */
16
+ active: {
17
+ type: NumberConstructor;
18
+ reflect: boolean;
19
+ };
20
+ };
21
+ count: number;
22
+ active: number;
23
+ constructor();
24
+ static styles: import("lit").CSSResult;
25
+ render(): import("lit-html").TemplateResult<1>;
26
+ }
27
+ declare global {
28
+ interface HTMLElementTagNameMap {
29
+ "ds-pagedots": Pagedots;
30
+ }
31
+ }
32
+ //# sourceMappingURL=ds-pagedots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds-pagedots.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-pagedots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAGlD;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,UAAU;IACtC,MAAM,CAAC,UAAU;QACf,gCAAgC;;;;;QAEhC,wCAAwC;;;;;MAExC;IAEM,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;;IAQvB,MAAM,CAAC,MAAM,0BAAqB;IAElC,MAAM;CAeP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,QAAQ,CAAC;KACzB;CACF"}
@@ -0,0 +1,36 @@
1
+ import { LitElement, html, unsafeCSS } from "lit";
2
+ import styles from "./styles/ds-pagedots.css?inline";
3
+ /**
4
+ * Page dots indicator component for carousels and pagination.
5
+ *
6
+ * Usage:
7
+ * - <ds-pagedots count="3" active="0"></ds-pagedots>
8
+ */
9
+ export class Pagedots extends LitElement {
10
+ constructor() {
11
+ super();
12
+ this.count = 3;
13
+ this.active = 0;
14
+ }
15
+ render() {
16
+ const dots = Array.from({ length: this.count }, (_, i) => i);
17
+ return html `
18
+ ${dots.map((index) => html `
19
+ <span
20
+ class="dot ${index === this.active ? "active" : ""}"
21
+ role="button"
22
+ aria-label="Slide ${index + 1}"
23
+ aria-current="${index === this.active ? "true" : "false"}"
24
+ ></span>
25
+ `)}
26
+ `;
27
+ }
28
+ }
29
+ Pagedots.properties = {
30
+ /** Number of dots to display */
31
+ count: { type: Number, reflect: true },
32
+ /** Index of the active dot (0-based) */
33
+ active: { type: Number, reflect: true },
34
+ };
35
+ Pagedots.styles = unsafeCSS(styles);
36
+ customElements.define("ds-pagedots", Pagedots);
@@ -1 +1 @@
1
- {"version":3,"file":"ds-text.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C;;;;;;;GAOG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,KAAK,UAAU;;;;;;;;;;;;;;;;;;MAOpB;IAEO,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,aAAa,CAAqC;;IAsB1D,MAAM,CAAC,MAAM,0BA2BX;IAEF,iBAAiB;IAsBjB,oBAAoB;IAYpB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ/C,wBAAwB;IA8BxB,SAAS;IAmBT,MAAM;CAGP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
1
+ {"version":3,"file":"ds-text.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAIlD;;;;;;;GAOG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,KAAK,UAAU;;;;;;;;;;;;;;;;;;MAOpB;IAEO,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,aAAa,CAAqC;;IAsB1D,MAAM,CAAC,MAAM,0BAAqB;IAElC,iBAAiB;IAsBjB,oBAAoB;IAYpB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ/C,wBAAwB;IA8BxB,SAAS;IAmBT,MAAM;CAGP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
@@ -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
  * A component for displaying text from translations
5
6
  *
@@ -106,32 +107,5 @@ export class Text extends LitElement {
106
107
  return html `<span>${this._text || this.defaultValue || this.key}</span>`;
107
108
  }
108
109
  }
109
- Text.styles = css `
110
- :host {
111
- display: inline;
112
- font-family: var(--typeface-regular);
113
- font-size: var(--type-size-default);
114
- font-weight: var(--type-weight-default);
115
- line-height: calc(var(--type-lineheight-default) * var(--sf));
116
- letter-spacing: calc(var(--type-letterspacing-default) * var(--sf));
117
- text-align: var(--text-align-default);
118
- text-transform: var(--text-transform-default);
119
- text-decoration: var(--text-decoration-default);
120
- }
121
-
122
- :host([data-language="ja"]) {
123
- font-family: var(--typeface-regular-jp);
124
- }
125
-
126
- :host([data-language="zh"]),
127
- :host([data-language="zh-hant"]) {
128
- font-family: var(--typeface-regular-zh-hant);
129
- font-weight: 800;
130
- }
131
-
132
- :host([data-language="zh-hans"]) {
133
- font-family: var(--typeface-regular-zh-hans);
134
- font-weight: 800;
135
- }
136
- `;
110
+ Text.styles = unsafeCSS(styles);
137
111
  customElements.define("ds-text", Text);
@@ -1 +1 @@
1
- {"version":3,"file":"ds-tooltip.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,qBAAa,OAAQ,SAAQ,UAAU;IACrC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;MAKf;IAEM,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAU;IAE1B,OAAO,CAAC,mBAAmB,CAGzB;IACF,OAAO,CAAC,iBAAiB,CAKvB;;IAsCF,MAAM,CAAC,MAAM,0BA+CX;IAEF,iBAAiB,IAAI,IAAI;IAmBzB,oBAAoB,IAAI,IAAI;IAiB5B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM5C,SAAS,IAAI,IAAI;IAiBjB,MAAM;CAUP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,OAAO,CAAC;KACvB;CACF"}
1
+ {"version":3,"file":"ds-tooltip.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAIlD,qBAAa,OAAQ,SAAQ,UAAU;IACrC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;MAKf;IAEM,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAU;IAE1B,OAAO,CAAC,mBAAmB,CAGzB;IACF,OAAO,CAAC,iBAAiB,CAKvB;;IAsCF,MAAM,CAAC,MAAM,0BAAqB;IAElC,iBAAiB,IAAI,IAAI;IAmBzB,oBAAoB,IAAI,IAAI;IAiB5B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM5C,SAAS,IAAI,IAAI;IAiBjB,MAAM;CAUP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,OAAO,CAAC;KACvB;CACF"}
@@ -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
  export class Tooltip extends LitElement {
4
5
  constructor() {
5
6
  super();
@@ -90,52 +91,5 @@ Tooltip.properties = {
90
91
  _text: { state: true },
91
92
  _visible: { state: true },
92
93
  };
93
- Tooltip.styles = css `
94
- :host {
95
- position: relative;
96
- display: inline-block;
97
- }
98
-
99
- .slot-wrapper {
100
- display: inline-flex;
101
- align-items: center;
102
- }
103
-
104
- .bubble {
105
- display: flex;
106
- align-items: center;
107
- justify-content: center;
108
- position: absolute;
109
- left: 50%;
110
- bottom: 100%;
111
- transform: translate(-50%, calc(-2px * var(--sf)));
112
- z-index: 1000;
113
- pointer-events: none;
114
- height: calc(var(--08) * var(--sf));
115
- opacity: 0;
116
- transition:
117
- opacity 120ms ease,
118
- transform 120ms ease;
119
- background-color: light-dark(var(--black), var(--white));
120
- color: light-dark(var(--white), var(--black));
121
- border-radius: 0;
122
- font-size: var(--type-size-default);
123
- padding: 0px calc(1px * var(--sf));
124
- font-family: var(
125
- --typeface-regular,
126
- -apple-system,
127
- BlinkMacSystemFont,
128
- "Segoe UI",
129
- Roboto,
130
- sans-serif
131
- );
132
- font-weight: 500;
133
- white-space: nowrap;
134
- min-width: max-content;
135
- }
136
-
137
- .bubble.visible {
138
- opacity: 1;
139
- }
140
- `;
94
+ Tooltip.styles = unsafeCSS(styles);
141
95
  customElements.define("ds-tooltip", Tooltip);
@@ -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
+ }