rei-kit 0.18.1 → 0.19.0

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.
package/dist/pwa.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as addDays, f as todayKey, i as needsIosInstall, r as isInstalled, t as SettingsGroup_default } from "./SettingsGroup-DtEB_Hrd.js";
2
- import { n as BaseButton_default, t as SettingsRow_default } from "./SettingsRow-3lPRJbBZ.js";
3
2
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.js";
3
+ import { n as BaseButton_default, t as SettingsRow_default } from "./SettingsRow-3lPRJbBZ.js";
4
4
  import { Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, ref, resolveDynamicComponent, toDisplayString, unref, withCtx } from "vue";
5
5
  import { CheckCircle2, Download, RefreshCw, Share, X } from "lucide-vue-next";
6
6
  //#region src/pwa/use-install.ts
package/dist/styles.css CHANGED
@@ -213,6 +213,184 @@
213
213
  opacity: 0;
214
214
  }
215
215
 
216
+ .rk-avatar[data-v-47586bec] {
217
+ display: grid;
218
+ place-items: center;
219
+ flex-shrink: 0;
220
+ overflow: hidden;
221
+ border-radius: var(--radius-cell);
222
+ border: 1px solid color-mix(in srgb, var(--color-hair) 70%, transparent);
223
+ background: var(--color-surface);
224
+ color: var(--color-ink-soft);
225
+ }
226
+ .is-sm[data-v-47586bec] {
227
+ width: 1.75rem;
228
+ height: 1.75rem;
229
+ }
230
+ .is-md[data-v-47586bec] {
231
+ width: 2.25rem;
232
+ height: 2.25rem;
233
+ }
234
+ .is-lg[data-v-47586bec] {
235
+ width: 3rem;
236
+ height: 3rem;
237
+ }
238
+ .rk-avatar-img[data-v-47586bec] {
239
+ width: 100%;
240
+ height: 100%;
241
+ object-fit: cover;
242
+ }
243
+ .rk-avatar-initials[data-v-47586bec] {
244
+ font-size: 0.75rem;
245
+ font-weight: 600;
246
+ line-height: 1;
247
+ color: var(--color-ink);
248
+ }
249
+ .is-lg .rk-avatar-initials[data-v-47586bec] {
250
+ font-size: 1rem;
251
+ }
252
+ .rk-avatar-figure[data-v-47586bec] {
253
+ width: 65%;
254
+ height: 65%;
255
+ }
256
+
257
+ .rk-menu[data-v-8ad05b3d] {
258
+ position: relative;
259
+ display: inline-flex;
260
+ }
261
+ .rk-menu-trigger[data-v-8ad05b3d] {
262
+ display: inline-flex;
263
+ border-radius: var(--radius-cell);
264
+ }
265
+ .rk-menu-trigger[data-v-8ad05b3d]:focus-visible {
266
+ outline: 2px solid var(--color-primary);
267
+ outline-offset: 2px;
268
+ }
269
+ .rk-menu-panel[data-v-8ad05b3d] {
270
+ position: absolute;
271
+ top: calc(100% + 0.5rem);
272
+ z-index: 50;
273
+ min-width: 12rem;
274
+ overflow: hidden;
275
+ border-radius: var(--radius-card);
276
+ border: 1px solid color-mix(in srgb, var(--color-hair) 70%, transparent);
277
+ background: var(--color-surface);
278
+ padding: 0.375rem;
279
+ box-shadow: 0 10px 24px -8px rgb(0 0 0 / 0.25);
280
+ }
281
+ .rk-menu-panel.is-end[data-v-8ad05b3d] {
282
+ right: 0;
283
+ }
284
+ .rk-menu-panel.is-start[data-v-8ad05b3d] {
285
+ left: 0;
286
+ }
287
+
288
+ /* The items belong to the caller, so this styles them by role rather than by
289
+ class: whatever they render, it lines up. */
290
+ .rk-menu-panel[data-v-8ad05b3d] [role='menuitem'] {
291
+ display: block;
292
+ width: 100%;
293
+ border-radius: var(--radius-cell);
294
+ padding: 0.5rem 0.75rem;
295
+ text-align: left;
296
+ font-size: 0.875rem;
297
+ color: var(--color-ink);
298
+ transition: background-color 150ms;
299
+ }
300
+ .rk-menu-panel[data-v-8ad05b3d] [role='menuitem']:hover {
301
+ background: var(--color-muted);
302
+ }
303
+ .rk-menu-panel[data-v-8ad05b3d] [role='menuitem']:focus-visible {
304
+ outline: 2px solid var(--color-primary);
305
+ outline-offset: -2px;
306
+ }
307
+ .rk-menu-panel[data-v-8ad05b3d] hr {
308
+ margin: 0.375rem 0;
309
+ height: 1px;
310
+ border: 0;
311
+ background: color-mix(in srgb, var(--color-hair) 70%, transparent);
312
+ }
313
+
314
+ .rk-spin-wrap[data-v-842da62c] {
315
+ display: inline-flex;
316
+ align-items: center;
317
+ }
318
+ .rk-spin[data-v-842da62c] {
319
+ display: block;
320
+ border-radius: 9999px;
321
+ border: 2px solid color-mix(in srgb, currentColor 20%, transparent);
322
+ border-top-color: currentColor;
323
+ animation: rk-spin-842da62c 700ms linear infinite;
324
+ }
325
+ .rk-spin-label[data-v-842da62c] {
326
+ position: absolute;
327
+ width: 1px;
328
+ height: 1px;
329
+ overflow: hidden;
330
+ clip-path: inset(50%);
331
+ white-space: nowrap;
332
+ }
333
+ @keyframes rk-spin-842da62c {
334
+ to {
335
+ transform: rotate(360deg);
336
+ }
337
+ }
338
+
339
+ /* Still moving, because a spinner that does not move says the app has hung --
340
+ but a slow fade rather than a fast rotation. */
341
+ @media (prefers-reduced-motion: reduce) {
342
+ .rk-spin[data-v-842da62c] {
343
+ animation: rk-pulse-842da62c 1.4s ease-in-out infinite;
344
+ }
345
+ @keyframes rk-pulse-842da62c {
346
+ 50% {
347
+ opacity: 0.35;
348
+ }
349
+ }
350
+ }
351
+
352
+ .rk-switch[data-v-a9f65b91] {
353
+ position: relative;
354
+ display: inline-flex;
355
+ flex-shrink: 0;
356
+ align-items: center;
357
+ width: 2.75rem;
358
+ height: 1.625rem;
359
+ border-radius: 9999px;
360
+ background: var(--color-hair);
361
+ transition: background-color 180ms ease;
362
+ }
363
+ .rk-switch.is-on[data-v-a9f65b91] {
364
+ background: var(--color-primary);
365
+ }
366
+ .rk-switch[data-v-a9f65b91]:focus-visible {
367
+ outline: 2px solid var(--color-primary);
368
+ outline-offset: 2px;
369
+ }
370
+ .rk-switch[data-v-a9f65b91]:disabled {
371
+ opacity: 0.5;
372
+ pointer-events: none;
373
+ }
374
+ .rk-switch-knob[data-v-a9f65b91] {
375
+ position: absolute;
376
+ left: 0.1875rem;
377
+ width: 1.25rem;
378
+ height: 1.25rem;
379
+ border-radius: 9999px;
380
+ background: #fff;
381
+ box-shadow: 0 1px 2px rgb(0 0 0 / 0.25);
382
+ transition: transform 180ms cubic-bezier(0.32, 0.72, 0, 1);
383
+ }
384
+ .rk-switch.is-on .rk-switch-knob[data-v-a9f65b91] {
385
+ transform: translateX(1.125rem);
386
+ }
387
+ @media (prefers-reduced-motion: reduce) {
388
+ .rk-switch[data-v-a9f65b91],
389
+ .rk-switch-knob[data-v-a9f65b91] {
390
+ transition: none;
391
+ }
392
+ }
393
+
216
394
  /* Movement is small and downward from the top, upward from the bottom — the
217
395
  direction it came from either way. */
