@quidgest/ui 0.3.2 → 0.4.0

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 (57) hide show
  1. package/dist/ui.esm.js +1223 -786
  2. package/dist/ui.esm.js.map +1 -1
  3. package/dist/ui.js +4 -4
  4. package/dist/ui.js.map +1 -1
  5. package/dist/ui.min.js +256 -218
  6. package/dist/ui.min.js.map +1 -1
  7. package/lib/components/QButton/QButton.vue.d.ts +4 -4
  8. package/lib/components/QButton/QButton.vue.d.ts.map +1 -1
  9. package/lib/components/QIcon/QIcon.vue.d.ts +23 -19
  10. package/lib/components/QIcon/QIcon.vue.d.ts.map +1 -1
  11. package/lib/components/QIcon/QIconFont.vue.d.ts.map +1 -1
  12. package/lib/components/QIcon/QIconImg.vue.d.ts.map +1 -1
  13. package/lib/components/QIcon/index.d.ts +2 -0
  14. package/lib/components/QIcon/index.d.ts.map +1 -1
  15. package/lib/components/QInput/QInput.vue.d.ts +43 -0
  16. package/lib/components/QInput/QInput.vue.d.ts.map +1 -0
  17. package/lib/components/QInput/index.d.ts +3 -0
  18. package/lib/components/QInput/index.d.ts.map +1 -0
  19. package/lib/components/QList/QList.vue.d.ts +66 -0
  20. package/lib/components/QList/QList.vue.d.ts.map +1 -0
  21. package/lib/components/QList/QListItem.vue.d.ts +80 -0
  22. package/lib/components/QList/QListItem.vue.d.ts.map +1 -0
  23. package/lib/components/QList/QListItemGroup.vue.d.ts +54 -0
  24. package/lib/components/QList/QListItemGroup.vue.d.ts.map +1 -0
  25. package/lib/components/QList/index.d.ts +7 -0
  26. package/lib/components/QList/index.d.ts.map +1 -0
  27. package/lib/components/QOverlay/QOverlay.vue.d.ts +31 -13
  28. package/lib/components/QOverlay/QOverlay.vue.d.ts.map +1 -1
  29. package/lib/components/QPopover/QPopover.vue.d.ts +6 -6
  30. package/lib/components/QPopover/QPopover.vue.d.ts.map +1 -1
  31. package/lib/components/QSelect/QSelect.vue.d.ts +135 -0
  32. package/lib/components/QSelect/QSelect.vue.d.ts.map +1 -0
  33. package/lib/components/QSelect/index.d.ts +3 -0
  34. package/lib/components/QSelect/index.d.ts.map +1 -0
  35. package/lib/components/QTooltip/QTooltip.vue.d.ts +6 -6
  36. package/lib/components/QTooltip/QTooltip.vue.d.ts.map +1 -1
  37. package/lib/components/index.d.ts +3 -0
  38. package/lib/components/index.d.ts.map +1 -1
  39. package/lib/composables/overlay.d.ts +3 -2
  40. package/lib/composables/overlay.d.ts.map +1 -1
  41. package/lib/composables/uid.d.ts +2 -0
  42. package/lib/composables/uid.d.ts.map +1 -0
  43. package/lib/directives/click-outside/index.d.ts +7 -0
  44. package/lib/directives/click-outside/index.d.ts.map +1 -0
  45. package/lib/directives/index.d.ts +2 -0
  46. package/lib/directives/index.d.ts.map +1 -0
  47. package/lib/framework.d.ts +2 -2
  48. package/lib/framework.d.ts.map +1 -1
  49. package/lib/index.d.ts.map +1 -1
  50. package/lib/styles/ui.css +238 -10
  51. package/lib/styles/ui.min.css +1 -1
  52. package/lib/styles/ui.scss +270 -23
  53. package/lib/types/primitive.d.ts +2 -0
  54. package/lib/types/primitive.d.ts.map +1 -0
  55. package/package.json +2 -2
  56. package/lib/utils/getUid.d.ts +0 -5
  57. package/lib/utils/getUid.d.ts.map +0 -1
