@illinois-grad/grad-vue 2.4.2 → 2.5.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 (41) hide show
  1. package/custom-elements.json +2349 -0
  2. package/dist/components/GButton.vue.d.ts +10 -1
  3. package/dist/components/GCurrencyInput.vue.d.ts +15 -2
  4. package/dist/components/GDateInput.vue.d.ts +15 -2
  5. package/dist/components/GDateRangeInput.vue.d.ts +14 -1
  6. package/dist/components/GEmailInput.vue.d.ts +2 -2
  7. package/dist/components/GForm.vue.d.ts +15 -2
  8. package/dist/components/GHamburgerMenu.vue.d.ts +13 -0
  9. package/dist/components/GModal.vue.d.ts +1 -7
  10. package/dist/components/GPopover.vue.d.ts +24 -8
  11. package/dist/components/GProgress.vue.d.ts +1 -1
  12. package/dist/components/GSearch.vue.d.ts +1 -1
  13. package/dist/components/GSelect.vue.d.ts +14 -1
  14. package/dist/components/GSelectButton.vue.d.ts +14 -1
  15. package/dist/components/GSidebar.vue.d.ts +15 -1
  16. package/dist/components/GSubmitButton.vue.d.ts +15 -0
  17. package/dist/components/GTextInput.vue.d.ts +15 -2
  18. package/dist/components/GTooltip.vue.d.ts +37 -0
  19. package/dist/components/term/GTermSelectorControl.vue.d.ts +2 -2
  20. package/dist/compose/tooltipDom.d.ts +6 -0
  21. package/dist/compose/useCustomElementAttrs.d.ts +14 -0
  22. package/dist/compose/useFormField.d.ts +4 -0
  23. package/dist/compose/useOverlayFocus.d.ts +1 -1
  24. package/dist/compose/useWebComponentForm.d.ts +2 -0
  25. package/dist/compose/useWebComponentSidebar.d.ts +9 -0
  26. package/dist/grad-vue-V6VDJQTJ.js +3478 -0
  27. package/dist/grad-vue-V6VDJQTJ.js.map +1 -0
  28. package/dist/grad-vue-elements.css +2 -0
  29. package/dist/grad-vue-elements.d.ts +179 -0
  30. package/dist/grad-vue-elements.js +8063 -0
  31. package/dist/grad-vue-elements.js.map +1 -0
  32. package/dist/grad-vue.css +2 -1
  33. package/dist/grad-vue.d.ts +4 -1
  34. package/dist/grad-vue.js +2 -240
  35. package/dist/plugin.d.ts +2 -1
  36. package/dist/plugin.js +9 -12
  37. package/dist/plugin.js.map +1 -1
  38. package/package.json +15 -3
  39. package/dist/grad-vue.js.map +0 -1
  40. package/dist/main-D8BC78tE.js +0 -3394
  41. package/dist/main-D8BC78tE.js.map +0 -1
@@ -53,6 +53,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
53
53
  * If a named slot `icon` is provided, it takes precedence over this prop.
54
54
  */
55
55
  icon?: string;
56
+ /**
57
+ * Native button type
58
+ */
59
+ type?: "button" | "submit" | "reset";
56
60
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
57
61
  click: (...args: any[]) => void;
58
62
  focus: (...args: any[]) => void;
@@ -98,6 +102,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
98
102
  * If a named slot `icon` is provided, it takes precedence over this prop.
99
103
  */
100
104
  icon?: string;
