@hawiyah/vue 0.0.0-stage → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/LICENSE +73 -0
  2. package/NOTICE +19 -0
  3. package/PORTAL.md +70 -0
  4. package/README.md +388 -2
  5. package/dist/calendar.d.ts +183 -0
  6. package/dist/calendar.d.ts.map +1 -0
  7. package/dist/calendar.js +448 -0
  8. package/dist/calendar.js.map +1 -0
  9. package/dist/content-navigation.d.ts +61 -0
  10. package/dist/content-navigation.d.ts.map +1 -0
  11. package/dist/content-navigation.js +31 -0
  12. package/dist/content-navigation.js.map +1 -0
  13. package/dist/content.d.ts +392 -0
  14. package/dist/content.d.ts.map +1 -0
  15. package/dist/content.js +310 -0
  16. package/dist/content.js.map +1 -0
  17. package/dist/controls.d.ts +657 -0
  18. package/dist/controls.d.ts.map +1 -0
  19. package/dist/controls.js +679 -0
  20. package/dist/controls.js.map +1 -0
  21. package/dist/display.d.ts +387 -0
  22. package/dist/display.d.ts.map +1 -0
  23. package/dist/display.js +293 -0
  24. package/dist/display.js.map +1 -0
  25. package/dist/expansion-interactive.d.ts +476 -0
  26. package/dist/expansion-interactive.d.ts.map +1 -0
  27. package/dist/expansion-interactive.js +613 -0
  28. package/dist/expansion-interactive.js.map +1 -0
  29. package/dist/file-upload-list.d.ts +54 -0
  30. package/dist/file-upload-list.d.ts.map +1 -0
  31. package/dist/file-upload-list.js +21 -0
  32. package/dist/file-upload-list.js.map +1 -0
  33. package/dist/forms.d.ts +388 -0
  34. package/dist/forms.d.ts.map +1 -0
  35. package/dist/forms.js +156 -0
  36. package/dist/forms.js.map +1 -0
  37. package/dist/index.d.ts +26 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +16 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/interactive.d.ts +240 -0
  42. package/dist/interactive.d.ts.map +1 -0
  43. package/dist/interactive.js +341 -0
  44. package/dist/interactive.js.map +1 -0
  45. package/dist/layout.d.ts +755 -0
  46. package/dist/layout.d.ts.map +1 -0
  47. package/dist/layout.js +101 -0
  48. package/dist/layout.js.map +1 -0
  49. package/dist/mobile-top-bar.d.ts +47 -0
  50. package/dist/mobile-top-bar.d.ts.map +1 -0
  51. package/dist/mobile-top-bar.js +18 -0
  52. package/dist/mobile-top-bar.js.map +1 -0
  53. package/dist/native-attributes.d.ts +38 -0
  54. package/dist/native-attributes.d.ts.map +1 -0
  55. package/dist/native-attributes.js +27 -0
  56. package/dist/native-attributes.js.map +1 -0
  57. package/dist/navigation-drawer.d.ts +87 -0
  58. package/dist/navigation-drawer.d.ts.map +1 -0
  59. package/dist/navigation-drawer.js +56 -0
  60. package/dist/navigation-drawer.js.map +1 -0
  61. package/dist/patterns.d.ts +455 -0
  62. package/dist/patterns.d.ts.map +1 -0
  63. package/dist/patterns.js +355 -0
  64. package/dist/patterns.js.map +1 -0
  65. package/dist/portal.d.ts +174 -0
  66. package/dist/portal.d.ts.map +1 -0
  67. package/dist/portal.js +36 -0
  68. package/dist/portal.js.map +1 -0
  69. package/dist/search-field.d.ts +87 -0
  70. package/dist/search-field.d.ts.map +1 -0
  71. package/dist/search-field.js +123 -0
  72. package/dist/search-field.js.map +1 -0
  73. package/dist/shared.d.ts +46 -0
  74. package/dist/shared.d.ts.map +1 -0
  75. package/dist/shared.js +40 -0
  76. package/dist/shared.js.map +1 -0
  77. package/dist/site-verification.d.ts +63 -0
  78. package/dist/site-verification.d.ts.map +1 -0
  79. package/dist/site-verification.js +34 -0
  80. package/dist/site-verification.js.map +1 -0
  81. package/package.json +53 -3
