rei-kit 3.1.0 → 3.2.1

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.
@@ -6,21 +6,65 @@
6
6
  * asked for less motion, keeps assistive tech to the finished value, and
7
7
  * stops when hovered or focused if it moves on its own. The utilities that go
8
8
  * with them are in `rei-kit/motion.css`, which both presets include.
9
+ *
10
+ * @example
11
+ * ```vue
12
+ * <NumberTicker :value="balance" :format="{ style: 'currency', currency: 'TRY' }" />
13
+ * ```
14
+ *
15
+ * @see {@link CountUp} — the near-neighbour this is mistaken for
9
16
  */
10
17
  export { default as NumberTicker } from './NumberTicker.vue';
11
- /** A number that counts up to its value once it scrolls into view. */
18
+ /**
19
+ * A number that counts up to its value once it scrolls into view.
20
+ *
21
+ * @example
22
+ * ```vue
23
+ * <CountUp :value="12480" />
24
+ * ```
25
+ *
26
+ * @see {@link NumberTicker} — the near-neighbour this is mistaken for
27
+ */
12
28
  export { default as CountUp } from './CountUp.vue';
13
29
  /**
14
30
  * One word in a sentence that changes on its own: "Build it *glass*", then
15
31
  * *brutal*, then *soft*.
32
+ *
33
+ * @example
34
+ * ```vue
35
+ * <h1>Build it <TextRotate :words="['glass', 'brutal', 'soft']" /></h1>
36
+ * ```
16
37
  */
17
38
  export { default as TextRotate } from './TextRotate.vue';
18
39
  /**
19
40
  * Text that types itself out, and — given several lines — deletes each one
20
41
  * and types the next.
42
+ *
43
+ * @example
44
+ * ```vue
45
+ * <TypeWriter :text="['Write it once.', 'Change the look.', 'Ship it.']" />
46
+ * ```
21
47
  */
22
48
  export { default as TypeWriter } from './TypeWriter.vue';
23
- /** Content that fades or rises into place as it scrolls into view. */
49
+ /**
50
+ * Content that fades or rises into place as it scrolls into view.
51
+ *
52
+ * @example
53
+ * ```vue
54
+ * <BaseReveal v-for="(item, i) in items" :key="item" :delay="i * 80">
55
+ * <BaseCard>{{ item }}</BaseCard>
56
+ * </BaseReveal>
57
+ * ```
58
+ */
24
59
  export { default as BaseReveal } from './BaseReveal.vue';
25
- /** A row that scrolls sideways without end: logos, testimonials, a ticker. */
60
+ /**
61
+ * A row that scrolls sideways without end: logos, testimonials, a ticker.
62
+ *
63
+ * @example
64
+ * ```vue
65
+ * <BaseMarquee :duration="40">
66
+ * <BaseBadge v-for="name in names" :key="name">{{ name }}</BaseBadge>
67
+ * </BaseMarquee>
68
+ * ```
69
+ */
26
70
  export { default as BaseMarquee } from './BaseMarquee.vue';
package/dist/motion.css CHANGED
@@ -31,6 +31,15 @@
31
31
  }
32
32
  }
33
33
 
34
+ /* The trough is 0.88 and not lower, because it is a contrast floor rather
35
+ than a taste. Opacity fades an element toward whatever is behind it, so
36
+ a pulsing element is a different contrast ratio every frame and the
37
+ worst frame is the one that has to pass. At 0.72 — where this started —
38
+ `ink` over `canvas` measured 3.28 in tokyo-night, 3.50 in rose-pine and
39
+ 3.63 in catppuccin, all below AA, and the browser audit caught it about
40
+ once in thirty runs depending on which frame axe happened to sample.
41
+ `motion.spec.ts` now checks every palette at this number instead of
42
+ leaving it to chance. */
34
43
  @keyframes rk-pulse-soft {
35
44
  0%,
36
45
  100% {
@@ -38,7 +47,7 @@
38
47
  transform: scale(1);
39
48
  }
40
49
  50% {
41
- opacity: 0.72;
50
+ opacity: 0.88;
42
51
  transform: scale(0.97);
43
52
  }
44
53
  }
