@synopackageland/ui 0.5.5 → 0.5.6

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 (46) hide show
  1. package/README.md +91 -0
  2. package/dist/UiDefectsDemo.vue.d.ts +3 -0
  3. package/dist/components/advanced-panel/AdvancePanelGrid.vue.d.ts +1 -0
  4. package/dist/components/app/app-sidebar/AppSidebar.vue.d.ts +4 -0
  5. package/dist/components/app/section-tabs/SectionTabs.vue.d.ts +1 -0
  6. package/dist/components/composite/about-dialog/AboutDialog.vue.d.ts +13 -0
  7. package/dist/components/composite/config-provider/ConfigProvider.vue.d.ts +2 -0
  8. package/dist/components/composite/data-table/DataTable.vue.d.ts +1 -1
  9. package/dist/components/composite/file-picker/FilePicker.vue.d.ts +8 -4
  10. package/dist/components/composite/form/FormItem.vue.d.ts +5 -3
  11. package/dist/components/composite/form/context.d.ts +7 -1
  12. package/dist/components/composite/form/types.d.ts +1 -1
  13. package/dist/components/composite/key-value-row/KeyValueRow.vue.d.ts +20 -0
  14. package/dist/components/composite/repeat-rows/RepeatRow.vue.d.ts +2 -0
  15. package/dist/components/composite/search-field/SearchField.vue.d.ts +2 -0
  16. package/dist/components/composite/wizard/Wizard.vue.d.ts +2 -0
  17. package/dist/components/composite/wizard/types.d.ts +1 -0
  18. package/dist/components/feedback/info-mask/InfoMask.vue.d.ts +1 -1
  19. package/dist/components/primitives/color-picker/ColorPicker.vue.d.ts +6 -0
  20. package/dist/components/primitives/combobox/Combobox.vue.d.ts +2 -2
  21. package/dist/components/primitives/date-picker/DatePicker.vue.d.ts +14 -3
  22. package/dist/components/primitives/input-steppers/InputSteppers.vue.d.ts +5 -0
  23. package/dist/components/primitives/link/Link.vue.d.ts +32 -0
  24. package/dist/components/primitives/multiple-select/MultipleSelect.vue.d.ts +2 -2
  25. package/dist/components/primitives/pagination/Pagination.vue.d.ts +3 -3
  26. package/dist/components/primitives/schedule-table/ScheduleTable.vue.d.ts +9 -0
  27. package/dist/components/primitives/segment-control/SegmentControl.vue.d.ts +2 -2
  28. package/dist/components/primitives/select/internal/ComboboxField.vue.d.ts +3 -2
  29. package/dist/components/primitives/select/internal/types.d.ts +1 -0
  30. package/dist/components/primitives/superbox-select/SuperboxSelect.vue.d.ts +2 -2
  31. package/dist/components/primitives/toast/ToastProvider.vue.d.ts +2 -0
  32. package/dist/components/primitives/toggle-button/ToggleButton.vue.d.ts +2 -2
  33. package/dist/components/primitives/toggle-button/ToggleButtonGroup.vue.d.ts +2 -2
  34. package/dist/components/primitives/typography/TypoHeader.vue.d.ts +2 -0
  35. package/dist/composables/elementWidth.d.ts +4 -0
  36. package/dist/composables/formControl.d.ts +21 -0
  37. package/dist/i18n/filePicker.d.ts +15 -0
  38. package/dist/i18n/locale.d.ts +6 -0
  39. package/dist/index.d.ts +5 -0
  40. package/dist/index.js +9857 -9435
  41. package/dist/reka-runtime.json +1 -1
  42. package/dist/theme.css +1 -1
  43. package/dist/themes/dsm7-embedded-theme.css +1 -1
  44. package/dist/themes/dsm7-embedded.css +1 -1
  45. package/dist/themes/dsm7.css +1 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -465,3 +465,94 @@ The public npm package is `@synopackageland/ui`. Both release targets are built
465
465
  from the same source and share runtime files, exports, MIT license and notices.
466
466
  Public repository and issue tracker links will be added once those are selected.
