@retalia/pos-components 0.0.4 → 0.0.5

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 (45) hide show
  1. package/fesm2022/retalia-pos-components.mjs +1089 -0
  2. package/fesm2022/retalia-pos-components.mjs.map +1 -0
  3. package/package.json +39 -17
  4. package/types/retalia-pos-components.d.ts +300 -0
  5. package/eslint.config.js +0 -32
  6. package/ng-package.json +0 -14
  7. package/src/lib/basket/pos-basket.html +0 -124
  8. package/src/lib/basket/pos-basket.scss +0 -285
  9. package/src/lib/basket/pos-basket.spec.ts +0 -198
  10. package/src/lib/basket/pos-basket.stories.ts +0 -114
  11. package/src/lib/basket/pos-basket.ts +0 -142
  12. package/src/lib/item-entry/pos-item-entry.html +0 -41
  13. package/src/lib/item-entry/pos-item-entry.scss +0 -145
  14. package/src/lib/item-entry/pos-item-entry.spec.ts +0 -123
  15. package/src/lib/item-entry/pos-item-entry.stories.ts +0 -31
  16. package/src/lib/item-entry/pos-item-entry.ts +0 -81
  17. package/src/lib/login/pos-login.html +0 -82
  18. package/src/lib/login/pos-login.scss +0 -238
  19. package/src/lib/login/pos-login.spec.ts +0 -89
  20. package/src/lib/login/pos-login.stories.ts +0 -36
  21. package/src/lib/login/pos-login.ts +0 -150
  22. package/src/lib/receipt/pos-receipt.html +0 -116
  23. package/src/lib/receipt/pos-receipt.scss +0 -367
  24. package/src/lib/receipt/pos-receipt.spec.ts +0 -188
  25. package/src/lib/receipt/pos-receipt.stories.ts +0 -163
  26. package/src/lib/receipt/pos-receipt.ts +0 -129
  27. package/src/lib/tender/pos-tender.html +0 -79
  28. package/src/lib/tender/pos-tender.scss +0 -318
  29. package/src/lib/tender/pos-tender.spec.ts +0 -150
  30. package/src/lib/tender/pos-tender.stories.ts +0 -47
  31. package/src/lib/tender/pos-tender.ts +0 -154
  32. package/src/lib/tokens/pos-theme-css.spec.ts +0 -75
  33. package/src/lib/tokens/pos-theme-css.ts +0 -123
  34. package/src/lib/tokens/pos-token-catalog.ts +0 -514
  35. package/src/lib/tokens/pos-tokens.html +0 -351
  36. package/src/lib/tokens/pos-tokens.scss +0 -437
  37. package/src/lib/tokens/pos-tokens.spec.ts +0 -164
  38. package/src/lib/tokens/pos-tokens.stories.ts +0 -22
  39. package/src/lib/tokens/pos-tokens.ts +0 -208
  40. package/src/public-api.ts +0 -37
  41. package/tsconfig.lib.json +0 -14
  42. package/tsconfig.lib.prod.json +0 -11
  43. package/tsconfig.spec.json +0 -11
  44. /package/{src/styles → styles}/styles.css +0 -0
  45. /package/{src/styles → styles}/tokens.css +0 -0
