@remit/ui 0.0.113 → 0.0.114

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 (48) hide show
  1. package/package.json +1 -1
  2. package/src/components/app-shell-slotted.render.test.ts +83 -0
  3. package/src/components/app-shell-slotted.tsx +31 -3
  4. package/src/components/attendee-row.render.test.ts +73 -0
  5. package/src/components/attendee-row.stories.tsx +68 -0
  6. package/src/components/attendee-row.tsx +96 -0
  7. package/src/components/calendar-event-chip.render.test.ts +67 -0
  8. package/src/components/calendar-event-chip.stories.tsx +128 -0
  9. package/src/components/calendar-event-chip.tsx +116 -0
  10. package/src/components/calendar-list.render.test.ts +77 -0
  11. package/src/components/calendar-list.stories.tsx +130 -0
  12. package/src/components/calendar-list.tsx +225 -0
  13. package/src/components/calendar-toolbar.render.test.ts +69 -0
  14. package/src/components/calendar-toolbar.stories.tsx +55 -0
  15. package/src/components/calendar-toolbar.tsx +178 -0
  16. package/src/components/calendar-types.ts +135 -0
  17. package/src/components/custom-recurrence.stories.tsx +106 -0
  18. package/src/components/custom-recurrence.tsx +411 -0
  19. package/src/components/event-detail.render.test.ts +104 -0
  20. package/src/components/event-detail.stories.tsx +178 -0
  21. package/src/components/event-detail.tsx +188 -0
  22. package/src/components/event-editor-pane.tsx +54 -0
  23. package/src/components/event-editor.render.test.ts +83 -0
  24. package/src/components/event-editor.stories.tsx +99 -0
  25. package/src/components/event-editor.tsx +480 -0
  26. package/src/components/event-quick-entry.render.test.ts +40 -0
  27. package/src/components/event-quick-entry.stories.tsx +56 -0
  28. package/src/components/event-quick-entry.tsx +159 -0
  29. package/src/components/event-suggestion-card.render.test.ts +65 -0
  30. package/src/components/event-suggestion-card.stories.tsx +93 -0
  31. package/src/components/event-suggestion-card.tsx +116 -0
  32. package/src/components/flow-screen.tsx +169 -0
  33. package/src/components/intelligence-panel.stories.tsx +5 -1
  34. package/src/components/intelligence-panel.tsx +4 -0
  35. package/src/components/message-list-pane.render.test.ts +2 -2
  36. package/src/components/message-list-pane.stories.tsx +1 -1
  37. package/src/components/nav-sidebar.tsx +20 -0
  38. package/src/components/recurrence-scope-prompt.render.test.ts +36 -0
  39. package/src/components/recurrence-scope-prompt.stories.tsx +46 -0
  40. package/src/components/recurrence-scope-prompt.tsx +84 -0
  41. package/src/components/selection-wizard.tsx +19 -69
  42. package/src/index.ts +111 -0
  43. package/src/lib/calendar-color.ts +71 -0
  44. package/src/lib/event-phrase.test.ts +89 -0
  45. package/src/lib/event-phrase.ts +228 -0
  46. package/src/lib/recurrence.test.ts +141 -0
  47. package/src/lib/recurrence.ts +266 -0
  48. package/src/tokens.css +63 -0
package/src/tokens.css CHANGED
@@ -75,6 +75,26 @@
75
75
  /* focus ring */
76
76
  --color-ring: var(--ring);
77
77
 
