@quidgest/ui 0.16.3 → 0.16.5

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 (121) hide show
  1. package/dist/manifest/components.json +7 -0
  2. package/dist/ui.css +810 -32
  3. package/dist/ui.esm.js +5731 -5219
  4. package/dist/ui.js +18 -18
  5. package/dist/ui.min.css +2 -1
  6. package/dist/ui.min.js +1042 -1006
  7. package/dist/ui.scss +463 -40
  8. package/esm/_virtual/_plugin-vue_export-helper.js +9 -0
  9. package/esm/components/QCombobox/QCombobox.d.ts +14 -0
  10. package/esm/components/QCombobox/QCombobox.d.ts.map +1 -1
  11. package/esm/components/QCombobox/QCombobox.vue.js +9 -8
  12. package/esm/components/QCombobox/index.d.ts +7 -0
  13. package/esm/components/QCombobox/index.d.ts.map +1 -1
  14. package/esm/components/QDialog/QDialog.d.ts +9 -1
  15. package/esm/components/QDialog/QDialog.d.ts.map +1 -1
  16. package/esm/components/QDialog/QDialog.vue.js +125 -97
  17. package/esm/components/QDialog/QDialogProvider.d.ts +3 -0
  18. package/esm/components/QDialog/QDialogProvider.d.ts.map +1 -0
  19. package/esm/components/QDialog/QDialogProvider.vue.js +26 -0
  20. package/esm/components/QDialog/QDialogProvider.vue2.js +4 -0
  21. package/esm/components/QDialog/index.d.ts +26 -2
  22. package/esm/components/QDialog/index.d.ts.map +1 -1
  23. package/esm/components/QDialog/index.js +6 -4
  24. package/esm/components/QDialog/types.d.ts +9 -0
  25. package/esm/components/QDialog/types.d.ts.map +1 -1
  26. package/esm/components/QDismissibleLayer/QDismissibleLayer.d.ts.map +1 -1
  27. package/esm/components/QDismissibleLayer/QDismissibleLayer.vue.js +26 -24
  28. package/esm/components/QDivider/QDivider.d.ts +21 -0
  29. package/esm/components/QDivider/QDivider.d.ts.map +1 -0
  30. package/esm/components/QDivider/QDivider.vue.js +57 -0
  31. package/esm/components/QDivider/QDivider.vue2.js +4 -0
  32. package/esm/components/QDivider/index.d.ts +25 -0
  33. package/esm/components/QDivider/index.d.ts.map +1 -0
  34. package/esm/components/QDivider/index.js +6 -0
  35. package/esm/components/QDivider/types.d.ts +11 -0
  36. package/esm/components/QDivider/types.d.ts.map +1 -0
  37. package/esm/components/QDropdownMenu/QDropdownMenuContent.d.ts +14 -0
  38. package/esm/components/QDropdownMenu/QDropdownMenuContent.d.ts.map +1 -1
  39. package/esm/components/QGrid/QCol.d.ts +19 -0
  40. package/esm/components/QGrid/QCol.d.ts.map +1 -0
  41. package/esm/components/QGrid/QCol.vue.js +46 -0
  42. package/esm/components/QGrid/QCol.vue2.js +4 -0
  43. package/esm/components/QGrid/QContainer.d.ts +19 -0
  44. package/esm/components/QGrid/QContainer.d.ts.map +1 -0
  45. package/esm/components/QGrid/QContainer.vue.js +24 -0
  46. package/esm/components/QGrid/QContainer.vue2.js +4 -0
  47. package/esm/components/QGrid/QRow.d.ts +23 -0
  48. package/esm/components/QGrid/QRow.d.ts.map +1 -0
  49. package/esm/components/QGrid/QRow.vue.js +36 -0
  50. package/esm/components/QGrid/QRow.vue2.js +4 -0
  51. package/esm/components/QGrid/QSpacer.d.ts +3 -0
  52. package/esm/components/QGrid/QSpacer.d.ts.map +1 -0
  53. package/esm/components/QGrid/QSpacer.vue.js +10 -0
  54. package/esm/components/QGrid/index.d.ts +66 -0
  55. package/esm/components/QGrid/index.d.ts.map +1 -0
  56. package/esm/components/QGrid/index.js +12 -0
  57. package/esm/components/QGrid/types.d.ts +47 -0
  58. package/esm/components/QGrid/types.d.ts.map +1 -0
  59. package/esm/components/QList/QList.d.ts +1 -0
  60. package/esm/components/QList/QList.d.ts.map +1 -1
  61. package/esm/components/QList/QList.vue.js +130 -120
  62. package/esm/components/QList/QListItem.d.ts.map +1 -1
  63. package/esm/components/QList/QListItem.vue.js +57 -43
  64. package/esm/components/QList/index.d.ts +7 -0
  65. package/esm/components/QList/index.d.ts.map +1 -1
  66. package/esm/components/QList/types.d.ts +8 -0
  67. package/esm/components/QList/types.d.ts.map +1 -1
  68. package/esm/components/QOverlay/QOverlay.d.ts.map +1 -1
  69. package/esm/components/QOverlay/QOverlay.vue.js +29 -27
  70. package/esm/components/QOverlay/index.d.ts +3 -0
  71. package/esm/components/QOverlay/index.d.ts.map +1 -1
  72. package/esm/components/QOverlay/types.d.ts +4 -0
  73. package/esm/components/QOverlay/types.d.ts.map +1 -1
  74. package/esm/components/QPasswordField/QPasswordFieldMeterOverlay.vue.js +8 -7
  75. package/esm/components/QSelect/QSelect.d.ts +14 -0
  76. package/esm/components/QSelect/QSelect.d.ts.map +1 -1
  77. package/esm/components/QSelect/QSelect.vue.js +1 -0
  78. package/esm/components/QSelect/index.d.ts +7 -0
  79. package/esm/components/QSelect/index.d.ts.map +1 -1
  80. package/esm/components/QSidebar/QSidebar.d.ts +39 -0
  81. package/esm/components/QSidebar/QSidebar.d.ts.map +1 -0
  82. package/esm/components/QSidebar/QSidebar.vue.js +155 -0
  83. package/esm/components/QSidebar/QSidebar.vue2.js +4 -0
  84. package/esm/components/QSidebar/QSidebarAnchor.d.ts +219 -0
  85. package/esm/components/QSidebar/QSidebarAnchor.d.ts.map +1 -0
  86. package/esm/components/QSidebar/QSidebarAnchor.vue.js +110 -0
  87. package/esm/components/QSidebar/QSidebarAnchor.vue2.js +4 -0
  88. package/esm/components/QSidebar/QSidebarPanel.d.ts +41 -0
  89. package/esm/components/QSidebar/QSidebarPanel.d.ts.map +1 -0
  90. package/esm/components/QSidebar/QSidebarPanel.vue.js +90 -0
  91. package/esm/components/QSidebar/QSidebarPanel.vue2.js +4 -0
  92. package/esm/components/QSidebar/index.d.ts +72 -0
  93. package/esm/components/QSidebar/index.d.ts.map +1 -0
  94. package/esm/components/QSidebar/index.js +6 -0
  95. package/esm/components/QSidebar/types.d.ts +63 -0
  96. package/esm/components/QSidebar/types.d.ts.map +1 -0
  97. package/esm/components/QToggleGroup/types.d.ts +1 -1
  98. package/esm/components/QTooltip/QTooltip.d.ts.map +1 -1
  99. package/esm/components/QTooltip/QTooltip.vue.js +47 -46
  100. package/esm/components/index.d.ts +3 -0
  101. package/esm/components/index.d.ts.map +1 -1
  102. package/esm/components/index.js +78 -68
  103. package/esm/composables/index.d.ts +2 -1
  104. package/esm/composables/index.d.ts.map +1 -1
  105. package/esm/composables/theme.js +3 -3
  106. package/esm/composables/useDialog/index.d.ts +69 -0
  107. package/esm/composables/useDialog/index.d.ts.map +1 -0
  108. package/esm/composables/useDialog/index.js +21 -0
  109. package/esm/composables/useDialog/types.d.ts +25 -0
  110. package/esm/composables/useDialog/types.d.ts.map +1 -0
  111. package/esm/composables/useDismissibleLayerStack/index.d.ts +14 -0
  112. package/esm/composables/useDismissibleLayerStack/index.d.ts.map +1 -0
  113. package/esm/composables/useDismissibleLayerStack/index.js +32 -0
  114. package/esm/framework.d.ts.map +1 -1
  115. package/esm/framework.js +35 -31
  116. package/esm/index.d.ts +7 -0
  117. package/esm/index.js +4 -2
  118. package/esm/symbols/dismissibleLayer.d.ts +4 -0
  119. package/esm/symbols/dismissibleLayer.d.ts.map +1 -0
  120. package/esm/symbols/dismissibleLayer.js +4 -0
  121. package/package.json +1 -1