@@ -1,351 +0,0 @@
1
- <article class="pos-tokens__page">
2
- <header class="pos-tokens__intro">
3
- <p class="pos-tokens__kicker">@retalia/pos-components</p>
4
- <h1 class="pos-tokens__title">Design tokens</h1>
5
- <p class="pos-tokens__lede">
6
- Click a sample or token to edit it. Changes are live overrides in this lab only —
7
- package defaults are never overwritten. Export a complete <code>:root</code> CSS
8
- file for the consuming POS, and import that file back later to resume editing.
9
- </p>
10
- <div class="pos-tokens__toolbar">
11
- <input
12
- #importFile
13
- class="pos-tokens__file"
14
- type="file"
15
- accept=".css,text/css"
16
- (change)="onImportFile($event)"
17
- />
18
- <button type="button" class="pos-tokens__tool pos-tokens__tool--primary" (click)="exportThemeFile()">
19
- Export CSS
20
- </button>
21
- <button type="button" class="pos-tokens__tool" (click)="importFile.click()">
22
- Import CSS
23
- </button>
24
- <button
25
- type="button"
26
- class="pos-tokens__tool"
27
- [disabled]="!hasOverrides()"
28
- (click)="resetTheme()"
29
- >
30
- Reset overrides
31
- </button>
32
- </div>
33
- <p class="pos-tokens__status" role="status" aria-live="polite">{{ statusMessage() }}</p>
34
- </header>
35
-
36
- <div class="pos-tokens__layout">
37
- <div class="pos-tokens__gallery">
38
- <section class="pos-tokens__section" aria-labelledby="pos-tokens-samples">
39
- <h2 id="pos-tokens-samples" class="pos-tokens__heading">In action</h2>
40
- <p class="pos-tokens__hint">Click a control to edit the tokens it uses.</p>
41
- <div class="pos-tokens__samples">
42
- <button
43
- type="button"
44
- class="pos-tokens__sample"
45
- [class.pos-tokens__sample--selected]="isSampleSelected('primary')"
46
- [attr.aria-pressed]="isSampleSelected('primary')"
47
- (click)="selectSample('primary')"
48
- >
49
- <span class="pos-tokens__btn pos-tokens__btn--primary">Primary</span>
50
- </button>
51
- <button
52
- type="button"
53
- class="pos-tokens__sample"
54
- [class.pos-tokens__sample--selected]="isSampleSelected('success')"
55
- [attr.aria-pressed]="isSampleSelected('success')"
56
- (click)="selectSample('success')"
57
- >
58
- <span class="pos-tokens__btn pos-tokens__btn--success">Success</span>
59
- </button>
60
- <button
61
- type="button"
62
- class="pos-tokens__sample"
63
- [class.pos-tokens__sample--selected]="isSampleSelected('danger')"
64
- [attr.aria-pressed]="isSampleSelected('danger')"
65
- (click)="selectSample('danger')"
66
- >
67
- <span class="pos-tokens__btn pos-tokens__btn--danger">Danger</span>
68
- </button>
69
- <button
70
- type="button"
71
- class="pos-tokens__sample"
72
- [class.pos-tokens__sample--selected]="isSampleSelected('disabled')"
73
- [attr.aria-pressed]="isSampleSelected('disabled')"
74
- (click)="selectSample('disabled')"
75
- >
76
- <span class="pos-tokens__btn pos-tokens__btn--disabled">Disabled</span>
77
- </button>
78
- <button
79
- type="button"
80
- class="pos-tokens__sample pos-tokens__sample--text"
81
- [class.pos-tokens__sample--selected]="isSampleSelected('text')"
82
- [attr.aria-pressed]="isSampleSelected('text')"
83
- (click)="selectSample('text')"
84
- >
85
- <span class="pos-tokens__sample-text">
86
- Body text · <span class="pos-tokens__sample-muted">muted</span>
87
- </span>
88
- </button>
89
- <button
90
- type="button"
91
- class="pos-tokens__sample pos-tokens__sample--text"
92
- [class.pos-tokens__sample--selected]="isSampleSelected('error')"
93
- [attr.aria-pressed]="isSampleSelected('error')"
94
- (click)="selectSample('error')"
95
- >
96
- <span class="pos-tokens__sample-danger">Danger / error message</span>
97
- </button>
98
- </div>
99
- </section>
100
-
101
- <section class="pos-tokens__section" aria-labelledby="pos-tokens-colors">
102
- <h2 id="pos-tokens-colors" class="pos-tokens__heading">Color</h2>
103
- <ul class="pos-tokens__swatch-grid">
104
- @for (token of colorTokens; track token.variable) {
105
- <li>
106
- <button
107
- type="button"
108
- class="pos-tokens__pick"
109
- [class.pos-tokens__pick--selected]="isTokenSelected(token.variable)"
110
- [class.pos-tokens__pick--modified]="isModified(token.variable)"
111
- [attr.aria-pressed]="isTokenSelected(token.variable)"
112
- (click)="selectToken(token)"
113
- >
114
- <span
115
- class="pos-tokens__chip"
116
- [style.background]="'var(' + token.variable + ')'"
117
- ></span>
118
- <span class="pos-tokens__swatch-meta">
119
- <span class="pos-tokens__swatch-name">
120
- {{ token.name }}
121
- @if (isModified(token.variable)) {
122
- <span class="pos-tokens__edited">Edited</span>
123
- }
124
- </span>
125
- <code class="pos-tokens__swatch-var">{{ token.variable }}</code>
126
- </span>
127
- </button>
128
- </li>
129
- }
130
- </ul>
131
- </section>
132
-
133
- <section class="pos-tokens__section" aria-labelledby="pos-tokens-radius">
134
- <h2 id="pos-tokens-radius" class="pos-tokens__heading">Radius</h2>
135
- <ul class="pos-tokens__radius-row">
136
- @for (token of radiusTokens; track token.variable) {
137
- <li>
138
- <button
139
- type="button"
140
- class="pos-tokens__pick"
141
- [class.pos-tokens__pick--selected]="isTokenSelected(token.variable)"
142
- [class.pos-tokens__pick--modified]="isModified(token.variable)"
143
- [attr.aria-pressed]="isTokenSelected(token.variable)"
144
- (click)="selectToken(token)"
145
- >
146
- <span
147
- class="pos-tokens__radius-box"
148
- [style.border-radius]="'var(' + token.variable + ')'"
149
- ></span>
150
- <span class="pos-tokens__swatch-name">
151
- {{ token.name }}
152
- @if (isModified(token.variable)) {
153
- <span class="pos-tokens__edited">Edited</span>
154
- }
155
- </span>
156
- <code class="pos-tokens__swatch-var">{{ token.variable }}</code>
157
- </button>
158
- </li>
159
- }
160
- </ul>
161
- </section>
162
-
163
- <section class="pos-tokens__section" aria-labelledby="pos-tokens-space">
164
- <h2 id="pos-tokens-space" class="pos-tokens__heading">Space</h2>
165
- <ul class="pos-tokens__space-list">
166
- @for (token of spaceTokens; track token.variable) {
167
- <li>
168
- <button
169
- type="button"
170
- class="pos-tokens__pick pos-tokens__pick--row"
171
- [class.pos-tokens__pick--selected]="isTokenSelected(token.variable)"
172
- [class.pos-tokens__pick--modified]="isModified(token.variable)"
173
- [attr.aria-pressed]="isTokenSelected(token.variable)"
174
- (click)="selectToken(token)"
175
- >
176
- <span
177
- class="pos-tokens__space-bar"
178
- [style.width]="'var(' + token.variable + ')'"
179
- ></span>
180
- <span class="pos-tokens__swatch-meta">
181
- <span class="pos-tokens__swatch-name">
182
- {{ token.name }}
183
- @if (isModified(token.variable)) {
184
- <span class="pos-tokens__edited">Edited</span>
185
- }
186
- </span>
187
- <code class="pos-tokens__swatch-var">{{ token.variable }}</code>
188
- </span>
189
- </button>
190
- </li>
191
- }
192
- </ul>
193
- </section>
194
-
195
- <section class="pos-tokens__section" aria-labelledby="pos-tokens-type">
196
- <h2 id="pos-tokens-type" class="pos-tokens__heading">Typography</h2>
197
- <ul class="pos-tokens__type-list">
198
- @for (token of typeTokens; track token.variable) {
199
- <li>
200
- <button
201
- type="button"
202
- class="pos-tokens__pick"
203
- [class.pos-tokens__pick--selected]="isTokenSelected(token.variable)"
204
- [class.pos-tokens__pick--modified]="isModified(token.variable)"
205
- [attr.aria-pressed]="isTokenSelected(token.variable)"
206
- (click)="selectToken(token)"
207
- >
208
- <span class="pos-tokens__swatch-name">
209
- {{ token.name }}
210
- @if (isModified(token.variable)) {
211
- <span class="pos-tokens__edited">Edited</span>
212
- }
213
- </span>
214
- <code class="pos-tokens__swatch-var">{{ token.variable }}</code>
215
- @switch (token.preview) {
216
- @case ('font-family') {
217
- <span
218
- class="pos-tokens__type-preview"
219
- [style.font-family]="'var(' + token.variable + ')'"
220
- >
221
- The quick brown fox
222
- </span>
223
- }
224
- @case ('font-size') {
225
- <span
226
- class="pos-tokens__type-preview"
227
- [style.font-size]="'var(' + token.variable + ')'"
228
- >
229
- The quick brown fox
230
- </span>
231
- }
232
- @case ('font-weight') {
233
- <span
234
- class="pos-tokens__type-preview"
235
- [style.font-weight]="'var(' + token.variable + ')'"
236
- >
237
- The quick brown fox
238
- </span>
239
- }
240
- @case ('letter-spacing') {
241
- <span
242
- class="pos-tokens__type-preview pos-tokens__type-preview--caps"
243
- [style.letter-spacing]="'var(' + token.variable + ')'"
244
- >
245
- Display
246
- </span>
247
- }
248
- }
249
- </button>
250
- </li>
251
- }
252
- </ul>
253
- </section>
254
-
255
- <section class="pos-tokens__section" aria-labelledby="pos-tokens-controls">
256
- <h2 id="pos-tokens-controls" class="pos-tokens__heading">Controls</h2>
257
- <ul class="pos-tokens__control-list">
258
- @for (token of controlTokens; track token.variable) {
259
- <li>
260
- <button
261
- type="button"
262
- class="pos-tokens__pick pos-tokens__pick--row"
263
- [class.pos-tokens__pick--selected]="isTokenSelected(token.variable)"
264
- [class.pos-tokens__pick--modified]="isModified(token.variable)"
265
- [attr.aria-pressed]="isTokenSelected(token.variable)"
266
- (click)="selectToken(token)"
267
- >
268
- <span
269
- class="pos-tokens__size-box"
270
- [style.width]="'var(' + token.variable + ')'"
271
- [style.height]="'var(' + token.variable + ')'"
272
- ></span>
273
- <span class="pos-tokens__swatch-meta">
274
- <span class="pos-tokens__swatch-name">
275
- {{ token.name }}
276
- @if (isModified(token.variable)) {
277
- <span class="pos-tokens__edited">Edited</span>
278
- }
279
- </span>
280
- <code class="pos-tokens__swatch-var">{{ token.variable }}</code>
281
- </span>
282
- </button>
283
- </li>
284
- }
285
- </ul>
286
- </section>
287
- </div>
288
-
289
- <aside class="pos-tokens__inspector" aria-labelledby="pos-tokens-inspector-title">
290
- <div class="pos-tokens__inspector-header">
291
- <h2 id="pos-tokens-inspector-title" class="pos-tokens__heading">
292
- {{ selection()?.title ?? 'Theme editor' }}
293
- </h2>
294
- @if (selection()) {
295
- <button type="button" class="pos-tokens__tool pos-tokens__tool--quiet" (click)="clearSelection()">
296
- Close
297
- </button>
298
- }
299
- </div>
300
-
301
- @if (!selection()) {
302
- <p class="pos-tokens__hint">
303
- Select a sample or token to change its values. Export writes a complete CSS
304
- file the host POS can load after the package stylesheet.
305
- </p>
306
- } @else {
307
- <ul class="pos-tokens__fields">
308
- @for (token of selectedTokens(); track token.variable) {
309
- <li class="pos-tokens__field">
310
- <label class="pos-tokens__field-label" [attr.for]="tokenFieldId(token.variable)">
311
- {{ token.name }}
312
- </label>
313
- <code class="pos-tokens__swatch-var">{{ token.variable }}</code>
314
- <div class="pos-tokens__field-controls">
315
- @if (token.kind === 'color') {
316
- @if (colorInputValue(token.variable); as hex) {
317
- <input
318
- class="pos-tokens__color"
319
- type="color"
320
- [value]="hex"
321
- [attr.aria-label]="token.name + ' color'"
322
- (input)="onTokenInput(token.variable, $event)"
323
- />
324
- }
325
- }
326
- <input
327
- class="pos-tokens__value"
328
- type="text"
329
- [id]="tokenFieldId(token.variable)"
330
- [value]="currentValue(token.variable)"
331
- spellcheck="false"
332
- autocomplete="off"
333
- (input)="onTokenInput(token.variable, $event)"
334
- />
335
- </div>
336
- <p class="pos-tokens__default">
337
- Default
338
- <code>{{ defaultValue(token.variable) }}</code>
339
- </p>
340
- @if (isModified(token.variable)) {
341
- <button type="button" class="pos-tokens__reset" (click)="resetToken(token.variable)">
342
- Reset to default
343
- </button>
344
- }
345
- </li>
346
- }
347
- </ul>
348
- }
349
- </aside>
350
- </div>
351
- </article>