rei-kit 3.2.1 → 3.4.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/README.md +3 -3
- package/dist/app.js +1 -1
- package/dist/components/BaseInput.vue.d.ts +3 -1
- package/dist/components/BaseSelect.vue.d.ts +3 -1
- package/dist/components/BaseTextarea.vue.d.ts +16 -1
- package/dist/components/CopyButton.vue.d.ts +34 -1
- package/dist/components/PasswordInput.vue.d.ts +16 -1
- package/dist/index.js +85 -21
- package/dist/index.js.map +1 -1
- package/dist/styles.css +4 -4
- package/dist/{use-announce-D8SKsiqn.js → use-announce-BGZnV78W.js} +23 -2
- package/dist/use-announce-BGZnV78W.js.map +1 -0
- package/package.json +1 -1
- package/dist/use-announce-D8SKsiqn.js.map +0 -1
package/README.md
CHANGED
|
@@ -165,7 +165,7 @@ app, and the case *least* favourable to this kit:
|
|
|
165
165
|
|
|
166
166
|
| Kit | JS | CSS | Total |
|
|
167
167
|
| -------------------- | ---------: | ----------: | ----------: |
|
|
168
|
-
| **rei-kit 3.
|
|
168
|
+
| **rei-kit 3.4.0** | **3.7 KB** | **23.1 KB** | **26.8 KB** |
|
|
169
169
|
| element-plus 2.14.6 | 27.3 KB | 6.0 KB | 33.3 KB |
|
|
170
170
|
| naive-ui 2.45.3 | 51.2 KB | — | 51.2 KB |
|
|
171
171
|
| primevue 5.0.1 | 53.6 KB | — | 53.6 KB |
|
|
@@ -177,7 +177,7 @@ a data table, a tooltip and a card. A screen rather than a demo:
|
|
|
177
177
|
|
|
178
178
|
| Kit | JS | CSS | Total |
|
|
179
179
|
| -------------------- | ---------: | ----------: | -----------: |
|
|
180
|
-
| **rei-kit 3.
|
|
180
|
+
| **rei-kit 3.4.0** | **8.6 KB** | **23.1 KB** | **31.7 KB** |
|
|
181
181
|
| element-plus 2.14.6 | 90.1 KB | 14.0 KB | 104.1 KB |
|
|
182
182
|
| naive-ui 2.45.3 | 132.4 KB | — | 132.4 KB |
|
|
183
183
|
| primevue 5.0.1 | 135.8 KB | — | 135.8 KB |
|
|
@@ -234,7 +234,7 @@ Each claim here is enforced by something that fails, not by a promise.
|
|
|
234
234
|
|
|
235
235
|
## Status
|
|
236
236
|
|
|
237
|
-
**v3.
|
|
237
|
+
**v3.4.0 — three consumers.**
|
|
238
238
|
|
|
239
239
|
| | |
|
|
240
240
|
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
package/dist/app.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as BaseCheckbox_default, o as BaseSheet_default, r as horizontalStep, s as inertOutside, t as focusTarget } from "./focus-target-BtcoJdmz.js";
|
|
2
|
-
import { _ as toRedirectPath, c as useToast, d as isThemePreference, g as safeRedirect, h as tapFeedback, i as BaseInput_default, l as useOnline, m as useTheme, r as GoogleButton_default, s as BaseAlert_default, t as announce } from "./use-announce-
|
|
2
|
+
import { _ as toRedirectPath, c as useToast, d as isThemePreference, g as safeRedirect, h as tapFeedback, i as BaseInput_default, l as useOnline, m as useTheme, r as GoogleButton_default, s as BaseAlert_default, t as announce } from "./use-announce-BGZnV78W.js";
|
|
3
3
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.js";
|
|
4
4
|
import { t as BaseButton_default } from "./BaseButton-BD2HKB1L.js";
|
|
5
5
|
import { t as SettingsRow_default } from "./SettingsRow-C6Spi7Np.js";
|
|
@@ -47,7 +47,9 @@ declare const __VLS_export: <T extends string | number | undefined = string>(__V
|
|
|
47
47
|
}> & (typeof globalThis extends {
|
|
48
48
|
__VLS_PROPS_FALLBACK: infer P;
|
|
49
49
|
} ? P : {});
|
|
50
|
-
expose: (exposed: {
|
|
50
|
+
expose: (exposed: import('vue').ShallowUnwrapRef<{
|
|
51
|
+
focus: () => void;
|
|
52
|
+
}>) => void;
|
|
51
53
|
attrs: any;
|
|
52
54
|
slots: {
|
|
53
55
|
prefix?: () => unknown;
|
|
@@ -51,7 +51,9 @@ declare const __VLS_export: <T extends string | number>(__VLS_props: NonNullable
|
|
|
51
51
|
}> & (typeof globalThis extends {
|
|
52
52
|
__VLS_PROPS_FALLBACK: infer P;
|
|
53
53
|
} ? P : {});
|
|
54
|
-
expose: (exposed: {
|
|
54
|
+
expose: (exposed: import('vue').ShallowUnwrapRef<{
|
|
55
|
+
focus: () => void;
|
|
56
|
+
}>) => void;
|
|
55
57
|
attrs: any;
|
|
56
58
|
slots: {};
|
|
57
59
|
emit: (event: "update:modelValue", value: T | undefined) => void;
|
|
@@ -36,7 +36,22 @@ type __VLS_Props = {
|
|
|
36
36
|
*/
|
|
37
37
|
fieldId?: string | undefined;
|
|
38
38
|
};
|
|
39
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Focus the control, for a caller that owns when it happens.
|
|
41
|
+
*
|
|
42
|
+
* A `ref` on a component gives the component and not the element, so without
|
|
43
|
+
* this a field cannot be focused at all — which is why an app that focuses
|
|
44
|
+
* its amount field when a sheet opens, and again when the amount is
|
|
45
|
+
* rejected, wrote the whole field by hand instead and said so in a comment.
|
|
46
|
+
* That is the gap test, with the reason already written down.
|
|
47
|
+
*
|
|
48
|
+
* `ErrorSummary` has exposed `focus` since it existed, for the same need
|
|
49
|
+
* from the other end.
|
|
50
|
+
*/
|
|
51
|
+
declare function focus(): void;
|
|
52
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {
|
|
53
|
+
focus: typeof focus;
|
|
54
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
40
55
|
"update:modelValue": (value: string) => any;
|
|
41
56
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
42
57
|
"onUpdate:modelValue"?: (value: string) => any;
|
|
@@ -21,13 +21,46 @@ type __VLS_Props = {
|
|
|
21
21
|
errorLabel?: string | undefined;
|
|
22
22
|
/** Show the label beside the icon, rather than only to assistive tech. */
|
|
23
23
|
withText?: boolean | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* `unstyled` keeps the copying and drops the surface and the icon.
|
|
26
|
+
*
|
|
27
|
+
* The announcement is the part that is laborious and the part that is
|
|
28
|
+
* dropped: a copy button that says nothing leaves somebody who cannot see
|
|
29
|
+
* the tick pressing it twice. Three places on this kit's own site wrote
|
|
30
|
+
* their own copy button to get a different shape — a pill in a code block's
|
|
31
|
+
* bar, a whole install command — and all three lost the announcement on the
|
|
32
|
+
* way. That is the gap this closes: the behaviour without the paint, the
|
|
33
|
+
* same answer `BaseButton` and `BaseInput` give.
|
|
34
|
+
*
|
|
35
|
+
* Unstyled brings no focus ring either, so give it one.
|
|
36
|
+
*/
|
|
37
|
+
variant?: 'default' | 'unstyled' | undefined;
|
|
24
38
|
};
|
|
25
|
-
|
|
39
|
+
/**
|
|
40
|
+
* The button's content, for a shape the icon-and-label pair does not cover.
|
|
41
|
+
*
|
|
42
|
+
* Given one, set `withText` as well: the `aria-label` exists to name a button
|
|
43
|
+
* whose only content is an icon, and a slot that renders words does not need
|
|
44
|
+
* naming twice.
|
|
45
|
+
*/
|
|
46
|
+
type __VLS_Slots = {
|
|
47
|
+
default?: (props: {
|
|
48
|
+
copied: boolean;
|
|
49
|
+
failed: boolean;
|
|
50
|
+
}) => unknown;
|
|
51
|
+
};
|
|
52
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
26
53
|
failed: () => any;
|
|
27
54
|
copied: () => any;
|
|
28
55
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
29
56
|
onFailed?: () => any;
|
|
30
57
|
onCopied?: () => any;
|
|
31
58
|
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
59
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
32
60
|
declare const _default: typeof __VLS_export;
|
|
33
61
|
export default _default;
|
|
62
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
63
|
+
new (): {
|
|
64
|
+
$slots: S;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
@@ -52,7 +52,22 @@ type __VLS_Props = {
|
|
|
52
52
|
fieldId?: string | undefined;
|
|
53
53
|
size?: 'sm' | 'md' | undefined;
|
|
54
54
|
} & /* @vue-ignore */ Omit<InputHTMLAttributes, 'size' | 'type'>;
|
|
55
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Focus the control, for a caller that owns when it happens.
|
|
57
|
+
*
|
|
58
|
+
* A `ref` on a component gives the component and not the element, so without
|
|
59
|
+
* this a field cannot be focused at all — which is why an app that focuses
|
|
60
|
+
* its amount field when a sheet opens, and again when the amount is
|
|
61
|
+
* rejected, wrote the whole field by hand instead and said so in a comment.
|
|
62
|
+
* That is the gap test, with the reason already written down.
|
|
63
|
+
*
|
|
64
|
+
* `ErrorSummary` has exposed `focus` since it existed, for the same need
|
|
65
|
+
* from the other end.
|
|
66
|
+
*/
|
|
67
|
+
declare function focus(): void;
|
|
68
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {
|
|
69
|
+
focus: typeof focus;
|
|
70
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
56
71
|
toggle: (visible: boolean) => any;
|
|
57
72
|
"update:modelValue": (value: string) => any;
|
|
58
73
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as addDays, c as lastNDays, d as toDateKey, f as todayKey, i as needsIosInstall, l as leadingBlanks, n as isApplePortable, o as eachDayOfYear, r as isInstalled, s as fromDateKey, t as SettingsGroup_default, u as startOfWeek } from "./SettingsGroup-BXkajKGl.js";
|
|
2
2
|
import { a as formatNumber, i as formatDate, o as setFormatLocale, r as watchVisibility } from "./environment-Cz5KiC1t.js";
|
|
3
3
|
import { a as BaseCheckbox_default, c as useBoundValue, d as ensureSheetRoot, i as textDirection, l as useVisualViewport, n as elementDirection, o as BaseSheet_default, r as horizontalStep, t as focusTarget, u as SHEET_ROOT_ID } from "./focus-target-BtcoJdmz.js";
|
|
4
|
-
import { _ as toRedirectPath, a as useFieldAttrs, c as useToast, d as isThemePreference, f as readStoredTheme, g as safeRedirect, h as tapFeedback, i as BaseInput_default, l as useOnline, m as useTheme, n as useAnnounce, o as FormField_default, p as setThemeStorageKey, r as GoogleButton_default, s as BaseAlert_default, t as announce, u as applyTheme } from "./use-announce-
|
|
4
|
+
import { _ as toRedirectPath, a as useFieldAttrs, c as useToast, d as isThemePreference, f as readStoredTheme, g as safeRedirect, h as tapFeedback, i as BaseInput_default, l as useOnline, m as useTheme, n as useAnnounce, o as FormField_default, p as setThemeStorageKey, r as GoogleButton_default, s as BaseAlert_default, t as announce, u as applyTheme } from "./use-announce-BGZnV78W.js";
|
|
5
5
|
import { n as registerErrorMapper, r as toAppError, t as AppError } from "./app-error-DF9cijE0.js";
|
|
6
6
|
import { a as BaseSkeleton_default, c as useMediaQuery, l as useDragScroll, n as ScrollArea_default, o as useMenuKeys, s as useAnchoredPanel, t as BaseListbox_default } from "./BaseListbox-D-NQ6nDd.js";
|
|
7
7
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.js";
|
|
@@ -1021,12 +1021,29 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
|
|
|
1021
1021
|
"modelModifiers": {}
|
|
1022
1022
|
}),
|
|
1023
1023
|
emits: ["update:modelValue"],
|
|
1024
|
-
setup(__props) {
|
|
1024
|
+
setup(__props, { expose: __expose }) {
|
|
1025
1025
|
const SIZE_CLASS = {
|
|
1026
1026
|
sm: "h-11 text-sm",
|
|
1027
1027
|
md: "h-11 text-base"
|
|
1028
1028
|
};
|
|
1029
1029
|
const model = useModel(__props, "modelValue");
|
|
1030
|
+
const control = ref(null);
|
|
1031
|
+
/**
|
|
1032
|
+
* Focus the control, for a caller that owns when it happens.
|
|
1033
|
+
*
|
|
1034
|
+
* A `ref` on a component gives the component and not the element, so without
|
|
1035
|
+
* this a field cannot be focused at all — which is why an app that focuses
|
|
1036
|
+
* its amount field when a sheet opens, and again when the amount is
|
|
1037
|
+
* rejected, wrote the whole field by hand instead and said so in a comment.
|
|
1038
|
+
* That is the gap test, with the reason already written down.
|
|
1039
|
+
*
|
|
1040
|
+
* `ErrorSummary` has exposed `focus` since it existed, for the same need
|
|
1041
|
+
* from the other end.
|
|
1042
|
+
*/
|
|
1043
|
+
function focus() {
|
|
1044
|
+
control.value?.focus();
|
|
1045
|
+
}
|
|
1046
|
+
__expose({ focus });
|
|
1030
1047
|
return (_ctx, _cache) => {
|
|
1031
1048
|
return openBlock(), createBlock(FormField_default, {
|
|
1032
1049
|
"field-id": __props.fieldId,
|
|
@@ -1038,6 +1055,8 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
|
|
|
1038
1055
|
}, {
|
|
1039
1056
|
default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$47, [withDirectives(createElementVNode("select", {
|
|
1040
1057
|
id,
|
|
1058
|
+
ref_key: "control",
|
|
1059
|
+
ref: control,
|
|
1041
1060
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
1042
1061
|
"aria-invalid": invalid,
|
|
1043
1062
|
"aria-describedby": describedBy,
|
|
@@ -1605,10 +1624,27 @@ var BaseTextarea_default = /* @__PURE__ */ defineComponent({
|
|
|
1605
1624
|
fieldId: { default: () => void 0 }
|
|
1606
1625
|
},
|
|
1607
1626
|
emits: ["update:modelValue"],
|
|
1608
|
-
setup(__props, { emit: __emit }) {
|
|
1627
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
1609
1628
|
const { fieldClass, fieldStyle, controlAttrs } = useFieldAttrs();
|
|
1610
1629
|
const emit = __emit;
|
|
1611
1630
|
const model = useBoundValue(() => __props.modelValue, (value) => emit("update:modelValue", value));
|
|
1631
|
+
const control = ref(null);
|
|
1632
|
+
/**
|
|
1633
|
+
* Focus the control, for a caller that owns when it happens.
|
|
1634
|
+
*
|
|
1635
|
+
* A `ref` on a component gives the component and not the element, so without
|
|
1636
|
+
* this a field cannot be focused at all — which is why an app that focuses
|
|
1637
|
+
* its amount field when a sheet opens, and again when the amount is
|
|
1638
|
+
* rejected, wrote the whole field by hand instead and said so in a comment.
|
|
1639
|
+
* That is the gap test, with the reason already written down.
|
|
1640
|
+
*
|
|
1641
|
+
* `ErrorSummary` has exposed `focus` since it existed, for the same need
|
|
1642
|
+
* from the other end.
|
|
1643
|
+
*/
|
|
1644
|
+
function focus() {
|
|
1645
|
+
control.value?.focus();
|
|
1646
|
+
}
|
|
1647
|
+
__expose({ focus });
|
|
1612
1648
|
return (_ctx, _cache) => {
|
|
1613
1649
|
return openBlock(), createBlock(FormField_default, {
|
|
1614
1650
|
"field-id": __props.fieldId,
|
|
@@ -1622,6 +1658,8 @@ var BaseTextarea_default = /* @__PURE__ */ defineComponent({
|
|
|
1622
1658
|
}, {
|
|
1623
1659
|
default: withCtx(({ id, describedBy, invalid }) => [withDirectives(createElementVNode("textarea", mergeProps({
|
|
1624
1660
|
id,
|
|
1661
|
+
ref_key: "control",
|
|
1662
|
+
ref: control,
|
|
1625
1663
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(model) ? model.value = $event : null),
|
|
1626
1664
|
rows: __props.rows,
|
|
1627
1665
|
"aria-invalid": invalid,
|
|
@@ -3539,10 +3577,18 @@ var CopyButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
3539
3577
|
withText: {
|
|
3540
3578
|
type: Boolean,
|
|
3541
3579
|
default: false
|
|
3542
|
-
}
|
|
3580
|
+
},
|
|
3581
|
+
variant: { default: "default" }
|
|
3543
3582
|
},
|
|
3544
3583
|
emits: ["copied", "failed"],
|
|
3545
3584
|
setup(__props, { emit: __emit }) {
|
|
3585
|
+
/**
|
|
3586
|
+
* The button's content, for a shape the icon-and-label pair does not cover.
|
|
3587
|
+
*
|
|
3588
|
+
* Given one, set `withText` as well: the `aria-label` exists to name a button
|
|
3589
|
+
* whose only content is an icon, and a slot that renders words does not need
|
|
3590
|
+
* naming twice.
|
|
3591
|
+
*/
|
|
3546
3592
|
const emit = __emit;
|
|
3547
3593
|
const state = ref("idle");
|
|
3548
3594
|
let timer = null;
|
|
@@ -3564,28 +3610,27 @@ var CopyButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
3564
3610
|
return (_ctx, _cache) => {
|
|
3565
3611
|
return openBlock(), createElementBlock("button", {
|
|
3566
3612
|
type: "button",
|
|
3567
|
-
class: normalizeClass(["rk-copy control focus-ring", {
|
|
3613
|
+
class: normalizeClass(__props.variant === "unstyled" ? "" : ["rk-copy control focus-ring", {
|
|
3568
3614
|
"is-copied": state.value === "copied",
|
|
3569
3615
|
"with-text": __props.withText
|
|
3570
3616
|
}]),
|
|
3571
3617
|
"aria-label": __props.withText ? void 0 : state.value === "copied" ? __props.copiedLabel : __props.copyLabel,
|
|
3572
3618
|
onClick: copy
|
|
3573
|
-
}, [
|
|
3574
|
-
state.value === "copied"
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
], 10, _hoisted_1$14);
|
|
3619
|
+
}, [renderSlot(_ctx.$slots, "default", {
|
|
3620
|
+
copied: state.value === "copied",
|
|
3621
|
+
failed: state.value === "failed"
|
|
3622
|
+
}, () => [state.value === "copied" ? (openBlock(), createBlock(unref(Check), {
|
|
3623
|
+
key: 0,
|
|
3624
|
+
class: "size-4 shrink-0",
|
|
3625
|
+
"aria-hidden": "true"
|
|
3626
|
+
})) : (openBlock(), createBlock(unref(Copy), {
|
|
3627
|
+
key: 1,
|
|
3628
|
+
class: "size-4 shrink-0",
|
|
3629
|
+
"aria-hidden": "true"
|
|
3630
|
+
})), __props.withText ? (openBlock(), createElementBlock("span", _hoisted_2$12, toDisplayString(state.value === "copied" ? __props.copiedLabel : __props.copyLabel), 1)) : createCommentVNode("", true)], true), createElementVNode("span", _hoisted_3$11, toDisplayString(state.value === "copied" ? __props.copiedLabel : state.value === "failed" ? __props.errorLabel ?? "" : ""), 1)], 10, _hoisted_1$14);
|
|
3586
3631
|
};
|
|
3587
3632
|
}
|
|
3588
|
-
}), [["__scopeId", "data-v-
|
|
3633
|
+
}), [["__scopeId", "data-v-446f2f89"]]);
|
|
3589
3634
|
//#endregion
|
|
3590
3635
|
//#region src/components/CodeBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3591
3636
|
var _hoisted_1$13 = {
|
|
@@ -4721,7 +4766,7 @@ var PasswordInput_default = /* @__PURE__ */ defineComponent({
|
|
|
4721
4766
|
size: { default: "md" }
|
|
4722
4767
|
},
|
|
4723
4768
|
emits: ["update:modelValue", "toggle"],
|
|
4724
|
-
setup(__props, { emit: __emit }) {
|
|
4769
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
4725
4770
|
const { fieldClass, fieldStyle, controlAttrs } = useFieldAttrs();
|
|
4726
4771
|
/**
|
|
4727
4772
|
* A password field you can look at.
|
|
@@ -4765,6 +4810,23 @@ var PasswordInput_default = /* @__PURE__ */ defineComponent({
|
|
|
4765
4810
|
visible.value = !visible.value;
|
|
4766
4811
|
emit("toggle", visible.value);
|
|
4767
4812
|
}
|
|
4813
|
+
const control = ref(null);
|
|
4814
|
+
/**
|
|
4815
|
+
* Focus the control, for a caller that owns when it happens.
|
|
4816
|
+
*
|
|
4817
|
+
* A `ref` on a component gives the component and not the element, so without
|
|
4818
|
+
* this a field cannot be focused at all — which is why an app that focuses
|
|
4819
|
+
* its amount field when a sheet opens, and again when the amount is
|
|
4820
|
+
* rejected, wrote the whole field by hand instead and said so in a comment.
|
|
4821
|
+
* That is the gap test, with the reason already written down.
|
|
4822
|
+
*
|
|
4823
|
+
* `ErrorSummary` has exposed `focus` since it existed, for the same need
|
|
4824
|
+
* from the other end.
|
|
4825
|
+
*/
|
|
4826
|
+
function focus() {
|
|
4827
|
+
control.value?.focus();
|
|
4828
|
+
}
|
|
4829
|
+
__expose({ focus });
|
|
4768
4830
|
return (_ctx, _cache) => {
|
|
4769
4831
|
return openBlock(), createBlock(FormField_default, {
|
|
4770
4832
|
class: normalizeClass(unref(fieldClass)),
|
|
@@ -4778,6 +4840,8 @@ var PasswordInput_default = /* @__PURE__ */ defineComponent({
|
|
|
4778
4840
|
}, {
|
|
4779
4841
|
default: withCtx(({ id, describedBy, invalid }) => [createElementVNode("div", _hoisted_1$2, [createElementVNode("input", mergeProps({
|
|
4780
4842
|
id,
|
|
4843
|
+
ref_key: "control",
|
|
4844
|
+
ref: control,
|
|
4781
4845
|
type: visible.value ? "text" : "password",
|
|
4782
4846
|
value: __props.modelValue,
|
|
4783
4847
|
"aria-invalid": invalid,
|
|
@@ -5125,7 +5189,7 @@ function createI18nRuntime(options) {
|
|
|
5125
5189
|
*
|
|
5126
5190
|
* The fallback keeps `vitest` and `vite dev` honest, where no define runs.
|
|
5127
5191
|
*/
|
|
5128
|
-
var VERSION = "3.
|
|
5192
|
+
var VERSION = "3.4.0";
|
|
5129
5193
|
//#endregion
|
|
5130
5194
|
export { ActivityGrid_default as ActivityGrid, AnnounceHost_default as AnnounceHost, AppError, AvatarStack_default as AvatarStack, BarChart_default as BarChart, BaseAlert_default as BaseAlert, BaseAvatar_default as BaseAvatar, BaseBadge_default as BaseBadge, BaseButton_default as BaseButton, BaseCalendar_default as BaseCalendar, BaseCard_default as BaseCard, BaseCheckbox_default as BaseCheckbox, BaseChip_default as BaseChip, BaseCombobox_default as BaseCombobox, BaseDatePicker_default as BaseDatePicker, BaseInput_default as BaseInput, BaseKbd_default as BaseKbd, BaseLink_default as BaseLink, BaseListbox_default as BaseListbox, BaseMenu_default as BaseMenu, BasePopconfirm_default as BasePopconfirm, BasePopover_default as BasePopover, BaseRadioGroup_default as BaseRadioGroup, BaseRating_default as BaseRating, BaseSelect_default as BaseSelect, BaseSeparator_default as BaseSeparator, BaseSheet_default as BaseSheet, BaseSkeleton_default as BaseSkeleton, BaseSlider_default as BaseSlider, BaseSpinner_default as BaseSpinner, BaseStepper_default as BaseStepper, BaseSwitch_default as BaseSwitch, BaseTable_default as BaseTable, BaseTextarea_default as BaseTextarea, BaseTimeline_default as BaseTimeline, CircularProgress_default as CircularProgress, CodeBlock_default as CodeBlock, ColorPicker_default as ColorPicker, CopyButton_default as CopyButton, DescriptionList_default as DescriptionList, DonutChart_default as DonutChart, EmptyState_default as EmptyState, ErrorBoundary_default as ErrorBoundary, ErrorSummary_default as ErrorSummary, FileDrop_default as FileDrop, FormField_default as FormField, GoogleButton_default as GoogleButton, LocaleLinks_default as LocaleLinks, MATERIALS, NumberInput_default as NumberInput, PALETTES, PageContainer_default as PageContainer, PageHeader_default as PageHeader, PasswordInput_default as PasswordInput, PinInput_default as PinInput, PriceCard_default as PriceCard, ProgressBar_default as ProgressBar, SHEET_ROOT_ID, ScrollArea_default as ScrollArea, SectionHeading_default as SectionHeading, SegmentedControl_default as SegmentedControl, SettingsGroup_default as SettingsGroup, SettingsRow_default as SettingsRow, SkeletonList_default as SkeletonList, SliderField_default as SliderField, StatCard_default as StatCard, TabBar_default as TabBar, TagsInput_default as TagsInput, TimePicker_default as TimePicker, ToastHost_default as ToastHost, ToggleGroup_default as ToggleGroup, ToneDot_default as ToneDot, VERSION, VirtualList_default as VirtualList, addDays, announce, applyMaterial, applyPalette, applyTheme, createI18nRuntime, downloadJson, eachDayOfYear, elementDirection, ensureSheetRoot, formatDate, formatNumber, fromDateKey, horizontalStep, isApplePortable, isInstalled, isMaterial, isPaletteName, isThemePreference, lastNDays, leadingBlanks, needsIosInstall, readStoredTheme, registerErrorMapper, relativeDayLabel, safeRedirect, setFormatLocale, setMaterialStorageKey, setPaletteStorageKey, setThemeStorageKey, startOfWeek, tapFeedback, textDirection, toAppError, toDateKey, toRedirectPath, todayKey, useAnnounce, useDebouncedCallback, useDragScroll, useMaterial, useMediaQuery, useOnline, usePalette, useTheme, useToast, useToday, useVisualViewport };
|
|
5131
5195
|
|