@quidgest/ui 0.14.16 → 0.14.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ui.scss CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quidgest UI v0.14.16
2
+ * Quidgest UI v0.14.17
3
3
  * (c) 2025 Quidgest - Consultores de Gestão, S.A.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1901,6 +1901,62 @@ $spinner-color: var(--q-theme-primary);
1901
1901
  transform: rotate(1turn);
1902
1902
  }
1903
1903
  }
1904
+ .q-text-area {
1905
+
1906
+ display: flex;
1907
+ flex-direction: column;
1908
+ &__input {
1909
+ width: 100%;
1910
+ line-height: inherit;
1911
+ outline: none;
1912
+ color: inherit;
1913
+ background-color: transparent;
1914
+ padding: 0;
1915
+ min-height: 2.5rem;
1916
+ resize: vertical;
1917
+ font-family: inherit;
1918
+ font-size: inherit;
1919
+ border: 0;
1920
+ &::placeholder {
1921
+ font-style: italic;
1922
+ color: var(--q-theme-neutral);
1923
+ }
1924
+ &:disabled {
1925
+ user-select: none;
1926
+ }
1927
+ &:hover {
1928
+ cursor: inherit;
1929
+ }
1930
+
1931
+ @mixin resize-attr($direction) {
1932
+ &[resize='#{$direction}'] {
1933
+ resize: $direction;
1934
+ }
1935
+ }
1936
+ @include resize-attr(none);
1937
+ @include resize-attr(horizontal);
1938
+ @include resize-attr(vertical);
1939
+ @include resize-attr(both);
1940
+ }
1941
+ .q-text-area__input {
1942
+ flex: 1;
1943
+ min-width: 0;
1944
+ }
1945
+ }
1946
+ .q-field--mini,
1947
+ .q-field--small,
1948
+ .q-field--medium,
1949
+ .q-field--large,
1950
+ .q-field--xlarge,
1951
+ .q-field--xxlarge,
1952
+ .q-field--block {
1953
+ > .q-field__control:has(
1954
+ .q-text-area__input[resize='both'],
1955
+ .q-text-area__input[resize='horizontal']
1956
+ ) {
1957
+ width: unset;
1958
+ }
1959
+ }
1904
1960
  .q-text-field__input {
1905
1961
  width: 100%;
1906
1962
  line-height: inherit;
@@ -0,0 +1,39 @@
1
+ import { QTextAreaProps } from './types';
2
+ type __VLS_Props = QTextAreaProps;
3
+ type __VLS_PublicProps = {
4
+ modelValue?: string;
5
+ } & __VLS_Props;
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ 'label.prepend'?(_: {}): any;
10
+ 'label.append'?(_: {}): any;
11
+ prepend?(_: {}): any;
12
+ append?(_: {}): any;
13
+ extras?(_: {}): any;
14
+ };
15
+ refs: {
16
+ textareaRef: HTMLTextAreaElement;
17
+ };
18
+ rootEl: any;
19
+ };
20
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
21
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ "update:modelValue": (value: string) => any;
23
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
24
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
25
+ }>, {
26
+ resize: "none" | "both" | "horizontal" | "vertical";
27
+ rows: number;
28
+ wrap: "soft" | "hard" | "off";
29
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
30
+ textareaRef: HTMLTextAreaElement;
31
+ }, any>;
32
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
33
+ export default _default;
34
+ type __VLS_WithTemplateSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
39
+ //# sourceMappingURL=QTextArea.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QTextArea.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QTextArea/QTextArea.vue"],"names":[],"mappings":"AAgDA;AA8GC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAO7C,KAAK,WAAW,GAAG,cAAc,CAAC;AAoDnC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WA0GT,OAAO,IAA6B;;iCAhBb,GAAG;gCACJ,GAAG;yBACV,GAAG;wBACJ,GAAG;wBACF,GAAG;;;;;;EAiB/B;AAgBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;OASnB,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,105 @@
1
+ import { defineComponent as b, mergeModels as h, useModel as z, computed as s, ref as g, createBlock as x, openBlock as w, unref as o, normalizeClass as q, createSlots as $, withCtx as a, withDirectives as k, createElementVNode as v, mergeProps as B, toHandlers as M, vModelText as V, renderSlot as r } from "vue";
2
+ import { QField as L } from "../QField/index.js";
3
+ import { useId as A } from "../../composables/uid.js";
4
+ import { useTextareaAutosize as C } from "../../vendors/@vueuse/core/index.js";
5
+ const H = ["id", "required", "placeholder", "readonly", "disabled", "maxlength", "rows", "cols", "resize", "wrap"], Q = /* @__PURE__ */ b({
6
+ inheritAttrs: !1,
7
+ __name: "QTextArea",
8
+ props: /* @__PURE__ */ h({
9
+ id: {},
10
+ class: {},
11
+ label: {},
12
+ for: {},
13
+ size: {},
14
+ readonly: { type: Boolean },
15
+ disabled: { type: Boolean },
16
+ required: { type: Boolean },
17
+ placeholder: {},
18
+ maxLength: {},
19
+ rows: { default: 3 },
20
+ cols: {},
21
+ resize: { default: "vertical" },
22
+ wrap: { default: "soft" },
23
+ autosize: { type: Boolean }
24
+ }, {
25
+ modelValue: {},
26
+ modelModifiers: {}
27
+ }),
28
+ emits: ["update:modelValue"],
29
+ setup(t) {
30
+ const e = t, d = z(t, "modelValue"), n = A(e.id), m = s(
31
+ () => e.readonly || e.disabled ? void 0 : e.placeholder
32
+ ), f = s(() => ({ input: e.autosize ? c : null })), i = g(), { triggerResize: c } = C({
33
+ element: s(() => e.autosize ? i.value : void 0),
34
+ styleProp: "minHeight"
35
+ }), p = s({
36
+ get: () => d.value,
37
+ set: (l) => {
38
+ d.value = e.maxLength ? l == null ? void 0 : l.slice(0, e.maxLength) : l;
39
+ }
40
+ });
41
+ return (l, u) => (w(), x(o(L), {
42
+ class: q(["q-text-area", e.class]),
43
+ for: o(n),
44
+ label: e.label,
45
+ size: e.size,
46
+ readonly: e.readonly,
47
+ disabled: e.disabled,
48
+ required: e.required
49
+ }, $({
50
+ "label.prepend": a(() => [
51
+ r(l.$slots, "label.prepend")
52
+ ]),
53
+ "label.append": a(() => [
54
+ r(l.$slots, "label.append")
55
+ ]),
56
+ default: a(() => [
57
+ k(v("textarea", B({
58
+ id: o(n),
59
+ ref_key: "textareaRef",
60
+ ref: i,
61
+ "onUpdate:modelValue": u[0] || (u[0] = (y) => p.value = y),
62
+ class: "q-text-area__input",
63
+ required: e.required,
64
+ placeholder: m.value,
65
+ readonly: e.readonly,
66
+ disabled: e.disabled,
67
+ maxlength: e.maxLength,
68
+ rows: e.rows,
69
+ cols: e.cols,
70
+ resize: e.resize,
71
+ wrap: e.wrap
72
+ }, l.$attrs, M(f.value, !0)), null, 16, H), [
73
+ [V, p.value]
74
+ ])
75
+ ]),
76
+ _: 2
77
+ /* DYNAMIC */
78
+ }, [
79
+ l.$slots.prepend ? {
80
+ name: "prepend",
81
+ fn: a(() => [
82
+ r(l.$slots, "prepend")
83
+ ]),
84
+ key: "0"
85
+ } : void 0,
86
+ l.$slots.append ? {
87
+ name: "append",
88
+ fn: a(() => [
89
+ r(l.$slots, "append")
90
+ ]),
91
+ key: "1"
92
+ } : void 0,
93
+ l.$slots.extras ? {
94
+ name: "extras",
95
+ fn: a(() => [
96
+ r(l.$slots, "extras")
97
+ ]),
98
+ key: "2"
99
+ } : void 0
100
+ ]), 1032, ["class", "for", "label", "size", "readonly", "disabled", "required"]));
101
+ }
102
+ });
103
+ export {
104
+ Q as default
105
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./QTextArea.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,98 @@
1
+ declare const QTextArea: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ modelValue?: string;
4
+ } & import('../../types/component').QBaseComponentProps & {
5
+ label?: string;
6
+ for?: string;
7
+ size?: import('..').QFieldSize;
8
+ readonly?: boolean;
9
+ disabled?: boolean;
10
+ required?: boolean;
11
+ } & {
12
+ placeholder?: string;
13
+ maxLength?: number;
14
+ rows?: number;
15
+ cols?: number;
16
+ resize?: "none" | "both" | "horizontal" | "vertical";
17
+ wrap?: "soft" | "hard" | "off";
18
+ autosize?: boolean;
19
+ }> & Readonly<{
20
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
21
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ "update:modelValue": (value: string) => any;
23
+ }, import('vue').PublicProps, {
24
+ resize: "none" | "both" | "horizontal" | "vertical";
25
+ rows: number;
26
+ wrap: "soft" | "hard" | "off";
27
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
28
+ textareaRef: HTMLTextAreaElement;
29
+ }, any, import('vue').ComponentProvideOptions, {
30
+ P: {};
31
+ B: {};
32
+ D: {};
33
+ C: {};
34
+ M: {};
35
+ Defaults: {};
36
+ }, Readonly<{
37
+ modelValue?: string;
38
+ } & import('../../types/component').QBaseComponentProps & {
39
+ label?: string;
40
+ for?: string;
41
+ size?: import('..').QFieldSize;
42
+ readonly?: boolean;
43
+ disabled?: boolean;
44
+ required?: boolean;
45
+ } & {
46
+ placeholder?: string;
47
+ maxLength?: number;
48
+ rows?: number;
49
+ cols?: number;
50
+ resize?: "none" | "both" | "horizontal" | "vertical";
51
+ wrap?: "soft" | "hard" | "off";
52
+ autosize?: boolean;
53
+ }> & Readonly<{
54
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
55
+ }>, {}, {}, {}, {}, {
56
+ resize: "none" | "both" | "horizontal" | "vertical";
57
+ rows: number;
58
+ wrap: "soft" | "hard" | "off";
59
+ }>;
60
+ __isFragment?: never;
61
+ __isTeleport?: never;
62
+ __isSuspense?: never;
63
+ } & import('vue').ComponentOptionsBase<Readonly<{
64
+ modelValue?: string;
65
+ } & import('../../types/component').QBaseComponentProps & {
66
+ label?: string;
67
+ for?: string;
68
+ size?: import('..').QFieldSize;
69
+ readonly?: boolean;
70
+ disabled?: boolean;
71
+ required?: boolean;
72
+ } & {
73
+ placeholder?: string;
74
+ maxLength?: number;
75
+ rows?: number;
76
+ cols?: number;
77
+ resize?: "none" | "both" | "horizontal" | "vertical";
78
+ wrap?: "soft" | "hard" | "off";
79
+ autosize?: boolean;
80
+ }> & Readonly<{
81
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
82
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
83
+ "update:modelValue": (value: string) => any;
84
+ }, string, {
85
+ resize: "none" | "both" | "horizontal" | "vertical";
86
+ rows: number;
87
+ wrap: "soft" | "hard" | "off";
88
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
89
+ $slots: {
90
+ 'label.prepend'?(_: {}): any;
91
+ 'label.append'?(_: {}): any;
92
+ prepend?(_: {}): any;
93
+ append?(_: {}): any;
94
+ extras?(_: {}): any;
95
+ };
96
+ });
97
+ export { QTextArea };
98
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/QTextArea/index.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8B,CAAA;AAG7C,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,6 @@
1
+ import o from "./QTextArea.vue.js";
2
+ import { setupPropsProxy as r } from "../../utils/setupPropsProxy.js";
3
+ const p = r(o);
4
+ export {
5
+ p as QTextArea
6
+ };
@@ -0,0 +1,33 @@
1
+ import { QFieldProps } from '../QField';
2
+ export type QTextAreaProps = QFieldProps & {
3
+ /**
4
+ * The placeholder text for the text area field.
5
+ */
6
+ placeholder?: string;
7
+ /**
8
+ * If set, defines the maximum string length
9
+ * that the user can enter into the text area field.
10
+ */
11
+ maxLength?: number;
12
+ /**
13
+ * The number of rows of the text area field.
14
+ */
15
+ rows?: number;
16
+ /**
17
+ * The number of columns of the text area field.
18
+ */
19
+ cols?: number;
20
+ /**
21
+ * Whether the width and/or height of the text area field can be resized.
22
+ */
23
+ resize?: 'none' | 'both' | 'horizontal' | 'vertical';
24
+ /**
25
+ * Whether the text of the text area field can be wrapped and how.
26
+ */
27
+ wrap?: 'soft' | 'hard' | 'off';
28
+ /**
29
+ * Whether the text area field will be auto-sized.
30
+ */
31
+ autosize?: boolean;
32
+ };
33
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/QTextArea/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IAC1C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,CAAA;IAEpD;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IAE9B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA"}
@@ -24,6 +24,7 @@ export * from './QPropertyList';
24
24
  export * from './QSelect';
