@ac-design/design-system 2.2.1 → 2.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.
Files changed (77) hide show
  1. package/dist/lib/compat.css +421 -0
  2. package/dist/lib/components/AcAppSwitcher.vue.d.ts +1 -1
  3. package/dist/lib/components/AcAppSwitcher.vue_vue_type_script_setup_true_lang.js +23 -23
  4. package/dist/lib/components/AcAreaChart.vue.d.ts +1 -1
  5. package/dist/lib/components/AcBarChart.vue.d.ts +1 -1
  6. package/dist/lib/components/AcButton.vue.d.ts +25 -13
  7. package/dist/lib/components/AcButton.vue_vue_type_script_setup_true_lang.js +122 -71
  8. package/dist/lib/components/AcCard.vue.d.ts +11 -5
  9. package/dist/lib/components/AcCard.vue_vue_type_script_setup_true_lang.js +99 -51
  10. package/dist/lib/components/AcCellValue.vue.d.ts +3 -3
  11. package/dist/lib/components/AcCellValue.vue_vue_type_script_setup_true_lang.js +20 -20
  12. package/dist/lib/components/AcCheckBox.vue.d.ts +4 -1
  13. package/dist/lib/components/AcCheckBox.vue_vue_type_script_setup_true_lang.js +50 -50
  14. package/dist/lib/components/AcCircularProgress.vue.d.ts +1 -1
  15. package/dist/lib/components/AcCodeEditor.vue.d.ts +12 -0
  16. package/dist/lib/components/AcCodeEditor.vue_vue_type_script_setup_true_lang.js +240 -207
  17. package/dist/lib/components/AcColorInput.vue.d.ts +4 -4
  18. package/dist/lib/components/AcColorInput.vue_vue_type_script_setup_true_lang.js +72 -66
  19. package/dist/lib/components/AcCostSummary.vue.d.ts +1 -1
  20. package/dist/lib/components/AcDatePicker.vue.d.ts +41 -10
  21. package/dist/lib/components/AcDatePicker.vue_vue_type_script_setup_true_lang.js +554 -446
  22. package/dist/lib/components/AcDeleteModal.vue.d.ts +1 -1
  23. package/dist/lib/components/AcDonutChart.vue.d.ts +2 -2
  24. package/dist/lib/components/AcDropdown.vue.d.ts +1 -1
  25. package/dist/lib/components/AcDropdown.vue_vue_type_script_setup_true_lang.js +8 -8
  26. package/dist/lib/components/AcErrorState.vue.d.ts +1 -1
  27. package/dist/lib/components/AcFormFooter.vue_vue_type_script_setup_true_lang.js +8 -8
  28. package/dist/lib/components/AcGraphChart.vue.d.ts +2 -2
  29. package/dist/lib/components/AcHeader.vue.d.ts +1 -1
  30. package/dist/lib/components/AcInput.vue.d.ts +86 -44
  31. package/dist/lib/components/AcInput.vue_vue_type_script_setup_true_lang.js +319 -86
  32. package/dist/lib/components/AcKeyValueInput.vue.d.ts +34 -54
  33. package/dist/lib/components/AcKeyValueInput.vue_vue_type_script_setup_true_lang.js +134 -106
  34. package/dist/lib/components/AcLineChart.vue.d.ts +1 -1
  35. package/dist/lib/components/AcLocaleSwitcher.vue.d.ts +6 -0
  36. package/dist/lib/components/AcLocaleSwitcher.vue_vue_type_script_setup_true_lang.js +74 -58
  37. package/dist/lib/components/AcMapChart.vue.d.ts +2 -2
  38. package/dist/lib/components/AcModal.vue.d.ts +1 -1
  39. package/dist/lib/components/AcNavbar.vue.d.ts +2 -0
  40. package/dist/lib/components/AcNavbar.vue_vue_type_script_setup_true_lang.js +31 -25
  41. package/dist/lib/components/AcNotificationMenu.vue.d.ts +1 -1
  42. package/dist/lib/components/AcNotificationMenu.vue_vue_type_script_setup_true_lang.js +24 -24
  43. package/dist/lib/components/AcNumberInput.vue.d.ts +55 -45
  44. package/dist/lib/components/AcNumberInput.vue_vue_type_script_setup_true_lang.js +159 -99
  45. package/dist/lib/components/AcRadioCard.js +5 -0
  46. package/dist/lib/components/AcRadioCard.vue.d.ts +55 -0
  47. package/dist/lib/components/AcRadioCard.vue_vue_type_script_setup_true_lang.js +135 -0
  48. package/dist/lib/components/AcSelect.vue.d.ts +46 -6
  49. package/dist/lib/components/AcSelect.vue_vue_type_script_setup_true_lang.js +309 -197
  50. package/dist/lib/components/AcSidePanel.vue.d.ts +1 -1
  51. package/dist/lib/components/AcSidebar.vue.d.ts +9 -0
  52. package/dist/lib/components/AcSidebar.vue_vue_type_script_setup_true_lang.js +113 -94
  53. package/dist/lib/components/AcSidebarSection.vue_vue_type_script_setup_true_lang.js +19 -18
  54. package/dist/lib/components/AcSlider.vue.d.ts +2 -2
  55. package/dist/lib/components/AcSwitch.vue_vue_type_script_setup_true_lang.js +23 -23
  56. package/dist/lib/components/AcTable.vue.d.ts +50 -5
  57. package/dist/lib/components/AcTable.vue_vue_type_script_setup_true_lang.js +257 -129
  58. package/dist/lib/components/AcTagInput.vue.d.ts +23 -4
  59. package/dist/lib/components/AcTagInput.vue_vue_type_script_setup_true_lang.js +126 -114
  60. package/dist/lib/components/AcTaintInput.js +5 -0
  61. package/dist/lib/components/AcTaintInput.vue.d.ts +44 -0
  62. package/dist/lib/components/AcTaintInput.vue_vue_type_script_setup_true_lang.js +208 -0
  63. package/dist/lib/components/AcTextarea.vue.d.ts +64 -4
  64. package/dist/lib/components/AcTextarea.vue_vue_type_script_setup_true_lang.js +159 -68
  65. package/dist/lib/components/AcThemeMode.vue.d.ts +10 -2
  66. package/dist/lib/components/AcThemeMode.vue_vue_type_script_setup_true_lang.js +53 -42
  67. package/dist/lib/components/AcTimePicker.vue.d.ts +36 -11
  68. package/dist/lib/components/AcTimePicker.vue_vue_type_script_setup_true_lang.js +232 -168
  69. package/dist/lib/components/AcTooltip.vue.d.ts +3 -3
  70. package/dist/lib/components/AcUserMenu.vue.d.ts +8 -0
  71. package/dist/lib/components/AcUserMenu.vue_vue_type_script_setup_true_lang.js +126 -109
  72. package/dist/lib/components/index.d.ts +2 -0
  73. package/dist/lib/components/types.d.ts +2 -0
  74. package/dist/lib/composables/useToast.d.ts +2 -2
  75. package/dist/lib/index.d.ts +2 -1
  76. package/dist/lib/index.js +51 -49
  77. package/package.json +1 -1
