@quaffui/quaff 0.1.0-prealpha11 → 0.1.0-prealpha14

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 (204) hide show
  1. package/dist/components/avatar/QAvatar.svelte +2 -2
  2. package/dist/components/avatar/QAvatar.svelte.d.ts +2 -2
  3. package/dist/components/avatar/docs.d.ts +1 -1
  4. package/dist/components/avatar/props.d.ts +3 -2
  5. package/dist/components/breadcrumbs/QBreadcrumbs.svelte +1 -1
  6. package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +1 -1
  7. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +5 -5
  8. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +1 -1
  9. package/dist/components/breadcrumbs/docs.d.ts +1 -1
  10. package/dist/components/breadcrumbs/props.d.ts +4 -3
  11. package/dist/components/button/QBtn.svelte +14 -10
  12. package/dist/components/button/QBtn.svelte.d.ts +2 -1
  13. package/dist/components/button/docs.d.ts +1 -1
  14. package/dist/components/button/docs.props.js +16 -0
  15. package/dist/components/button/props.d.ts +13 -2
  16. package/dist/components/card/QCard.svelte +2 -2
  17. package/dist/components/card/QCard.svelte.d.ts +1 -1
  18. package/dist/components/card/QCardActions.svelte +2 -2
  19. package/dist/components/card/QCardActions.svelte.d.ts +1 -1
  20. package/dist/components/card/QCardSection.svelte +1 -1
  21. package/dist/components/card/QCardSection.svelte.d.ts +1 -1
  22. package/dist/components/card/docs.d.ts +1 -1
  23. package/dist/components/card/docs.props.js +1 -1
  24. package/dist/components/card/props.d.ts +6 -5
  25. package/dist/components/checkbox/QCheckbox.svelte +1 -1
  26. package/dist/components/checkbox/QCheckbox.svelte.d.ts +1 -1
  27. package/dist/components/checkbox/docs.d.ts +1 -1
  28. package/dist/components/checkbox/props.d.ts +3 -2
  29. package/dist/components/chip/QChip.svelte +26 -10
  30. package/dist/components/chip/QChip.svelte.d.ts +3 -2
  31. package/dist/components/chip/docs.d.ts +1 -1
  32. package/dist/components/chip/docs.props.js +8 -0
  33. package/dist/components/chip/index.scss +18 -1
  34. package/dist/components/chip/props.d.ts +8 -2
  35. package/dist/components/codeBlock/QCodeBlock.svelte +24 -22
  36. package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +0 -1
  37. package/dist/components/codeBlock/props.d.ts +2 -1
  38. package/dist/components/dialog/QDialog.svelte +3 -3
  39. package/dist/components/dialog/QDialog.svelte.d.ts +1 -1
  40. package/dist/components/dialog/docs.d.ts +1 -1
  41. package/dist/components/dialog/docs.props.js +16 -0
  42. package/dist/components/dialog/props.d.ts +3 -2
  43. package/dist/components/drawer/QDrawer.svelte +3 -3
  44. package/dist/components/drawer/QDrawer.svelte.d.ts +2 -2
  45. package/dist/components/drawer/docs.d.ts +1 -1
  46. package/dist/components/drawer/docs.props.js +1 -1
  47. package/dist/components/drawer/props.d.ts +3 -2
  48. package/dist/components/footer/QFooter.svelte +3 -3
  49. package/dist/components/footer/QFooter.svelte.d.ts +2 -2
  50. package/dist/components/footer/docs.d.ts +1 -1
  51. package/dist/components/footer/docs.props.js +4 -4
  52. package/dist/components/footer/props.d.ts +3 -2
  53. package/dist/components/header/QHeader.svelte +2 -2
  54. package/dist/components/header/QHeader.svelte.d.ts +2 -2
  55. package/dist/components/header/docs.props.d.ts +24 -0
  56. package/dist/components/header/docs.props.js +70 -0
  57. package/dist/components/header/props.d.ts +2 -2
  58. package/dist/components/icon/QIcon.svelte +3 -5
  59. package/dist/components/icon/QIcon.svelte.d.ts +3 -2
  60. package/dist/components/icon/docs.d.ts +1 -1
  61. package/dist/components/icon/docs.props.js +4 -4
  62. package/dist/components/icon/props.d.ts +3 -2
  63. package/dist/components/index.d.ts +2 -1
  64. package/dist/components/index.js +2 -1
  65. package/dist/components/input/QInput.svelte +62 -73
  66. package/dist/components/input/QInput.svelte.d.ts +4 -3
  67. package/dist/components/input/docs.d.ts +1 -1
  68. package/dist/components/input/docs.js +1 -7
  69. package/dist/components/input/docs.props.js +5 -13
  70. package/dist/components/input/index.scss +1 -3
  71. package/dist/components/input/props.d.ts +3 -4
  72. package/dist/components/input/props.js +0 -1
  73. package/dist/components/layout/QLayout.svelte +7 -7
  74. package/dist/components/layout/QLayout.svelte.d.ts +5 -4
  75. package/dist/components/layout/docs.d.ts +1 -1
  76. package/dist/components/layout/docs.props.js +7 -7
  77. package/dist/components/layout/index.scss +10 -10
  78. package/dist/components/layout/props.d.ts +3 -2
  79. package/dist/components/list/QItem.svelte +26 -23
  80. package/dist/components/list/QItem.svelte.d.ts +4 -7
  81. package/dist/components/list/QItemSection.svelte +26 -22
  82. package/dist/components/list/QItemSection.svelte.d.ts +1 -1
  83. package/dist/components/list/QList.svelte +9 -10
  84. package/dist/components/list/QList.svelte.d.ts +1 -1
  85. package/dist/components/list/docs.d.ts +1 -1
  86. package/dist/components/list/docs.props.js +43 -27
  87. package/dist/components/list/index.scss +28 -5
  88. package/dist/components/list/props.d.ts +9 -6
  89. package/dist/components/list/props.js +2 -2
  90. package/dist/components/private/QApi.svelte +2 -2
  91. package/dist/components/private/QApi.svelte.d.ts +1 -1
  92. package/dist/components/private/QDocs.svelte +2 -2
  93. package/dist/components/private/QDocs.svelte.d.ts +1 -1
  94. package/dist/components/private/QDocsSection.svelte +1 -2
  95. package/dist/components/progress/QCircularProgress.svelte +10 -5
  96. package/dist/components/progress/QCircularProgress.svelte.d.ts +2 -1
  97. package/dist/components/progress/QLinearProgress.svelte +1 -1
  98. package/dist/components/progress/QLinearProgress.svelte.d.ts +2 -2
  99. package/dist/components/progress/docs.d.ts +1 -1
  100. package/dist/components/progress/docs.props.js +15 -15
  101. package/dist/components/progress/props.d.ts +4 -3
  102. package/dist/components/radio/QRadio.svelte +1 -1
  103. package/dist/components/radio/QRadio.svelte.d.ts +1 -1
  104. package/dist/components/radio/docs.d.ts +1 -1
  105. package/dist/components/radio/docs.props.js +3 -3
  106. package/dist/components/radio/props.d.ts +3 -2
  107. package/dist/components/radio/props.js +1 -1
  108. package/dist/components/railbar/QRailbar.svelte +3 -3
  109. package/dist/components/railbar/QRailbar.svelte.d.ts +2 -2
  110. package/dist/components/railbar/docs.d.ts +1 -1
  111. package/dist/components/railbar/docs.props.js +7 -7
  112. package/dist/components/railbar/props.d.ts +3 -2
  113. package/dist/components/select/QSelect.svelte +90 -94
  114. package/dist/components/select/QSelect.svelte.d.ts +3 -2
  115. package/dist/components/select/docs.d.ts +1 -1
  116. package/dist/components/select/docs.js +1 -7
  117. package/dist/components/select/docs.props.js +4 -12
  118. package/dist/components/select/index.scss +17 -4
  119. package/dist/components/select/props.d.ts +7 -5
  120. package/dist/components/select/props.js +0 -1
  121. package/dist/components/separator/QSeparator.svelte +50 -55
  122. package/dist/components/separator/QSeparator.svelte.d.ts +2 -2
  123. package/dist/components/separator/docs.d.ts +1 -1
  124. package/dist/components/separator/docs.props.js +13 -13
  125. package/dist/components/separator/index.scss +52 -0
  126. package/dist/components/separator/props.d.ts +5 -4
  127. package/dist/components/table/QTable.svelte +3 -5
  128. package/dist/components/table/QTable.svelte.d.ts +3 -3
  129. package/dist/components/table/docs.d.ts +1 -1
  130. package/dist/components/table/docs.props.js +1 -1
  131. package/dist/components/table/props.d.ts +3 -2
  132. package/dist/components/tabs/QTab.svelte +50 -43
  133. package/dist/components/tabs/QTab.svelte.d.ts +2 -2
  134. package/dist/components/tabs/QTabs.svelte +61 -42
  135. package/dist/components/tabs/QTabs.svelte.d.ts +12 -2
  136. package/dist/components/tabs/docs.d.ts +1 -1
  137. package/dist/components/tabs/docs.props.js +2 -2
  138. package/dist/components/tabs/index.scss +33 -23
  139. package/dist/components/tabs/props.d.ts +5 -6
  140. package/dist/components/tabs/props.js +1 -13
  141. package/dist/components/toggle/QToggle.svelte +10 -3
  142. package/dist/components/toggle/QToggle.svelte.d.ts +1 -1
  143. package/dist/components/toggle/docs.d.ts +1 -1
  144. package/dist/components/toggle/props.d.ts +1 -1
  145. package/dist/components/toggle/props.js +1 -1
  146. package/dist/components/toolbar/QToolbar.svelte +2 -2
  147. package/dist/components/toolbar/QToolbar.svelte.d.ts +2 -2
  148. package/dist/components/toolbar/QToolbarTitle.svelte +1 -1
  149. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +2 -2
  150. package/dist/components/toolbar/docs.d.ts +1 -1
  151. package/dist/components/toolbar/docs.props.js +24 -8
  152. package/dist/components/toolbar/props.d.ts +4 -3
  153. package/dist/components/tooltip/QTooltip.svelte +1 -1
  154. package/dist/components/tooltip/QTooltip.svelte.d.ts +1 -1
  155. package/dist/components/tooltip/docs.d.ts +1 -1
  156. package/dist/components/tooltip/docs.props.js +1 -1
  157. package/dist/components/tooltip/props.d.ts +3 -2
  158. package/dist/components/tooltip/props.js +1 -1
  159. package/dist/composables/index.d.ts +3 -0
  160. package/dist/composables/index.js +3 -1
  161. package/dist/composables/use-align.d.ts +1 -1
  162. package/dist/composables/use-align.js +1 -1
  163. package/dist/composables/use-router-link.d.ts +3 -3
  164. package/dist/composables/use-router-link.js +4 -4
  165. package/dist/composables/use-size.d.ts +1 -1
  166. package/dist/composables/use-size.js +2 -2
  167. package/dist/css/index.css +1 -1
  168. package/dist/css/index.scss +1 -0
  169. package/dist/css/mixins/field-mixins.scss +52 -0
  170. package/dist/css/mixins.scss +3 -4
  171. package/dist/css/ripple.scss +1 -1
  172. package/dist/css/shared/q-field.scss +305 -0
  173. package/dist/css/theme/colors.module.scss +261 -109
  174. package/dist/css/theme/palette.scss +8 -2
  175. package/dist/css/theme/theme.dark.scss +3 -1
  176. package/dist/css/theme/theme.light.scss +3 -1
  177. package/dist/helpers/index.d.ts +1 -1
  178. package/dist/helpers/index.js +1 -1
  179. package/dist/helpers/ripple.d.ts +1 -0
  180. package/dist/helpers/ripple.js +1 -1
  181. package/dist/helpers/version.d.ts +1 -1
  182. package/dist/helpers/version.js +1 -1
  183. package/dist/stores/QTheme.d.ts +8 -7
  184. package/dist/stores/QTheme.js +3 -3
  185. package/dist/stores/Quaff.js +19 -14
  186. package/dist/stores/index.d.ts +2 -0
  187. package/dist/stores/index.js +2 -0
  188. package/dist/utils/clipboard.d.ts +1 -1
  189. package/dist/utils/clipboard.js +1 -2
  190. package/dist/utils/dom.d.ts +1 -0
  191. package/dist/utils/dom.js +4 -0
  192. package/dist/utils/index.d.ts +8 -0
  193. package/dist/utils/index.js +8 -1
  194. package/dist/utils/props.d.ts +2 -2
  195. package/dist/utils/types.d.ts +3 -3
  196. package/dist/utils/types.json +1 -1
  197. package/package.json +22 -23
  198. package/dist/composables/use-index.d.ts +0 -2
  199. package/dist/composables/use-index.js +0 -17
  200. package/dist/css/mixins/field.scss +0 -432
  201. package/dist/helpers/activationHandler.d.ts +0 -9
  202. package/dist/helpers/activationHandler.js +0 -23
  203. package/dist/utils/fields.d.ts +0 -1
  204. package/dist/utils/fields.js +0 -14
