@synopackageland/ui 0.4.2 → 0.5.3
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 +21 -0
- package/dist/components/advanced-panel/AdvancePanelColumns.vue.d.ts +19 -0
- package/dist/components/advanced-panel/AdvancePanelForm.vue.d.ts +21 -0
- package/dist/components/advanced-panel/AdvancePanelGrid.vue.d.ts +44 -0
- package/dist/components/advanced-panel/types.d.ts +50 -0
- package/dist/components/app/app-action-bar/AppActionBar.vue.d.ts +13 -3
- package/dist/components/app/app-layout/AppLayout.vue.d.ts +1 -1
- package/dist/components/app/app-sidebar/AppSidebar.vue.d.ts +12 -13
- package/dist/components/app/app-sidebar/AppSidebarItems.vue.d.ts +17 -0
- package/dist/components/app/app-sidebar/types.d.ts +16 -0
- package/dist/components/app/section-tabs/SectionTabs.vue.d.ts +11 -1
- package/dist/components/composite/about-dialog/AboutDialog.vue.d.ts +78 -0
- package/dist/components/composite/about-dialog/types.d.ts +6 -0
- package/dist/components/composite/callout/Callout.vue.d.ts +12 -2
- package/dist/components/composite/config-provider/ConfigProvider.vue.d.ts +19 -0
- package/dist/components/composite/copy-cut-field/CopyCutField.vue.d.ts +44 -0
- package/dist/components/composite/data-grid/DataGrid.vue.d.ts +150 -25
- package/dist/components/composite/data-grid/labels.d.ts +15 -1
- package/dist/components/composite/data-view/DataView.vue.d.ts +54 -0
- package/dist/components/composite/footbar/Footbar.vue.d.ts +13 -0
- package/dist/components/composite/footbar/FootbarButtons.vue.d.ts +13 -0
- package/dist/components/composite/footbar/types.d.ts +32 -0
- package/dist/components/composite/form/Form.vue.d.ts +49 -0
- package/dist/components/composite/form/FormItem.vue.d.ts +132 -0
- package/dist/components/composite/form/context.d.ts +61 -0
- package/dist/components/composite/form/rules.d.ts +17 -0
- package/dist/components/composite/form/types.d.ts +50 -0
- package/dist/components/composite/message-box/MessageBox.vue.d.ts +34 -0
- package/dist/components/composite/message-box/MessageBoxProvider.vue.d.ts +13 -0
- package/dist/components/composite/message-box/controller.d.ts +20 -0
- package/dist/components/composite/message-box/types.d.ts +97 -0
- package/dist/components/composite/overflow-list/OverflowList.vue.d.ts +40 -0
- package/dist/components/composite/overflow-list/OverflowListItem.vue.d.ts +18 -0
- package/dist/components/composite/overflow-toolbar/OverflowToolbar.vue.d.ts +46 -0
- package/dist/components/composite/overflow-toolbar/overflow.d.ts +25 -0
- package/dist/components/composite/overflow-toolbar/types.d.ts +27 -0
- package/dist/components/composite/settings-section/SettingsSection.vue.d.ts +18 -3
- package/dist/components/composite/tree-view/TreeView.vue.d.ts +64 -12
- package/dist/components/composite/tree-view/treeUtils.d.ts +15 -0
- package/dist/components/composite/tree-view/types.d.ts +38 -0
- package/dist/components/composite/virtual-list/VirtualList.vue.d.ts +44 -0
- package/dist/components/composite/wizard/Wizard.vue.d.ts +68 -0
- package/dist/components/composite/wizard/WizardStep.vue.d.ts +20 -0
- package/dist/components/composite/wizard/types.d.ts +32 -0
- package/dist/components/composite/wizard/wizardContext.d.ts +17 -0
- package/dist/components/containers/card/Card.vue.d.ts +42 -0
- package/dist/components/containers/expandable-item/ExpandableItem.vue.d.ts +79 -0
- package/dist/components/containers/fieldset/Fieldset.vue.d.ts +58 -0
- package/dist/components/containers/highlight-box/HighlightBox.vue.d.ts +23 -0
- package/dist/components/containers/panel/Panel.vue.d.ts +59 -0
- package/dist/components/feedback/info-mask/InfoMask.vue.d.ts +22 -0
- package/dist/components/feedback/info-tip/InfoTip.vue.d.ts +53 -0
- package/dist/components/feedback/notification/Notification.vue.d.ts +50 -0
- package/dist/components/feedback/notification/NotificationProvider.vue.d.ts +36 -0
- package/dist/components/feedback/notification/notification.d.ts +45 -0
- package/dist/components/feedback/validation-popup/ValidationPopup.vue.d.ts +41 -0
- package/dist/components/primitives/affix/Affix.vue.d.ts +40 -0
- package/dist/components/primitives/affix/affixPosition.d.ts +35 -0
- package/dist/components/primitives/breadcrumb/Breadcrumb.vue.d.ts +38 -0
- package/dist/components/primitives/breadcrumb/BreadcrumbCrumb.vue.d.ts +13 -0
- package/dist/components/primitives/breadcrumb/collapse.d.ts +25 -0
- package/dist/components/primitives/breadcrumb/types.d.ts +14 -0
- package/dist/components/primitives/color-picker/ColorPicker.vue.d.ts +70 -0
- package/dist/components/primitives/color-picker/palette.d.ts +2 -0
- package/dist/components/primitives/combobox/Combobox.vue.d.ts +33 -0
- package/dist/components/primitives/date-picker/DatePicker.vue.d.ts +39 -1
- package/dist/components/primitives/date-picker/dateTime.d.ts +44 -0
- package/dist/components/primitives/dialog/Dialog.vue.d.ts +6 -3
- package/dist/components/primitives/dropdown-menu/DropdownMenu.vue.d.ts +18 -13
- package/dist/components/primitives/dropdown-menu/DropdownMenuItems.vue.d.ts +20 -0
- package/dist/components/primitives/dropdown-menu/types.d.ts +38 -0
- package/dist/components/primitives/ghost/Ghost.vue.d.ts +30 -0
- package/dist/components/primitives/icon/Icon.vue.d.ts +40 -0
- package/dist/components/primitives/icon/icon.d.ts +19 -0
- package/dist/components/primitives/icon/iconRegistry.d.ts +9 -0
- package/dist/components/primitives/icon/useIconButton.d.ts +30 -0
- package/dist/components/primitives/input/Input.vue.d.ts +6 -0
- package/dist/components/primitives/input/Textarea.vue.d.ts +6 -0
- package/dist/components/primitives/input-steppers/InputSteppers.vue.d.ts +60 -0
- package/dist/components/primitives/layout/Col.vue.d.ts +24 -0
- package/dist/components/primitives/layout/Grid.vue.d.ts +35 -0
- package/dist/components/primitives/layout/Row.vue.d.ts +23 -0
- package/dist/components/primitives/layout/breakpoints.d.ts +24 -0
- package/dist/components/primitives/layout/context.d.ts +22 -0
- package/dist/components/primitives/layout/gap.d.ts +12 -0
- package/dist/components/primitives/multiple-select/MultipleSelect.vue.d.ts +32 -0
- package/dist/components/primitives/pagination/Pagination.vue.d.ts +111 -0
- package/dist/components/primitives/pagination/labels.d.ts +18 -0
- package/dist/components/primitives/pagination/model.d.ts +13 -0
- package/dist/components/primitives/progress/Progress.vue.d.ts +2 -0
- package/dist/components/primitives/rich-text/RichText.vue.d.ts +57 -0
- package/dist/components/primitives/rich-text/parseRichText.d.ts +31 -0
- package/dist/components/primitives/schedule-table/ScheduleTable.vue.d.ts +65 -0
- package/dist/components/primitives/schedule-table/schedule.d.ts +55 -0
- package/dist/components/primitives/scrollbar/Scrollbar.vue.d.ts +110 -0
- package/dist/components/primitives/scrollbar/types.d.ts +10 -0
- package/dist/components/primitives/segment-control/SegmentControl.vue.d.ts +32 -0
- package/dist/components/primitives/segment-control/SegmentItem.vue.d.ts +32 -0
- package/dist/components/primitives/segment-control/context.d.ts +19 -0
- package/dist/components/primitives/select/Select.vue.d.ts +15 -1
- package/dist/components/primitives/select/internal/ComboboxField.vue.d.ts +46 -0
- package/dist/components/primitives/select/internal/SelectTag.vue.d.ts +15 -0
- package/dist/components/primitives/select/internal/options.d.ts +17 -0
- package/dist/components/primitives/select/internal/types.d.ts +43 -0
- package/dist/components/primitives/select/internal/useSelectSearch.d.ts +20 -0
- package/dist/components/primitives/sheet/Sheet.vue.d.ts +3 -3
- package/dist/components/primitives/skeleton/Skeleton.vue.d.ts +1 -1
- package/dist/components/primitives/slider/Slider.vue.d.ts +56 -0
- package/dist/components/primitives/space/Space.vue.d.ts +27 -0
- package/dist/components/primitives/space/space.d.ts +10 -0
- package/dist/components/primitives/superbox-select/SuperboxSelect.vue.d.ts +33 -0
- package/dist/components/primitives/tag/Tag.vue.d.ts +59 -0
- package/dist/components/primitives/toggle-button/ToggleButton.vue.d.ts +43 -0
- package/dist/components/primitives/toggle-button/ToggleButtonGroup.vue.d.ts +38 -0
- package/dist/components/primitives/toggle-button/toggleButton.d.ts +9 -0
- package/dist/components/primitives/tooltip/Tooltip.vue.d.ts +3 -0
- package/dist/components/primitives/typography/TypoA.vue.d.ts +13 -0
- package/dist/components/primitives/typography/TypoBlockquote.vue.d.ts +13 -0
- package/dist/components/primitives/typography/TypoCode.vue.d.ts +13 -0
- package/dist/components/primitives/typography/TypoDivider.vue.d.ts +3 -0
- package/dist/components/primitives/typography/TypoHeader.vue.d.ts +32 -0
- package/dist/components/primitives/typography/TypoHr.vue.d.ts +3 -0
- package/dist/components/primitives/typography/TypoLi.vue.d.ts +13 -0
- package/dist/components/primitives/typography/TypoList.vue.d.ts +13 -0
- package/dist/components/primitives/typography/TypoP.vue.d.ts +13 -0
- package/dist/components/primitives/typography/TypoTable.vue.d.ts +13 -0
- package/dist/components/primitives/typography/TypoText.vue.d.ts +26 -0
- package/dist/components/primitives/typography/TypoTip.vue.d.ts +21 -0
- package/dist/components/primitives/typography/typography.d.ts +12 -0
- package/dist/composables/configCascade.d.ts +42 -0
- package/dist/composables/tabIndicator.d.ts +18 -0
- package/dist/index.d.ts +122 -2
- package/dist/index.js +22765 -10938
- package/dist/lib/controllable.d.ts +19 -0
- package/dist/lib/numberField.d.ts +24 -0
- package/dist/lib/overflow.d.ts +13 -0
- package/dist/reka-runtime.json +5 -3
- package/dist/theme.css +1 -1
- package/dist/themes/dsm7-embedded-theme.css +1 -1
- package/dist/themes/dsm7-embedded.css +1 -1
- package/dist/themes/dsm7.css +1 -1
- package/docs/app-local-modal.md +9 -1
- package/package.json +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { CSSProperties } from 'vue';
|
|
2
|
+
import { AffixFix } from './affixPosition';
|
|
3
|
+
/**
|
|
4
|
+
* Pins its content to the near edge of a scrolling boundary while that section
|
|
5
|
+
* is on screen — a toolbar that stays visible inside a long list, or a footbar
|
|
6
|
+
* that waits at the bottom until the reader reaches it.
|
|
7
|
+
*/
|
|
8
|
+
type __VLS_Props = {
|
|
9
|
+
/**
|
|
10
|
+
* Lazy getter for the boundary element, e.g. `() => scrollEl`. Called on
|
|
11
|
+
* every measurement, so a `v-if` target that is not mounted yet is fine.
|
|
12
|
+
* Without it the browser viewport is the boundary.
|
|
13
|
+
*/
|
|
14
|
+
target?: () => HTMLElement | null | undefined;
|
|
15
|
+
/** Extra scroll containers to listen to (nested scrollers, portalled ones). */
|
|
16
|
+
scrollContainers?: HTMLElement[];
|
|
17
|
+
offsetTop?: number;
|
|
18
|
+
offsetBottom?: number;
|
|
19
|
+
/** `top` pins as the content scrolls past; `bottom` pins a footbar. */
|
|
20
|
+
fix?: AffixFix;
|
|
21
|
+
innerClass?: string;
|
|
22
|
+
innerStyle?: CSSProperties;
|
|
23
|
+
};
|
|
24
|
+
declare var __VLS_1: {};
|
|
25
|
+
type __VLS_Slots = {} & {
|
|
26
|
+
default?: (props: typeof __VLS_1) => any;
|
|
27
|
+
};
|
|
28
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
29
|
+
offsetTop: number;
|
|
30
|
+
offsetBottom: number;
|
|
31
|
+
fix: AffixFix;
|
|
32
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
33
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
34
|
+
declare const _default: typeof __VLS_export;
|
|
35
|
+
export default _default;
|
|
36
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
37
|
+
new (): {
|
|
38
|
+
$slots: S;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type AffixFix = 'top' | 'bottom';
|
|
2
|
+
/** Viewport-relative edges of the boundary element. */
|
|
3
|
+
export type AffixContainerRect = {
|
|
4
|
+
top: number;
|
|
5
|
+
bottom: number;
|
|
6
|
+
};
|
|
7
|
+
/** Viewport-relative box of the element, as laid out before any affixing. */
|
|
8
|
+
export type AffixElementRect = {
|
|
9
|
+
top: number;
|
|
10
|
+
bottom: number;
|
|
11
|
+
left: number;
|
|
12
|
+
width: number;
|
|
13
|
+
};
|
|
14
|
+
export type AffixOptions = {
|
|
15
|
+
fix: AffixFix;
|
|
16
|
+
offsetTop: number;
|
|
17
|
+
offsetBottom: number;
|
|
18
|
+
};
|
|
19
|
+
/** Where the element belongs this frame: in flow, or pinned with a fixed box. */
|
|
20
|
+
export type AffixPlacement = {
|
|
21
|
+
affixed: boolean;
|
|
22
|
+
top: number;
|
|
23
|
+
left: number;
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Decides whether the content is still at its natural place or has to be pinned
|
|
29
|
+
* to a boundary, and where that boundary is now. Pure geometry: the component
|
|
30
|
+
* feeds it real measurements, tests feed it their own.
|
|
31
|
+
*/
|
|
32
|
+
export declare function computeAffix(geometry: {
|
|
33
|
+
container: AffixContainerRect;
|
|
34
|
+
element: AffixElementRect;
|
|
35
|
+
}, options: AffixOptions): AffixPlacement;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BreadcrumbActionItem, BreadcrumbItem } from './types';
|
|
2
|
+
export type { BreadcrumbActionItem, BreadcrumbItem };
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
items?: BreadcrumbItem[];
|
|
5
|
+
/**
|
|
6
|
+
* `true` opens the last level as a dropdown whose content comes from the
|
|
7
|
+
* `action-menu-dropdown` slot; an array renders the built-in menu, where
|
|
8
|
+
* `'-'` (or `{ type: 'menu-divider' }`) is a divider.
|
|
9
|
+
*/
|
|
10
|
+
actionMenuItems?: boolean | BreadcrumbActionItem[];
|
|
11
|
+
/** Accessible name of the collapsed-trail control. */
|
|
12
|
+
collapsedLabel?: string;
|
|
13
|
+
};
|
|
14
|
+
declare function selectItem(item: BreadcrumbItem): void;
|
|
15
|
+
declare var __VLS_84: {
|
|
16
|
+
items: BreadcrumbActionItem[];
|
|
17
|
+
select: typeof selectItem;
|
|
18
|
+
};
|
|
19
|
+
type __VLS_Slots = {} & {
|
|
20
|
+
'action-menu-dropdown'?: (props: typeof __VLS_84) => any;
|
|
21
|
+
};
|
|
22
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
23
|
+
clickItem: (item: BreadcrumbItem) => any;
|
|
24
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
25
|
+
onClickItem?: ((item: BreadcrumbItem) => any) | undefined;
|
|
26
|
+
}>, {
|
|
27
|
+
items: BreadcrumbItem[];
|
|
28
|
+
actionMenuItems: boolean | BreadcrumbActionItem[];
|
|
29
|
+
collapsedLabel: string;
|
|
30
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
31
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
32
|
+
declare const _default: typeof __VLS_export;
|
|
33
|
+
export default _default;
|
|
34
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
35
|
+
new (): {
|
|
36
|
+
$slots: S;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
display: string;
|
|
3
|
+
/** The last level of the trail, announced as the current page. */
|
|
4
|
+
current?: boolean;
|
|
5
|
+
/** The level owns the action menu, so it shows a dropdown chevron. */
|
|
6
|
+
hasMenu?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
9
|
+
current: boolean;
|
|
10
|
+
hasMenu: boolean;
|
|
11
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
declare const _default: typeof __VLS_export;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Width-driven collapsing for `Breadcrumb`, kept free of DOM measurements so
|
|
3
|
+
* the decision is unit-testable: the component only supplies px numbers.
|
|
4
|
+
*
|
|
5
|
+
* The first and the last crumb always stay visible. Middle crumbs are folded
|
|
6
|
+
* into the leading `…` menu, most recent first, while the visible trail still
|
|
7
|
+
* fits the container.
|
|
8
|
+
*/
|
|
9
|
+
export type BreadcrumbCollapseInput = {
|
|
10
|
+
/** Usable width of the breadcrumb container in px. */
|
|
11
|
+
containerWidth: number;
|
|
12
|
+
/** Natural width of every crumb, in trail order, in px. */
|
|
13
|
+
itemWidths: number[];
|
|
14
|
+
/** Width of one divider between two crumbs, in px. */
|
|
15
|
+
separatorWidth: number;
|
|
16
|
+
/** Width of the collapsed-trail (`…`) control, in px. */
|
|
17
|
+
ellipsisWidth: number;
|
|
18
|
+
};
|
|
19
|
+
export type BreadcrumbCollapse = {
|
|
20
|
+
/** Trailing crumbs (including the last) kept visible after the `…` control. */
|
|
21
|
+
visibleTailCount: number;
|
|
22
|
+
/** Middle crumbs folded into the `…` menu. */
|
|
23
|
+
hiddenCount: number;
|
|
24
|
+
};
|
|
25
|
+
export declare function resolveBreadcrumbCollapse(input: BreadcrumbCollapseInput): BreadcrumbCollapse;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** One navigable level of a breadcrumb trail. */
|
|
2
|
+
export type BreadcrumbItem = {
|
|
3
|
+
/** Visible text of the level. */
|
|
4
|
+
display: string;
|
|
5
|
+
/** Caller-owned identity, passed back through `clickItem`. */
|
|
6
|
+
id: string;
|
|
7
|
+
};
|
|
8
|
+
/** An entry of the last level's action menu: an item, or a divider (`'-'`). */
|
|
9
|
+
export type BreadcrumbActionItem = BreadcrumbItem | '-' | {
|
|
10
|
+
type: 'menu-divider';
|
|
11
|
+
};
|
|
12
|
+
export declare function isActionDivider(entry: BreadcrumbActionItem): entry is '-' | {
|
|
13
|
+
type: 'menu-divider';
|
|
14
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export type ColorPickerFormat = 'hex' | 'rgb' | 'hsl' | 'hsv';
|
|
2
|
+
export type ColorSwatch = {
|
|
3
|
+
value: string;
|
|
4
|
+
hex?: string;
|
|
5
|
+
};
|
|
6
|
+
type __VLS_Props = {
|
|
7
|
+
/** Current colour string, in the format selected by `colorFormat`. */
|
|
8
|
+
modelValue?: string;
|
|
9
|
+
colorFormat?: ColorPickerFormat;
|
|
10
|
+
/** Preview opacity (0–1) applied to the trigger swatch. */
|
|
11
|
+
alpha?: number;
|
|
12
|
+
/** Main palette. */
|
|
13
|
+
options?: string[];
|
|
14
|
+
/** Single-row palette above the main palette. */
|
|
15
|
+
commonOptions?: string[];
|
|
16
|
+
/** Extra palette, typically recent colours. */
|
|
17
|
+
customOptions?: string[];
|
|
18
|
+
/** Shows the button that emits `showcustom`. */
|
|
19
|
+
hasCustom?: boolean;
|
|
20
|
+
/** Drops custom colours that already exist in `options` or `commonOptions`. */
|
|
21
|
+
filterSameColor?: boolean;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
ariaLabel?: string;
|
|
24
|
+
name?: string;
|
|
25
|
+
resetLabel?: string;
|
|
26
|
+
customLabel?: string;
|
|
27
|
+
};
|
|
28
|
+
declare function reset(): void;
|
|
29
|
+
declare function showCustom(): void;
|
|
30
|
+
declare function closeDropdown(): void;
|
|
31
|
+
declare var __VLS_34: {}, __VLS_36: {}, __VLS_38: {};
|
|
32
|
+
type __VLS_Slots = {} & {
|
|
33
|
+
'top-custom'?: (props: typeof __VLS_34) => any;
|
|
34
|
+
} & {
|
|
35
|
+
'bottom-custom'?: (props: typeof __VLS_36) => any;
|
|
36
|
+
} & {
|
|
37
|
+
bottom?: (props: typeof __VLS_38) => any;
|
|
38
|
+
};
|
|
39
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
40
|
+
reset: typeof reset;
|
|
41
|
+
showCustom: typeof showCustom;
|
|
42
|
+
closeDropdown: typeof closeDropdown;
|
|
43
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
44
|
+
"update:modelValue": (value: string) => any;
|
|
45
|
+
showcustom: () => any;
|
|
46
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
47
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
48
|
+
onShowcustom?: (() => any) | undefined;
|
|
49
|
+
}>, {
|
|
50
|
+
disabled: boolean;
|
|
51
|
+
modelValue: string;
|
|
52
|
+
ariaLabel: string;
|
|
53
|
+
colorFormat: ColorPickerFormat;
|
|
54
|
+
alpha: number;
|
|
55
|
+
options: string[];
|
|
56
|
+
commonOptions: string[];
|
|
57
|
+
customOptions: string[];
|
|
58
|
+
hasCustom: boolean;
|
|
59
|
+
filterSameColor: boolean;
|
|
60
|
+
resetLabel: string;
|
|
61
|
+
customLabel: string;
|
|
62
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
63
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
64
|
+
declare const _default: typeof __VLS_export;
|
|
65
|
+
export default _default;
|
|
66
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
67
|
+
new (): {
|
|
68
|
+
$slots: S;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { SelectFieldProps, SelectOption } from '../select/internal/types';
|
|
2
|
+
type __VLS_Props = Omit<SelectFieldProps, 'multiple' | 'modelValue' | 'defaultValue'> & {
|
|
3
|
+
modelValue?: string;
|
|
4
|
+
defaultValue?: string;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
7
|
+
select: (option: SelectOption) => any;
|
|
8
|
+
invalid: (text: string) => any;
|
|
9
|
+
"update:modelValue": (value: string) => any;
|
|
10
|
+
focus: (event: FocusEvent) => any;
|
|
11
|
+
blur: (event: FocusEvent) => any;
|
|
12
|
+
"update:loading": (loading: boolean) => any;
|
|
13
|
+
create: (value: string) => any;
|
|
14
|
+
"open-dropdown": () => any;
|
|
15
|
+
"close-dropdown": () => any;
|
|
16
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
|
+
onSelect?: ((option: SelectOption) => any) | undefined;
|
|
18
|
+
onInvalid?: ((text: string) => any) | undefined;
|
|
19
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
20
|
+
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
21
|
+
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
22
|
+
"onUpdate:loading"?: ((loading: boolean) => any) | undefined;
|
|
23
|
+
onCreate?: ((value: string) => any) | undefined;
|
|
24
|
+
"onOpen-dropdown"?: (() => any) | undefined;
|
|
25
|
+
"onClose-dropdown"?: (() => any) | undefined;
|
|
26
|
+
}>, {
|
|
27
|
+
search: import('../../..').SelectSearch;
|
|
28
|
+
modelValue: string;
|
|
29
|
+
defaultValue: string;
|
|
30
|
+
editable: boolean;
|
|
31
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
32
|
+
declare const _default: typeof __VLS_export;
|
|
33
|
+
export default _default;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { DateFormat, TimeFormat } from './dateTime';
|
|
1
2
|
type __VLS_Props = {
|
|
3
|
+
/** `YYYY-MM-DD` for date mode, `YYYY-MM-DDTHH:mm:ss` for `showTime` mode. Local wall-clock, no timezone. */
|
|
2
4
|
modelValue?: string;
|
|
3
5
|
placeholder?: string;
|
|
4
6
|
locale?: string;
|
|
@@ -8,18 +10,54 @@ type __VLS_Props = {
|
|
|
8
10
|
max?: string;
|
|
9
11
|
clearable?: boolean;
|
|
10
12
|
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
13
|
+
ariaLabel?: string;
|
|
14
|
+
/** Additive: show a time picker under the calendar and emit a local date-time string. */
|
|
15
|
+
showTime?: boolean;
|
|
16
|
+
/** Additive: type the date directly instead of picking it. Cannot be combined with `showTime`. */
|
|
17
|
+
editable?: boolean;
|
|
18
|
+
/** Additive: an empty text field clears the value instead of reporting `required`. */
|
|
19
|
+
allowBlank?: boolean;
|
|
20
|
+
/** Additive: 24-hour clock for the time picker and its readout. */
|
|
21
|
+
enableHour24?: boolean;
|
|
22
|
+
/** Additive: when `showTime`, the time only counts once the add-time control is checked. */
|
|
23
|
+
timeOptional?: boolean;
|
|
24
|
+
/** Additive: initial state of the add-time control when the value carries no time. */
|
|
25
|
+
defaultTimeChecked?: boolean;
|
|
26
|
+
/** Additive: text format used by `editable` for display and parsing. */
|
|
27
|
+
dateFormat?: DateFormat;
|
|
28
|
+
/** Additive: readout format for the time portion. Defaults from `enableHour24`. */
|
|
29
|
+
timeFormat?: TimeFormat;
|
|
11
30
|
};
|
|
12
31
|
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
32
|
+
invalid: (payload: {
|
|
33
|
+
reason: "format" | "required";
|
|
34
|
+
text: string;
|
|
35
|
+
}) => any;
|
|
13
36
|
"update:modelValue": (value: string | undefined) => any;
|
|
37
|
+
change: (value: string | undefined) => any;
|
|
38
|
+
"select-date": (value: string) => any;
|
|
14
39
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
40
|
+
onInvalid?: ((payload: {
|
|
41
|
+
reason: "format" | "required";
|
|
42
|
+
text: string;
|
|
43
|
+
}) => any) | undefined;
|
|
15
44
|
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
45
|
+
onChange?: ((value: string | undefined) => any) | undefined;
|
|
46
|
+
"onSelect-date"?: ((value: string) => any) | undefined;
|
|
16
47
|
}>, {
|
|
17
48
|
disabled: boolean;
|
|
18
49
|
placeholder: string;
|
|
19
|
-
locale: string;
|
|
20
50
|
readonly: boolean;
|
|
51
|
+
editable: boolean;
|
|
21
52
|
clearable: boolean;
|
|
53
|
+
locale: string;
|
|
22
54
|
weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
55
|
+
showTime: boolean;
|
|
56
|
+
allowBlank: boolean;
|
|
57
|
+
enableHour24: boolean;
|
|
58
|
+
timeOptional: boolean;
|
|
59
|
+
defaultTimeChecked: boolean;
|
|
60
|
+
dateFormat: DateFormat;
|
|
23
61
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
24
62
|
declare const _default: typeof __VLS_export;
|
|
25
63
|
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Date/time text helpers shared by `DatePicker`.
|
|
3
|
+
*
|
|
4
|
+
* Contract (kept deliberately string-only so the pre-existing ISO date API stays intact):
|
|
5
|
+
*
|
|
6
|
+
* - A date-only value is `YYYY-MM-DD`.
|
|
7
|
+
* - A date-time value is `YYYY-MM-DDTHH:mm:ss` (optionally `YYYY-MM-DDTHH:mm`).
|
|
8
|
+
* - There is **no** timezone suffix. The value is a local wall-clock reading; it is never
|
|
9
|
+
* converted to UTC and never shifted by the host offset. Callers that need an instant must
|
|
10
|
+
* add their own zone information.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DATE_FORMATS: readonly ["m/d/Y", "d/m/Y", "Y-m-d", "d.m.Y", "d-m-Y"];
|
|
13
|
+
export declare const TIME_FORMATS: readonly ["h:mm a", "HH:mm"];
|
|
14
|
+
export type DateFormat = (typeof DATE_FORMATS)[number];
|
|
15
|
+
export type TimeFormat = (typeof TIME_FORMATS)[number];
|
|
16
|
+
export interface DateTimeParts {
|
|
17
|
+
/** ISO date portion, `YYYY-MM-DD`. */
|
|
18
|
+
date: string;
|
|
19
|
+
/** 0-23 local hour. */
|
|
20
|
+
hours: number;
|
|
21
|
+
/** 0-59 local minute. */
|
|
22
|
+
minutes: number;
|
|
23
|
+
/** True when the input string carried an explicit time portion. */
|
|
24
|
+
hasTime: boolean;
|
|
25
|
+
}
|
|
26
|
+
/** Parse a supported ISO date or date-time string into its parts, or `undefined` when malformed. */
|
|
27
|
+
export declare function parseDateTime(value?: string | null): DateTimeParts | undefined;
|
|
28
|
+
/** Compose `YYYY-MM-DD` + local hours/minutes into a date-time string with zeroed seconds. */
|
|
29
|
+
export declare function composeDateTime(date: string, hours: number, minutes: number): string;
|
|
30
|
+
/**
|
|
31
|
+
* Render an ISO date using one of the supported text formats.
|
|
32
|
+
*
|
|
33
|
+
* `Y-m-d` is rendered ISO-like with padded month/day (`2026-04-15`); the other formats keep the
|
|
34
|
+
* unpadded month/day style used by the reference component (`4/15/2026`, `15.4.2026`).
|
|
35
|
+
*/
|
|
36
|
+
export declare function formatDateText(date: string, format: DateFormat): string;
|
|
37
|
+
/** Parse user-typed text using one of the supported formats back into an ISO date, or `undefined`. */
|
|
38
|
+
export declare function parseDateText(text: string, format: DateFormat): string | undefined;
|
|
39
|
+
/** Render local hours/minutes in 12-hour (`h:mm a`) or 24-hour (`HH:mm`) form. */
|
|
40
|
+
export declare function formatTimeText(hours: number, minutes: number, format: TimeFormat): string;
|
|
41
|
+
/** Hour options for a time picker control. 24-hour mode yields 0-23, 12-hour mode yields 1-12. */
|
|
42
|
+
export declare function hourOptions(enableHour24: boolean): number[];
|
|
43
|
+
/** Minute options for a time picker control. */
|
|
44
|
+
export declare function minuteOptions(): number[];
|
|
@@ -5,6 +5,8 @@ type __VLS_Props = {
|
|
|
5
5
|
description?: string;
|
|
6
6
|
width?: string;
|
|
7
7
|
closeLabel?: string;
|
|
8
|
+
/** Hides the header close affordance for fixed-flow dialogs that own their dismiss path. */
|
|
9
|
+
showClose?: boolean;
|
|
8
10
|
};
|
|
9
11
|
declare var __VLS_14: {}, __VLS_62: {}, __VLS_64: {};
|
|
10
12
|
type __VLS_Slots = {} & {
|
|
@@ -15,24 +17,25 @@ type __VLS_Slots = {} & {
|
|
|
15
17
|
footer?: (props: typeof __VLS_64) => any;
|
|
16
18
|
};
|
|
17
19
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
18
|
-
"update:open": (value: boolean) => any;
|
|
19
20
|
escapeKeyDown: (event: KeyboardEvent) => any;
|
|
20
21
|
pointerDownOutside: (event: Event) => any;
|
|
21
22
|
interactOutside: (event: Event) => any;
|
|
22
23
|
openAutoFocus: (event: Event) => any;
|
|
23
24
|
closeAutoFocus: (event: Event) => any;
|
|
25
|
+
"update:open": (value: boolean) => any;
|
|
24
26
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
25
|
-
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
26
27
|
onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
|
|
27
28
|
onPointerDownOutside?: ((event: Event) => any) | undefined;
|
|
28
29
|
onInteractOutside?: ((event: Event) => any) | undefined;
|
|
29
30
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
30
31
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
32
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
31
33
|
}>, {
|
|
32
34
|
width: string;
|
|
33
|
-
open: boolean;
|
|
34
35
|
defaultOpen: boolean;
|
|
36
|
+
open: boolean;
|
|
35
37
|
closeLabel: string;
|
|
38
|
+
showClose: boolean;
|
|
36
39
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
37
40
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
41
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,19 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
key: string;
|
|
4
|
-
label: string;
|
|
5
|
-
disabled?: boolean;
|
|
6
|
-
checked?: boolean;
|
|
7
|
-
danger?: boolean;
|
|
8
|
-
shortcut?: string;
|
|
9
|
-
submenu?: boolean;
|
|
10
|
-
} | {
|
|
11
|
-
type: 'separator';
|
|
12
|
-
key: string;
|
|
13
|
-
};
|
|
1
|
+
import { DropdownMenuEntry } from './types';
|
|
2
|
+
export type { DropdownMenuEntry } from './types';
|
|
14
3
|
type __VLS_Props = {
|
|
15
4
|
items: DropdownMenuEntry[];
|
|
16
5
|
align?: 'start' | 'center' | 'end';
|
|
6
|
+
/** Controlled checked keys for `type: 'checkbox'` entries. */
|
|
7
|
+
checkedKeys?: string[];
|
|
8
|
+
/** Controlled value of the default radio group (`group` unset). */
|
|
9
|
+
radioValue?: string;
|
|
10
|
+
/** Controlled values of named radio groups, keyed by `group`. */
|
|
11
|
+
radioValues?: Record<string, string>;
|
|
17
12
|
};
|
|
18
13
|
declare var __VLS_14: {};
|
|
19
14
|
type __VLS_Slots = {} & {
|
|
@@ -21,8 +16,18 @@ type __VLS_Slots = {} & {
|
|
|
21
16
|
};
|
|
22
17
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
23
18
|
select: (key: string) => any;
|
|
19
|
+
toggle: (key: string, checked: boolean) => any;
|
|
20
|
+
"update:checkedKeys": (value: string[]) => any;
|
|
21
|
+
"update:radioValue": (value: string) => any;
|
|
22
|
+
"update:radioValues": (value: Record<string, string>) => any;
|
|
23
|
+
radioSelect: (value: string, key: string, group: string) => any;
|
|
24
24
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
25
25
|
onSelect?: ((key: string) => any) | undefined;
|
|
26
|
+
onToggle?: ((key: string, checked: boolean) => any) | undefined;
|
|
27
|
+
"onUpdate:checkedKeys"?: ((value: string[]) => any) | undefined;
|
|
28
|
+
"onUpdate:radioValue"?: ((value: string) => any) | undefined;
|
|
29
|
+
"onUpdate:radioValues"?: ((value: Record<string, string>) => any) | undefined;
|
|
30
|
+
onRadioSelect?: ((value: string, key: string, group: string) => any) | undefined;
|
|
26
31
|
}>, {
|
|
27
32
|
align: "start" | "center" | "end";
|
|
28
33
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DropdownMenuEntry } from './types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
items: DropdownMenuEntry[];
|
|
4
|
+
checkedKeys?: string[];
|
|
5
|
+
radioValues?: Record<string, string>;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
+
select: (key: string) => any;
|
|
9
|
+
radio: (value: string, key: string, group: string) => any;
|
|
10
|
+
toggle: (key: string, checked: boolean) => any;
|
|
11
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onSelect?: ((key: string) => any) | undefined;
|
|
13
|
+
onRadio?: ((value: string, key: string, group: string) => any) | undefined;
|
|
14
|
+
onToggle?: ((key: string, checked: boolean) => any) | undefined;
|
|
15
|
+
}>, {
|
|
16
|
+
checkedKeys: string[];
|
|
17
|
+
radioValues: Record<string, string>;
|
|
18
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
19
|
+
declare const _default: typeof __VLS_export;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type DropdownMenuSubEntry = {
|
|
2
|
+
type?: 'item';
|
|
3
|
+
key: string;
|
|
4
|
+
label: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
/** Legacy visual check mark. Use `type: 'checkbox'` for a real, togglable item. */
|
|
7
|
+
checked?: boolean;
|
|
8
|
+
danger?: boolean;
|
|
9
|
+
shortcut?: string;
|
|
10
|
+
/** @deprecated A real submenu is rendered when `children` is present. */
|
|
11
|
+
submenu?: boolean;
|
|
12
|
+
/** Nested entries render as a submenu. */
|
|
13
|
+
children?: DropdownMenuEntry[];
|
|
14
|
+
};
|
|
15
|
+
export type DropdownMenuCheckboxEntry = {
|
|
16
|
+
type: 'checkbox';
|
|
17
|
+
key: string;
|
|
18
|
+
label: string;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
danger?: boolean;
|
|
21
|
+
shortcut?: string;
|
|
22
|
+
};
|
|
23
|
+
export type DropdownMenuRadioEntry = {
|
|
24
|
+
type: 'radio';
|
|
25
|
+
key: string;
|
|
26
|
+
label: string;
|
|
27
|
+
value: string;
|
|
28
|
+
/** Radio entries that share a group are mutually exclusive. Defaults to the root group. */
|
|
29
|
+
group?: string;
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
danger?: boolean;
|
|
32
|
+
shortcut?: string;
|
|
33
|
+
};
|
|
34
|
+
export type DropdownMenuSeparatorEntry = {
|
|
35
|
+
type: 'separator';
|
|
36
|
+
key: string;
|
|
37
|
+
};
|
|
38
|
+
export type DropdownMenuEntry = DropdownMenuSubEntry | DropdownMenuCheckboxEntry | DropdownMenuRadioEntry | DropdownMenuSeparatorEntry;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
export type GhostIconProps = {
|
|
3
|
+
component: Component;
|
|
4
|
+
props?: Record<string, unknown>;
|
|
5
|
+
};
|
|
6
|
+
export type GhostIcon = Component | GhostIconProps;
|
|
7
|
+
type __VLS_Props = {
|
|
8
|
+
title?: string;
|
|
9
|
+
nums?: number | false;
|
|
10
|
+
icon?: GhostIcon | false;
|
|
11
|
+
};
|
|
12
|
+
declare var __VLS_1: {}, __VLS_8: {};
|
|
13
|
+
type __VLS_Slots = {} & {
|
|
14
|
+
default?: (props: typeof __VLS_1) => any;
|
|
15
|
+
} & {
|
|
16
|
+
title?: (props: typeof __VLS_8) => any;
|
|
17
|
+
};
|
|
18
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
19
|
+
title: string;
|
|
20
|
+
icon: GhostIcon | false;
|
|
21
|
+
nums: number | false;
|
|
22
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
23
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
24
|
+
declare const _default: typeof __VLS_export;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
import { IconSet, IconSize } from './icon';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
/** Icon component to render, e.g. an `@lucide/vue` icon. */
|
|
5
|
+
svgIcon?: Component;
|
|
6
|
+
/** Registered icon name, for names only known at runtime. */
|
|
7
|
+
name?: string;
|
|
8
|
+
size?: IconSize;
|
|
9
|
+
/** Colour group; see ICON_SET_COLORS. */
|
|
10
|
+
svgIconSet?: IconSet;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/** Decorative by default: hidden from assistive technology. */
|
|
13
|
+
ariaHidden?: boolean;
|
|
14
|
+
/** Gives the icon a name, which makes it informative (`role="img"`). */
|
|
15
|
+
ariaLabel?: string;
|
|
16
|
+
/** Names the icon through an existing element, like `ariaLabel`. */
|
|
17
|
+
ariaLabelledby?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Declares that this icon's click is a pointer-only shortcut for an action
|
|
20
|
+
* that is already reachable elsewhere. Keeps the icon decorative and
|
|
21
|
+
* suppresses the development warning below. No effect on the DOM.
|
|
22
|
+
*/
|
|
23
|
+
redundant?: boolean;
|
|
24
|
+
/** Accepted for API compatibility; sprites are not resolved by this component. */
|
|
25
|
+
sprite?: boolean;
|
|
26
|
+
};
|
|
27
|
+
declare function focus(): void;
|
|
28
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {
|
|
29
|
+
focus: typeof focus;
|
|
30
|
+
el: Readonly<import('vue').ShallowRef<HTMLElement | null>>;
|
|
31
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
32
|
+
size: IconSize;
|
|
33
|
+
disabled: boolean;
|
|
34
|
+
svgIconSet: IconSet;
|
|
35
|
+
ariaHidden: boolean;
|
|
36
|
+
redundant: boolean;
|
|
37
|
+
sprite: boolean;
|
|
38
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
39
|
+
declare const _default: typeof __VLS_export;
|
|
40
|
+
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Named sizes. `m` is the documented SVC default (24px). */
|
|
2
|
+
export declare const ICON_SIZE_TOKENS: {
|
|
3
|
+
readonly sm: 16;
|
|
4
|
+
readonly m: 24;
|
|
5
|
+
readonly lg: 32;
|
|
6
|
+
};
|
|
7
|
+
export type IconSizeToken = keyof typeof ICON_SIZE_TOKENS;
|
|
8
|
+
/** A named size, or an explicit `[width, height]` pair in pixels. */
|
|
9
|
+
export type IconSize = IconSizeToken | [number, number];
|
|
10
|
+
/**
|
|
11
|
+
* Colour groups. The first four mirror the documented SVC set names
|
|
12
|
+
* (`{tier}` / `{tier}-{intent}`); the semantic names are this library's
|
|
13
|
+
* additions for status colouring.
|
|
14
|
+
*/
|
|
15
|
+
export type IconSet = 'inherit' | 'primary' | 'secondary' | 'tertiary' | 'theme' | 'secondary-primary' | 'tertiary-secondary' | 'info' | 'success' | 'warning' | 'danger';
|
|
16
|
+
export declare const ICON_SET_COLORS: Record<IconSet, string>;
|
|
17
|
+
/** Resolves a size declaration to the pixel pair applied to the SVG. */
|
|
18
|
+
export declare function resolveIconSize(size: IconSize): [number, number];
|
|
19
|
+
export declare function iconSetColor(set: IconSet): string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
export interface IconRegistration {
|
|
3
|
+
name: string;
|
|
4
|
+
component: Component;
|
|
5
|
+
}
|
|
6
|
+
export declare function registerIcons(icons: IconRegistration[] | Record<string, Component>): void;
|
|
7
|
+
export declare function getRegisteredIcon(name: string): Component | undefined;
|
|
8
|
+
/** Test/teardown helper: drops every registration. */
|
|
9
|
+
export declare function clearIconRegistry(): void;
|