@@ -20,7 +20,7 @@ var b = ["for"], x = {
20
20
  "value",
21
21
  "disabled",
22
22
  "aria-label"
23
- ], E = [
23
+ ], ee = [
24
24
  "id",
25
25
  "value",
26
26
  "name",
@@ -29,13 +29,13 @@ var b = ["for"], x = {
29
29
  "required",
30
30
  "aria-invalid",
31
31
  "aria-describedby"
32
- ], D = ["aria-label"], O = [
32
+ ], E = ["aria-label"], D = [
33
33
  "disabled",
34
34
  "aria-label",
35
35
  "aria-pressed",
36
36
  "title",
37
37
  "onClick"
38
- ], k = ["id"], A = /*@__PURE__*/ a({
38
+ ], O = ["id"], k = /*@__PURE__*/ a({
39
39
  inheritAttrs: !1,
40
40
  __name: "AcColorInput",
41
41
  props: /*@__PURE__*/ o({
@@ -66,58 +66,64 @@ var b = ["for"], x = {
66
66
  modelModifiers: {}
67
67
  }),
68
68
  emits: /*@__PURE__*/ o(["change"], ["update:modelValue"]),
69
- setup(a, { expose: o, emit: A }) {
70
- let j = a, M = _(a, "modelValue"), N = A, P = /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i, F = g(), I = h(), L = t(() => ({
71
- class: I.class,
72
- style: I.style
73
- })), R = t(() => {
74
- let { class: e, style: t, ...n } = I;
69
+ setup(a, { expose: o, emit: k }) {
70
+ let A = a, j = _(a, "modelValue"), M = k, N = /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i, P = g(), F = h(), I = t(() => ({
71
+ class: F.class,
72
+ style: F.style
73
+ })), L = t(() => {
74
+ let { class: e, style: t, ...n } = F;
75
75
  return n;
76
- }), z = d(null), B = d(null), V = d(M.value), H = d(""), U = t(() => J(M.value)), W = t(() => j.disabled || j.readonly), G = t(() => j.errorMsg || H.value), K = t(() => [j.hint && `${F}-hint`, G.value && `${F}-msg`].filter(Boolean).join(" ") || void 0), q = t(() => j.presets.flatMap((e) => {
77
- let t = typeof e == "string" ? { value: e } : e, n = J(t.value);
76
+ }), R = d(null), z = d(null), B = d(j.value), V = d(""), H = {
77
+ xs: "size-4",
78
+ xsmall: "size-8",
79
+ small: "size-10",
80
+ normal: "size-12",
81
+ large: "size-20"
82
+ }, U = t(() => A.size === "small" || A.size === "xs" || A.size === "xsmall"), W = t(() => Y(j.value)), G = t(() => A.disabled || A.readonly), K = t(() => A.errorMsg || V.value), q = t(() => [A.hint && `${P}-hint`, K.value && `${P}-msg`].filter(Boolean).join(" ") || void 0), J = t(() => A.presets.flatMap((e) => {
83
+ let t = typeof e == "string" ? { value: e } : e, n = Y(t.value);
78
84
  return n ? [{
79
85
  value: n,
80
86
  label: t.label || n
81
87
  }] : [];
82
88
  }));
83
- function J(e) {
84
- let t = e ? P.exec(e.trim()) : null;
89
+ function Y(e) {
90
+ let t = e ? N.exec(e.trim()) : null;
85
91
  if (!t) return null;
86
92
  let n = t[1].toLowerCase();
87
93
  return `#${n.length === 3 ? [...n].map((e) => e + e).join("") : n}`;
88
94
  }
89
- function Y(e) {
90
- H.value = "", V.value = e, e !== M.value && (M.value = e, N("change", e));
91
- }
92
95
  function X(e) {
93
- V.value = e.target.value, H.value = "";
94
- let t = V.value.trim().replace(/^#?/, "").length === 6 ? J(V.value) : null;
95
- t && (M.value = t);
96
+ V.value = "", B.value = e, e !== j.value && (j.value = e, M("change", e));
97
+ }
98
+ function te(e) {
99
+ B.value = e.target.value, V.value = "";
100
+ let t = B.value.trim().replace(/^#?/, "").length === 6 ? Y(B.value) : null;
101
+ t && (j.value = t);
96
102
  }
97
103
  function Z() {
98
- let e = V.value.trim();
99
- if (!e) return Y("");
100
- let t = J(e);
101
- t ? Y(t) : H.value = "Enter a hex colour such as #1c7c54 or #fff";
104
+ let e = B.value.trim();
105
+ if (!e) return X("");
106
+ let t = Y(e);
107
+ t ? X(t) : V.value = "Enter a hex colour such as #1c7c54 or #fff";
102
108
  }
103
109
  function Q(e) {
104
- H.value = "";
110
+ V.value = "";
105
111
  let t = e.target.value.toLowerCase();
106
- V.value = t, M.value = t;
112
+ B.value = t, j.value = t;
107
113
  }
108
114
  function $(e) {
109
- N("change", e.target.value.toLowerCase());
115
+ M("change", e.target.value.toLowerCase());
110
116
  }
111
- return v(M, (e) => {
112
- J(V.value) !== J(e) && (V.value = e ?? "");
113
- }), o({ focus: () => (j.swatchOnly ? B.value : z.value)?.focus() }), (t, o) => (u(), r("div", s(L.value, {
117
+ return v(j, (e) => {
118
+ Y(B.value) !== Y(e) && (B.value = e ?? "");
119
+ }), o({ focus: () => (A.swatchOnly ? z.value : R.value)?.focus() }), (t, o) => (u(), r("div", s(I.value, {
114
120
  class: [a.swatchOnly ? "w-fit" : "w-full", a.disabled && "opacity-50"],
115
121
  "data-ac-ds": "",
116
122
  "data-testid": "ac-color-input"
117
123
  }), [
118
124
  a.label ? (u(), r("label", {
119
125
  key: 0,
120
- for: a.swatchOnly ? `${m(F)}-picker` : m(F),
126
+ for: a.swatchOnly ? `${m(P)}-picker` : m(P),
121
127
  class: "mb-2 flex items-center gap-1 text-base font-medium text-heading"
122
128
  }, [
123
129
  i("span", null, p(a.label), 1),
@@ -126,92 +132,92 @@ var b = ["for"], x = {
126
132
  ], 8, b)) : n("", !0),
127
133
  a.hint ? (u(), r("p", {
128
134
  key: 1,
129
- id: `${m(F)}-hint`,
135
+ id: `${m(P)}-hint`,
130
136
  class: "mb-2 text-base text-muted"
131
137
  }, p(a.hint), 9, C)) : n("", !0),
132
138
  a.swatchOnly ? (u(), r("input", s({
133
139
  key: 2,
134
- id: `${m(F)}-picker`,
140
+ id: `${m(P)}-picker`,
135
141
  ref_key: "picker",
136
- ref: B
137
- }, R.value, {
142
+ ref: z
143
+ }, L.value, {
138
144
  type: "color",
139
- value: U.value ?? "#000000",
145
+ value: W.value ?? "#000000",
140
146
  name: a.name,
141
- disabled: W.value,
147
+ disabled: G.value,
142
148
  required: a.required,
143
- "aria-label": a.label ? void 0 : R.value["aria-label"] ?? "Colour",
144
- "aria-invalid": !!G.value || void 0,
145
- "aria-describedby": K.value,
146
- class: ["block cursor-pointer rounded-6 border-2 bg-background text-heading transition-all duration-200 focus:border-primary/40 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface disabled:cursor-not-allowed motion-reduce:transition-none", [a.size === "small" ? "size-10" : "size-12", G.value ? "border-danger/50" : "border-border"]],
149
+ "aria-label": a.label ? void 0 : L.value["aria-label"] ?? "Colour",
150
+ "aria-invalid": !!K.value || void 0,
151
+ "aria-describedby": q.value,
152
+ class: ["block cursor-pointer rounded-6 border-2 bg-background text-heading transition-all duration-200 focus:border-primary/40 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface disabled:cursor-not-allowed motion-reduce:transition-none", [H[a.size] ?? H.normal, K.value ? "border-danger/50" : "border-border"]],
147
153
  "data-testid": "ac-color-input-swatch",
148
154
  onInput: Q,
149
155
  onChange: $
150
156
  }), null, 16, w)) : (u(), r("div", {
151
157
  key: 3,
152
158
  class: c(["relative flex min-w-0 items-center rounded-10 border transition-[border-color,box-shadow,background-color] duration-200", [
153
- a.size === "small" ? "h-9" : "h-10.5",
159
+ U.value ? "h-9" : "h-10.5",
154
160
  a.readonly ? "bg-surface-muted" : "bg-background",
155
- G.value ? "border-danger/50 focus-within:border-danger focus-within:shadow-[0_0_0_2px_color-mix(in_srgb,var(--color-danger)_20%,transparent)]" : ["border-border focus-within:focus-ring", !a.disabled && "hover:border-accent-active"]
161
+ K.value ? "border-danger/50 focus-within:border-danger focus-within:shadow-[0_0_0_2px_color-mix(in_srgb,var(--color-danger)_20%,transparent)]" : ["border-border focus-within:focus-ring", !a.disabled && "hover:border-accent-active"]
156
162
  ]])
157
163
  }, [i("span", {
158
- class: c(["relative ml-1 shrink-0 overflow-hidden rounded-8 border-2 border-border has-[input:focus-visible]:ring-2 has-[input:focus-visible]:ring-ring has-[input:focus-visible]:ring-offset-1 has-[input:focus-visible]:ring-offset-surface", [a.size === "small" ? "size-7" : "size-8", !U.value && "bg-surface-sunken"]]),
159
- style: l(U.value ? { backgroundColor: U.value } : void 0),
164
+ class: c(["relative ml-1 shrink-0 overflow-hidden rounded-8 border-2 border-border has-[input:focus-visible]:ring-2 has-[input:focus-visible]:ring-ring has-[input:focus-visible]:ring-offset-1 has-[input:focus-visible]:ring-offset-surface", [U.value ? "size-7" : "size-8", !W.value && "bg-surface-sunken"]]),
165
+ style: l(W.value ? { backgroundColor: W.value } : void 0),
160
166
  "data-testid": "ac-color-input-swatch"
161
167
  }, [i("input", {
162
168
  type: "color",
163
- value: U.value ?? "#000000",
164
- disabled: W.value,
169
+ value: W.value ?? "#000000",
170
+ disabled: G.value,
165
171
  "aria-label": a.label ? `${a.label}: open colour picker` : "Open colour picker",
166
172
  class: "absolute inset-0 size-full cursor-pointer opacity-0 disabled:cursor-not-allowed",
167
173
  onInput: Q,
168
174
  onChange: $
169
175
  }, null, 40, T)], 6), i("input", s({
170
- id: m(F),
176
+ id: m(P),
171
177
  ref_key: "input",
172
- ref: z
173
- }, R.value, {
178
+ ref: R
179
+ }, L.value, {
174
180
  type: "text",
175
181
  autocomplete: "off",
176
182
  spellcheck: "false",
177
183
  maxlength: "7",
178
- value: V.value,
184
+ value: B.value,
179
185
  name: a.name,
180
186
  disabled: a.disabled,
181
187
  readonly: a.readonly,
182
188
  required: a.required,
183
- "aria-invalid": !!G.value || void 0,
184
- "aria-describedby": K.value,
185
- class: ["block h-full w-full min-w-0 flex-1 rounded-10 bg-transparent pl-2.5 font-mono text-base font-normal text-heading outline-none placeholder:font-sans placeholder:text-muted/80 disabled:cursor-not-allowed", a.size === "small" ? "pr-3" : "pr-4"],
186
- onInput: X,
189
+ "aria-invalid": !!K.value || void 0,
190
+ "aria-describedby": q.value,
191
+ class: ["block h-full w-full min-w-0 flex-1 rounded-10 bg-transparent pl-2.5 font-mono text-base font-normal text-heading outline-none placeholder:font-sans placeholder:text-muted/80 disabled:cursor-not-allowed", U.value ? "pr-3" : "pr-4"],
192
+ onInput: te,
187
193
  onBlur: Z,
188
194
  onKeydown: y(Z, ["enter"])
189
- }), null, 16, E)], 2)),
190
- q.value.length ? (u(), r("div", {
195
+ }), null, 16, ee)], 2)),
196
+ J.value.length ? (u(), r("div", {
191
197
  key: 4,
192
198
  class: "mt-2.5 flex flex-wrap gap-2",
193
199
  role: "group",
194
200
  "aria-label": a.label ? `${a.label} presets` : "Presets"
195
- }, [(u(!0), r(e, null, f(q.value, (e) => (u(), r("button", {
201
+ }, [(u(!0), r(e, null, f(J.value, (e) => (u(), r("button", {
196
202
  key: e.value,
197
203
  type: "button",
198
- class: c(["size-6 shrink-0 rounded-full border border-border transition-[box-shadow,transform] duration-200 hover:scale-110 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface focus-visible:outline-none disabled:cursor-not-allowed disabled:hover:scale-100 motion-reduce:transition-none motion-reduce:hover:scale-100", [e.value === U.value && "ring-2 ring-primary ring-offset-2 ring-offset-surface", !W.value && "cursor-pointer"]]),
204
+ class: c(["size-6 shrink-0 rounded-full border border-border transition-[box-shadow,transform] duration-200 hover:scale-110 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface focus-visible:outline-none disabled:cursor-not-allowed disabled:hover:scale-100 motion-reduce:transition-none motion-reduce:hover:scale-100", [e.value === W.value && "ring-2 ring-primary ring-offset-2 ring-offset-surface", !G.value && "cursor-pointer"]]),
199
205
  style: l({ backgroundColor: e.value }),
200
- disabled: W.value,
206
+ disabled: G.value,
201
207
  "aria-label": e.label,
202
- "aria-pressed": e.value === U.value,
208
+ "aria-pressed": e.value === W.value,
203
209
  title: e.label,
204
210
  "data-testid": "ac-color-input-preset",
205
- onClick: (t) => Y(e.value)
206
- }, null, 14, O))), 128))], 8, D)) : n("", !0),
207
- G.value ? (u(), r("p", {
211
+ onClick: (t) => X(e.value)
212
+ }, null, 14, D))), 128))], 8, E)) : n("", !0),
213
+ K.value ? (u(), r("p", {
208
214
  key: 5,
209
- id: `${m(F)}-msg`,
215
+ id: `${m(P)}-msg`,
210
216
  class: "mt-1 text-base text-danger-strong",
211
217
  role: "alert"
212
- }, p(G.value), 9, k)) : n("", !0)
218
+ }, p(K.value), 9, O)) : n("", !0)
213
219
  ], 16));
214
220
  }
215
221
  });
216
222
  //#endregion
217
- export { A as default };
223
+ export { k as default };
@@ -77,8 +77,8 @@ type __VLS_Slots = {
77
77
  declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
78
78
  title: string;
79
79
  icon: Component;
80
- loading: boolean;
81
80
  top: string;
81
+ loading: boolean;
82
82
  items: CostSummaryItem[];
83
83
  subtitle: string;
84
84
  emptyText: string;
@@ -1,3 +1,4 @@
1
+ import type { HTMLAttributes } from "vue";
1
2
  export interface DatePickerPreset {
2
3
  /** Button text, e.g. "Last 7 days". */
3
4
  label: string;
@@ -41,27 +42,45 @@ export interface Props {
41
42
  errorMsg?: string;
42
43
  /** Help text between the label and the field. */
43
44
  hint?: string;
44
- /** `small` 36px or `normal` 42px tall, the same as `AcInput`. */
45
- size?: "small" | "normal";
45
+ /** `small` 36px or `normal` 42px tall, the same as `AcInput`; `large` is cloud-ui's 50px date field with 16px medium text. */
46
+ size?: "small" | "normal" | "large";
46
47
  /** Adds a hidden input with this name so plain form posts include the value. A range posts as `start/end`. */
47
48
  name?: string;
49
+ /** Draws the calendar in place, with no field, popover or border. In `date` mode each click updates `v-model` at once, and there's no Today button. */
50
+ inline?: boolean;
51
+ /** Saves each pick in `datetime` mode at once, with no Apply or Cancel; the popover stays open so the time can be set too. An empty value starts at the current time. */
52
+ autoApply?: boolean;
53
+ /** `24` shows 00–23 on the Time tab; `12` shows 1–12 with an AM/PM column, and the field reads `07:30 PM`. `v-model` is unchanged. Cloud `hour12`. */
54
+ hourCycle?: 12 | 24;
55
+ /** Shows the time-zone name in the field text and under the Time tab, e.g. `GMT+6`. */
56
+ showTimeZone?: boolean;
57
+ /** Shape of `v-model` in `date` and `datetime` mode: `string` as described there, `date` a `Date`, or `local` a `YYYY-MM-DDTHH:mm` string as `<input type="datetime-local">` keeps. With `date` and `local`, `date` mode keeps the time of day. Not for `range`. */
58
+ valueType?: "string" | "date" | "local";
59
+ /** Classes for the field box under the label, e.g. `max-w-md` to keep it narrower than the hint. */
60
+ fieldClass?: HTMLAttributes["class"];
48
61
  }
49
62
  type __VLS_Props = Props;
63
+ type __VLS_Slots = {
64
+ /** Content before the label text, such as a 14px icon. */
65
+ "label-icon"?: () => unknown;
66
+ /** Content after the label text, such as "(Optional)" or an info tooltip. */
67
+ "label-extra"?: () => unknown;
68
+ };
50
69
  type __VLS_ModelProps = {
51
70
  /** `date`: `"2026-09-30"`. `datetime`: `"2026-09-30T14:05:00Z"` (UTC). `duration`: `"26h30m"`. With `range`: `[start, end]`. `null` when empty. */
52
- modelValue?: string | [string, string] | null;
71
+ modelValue?: string | Date | [string, string] | null;
53
72
  /** Whether the popover is open. */
54
73
  "open"?: boolean;
55
74
  };
56
75
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
57
- declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
58
- /** Moves focus to the field. */
59
- focus: () => void | undefined;
76
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
77
+ /** Moves focus to the field, or to the calendar's current day when `inline`. */
78
+ focus: () => void;
60
79
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
61
- "update:modelValue": (value: string | [string, string] | null) => any;
80
+ "update:modelValue": (value: string | Date | [string, string] | null) => any;
62
81
  "update:open": (value: boolean) => any;
63
82
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
64
- "onUpdate:modelValue"?: ((value: string | [string, string] | null) => any) | undefined;
83
+ "onUpdate:modelValue"?: ((value: string | Date | [string, string] | null) => any) | undefined;
65
84
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
66
85
  }>, {
67
86
  required: boolean;
@@ -69,12 +88,13 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
69
88
  disabled: boolean;
70
89
  name: string;
71
90
  mode: "date" | "datetime" | "duration";
72
- size: "small" | "normal";
91
+ size: "small" | "normal" | "large";
73
92
  hint: string;
93
+ inline: boolean;
74
94
  placeholder: string;
95
+ errorMsg: string;
75
96
  range: boolean;
76
97
  clearable: boolean;
77
- errorMsg: string;
78
98
  presets: DatePickerPreset[];
79
99
  locale: string;
80
100
  minDate: string;
@@ -83,6 +103,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
83
103
  timeZone: string;
84
104
  weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;
85
105
  showSeconds: boolean;
106
+ autoApply: boolean;
107
+ hourCycle: 12 | 24;
108
+ showTimeZone: boolean;
109
+ valueType: "string" | "date" | "local";
110
+ fieldClass: string | false | Record<string, any> | import("vue").ClassValue[] | null;
86
111
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
112
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
87
113
  declare const _default: typeof __VLS_export;
88
114
  export default _default;
115
+ type __VLS_WithSlots<T, S> = T & {
116
+ new (): {
117
+ $slots: S;
118
+ };
119
+ };