package/dist/forms.js ADDED
@@ -0,0 +1,156 @@
1
+ import { onMounted, onUpdated, onBeforeUnmount, computed, defineComponent, h, mergeProps, nextTick, ref, useId, watchEffect } from 'vue';
2
+ import { observeReadonlyChoice } from '@hawiyah/core';
3
+ import { decorationProps, joinIds, provideField, useField, useFormReset, useValue } from './shared.js';
4
+ export const Button = defineComponent({
5
+ name: 'HwButton', inheritAttrs: false,
6
+ props: { variant: { type: String, default: 'primary' }, size: { type: String, default: 'md' }, loading: Boolean, disabled: Boolean, type: { type: String, default: 'button' } },
7
+ setup(props, { attrs, slots, expose }) {
8
+ const element = ref();
9
+ expose({ element, focus: () => element.value?.focus() });
10
+ return () => h('button', mergeProps(attrs, { ref: element, class: 'hw-button', type: props.type, disabled: props.disabled || props.loading, 'aria-busy': props.loading || attrs['aria-busy'], 'data-variant': props.variant, 'data-size': props.size }), slots.default?.());
11
+ },
12
+ });
13
+ export const Field = defineComponent({
14
+ name: 'HwField', inheritAttrs: false, props: { ...decorationProps, controlId: String },
15
+ setup(props, { attrs, slots }) {
16
+ const generated = `hw-${useId()}`;
17
+ const context = computed(() => ({ id: props.controlId ?? generated, labelId: props.label ? `${props.controlId ?? generated}-label` : undefined,
18
+ describedby: joinIds(props.hint && `${props.controlId ?? generated}-hint`, props.error && `${props.controlId ?? generated}-error`), invalid: Boolean(props.error), required: props.required }));
19
+ provideField(context);
20
+ return () => h('div', mergeProps(attrs, { class: 'hw-field' }), [
21
+ props.label && h('label', { class: 'hw-label', id: context.value.labelId, for: context.value.id }, [props.label, props.required && h('span', { class: 'hw-required-marker', 'aria-hidden': 'true' }, ' *')]),
22
+ slots.default?.(context.value),
23
+ props.hint && h('span', { class: 'hw-hint', id: `${context.value.id}-hint` }, props.hint),
24
+ props.error && h('span', { class: 'hw-error', id: `${context.value.id}-error` }, props.error),
25
+ ]);
26
+ },
27
+ });
28
+ export function decorate(props, id, content, extraClass, decorationId = id) {
29
+ if (!props.label && !props.hint && !props.error && !extraClass)
30
+ return content;
31
+ return h('div', { class: ['hw-field', extraClass] }, [
32
+ props.label && h('label', { class: 'hw-label', id: `${decorationId}-label`, for: id }, [props.label, props.required && h('span', { class: 'hw-required-marker', 'aria-hidden': 'true' }, ' *')]), content,
33
+ props.hint && h('span', { class: 'hw-hint', id: `${decorationId}-hint` }, props.hint),
34
+ props.error && h('span', { class: 'hw-error', id: `${decorationId}-error` }, props.error),
35
+ ]);
36
+ }
37
+ const valueProps = { ...decorationProps, modelValue: String, defaultValue: String, placeholder: String };
38
+ function textControl(tag, className, name) {
39
+ return defineComponent({
40
+ name, inheritAttrs: false,
41
+ props: { ...valueProps, options: { type: Array, default: () => [] } },
42
+ emits: { 'update:modelValue': (_value) => true },
43
+ setup(props, { attrs, slots, emit, expose }) {
44
+ const field = useField(props, attrs, true);
45
+ const element = ref();
46
+ // Without a value or prompt, let a native select choose its first enabled option.
47
+ const initial = props.defaultValue ?? (tag === 'select' ? undefined : '');
48
+ const model = useValue(() => props.modelValue, initial, value => {
49
+ if (value !== undefined)
50
+ emit('update:modelValue', value);
51
+ });
52
+ const syncSelect = () => nextTick(() => {
53
+ if (element.value && model.value.value !== undefined)
54
+ element.value.value = model.value.value;
55
+ });
56
+ useFormReset(element, () => {
57
+ model.set(props.defaultValue ?? (tag === 'select' ? element.value?.value : '') ?? '');
58
+ if (tag === 'select')
59
+ void syncSelect();
60
+ });
61
+ expose({ element, focus: () => element.value?.focus() });
62
+ return () => {
63
+ const slotOptions = tag === 'select' ? slots.default?.() : undefined;
64
+ const hasEmptyOption = props.options.some(option => option.value === '') || slotOptions?.some(node => node.type === 'option' && node.props?.value === '');
65
+ const prompt = props.placeholder && !hasEmptyOption && (attrs.multiple == null || attrs.multiple === false) ? h('option', { value: '' }, props.placeholder) : null;
66
+ const options = tag === 'select' ? [prompt, ...props.options.map(option => h('option', {
67
+ key: option.value, value: option.value, disabled: option.disabled,
68
+ selected: model.value.value === undefined ? undefined : model.value.value === option.value,
69
+ }, option.label)), slotOptions] : undefined;
70
+ const control = h(tag, mergeProps(attrs, field.controlAttrs.value, {
71
+ ref: element, class: className, placeholder: tag === 'select' ? undefined : props.placeholder,
72
+ ...(model.value.value === undefined ? {} : { value: model.value.value }),
73
+ [tag === 'select' ? 'onChange' : 'onInput']: (event) => {
74
+ model.set(event.target.value);
75
+ if (tag === 'select')
76
+ void syncSelect();
77
+ },
78
+ }), options);
79
+ return decorate(props, field.id.value, control, undefined, field.decorationId.value);
80
+ };
81
+ },
82
+ });
83
+ }
84
+ export const TextField = textControl('input', 'hw-input', 'HwTextField');
85
+ export const Textarea = textControl('textarea', 'hw-textarea', 'HwTextarea');
86
+ export const Select = textControl('select', 'hw-select', 'HwSelect');
87
+ function choice(kind, normalize) {
88
+ return defineComponent({
89
+ name: `Hw${kind[0].toUpperCase()}${kind.slice(1)}`, inheritAttrs: false,
90
+ props: { ...decorationProps, modelValue: { type: [Boolean, String], default: undefined }, defaultValue: { type: [Boolean, String], default: false }, value: { type: String, default: 'on' }, readOnly: Boolean, indeterminate: Boolean },
91
+ emits: { 'update:modelValue': (_value) => true },
92
+ setup(props, { attrs, slots, emit, expose }) {
93
+ const field = useField(props, attrs);
94
+ const element = ref();
95
+ const model = useValue(() => props.modelValue, props.defaultValue, value => emit('update:modelValue', normalize(value)));
96
+ const syncDefault = () => {
97
+ const input = element.value;
98
+ if (kind !== 'radio' || !input)
99
+ return;
100
+ const selected = props.defaultValue === props.value;
101
+ if (input.defaultChecked !== selected)
102
+ input.defaultChecked = selected;
103
+ };
104
+ useFormReset(element, () => {
105
+ const input = element.value;
106
+ if (kind !== 'radio' || !input?.form) {
107
+ model.set(props.defaultValue);
108
+ return;
109
+ }
110
+ const peers = input.name ? Array.from(input.form.elements).filter((node) => node.matches('input[type="radio" i]') && node.getAttribute('name') === input.name) : [input];
111
+ const checked = peers.find(peer => peer.checked);
112
+ const restored = checked?.value ?? '';
113
+ // A group has one reset result. Its other members synchronize silently
114
+ // so an unchecked sibling cannot replace the selected default.
115
+ if ((checked ?? peers[0]) === input)
116
+ model.set(restored);
117
+ else
118
+ model.sync(restored);
119
+ });
120
+ let readonlyGuard;
121
+ onMounted(() => { if (element.value)
122
+ readonlyGuard = observeReadonlyChoice(element.value); syncDefault(); });
123
+ onUpdated(() => { readonlyGuard?.refresh(); syncDefault(); });
124
+ onBeforeUnmount(() => readonlyGuard?.destroy());
125
+ watchEffect(() => { if (element.value)
126
+ element.value.indeterminate = kind === 'checkbox' && props.indeterminate; });
127
+ expose({ element, focus: () => element.value?.focus() });
128
+ return () => h('div', { class: 'hw-field' }, [
129
+ h('label', { class: 'hw-choice', for: field.id.value, id: props.label ? `${field.id.value}-label` : undefined }, [
130
+ h('input', mergeProps(attrs, field.controlAttrs.value, { ref: element, class: `hw-${kind}`, type: kind === 'radio' ? 'radio' : 'checkbox', role: kind === 'switch' ? 'switch' : attrs.role,
131
+ readOnly: props.readOnly, 'aria-disabled': props.readOnly || attrs['aria-disabled'], value: props.value, checked: kind === 'radio' ? model.value.value === props.value : Boolean(model.value.value),
132
+ onChange: (event) => { if (!props.readOnly)
133
+ model.set(kind === 'radio' ? props.value : event.target.checked); } })),
134
+ props.label ?? slots.default?.(),
135
+ ]),
136
+ props.hint && h('span', { class: 'hw-hint', id: `${field.id.value}-hint` }, props.hint),
137
+ props.error && h('span', { class: 'hw-error', id: `${field.id.value}-error` }, props.error),
138
+ ]);
139
+ },
140
+ });
141
+ }
142
+ export const Checkbox = choice('checkbox', Boolean);
143
+ export const Radio = choice('radio', value => typeof value === 'string' ? value : '');
144
+ export const Switch = choice('switch', Boolean);
145
+ export const FileUpload = defineComponent({
146
+ name: 'HwFileUpload', inheritAttrs: false, props: decorationProps,
147
+ emits: { 'update:files': (_files) => true },
148
+ setup(props, { attrs, slots, emit, expose }) {
149
+ const field = useField(props, attrs);
150
+ const element = ref();
151
+ useFormReset(element, () => emit('update:files', []));
152
+ expose({ element, focus: () => element.value?.focus() });
153
+ return () => decorate(props, field.id.value, [h('input', mergeProps(attrs, field.controlAttrs.value, { ref: element, class: 'hw-input', type: 'file', onChange: (event) => emit('update:files', Array.from(event.target.files ?? [])) })), slots.default?.()], 'hw-upload');
154
+ },
155
+ });
156
+ //# sourceMappingURL=forms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../src/forms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export { Button, Checkbox, Radio, Switch, TextField, Textarea, Select, FileUpload, IconButton, PasswordField, SearchField, NumberField, Slider, PinInput, TagInput, MultiSelect, FileDropzone, Combobox, DatePicker, NavigationDrawer } from './native-attributes.js';
2
+ export { Field } from './forms.js';
3
+ export { Tabs, Dialog, Tooltip } from './interactive.js';
4
+ export type { TabItem } from './interactive.js';
5
+ export { Accordion, Card, Badge, Alert, Table, Pagination, Breadcrumb, Progress, Skeleton, Spinner, Avatar, Divider, Stepper, EmptyState } from './display.js';
6
+ export type { AccordionItem, TableColumn, BreadcrumbItem, StepItem, Tone } from './display.js';
7
+ export type { FieldDecoration, RenderContent } from './shared.js';
8
+ export { InputGroup, RangeSlider, Rating, RatingDisplay } from './controls.js';
9
+ export { Calendar } from './calendar.js';
10
+ export { ToggleGroup, Popover, Menu, Drawer, ToastRegion, Collapsible, TreeView, Carousel } from './expansion-interactive.js';
11
+ export type { MenuItem, ToastMessage, TreeNode, CarouselSlide } from './expansion-interactive.js';
12
+ export { Link, ButtonGroup, Chip, DescriptionList, Stat, Timeline, Meter, AvatarGroup, DataTable } from './content.js';
13
+ export type { DescriptionItem, TimelineItem, AvatarItem, DataColumn } from './content.js';
14
+ export { ServiceCard, ServiceDetails, PortalHeader, PortalFooter, Feedback, CookieConsent, NotificationList } from './patterns.js';
15
+ export type { PortalLink, PortalFooterLink, PortalFooterGroup, FeedbackValue, NotificationItem } from './patterns.js';
16
+ export { Container, Stack, Inline, Grid, Columns, Sidebar, Center, Spacer, AspectRatio, Section, AppShell, PageHeader } from './layout.js';
17
+ export { SecondaryNav, PortalLayout } from './portal.js';
18
+ export type { LayoutProps, Responsive } from '@hawiyah/core';
19
+ export type { SecondaryNavItem } from './portal.js';
20
+ export { MobileTopBar } from './mobile-top-bar.js';
21
+ export type { NavigationDrawerItem } from './navigation-drawer.js';
22
+ export { SiteVerification } from './site-verification.js';
23
+ export { ContentNavigation } from './content-navigation.js';
24
+ export type { ContentNavigationItem } from './content-navigation.js';
25
+ export { FileUploadList } from './file-upload-list.js';
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACtQ,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACzD,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/J,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/F,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC9H,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvH,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnI,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3I,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,16 @@
1
+ export { Button, Checkbox, Radio, Switch, TextField, Textarea, Select, FileUpload, IconButton, PasswordField, SearchField, NumberField, Slider, PinInput, TagInput, MultiSelect, FileDropzone, Combobox, DatePicker, NavigationDrawer } from './native-attributes.js';
2
+ export { Field } from './forms.js';
3
+ export { Tabs, Dialog, Tooltip } from './interactive.js';
4
+ export { Accordion, Card, Badge, Alert, Table, Pagination, Breadcrumb, Progress, Skeleton, Spinner, Avatar, Divider, Stepper, EmptyState } from './display.js';
5
+ export { InputGroup, RangeSlider, Rating, RatingDisplay } from './controls.js';
6
+ export { Calendar } from './calendar.js';
7
+ export { ToggleGroup, Popover, Menu, Drawer, ToastRegion, Collapsible, TreeView, Carousel } from './expansion-interactive.js';
8
+ export { Link, ButtonGroup, Chip, DescriptionList, Stat, Timeline, Meter, AvatarGroup, DataTable } from './content.js';
9
+ export { ServiceCard, ServiceDetails, PortalHeader, PortalFooter, Feedback, CookieConsent, NotificationList } from './patterns.js';
10
+ export { Container, Stack, Inline, Grid, Columns, Sidebar, Center, Spacer, AspectRatio, Section, AppShell, PageHeader } from './layout.js';
11
+ export { SecondaryNav, PortalLayout } from './portal.js';
12
+ export { MobileTopBar } from './mobile-top-bar.js';
13
+ export { SiteVerification } from './site-verification.js';
14
+ export { ContentNavigation } from './content-navigation.js';
15
+ export { FileUploadList } from './file-upload-list.js';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACtQ,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/J,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE9H,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEnI,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3I,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,240 @@
1
+ import type { PropType, VNodeChild } from 'vue';
2
+ import type { Option, Orientation } from '@hawiyah/core';
3
+ export interface TabItem {
4
+ value: string;
5
+ label: string;
6
+ content?: VNodeChild;
7
+ disabled?: boolean;
8
+ }
9
+ export declare const Tabs: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10
+ items: {
11
+ type: PropType<readonly TabItem[]>;
12
+ required: true;
13
+ };
14
+ label: {
15
+ type: StringConstructor;
16
+ required: true;
17
+ };
18
+ modelValue: StringConstructor;
19
+ defaultValue: StringConstructor;
20
+ orientation: {
21
+ type: PropType<Orientation>;
22
+ default: string;
23
+ };
24
+ activationMode: {
25
+ type: PropType<"automatic" | "manual">;
26
+ default: string;
27
+ };
28
+ overflow: {
29
+ type: PropType<"menu" | "scroll">;
30
+ default: string;
31
+ };
32
+ overflowLabel: {
33
+ type: StringConstructor;
34
+ default: string;
35
+ };
36
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
+ [key: string]: any;
38
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
39
+ 'update:modelValue': (_value: string) => true;
40
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
41
+ items: {
42
+ type: PropType<readonly TabItem[]>;
43
+ required: true;
44
+ };
45
+ label: {
46
+ type: StringConstructor;
47
+ required: true;
48
+ };
49
+ modelValue: StringConstructor;
50
+ defaultValue: StringConstructor;
51
+ orientation: {
52
+ type: PropType<Orientation>;
53
+ default: string;
54
+ };
55
+ activationMode: {
56
+ type: PropType<"automatic" | "manual">;
57
+ default: string;
58
+ };
59
+ overflow: {
60
+ type: PropType<"menu" | "scroll">;
61
+ default: string;
62
+ };
63
+ overflowLabel: {
64
+ type: StringConstructor;
65
+ default: string;
66
+ };
67
+ }>> & Readonly<{
68
+ "onUpdate:modelValue"?: ((_value: string) => any) | undefined;
69
+ }>, {
70
+ orientation: Orientation;
71
+ activationMode: "automatic" | "manual";
72
+ overflow: "scroll" | "menu";
73
+ overflowLabel: string;
74
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
75
+ export declare const Dialog: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
76
+ open: {
77
+ type: BooleanConstructor;
78
+ default: undefined;
79
+ };
80
+ defaultOpen: BooleanConstructor;
81
+ title: {
82
+ type: StringConstructor;
83
+ required: true;
84
+ };
85
+ description: StringConstructor;
86
+ closeLabel: {
87
+ type: StringConstructor;
88
+ default: string;
89
+ };
90
+ closeOnBackdrop: {
91
+ type: BooleanConstructor;
92
+ default: boolean;
93
+ };
94
+ }>, () => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
95
+ [key: string]: any;
96
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
97
+ [key: string]: any;
98
+ }>[] | undefined)[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
99
+ 'update:open': (_open: boolean) => true;
100
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
101
+ open: {
102
+ type: BooleanConstructor;
103
+ default: undefined;
104
+ };
105
+ defaultOpen: BooleanConstructor;
106
+ title: {
107
+ type: StringConstructor;
108
+ required: true;
109
+ };
110
+ description: StringConstructor;
111
+ closeLabel: {
112
+ type: StringConstructor;
113
+ default: string;
114
+ };
115
+ closeOnBackdrop: {
116
+ type: BooleanConstructor;
117
+ default: boolean;
118
+ };
119
+ }>> & Readonly<{
120
+ "onUpdate:open"?: ((_open: boolean) => any) | undefined;
121
+ }>, {
122
+ defaultOpen: boolean;
123
+ open: boolean;
124
+ closeLabel: string;
125
+ closeOnBackdrop: boolean;
126
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
127
+ export declare const Combobox: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
128
+ options: {
129
+ type: PropType<readonly Option[]>;
130
+ required: true;
131
+ };
132
+ modelValue: StringConstructor;
133
+ defaultValue: {
134
+ type: StringConstructor;
135
+ default: string;
136
+ };
137
+ disabled: BooleanConstructor;
138
+ readonly: BooleanConstructor;
139
+ emptyMessage: {
140
+ type: StringConstructor;
141
+ default: string;
142
+ };
143
+ resultsMessage: {
144
+ type: PropType<(count: number) => string>;
145
+ default: (count: number) => string;
146
+ };
147
+ requiredMessage: {
148
+ type: StringConstructor;
149
+ default: string;
150
+ };
151
+ label: StringConstructor;
152
+ hint: StringConstructor;
153
+ error: StringConstructor;
154
+ required: {
155
+ readonly type: BooleanConstructor;
156
+ readonly default: undefined;
157
+ };
158
+ }>, () => string | number | boolean | void | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
159
+ [key: string]: any;
160
+ }> | import("vue").VNodeArrayChildren | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
161
+ 'update:modelValue': (_value: string) => true;
162
+ 'update:open': (_open: boolean) => true;
163
+ 'update:query': (_query: string) => true;
164
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
165
+ options: {
166
+ type: PropType<readonly Option[]>;
167
+ required: true;
168
+ };
169
+ modelValue: StringConstructor;
170
+ defaultValue: {
171
+ type: StringConstructor;
172
+ default: string;
173
+ };
174
+ disabled: BooleanConstructor;
175
+ readonly: BooleanConstructor;
176
+ emptyMessage: {
177
+ type: StringConstructor;
178
+ default: string;
179
+ };
180
+ resultsMessage: {
181
+ type: PropType<(count: number) => string>;
182
+ default: (count: number) => string;
183
+ };
184
+ requiredMessage: {
185
+ type: StringConstructor;
186
+ default: string;
187
+ };
188
+ label: StringConstructor;
189
+ hint: StringConstructor;
190
+ error: StringConstructor;
191
+ required: {
192
+ readonly type: BooleanConstructor;
193
+ readonly default: undefined;
194
+ };
195
+ }>> & Readonly<{
196
+ "onUpdate:modelValue"?: ((_value: string) => any) | undefined;
197
+ "onUpdate:open"?: ((_open: boolean) => any) | undefined;
198
+ "onUpdate:query"?: ((_query: string) => any) | undefined;
199
+ }>, {
200
+ disabled: boolean;
201
+ required: boolean;
202
+ defaultValue: string;
203
+ readonly: boolean;
204
+ emptyMessage: string;
205
+ resultsMessage: (count: number) => string;
206
+ requiredMessage: string;
207
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
208
+ export declare const Tooltip: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
209
+ content: {
210
+ type: StringConstructor;
211
+ required: true;
212
+ };
213
+ placement: {
214
+ type: PropType<"top" | "bottom" | "start" | "end">;
215
+ default: string;
216
+ };
217
+ align: {
218
+ type: PropType<"start" | "center" | "end">;
219
+ default: string;
220
+ };
221
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
222
+ [key: string]: any;
223
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
224
+ content: {
225
+ type: StringConstructor;
226
+ required: true;
227
+ };
228
+ placement: {
229
+ type: PropType<"top" | "bottom" | "start" | "end">;
230
+ default: string;
231
+ };
232
+ align: {
233
+ type: PropType<"start" | "center" | "end">;
234
+ default: string;
235
+ };
236
+ }>> & Readonly<{}>, {
237
+ placement: "top" | "bottom" | "start" | "end";
238
+ align: "start" | "end" | "center";
239
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
240
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,KAAK,EAAiB,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIxE,MAAM,WAAW,OAAO;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE;AACnG,eAAO,MAAM,IAAI;;cAEkB,QAAQ,CAAC,SAAS,OAAO,EAAE,CAAC;;;;;;;;;;cAC5B,QAAQ,CAAC,WAAW,CAAC;;;;cAA6D,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC;;;;cACtH,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;;;;;;;;;;kCACjB,MAAM;;;cAHZ,QAAQ,CAAC,SAAS,OAAO,EAAE,CAAC;;;;;;;;;;cAC5B,QAAQ,CAAC,WAAW,CAAC;;;;cAA6D,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC;;;;cACtH,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;;;;;;;;;;;;;;4EA8DxD,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;2BAGe,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA0CvC,CAAC;AAEH,eAAO,MAAM,QAAQ;;cAEoC,QAAQ,CAAC,SAAS,MAAM,EAAE,CAAC;;;;;;;;;;;;;;;cACiB,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;yBAAmB,MAAM;;;;;;;;;;;;;;;;kCACxH,MAAM;2BAAkC,OAAO;6BAAoC,MAAM;;;cAFzE,QAAQ,CAAC,SAAS,MAAM,EAAE,CAAC;;;;;;;;;;;;;;;cACiB,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;yBAAmB,MAAM;;;;;;;;;;;;;;;;;;;;;;;4BAA3C,MAAM,KAAK,MAAM;;4EAqFrI,CAAC;AAEH,eAAO,MAAM,OAAO;;;;;;cACsG,QAAQ,CAAC,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;;;;cAA2C,QAAQ,CAAC,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;;;;;;;;;;;cAA3H,QAAQ,CAAC,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;;;;cAA2C,QAAQ,CAAC,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;;;;;;4EA6CnP,CAAC"}