218
396
  .toast-enter-active[data-v-f1a3439c],
@@ -732,7 +910,7 @@
732
910
  color: var(--color-hair);
733
911
  }
734
912
 
735
- .rk-disclosure-control[data-v-d32ee03c] {
913
+ .rk-disclosure-control[data-v-e09c1481] {
736
914
  display: flex;
737
915
  width: 100%;
738
916
  cursor: pointer;
@@ -743,19 +921,19 @@
743
921
  text-align: left;
744
922
  transition: color 150ms;
745
923
  }
746
- .rk-disclosure-control[data-v-d32ee03c]:hover {
924
+ .rk-disclosure-control[data-v-e09c1481]:hover {
747
925
  color: var(--color-primary);
748
926
  }
749
- .rk-disclosure-control[data-v-d32ee03c]:focus-visible {
927
+ .rk-disclosure-control[data-v-e09c1481]:focus-visible {
750
928
  outline: 2px solid var(--color-primary);
751
929
  outline-offset: 2px;
752
930
  }
753
- .rk-disclosure-title[data-v-d32ee03c] {
931
+ .rk-disclosure-title[data-v-e09c1481] {
754
932
  color: var(--color-ink);
755
933
  font-size: 1rem;
756
934
  font-weight: 500;
757
935
  }
758
- .rk-disclosure-mark[data-v-d32ee03c] {
936
+ .rk-disclosure-mark[data-v-e09c1481] {
759
937
  position: relative;
760
938
  display: grid;
761
939
  place-items: center;
@@ -763,34 +941,34 @@
763
941
  width: 1.5rem;
764
942
  height: 1.5rem;
765
943
  }
766
- .rk-disclosure-bar[data-v-d32ee03c] {
944
+ .rk-disclosure-bar[data-v-e09c1481] {
767
945
  position: absolute;
768
946
  height: 1px;
769
947
  width: 0.875rem;
770
948
  background: var(--color-ink-soft);
771
949
  }
772
- .rk-disclosure-turn[data-v-d32ee03c] {
950
+ .rk-disclosure-turn[data-v-e09c1481] {
773
951
  transform: rotate(90deg);
774
952
  transition: transform 420ms ease-out;
775
953
  }
776
- .rk-disclosure-turn.is-open[data-v-d32ee03c] {
954
+ .rk-disclosure-turn.is-open[data-v-e09c1481] {
777
955
  transform: rotate(0deg);
778
956
  }
779
957
 
780
958
  /* 0fr to 1fr is the whole trick: a grid row can be animated to a height that
781
959
  was never measured, which `height: auto` cannot do. */
782
- .rk-disclosure-panel[data-v-d32ee03c] {
960
+ .rk-disclosure-panel[data-v-e09c1481] {
783
961
  display: grid;
784
962
  grid-template-rows: 0fr;
785
963
  transition: grid-template-rows 420ms ease-out;
786
964
  }
787
- .rk-disclosure-panel.is-open[data-v-d32ee03c] {
965
+ .rk-disclosure-panel.is-open[data-v-e09c1481] {
788
966
  grid-template-rows: 1fr;
789
967
  }
790
- .rk-disclosure-clip[data-v-d32ee03c] {
968
+ .rk-disclosure-clip[data-v-e09c1481] {
791
969
  overflow: hidden;
792
970
  }
793
- .rk-disclosure-body[data-v-d32ee03c] {
971
+ .rk-disclosure-body[data-v-e09c1481] {
794
972
  max-width: 68ch;
795
973
  padding-bottom: 1.5rem;
796
974
  color: var(--color-ink-soft);
@@ -798,13 +976,13 @@
798
976
  opacity: 0;
799
977
  transition: opacity 300ms;
800
978
  }
801
- .rk-disclosure-body.is-open[data-v-d32ee03c] {
979
+ .rk-disclosure-body.is-open[data-v-e09c1481] {
802
980
  opacity: 1;
803
981
  }
804
982
  @media (prefers-reduced-motion: reduce) {
805
- .rk-disclosure-panel[data-v-d32ee03c],
806
- .rk-disclosure-turn[data-v-d32ee03c],
807
- .rk-disclosure-body[data-v-d32ee03c] {
983
+ .rk-disclosure-panel[data-v-e09c1481],
984
+ .rk-disclosure-turn[data-v-e09c1481],
985
+ .rk-disclosure-body[data-v-e09c1481] {
808
986
  transition: none;
809
987
  }
810
988
  }
@@ -25,8 +25,14 @@
25
25
  * measured.
26
26
  */
27
27
  type __VLS_Props = {
28
- /** The question. Already translated. */
29
- title: string;
28
+ /**
29
+ * The question. Already translated.
30
+ *
31
+ * Optional only because the `title` slot is the other way to give one — pass
32
+ * exactly one of them. A disclosure with neither has a control nobody can
33
+ * read, which is why this is documented rather than defaulted to something.
34
+ */
35
+ title?: string | undefined;
30
36
  /**
31
37
  * Which heading the control sits inside.
32
38
  *
package/dist/web.js CHANGED
@@ -119,7 +119,7 @@ var _hoisted_6$1 = { class: "rk-disclosure-clip" };
119
119
  var BaseDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
120
120
  __name: "BaseDisclosure",
121
121
  props: /*@__PURE__*/ mergeModels({
122
- title: {},
122
+ title: { default: "" },
123
123
  headingLevel: { default: 3 }
124
124
  }, {
125
125
  "modelValue": {
@@ -148,7 +148,7 @@ var BaseDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
148
148
  }, [createElementVNode("div", _hoisted_6$1, [createElementVNode("div", { class: normalizeClass(["rk-disclosure-body", { "is-open": open.value }]) }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 2)])], 10, _hoisted_5$2)]);
149
149
  };
150
150
  }
151
- }), [["__scopeId", "data-v-d32ee03c"]]);
151
+ }), [["__scopeId", "data-v-e09c1481"]]);
152
152
  //#endregion
153
153
  //#region src/web/BaseModal.vue?vue&type=script&setup=true&lang.ts
154
154
  var _hoisted_1$4 = ["role", "aria-label"];