105
+ /**
106
+ * Native button type
107
+ */
108
+ type?: "button" | "submit" | "reset";
101
109
  }> & Readonly<{
102
110
  onClick?: ((...args: any[]) => any) | undefined;
103
111
  onFocus?: ((...args: any[]) => any) | undefined;
@@ -110,9 +118,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
110
118
  onMouseleave?: ((...args: any[]) => any) | undefined;
111
119
  }>, {
112
120
  size: "small" | "medium" | "large";
121
+ type: "button" | "submit" | "reset";
122
+ text: boolean;
113
123
  theme: "primary" | "secondary" | "accent" | "danger" | "none";
114
124
  outlined: boolean;
115
- text: boolean;
116
125
  to: string | Record<string, any>;
117
126
  component: string;
118
127
  icon: string;
@@ -3,6 +3,10 @@
3
3
  *
4
4
  * This component is a wrapper around a text input with a prefix and
5
5
  * appropriate input type for currency values.
6
+ *
7
+ * In standard Vue usage, this registers with the nearest parent `GForm` via
8
+ * injection. In custom-elements mode, use matching `form-key` values to pair
9
+ * with a `GForm`.
6
10
  */
7
11
  declare const _default: typeof __VLS_export;
8
12
  export default _default;
@@ -35,6 +39,10 @@ declare const __VLS_export: import("vue").DefineComponent<{
35
39
  * Name for form registration
36
40
  */
37
41
  name?: string;
42
+ /**
43
+ * Form channel key for custom elements mode
44
+ */
45
+ formKey?: string;
38
46
  } & {
39
47
  modelValue?: string | null;
40
48
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -68,15 +76,20 @@ declare const __VLS_export: import("vue").DefineComponent<{
68
76
  * Name for form registration
69
77
  */
70
78
  name?: string;
79
+ /**
80
+ * Form channel key for custom elements mode
81
+ */
82
+ formKey?: string;
71
83
  } & {
72
84
  modelValue?: string | null;
73
85
  }> & Readonly<{
74
86
  "onUpdate:modelValue"?: ((value: string | null | undefined) => any) | undefined;
75
87
  }>, {
76
88
  label: string;
77
- name: string;
78
- errors: string[];
79
89
  placeholder: string;
90
+ name: string;
80
91
  disabled: boolean;
92
+ errors: string[];
81
93
  instructions: string;
94
+ formKey: string;
82
95
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -3,6 +3,10 @@
3
3
  *
4
4
  * This component is a wrapper around GTextInput with type="date" for
5
5
  * proper date selection using the browser's native date picker.
6
+ *
7
+ * In standard Vue usage, this registers with the nearest parent `GForm` via
8
+ * injection. In custom-elements mode, use matching `form-key` values to pair
9
+ * with a `GForm`.
6
10
  */
7
11
  declare const _default: typeof __VLS_export;
8
12
  export default _default;
@@ -35,6 +39,10 @@ declare const __VLS_export: import("vue").DefineComponent<{
35
39
  * Name for form registration
36
40
  */
37
41
  name?: string;
42
+ /**
43
+ * Form channel key for custom elements mode
44
+ */
45
+ formKey?: string;
38
46
  } & {
39
47
  modelValue?: string | null;
40
48
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -68,15 +76,20 @@ declare const __VLS_export: import("vue").DefineComponent<{
68
76
  * Name for form registration
69
77
  */
70
78
  name?: string;
79
+ /**
80
+ * Form channel key for custom elements mode
81
+ */
82
+ formKey?: string;
71
83
  } & {
72
84
  modelValue?: string | null;
73
85
  }> & Readonly<{
74
86
  "onUpdate:modelValue"?: ((value: string | null | undefined) => any) | undefined;
75
87
  }>, {
76
88
  label: string;
77
- name: string;
78
- errors: string[];
79
89
  placeholder: string;
90
+ name: string;
80
91
  disabled: boolean;
92
+ errors: string[];
81
93
  instructions: string;
94
+ formKey: string;
82
95
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -3,6 +3,10 @@
3
3
  *
4
4
  * This component uses two GDateInput components laid out horizontally
5
5
  * to allow selecting a date range.
6
+ *
7
+ * In standard Vue usage, this registers with the nearest parent `GForm` via
8
+ * injection. In custom-elements mode, use matching `form-key` values to pair
9
+ * with a `GForm`.
6
10
  */
7
11
  declare const _default: typeof __VLS_export;
8
12
  export default _default;
@@ -40,6 +44,10 @@ declare const __VLS_export: import("vue").DefineComponent<{
40
44
  * Name for form registration
41
45
  */
42
46
  name?: string;
47
+ /**
48
+ * Form channel key for custom elements mode
49
+ */
50
+ formKey?: string;
43
51
  } & {
44
52
  modelValue?: {
45
53
  start: string | null;
@@ -84,6 +92,10 @@ declare const __VLS_export: import("vue").DefineComponent<{
84
92
  * Name for form registration
85
93
  */
86
94
  name?: string;
95
+ /**
96
+ * Form channel key for custom elements mode
97
+ */
98
+ formKey?: string;
87
99
  } & {
88
100
  modelValue?: {
89
101
  start: string | null;
@@ -97,9 +109,10 @@ declare const __VLS_export: import("vue").DefineComponent<{
97
109
  }>, {
98
110
  label: string;
99
111
  name: string;
100
- errors: string[];
101
112
  disabled: boolean;
113
+ errors: string[];
102
114
  instructions: string;
115
+ formKey: string;
103
116
  startLabel: string;
104
117
  endLabel: string;
105
118
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -74,9 +74,9 @@ declare const __VLS_export: import("vue").DefineComponent<{
74
74
  "onUpdate:modelValue"?: ((value: string | null | undefined) => any) | undefined;
75
75
  }>, {
76
76
  label: string;
77
- name: string;
78
- errors: string[];
79
77
  placeholder: string;
78
+ name: string;
80
79
  disabled: boolean;
80
+ errors: string[];
81
81
  instructions: string;
82
82
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -11,6 +11,8 @@
11
11
  * - Reactive error handling by providing a computed list of errors
12
12
  * - Optionally manage your own form state in a parent component by providing a
13
13
  * `form` injection
14
+ * - In web components mode, use the `form-key` prop to pair a form with
15
+ * matching inputs/buttons across custom element app boundaries
14
16
  *
15
17
  * ### Basic example
16
18
  *
@@ -36,11 +38,16 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
36
38
  * @demo
37
39
  */
38
40
  method?: string;
41
+ /**
42
+ * Form channel key for custom elements mode
43
+ * @demo
44
+ */
45
+ formKey?: string;
39
46
  } & {
40
47
  modelValue?: Record<string, any>;
41
48
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
42
- "update:modelValue": (value: Record<string, any>) => any;
43
49
  submit: (values: Record<string, any>) => any;
50
+ "update:modelValue": (value: Record<string, any>) => any;
44
51
  }, string, import("vue").PublicProps, Readonly<{
45
52
  /**
46
53
  * Action URL (optional, for native form submission)
@@ -52,12 +59,18 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
52
59
  * @demo
53
60
  */
54
61
  method?: string;
62
+ /**
63
+ * Form channel key for custom elements mode
64
+ * @demo
65
+ */
66
+ formKey?: string;
55
67
  } & {
56
68
  modelValue?: Record<string, any>;
57
69
  }> & Readonly<{
58
- "onUpdate:modelValue"?: ((value: Record<string, any>) => any) | undefined;
59
70
  onSubmit?: ((values: Record<string, any>) => any) | undefined;
71
+ "onUpdate:modelValue"?: ((value: Record<string, any>) => any) | undefined;
60
72
  }>, {
73
+ formKey: string;
61
74
  action: string;
62
75
  method: string;
63
76
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
@@ -25,6 +25,8 @@
25
25
  *
26
26
  * > [!NOTE]
27
27
  * > This button hides itself automatically according to the useSidebar media query.
28
+ * > In web components mode, use the `sidebar-key` prop to pair this menu with a
29
+ * > matching GSidebar instance.
28
30
  */
29
31
  declare const _default: typeof __VLS_export;
30
32
  export default _default;
@@ -34,6 +36,11 @@ declare const __VLS_export: import("vue").DefineComponent<{
34
36
  * @demo
35
37
  */
36
38
  label?: string;
39
+ /**
40
+ * Sidebar channel key for custom elements mode
41
+ * @demo
42
+ */
43
+ sidebarKey?: string;
37
44
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
38
45
  toggle: () => any;
39
46
  }, string, import("vue").PublicProps, Readonly<{
@@ -42,8 +49,14 @@ declare const __VLS_export: import("vue").DefineComponent<{
42
49
  * @demo
43
50
  */
44
51
  label?: string;
52
+ /**
53
+ * Sidebar channel key for custom elements mode
54
+ * @demo
55
+ */
56
+ sidebarKey?: string;
45
57
  }> & Readonly<{
46
58
  onToggle?: (() => any) | undefined;
47
59
  }>, {
48
60
  label: string;
61
+ sidebarKey: string;
49
62
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -26,12 +26,6 @@
26
26
  *
27
27
  * Adding a dimming overlay behind modals can be done by placing `GOverlay`
28
28
  * at the end of the page structure.
29
- *
30
- * > [!WARNING]
31
- * > There are some shenanigans in the modal and overlay implementation in order
32
- * > to support Nuxt without including it as a dependency. Specifically, the refs
33
- * > to store the state of the overlay stack is added to `window._g_overlay_stack_state`
34
- * > when `document` is defined. That makes it only load in the client.
35
29
  */
36
30
  declare const _default: typeof __VLS_export;
37
31
  export default _default;
@@ -97,8 +91,8 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
97
91
  onClose?: ((...args: any[]) => any) | undefined;
98
92
  }>, {
99
93
  size: "small" | "medium" | "large" | "full";
100
- hiddenLabel: boolean;
101
94
  describedby: string;
95
+ hiddenLabel: boolean;
102
96
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
103
97
  default?: (props: {}) => any;
104
98
  }>;
@@ -2,11 +2,14 @@
2
2
  * Popover that appears next to or over a trigger element, staying visible
3
3
  * in the viewport as much as possible.
4
4
  *
5
- * **Slot** `trigger` must have an interactive element for which
6
- * the only interaction is to open the popover. The trigger element is also used
7
- * for `aria-labelledby`. The trigger is passed a prop `toggle` which is a function
5
+ * **Slot** `trigger` is optional. When provided, it should contain an
6
+ * interactive element for opening the popover and it is used for
7
+ * `aria-labelledby`. The trigger is passed a prop `toggle` which is a function
8
8
  * that toggles the popover's open state.
9
9
  *
10
+ * Without a trigger slot, open the popover programmatically via `show()` or
11
+ * `toggle()` on the component instance / custom element.
12
+ *
10
13
  * **Slot** `default` is the content of the popover.
11
14
  *
12
15
  * Example:
@@ -30,25 +33,38 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
30
33
  * @demo
31
34
  */
32
35
  minimal?: boolean;
33
- } & {
36
+ /**
37
+ * v-model binding for the open state. Also works as a plain
38
+ * prop/attribute in custom-element mode where `defineModel`
39
+ * would revert local state.
40
+ */
34
41
  modelValue?: boolean;
35
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
42
+ }, {
43
+ show: () => void;
44
+ hide: () => void;
45
+ toggle: () => void;
46
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
47
+ "update:modelValue": (...args: any[]) => void;
36
48
  show: (...args: any[]) => void;
37
49
  hide: (...args: any[]) => void;
38
- "update:modelValue": (value: boolean) => void;
39
50
  }, string, import("vue").PublicProps, Readonly<{
40
51
  /**
41
52
  * Render without padding
42
53
  * @demo
43
54
  */
44
55
  minimal?: boolean;
45
- } & {
56
+ /**
57
+ * v-model binding for the open state. Also works as a plain
58
+ * prop/attribute in custom-element mode where `defineModel`
59
+ * would revert local state.
60
+ */
46
61
  modelValue?: boolean;
47
62
  }> & Readonly<{
48
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
63
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
49
64
  onShow?: ((...args: any[]) => any) | undefined;
50
65
  onHide?: ((...args: any[]) => any) | undefined;
51
66
  }>, {
67
+ modelValue: boolean;
52
68
  minimal: boolean;
53
69
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
54
70
  trigger?: (props: {
@@ -48,7 +48,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
48
48
  */
49
49
  size?: "tiny" | "small" | "medium" | "large";
50
50
  }> & Readonly<{}>, {
51
- size: "tiny" | "small" | "medium" | "large";
52
51
  label: string;
53
52
  value: number;
53
+ size: "tiny" | "small" | "medium" | "large";
54
54
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -102,8 +102,8 @@ declare const __VLS_export: <T extends {
102
102
  modelValue?: string | null;
103
103
  }) & {
104
104
  onSelect?: ((...args: any[]) => any) | undefined;
105
- "onUpdate:modelValue"?: ((value: string | null) => any) | undefined;
106
105
  onSubmit?: ((...args: any[]) => any) | undefined;
106
+ "onUpdate:modelValue"?: ((value: string | null) => any) | undefined;
107
107
  }> & (typeof globalThis extends {
108
108
  __VLS_PROPS_FALLBACK: infer P;
109
109
  } ? P : {});
@@ -2,6 +2,10 @@
2
2
  * By default, this component behaves like a normal select element with
3
3
  * custom styling.
4
4
  *
5
+ * In standard Vue usage, this registers with the nearest parent `GForm` via
6
+ * injection. In custom-elements mode, use matching `form-key` values to pair
7
+ * with a `GForm`.
8
+ *
5
9
  * The component can be marked `searchable` to enable search functionality.
6
10
  * This turns it into a text input that filters the options. Filtering is
7
11
  * done with a simple lower-case string search.
@@ -64,6 +68,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
64
68
  * Error messages array (supports multiple validation errors)
65
69
  */
66
70
  errors?: string[];
71
+ /**
72
+ * Form channel key for custom elements mode
73
+ */
74
+ formKey?: string;
67
75
  } & {
68
76
  modelValue?: string | number | null;
69
77
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -122,6 +130,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
122
130
  * Error messages array (supports multiple validation errors)
123
131
  */
124
132
  errors?: string[];
133
+ /**
134
+ * Form channel key for custom elements mode
135
+ */
136
+ formKey?: string;
125
137
  } & {
126
138
  modelValue?: string | number | null;
127
139
  }> & Readonly<{
@@ -129,8 +141,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
129
141
  onChange?: ((...args: any[]) => any) | undefined;
130
142
  }>, {
131
143
  name: string;
132
- errors: string[];
133
144
  disabled: boolean;
145
+ errors: string[];
146
+ formKey: string;
134
147
  searchable: boolean;
135
148
  compact: boolean;
136
149
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
@@ -1,6 +1,10 @@
1
1
  /**
2
2
  * This component is just a radio button group with special styling.
3
3
  *
4
+ * In standard Vue usage, this registers with the nearest parent `GForm` via
5
+ * injection. In custom-elements mode, use matching `form-key` values to pair
6
+ * with a `GForm`.
7
+ *
4
8
  * Use the `options` prop to provide a list of choices. Each option can
5
9
  * be a string or an object with `label` and `value` properties.
6
10
  *
@@ -40,6 +44,10 @@ declare const __VLS_export: import("vue").DefineComponent<{
40
44
  * Error messages array (supports multiple validation errors)
41
45
  */
42
46
  errors?: string[];
47
+ /**
48
+ * Form channel key for custom elements mode
49
+ */
50
+ formKey?: string;
43
51
  } & {
44
52
  modelValue?: string | number;
45
53
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -76,6 +84,10 @@ declare const __VLS_export: import("vue").DefineComponent<{
76
84
  * Error messages array (supports multiple validation errors)
77
85
  */
78
86
  errors?: string[];
87
+ /**
88
+ * Form channel key for custom elements mode
89
+ */
90
+ formKey?: string;
79
91
  } & {
80
92
  modelValue?: string | number;
81
93
  }> & Readonly<{
@@ -84,6 +96,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
84
96
  }>, {
85
97
  size: "small" | "medium" | "large";
86
98
  name: string;
87
- errors: string[];
88
99
  disabled: boolean;
100
+ errors: string[];
101
+ formKey: string;
89
102
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -11,6 +11,9 @@
11
11
  * The sidebar can be made collapsible by providing the `sidebar` injected
12
12
  * object from `useSidebar`. See the [Hamburger Menu Documentation](#use-sidebar)
13
13
  * for details.
14
+ *
15
+ * In web components mode, use the `sidebar-key` prop to pair this sidebar
16
+ * with a matching GHamburgerMenu instance.
14
17
  */
15
18
  declare const _default: typeof __VLS_export;
16
19
  export default _default;
@@ -45,6 +48,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
45
48
  * @demo
46
49
  */
47
50
  width?: string;
51
+ /**
52
+ * Sidebar channel key for custom elements mode
53
+ * @demo
54
+ */
55
+ sidebarKey?: string;
48
56
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
49
57
  /**
50
58
  * Custom background color
@@ -76,9 +84,15 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
76
84
  * @demo
77
85
  */
78
86
  width?: string;
87
+ /**
88
+ * Sidebar channel key for custom elements mode
89
+ * @demo
90
+ */
91
+ sidebarKey?: string;
79
92
  }> & Readonly<{}>, {
80
- theme: "light" | "dark";
81
93
  width: string;
94
+ theme: "light" | "dark";
95
+ sidebarKey: string;
82
96
  backgroundColor: string;
83
97
  backgroundImage: string;
84
98
  topOffset: string;
@@ -5,6 +5,10 @@
5
5
  * - Show a loading state during form submission
6
6
  * - Be disabled when specified
7
7
  *
8
+ * In standard Vue usage, this resolves the nearest parent `GForm` via
9
+ * injection. In custom-elements mode, use matching `form-key` values to pair
10
+ * with a `GForm`.
11
+ *
8
12
  * @example
9
13
  * <GForm v-model="formData" @submit="handleSubmit">
10
14
  * <GTextInput name="email" label="Email" />
@@ -29,6 +33,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
29
33
  * @demo
30
34
  */
31
35
  variant?: "primary" | "secondary" | "danger";
36
+ /**
37
+ * Form channel key for custom elements mode
38
+ * @demo
39
+ */
40
+ formKey?: string;
32
41
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
33
42
  /**
34
43
  * Disabled state
@@ -45,8 +54,14 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
45
54
  * @demo
46
55
  */
47
56
  variant?: "primary" | "secondary" | "danger";
57
+ /**
58
+ * Form channel key for custom elements mode
59
+ * @demo
60
+ */
61
+ formKey?: string;
48
62
  }> & Readonly<{}>, {
49
63
  disabled: boolean;
64
+ formKey: string;
50
65
  variant: "primary" | "secondary" | "danger";
51
66
  loadingText: string;
52
67
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
@@ -5,6 +5,10 @@
5
5
  * All non-prop attributes are passed through to the input element, including
6
6
  * `id`.
7
7
  *
8
+ * In standard Vue usage, this registers with the nearest parent `GForm` via
9
+ * injection. In custom-elements mode, use matching `form-key` values to pair
10
+ * with a `GForm`.
11
+ *
8
12
  * Errors are provided as an array of strings or computed values.
9
13
  * Multiple errors will all be displayed.
10
14
  */
@@ -54,6 +58,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
54
58
  * Name for form registration
55
59
  */
56
60
  name?: string;
61
+ /**
62
+ * Form channel key for custom elements mode
63
+ */
64
+ formKey?: string;
57
65
  } & {
58
66
  modelValue?: string | null;
59
67
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -106,6 +114,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
106
114
  * Name for form registration
107
115
  */
108
116
  name?: string;
117
+ /**
118
+ * Form channel key for custom elements mode
119
+ */
120
+ formKey?: string;
109
121
  } & {
110
122
  modelValue?: string | null;
111
123
  }> & Readonly<{
@@ -116,11 +128,12 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
116
128
  }) => any) | undefined;
117
129
  }>, {
118
130
  label: string;
119
- name: string;
120
- errors: string[];
121
131
  placeholder: string;
132
+ name: string;
122
133
  disabled: boolean;
134
+ errors: string[];
123
135
  instructions: string;
136
+ formKey: string;
124
137
  prefix: string;
125
138
  suffix: string;
126
139
  debounce: number;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Tooltip for concise contextual help text.
3
+ *
4
+ * The `trigger` slot is optional. Without a trigger slot, the tooltip anchors
5
+ * to the previous sibling element and can still be controlled via exposed
6
+ * methods.
7
+ */
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
10
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
11
+ /**
12
+ * Tooltip text
13
+ * @demo
14
+ */
15
+ text: string;
16
+ }, {
17
+ show: () => void;
18
+ hide: () => void;
19
+ toggle: () => void;
20
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
21
+ "tooltip-hide": (...args: any[]) => void;
22
+ }, string, import("vue").PublicProps, Readonly<{
23
+ /**
24
+ * Tooltip text
25
+ * @demo
26
+ */
27
+ text: string;
28
+ }> & Readonly<{
29
+ "onTooltip-hide"?: ((...args: any[]) => any) | undefined;
30
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
31
+ trigger?: (props: {}) => any;
32
+ }>;
33
+ type __VLS_WithSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -59,8 +59,8 @@ declare const __VLS_export: import("vue").DefineComponent<{
59
59
  name: string;
60
60
  }) => any) | undefined;
61
61
  }>, {
62
- termYears: string[];
63
- termNames: string[];
64
62
  yearLabel: string;
65
63
  periodLabel: string;
64
+ termYears: string[];
65
+ termNames: string[];
66
66
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,6 @@
1
+ export declare function nextTooltipId(prefix?: string): string;
2
+ export declare function resolveTooltipId(el: HTMLElement, prefix?: string): string;
3
+ export declare function createTooltipEl(text: string, id: string): HTMLDivElement;
4
+ export declare function appendTooltipEl(tooltip: HTMLElement): void;
5
+ export declare function showTooltip(anchor: HTMLElement, tooltip: HTMLElement): void;
6
+ export declare function hideTooltip(tooltip: HTMLElement): void;
@@ -0,0 +1,14 @@
1
+ type UseCustomElementAttrsOptions = {
2
+ omitInCustomElement?: string[];
3
+ };
4
+ export declare function isCustomElementMode(): boolean;
5
+ export declare function useCustomElementAttrs(options?: UseCustomElementAttrsOptions): {
6
+ attrs: {
7
+ [x: string]: unknown;
8
+ };
9
+ isCustomElement: boolean;
10
+ forwardedAttrs: import("vue").ComputedRef<{
11
+ [x: string]: unknown;
12
+ }>;
13
+ };
14
+ export {};
@@ -12,6 +12,10 @@ export interface UseFormFieldOptions {
12
12
  * Error messages from props (optional) - should be a reactive reference
13
13
  */
14
14
  errors?: Ref<string[]> | ComputedRef<string[]>;
15
+ /**
16
+ * Form channel key for custom elements mode
17
+ */
18
+ formKey?: string;
15
19
  }
16
20
  export interface UseFormFieldReturn {
17
21
  /**
@@ -1,6 +1,6 @@
1
1
  import { Ref } from "vue";
2
2
  export declare function useOverlayFocus(element: Ref<HTMLElement | null>, isTop: Ref<boolean>, clickOutsideDeactivates?: boolean): {
3
- activate: (opts?: import("focus-trap").ActivateOptions) => void;
3
+ activate: () => void;
4
4
  deactivate: (opts?: import("focus-trap").DeactivateOptions) => void;
5
5
  pause: import("@vueuse/shared").Fn;
6
6
  unpause: import("@vueuse/shared").Fn;