@@ -0,0 +1,219 @@
1
+ import { QSidebarAnchorProps } from './types';
2
+ import { nextTick } from 'vue';
3
+ type __VLS_Props = QSidebarAnchorProps;
4
+ type __VLS_PublicProps = {
5
+ modelValue?: string;
6
+ } & __VLS_Props;
7
+ declare function __VLS_template(): {
8
+ attrs: Partial<{}>;
9
+ slots: Partial<Record<string, (_: {
10
+ item: import('./types').QSidebarAnchorItemProps;
11
+ }) => any>>;
12
+ refs: {
13
+ itemRefs: (({
14
+ $: import('vue').ComponentInternalInstance;
15
+ $data: {};
16
+ $props: {
17
+ readonly modelValue?: boolean | undefined;
18
+ readonly id?: string | undefined;
19
+ readonly class?: string | unknown[] | undefined;
20
+ readonly label?: string | undefined;
21
+ readonly variant?: import('../QButton/types').QButtonVariant | undefined;
22
+ readonly color?: string | undefined;
23
+ readonly disabled?: boolean | undefined;
24
+ readonly borderless?: boolean | undefined;
25
+ readonly elevated?: boolean | undefined;
26
+ readonly block?: boolean | undefined;
27
+ readonly loading?: boolean | undefined;
28
+ readonly size?: import('../QButton/types').QButtonSize | undefined;
29
+ readonly iconPos?: import('../QButton/types').QButtonIconPosition | undefined;
30
+ readonly pill?: boolean | undefined;
31
+ readonly "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
32
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
33
+ $attrs: {
34
+ [x: string]: unknown;
35
+ };
36
+ $refs: {
37
+ [x: string]: unknown;
38
+ };
39
+ $slots: Readonly<{
40
+ [name: string]: import('vue').Slot<any> | undefined;
41
+ }>;
42
+ $root: import('vue').ComponentPublicInstance | null;
43
+ $parent: import('vue').ComponentPublicInstance | null;
44
+ $host: Element | null;
45
+ $emit: (event: "update:modelValue", value: boolean) => void;
46
+ $el: HTMLButtonElement;
47
+ $options: import('vue').ComponentOptionsBase<Readonly<{
48
+ modelValue?: boolean;
49
+ } & import('../../types/component').QBaseComponentProps & {
50
+ label?: string;
51
+ variant?: import('../QButton/types').QButtonVariant;
52
+ color?: string;
53
+ disabled?: boolean;
54
+ borderless?: boolean;
55
+ elevated?: boolean;
56
+ block?: boolean;
57
+ loading?: boolean;
58
+ size?: import('../QButton/types').QButtonSize;
59
+ iconPos?: import('../QButton/types').QButtonIconPosition;
60
+ pill?: boolean;
61
+ }> & Readonly<{
62
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
63
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
64
+ "update:modelValue": (value: boolean) => any;
65
+ }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
66
+ beforeCreate?: (() => void) | (() => void)[];
67
+ created?: (() => void) | (() => void)[];
68
+ beforeMount?: (() => void) | (() => void)[];
69
+ mounted?: (() => void) | (() => void)[];
70
+ beforeUpdate?: (() => void) | (() => void)[];
71
+ updated?: (() => void) | (() => void)[];
72
+ activated?: (() => void) | (() => void)[];
73
+ deactivated?: (() => void) | (() => void)[];
74
+ beforeDestroy?: (() => void) | (() => void)[];
75
+ beforeUnmount?: (() => void) | (() => void)[];
76
+ destroyed?: (() => void) | (() => void)[];
77
+ unmounted?: (() => void) | (() => void)[];
78
+ renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
79
+ renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
80
+ errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
81
+ };
82
+ $forceUpdate: () => void;
83
+ $nextTick: typeof nextTick;
84
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
85
+ } & Readonly<{}> & Omit<Readonly<{
86
+ modelValue?: boolean;
87
+ } & import('../../types/component').QBaseComponentProps & {
88
+ label?: string;
89
+ variant?: import('../QButton/types').QButtonVariant;
90
+ color?: string;
91
+ disabled?: boolean;
92
+ borderless?: boolean;
93
+ elevated?: boolean;
94
+ block?: boolean;
95
+ loading?: boolean;
96
+ size?: import('../QButton/types').QButtonSize;
97
+ iconPos?: import('../QButton/types').QButtonIconPosition;
98
+ pill?: boolean;
99
+ }> & Readonly<{
100
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
101
+ }>, never> & import('vue').ShallowUnwrapRef<{}> & {} & import('vue').ComponentCustomProperties & {} & {
102
+ $slots: {
103
+ default?(_: {}): any;
104
+ };
105
+ }) | null)[];
106
+ };
107
+ rootEl: HTMLDivElement;
108
+ };
109
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
110
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
111
+ "update:modelValue": (value: string) => any;
112
+ } & {
113
+ "click:item": (id: string) => any;
114
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
115
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
116
+ "onClick:item"?: ((id: string) => any) | undefined;
117
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
118
+ itemRefs: (({
119
+ $: import('vue').ComponentInternalInstance;
120
+ $data: {};
121
+ $props: {
122
+ readonly modelValue?: boolean | undefined;
123
+ readonly id?: string | undefined;
124
+ readonly class?: string | unknown[] | undefined;
125
+ readonly label?: string | undefined;
126
+ readonly variant?: import('../QButton/types').QButtonVariant | undefined;
127
+ readonly color?: string | undefined;
128
+ readonly disabled?: boolean | undefined;
129
+ readonly borderless?: boolean | undefined;
130
+ readonly elevated?: boolean | undefined;
131
+ readonly block?: boolean | undefined;
132
+ readonly loading?: boolean | undefined;
133
+ readonly size?: import('../QButton/types').QButtonSize | undefined;
134
+ readonly iconPos?: import('../QButton/types').QButtonIconPosition | undefined;
135
+ readonly pill?: boolean | undefined;
136
+ readonly "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
137
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
138
+ $attrs: {
139
+ [x: string]: unknown;
140
+ };
141
+ $refs: {
142
+ [x: string]: unknown;
143
+ };
144
+ $slots: Readonly<{
145
+ [name: string]: import('vue').Slot<any> | undefined;
146
+ }>;
147
+ $root: import('vue').ComponentPublicInstance | null;
148
+ $parent: import('vue').ComponentPublicInstance | null;
149
+ $host: Element | null;
150
+ $emit: (event: "update:modelValue", value: boolean) => void;
151
+ $el: HTMLButtonElement;
152
+ $options: import('vue').ComponentOptionsBase<Readonly<{
153
+ modelValue?: boolean;
154
+ } & import('../../types/component').QBaseComponentProps & {
155
+ label?: string;
156
+ variant?: import('../QButton/types').QButtonVariant;
157
+ color?: string;
158
+ disabled?: boolean;
159
+ borderless?: boolean;
160
+ elevated?: boolean;
161
+ block?: boolean;
162
+ loading?: boolean;
163
+ size?: import('../QButton/types').QButtonSize;
164
+ iconPos?: import('../QButton/types').QButtonIconPosition;
165
+ pill?: boolean;
166
+ }> & Readonly<{
167
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
168
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
169
+ "update:modelValue": (value: boolean) => any;
170
+ }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
171
+ beforeCreate?: (() => void) | (() => void)[];
172
+ created?: (() => void) | (() => void)[];
173
+ beforeMount?: (() => void) | (() => void)[];
174
+ mounted?: (() => void) | (() => void)[];
175
+ beforeUpdate?: (() => void) | (() => void)[];
176
+ updated?: (() => void) | (() => void)[];
177
+ activated?: (() => void) | (() => void)[];
178
+ deactivated?: (() => void) | (() => void)[];
179
+ beforeDestroy?: (() => void) | (() => void)[];
180
+ beforeUnmount?: (() => void) | (() => void)[];
181
+ destroyed?: (() => void) | (() => void)[];
182
+ unmounted?: (() => void) | (() => void)[];
183
+ renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
184
+ renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
185
+ errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
186
+ };
187
+ $forceUpdate: () => void;
188
+ $nextTick: typeof nextTick;
189
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
190
+ } & Readonly<{}> & Omit<Readonly<{
191
+ modelValue?: boolean;
192
+ } & import('../../types/component').QBaseComponentProps & {
193
+ label?: string;
194
+ variant?: import('../QButton/types').QButtonVariant;
195
+ color?: string;
196
+ disabled?: boolean;
197
+ borderless?: boolean;
198
+ elevated?: boolean;
199
+ block?: boolean;
200
+ loading?: boolean;
201
+ size?: import('../QButton/types').QButtonSize;
202
+ iconPos?: import('../QButton/types').QButtonIconPosition;
203
+ pill?: boolean;
204
+ }> & Readonly<{
205
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
206
+ }>, never> & import('vue').ShallowUnwrapRef<{}> & {} & import('vue').ComponentCustomProperties & {} & {
207
+ $slots: {
208
+ default?(_: {}): any;
209
+ };
210
+ }) | null)[];
211
+ }, HTMLDivElement>;
212
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
213
+ export default _default;
214
+ type __VLS_WithTemplateSlots<T, S> = T & {
215
+ new (): {
216
+ $slots: S;
217
+ };
218
+ };
219
+ //# sourceMappingURL=QSidebarAnchor.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QSidebarAnchor.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QSidebar/QSidebarAnchor.vue"],"names":[],"mappings":"AA8BA;AA+HC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAGlD,OAAO,EAAE,QAAQ,EAAc,MAAM,KAAK,CAAA;AAE1C,KAAK,WAAW,GAAG,mBAAmB,CAAC;AAmFxC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WAoFT,OAAO,IAA6B;;;UAZoC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAyD09e,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EAxCxqf;AAeD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAwB8hf,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;kBAfvqf,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { defineComponent as w, mergeModels as c, useModel as C, ref as d, watch as L, nextTick as q, createElementBlock as u, openBlock as s, normalizeStyle as f, createElementVNode as m, Fragment as I, renderList as V, createBlock as p, unref as h, withCtx as B, renderSlot as S, createCommentVNode as $, mergeProps as E } from "vue";
2
+ import { QIcon as M } from "../QIcon/index.js";
3
+ import { QToggle as Q } from "../QToggle/index.js";
4
+ const T = { class: "q-sidebar__items" }, W = /* @__PURE__ */ w({
5
+ __name: "QSidebarAnchor",
6
+ props: /* @__PURE__ */ c({
7
+ anchorWidth: {},
8
+ showLabels: { type: Boolean },
9
+ panels: {}
10
+ }, {
11
+ modelValue: {},
12
+ modelModifiers: {}
13
+ }),
14
+ emits: /* @__PURE__ */ c(["click:item"], ["update:modelValue"]),
15
+ setup(r, { emit: v }) {
16
+ const i = r, _ = v, o = C(r, "modelValue"), a = d({
17
+ height: "0",
18
+ transform: "translateY(0)",
19
+ opacity: "0",
20
+ transition: "transform 0.3s ease, height 0.3s ease, opacity 0.2s ease"
21
+ }), l = d([]);
22
+ function g(e) {
23
+ o.value = o.value === e ? void 0 : e, _("click:item", e);
24
+ }
25
+ function b() {
26
+ if (!o.value) {
27
+ a.value = {
28
+ ...a.value,
29
+ opacity: "0",
30
+ height: "0"
31
+ };
32
+ return;
33
+ }
34
+ const e = i.panels.findIndex((x) => x.id === o.value);
35
+ if (e === -1 || !l.value[e])
36
+ return;
37
+ const n = l.value[e].$el || l.value[e];
38
+ if (!n) return;
39
+ const k = e === l.value.length - 1 ? n.offsetHeight : n.offsetHeight - 1, y = n.offsetTop;
40
+ a.value = {
41
+ ...a.value,
42
+ height: `${k}px`,
43
+ transform: `translateY(${y}px)`,
44
+ opacity: "1"
45
+ };
46
+ }
47
+ return L(o, () => q(b), { immediate: !0 }), (e, n) => (s(), u(
48
+ "div",
49
+ {
50
+ class: "q-sidebar-anchor",
51
+ style: f({ width: i.anchorWidth + "px" })
52
+ },
53
+ [
54
+ m("div", T, [
55
+ m(
56
+ "div",
57
+ {
58
+ class: "q-sidebar__indicator",
59
+ style: f(a.value)
60
+ },
61
+ null,
62
+ 4
63
+ /* STYLE */
64
+ ),
65
+ (s(!0), u(
66
+ I,
67
+ null,
68
+ V(e.panels, (t) => (s(), p(h(Q), {
69
+ key: t.id,
70
+ ref_for: !0,
71
+ ref_key: "itemRefs",
72
+ ref: l,
73
+ "data-testid": "q-sidebar-panel-button",
74
+ "model-value": o.value === t.id,
75
+ label: i.showLabels ? t.title : void 0,
76
+ title: i.showLabels ? void 0 : t.title,
77
+ "icon-pos": "top",
78
+ class: "q-sidebar__item",
79
+ onClick: () => g(t.id)
80
+ }, {
81
+ default: B(() => [
82
+ S(e.$slots, t.id, { item: t }, () => [
83
+ t.icon ? (s(), p(
84
+ h(M),
85
+ E({
86
+ key: 0,
87
+ ref_for: !0
88
+ }, t.icon),
89
+ null,
90
+ 16
91
+ /* FULL_PROPS */
92
+ )) : $("v-if", !0)
93
+ ])
94
+ ]),
95
+ _: 2
96
+ /* DYNAMIC */
97
+ }, 1032, ["model-value", "label", "title", "onClick"]))),
98
+ 128
99
+ /* KEYED_FRAGMENT */
100
+ ))
101
+ ])
102
+ ],
103
+ 4
104
+ /* STYLE */
105
+ ));
106
+ }
107
+ });
108
+ export {
109
+ W as default
110
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./QSidebarAnchor.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,41 @@
1
+ import { QSidebarPanelProps } from './types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ header?(_: {}): any;
6
+ 'header.prepend'?(_: {}): any;
7
+ 'header.append'?(_: {}): any;
8
+ content?(_: {}): any;
9
+ footer?(_: {}): any;
10
+ };
11
+ refs: {
12
+ panelRef: HTMLDivElement;
13
+ };
14
+ rootEl: HTMLDivElement;
15
+ };
16
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
17
+ declare const __VLS_component: import('vue').DefineComponent<QSidebarPanelProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
18
+ resize: (width: number) => any;
19
+ "resize:start": () => any;
20
+ "resize:end": (finalWidth: number) => any;
21
+ }, string, import('vue').PublicProps, Readonly<QSidebarPanelProps> & Readonly<{
22
+ onResize?: ((width: number) => any) | undefined;
23
+ "onResize:start"?: (() => any) | undefined;
24
+ "onResize:end"?: ((finalWidth: number) => any) | undefined;
25
+ }>, {
26
+ showGrip: boolean;
27
+ initialWidth: import('./types').QSidebarPanelSize;
28
+ minWidth: import('./types').QSidebarPanelSize;
29
+ maxWidth: import('./types').QSidebarPanelSize;
30
+ resizePosition: "left" | "right";
31
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
32
+ panelRef: HTMLDivElement;
33
+ }, HTMLDivElement>;
34
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
35
+ export default _default;
36
+ type __VLS_WithTemplateSlots<T, S> = T & {
37
+ new (): {
38
+ $slots: S;
39
+ };
40
+ };
41
+ //# sourceMappingURL=QSidebarPanel.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QSidebarPanel.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QSidebar/QSidebarPanel.vue"],"names":[],"mappings":"AAsCA;AAwIC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAuGlD,iBAAS,cAAc;WAsET,OAAO,IAA6B;;wBAftB,GAAG;kCACO,GAAG;iCACJ,GAAG;yBACX,GAAG;wBACJ,GAAG;;;;;;EAgB9B;AAWD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;kBAUnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { defineComponent as y, useTemplateRef as q, ref as k, onUnmounted as R, createElementBlock as s, openBlock as i, createElementVNode as h, createCommentVNode as o, renderSlot as n, toDisplayString as W, normalizeClass as $ } from "vue";
2
+ const g = { class: "q-sidebar-panel__header" }, E = {
3
+ key: 0,
4
+ class: "q-sidebar-panel__title"
5
+ }, S = { class: "q-sidebar-panel__content" }, w = {
6
+ key: 0,
7
+ class: "q-sidebar-panel__footer"
8
+ }, B = {
9
+ key: 0,
10
+ class: "q-sidebar-panel__grip"
11
+ }, P = /* @__PURE__ */ y({
12
+ __name: "QSidebarPanel",
13
+ props: {
14
+ title: {},
15
+ icon: {},
16
+ resizable: { type: Boolean },
17
+ showGrip: { type: Boolean, default: !0 },
18
+ initialWidth: { default: "medium" },
19
+ minWidth: { default: "small" },
20
+ maxWidth: { default: "large" },
21
+ resizePosition: { default: "right" }
22
+ },
23
+ emits: ["resize", "resize:start", "resize:end"],
24
+ setup(v, { emit: _ }) {
25
+ const t = v, r = _, a = q("panelRef"), l = k(!1);
26
+ let d = 0, u = 0;
27
+ function z(e) {
28
+ t.resizable && (l.value = !0, d = e.clientX, u = a.value.clientWidth, document.addEventListener("mousemove", c), document.addEventListener("mouseup", p), document.body.style.userSelect = "none", r("resize:start"));
29
+ }
30
+ function c(e) {
31
+ if (!t.resizable || !l.value) return;
32
+ const f = t.resizePosition === "right" ? e.clientX - d : d - e.clientX, b = u + f;
33
+ r("resize", b);
34
+ }
35
+ function p() {
36
+ t.resizable && (l.value = !1, r("resize:end", a.value.clientWidth), m());
37
+ }
38
+ function m() {
39
+ t.resizable && (document.removeEventListener("mousemove", c), document.removeEventListener("mouseup", p), document.body.style.userSelect = "");
40
+ }
41
+ return R(m), (e, f) => (i(), s(
42
+ "div",
43
+ {
44
+ ref_key: "panelRef",
45
+ ref: a,
46
+ class: "q-sidebar-panel"
47
+ },
48
+ [
49
+ h("div", g, [
50
+ n(e.$slots, "header", {}, () => [
51
+ n(e.$slots, "header.prepend"),
52
+ t.title ? (i(), s(
53
+ "h3",
54
+ E,
55
+ W(t.title),
56
+ 1
57
+ /* TEXT */
58
+ )) : o("v-if", !0),
59
+ n(e.$slots, "header.append")
60
+ ])
61
+ ]),
62
+ h("div", S, [
63
+ n(e.$slots, "content")
64
+ ]),
65
+ e.$slots.footer ? (i(), s("div", w, [
66
+ n(e.$slots, "footer")
67
+ ])) : o("v-if", !0),
68
+ e.resizable ? (i(), s(
69
+ "div",
70
+ {
71
+ key: 1,
72
+ class: $(["q-sidebar-panel__handle", `q-sidebar-panel__handle--${e.resizePosition}`]),
73
+ "data-testid": "q-sidebar-panel-handle",
74
+ onMousedown: z
75
+ },
76
+ [
77
+ e.showGrip ? (i(), s("div", B)) : o("v-if", !0)
78
+ ],
79
+ 34
80
+ /* CLASS, NEED_HYDRATION */
81
+ )) : o("v-if", !0)
82
+ ],
83
+ 512
84
+ /* NEED_PATCH */
85
+ ));
86
+ }
87
+ });
88
+ export {
89
+ P as default
90
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./QSidebarPanel.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,72 @@
1
+ declare const QSidebar: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ modelValue?: string;
4
+ } & import('./types').QSidebarAnchorProps & {
5
+ position?: "left" | "right";
6
+ }> & Readonly<{
7
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
8
+ onResize?: ((width: number) => any) | undefined;
9
+ "onClick:item"?: ((id: string) => any) | undefined;
10
+ "onResize:start"?: (() => any) | undefined;
11
+ "onResize:end"?: ((finalWidth: number) => any) | undefined;
12
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ "update:modelValue": (value: string) => any;
14
+ } & {
15
+ resize: (width: number) => any;
16
+ "click:item": (id: string) => any;
17
+ "resize:start": () => any;
18
+ "resize:end": (finalWidth: number) => any;
19
+ }, import('vue').PublicProps, {
20
+ position: "left" | "right";
21
+ anchorWidth: number;
22
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
23
+ P: {};
24
+ B: {};
25
+ D: {};
26
+ C: {};
27
+ M: {};
28
+ Defaults: {};
29
+ }, Readonly<{
30
+ modelValue?: string;
31
+ } & import('./types').QSidebarAnchorProps & {
32
+ position?: "left" | "right";
33
+ }> & Readonly<{
34
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
35
+ onResize?: ((width: number) => any) | undefined;
36
+ "onClick:item"?: ((id: string) => any) | undefined;
37
+ "onResize:start"?: (() => any) | undefined;
38
+ "onResize:end"?: ((finalWidth: number) => any) | undefined;
39
+ }>, {}, {}, {}, {}, {
40
+ position: "left" | "right";
41
+ anchorWidth: number;
42
+ }>;
43
+ __isFragment?: never;
44
+ __isTeleport?: never;
45
+ __isSuspense?: never;
46
+ } & import('vue').ComponentOptionsBase<Readonly<{
47
+ modelValue?: string;
48
+ } & import('./types').QSidebarAnchorProps & {
49
+ position?: "left" | "right";
50
+ }> & Readonly<{
51
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
52
+ onResize?: ((width: number) => any) | undefined;
53
+ "onClick:item"?: ((id: string) => any) | undefined;
54
+ "onResize:start"?: (() => any) | undefined;
55
+ "onResize:end"?: ((finalWidth: number) => any) | undefined;
56
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
57
+ "update:modelValue": (value: string) => any;
58
+ } & {
59
+ resize: (width: number) => any;
60
+ "click:item": (id: string) => any;
61
+ "resize:start": () => any;
62
+ "resize:end": (finalWidth: number) => any;
63
+ }, string, {
64
+ position: "left" | "right";
65
+ anchorWidth: number;
66
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
67
+ $slots: Partial<Record<`anchor:${string}`, (_: {
68
+ item: import('./types').QSidebarAnchorItemProps;
69
+ }) => any>> & Partial<Record<`header.prepend:${string}`, (_: {}) => any>> & Partial<Record<`header:${string}`, (_: {}) => any>> & Partial<Record<`header.append:${string}`, (_: {}) => any>> & Partial<Record<`content:${string}`, (_: {}) => any>> & Partial<Record<`footer:${string}`, (_: {}) => any>>;
70
+ });
71
+ export { QSidebar };
72
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/QSidebar/index.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6B,CAAA;AAG3C,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,6 @@
1
+ import o from "./QSidebar.vue.js";
2
+ import { setupPropsProxy as r } from "../../utils/setupPropsProxy.js";
3
+ const t = r(o);
4
+ export {
5
+ t as QSidebar
6
+ };
@@ -0,0 +1,63 @@
1
+ import { Icon } from '../QIcon';
2
+ /**
3
+ * Defines the base properties for a sidebar anchor item.
4
+ */
5
+ type QSidebarAnchorItemBaseProps = {
6
+ /** Unique identifier for the sidebar item. */
7
+ id: string;
8
+ /** Display title of the sidebar item. */
9
+ title: string;
10
+ /** Optional icon to be displayed alongside the title. */
11
+ icon?: Icon;
12
+ };
13
+ /**
14
+ * Predefined panel size options for the sidebar.
15
+ * These sizes help maintain a consistent and adjustable sidebar layout.
16
+ */
17
+ export type QSidebarPanelSize = 'small' | 'medium' | 'large';
18
+ /**
19
+ * Properties for a sidebar item, extending the base item properties,
20
+ * and adding options for resizability and panel dimensions.
21
+ */
22
+ export type QSidebarAnchorItemProps = QSidebarAnchorItemBaseProps & {
23
+ /** Whether the panel is resizable by the user. */
24
+ resizable?: boolean;
25
+ /** Whether to display the resize grip. Only applies if `resizable` is true. */
26
+ showGrip?: boolean;
27
+ /** Initial panel width using predefined size options. */
28
+ initialWidth?: QSidebarPanelSize;
29
+ /** Minimum allowed width for the panel (by predefined size). */
30
+ minWidth?: QSidebarPanelSize;
31
+ /** Maximum allowed width for the panel (by predefined size). */
32
+ maxWidth?: QSidebarPanelSize;
33
+ };
34
+ /**
35
+ * Extended panel properties used internally for rendering active panel views.
36
+ * Inherits from `QSidebarAnchorItemProps` with adjustments for resize position.
37
+ */
38
+ export type QSidebarPanelProps = Omit<QSidebarAnchorItemProps, 'id'> & {
39
+ /** Position of the resize grip relative to the panel. */
40
+ resizePosition?: 'left' | 'right';
41
+ };
42
+ /**
43
+ * Properties for configuring the anchor section of the sidebar.
44
+ * Includes the width of the anchor section and panel configurations.
45
+ */
46
+ export type QSidebarAnchorProps = {
47
+ /** Width of the anchor section (in pixels). */
48
+ anchorWidth?: number;
49
+ /** Whether to display labels alongside icons in anchor items. */
50
+ showLabels?: boolean;
51
+ /** List of panels that can be anchored in the sidebar. */
52
+ panels: QSidebarAnchorItemProps[];
53
+ };
54
+ /**
55
+ * Complete set of props for the `QSidebar` component, combining anchor section props
56
+ * with additional sidebar position configuration.
57
+ */
58
+ export type QSidebarProps = QSidebarAnchorProps & {
59
+ /** Position of the sidebar on the screen. Can be either 'left' or 'right'. */
60
+ position?: 'left' | 'right';
61
+ };
62
+ export {};
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/QSidebar/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAEpC;;GAEG;AACH,KAAK,2BAA2B,GAAG;IAClC,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAA;IACV,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,IAAI,CAAC,EAAE,IAAI,CAAA;CACX,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE5D;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,GAAG;IACnE,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yDAAyD;IACzD,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,GAAG;IACtE,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACjC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,0DAA0D;IAC1D,MAAM,EAAE,uBAAuB,EAAE,CAAA;CACjC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG;IACjD,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3B,CAAA"}
@@ -6,7 +6,7 @@ export type QToggleGroupProps = QButtonGroupProps & {
6
6
  */
7
7
  multiple?: boolean;
8
8
  /**
9
- * Indicates if options can be deselected.
9
+ * Indicates if there should be at least one option selected.
10
10
  */
11
11
  required?: boolean;
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"QTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QTooltip/QTooltip.vue"],"names":[],"mappings":"AAoCA;AA2HC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAO5C,KAAK,WAAW,GAAG,aAAa,CAAC;AA6ElC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WAqFT,OAAO,IAA6B;;;;;;YAXtB,GAAG;yBACF,GAAG;;;;EAe/B;AAcD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;6EAQnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"QTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QTooltip/QTooltip.vue"],"names":[],"mappings":"AAsCA;AAuHC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAO5C,KAAK,WAAW,GAAG,aAAa,CAAC;AAuElC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WAgGT,OAAO,IAA6B;;;;;;YAXtB,GAAG;yBACD,GAAG;;;;EAehC;AAgBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;6EAQnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}