25
25
  export * from './QSkeletonLoader';
26
26
  export * from './QSpinnerLoader';
27
+ export * from './QTextArea';
27
28
  export * from './QTextField';
28
29
  export * from './QThemeProvider';
29
30
  export * from './QTooltip';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA"}
@@ -8,8 +8,8 @@ import { QCard as c } from "./QCard/index.js";
8
8
  import { QCheckbox as u } from "./QCheckbox/index.js";
9
9
  import { QCollapsible as P } from "./QCollapsible/index.js";
10
10
  import { QColorPicker as g } from "./QColorPicker/index.js";
11
- import { QCombobox as B } from "./QCombobox/index.js";
12
- import { QDateTimePicker as T } from "./QDateTimePicker/index.js";
11
+ import { QCombobox as y } from "./QCombobox/index.js";
12
+ import { QDateTimePicker as C } from "./QDateTimePicker/index.js";
13
13
  import { QDialog as k } from "./QDialog/index.js";
14
14
  import { QDropdownMenu as F } from "./QDropdownMenu/index.js";
15
15
  import { QField as S } from "./QField/index.js";
@@ -24,9 +24,10 @@ import { QPropertyList as Z, QPropertyListGroup as _, QPropertyListPanel as $, Q
24
24
  import { QSelect as eo } from "./QSelect/index.js";
25
25
  import { QSkeletonLoader as po } from "./QSkeletonLoader/index.js";
26
26
  import { QSpinnerLoader as mo } from "./QSpinnerLoader/index.js";
27
- import { QTextField as fo } from "./QTextField/index.js";
28
- import { QThemeProvider as no } from "./QThemeProvider/index.js";
29
- import { QTooltip as ao } from "./QTooltip/index.js";
27
+ import { QTextArea as fo } from "./QTextArea/index.js";
28
+ import { QTextField as no } from "./QTextField/index.js";
29
+ import { QThemeProvider as ao } from "./QThemeProvider/index.js";
30
+ import { QTooltip as Lo } from "./QTooltip/index.js";
30
31
  export {
31
32
  e as QAccordion,
32
33
  p as QBadge,
@@ -38,8 +39,8 @@ export {
38
39
  u as QCheckbox,
39
40
  P as QCollapsible,
40
41
  g as QColorPicker,
41
- B as QCombobox,
42
- T as QDateTimePicker,
42
+ y as QCombobox,
43
+ C as QDateTimePicker,
43
44
  k as QDialog,
44
45
  F as QDropdownMenu,
45
46
  S as QField,
@@ -62,7 +63,8 @@ export {
62
63
  eo as QSelect,
63
64
  po as QSkeletonLoader,
64
65
  mo as QSpinnerLoader,
65
- fo as QTextField,
66
- no as QThemeProvider,
67
- ao as QTooltip
66
+ fo as QTextArea,
67
+ no as QTextField,
68
+ ao as QThemeProvider,
69
+ Lo as QTooltip
68
70
  };
package/esm/index.d.ts CHANGED
@@ -41,6 +41,7 @@ declare module '@vue/runtime-core' {
41
41
  QSelect: typeof import('@quidgest/ui/components')['QSelect']
42
42
  QSkeletonLoader: typeof import('@quidgest/ui/components')['QSkeletonLoader']
43
43
  QSpinnerLoader: typeof import('@quidgest/ui/components')['QSpinnerLoader']
44
+ QTextArea: typeof import('@quidgest/ui/components')['QTextArea']
44
45
  QTextField: typeof import('@quidgest/ui/components')['QTextField']
45
46
  QThemeProvider: typeof import('@quidgest/ui/components')['QThemeProvider']
46
47
  QTooltip: typeof import('@quidgest/ui/components')['QTooltip']
@@ -0,0 +1,85 @@
1
+ import { toRef as y, isClient as x, tryOnScopeDispose as _ } from "../shared/index.js";
2
+ import { noop as C } from "../shared/index.js";
3
+ import { shallowRef as m, watch as v, nextTick as b, toValue as h, computed as w, getCurrentInstance as R, onMounted as z } from "vue";
4
+ const p = x ? window : void 0;
5
+ function g(e) {
6
+ var t;
7
+ const r = h(e);
8
+ return (t = r == null ? void 0 : r.$el) != null ? t : r;
9
+ }
10
+ function A() {
11
+ const e = m(!1), t = R();
12
+ return t && z(() => {
13
+ e.value = !0;
14
+ }, t), e;
15
+ }
16
+ function O(e) {
17
+ const t = A();
18
+ return w(() => (t.value, !!e()));
19
+ }
20
+ function M(e, t, r = {}) {
21
+ const { window: d = p, ...u } = r;
22
+ let l;
23
+ const o = O(() => d && "ResizeObserver" in d), a = () => {
24
+ l && (l.disconnect(), l = void 0);
25
+ }, f = w(() => {
26
+ const i = h(e);
27
+ return Array.isArray(i) ? i.map((s) => g(s)) : [g(i)];
28
+ }), c = v(
29
+ f,
30
+ (i) => {
31
+ if (a(), o.value && d) {
32
+ l = new ResizeObserver(t);
33
+ for (const s of i)
34
+ s && l.observe(s, u);
35
+ }
36
+ },
37
+ { immediate: !0, flush: "post" }
38
+ ), n = () => {
39
+ a(), c();
40
+ };
41
+ return _(n), {
42
+ isSupported: o,
43
+ stop: n
44
+ };
45
+ }
46
+ function S(e = p, t) {
47
+ e && typeof e.requestAnimationFrame == "function" ? e.requestAnimationFrame(t) : t();
48
+ }
49
+ function F(e = {}) {
50
+ var t, r;
51
+ const { window: d = p } = e, u = y(e == null ? void 0 : e.element), l = y((t = e == null ? void 0 : e.input) != null ? t : ""), o = (r = e == null ? void 0 : e.styleProp) != null ? r : "height", a = m(1), f = m(0);
52
+ function c() {
53
+ var n;
54
+ if (!u.value)
55
+ return;
56
+ let i = "";
57
+ u.value.style[o] = "1px", a.value = (n = u.value) == null ? void 0 : n.scrollHeight;
58
+ const s = h(e == null ? void 0 : e.styleTarget);
59
+ s ? s.style[o] = `${a.value}px` : i = `${a.value}px`, u.value.style[o] = i;
60
+ }
61
+ return v([l, u], () => b(c), { immediate: !0 }), v(a, () => {
62
+ var n;
63
+ return (n = e == null ? void 0 : e.onResize) == null ? void 0 : n.call(e);
64
+ }), M(u, ([{ contentRect: n }]) => {
65
+ f.value !== n.width && S(d, () => {
66
+ f.value = n.width, c();
67
+ });
68
+ }), e != null && e.watch && v(e.watch, c, { immediate: !0, deep: !0 }), {
69
+ textarea: u,
70
+ input: l,
71
+ triggerResize: c
72
+ };
73
+ }
74
+ export {
75
+ p as defaultWindow,
76
+ x as isClient,
77
+ C as noop,
78
+ y as toRef,
79
+ _ as tryOnScopeDispose,
80
+ g as unrefElement,
81
+ A as useMounted,
82
+ M as useResizeObserver,
83
+ O as useSupported,
84
+ F as useTextareaAutosize
85
+ };
@@ -0,0 +1,20 @@
1
+ import { toRef as n, readonly as t, ref as f, customRef as r, getCurrentScope as i, onScopeDispose as c } from "vue";
2
+ function s(e) {
3
+ return i() ? (c(e), !0) : !1;
4
+ }
5
+ const l = typeof window < "u" && typeof document < "u";
6
+ typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
7
+ const p = () => {
8
+ };
9
+ function d(...e) {
10
+ if (e.length !== 1)
11
+ return n(...e);
12
+ const o = e[0];
13
+ return typeof o == "function" ? t(r(() => ({ get: o, set: p }))) : f(o);
14
+ }
15
+ export {
16
+ l as isClient,
17
+ p as noop,
18
+ d as toRef,
19
+ s as tryOnScopeDispose
20
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@quidgest/ui",
3
3
  "description": "Quidgest's UI framework",
4
- "version": "0.14.16",
4
+ "version": "0.14.17",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "author": "Quidgest",
@@ -70,6 +70,7 @@
70
70
  },
71
71
  "dependencies": {
72
72
  "@vuepic/vue-datepicker": "^11.0.1",
73
+ "@vueuse/core": "^13.0.0",
73
74
  "maska": "^3.1.0"
74
75
  },
75
76
  "scripts": {