@@ -0,0 +1,135 @@
1
+ import { type ListItem } from '@/components/QList';
2
+ import type { Icon } from '@/components/QIcon/QIcon.vue';
3
+ import type { InputSize } from '@/components/QInput/QInput.vue';
4
+ import type { QListItemGroupProps } from '@/components/QList/QListItemGroup.vue';
5
+ import type { Primitive } from '@/types/primitive';
6
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
7
+ size: {
8
+ type: import("vue").PropType<InputSize>;
9
+ default: string;
10
+ };
11
+ disabled: {
12
+ type: import("vue").PropType<boolean>;
13
+ default: boolean;
14
+ };
15
+ loading: {
16
+ type: import("vue").PropType<boolean>;
17
+ default: boolean;
18
+ };
19
+ modelValue: {
20
+ type: import("vue").PropType<Primitive>;
21
+ default: undefined;
22
+ };
23
+ readonly: {
24
+ type: import("vue").PropType<boolean>;
25
+ };
26
+ icons: {
27
+ type: import("vue").PropType<Record<string, Icon>>;
28
+ default: () => Record<string, Icon>;
29
+ };
30
+ items: {
31
+ type: import("vue").PropType<ListItem[]>;
32
+ required: true;
33
+ };
34
+ groups: {
35
+ type: import("vue").PropType<QListItemGroupProps[]>;
36
+ default: () => never[];
37
+ };
38
+ itemValue: {
39
+ type: import("vue").PropType<string>;
40
+ default: string;
41
+ };
42
+ itemLabel: {
43
+ type: import("vue").PropType<string>;
44
+ default: string;
45
+ };
46
+ clearable: {
47
+ type: import("vue").PropType<boolean>;
48
+ default: boolean;
49
+ };
50
+ texts: {
51
+ type: import("vue").PropType<Record<string, string>>;
52
+ default: () => Record<string, string>;
53
+ };
54
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
55
+ "update:modelValue": (value: Primitive | undefined) => void;
56
+ "before-show": () => void;
57
+ "before-hide": () => void;
58
+ show: () => void;
59
+ hide: () => void;
60
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
61
+ size: {
62
+ type: import("vue").PropType<InputSize>;
63
+ default: string;
64
+ };
65
+ disabled: {
66
+ type: import("vue").PropType<boolean>;
67
+ default: boolean;
68
+ };
69
+ loading: {
70
+ type: import("vue").PropType<boolean>;
71
+ default: boolean;
72
+ };
73
+ modelValue: {
74
+ type: import("vue").PropType<Primitive>;
75
+ default: undefined;
76
+ };
77
+ readonly: {
78
+ type: import("vue").PropType<boolean>;
79
+ };
80
+ icons: {
81
+ type: import("vue").PropType<Record<string, Icon>>;
82
+ default: () => Record<string, Icon>;
83
+ };
84
+ items: {
85
+ type: import("vue").PropType<ListItem[]>;
86
+ required: true;
87
+ };
88
+ groups: {
89
+ type: import("vue").PropType<QListItemGroupProps[]>;
90
+ default: () => never[];
91
+ };
92
+ itemValue: {
93
+ type: import("vue").PropType<string>;
94
+ default: string;
95
+ };
96
+ itemLabel: {
97
+ type: import("vue").PropType<string>;
98
+ default: string;
99
+ };
100
+ clearable: {
101
+ type: import("vue").PropType<boolean>;
102
+ default: boolean;
103
+ };
104
+ texts: {
105
+ type: import("vue").PropType<Record<string, string>>;
106
+ default: () => Record<string, string>;
107
+ };
108
+ }>> & {
109
+ "onUpdate:modelValue"?: ((value: Primitive | undefined) => any) | undefined;
110
+ "onBefore-show"?: (() => any) | undefined;
111
+ "onBefore-hide"?: (() => any) | undefined;
112
+ onShow?: (() => any) | undefined;
113
+ onHide?: (() => any) | undefined;
114
+ }, {
115
+ size: InputSize;
116
+ disabled: boolean;
117
+ loading: boolean;
118
+ modelValue: Primitive;
119
+ icons: Record<string, Icon>;
120
+ groups: QListItemGroupProps[];
121
+ itemValue: string;
122
+ itemLabel: string;
123
+ clearable: boolean;
124
+ texts: Record<string, string>;
125
+ }, {}>, {
126
+ "body.prepend"?(_: {}): any;
127
+ "body.append"?(_: {}): any;
128
+ }>;
129
+ export default _default;
130
+ type __VLS_WithTemplateSlots<T, S> = T & {
131
+ new (): {
132
+ $slots: S;
133
+ };
134
+ };
135
+ //# sourceMappingURL=QSelect.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QSelect.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QSelect/QSelect.vue.ts"],"names":[],"mappings":"AAKC,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAKzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA0oBzC,SAAS;cAnCL,OAAO;aAKR,OAAO;gBApBJ,SAAS;;YAmCb,mBAAmB,EAAE;eAKlB,MAAM;eAKN,MAAM;eAxCN,OAAO;;;4BA3Ge,GAAG;2BACJ,GAAG;;AA9dvC,wBAooBI;AASJ,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import QSelect from './QSelect.vue';
2
+ export { QSelect };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/QSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAA;AAEnC,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -16,6 +16,9 @@ declare const _default: import("vue").DefineComponent<{
16
16
  disabled: {
17
17
  type: import("vue").PropType<boolean>;
18
18
  };
19
+ modelValue: {
20
+ type: import("vue").PropType<boolean>;
21
+ };
19
22
  appearance: {
20
23
  type: import("vue").PropType<Appearance>;
21
24
  default: string;
@@ -32,9 +35,6 @@ declare const _default: import("vue").DefineComponent<{
32
35
  type: import("vue").PropType<number>;
33
36
  default: number;
34
37
  };
35
- persistent: {
36
- type: import("vue").PropType<boolean>;
37
- };
38
38
  placement: {
39
39
  type: import("vue").PropType<Placement>;
40
40
  default: string;
@@ -59,6 +59,9 @@ declare const _default: import("vue").DefineComponent<{
59
59
  disabled: {
60
60
  type: import("vue").PropType<boolean>;
61
61
  };
62
+ modelValue: {
63
+ type: import("vue").PropType<boolean>;
64
+ };
62
65
  appearance: {
63
66
  type: import("vue").PropType<Appearance>;
64
67
  default: string;
@@ -75,9 +78,6 @@ declare const _default: import("vue").DefineComponent<{
75
78
  type: import("vue").PropType<number>;
76
79
  default: number;
77
80
  };
78
- persistent: {
79
- type: import("vue").PropType<boolean>;
80
- };
81
81
  placement: {
82
82
  type: import("vue").PropType<Placement>;
83
83
  default: string;
@@ -1 +1 @@
1
- {"version":3,"file":"QTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QTooltip/QTooltip.vue.ts"],"names":[],"mappings":"AAMC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAuQpC,OAAO;gBA1BD,UAAU;WAKf,OAAO;YAMN,MAAM;WAKP,MAAM;eAoBF,SAAS;aAUX,OAAO;;AA3DpB,wBAkEG"}
1
+ {"version":3,"file":"QTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QTooltip/QTooltip.vue.ts"],"names":[],"mappings":"AAMC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4QpC,OAAO;gBA1BD,UAAU;WAKf,OAAO;YAMN,MAAM;WAKP,MAAM;eAeF,SAAS;aAUX,OAAO;;AA3DpB,wBAkEG"}
@@ -2,9 +2,12 @@ export * from './QButton';
2
2
  export * from './QButtonGroup';
3
3
  export * from './QButtonToggle';
4
4
  export * from './QIcon';
5
+ export * from './QInput';
5
6
  export * from './QLineLoader';
7
+ export * from './QList';
6
8
  export * from './QOverlay';
7
9
  export * from './QPopover';
10
+ export * from './QSelect';
8
11
  export * from './QSpinnerLoader';
9
12
  export * from './QTooltip';
10
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA"}
@@ -1,13 +1,14 @@
1
1
  export type Appearance = 'regular' | 'inverted';
2
2
  export type Placement = 'top' | 'bottom' | 'left' | 'right';
3
- export type Trigger = 'hover' | 'click';
3
+ export type Trigger = 'hover' | 'click' | 'manual';
4
4
  export type Position = {
5
5
  x: number;
6
6
  y: number;
7
7
  placement: Placement;
8
+ width?: number;
8
9
  };
9
10
  /**
10
11
  * Reposition the overlay based on its size and the position of its anchor.
11
12
  */
12
- export declare function computePosition(anchor: Element, overlay: Element, tentativePlacement?: Placement): Position;
13
+ export declare function computePosition(anchor: Element, overlay: Element | null, tentativePlacement?: Placement, width?: 'auto' | 'anchor'): Position;
13
14
  //# sourceMappingURL=overlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../src/composables/overlay.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAC/C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAC3D,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAEvC,MAAM,MAAM,QAAQ,GAAG;IACtB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,SAAS,EAAE,SAAS,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,EAChB,kBAAkB,GAAE,SAAmB,GACrC,QAAQ,CAuCV"}
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../src/composables/overlay.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAC/C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAC3D,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;AAElD,MAAM,MAAM,QAAQ,GAAG;IACtB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,kBAAkB,GAAE,SAAmB,EACvC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GACvB,QAAQ,CA+CV"}
@@ -0,0 +1,2 @@
1
+ export declare function useUid(): string;
2
+ //# sourceMappingURL=uid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uid.d.ts","sourceRoot":"","sources":["../../src/composables/uid.ts"],"names":[],"mappings":"AAIA,wBAAgB,MAAM,WAErB"}
@@ -0,0 +1,7 @@
1
+ import { ObjectDirective } from 'vue';
2
+ interface HTMLElementWithClickOutsideEvent extends HTMLElement {
3
+ clickOutsideEvent: (event: Event) => void;
4
+ }
5
+ export declare const clickOutside: ObjectDirective<HTMLElementWithClickOutsideEvent>;
6
+ export {};
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,eAAe,EAAE,MAAM,KAAK,CAAA;AAEvD,UAAU,gCAAiC,SAAQ,WAAW;IAC7D,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACzC;AAED,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,gCAAgC,CAkB1E,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { clickOutside } from './click-outside';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/directives/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { Defaults } from './composables/defaults';
2
2
  import { AppThemes } from './composables/theme';
3
- import { Plugin } from 'vue';
3
+ import { Directive, Plugin } from 'vue';
4
4
  export type AppDefinition = {
5
5
  themes?: AppThemes;
6
6
  defaults?: Defaults;
7
7
  };
8
- export declare function createFramework(components: Record<string, any>, options?: AppDefinition): Plugin;
8
+ export declare function createFramework(components: Record<string, any>, directives: Record<string, Directive>, options?: AppDefinition): Plugin;
9
9
  //# sourceMappingURL=framework.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAA;AAG9D,OAAO,EAAO,MAAM,EAAE,MAAM,KAAK,CAAA;AAGjC,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB,CAAA;AAED,wBAAgB,eAAe,CAE9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,OAAO,CAAC,EAAE,aAAa,GACrB,MAAM,CAgBR"}
1
+ {"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAA;AAG9D,OAAO,EAAO,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAG5C,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB,CAAA;AAED,wBAAgB,eAAe,CAE9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACrC,OAAO,CAAC,EAAE,aAAa,GACrB,MAAM,CAqBR"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAmB,MAAM,aAAa,CAAA;AAE5D,QAAA,MAAM,gBAAgB,aAAc,aAAa,yBAAyC,CAAA;AAE1F,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,CAAA;AAE9C,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAmB,MAAM,aAAa,CAAA;AAE5D,QAAA,MAAM,gBAAgB,aAAc,aAAa,yBACA,CAAA;AAEjD,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,CAAA;AAE9C,cAAc,eAAe,CAAA"}
package/lib/styles/ui.css CHANGED
@@ -310,6 +310,35 @@ template {
310
310
  display: none;
311
311
  }
312
312
 
313
+ /* global settings */
314
+ *,
315
+ :after,
316
+ :before {
317
+ box-sizing: border-box;
318
+ border: 0 solid #dce3e8;
319
+ outline-offset: 1px;
320
+ }
321
+
322
+ body {
323
+ font-size: 0.9rem;
324
+ }
325
+
326
+ * {
327
+ scrollbar-color: #ccc #f1f1f1;
328
+ scrollbar-width: thin;
329
+ }
330
+ *::-webkit-scrollbar {
331
+ width: 7px;
332
+ }
333
+ *::-webkit-scrollbar-thumb {
334
+ background-color: #ccc;
335
+ border-radius: 0.25rem;
336
+ }
337
+ *::-webkit-scrollbar-track {
338
+ background-color: #f1f1f1;
339
+ border-radius: 0.25rem;
340
+ }
341
+
313
342
  .fade-enter-from,
314
343
  .fade-leave-to {
315
344
  opacity: 0;
@@ -322,19 +351,20 @@ template {
322
351
 
323
352
  .fade-enter-active,
324
353
  .fade-leave-active {
325
- transition: opacity 0.15s ease-in-out;
354
+ transition: opacity 0.2s;
326
355
  }
327
356
 
328
357
  /* Components */
329
358
  .q-btn {
330
- --outline-color: var(--q-theme-primary);
359
+ --box-shadow-tint: 0 0 0;
331
360
  position: relative;
332
361
  display: flex;
333
362
  flex-direction: row;
334
363
  align-items: center;
335
364
  padding: 0.4rem;
336
- border: thin solid;
365
+ border-width: 1px;
337
366
  background-color: transparent;
367
+ color: var(--q-theme-on-background);
338
368
  user-select: none;
339
369
  -webkit-user-select: none;
340
370
  -moz-user-select: none;
@@ -342,14 +372,13 @@ template {
342
372
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
343
373
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
344
374
  transition-duration: 0.15s;
345
- outline-offset: 1px;
346
375
  line-height: 15px;
347
376
  }
348
377
  .q-btn:hover:not(:disabled) {
349
378
  cursor: pointer;
350
379
  }
351
380
  .q-btn:focus {
352
- outline: 2px solid var(--outline-color);
381
+ outline: 2px solid rgb(var(--q-theme-primary-rgb)/0.25);
353
382
  z-index: 3;
354
383
  }
355
384
  .q-btn:focus:not(:focus-visible) {
@@ -393,6 +422,7 @@ template {
393
422
  visibility: hidden;
394
423
  }
395
424
  .q-btn--primary {
425
+ --box-shadow-tint: var(--q-theme-primary-rgb);
396
426
  background-color: var(--q-theme-primary);
397
427
  border-color: var(--q-theme-primary);
398
428
  color: var(--q-theme-on-primary);
@@ -402,6 +432,7 @@ template {
402
432
  border-color: var(--q-theme-primary-dark);
403
433
  }
404
434
  .q-btn--secondary {
435
+ --box-shadow-tint: var(--q-theme-primary-rgb);
405
436
  border-color: currentColor;
406
437
  color: var(--q-theme-primary);
407
438
  }
@@ -411,6 +442,7 @@ template {
411
442
  color: var(--q-theme-on-primary);
412
443
  }
413
444
  .q-btn--tertiary {
445
+ --box-shadow-tint: var(--q-theme-primary-rgb);
414
446
  background-color: transparent;
415
447
  border-color: transparent;
416
448
  color: var(--q-theme-primary);
@@ -420,6 +452,7 @@ template {
420
452
  }
421
453
  .q-btn--danger {
422
454
  --outline-color: var(--q-theme-danger-light);
455
+ --box-shadow-tint: var(--q-theme-danger-rgb);
423
456
  background-color: var(--q-theme-danger);
424
457
  border-color: var(--q-theme-danger);
425
458
  color: var(--q-theme-on-danger);
@@ -428,6 +461,9 @@ template {
428
461
  background-color: var(--q-theme-danger-dark);
429
462
  border-color: var(--q-theme-danger-dark);
430
463
  }
464
+ .q-btn--plain:hover:not(:disabled) {
465
+ background-color: rgb(var(--q-theme-on-background-rgb)/0.1);
466
+ }
431
467
  .q-btn--small {
432
468
  padding: 0.25rem;
433
469
  line-height: 14px;
@@ -444,7 +480,7 @@ template {
444
480
  border-color: transparent !important;
445
481
  }
446
482
  .q-btn--elevated {
447
- box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
483
+ box-shadow: 0px 2px 4px -1px rgb(var(--box-shadow-tint)/0.2), 0px 4px 5px 0px rgb(var(--box-shadow-tint)/0.14), 0px 1px 10px 0px rgb(var(--box-shadow-tint)/0.12);
448
484
  }
449
485
  .q-btn--block {
450
486
  display: block;
@@ -497,6 +533,58 @@ template {
497
533
  height: 1em;
498
534
  }
499
535
 
536
+ .q-input {
537
+ display: flex;
538
+ align-items: center;
539
+ height: 2.25rem;
540
+ width: 100%;
541
+ border-radius: 0.375rem;
542
+ border-width: 1px;
543
+ background-color: transparent;
544
+ padding: 0.26rem 0.25rem;
545
+ font-size: 0.9rem;
546
+ line-height: 1.5rem;
547
+ transition: color var(--transition-duration) var(--transition-timing-function);
548
+ }
549
+ .q-input:focus-within {
550
+ outline: 2px solid rgb(var(--q-theme-primary-rgb)/0.25);
551
+ }
552
+ .q-input__prepend, .q-input__append {
553
+ display: flex;
554
+ align-items: center;
555
+ }
556
+ .q-input__append {
557
+ margin-left: auto;
558
+ }
559
+ .q-input--readonly {
560
+ background-color: #eaebec;
561
+ }
562
+ .q-input--disabled {
563
+ cursor: not-allowed;
564
+ opacity: 0.5;
565
+ }
566
+ .q-input--mini {
567
+ width: 4.35rem;
568
+ }
569
+ .q-input--small {
570
+ width: 6.525rem;
571
+ }
572
+ .q-input--medium {
573
+ width: 10.875rem;
574
+ }
575
+ .q-input--large {
576
+ width: 15.225rem;
577
+ }
578
+ .q-input--x-large {
579
+ width: 19.575rem;
580
+ }
581
+ .q-input--xx-large {
582
+ width: 36.975rem;
583
+ }
584
+ .q-input--block {
585
+ width: 100%;
586
+ }
587
+
500
588
  .q-line-loader {
501
589
  width: 100%;
502
590
  height: 2px;
@@ -527,19 +615,95 @@ template {
527
615
  transform: translateX(0%);
528
616
  }
529
617
  }
618
+ .q-list {
619
+ display: flex;
620
+ flex-direction: column;
621
+ align-items: center;
622
+ position: relative;
623
+ overflow-x: hidden;
624
+ overflow-y: auto;
625
+ margin: 0;
626
+ padding: 0;
627
+ -webkit-overflow-scrolling: touch;
628
+ width: 100%;
629
+ border-radius: 0.25rem;
630
+ }
631
+ .q-list:focus-visible {
632
+ outline: 2px solid rgb(var(--q-theme-primary-rgb)/0.25);
633
+ }
634
+
635
+ .q-list-item-group {
636
+ display: flex;
637
+ flex-direction: column;
638
+ align-items: center;
639
+ gap: 1px;
640
+ list-style: none;
641
+ padding: 0;
642
+ margin: 0;
643
+ width: inherit;
644
+ }
645
+ .q-list-item-group__title {
646
+ color: rgb(var(--q-theme-on-background-rgb)/0.62);
647
+ padding: 5px 6px;
648
+ line-height: 15px;
649
+ width: inherit;
650
+ }
651
+ .q-list-item-group + .q-list-item-group {
652
+ padding-top: 0.25rem;
653
+ margin-top: 0.25rem;
654
+ border-top-width: 1px;
655
+ }
656
+
657
+ .q-list-item {
658
+ display: flex;
659
+ gap: 0.25rem;
660
+ align-items: center;
661
+ padding: 5px 6px;
662
+ list-style: none;
663
+ line-height: 15px;
664
+ word-wrap: break-word;
665
+ -webkit-touch-callout: none;
666
+ width: inherit;
667
+ cursor: pointer;
668
+ border-radius: 0.25rem;
669
+ outline: none;
670
+ }
671
+ .q-list-item--disabled {
672
+ cursor: not-allowed;
673
+ pointer-events: none;
674
+ opacity: 0.5;
675
+ }
676
+ .q-list-item:hover, .q-list-item:focus-visible, .q-list-item--highlighted {
677
+ background-color: var(--q-theme-primary-light);
678
+ }
679
+ .q-list-item--selected {
680
+ background-color: rgb(var(--q-theme-primary-rgb)/0.24);
681
+ }
682
+ .q-list-item--selected:hover, .q-list-item--selected:focus-visible, .q-list-item--selected--highlighted {
683
+ background-color: rgb(var(--q-theme-primary-rgb)/0.39);
684
+ }
685
+ .q-list-item em {
686
+ font-style: normal;
687
+ text-decoration: underline;
688
+ }
689
+ .q-list-item__check {
690
+ margin-left: auto;
691
+ }
692
+ .q-list-item + .q-list-item {
693
+ margin-top: 1px;
694
+ }
695
+
530
696
  .q-overlay {
531
697
  --q-overlay-bg: var(--q-theme-background);
532
698
  --q-overlay-color: var(--q-theme-on-background);
533
699
  --q-overlay-border-color: rgb(var(--q-theme-on-background-rgb) / 0.1);
534
700
  position: absolute;
701
+ z-index: 1070;
535
702
  }
536
703
  .q-overlay__content {
537
704
  display: block;
538
705
  position: relative;
539
- transform: translateX(-50%);
540
- width: -moz-max-content;
541
- width: max-content;
542
- z-index: 1070;
706
+ width: 100%;
543
707
  background-color: var(--q-overlay-bg);
544
708
  color: var(--q-overlay-color);
545
709
  background-clip: padding-box;
@@ -660,6 +824,70 @@ template {
660
824
  border-bottom-color: rgb(var(--q-theme-on-background-rgb)/0.04);
661
825
  }
662
826
 
827
+ .q-select {
828
+ /* Icon of the selected item */
829
+ }
830
+ .q-select:not(.q-select--readonly) {
831
+ background-color: transparent;
832
+ }
833
+ .q-select:not(.q-select--readonly):not(.q-select--disabled) {
834
+ cursor: pointer;
835
+ }
836
+ .q-select__placeholder {
837
+ font-style: italic;
838
+ color: rgb(var(--q-theme-on-background-rgb)/0.5);
839
+ }
840
+ .q-select--expanded .q-select__chevron {
841
+ transform: rotate(-180deg);
842
+ }
843
+ .q-select .q-input__prepend {
844
+ padding-left: 6px;
845
+ padding-right: 0.25rem;
846
+ }
847
+
848
+ .q-select__clear,
849
+ .q-select__chevron,
850
+ .q-select__search-icon {
851
+ opacity: 0.5;
852
+ }
853
+
854
+ .q-select__clear:hover,
855
+ .q-select__chevron:hover {
856
+ opacity: 1;
857
+ }
858
+
859
+ .q-select__chevron {
860
+ transition: all 0.2s;
861
+ }
862
+
863
+ .q-select__body {
864
+ display: flex;
865
+ flex-direction: column;
866
+ align-items: center;
867
+ gap: 0.25rem;
868
+ width: 100%;
869
+ padding: 0.25rem 0;
870
+ }
871
+ .q-select__body .q-list-item {
872
+ width: calc(100% - 0.5rem);
873
+ }
874
+
875
+ .q-select__search {
876
+ width: calc(100% - 0.5rem);
877
+ }
878
+ .q-select__search:focus-within {
879
+ outline: none;
880
+ }
881
+
882
+ .q-select__items {
883
+ max-height: 240px;
884
+ }
885
+
886
+ .q-select__loader,
887
+ .q-select__empty {
888
+ margin: 1rem 0;
889
+ }
890
+
663
891
  .q-spinner-loader {
664
892
  display: flex;
665
893
  position: relative;