467
467
  See the [documentation](https://www.varvis.me/docs/) for usage.
468
+
469
+
470
+ ## Form controls and compact settings (0.5.6)
471
+
472
+ `Form` and standalone `FormItem` default to `direction="auto"`. They use the
473
+ container's width, including a DSM package window, and stack labels below 520px.
474
+ Set `direction="horizontal"` to keep the previous layout or `direction="vertical"`
475
+ to stack at every width. An item can override its form. Controls bind their
476
+ FormItem id and ARIA state automatically; remove Select `role="group"` workarounds
477
+ and manual `field.controlId` bindings unless an application deliberately chooses
478
+ an explicit id. Explicit descriptions are merged with the field's help/error ids.
479
+
480
+ Use one FormItem for each primary control. For rows containing multiple fields,
481
+ put each labelled field in its own FormItem inside a FieldCell; use `text-only`
482
+ on an outer item that is only a layout heading. Multiple siblings do not reuse
483
+ the primary id. Native/custom controls can still use the `field.controlProps`
484
+ slot or `useFormField()` contract. If mounting independent Vue apps in the same
485
+ document, set a distinct `app.config.idPrefix` for each app.
486
+
487
+ ```vue
488
+ <ConfigProvider :locale="locale">
489
+ <Form>
490
+ <FormItem label="Protocol" description="Transport protocol">
491
+ <Select v-model="protocol" :options="protocols" />
492
+ </FormItem>
493
+ <FormItem label="Upload" field-width="full">
494
+ <FilePicker v-model="files" variant="compact" :max-size="524288" />
495
+ </FormItem>
496
+ </Form>
497
+ <KeyValueRow label="Version" value="0.5.6" />
498
+ <KeyValueRow label="Download">
499
+ <Link :href="downloadUrl" download="notes.txt" :download-label="t('download')">{{ t('download') }}</Link>
500
+ </KeyValueRow>
501
+ <Link href="https://example.com/docs" external :external-label="t('opensNewTab')">{{ t('docs') }}</Link>
502
+ </ConfigProvider>
503
+ ```
504
+
505
+ FilePicker retains browser `File[]` semantics. Built-in `locale` values are
506
+ `en`, `zh-TW`, `zh-CN`, `ja`, `ko`, `de`, `fr`, `es`, `it`; an explicit picker
507
+ locale overrides ConfigProvider. Its `text` accepts partial overrides of
508
+ `title`, `description`, `chooseFiles`, `chooseFolder`, `maxSize`, `maxFiles`,
509
+ `remove`, `typeRejected`, `sizeRejected`, `countRejected`, `duplicateRejected`.
510
+ The messages use `{name}`, `{size}` and `{count}` placeholders. Existing
511
+ `title`/`description` props still win. Other controls retain their exposed text
512
+ props; the provider locale currently localizes FilePicker only.
513
+
514
+ `KeyValueRow` renders a `dl` with `dt`/`dd`; its default slot accepts rich values,
515
+ including Link. `Wizard show-steps` shows registered step headlines and does not
516
+ permit jumping past guards. Localize its `aria-label`, `footer` labels (including
517
+ `startLabel`) and `progressText(current,total)`. `RepeatRow` places wrapped cells
518
+ inside `[data-repeat-fields]` and keeps its remove action beside the first control;
519
+ `removeDisabled` disables the action. Use wrapping rows for adjacent controls.
520
+
521
+ DOM attrs on controls target the focusable control (a Reka checkbox is a button
522
+ with `role="checkbox"`), while class/style target the layout wrapper. Overlay attrs
523
+ target content, except Tooltip, whose attrs target the slotted trigger. Renderless
524
+ providers without a rendered surface do not provide an attr destination.
525
+
526
+ The scoped preflight removes browser heading/paragraph/list margins and bare
527
+ button chrome inside library roots. Use explicit classes or Typo components for
528
+ intentional typography. Restore EmptyState's former spacing with
529
+ `class="min-h-48 py-10"`. The supplied DSM theme is light; forced-colors keyboard
530
+ focus has an outline. A dark theme is not part of this release.
531
+
532
+ ### Testing Select with jsdom
533
+
534
+ Mount with `attachTo: document.body` and unmount after each test. Reka uses
535
+ keyboard interaction reliably in jsdom; pointer simulation depends on the
536
+ PointerEvent implementation. This helper works without synthesizing pointer
537
+ positions or exposing component internals:
538
+
539
+ ```ts
540
+ import { flushPromises } from '@vue/test-utils'
541
+
542
+ async function chooseSelect(selectWrapper, label: string) {
543
+ await selectWrapper.get('[role="combobox"]').trigger('keydown', { key: 'ArrowDown' })
544
+ await flushPromises()
545
+ // Options may be portalled into AppRoot or document.body.
546
+ const option = [...document.querySelectorAll<HTMLElement>('[role="option"]')]
547
+ .find(node => node.textContent?.trim() === label)
548
+ if (!option || option.getAttribute('aria-disabled') === 'true') throw new Error(`No enabled option: ${label}`)
549
+ option.focus()
550
+ option.dispatchEvent(new KeyboardEvent('keydown', { key: 'Enter', bubbles: true, cancelable: true }))
551
+ await flushPromises()
552
+ }
553
+ ```
554
+
555
+ Assert the emitted model value and label/ARIA links. For browser checks, use
556
+ actual ArrowDown/ArrowUp/Enter/Escape input and verify the selected value and focus.
557
+ `pnpm check` is valid without existing dist; `release:stage` requires a complete
558
+ build and refuses missing/empty exported artifacts before copying files.
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -3,6 +3,7 @@ type __VLS_Props = {
3
3
  columns: AdvancePanelGridColumn[];
4
4
  data: AdvancePanelGridRow[];
5
5
  /** Custom comparator per column; falls back to a numeric/locale compare. */
6
+ sortLabel?: (title: string) => string;
6
7
  localSortFunc?: AdvancePanelGridSortResolver;
7
8
  };
8
9
  declare function deactivateRow(): void;
@@ -4,6 +4,8 @@ type __VLS_Props = {
4
4
  modelValue?: string;
5
5
  groups: AppSidebarGroup[];
6
6
  /** Show the DSM search field above the list; it filters items by label. */
7
+ ariaLabel?: string;
8
+ clearSearchLabel?: string;
7
9
  searchable?: boolean;
8
10
  searchPlaceholder?: string;
9
11
  /** Section headers get a chevron and fold their items. */
@@ -23,10 +25,12 @@ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {
23
25
  "onUpdate:expandedKeys"?: ((value: string[]) => any) | undefined;
24
26
  onBranchToggle?: ((key: string, expanded: boolean) => any) | undefined;
25
27
  }>, {
28
+ ariaLabel: string;
26
29
  searchPlaceholder: string;
27
30
  collapsible: boolean;
28
31
  expandedKeys: string[];
29
32
  defaultExpandedKeys: string[];
33
+ clearSearchLabel: string;
30
34
  searchable: boolean;
31
35
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
32
36
  declare const _default: typeof __VLS_export;
@@ -4,6 +4,7 @@ export type SectionTab = {
4
4
  disabled?: boolean;
5
5
  };
6
6
  type __VLS_Props = {
7
+ ariaLabel?: string;
7
8
  modelValue: string;
8
9
  items: SectionTab[];
9
10
  };
@@ -11,6 +11,19 @@ import { AboutCheckState, AboutVersionInfo } from './types';
11
11
  * `checkForUpdates()`.
12
12
  */
13
13
  type __VLS_Props = {
14
+ text?: Partial<{
15
+ beta: string;
16
+ version: string;
17
+ checking: string;
18
+ available: string;
19
+ betaAvailable: string;
20
+ failed: string;
21
+ retry: string;
22
+ releaseNotes: string;
23
+ terms: string;
24
+ privacy: string;
25
+ legal: string;
26
+ }>;
14
27
  open?: boolean;
15
28
  defaultOpen?: boolean;
16
29
  title: string;
@@ -1,6 +1,8 @@
1
+ import { UiLocale } from '../../../i18n/locale';
1
2
  import { ConfigRecord } from '../../../composables/configCascade';
2
3
  type __VLS_Props = {
3
4
  config?: ConfigRecord;
5
+ locale?: UiLocale;
4
6
  };
5
7
  declare var __VLS_1: {};
6
8
  type __VLS_Slots = {} & {
@@ -20,9 +20,9 @@ type __VLS_Slots = {} & {
20
20
  [K in NonNullable<typeof __VLS_2>]?: (props: typeof __VLS_3) => any;
21
21
  };
22
22
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
23
+ compact: boolean;
23
24
  rowKey: string;
24
25
  emptyText: string;
25
- compact: boolean;
26
26
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
27
27
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
28
  declare const _default: typeof __VLS_export;
@@ -1,3 +1,5 @@
1
+ import { FilePickerText } from '../../../i18n/filePicker';
2
+ import { UiLocale } from '../../../i18n/locale';
1
3
  export type FileRejection = {
2
4
  file: File;
3
5
  reason: 'type' | 'size' | 'count' | 'duplicate';
@@ -12,15 +14,18 @@ type __VLS_Props = {
12
14
  maxSize?: number;
13
15
  directory?: boolean;
14
16
  showList?: boolean;
17
+ variant?: 'dropzone' | 'compact';
18
+ locale?: UiLocale;
19
+ text?: Partial<FilePickerText>;
15
20
  title?: string;
16
21
  description?: string;
17
22
  };
18
- declare var __VLS_19: {
23
+ declare var __VLS_27: {
19
24
  file: File;
20
25
  index: number;
21
26
  };
22
27
  type __VLS_Slots = {} & {
23
- 'file-actions'?: (props: typeof __VLS_19) => any;
28
+ 'file-actions'?: (props: typeof __VLS_27) => any;
24
29
  };
25
30
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
26
31
  "update:modelValue": (files: File[]) => any;
@@ -29,10 +34,9 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
29
34
  "onUpdate:modelValue"?: ((files: File[]) => any) | undefined;
30
35
  onRejected?: ((items: FileRejection[]) => any) | undefined;
31
36
  }>, {
32
- title: string;
37
+ variant: "dropzone" | "compact";
33
38
  disabled: boolean;
34
39
  modelValue: File[];
35
- description: string;
36
40
  multiple: boolean;
37
41
  maxFiles: number;
38
42
  maxSize: number;
@@ -1,6 +1,6 @@
1
1
  import { FieldWidth } from '../../../lib/fieldWidth';
2
2
  import { FormFieldContext } from './context';
3
- import { FormItemValidateMessageDisplayMode, FormRule, ValidateStatus, ValidateTrigger } from './types';
3
+ import { FormDirection, FormItemValidateMessageDisplayMode, FormRule, ValidateStatus, ValidateTrigger } from './types';
4
4
  type __VLS_Props = {
5
5
  /** Controlled field value; when `undefined` the value is reported by the control. */
6
6
  modelValue?: unknown;
@@ -44,6 +44,8 @@ type __VLS_Props = {
44
44
  textOnly?: boolean;
45
45
  /** Indentation level (multiples of 28px) or any CSS length. */
46
46
  indent?: string | number;
47
+ /** Auto follows the available width; explicit directions override the enclosing form. */
48
+ direction?: FormDirection;
47
49
  /** Width of the label column in the horizontal layout. */
48
50
  labelWidth?: string;
49
51
  /** Maximum control width; inherits the form's `fieldWidth` (`'md'` by default). */
@@ -99,15 +101,15 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
99
101
  setFieldDisabled: typeof setDisabled;
100
102
  ensureVisible: typeof ensureVisible;
101
103
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
102
- "update:modelValue": (value: unknown) => any;
103
104
  validating: () => any;
105
+ "update:modelValue": (value: unknown) => any;
104
106
  validated: (result: {
105
107
  message: string;
106
108
  status: ValidateStatus;
107
109
  }) => any;
108
110
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
109
- "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
110
111
  onValidating?: (() => any) | undefined;
112
+ "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
111
113
  onValidated?: ((result: {
112
114
  message: string;
113
115
  status: ValidateStatus;
@@ -2,7 +2,7 @@ import { InjectionKey } from 'vue';
2
2
  import { FieldWidth } from '../../../lib/fieldWidth';
3
3
  import { FormRules, FormDirection, FormSpacing, ValidateMessageDisplayMode, ValidateStatus, ValidateTrigger } from './types';
4
4
  export declare const FORM_CONTEXT_KEY: InjectionKey<FormContext>;
5
- export declare const FORM_FIELD_KEY: InjectionKey<FormFieldContext>;
5
+ export declare const FORM_FIELD_KEY: InjectionKey<FormFieldContext | null>;
6
6
  /** What Form exposes to its FormItems. Values are unwrapped (the provided object is reactive). */
7
7
  export type FormContext = {
8
8
  rules: FormRules;
@@ -31,6 +31,12 @@ export type FormFieldHandle = {
31
31
  */
32
32
  export type FormFieldContext = {
33
33
  controlId: string;
34
+ defaultControlId?: string;
35
+ isPrimaryControl?: (owner: symbol) => boolean;
36
+ claimControl?: (owner: symbol) => boolean;
37
+ releaseControl?: (owner: symbol) => void;
38
+ labelId?: string;
39
+ setControlId?: (id: string) => void;
34
40
  descriptionId: string | undefined;
35
41
  messageId: string | undefined;
36
42
  /** Value for `aria-describedby`, covering the rendered description and message. */
@@ -5,7 +5,7 @@ export type ValidateStatus = '' | 'success' | 'error' | 'warning' | 'validating'
5
5
  export type ValidateMessageDisplayMode = 'popup' | 'text';
6
6
  /** FormItem-level value: `'form'` inherits the enclosing form's mode. */
7
7
  export type FormItemValidateMessageDisplayMode = ValidateMessageDisplayMode | 'form';
8
- export type FormDirection = 'horizontal' | 'vertical';
8
+ export type FormDirection = 'auto' | 'horizontal' | 'vertical';
9
9
  export type FormSpacing = 'none' | 'dense' | 'compact' | 'regular' | 'relaxed' | number | 'auto';
10
10
  export type FormRuleType = 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'email' | 'url' | 'date';
11
11
  export type FormRuleCallback = (error?: Error | string | void) => void;
@@ -0,0 +1,20 @@
1
+ type __VLS_Props = {
2
+ label: string;
3
+ value?: string | number;
4
+ labelWidth?: string;
5
+ };
6
+ declare var __VLS_1: {}, __VLS_3: {};
7
+ type __VLS_Slots = {} & {
8
+ label?: (props: typeof __VLS_1) => any;
9
+ } & {
10
+ default?: (props: typeof __VLS_3) => any;
11
+ };
12
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -1,6 +1,7 @@
1
1
  type __VLS_Props = {
2
2
  removable?: boolean;
3
3
  removeLabel?: string;
4
+ removeDisabled?: boolean;
4
5
  };
5
6
  declare var __VLS_1: {};
6
7
  type __VLS_Slots = {} & {
@@ -13,6 +14,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
13
14
  }>, {
14
15
  removeLabel: string;
15
16
  removable: boolean;
17
+ removeDisabled: boolean;
16
18
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
20
  declare const _default: typeof __VLS_export;
@@ -4,6 +4,7 @@ type __VLS_Props = {
4
4
  clearLabel?: string;
5
5
  /** `filter` is the DSM toolbar filter box (funnel icon); `search` keeps the magnifier. */
6
6
  variant?: 'search' | 'filter';
7
+ disabled?: boolean;
7
8
  };
8
9
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
10
  "update:modelValue": (value: string) => any;
@@ -11,6 +12,7 @@ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {
11
12
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
12
13
  }>, {
13
14
  variant: "search" | "filter";
15
+ disabled: boolean;
14
16
  modelValue: string;
15
17
  placeholder: string;
16
18
  clearLabel: string;
@@ -11,6 +11,8 @@ type __VLS_Props = {
11
11
  /** Shows the Cancel action in the footer. */
12
12
  cancellable?: boolean;
13
13
  ariaLabel?: string;
14
+ showSteps?: boolean;
15
+ progressText?: (current: number, total: number) => string;
14
16
  };
15
17
  declare function toNextStep(): Promise<void>;
16
18
  declare function toPreviousStep(): Promise<void>;
@@ -21,6 +21,7 @@ export type WizardStepProps = {
21
21
  footer?: boolean;
22
22
  };
23
23
  export type WizardFooterConfig = boolean | {
24
+ startLabel?: string;
24
25
  previousLabel?: string;
25
26
  nextLabel?: string;
26
27
  applyLabel?: string;
@@ -9,8 +9,8 @@ type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_3) => any;
10
10
  };
11
11
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
- ariaLabel: string;
13
12
  active: boolean;
13
+ ariaLabel: string;
14
14
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
16
  declare const _default: typeof __VLS_export;
@@ -4,6 +4,12 @@ export type ColorSwatch = {
4
4
  hex?: string;
5
5
  };
6
6
  type __VLS_Props = {
7
+ text?: Partial<{
8
+ choose: string;
9
+ common: string;
10
+ palette: string;
11
+ custom: string;
12
+ }>;
7
13
  /** Current colour string, in the format selected by `colorFormat`. */
8
14
  modelValue?: string;
9
15
  colorFormat?: ColorPickerFormat;
@@ -5,20 +5,20 @@ type __VLS_Props = Omit<SelectFieldProps, 'multiple' | 'modelValue' | 'defaultVa
5
5
  };
6
6
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
7
  select: (option: SelectOption) => any;
8
+ blur: (event: FocusEvent) => any;
8
9
  invalid: (text: string) => any;
9
10
  "update:modelValue": (value: string) => any;
10
11
  focus: (event: FocusEvent) => any;
11
- blur: (event: FocusEvent) => any;
12
12
  "update:loading": (loading: boolean) => any;
13
13
  create: (value: string) => any;
14
14
  "open-dropdown": () => any;
15
15
  "close-dropdown": () => any;
16
16
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
17
17
  onSelect?: ((option: SelectOption) => any) | undefined;
18
+ onBlur?: ((event: FocusEvent) => any) | undefined;
18
19
  onInvalid?: ((text: string) => any) | undefined;
19
20
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
20
21
  onFocus?: ((event: FocusEvent) => any) | undefined;
21
- onBlur?: ((event: FocusEvent) => any) | undefined;
22
22
  "onUpdate:loading"?: ((loading: boolean) => any) | undefined;
23
23
  onCreate?: ((value: string) => any) | undefined;
24
24
  "onOpen-dropdown"?: (() => any) | undefined;
@@ -1,5 +1,17 @@
1
1
  import { DateFormat, TimeFormat } from './dateTime';
2
2
  type __VLS_Props = {
3
+ text?: Partial<{
4
+ placeholder: string;
5
+ previousMonth: string;
6
+ nextMonth: string;
7
+ addTime: string;
8
+ hour: string;
9
+ minute: string;
10
+ meridiem: string;
11
+ clear: string;
12
+ am: string;
13
+ pm: string;
14
+ }>;
3
15
  /** `YYYY-MM-DD` for date mode, `YYYY-MM-DDTHH:mm:ss` for `showTime` mode. Local wall-clock, no timezone. */
4
16
  modelValue?: string;
5
17
  placeholder?: string;
@@ -29,24 +41,23 @@ type __VLS_Props = {
29
41
  timeFormat?: TimeFormat;
30
42
  };
31
43
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
44
+ change: (value: string | undefined) => any;
32
45
  invalid: (payload: {
33
46
  reason: "format" | "required";
34
47
  text: string;
35
48
  }) => any;
36
49
  "update:modelValue": (value: string | undefined) => any;
37
- change: (value: string | undefined) => any;
38
50
  "select-date": (value: string) => any;
39
51
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
52
+ onChange?: ((value: string | undefined) => any) | undefined;
40
53
  onInvalid?: ((payload: {
41
54
  reason: "format" | "required";
42
55
  text: string;
43
56
  }) => any) | undefined;
44
57
  "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
45
- onChange?: ((value: string | undefined) => any) | undefined;
46
58
  "onSelect-date"?: ((value: string) => any) | undefined;
47
59
  }>, {
48
60
  disabled: boolean;
49
- placeholder: string;
50
61
  readonly: boolean;
51
62
  editable: boolean;
52
63
  clearable: boolean;
@@ -16,6 +16,11 @@ export type InputSteppersMenuItem = {
16
16
  * reverts to the last valid value.
17
17
  */
18
18
  type __VLS_Props = {
19
+ text?: Partial<{
20
+ increase: string;
21
+ decrease: string;
22
+ presets: string;
23
+ }>;
19
24
  modelValue?: number;
20
25
  /** Lower bound; defaults to Number.MIN_SAFE_INTEGER when omitted. */
21
26
  min?: number | string;
@@ -0,0 +1,32 @@
1
+ type __VLS_Props = {
2
+ href?: string;
3
+ download?: string | boolean;
4
+ external?: boolean;
5
+ target?: string;
6
+ rel?: string;
7
+ disabled?: boolean;
8
+ externalLabel?: string;
9
+ downloadLabel?: string;
10
+ };
11
+ declare var __VLS_1: {};
12
+ type __VLS_Slots = {} & {
13
+ default?: (props: typeof __VLS_1) => any;
14
+ };
15
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
+ click: (event: MouseEvent) => any;
17
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
18
+ onClick?: ((event: MouseEvent) => any) | undefined;
19
+ }>, {
20
+ disabled: boolean;
21
+ external: boolean;
22
+ externalLabel: string;
23
+ downloadLabel: string;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
25
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
+ declare const _default: typeof __VLS_export;
27
+ export default _default;
28
+ type __VLS_WithSlots<T, S> = T & {
29
+ new (): {
30
+ $slots: S;
31
+ };
32
+ };
@@ -5,20 +5,20 @@ type __VLS_Props = Omit<SelectFieldProps, 'multiple' | 'modelValue' | 'defaultVa
5
5
  };
6
6
  declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
7
  select: (option: SelectOption) => any;
8
+ blur: (event: FocusEvent) => any;
8
9
  invalid: (text: string) => any;
9
10
  "update:modelValue": (value: string[]) => any;
10
11
  focus: (event: FocusEvent) => any;
11
- blur: (event: FocusEvent) => any;
12
12
  "update:loading": (loading: boolean) => any;
13
13
  create: (value: string) => any;
14
14
  "open-dropdown": () => any;
15
15
  "close-dropdown": () => any;
16
16
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
17
17
  onSelect?: ((option: SelectOption) => any) | undefined;
18
+ onBlur?: ((event: FocusEvent) => any) | undefined;
18
19
  onInvalid?: ((text: string) => any) | undefined;
19
20
  "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
20
21
  onFocus?: ((event: FocusEvent) => any) | undefined;
21
- onBlur?: ((event: FocusEvent) => any) | undefined;
22
22
  "onUpdate:loading"?: ((loading: boolean) => any) | undefined;
23
23
  onCreate?: ((value: string) => any) | undefined;
24
24
  "onOpen-dropdown"?: (() => any) | undefined;
@@ -64,19 +64,20 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
64
64
  focusPrevious: () => void;
65
65
  focusNext: () => void;
66
66
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
67
- "update:modelValue": (page: number) => any;
68
67
  change: (page: number) => any;
68
+ "update:modelValue": (page: number) => any;
69
69
  refresh: () => any;
70
70
  "update:pageSize": (pageSize: number) => any;
71
71
  changePage: (payload: PaginationSwitch) => any;
72
72
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
73
- "onUpdate:modelValue"?: ((page: number) => any) | undefined;
74
73
  onChange?: ((page: number) => any) | undefined;
74
+ "onUpdate:modelValue"?: ((page: number) => any) | undefined;
75
75
  onRefresh?: (() => any) | undefined;
76
76
  "onUpdate:pageSize"?: ((pageSize: number) => any) | undefined;
77
77
  onChangePage?: ((payload: PaginationSwitch) => any) | undefined;
78
78
  }>, {
79
79
  modelValue: number;
80
+ labels: Partial<PaginationLabels>;
80
81
  end: string | number;
81
82
  mode: "normal" | "less";
82
83
  start: string | number;
@@ -99,7 +100,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
99
100
  maxPageButtons: number;
100
101
  totalTextMode: PaginationTotalTextMode;
101
102
  totalTextFormat: Partial<Record<PaginationTotalTextMode, string>>;
102
- labels: Partial<PaginationLabels>;
103
103
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
104
104
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
105
105
  declare const _default: typeof __VLS_export;
@@ -2,6 +2,14 @@ import { ScheduleOption, ScheduleSplitMinute } from './schedule';
2
2
  type __VLS_Props = {
3
3
  /** Digit string; length must be `168 * (60 / splitMinute)`. */
4
4
  modelValue: string;
5
+ disabled?: boolean;
6
+ dayLabels?: [string, string, string, string, string, string, string];
7
+ text?: Partial<{
8
+ selectAll: string;
9
+ selectHour: (hour: number) => string;
10
+ selectDay: (day: string) => string;
11
+ edit: (label: string) => string;
12
+ }>;
5
13
  options?: ScheduleOption[];
6
14
  splitMinute?: ScheduleSplitMinute;
7
15
  optionsCountPerRow?: number;
@@ -48,6 +56,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
48
56
  }) => any) | undefined;
49
57
  "onEdit-option"?: ((option: ScheduleOption) => any) | undefined;
50
58
  }>, {
59
+ disabled: boolean;
51
60
  prefix: string;
52
61
  options: ScheduleOption[];
53
62
  defaultSelected: number;
@@ -13,11 +13,11 @@ type __VLS_Slots = {} & {
13
13
  default?: (props: typeof __VLS_1) => any;
14
14
  };
15
15
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
- "update:modelValue": (value: string) => any;
17
16
  change: (value: string) => any;
17
+ "update:modelValue": (value: string) => any;
18
18
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
19
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
20
19
  onChange?: ((value: string) => any) | undefined;
20
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
21
21
  }>, {
22
22
  disabled: boolean;
23
23
  modelValue: string;
@@ -1,20 +1,20 @@
1
1
  import { SelectFieldProps, SelectOption } from './types';
2
2
  declare const __VLS_export: import('vue').DefineComponent<SelectFieldProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
3
3
  select: (option: SelectOption) => any;
4
+ blur: (event: FocusEvent) => any;
4
5
  invalid: (text: string) => any;
5
6
  "update:modelValue": (value: string | string[]) => any;
6
7
  focus: (event: FocusEvent) => any;
7
- blur: (event: FocusEvent) => any;
8
8
  "update:loading": (loading: boolean) => any;
9
9
  create: (value: string) => any;
10
10
  "open-dropdown": () => any;
11
11
  "close-dropdown": () => any;
12
12
  }, string, import('vue').PublicProps, Readonly<SelectFieldProps> & Readonly<{
13
13
  onSelect?: ((option: SelectOption) => any) | undefined;
14
+ onBlur?: ((event: FocusEvent) => any) | undefined;
14
15
  onInvalid?: ((text: string) => any) | undefined;
15
16
  "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
16
17
  onFocus?: ((event: FocusEvent) => any) | undefined;
17
- onBlur?: ((event: FocusEvent) => any) | undefined;
18
18
  "onUpdate:loading"?: ((loading: boolean) => any) | undefined;
19
19
  onCreate?: ((value: string) => any) | undefined;
20
20
  "onOpen-dropdown"?: (() => any) | undefined;
@@ -39,6 +39,7 @@ declare const __VLS_export: import('vue').DefineComponent<SelectFieldProps, {},
39
39
  clearable: boolean;
40
40
  createHintText: string;
41
41
  displayLimit: number | false;
42
+ openLabel: string;
42
43
  clearLabel: string;
43
44
  removeTagLabel: (label: string) => string;
44
45
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -38,6 +38,7 @@ export type SelectFieldProps = {
38
38
  displayLimit?: number | false;
39
39
  ariaLabel?: string;
40
40
  ariaLabelledby?: string;
41
+ openLabel?: string;
41
42
  clearLabel?: string;
42
43
  removeTagLabel?: (label: string) => string;
43
44
  };