@@ -14,9 +14,49 @@ export { useSnooze } from './use-snooze';
14
14
  /**
15
15
  * The card that offers to install the app, and remembers being turned
16
16
  * down.
17
+ *
18
+ * @example
19
+ * ```vue
20
+ * <InstallPrompt
21
+ * storage-key="my-app-install"
22
+ * title="Install My app"
23
+ * body="Open it from your home screen, even offline."
24
+ * action="Install"
25
+ * later="Not now"
26
+ * />
27
+ * ```
17
28
  */
18
29
  export { default as InstallPrompt } from './InstallPrompt.vue';
19
- /** The way back to installing after the card has been dismissed. */
30
+ /**
31
+ * The way back to installing after the card has been dismissed.
32
+ *
33
+ * @example
34
+ * ```vue
35
+ * <InstallSettings
36
+ * title="App"
37
+ * label="Install on this device"
38
+ * installed-label="Installed"
39
+ * body="Opens from your home screen, works offline."
40
+ * ios-body="Tap Share, then Add to Home Screen."
41
+ * action="Install"
42
+ * />
43
+ * ```
44
+ */
20
45
  export { default as InstallSettings } from './InstallSettings.vue';
21
- /** The card that says a new version is waiting. */
46
+ /**
47
+ * The card that says a new version is waiting.
48
+ *
49
+ * @example
50
+ * ```vue
51
+ * <UpdatePrompt
52
+ * :open="needRefresh"
53
+ * title="A new version is ready"
54
+ * body="Reload to get it."
55
+ * action="Reload"
56
+ * dismiss-label="Later"
57
+ * @update="reload"
58
+ * @dismiss="needRefresh = false"
59
+ * />
60
+ * ```
61
+ */
22
62
  export { default as UpdatePrompt } from './UpdatePrompt.vue';
package/dist/styles.css CHANGED
@@ -209,12 +209,12 @@
209
209
  cannot reach slot content, which belongs to the caller's scope, so
210
210
  `.tour-forward-*` and `.tour-backward-*` ship unscoped in
211
211
  `rei-kit/shell/mobile.css` where the caller's slide can actually see them. */