@@ -55,6 +55,14 @@ export const QBtnDocsProps = [
55
55
  description: "Use rectangle design for the button, removing the large border-radius.",
56
56
  default: "false",
57
57
  },
58
+ {
59
+ name: "noRipple",
60
+ type: "boolean",
61
+ optional: true,
62
+ clickableType: false,
63
+ description: "Disable the ripple effect for the button.",
64
+ default: "false",
65
+ },
58
66
  {
59
67
  name: "round",
60
68
  type: "boolean",
@@ -87,6 +95,14 @@ export const QBtnDocsProps = [
87
95
  description: "Size of the button.",
88
96
  default: "md",
89
97
  },
98
+ {
99
+ name: "target",
100
+ type: 'HTMLAnchorAttributes["target"]',
101
+ optional: true,
102
+ clickableType: true,
103
+ description: 'For "a" (anchor) tag only, apply the target attribute.',
104
+ default: "undefined",
105
+ },
90
106
  ];
91
107
  export const QDialogDocsProps = [
92
108
  {
@@ -1,7 +1,8 @@
1
- import type { NativeProps } from "../../utils/types";
1
+ import type { NativeProps } from "../../utils";
2
+ import type { HTMLAttributes } from "svelte/elements";
2
3
  import type { QBtnProps } from "../button/props";
3
4
  export type QDialogPositionOptions = "default" | "top" | "right" | "bottom" | "left";
4
- export interface QDialogProps extends NativeProps {
5
+ export interface QDialogProps extends NativeProps, HTMLAttributes<HTMLDialogElement> {
5
6
  /**
6
7
  * The value indicating whether the dialog is visible or hidden.
7
8
  * @default true
@@ -1,8 +1,8 @@
1
1
  <script>import { navigating } from "$app/stores";
2
- import { createClasses, createStyles } from "../../utils/props";
3
- import { getContext } from "svelte";
2
+ import { useSize } from "../../composables";
4
3
  import { clickOutside } from "../../helpers";
5
- import { useSize } from "../../composables/use-size";
4
+ import { createClasses, createStyles } from "../../utils";
5
+ import { getContext } from "svelte";
6
6
  import { derived } from "svelte/store";
7
7
  export let value = false, side = "left", width = 300, breakpoint = 1023, showIfAbove = false, behavior = "default", bordered = false, elevated = false, overlay = false, persistent = false, noSwipeOpen = false, noSwipeClose = false, noSwipeBackdrop = false, userClasses = void 0, userStyles = void 0;
8
8
  export { userClasses as class, userStyles as style };
@@ -16,8 +16,8 @@ declare const __propDef: {
16
16
  noSwipeOpen?: QDrawerProps["noSwipeOpen"];
17
17
  noSwipeClose?: QDrawerProps["noSwipeClose"];
18
18
  noSwipeBackdrop?: QDrawerProps["noSwipeBackdrop"];
19
- class?: string | undefined;
20
- style?: string | undefined;
19
+ class?: string | null | undefined;
20
+ style?: string | null | undefined;
21
21
  show?: ((e?: MouseEvent) => void) | undefined;
22
22
  hide?: (() => void) | undefined;
23
23
  toggle?: ((e?: MouseEvent) => void) | undefined;
@@ -1,2 +1,2 @@
1
- import type { QComponentDocs } from "../../utils/types";
1
+ import type { QComponentDocs } from "../../utils";
2
2
  export declare let QDrawerDocs: QComponentDocs;
@@ -17,7 +17,7 @@ export const QDrawerDocsProps = [
17
17
  },
18
18
  {
19
19
  name: "width",
20
- type: "number | string",
20
+ type: "number | CssValue",
21
21
  optional: true,
22
22
  clickableType: true,
23
23
  description: 'The width of the drawer. Can be specified with a CSS unit. If no unit is specified, "px" will be used.',
@@ -1,7 +1,8 @@
1
- import type { CssValue, NativeProps } from "../../utils/types";
1
+ import type { CssValue, NativeProps } from "../../utils";
2
+ import type { HTMLAttributes } from "svelte/elements";
2
3
  export type QDrawerSideOptions = "left" | "right";
3
4
  export type QDrawerBehaviorOptions = "default" | "desktop" | "mobile";
4
- export interface QDrawerProps extends NativeProps {
5
+ export interface QDrawerProps extends NativeProps, HTMLAttributes<HTMLDivElement> {
5
6
  /**
6
7
  * The value indicating whether the drawer is visible or hidden.
7
8
  * @default true
@@ -1,6 +1,6 @@
1
- <script>import { getContext } from "svelte";
2
- import { createClasses, createStyles } from "../../utils/props";
3
- import { useSize } from "../../composables/use-size";
1
+ <script>import { useSize } from "../../composables";
2
+ import { createClasses, createStyles } from "../../utils";
3
+ import { getContext } from "svelte";
4
4
  export let value = true, border = false, elevate = false, height = void 0, userClasses = void 0, userStyles = void 0;
5
5
  export { userClasses as class, userStyles as style };
6
6
  let ctx = getContext("layout");
@@ -6,8 +6,8 @@ declare const __propDef: {
6
6
  border?: QFooterProps["border"];
7
7
  elevate?: QFooterProps["elevate"];
8
8
  height?: QFooterProps["height"];
9
- class?: string | undefined;
10
- style?: string | undefined;
9
+ class?: string | null | undefined;
10
+ style?: string | null | undefined;
11
11
  };
12
12
  events: {
13
13
  [evt: string]: CustomEvent<any>;
@@ -1,2 +1,2 @@
1
- import type { QComponentDocs } from "../../utils/types";
1
+ import type { QComponentDocs } from "../../utils";
2
2
  export declare let QFooterDocs: QComponentDocs;
@@ -8,7 +8,7 @@ export const QFooterDocsProps = [
8
8
  default: "true",
9
9
  },
10
10
  {
11
- name: "bordered",
11
+ name: "border",
12
12
  type: "boolean",
13
13
  optional: true,
14
14
  clickableType: false,
@@ -16,7 +16,7 @@ export const QFooterDocsProps = [
16
16
  default: "false",
17
17
  },
18
18
  {
19
- name: "elevated",
19
+ name: "elevate",
20
20
  type: "boolean",
21
21
  optional: true,
22
22
  clickableType: false,
@@ -25,9 +25,9 @@ export const QFooterDocsProps = [
25
25
  },
26
26
  {
27
27
  name: "height",
28
- type: "string | number",
28
+ type: "number | CssValue",
29
29
  optional: true,
30
- clickableType: false,
30
+ clickableType: true,
31
31
  description: 'The height of the footer. Can be specified with a CSS unit. If not specified, "px" will be used. (not supported yet)',
32
32
  default: "undefined",
33
33
  },
@@ -1,5 +1,6 @@
1
- import type { CssValue, NativeProps } from "../../utils/types";
2
- export interface QFooterProps extends NativeProps {
1
+ import type { CssValue, NativeProps } from "../../utils";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ export interface QFooterProps extends NativeProps, HTMLAttributes<HTMLElement> {
3
4
  /**
4
5
  * The value indicating whether the footer is visible or hidden. (not supported yet)
5
6
  * @default true
@@ -1,6 +1,6 @@
1
- <script>import { createClasses } from "../../utils/props";
1
+ <script>import { createClasses } from "../../utils";
2
2
  import { getContext } from "svelte";
3
- import QToolbar from "../toolbar/QToolbar.svelte";
3
+ import { QToolbar } from "../..";
4
4
  export let inset = false, elevate = false, border = false, userClasses = void 0, userStyles = void 0;
5
5
  export { userClasses as class, userStyles as style };
6
6
  let ctx = getContext("layout");
@@ -6,8 +6,8 @@ declare const __propDef: {
6
6
  inset?: QHeaderProps["inset"];
7
7
  elevate?: QHeaderProps["elevate"];
8
8
  border?: QHeaderProps["border"];
9
- class?: string | undefined;
10
- style?: string | undefined;
9
+ class?: string | null | undefined;
10
+ style?: string | null | undefined;
11
11
  };
12
12
  events: {
13
13
  [evt: string]: CustomEvent<any>;
@@ -0,0 +1,24 @@
1
+ export declare const QToolbarDocsProps: {
2
+ name: string;
3
+ type: string;
4
+ optional: boolean;
5
+ clickableType: boolean;
6
+ description: string;
7
+ default: string;
8
+ }[];
9
+ export declare const QToolbarTitleDocsProps: {
10
+ name: string;
11
+ type: string;
12
+ optional: boolean;
13
+ clickableType: boolean;
14
+ description: string;
15
+ default: string;
16
+ }[];
17
+ export declare const QHeaderDocsProps: {
18
+ name: string;
19
+ type: string;
20
+ optional: boolean;
21
+ clickableType: boolean;
22
+ description: string;
23
+ default: string;
24
+ }[];
@@ -0,0 +1,70 @@
1
+ export const QToolbarDocsProps = [
2
+ {
3
+ name: "inset",
4
+ type: "boolean",
5
+ optional: true,
6
+ clickableType: false,
7
+ description: "",
8
+ default: "false",
9
+ },
10
+ {
11
+ name: "border",
12
+ type: "boolean",
13
+ optional: true,
14
+ clickableType: false,
15
+ description: "",
16
+ default: "false",
17
+ },
18
+ {
19
+ name: "elevate",
20
+ type: "boolean",
21
+ optional: true,
22
+ clickableType: false,
23
+ description: "",
24
+ default: "false",
25
+ },
26
+ {
27
+ name: "height",
28
+ type: "CssValue | number",
29
+ optional: true,
30
+ clickableType: true,
31
+ description: "",
32
+ default: "64px",
33
+ },
34
+ ];
35
+ export const QToolbarTitleDocsProps = [
36
+ {
37
+ name: "shrink",
38
+ type: "boolean",
39
+ optional: true,
40
+ clickableType: false,
41
+ description: "",
42
+ default: "false",
43
+ },
44
+ ];
45
+ export const QHeaderDocsProps = [
46
+ {
47
+ name: "inset",
48
+ type: "boolean",
49
+ optional: true,
50
+ clickableType: false,
51
+ description: "",
52
+ default: "false",
53
+ },
54
+ {
55
+ name: "elevate",
56
+ type: "boolean",
57
+ optional: true,
58
+ clickableType: false,
59
+ description: "",
60
+ default: "false",
61
+ },
62
+ {
63
+ name: "border",
64
+ type: "boolean",
65
+ optional: true,
66
+ clickableType: false,
67
+ description: "",
68
+ default: "false",
69
+ },
70
+ ];
@@ -1,5 +1,5 @@
1
- import type { NativeProps } from "../../utils/types";
2
- export interface QHeaderProps extends NativeProps {
1
+ import type { QToolbarProps } from "../toolbar/props";
2
+ export interface QHeaderProps extends QToolbarProps {
3
3
  /**
4
4
  * @default false
5
5
  */
@@ -1,7 +1,5 @@
1
- <script>import { createClasses, createStyles } from "../../utils/props";
2
- import { isNumber } from "../../utils/types";
3
- import { sizes } from "../../composables/use-size";
4
- import { useSize } from "../../composables/use-size";
1
+ <script>import { useSize } from "../../composables";
2
+ import { createClasses, createStyles } from "../../utils";
5
3
  export let size = "md", name = void 0, type = "outlined", filled = false, svg = void 0, img = void 0, imgAttributes = {}, color = void 0, userClasses = void 0, userStyles = void 0;
6
4
  export { userClasses as class, userStyles as style };
7
5
  $:
@@ -26,7 +24,7 @@ $:
26
24
  };
27
25
  </script>
28
26
 
29
- <i class={classes} {style}>
27
+ <i class={classes} {style} {...$$restProps}>
30
28
  {#if name !== undefined}
31
29
  {name}
32
30
  {:else if img !== undefined}
@@ -2,6 +2,7 @@ import { SvelteComponent } from "svelte";
2
2
  import type { QIconProps } from "./props";
3
3
  declare const __propDef: {
4
4
  props: {
5
+ [x: string]: any;
5
6
  size?: QIconProps["size"];
6
7
  name?: QIconProps["name"];
7
8
  type?: QIconProps["type"];
@@ -10,8 +11,8 @@ declare const __propDef: {
10
11
  img?: QIconProps["img"];
11
12
  imgAttributes?: QIconProps["imgAttributes"];
12
13
  color?: QIconProps["color"];
13
- class?: string | undefined;
14
- style?: string | undefined;
14
+ class?: string | null | undefined;
15
+ style?: string | null | undefined;
15
16
  };
16
17
  events: {
17
18
  [evt: string]: CustomEvent<any>;
@@ -1,2 +1,2 @@
1
- import type { QComponentDocs } from "../../utils/types";
1
+ import type { QComponentDocs } from "../../utils";
2
2
  export declare let QIconDocs: QComponentDocs;
@@ -2,7 +2,7 @@ export const QIconDocsProps = [
2
2
  {
3
3
  name: "size",
4
4
  type: "QIconSizeOptions",
5
- optional: false,
5
+ optional: true,
6
6
  clickableType: true,
7
7
  description: 'The size of the icon. Can be specified with CSS units. If no unit is specified, "px" will be used.',
8
8
  default: "md",
@@ -10,7 +10,7 @@ export const QIconDocsProps = [
10
10
  {
11
11
  name: "type",
12
12
  type: "QIconTypeOptions",
13
- optional: false,
13
+ optional: true,
14
14
  clickableType: true,
15
15
  description: "The type of the icon.",
16
16
  default: "outlined",
@@ -26,7 +26,7 @@ export const QIconDocsProps = [
26
26
  {
27
27
  name: "filled",
28
28
  type: "boolean",
29
- optional: false,
29
+ optional: true,
30
30
  clickableType: false,
31
31
  description: "Determines whether the icon should be filled.",
32
32
  default: "false",
@@ -50,7 +50,7 @@ export const QIconDocsProps = [
50
50
  {
51
51
  name: "imgAttributes",
52
52
  type: "Record<string, any>",
53
- optional: false,
53
+ optional: true,
54
54
  clickableType: true,
55
55
  description: 'Additional attributes for the image element when using the `img` prop, as for example the "alt" attribute.',
56
56
  default: "{}",
@@ -1,7 +1,8 @@
1
- import type { CssValue, NativeProps, QuaffSizes } from "../../utils/types";
1
+ import type { CssValue, NativeProps, QuaffSizes } from "../../utils";
2
+ import type { HTMLAttributes } from "svelte/elements";
2
3
  export type QIconSizeOptions = QuaffSizes | CssValue | number;
3
4
  export type QIconTypeOptions = "outlined" | "sharp" | "rounded";
4
- export interface QIconProps extends NativeProps {
5
+ export interface QIconProps extends NativeProps, HTMLAttributes<HTMLElement> {
5
6
  /**
6
7
  * The size of the icon. Can be specified with CSS units. If no unit is specified, "px" will be used.
7
8
  * @default md
@@ -5,6 +5,7 @@ import QCardSection from "./card/QCardSection.svelte";
5
5
  import QCardActions from "./card/QCardActions.svelte";
6
6
  import QCheckbox from "./checkbox/QCheckbox.svelte";
7
7
  import QChip from "./chip/QChip.svelte";
8
+ import QCircularProgress from "./progress/QCircularProgress.svelte";
8
9
  import QCodeBlock from "./codeBlock/QCodeBlock.svelte";
9
10
  import QDialog from "./dialog/QDialog.svelte";
10
11
  import QDrawer from "./drawer/QDrawer.svelte";
@@ -28,4 +29,4 @@ import QToggle from "./toggle/QToggle.svelte";
28
29
  import QToolbar from "./toolbar/QToolbar.svelte";
29
30
  import QToolbarTitle from "./toolbar/QToolbarTitle.svelte";
30
31
  import QTooltip from "./tooltip/QTooltip.svelte";
31
- export { QAvatar, QBtn, QCard, QCardSection, QCardActions, QCheckbox, QChip, QCodeBlock, QDialog, QDrawer, QFooter, QHeader, QIcon, QInput, QSelect, QLayout, QList, QItem, QItemSection, QLinearProgress, QRadio, QRailbar, QSeparator, QTabs, QTab, QTable, QToggle, QToolbar, QToolbarTitle, QTooltip, };
32
+ export { QAvatar, QBtn, QCard, QCardSection, QCardActions, QCheckbox, QChip, QCircularProgress, QCodeBlock, QDialog, QDrawer, QFooter, QHeader, QIcon, QInput, QSelect, QLayout, QList, QItem, QItemSection, QLinearProgress, QRadio, QRailbar, QSeparator, QTabs, QTab, QTable, QToggle, QToolbar, QToolbarTitle, QTooltip, };
@@ -5,6 +5,7 @@ import QCardSection from "./card/QCardSection.svelte";
5
5
  import QCardActions from "./card/QCardActions.svelte";
6
6
  import QCheckbox from "./checkbox/QCheckbox.svelte";
7
7
  import QChip from "./chip/QChip.svelte";
8
+ import QCircularProgress from "./progress/QCircularProgress.svelte";
8
9
  import QCodeBlock from "./codeBlock/QCodeBlock.svelte";
9
10
  import QDialog from "./dialog/QDialog.svelte";
10
11
  import QDrawer from "./drawer/QDrawer.svelte";
@@ -28,4 +29,4 @@ import QToggle from "./toggle/QToggle.svelte";
28
29
  import QToolbar from "./toolbar/QToolbar.svelte";
29
30
  import QToolbarTitle from "./toolbar/QToolbarTitle.svelte";
30
31
  import QTooltip from "./tooltip/QTooltip.svelte";
31
- export { QAvatar, QBtn, QCard, QCardSection, QCardActions, QCheckbox, QChip, QCodeBlock, QDialog, QDrawer, QFooter, QHeader, QIcon, QInput, QSelect, QLayout, QList, QItem, QItemSection, QLinearProgress, QRadio, QRailbar, QSeparator, QTabs, QTab, QTable, QToggle, QToolbar, QToolbarTitle, QTooltip, };
32
+ export { QAvatar, QBtn, QCard, QCardSection, QCardActions, QCheckbox, QChip, QCircularProgress, QCodeBlock, QDialog, QDrawer, QFooter, QHeader, QIcon, QInput, QSelect, QLayout, QList, QItem, QItemSection, QLinearProgress, QRadio, QRailbar, QSeparator, QTabs, QTab, QTable, QToggle, QToolbar, QToolbarTitle, QTooltip, };
@@ -1,81 +1,70 @@
1
- <script>import { createClasses } from "../../utils/props";
2
- import { textWidth } from "../../utils/fields";
3
- export let bordered = false, dense = false, disable = false, error = false, errorMessage = void 0, filled = false, hint = void 0, label = void 0, outlined = false, rounded = false, value, userClasses = void 0;
4
- export { userClasses as class };
5
- let active = false;
6
- $:
7
- hasBorder = bordered || rounded || outlined;
1
+ <script>let focus = false;
8
2
  $:
9
- classes = createClasses(
10
- [
11
- label && "label",
12
- active && "active",
13
- dense && "dense",
14
- $$slots.prepend && "prepend",
15
- $$slots.append && "append",
16
- hasBorder && "has-border",
17
- bordered && "bordered",
18
- rounded && "rounded",
19
- filled && "filled",
20
- error && "error",
21
- disable && "disabled"
22
- ],
23
- {
24
- component: "q-input",
25
- userClasses
26
- }
27
- );
28
- let wrapper = null;
29
- let inputElement = null;
30
- $:
31
- value && updateInput(inputElement);
32
- function updateInput(target) {
33
- const input = target;
34
- if (!wrapper) {
35
- throw new Error("unexpected to not have element");
36
- }
37
- const label2 = wrapper.querySelector("label");
38
- const isBorder = hasBorder && !filled;
39
- const toActive = document.activeElement === target || input.value || input.querySelector("[selected]");
40
- if (toActive) {
41
- if (isBorder && label2) {
42
- const labelWidth = textWidth(label2, "0.75rem Arial");
43
- let width = active ? labelWidth : Math.round(labelWidth / 1.33);
44
- width = width / 16;
45
- const start = rounded ? 1.25 : 0.75;
46
- const end = width + start + 0.5;
47
- input.style.clipPath = `polygon(0% 0%, ${start}rem 0%, ${start}rem 0.5rem, ${end}rem 0.5rem, ${end}rem 0%, 100% 0%, 100% 100%, 0% 100%)`;
48
- } else
49
- input.style.clipPath = "";
50
- active = true;
51
- } else {
52
- active = false;
53
- input.style.clipPath = "";
54
- }
55
- }
3
+ active = value || focus;
4
+ let slotPrependWidth = 0;
5
+ export let dense = false, disable = false, error = false, errorMessage = void 0, filled = false, hint = void 0, label = void 0, outlined = false, rounded = false, value, userClasses = "";
6
+ export { userClasses as class };
56
7
  </script>
57
8
 
58
- <div bind:this={wrapper} class={classes} {...$$restProps}>
59
- <slot name="prepend" />
9
+ <div
10
+ class="q-input q-field {userClasses}"
11
+ class:q-field--default={!outlined && !rounded && !filled}
12
+ class:q-field--outlined={outlined}
13
+ class:q-field--rounded={rounded}
14
+ class:q-field--filled={filled}
15
+ class:q-field--has-border={outlined || rounded}
16
+ class:q-field--dense={dense}
17
+ class:q-field--active={active}
18
+ class:q-field--focus={focus}
19
+ class:q-field--label={label}
20
+ class:q-field--slot-append={$$slots.append}
21
+ class:q-field--slot-prepend={$$slots.prepend}
22
+ class:q-field--disable={disable}
23
+ class:q-field--error={error}
24
+ style:--slot-prepend-width="{slotPrependWidth}px"
25
+ {...$$restProps}
26
+ >
27
+ {#if $$slots.before}
28
+ <div class="q-field__slot-before">
29
+ <slot name="before" />
30
+ </div>
31
+ {/if}
60
32
 
61
- <input
62
- type="text"
63
- on:focus={(e) => updateInput(e.currentTarget)}
64
- on:blur={(e) => updateInput(e.currentTarget)}
65
- bind:value
66
- bind:this={inputElement}
67
- tabindex={disable === true ? -1 : 0}
68
- />
33
+ <div class="q-field__inner">
34
+ <label class="q-field__wrapper">
35
+ {#if $$slots.prepend}
36
+ <div class="q-field__slot-prepend" bind:clientWidth={slotPrependWidth}>
37
+ <slot name="prepend" />
38
+ </div>
39
+ {/if}
40
+ <input
41
+ class="q-field__input"
42
+ bind:value
43
+ placeholder=""
44
+ on:focus={() => (focus = true)}
45
+ on:blur={() => (focus = false)}
46
+ disabled={disable}
47
+ tabindex={disable === true ? -1 : 0}
48
+ />
49
+ <span class="q-field__label">{label}</span>
69
50
 
70
- <slot name="append" />
51
+ {#if $$slots.append}
52
+ <div class="q-field__slot-append">
53
+ <slot name="append" />
54
+ </div>
55
+ {/if}
56
+ </label>
71
57
 
72
- {#if label}
73
- <!-- svelte-ignore a11y-label-has-associated-control -->
74
- <label class="q-input__label {active ? 'q-input__label--active' : ''}">{label}</label>
75
- {/if}
76
- {#if hint}
77
- <span class="q-input__helper">{hint}</span>
78
- {:else if error && errorMessage}
79
- <span class="q-input__error">{errorMessage}</span>
58
+ {#if error && errorMessage}
59
+ <div class="q-field__error">{errorMessage}</div>
60
+ {:else if hint}
61
+ <div class="q-field__hint">{hint}</div>
62
+ {/if}
63
+ </div>
64
+
65
+ {#if $$slots.after}
66
+ <div class="q-field__slot-after">
67
+ <slot name="after" />
68
+ </div>
80
69
  {/if}
81
70
  </div>
@@ -1,9 +1,8 @@
1
1
  import { SvelteComponent } from "svelte";
2
- import type { QInputProps } from "./props";
2
+ import type { QInputProps } from "../input/props";
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  [x: string]: any;
6
- bordered?: QInputProps["bordered"];
7
6
  dense?: QInputProps["dense"];
8
7
  disable?: QInputProps["disable"];
9
8
  error?: QInputProps["error"];
@@ -14,14 +13,16 @@ declare const __propDef: {
14
13
  outlined?: QInputProps["outlined"];
15
14
  rounded?: QInputProps["rounded"];
16
15
  value: QInputProps["value"];
17
- class?: string | undefined;
16
+ class?: string | null | undefined;
18
17
  };
19
18
  events: {
20
19
  [evt: string]: CustomEvent<any>;
21
20
  };
22
21
  slots: {
22
+ before: {};
23
23
  prepend: {};
24
24
  append: {};
25
+ after: {};
25
26
  };
26
27
  };
27
28
  type QInputProps_ = typeof __propDef.props;
@@ -1,2 +1,2 @@
1
- import type { QComponentDocs } from "../../utils/types";
1
+ import type { QComponentDocs } from "../../utils";
2
2
  export declare let QInputDocs: QComponentDocs;
@@ -1,14 +1,8 @@
1
1
  export let QInputDocs = {
2
2
  name: "QInput",
3
- description: "QInput is a form component that allows users to input text. It supports different visual styles such as bordered, filled, outlined, and rounded, and it can also display hint text and custom error messages.",
3
+ description: "QInput is a form component that allows users to input text. It supports different visual styles such as filled, outlined, and rounded, and it can also display hint text and custom error messages.",
4
4
  docs: {
5
5
  props: [
6
- {
7
- name: "bordered",
8
- type: "boolean",
9
- default: false,
10
- description: "Whether the input component has a border.",
11
- },
12
6
  {
13
7
  name: "disable",
14
8
  type: "boolean",