78
+ /* Per-calendar identity. One calendar owns one hue, and the hue is the
79
+ only way two calendars are told apart on a grid, so these are the one
80
+ place the UI needs colour the semantic palette cannot supply. Six hues,
81
+ spaced far enough apart to survive a 4px event chip, each steering clear
82
+ of the accent green, the cyan and the danger coral so a calendar never
83
+ reads as a status. `-soft` is the chip fill; the base is the marker and
84
+ the text on that fill. */
85
+ --color-cal-1: var(--cal-1);
86
+ --color-cal-1-soft: var(--cal-1-soft);
87
+ --color-cal-2: var(--cal-2);
88
+ --color-cal-2-soft: var(--cal-2-soft);
89
+ --color-cal-3: var(--cal-3);
90
+ --color-cal-3-soft: var(--cal-3-soft);
91
+ --color-cal-4: var(--cal-4);
92
+ --color-cal-4-soft: var(--cal-4-soft);
93
+ --color-cal-5: var(--cal-5);
94
+ --color-cal-5-soft: var(--cal-5-soft);
95
+ --color-cal-6: var(--cal-6);
96
+ --color-cal-6-soft: var(--cal-6-soft);
97
+
78
98
  /* radii — slight rounding only: hairline borders + subtle radius */
79
99
  --radius-xs: 2px;
80
100
  --radius-sm: 3px;
@@ -169,6 +189,20 @@
169
189
  --spell-mark: oklch(0.52 0.19 320);
170
190
 
171
191
  --ring: oklch(0.55 0.14 150);
192
+
193
+ /* calendar hues: blue, teal, pink, orange, moss, violet */
194
+ --cal-1: oklch(0.53 0.13 250);
195
+ --cal-1-soft: oklch(0.925 0.04 250);
196
+ --cal-2: oklch(0.53 0.1 175);
197
+ --cal-2-soft: oklch(0.925 0.035 175);
198
+ --cal-3: oklch(0.53 0.14 320);
199
+ --cal-3-soft: oklch(0.925 0.04 320);
200
+ --cal-4: oklch(0.53 0.13 45);
201
+ --cal-4-soft: oklch(0.925 0.04 45);
202
+ --cal-5: oklch(0.53 0.11 130);
203
+ --cal-5-soft: oklch(0.925 0.04 130);
204
+ --cal-6: oklch(0.53 0.14 285);
205
+ --cal-6-soft: oklch(0.925 0.04 285);
172
206
  }
173
207
 
174
208
  /* ---------- DARK: deep slate-teal, lifted off black ---------- */
@@ -205,6 +239,21 @@
205
239
  --spell-mark: oklch(0.76 0.16 320);
206
240
 
207
241
  --ring: oklch(0.78 0.16 150);
242
+
243
+ /* same six hues, lifted for the slate ground and desaturated so a full
244
+ week of chips does not glow */
245
+ --cal-1: oklch(0.79 0.11 250);
246
+ --cal-1-soft: oklch(0.33 0.055 250);
247
+ --cal-2: oklch(0.79 0.09 175);
248
+ --cal-2-soft: oklch(0.33 0.05 175);
249
+ --cal-3: oklch(0.79 0.12 320);
250
+ --cal-3-soft: oklch(0.33 0.055 320);
251
+ --cal-4: oklch(0.79 0.11 45);
252
+ --cal-4-soft: oklch(0.33 0.055 45);
253
+ --cal-5: oklch(0.79 0.1 130);
254
+ --cal-5-soft: oklch(0.33 0.05 130);
255
+ --cal-6: oklch(0.79 0.12 285);
256
+ --cal-6-soft: oklch(0.33 0.055 285);
208
257
  }
209
258
 
210
259
  html {
@@ -229,6 +278,20 @@ html.dark,
229
278
  padding-left: env(safe-area-inset-left, 0px);
230
279
  }
231
280
 
281
+ /* A number field that carries its own steppers still gets the browser's, and
282
+ two sets of arrows on one field is a field nobody trusts. */
283
+ @utility own-steppers {
284
+ & input[type="number"] {
285
+ appearance: textfield;
286
+ }
287
+
288
+ & input[type="number"]::-webkit-outer-spin-button,
289
+ & input[type="number"]::-webkit-inner-spin-button {
290
+ appearance: none;
291
+ margin: 0;
292
+ }
293
+ }
294
+
232
295
  body {
233
296
  margin: 0;
234
297
  background-color: var(--color-canvas);