212
- .tour-enter-active[data-v-8c293eec],
213
- .tour-leave-active[data-v-8c293eec] {
212
+ .tour-enter-active[data-v-8daef303],
213
+ .tour-leave-active[data-v-8daef303] {
214
214
  transition: opacity var(--duration-base) ease;
215
215
  }
216
- .tour-enter-from[data-v-8c293eec],
217
- .tour-leave-to[data-v-8c293eec] {
216
+ .tour-enter-from[data-v-8daef303],
217
+ .tour-leave-to[data-v-8daef303] {
218
218
  opacity: 0;
219
219
  }
220
220
 
@@ -763,24 +763,24 @@
763
763
  /* The buttons are out of the Tab order: the keyboard already has the arrows,
764
764
  and three stops for one number is two too many. They stay reachable by
765
765
  pointer and by touch, which is who they are for. */
766
- .rk-number[data-v-082bd3d7] {
766
+ .rk-number[data-v-d8a8fb7e] {
767
767
  display: flex;
768
768
  align-items: center;
769
769
  height: 2.75rem;
770
770
  border-radius: var(--radius-card);
771
771
  padding: 0 0.25rem;
772
772
  }
773
- .rk-number[data-v-082bd3d7]:focus-within {
773
+ .rk-number[data-v-d8a8fb7e]:focus-within {
774
774
  outline: 2px solid var(--color-primary);
775
775
  outline-offset: 1px;
776
776
  }
777
- .rk-number.is-invalid[data-v-082bd3d7] {
777
+ .rk-number.is-invalid[data-v-d8a8fb7e] {
778
778
  --surface-border-color: var(--color-negative);
779
779
  }
780
- .rk-number.is-disabled[data-v-082bd3d7] {
780
+ .rk-number.is-disabled[data-v-d8a8fb7e] {
781
781
  opacity: 0.5;
782
782
  }
783
- .rk-number-field[data-v-082bd3d7] {
783
+ .rk-number-field[data-v-d8a8fb7e] {
784
784
  min-width: 0;
785
785
  flex: 1;
786
786
  background: transparent;
@@ -790,7 +790,7 @@
790
790
  color: var(--color-ink);
791
791
  outline: none;
792
792
  }
793
- .rk-number-step[data-v-082bd3d7] {
793
+ .rk-number-step[data-v-d8a8fb7e] {
794
794
  display: grid;
795
795
  width: 2.25rem;
796
796
  height: 2.25rem;
@@ -800,10 +800,10 @@
800
800
  color: var(--color-ink);
801
801
  transition: background-color var(--duration-fast) var(--ease-standard);
802
802
  }
803
- .rk-number-step[data-v-082bd3d7]:hover:not(:disabled) {
803
+ .rk-number-step[data-v-d8a8fb7e]:hover:not(:disabled) {
804
804
  background: var(--color-muted);
805
805
  }
806
- .rk-number-step[data-v-082bd3d7]:disabled {
806
+ .rk-number-step[data-v-d8a8fb7e]:disabled {
807
807
  opacity: 0.35;
808
808
  }
809
809
 
@@ -1769,7 +1769,7 @@ to {
1769
1769
  color: var(--color-ink-soft);
1770
1770
  }
1771
1771
 
1772
- .rk-color-row[data-v-5ca23aa9] {
1772
+ .rk-color-row[data-v-721fcae8] {
1773
1773
  display: flex;
1774
1774
  flex-wrap: wrap;
1775
1775
  align-items: center;
@@ -1779,7 +1779,7 @@ to {
1779
1779
  /* The well is what is seen; the input inside it is the whole target. A
1780
1780
  native colour input cannot be styled past its swatch in every browser, so
1781
1781
  it is stretched over a box that can be. */
1782
- .rk-color-well[data-v-5ca23aa9] {
1782
+ .rk-color-well[data-v-721fcae8] {
1783
1783
  position: relative;
1784
1784
  display: block;
1785
1785
  width: 2.75rem;
@@ -1789,7 +1789,7 @@ to {
1789
1789
  border: 1px solid var(--color-hair);
1790
1790
  background: var(--rk-color);
1791
1791
  }
1792
- .rk-color-native[data-v-5ca23aa9] {
1792
+ .rk-color-native[data-v-721fcae8] {
1793
1793
  position: absolute;
1794
1794
  inset: 0;
1795
1795
  width: 100%;
@@ -1799,14 +1799,14 @@ to {
1799
1799
  }
1800
1800
 
1801
1801
  /* The ring goes on the well, since the input it belongs to is invisible. */
1802
- .rk-color-well[data-v-5ca23aa9]:has(.rk-color-native:focus-visible) {
1802
+ .rk-color-well[data-v-721fcae8]:has(.rk-color-native:focus-visible) {
1803
1803
  outline: 2px solid var(--color-primary);
1804
1804
  outline-offset: 2px;
1805
1805
  }
1806
- .rk-color-native[data-v-5ca23aa9]:disabled {
1806
+ .rk-color-native[data-v-721fcae8]:disabled {
1807
1807
  cursor: not-allowed;
1808
1808
  }
1809
- .rk-color-hex[data-v-5ca23aa9] {
1809
+ .rk-color-hex[data-v-721fcae8] {
1810
1810
  width: 7.5rem;
1811
1811
  height: 2.75rem;
1812
1812
  border-radius: var(--radius-card);
@@ -1817,19 +1817,19 @@ to {
1817
1817
  font-size: 1rem;
1818
1818
  color: var(--color-ink);
1819
1819
  }
1820
- .rk-color-hex[data-v-5ca23aa9]:focus-visible {
1820
+ .rk-color-hex[data-v-721fcae8]:focus-visible {
1821
1821
  outline: 2px solid var(--color-primary);
1822
1822
  outline-offset: -1px;
1823
1823
  }
1824
- .rk-color-hex[data-v-5ca23aa9]:disabled {
1824
+ .rk-color-hex[data-v-721fcae8]:disabled {
1825
1825
  opacity: 0.5;
1826
1826
  }
1827
- .rk-color-swatches[data-v-5ca23aa9] {
1827
+ .rk-color-swatches[data-v-721fcae8] {
1828
1828
  display: flex;
1829
1829
  flex-wrap: wrap;
1830
1830
  gap: 0.375rem;
1831
1831
  }
1832
- .rk-color-swatch[data-v-5ca23aa9] {
1832
+ .rk-color-swatch[data-v-721fcae8] {
1833
1833
  display: block;
1834
1834
  width: 1.75rem;
1835
1835
  height: 1.75rem;
@@ -1838,25 +1838,25 @@ to {
1838
1838
  background: var(--rk-color);
1839
1839
  transition: transform var(--duration-fast) var(--ease-standard);
1840
1840
  }
1841
- .rk-color-swatch[data-v-5ca23aa9]:hover:not(:disabled) {
1841
+ .rk-color-swatch[data-v-721fcae8]:hover:not(:disabled) {
1842
1842
  transform: scale(1.1);
1843
1843
  }
1844
1844
 
1845
1845
  /* A ring around the chosen one rather than a tick: a tick has to be dark or
1846
1846
  light to be seen, and the swatch beneath it is whatever the app chose. */
1847
- .rk-color-swatch.is-chosen[data-v-5ca23aa9] {
1847
+ .rk-color-swatch.is-chosen[data-v-721fcae8] {
1848
1848
  box-shadow:
1849
1849
  0 0 0 2px var(--color-surface),
1850
1850
  0 0 0 4px var(--color-primary);
1851
1851
  }
1852
- .rk-color-swatch[data-v-5ca23aa9]:disabled {
1852
+ .rk-color-swatch[data-v-721fcae8]:disabled {
1853
1853
  opacity: 0.5;
1854
1854
  }
1855
1855
  @media (prefers-reduced-motion: reduce) {
1856
- .rk-color-swatch[data-v-5ca23aa9] {
1856
+ .rk-color-swatch[data-v-721fcae8] {
1857
1857
  transition: none;
1858
1858
  }
1859
- .rk-color-swatch[data-v-5ca23aa9]:hover:not(:disabled) {
1859
+ .rk-color-swatch[data-v-721fcae8]:hover:not(:disabled) {
1860
1860
  transform: none;
1861
1861
  }
1862
1862
  }
@@ -2054,7 +2054,7 @@ to {
2054
2054
  color: var(--color-ink);
2055
2055
  }
2056
2056
 
2057
- .rk-tags[data-v-1fd08921] {
2057
+ .rk-tags[data-v-572364bd] {
2058
2058
  display: flex;
2059
2059
  min-height: 2.75rem;
2060
2060
  cursor: text;
@@ -2067,18 +2067,18 @@ to {
2067
2067
 
2068
2068
  /* `:has(input:focus-visible)` rather than `:focus-within`: the ring belongs
2069
2069
  to the field, not to the chips' remove buttons, which carry their own. */
2070
- .rk-tags[data-v-1fd08921]:has(.rk-tags-field:focus-visible) {
2070
+ .rk-tags[data-v-572364bd]:has(.rk-tags-field:focus-visible) {
2071
2071
  outline: 2px solid var(--color-primary);
2072
2072
  outline-offset: 1px;
2073
2073
  }
2074
- .rk-tags.is-invalid[data-v-1fd08921] {
2074
+ .rk-tags.is-invalid[data-v-572364bd] {
2075
2075
  --surface-border-color: var(--color-negative);
2076
2076
  }
2077
- .rk-tags.is-disabled[data-v-1fd08921] {
2077
+ .rk-tags.is-disabled[data-v-572364bd] {
2078
2078
  cursor: not-allowed;
2079
2079
  opacity: 0.5;
2080
2080
  }
2081
- .rk-tags-field[data-v-1fd08921] {
2081
+ .rk-tags-field[data-v-572364bd] {
2082
2082
  min-width: 6rem;
2083
2083
  flex: 1;
2084
2084
  background: transparent;
@@ -2138,10 +2138,10 @@ to {
2138
2138
  transform: translateY(4px) scale(0.98);
2139
2139
  }
2140
2140
 
2141
- .rk-time[data-v-ad58b4f3] {
2141
+ .rk-time[data-v-2ae98769] {
2142
2142
  display: block;
2143
2143
  }
2144
- .rk-time-field[data-v-ad58b4f3] {
2144
+ .rk-time-field[data-v-2ae98769] {
2145
2145
  display: flex;
2146
2146
  width: 100%;
2147
2147
  height: 2.75rem;
@@ -2154,16 +2154,16 @@ to {
2154
2154
  font-variant-numeric: tabular-nums;
2155
2155
  color: var(--color-ink);
2156
2156
  }
2157
- .rk-time-field.is-empty[data-v-ad58b4f3] {
2157
+ .rk-time-field.is-empty[data-v-2ae98769] {
2158
2158
  color: var(--color-ink-soft);
2159
2159
  }
2160
- .rk-time-field.is-invalid[data-v-ad58b4f3] {
2160
+ .rk-time-field.is-invalid[data-v-2ae98769] {
2161
2161
  --surface-border-color: var(--color-negative);
2162
2162
  }
2163
- .rk-time-field[data-v-ad58b4f3]:disabled {
2163
+ .rk-time-field[data-v-2ae98769]:disabled {
2164
2164
  opacity: 0.5;
2165
2165
  }
2166
- .rk-time-columns[data-v-ad58b4f3] {
2166
+ .rk-time-columns[data-v-2ae98769] {
2167
2167
  display: grid;
2168
2168
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
2169
2169
  gap: 0.5rem;
@@ -2232,16 +2232,16 @@ to {
2232
2232
  margin-top: 0.5rem;
2233
2233
  }
2234
2234
 
2235
- .rk-date[data-v-42390973] {
2235
+ .rk-date[data-v-2c91e3bb] {
2236
2236
  display: block;
2237
2237
  }
2238
2238
 
2239
2239
  /* Wider than a popover's default: a calendar and a column of presets side by
2240
2240
  side do not fit in 24rem, and the month title wraps in two. */
2241
- .rk-date[data-v-42390973] .rk-popover-panel {
2241
+ .rk-date[data-v-2c91e3bb] .rk-popover-panel {
2242
2242
  max-width: min(34rem, calc(100vw - 1rem));
2243
2243
  }
2244
- .rk-date-wrap[data-v-42390973] {
2244
+ .rk-date-wrap[data-v-2c91e3bb] {
2245
2245
  display: flex;
2246
2246
  width: 100%;
2247
2247
  height: 2.75rem;
@@ -2249,7 +2249,7 @@ to {
2249
2249
  border-radius: var(--radius-card);
2250
2250
  padding-inline-end: 0.375rem;
2251
2251
  }
2252
- .rk-date-field[data-v-42390973] {
2252
+ .rk-date-field[data-v-2c91e3bb] {
2253
2253
  display: flex;
2254
2254
  min-width: 0;
2255
2255
  flex: 1;
@@ -2262,16 +2262,16 @@ to {
2262
2262
  font-size: 1rem;
2263
2263
  color: var(--color-ink);
2264
2264
  }
2265
- .rk-date-field.is-empty[data-v-42390973] {
2265
+ .rk-date-field.is-empty[data-v-2c91e3bb] {
2266
2266
  color: var(--color-ink-soft);
2267
2267
  }
2268
- .rk-date-wrap.is-invalid[data-v-42390973] {
2268
+ .rk-date-wrap.is-invalid[data-v-2c91e3bb] {
2269
2269
  --surface-border-color: var(--color-negative);
2270
2270
  }
2271
- .rk-date-field[data-v-42390973]:disabled {
2271
+ .rk-date-field[data-v-2c91e3bb]:disabled {
2272
2272
  opacity: 0.5;
2273
2273
  }
2274
- .rk-date-clear[data-v-42390973] {
2274
+ .rk-date-clear[data-v-2c91e3bb] {
2275
2275
  display: grid;
2276
2276
  width: 1.375rem;
2277
2277
  height: 1.375rem;
@@ -2280,27 +2280,27 @@ to {
2280
2280
  border-radius: 9999px;
2281
2281
  color: var(--color-ink-soft);
2282
2282
  }
2283
- .rk-date-clear[data-v-42390973]:hover {
2283
+ .rk-date-clear[data-v-2c91e3bb]:hover {
2284
2284
  background: var(--color-muted);
2285
2285
  color: var(--color-ink);
2286
2286
  }
2287
- .rk-date-clear[data-v-42390973]:focus-visible {
2287
+ .rk-date-clear[data-v-2c91e3bb]:focus-visible {
2288
2288
  outline: 2px solid var(--color-primary);
2289
2289
  outline-offset: 1px;
2290
2290
  }
2291
2291
 
2292
2292
  /* As wide as its contents rather than as narrow as they will go: in a flex
2293
2293
  panel the calendar shrinks, and a squeezed month title wraps in two. */
2294
- .rk-date-panel[data-v-42390973] {
2294
+ .rk-date-panel[data-v-2c91e3bb] {
2295
2295
  display: flex;
2296
2296
  width: max-content;
2297
2297
  max-width: 100%;
2298
2298
  gap: 0.75rem;
2299
2299
  }
2300
- .rk-date-panel[data-v-42390973] .rk-cal {
2300
+ .rk-date-panel[data-v-2c91e3bb] .rk-cal {
2301
2301
  width: 17rem;
2302
2302
  }
2303
- .rk-date-presets[data-v-42390973] {
2303
+ .rk-date-presets[data-v-2c91e3bb] {
2304
2304
  display: flex;
2305
2305
  min-width: 8rem;
2306
2306
  flex-direction: column;
@@ -2308,7 +2308,7 @@ to {
2308
2308
  border-inline-end: 1px solid var(--surface-border-color);
2309
2309
  padding-inline-end: 0.75rem;
2310
2310
  }
2311
- .rk-date-preset[data-v-42390973] {
2311
+ .rk-date-preset[data-v-2c91e3bb] {
2312
2312
  width: 100%;
2313
2313
  border-radius: var(--radius-cell);
2314
2314
  padding: 0.375rem 0.5rem;
@@ -2317,14 +2317,14 @@ to {
2317
2317
  color: var(--color-ink);
2318
2318
  transition: background-color var(--duration-fast) var(--ease-standard);
2319
2319
  }
2320
- .rk-date-preset[data-v-42390973]:hover {
2320
+ .rk-date-preset[data-v-2c91e3bb]:hover {
2321
2321
  background: var(--color-muted);
2322
2322
  }
2323
2323
  @media (max-width: 30rem) {
2324
- .rk-date-panel[data-v-42390973] {
2324
+ .rk-date-panel[data-v-2c91e3bb] {
2325
2325
  flex-direction: column;
2326
2326
  }
2327
- .rk-date-presets[data-v-42390973] {
2327
+ .rk-date-presets[data-v-2c91e3bb] {
2328
2328
  flex-direction: row;
2329
2329
  flex-wrap: wrap;
2330
2330
  border-inline-end: 0;
@@ -2332,7 +2332,7 @@ to {
2332
2332
  padding-inline-end: 0;
2333
2333
  padding-bottom: 0.5rem;
2334
2334
  }
2335
- .rk-date-preset[data-v-42390973] {
2335
+ .rk-date-preset[data-v-2c91e3bb] {
2336
2336
  width: auto;
2337
2337
  }
2338
2338
  }
@@ -489,7 +489,8 @@ var BaseInput_default = /* @__PURE__ */ defineComponent({
489
489
  },
490
490
  type: { default: "text" },
491
491
  size: { default: "md" },
492
- variant: { default: "default" }
492
+ variant: { default: "default" },
493
+ fieldId: { default: () => void 0 }
493
494
  },
494
495
  emits: ["update:modelValue"],
495
496
  setup(__props, { emit: __emit }) {
@@ -538,6 +539,7 @@ var BaseInput_default = /* @__PURE__ */ defineComponent({
538
539
  const model = useBoundValue(() => __props.modelValue, (value) => emit("update:modelValue", value));
539
540
  return (_ctx, _cache) => {
540
541
  return openBlock(), createBlock(FormField_default, {
542
+ "field-id": __props.fieldId,
541
543
  class: normalizeClass(unref(fieldClass)),
542
544
  style: normalizeStyle(unref(fieldStyle)),
543
545
  label: __props.label,
@@ -573,6 +575,7 @@ var BaseInput_default = /* @__PURE__ */ defineComponent({
573
575
  ] }), null, 16, _hoisted_4)), [[vModelDynamic, unref(model)]])]),
574
576
  _: 3
575
577
  }, 8, [
578
+ "field-id",
576
579
  "class",
577
580
  "style",
578
581
  "label",
@@ -655,4 +658,4 @@ function useAnnounce() {
655
658
  //#endregion
656
659
  export { toRedirectPath as _, useFieldAttrs as a, useToast as c, isThemePreference as d, readStoredTheme as f, safeRedirect as g, tapFeedback as h, BaseInput_default as i, useOnline as l, useTheme as m, useAnnounce as n, FormField_default as o, setThemeStorageKey as p, GoogleButton_default as r, BaseAlert_default as s, announce as t, applyTheme as u };
657
660
 
658
- //# sourceMappingURL=use-announce-QN44Whqc.js.map
661
+ //# sourceMappingURL=use-announce-D8SKsiqn.js.map