@quaffui/quaff 0.1.0-prealpha16 → 0.1.0-prealpha19

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 (269) hide show
  1. package/README.md +6 -6
  2. package/dist/classes/QContext.svelte.d.ts +42 -0
  3. package/dist/classes/QContext.svelte.js +63 -0
  4. package/dist/classes/QScrollObserver.svelte.d.ts +44 -0
  5. package/dist/classes/QScrollObserver.svelte.js +95 -0
  6. package/dist/classes/QTheme.svelte.d.ts +11 -0
  7. package/dist/classes/QTheme.svelte.js +49 -0
  8. package/dist/classes/Quaff.svelte.d.ts +14 -0
  9. package/dist/classes/Quaff.svelte.js +35 -0
  10. package/dist/components/avatar/QAvatar.scss +97 -0
  11. package/dist/components/avatar/QAvatar.svelte +35 -60
  12. package/dist/components/avatar/QAvatar.svelte.d.ts +2 -25
  13. package/dist/components/avatar/docs.props.js +21 -5
  14. package/dist/components/avatar/index.scss +5 -3
  15. package/dist/components/avatar/props.d.ts +24 -7
  16. package/dist/components/breadcrumbs/QBreadcrumbs.scss +10 -0
  17. package/dist/components/breadcrumbs/QBreadcrumbs.svelte +24 -9
  18. package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +2 -22
  19. package/dist/components/breadcrumbs/QBreadcrumbsEl.scss +10 -0
  20. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +64 -38
  21. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +2 -25
  22. package/dist/components/breadcrumbs/docs.props.js +27 -27
  23. package/dist/components/breadcrumbs/props.d.ts +25 -24
  24. package/dist/components/button/QBtn.scss +133 -0
  25. package/dist/components/button/QBtn.svelte +88 -48
  26. package/dist/components/button/QBtn.svelte.d.ts +2 -33
  27. package/dist/components/button/docs.props.js +26 -18
  28. package/dist/components/button/props.d.ts +21 -15
  29. package/dist/components/card/QCard.scss +25 -0
  30. package/dist/components/card/QCard.svelte +25 -16
  31. package/dist/components/card/QCard.svelte.d.ts +2 -25
  32. package/dist/components/card/QCardActions.scss +10 -0
  33. package/dist/components/card/QCardActions.svelte +11 -8
  34. package/dist/components/card/QCardActions.svelte.d.ts +2 -21
  35. package/dist/components/card/QCardSection.scss +10 -0
  36. package/dist/components/card/QCardSection.svelte +8 -6
  37. package/dist/components/card/QCardSection.svelte.d.ts +2 -22
  38. package/dist/components/card/docs.props.js +6 -14
  39. package/dist/components/card/props.d.ts +9 -15
  40. package/dist/components/checkbox/QCheckbox.svelte +8 -3
  41. package/dist/components/checkbox/QCheckbox.svelte.d.ts +2 -20
  42. package/dist/components/checkbox/docs.props.js +1 -1
  43. package/dist/components/checkbox/index.scss +3 -1
  44. package/dist/components/checkbox/props.d.ts +1 -2
  45. package/dist/components/chip/QChip.scss +179 -0
  46. package/dist/components/chip/QChip.svelte +95 -70
  47. package/dist/components/chip/QChip.svelte.d.ts +2 -35
  48. package/dist/components/chip/docs.props.js +23 -47
  49. package/dist/components/chip/props.d.ts +21 -34
  50. package/dist/components/codeBlock/QCodeBlock.svelte +64 -42
  51. package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +2 -20
  52. package/dist/components/codeBlock/docs.props.js +10 -2
  53. package/dist/components/codeBlock/props.d.ts +6 -1
  54. package/dist/components/dialog/{index.scss → QDialog.scss} +9 -7
  55. package/dist/components/dialog/QDialog.svelte +72 -70
  56. package/dist/components/dialog/QDialog.svelte.d.ts +6 -36
  57. package/dist/components/dialog/docs.props.d.ts +0 -8
  58. package/dist/components/dialog/docs.props.js +1 -131
  59. package/dist/components/dialog/props.d.ts +0 -16
  60. package/dist/components/drawer/QDrawer.scss +45 -0
  61. package/dist/components/drawer/QDrawer.svelte +87 -91
  62. package/dist/components/drawer/QDrawer.svelte.d.ts +6 -32
  63. package/dist/components/drawer/docs.props.js +3 -3
  64. package/dist/components/drawer/props.d.ts +2 -2
  65. package/dist/components/footer/QFooter.scss +42 -0
  66. package/dist/components/footer/QFooter.svelte +62 -23
  67. package/dist/components/footer/QFooter.svelte.d.ts +2 -23
  68. package/dist/components/footer/docs.props.js +14 -6
  69. package/dist/components/footer/props.d.ts +8 -5
  70. package/dist/components/header/QHeader.scss +54 -0
  71. package/dist/components/header/QHeader.svelte +52 -24
  72. package/dist/components/header/QHeader.svelte.d.ts +2 -23
  73. package/dist/components/header/docs.props.js +23 -7
  74. package/dist/components/header/props.d.ts +11 -3
  75. package/dist/components/icon/{index.scss → QIcon.scss} +2 -4
  76. package/dist/components/icon/QIcon.svelte +29 -16
  77. package/dist/components/icon/QIcon.svelte.d.ts +2 -27
  78. package/dist/components/icon/docs.props.js +3 -3
  79. package/dist/components/icon/props.d.ts +4 -4
  80. package/dist/components/index.d.ts +2 -2
  81. package/dist/components/index.js +2 -2
  82. package/dist/components/input/QInput.svelte +52 -25
  83. package/dist/components/input/QInput.svelte.d.ts +2 -32
  84. package/dist/components/input/docs.props.js +33 -1
  85. package/dist/components/input/props.d.ts +5 -12
  86. package/dist/components/input/props.js +1 -12
  87. package/dist/components/layout/QLayout.scss +178 -0
  88. package/dist/components/layout/QLayout.svelte +100 -80
  89. package/dist/components/layout/QLayout.svelte.d.ts +16 -43
  90. package/dist/components/layout/docs.props.js +57 -1
  91. package/dist/components/layout/props.d.ts +8 -0
  92. package/dist/components/list/QItem.scss +61 -0
  93. package/dist/components/list/QItem.svelte +65 -46
  94. package/dist/components/list/QItem.svelte.d.ts +2 -30
  95. package/dist/components/list/QItemSection.scss +45 -0
  96. package/dist/components/list/QItemSection.svelte +48 -33
  97. package/dist/components/list/QItemSection.svelte.d.ts +2 -24
  98. package/dist/components/list/QList.scss +30 -0
  99. package/dist/components/list/QList.svelte +25 -14
  100. package/dist/components/list/QList.svelte.d.ts +2 -28
  101. package/dist/components/list/docs.props.js +36 -4
  102. package/dist/components/list/props.d.ts +9 -8
  103. package/dist/components/list/props.js +1 -25
  104. package/dist/components/private/ContextReseter.svelte +6 -11
  105. package/dist/components/private/ContextReseter.svelte.d.ts +6 -18
  106. package/dist/components/private/QApi.svelte +117 -103
  107. package/dist/components/private/QApi.svelte.d.ts +4 -16
  108. package/dist/components/private/QDocs.svelte +67 -48
  109. package/dist/components/private/QDocs.svelte.d.ts +9 -20
  110. package/dist/components/private/QDocsSection.svelte +15 -14
  111. package/dist/components/private/QDocsSection.svelte.d.ts +7 -19
  112. package/dist/components/private/QIconSnippet.svelte +12 -0
  113. package/dist/components/private/QIconSnippet.svelte.d.ts +8 -0
  114. package/dist/components/progress/QCircularProgress.scss +63 -0
  115. package/dist/components/progress/QCircularProgress.svelte +104 -28
  116. package/dist/components/progress/QCircularProgress.svelte.d.ts +2 -22
  117. package/dist/components/progress/QLinearProgress.scss +75 -0
  118. package/dist/components/progress/QLinearProgress.svelte +55 -13
  119. package/dist/components/progress/QLinearProgress.svelte.d.ts +2 -20
  120. package/dist/components/progress/docs.props.js +138 -10
  121. package/dist/components/progress/props.d.ts +75 -12
  122. package/dist/components/radio/QRadio.svelte +14 -3
  123. package/dist/components/radio/QRadio.svelte.d.ts +2 -21
  124. package/dist/components/radio/docs.props.js +1 -1
  125. package/dist/components/radio/index.scss +3 -1
  126. package/dist/components/radio/props.d.ts +1 -3
  127. package/dist/components/radio/props.js +1 -8
  128. package/dist/components/railbar/QRailbar.scss +54 -0
  129. package/dist/components/railbar/QRailbar.svelte +43 -66
  130. package/dist/components/railbar/QRailbar.svelte.d.ts +2 -22
  131. package/dist/components/railbar/docs.props.js +4 -4
  132. package/dist/components/railbar/props.d.ts +3 -3
  133. package/dist/components/select/QSelect.svelte +121 -88
  134. package/dist/components/select/QSelect.svelte.d.ts +2 -34
  135. package/dist/components/select/docs.js +7 -0
  136. package/dist/components/select/docs.props.js +41 -1
  137. package/dist/components/select/index.scss +8 -6
  138. package/dist/components/select/props.d.ts +6 -12
  139. package/dist/components/select/props.js +1 -12
  140. package/dist/components/separator/QSeparator.scss +54 -0
  141. package/dist/components/separator/QSeparator.svelte +38 -45
  142. package/dist/components/separator/QSeparator.svelte.d.ts +2 -24
  143. package/dist/components/separator/docs.props.js +4 -4
  144. package/dist/components/separator/props.d.ts +5 -7
  145. package/dist/components/separator/props.js +1 -9
  146. package/dist/components/switch/QSwitch.scss +305 -0
  147. package/dist/components/switch/QSwitch.svelte +96 -0
  148. package/dist/components/switch/QSwitch.svelte.d.ts +3 -0
  149. package/dist/components/{toggle → switch}/docs.d.ts +1 -1
  150. package/dist/components/{toggle → switch}/docs.js +3 -3
  151. package/dist/components/{toggle → switch}/docs.props.d.ts +1 -1
  152. package/dist/components/{toggle → switch}/docs.props.js +30 -6
  153. package/dist/components/switch/props.d.ts +13 -0
  154. package/dist/components/switch/props.js +1 -0
  155. package/dist/components/table/QTable.svelte +99 -85
  156. package/dist/components/table/QTable.svelte.d.ts +3 -29
  157. package/dist/components/table/docs.props.js +9 -1
  158. package/dist/components/table/index.scss +3 -1
  159. package/dist/components/table/props.d.ts +10 -0
  160. package/dist/components/tabs/QTab.scss +71 -0
  161. package/dist/components/tabs/QTab.svelte +74 -90
  162. package/dist/components/tabs/QTab.svelte.d.ts +2 -25
  163. package/dist/components/tabs/QTabs.scss +40 -0
  164. package/dist/components/tabs/QTabs.svelte +110 -58
  165. package/dist/components/tabs/QTabs.svelte.d.ts +6 -31
  166. package/dist/components/tabs/docs.props.js +3 -3
  167. package/dist/components/tabs/index.scss +4 -2
  168. package/dist/components/tabs/props.d.ts +5 -4
  169. package/dist/components/toolbar/QToolbar.svelte +15 -12
  170. package/dist/components/toolbar/QToolbar.svelte.d.ts +2 -23
  171. package/dist/components/toolbar/QToolbarTitle.svelte +8 -7
  172. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +2 -21
  173. package/dist/components/toolbar/docs.props.js +4 -4
  174. package/dist/components/toolbar/index.scss +12 -14
  175. package/dist/components/toolbar/props.d.ts +4 -5
  176. package/dist/components/tooltip/QTooltip.svelte +5 -9
  177. package/dist/components/tooltip/QTooltip.svelte.d.ts +2 -21
  178. package/dist/components/tooltip/docs.props.js +1 -1
  179. package/dist/components/tooltip/index.scss +3 -1
  180. package/dist/components/tooltip/props.d.ts +1 -1
  181. package/dist/composables/index.d.ts +1 -1
  182. package/dist/composables/index.js +1 -1
  183. package/dist/composables/useSize.d.ts +10 -9
  184. package/dist/composables/useSize.js +32 -20
  185. package/dist/composables/useSizeLegacy.d.ts +9 -0
  186. package/dist/composables/useSizeLegacy.js +25 -0
  187. package/dist/css/_components.scss +31 -0
  188. package/dist/css/_disabled.scss +18 -0
  189. package/dist/css/{ripple.scss → _ripple.scss} +1 -1
  190. package/dist/css/_variables.scss +73 -0
  191. package/dist/css/classes/_design.scss +57 -0
  192. package/dist/css/classes/_flex.scss +62 -0
  193. package/dist/css/classes/_grid.scss +35 -0
  194. package/dist/css/classes/_index.scss +7 -0
  195. package/dist/css/classes/_overflow.scss +7 -0
  196. package/dist/css/classes/_position.scss +7 -0
  197. package/dist/css/classes/_select.scss +6 -0
  198. package/dist/css/classes/_spaces.scss +23 -0
  199. package/dist/css/index.css +1 -1
  200. package/dist/css/index.scss +15 -94
  201. package/dist/css/mixins/_design.scss +63 -0
  202. package/dist/css/mixins/{field-mixins.scss → _field.scss} +16 -5
  203. package/dist/css/mixins/_image.scss +63 -0
  204. package/dist/css/mixins/_index.scss +9 -0
  205. package/dist/css/mixins/_layout.scss +20 -0
  206. package/dist/css/mixins/{menu.scss → _menu.scss} +4 -2
  207. package/dist/css/mixins/{selection.scss → _selection.scss} +7 -67
  208. package/dist/css/mixins/_spaces.scss +36 -0
  209. package/dist/css/mixins/_typography.scss +7 -0
  210. package/dist/css/shared/q-field.scss +62 -32
  211. package/dist/css/theme/_colors.scss +173 -0
  212. package/dist/css/theme/css-variables.scss +5 -0
  213. package/dist/css/theme/page.scss +3 -3
  214. package/dist/css/theme/reset.scss +17 -1
  215. package/dist/css/theme/theme.scss +2 -3
  216. package/dist/css/theme/tokens.scss +0 -159
  217. package/dist/helpers/clickOutside.js +2 -1
  218. package/dist/helpers/ripple.d.ts +1 -1
  219. package/dist/helpers/ripple.js +13 -4
  220. package/dist/helpers/version.d.ts +1 -1
  221. package/dist/helpers/version.js +1 -1
  222. package/dist/index.d.ts +2 -1
  223. package/dist/index.js +2 -1
  224. package/dist/stores/index.d.ts +0 -2
  225. package/dist/stores/index.js +1 -2
  226. package/dist/utils/colors.d.ts +71 -0
  227. package/dist/utils/colors.js +101 -14
  228. package/dist/utils/dom.d.ts +2 -0
  229. package/dist/utils/dom.js +6 -0
  230. package/dist/utils/number.d.ts +2 -0
  231. package/dist/utils/number.js +9 -0
  232. package/dist/utils/props.js +3 -1
  233. package/dist/utils/router.d.ts +17 -0
  234. package/dist/utils/router.js +23 -0
  235. package/dist/utils/string.d.ts +1 -0
  236. package/dist/utils/string.js +3 -0
  237. package/dist/utils/types.d.ts +6 -1
  238. package/dist/utils/types.js +0 -3
  239. package/dist/utils/types.json +8 -5
  240. package/dist/utils/watchable.d.ts +0 -1
  241. package/package.json +40 -37
  242. package/dist/components/breadcrumbs/index.scss +0 -20
  243. package/dist/components/button/index.scss +0 -103
  244. package/dist/components/card/index.scss +0 -56
  245. package/dist/components/chip/index.scss +0 -103
  246. package/dist/components/drawer/index.scss +0 -59
  247. package/dist/components/footer/index.scss +0 -28
  248. package/dist/components/layout/index.scss +0 -387
  249. package/dist/components/list/index.scss +0 -144
  250. package/dist/components/progress/index.scss +0 -82
  251. package/dist/components/railbar/index.scss +0 -39
  252. package/dist/components/separator/index.scss +0 -52
  253. package/dist/components/toggle/QToggle.svelte +0 -34
  254. package/dist/components/toggle/QToggle.svelte.d.ts +0 -23
  255. package/dist/components/toggle/index.scss +0 -31
  256. package/dist/components/toggle/props.d.ts +0 -9
  257. package/dist/components/toggle/props.js +0 -9
  258. package/dist/css/grid.scss +0 -50
  259. package/dist/css/mixins.scss +0 -137
  260. package/dist/css/states.scss +0 -75
  261. package/dist/css/theme/bridge.scss +0 -15
  262. package/dist/css/theme/theme.dark.scss +0 -39
  263. package/dist/css/theme/theme.light.scss +0 -39
  264. package/dist/css/variables-sass.scss +0 -16
  265. package/dist/stores/QTheme.d.ts +0 -42
  266. package/dist/stores/QTheme.js +0 -59
  267. package/dist/stores/Quaff.d.ts +0 -32
  268. package/dist/stores/Quaff.js +0 -58
  269. /package/dist/css/mixins/{table.scss → _table.scss} +0 -0
@@ -1,36 +1,112 @@
1
- <script>import { useSize } from "../../composables";
2
- export let value = 0, indeterminate = false, size = "2rem", color = void 0, thickness = 5, userClasses = void 0;
3
- export { userClasses as class };
4
- $:
5
- spinnerSize = useSize(size);
6
- const circumference = 2 * Math.PI * 20;
7
- $:
8
- progressOffset = (100 - value) / 100 * circumference;
1
+ <svelte:options runes={true} />
2
+
3
+ <script lang="ts">
4
+ import { useSize } from "../../composables/useSize";
5
+ import { between } from "../../utils/number";
6
+ const radius = 50,
7
+ diameter = 2 * radius,
8
+ circumference = diameter * Math.PI,
9
+ strokeDashArray = Math.round(circumference * 1e3) / 1e3;
10
+ let {
11
+ value = 0,
12
+ indeterminate = false,
13
+ size = "2em",
14
+ fontSize = "0.25em",
15
+ color = "primary",
16
+ trackColor = "secondary-container",
17
+ thickness = 0.2,
18
+ min = 0,
19
+ max = 100,
20
+ angle = 0,
21
+ noRound = false,
22
+ instantFeedback = false,
23
+ animationSpeed = 600,
24
+ showValue = false,
25
+ children = fallback,
26
+ ...props
27
+ } = $props();
28
+ const qSize = $derived(useSize(size, "q-circular-progress"));
29
+ const svgStyle = $derived(`rotate3d(0, 0, 1, ${angle - 90}deg)`);
30
+ const circleStyle = $derived(
31
+ instantFeedback || indeterminate
32
+ ? void 0
33
+ : `stroke-dashoffset ${animationSpeed}ms ease 0s, stroke ${animationSpeed}ms ease`,
34
+ );
35
+ const viewBox = $derived(diameter / (1 - thickness / 2));
36
+ const viewBoxAttr = $derived(
37
+ `${viewBox / 2} ${viewBox / 2} ${viewBox} ${viewBox}`,
38
+ );
39
+ const normalized = $derived(between(value, min, max));
40
+ const range = $derived(max - min);
41
+ const strokeWidth = $derived((thickness / 2) * viewBox);
42
+ const strokeDashOffset = $derived.by(() => {
43
+ const dashRatio = (max - normalized) / range;
44
+ const dashGap =
45
+ !noRound && normalized < max && dashRatio < 0.25
46
+ ? (strokeWidth / 2) * (1 - dashRatio / 0.25)
47
+ : 0;
48
+ return circumference * dashRatio + dashGap;
49
+ });
9
50
  </script>
10
51
 
11
- <svg
12
- class="q-circular-progress {color ? `text-${color}` : ''} {userClasses}"
52
+ <div
53
+ {...props}
54
+ class="q-circular-progress{props.class ? ` ${props.class}` : ''}"
13
55
  class:q-circular-progress--indeterminate={indeterminate}
14
- height={spinnerSize.style}
15
- width={spinnerSize.style}
16
- viewBox="25 25 50 50"
17
- style="transform: rotate3d(0, 0, 1, -90deg);"
56
+ style:--size={qSize.style}
18
57
  role="progressbar"
19
- aria-valuenow={value}
20
- aria-valuemin={0}
21
- aria-valuemax={100}
22
- {...$$restProps}
58
+ aria-valuemin={min}
59
+ aria-valuemax={max}
60
+ aria-valuenow={indeterminate ? undefined : normalized}
23
61
  >
62
+ <svg
63
+ class="q-circular-progress__svg"
64
+ style:transform={svgStyle}
65
+ viewBox={viewBoxAttr}
66
+ aria-hidden="true"
67
+ >
68
+ {#if trackColor && trackColor !== "transparent"}
69
+ {@render circle({
70
+ cls: "track",
71
+ offset: 0,
72
+ color: trackColor,
73
+ })}
74
+ {/if}
75
+
76
+ {@render circle({
77
+ cls: "indicator",
78
+ offset: strokeDashOffset,
79
+ color,
80
+ rounded: !noRound,
81
+ })}
82
+ </svg>
83
+
84
+ {#if showValue}
85
+ <div
86
+ class="q-circular-progress__text absolute-full flex flex-center"
87
+ style:font-size={fontSize}
88
+ >
89
+ {@render children()}
90
+ </div>
91
+ {/if}
92
+ </div>
93
+
94
+ {#snippet fallback()}
95
+ <div>{Math.round(normalized)}</div>
96
+ {/snippet}
97
+
98
+ {#snippet circle({ offset, color, cls, rounded }: CircleParams)}
24
99
  <circle
25
- class="q-circular-progress__path"
26
- cx="50"
27
- cy="50"
28
- r="20"
29
- fill="none"
100
+ class="q-circular-progress__{cls}{color ? ` text-${color}` : ''}"
101
+ style:transition={circleStyle}
102
+ fill="transparent"
30
103
  stroke="currentColor"
31
- stroke-width={thickness}
32
- stroke-miterlimit="10"
33
- stroke-dasharray={circumference}
34
- stroke-dashoffset={progressOffset}
104
+ stroke-width={strokeWidth}
105
+ stroke-dasharray={strokeDashArray}
106
+ stroke-dashoffset={offset}
107
+ stroke-linecap={rounded ? "round" : undefined}
108
+ cx={viewBox}
109
+ cy={viewBox}
110
+ r={radius}
35
111
  />
36
- </svg>
112
+ {/snippet}
@@ -1,23 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { QCircularProgressProps } from "./props";
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- value?: number | undefined;
7
- indeterminate?: QCircularProgressProps["indeterminate"];
8
- size?: QCircularProgressProps["size"];
9
- color?: QCircularProgressProps["color"];
10
- thickness?: QCircularProgressProps["thickness"];
11
- class?: string | null | undefined;
12
- };
13
- events: {
14
- [evt: string]: CustomEvent<any>;
15
- };
16
- slots: {};
17
- };
18
- type QCircularProgressProps_ = typeof __propDef.props;
19
- export { QCircularProgressProps_ as QCircularProgressProps };
20
- export type QCircularProgressEvents = typeof __propDef.events;
21
- export type QCircularProgressSlots = typeof __propDef.slots;
22
- export default class QCircularProgress extends SvelteComponent<QCircularProgressProps, QCircularProgressEvents, QCircularProgressSlots> {
23
- }
2
+ declare const QCircularProgress: import("svelte").Component<QCircularProgressProps, {}, "">;
3
+ export default QCircularProgress;
@@ -0,0 +1,75 @@
1
+ @use "$css/mixins";
2
+
3
+ .q-linear-progress {
4
+ position: relative;
5
+
6
+ flex-grow: 1;
7
+ height: 0.75em;
8
+
9
+ overflow: hidden;
10
+
11
+ transform: scale3d(1, 1, 1);
12
+
13
+ &__indicator {
14
+ background-color: var(--q-indicator-color);
15
+ height: 100%;
16
+
17
+ &--indeterminate {
18
+ transition: none;
19
+ background-color: transparent;
20
+
21
+ &::before,
22
+ &::after {
23
+ content: "";
24
+ position: absolute;
25
+ top: 0;
26
+ right: 0;
27
+ bottom: 0;
28
+ left: 0;
29
+
30
+ background-color: var(--q-indicator-color);
31
+ transform-origin: 0 0;
32
+ border-radius: inherit;
33
+ }
34
+
35
+ &::before {
36
+ animation: q-progress 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
37
+ }
38
+
39
+ &::after {
40
+ transform: translate3d(-101%, 0, 0) scale3d(1, 1, 1);
41
+ animation: q-progress-fast 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
42
+ animation-delay: 1.15s;
43
+ }
44
+ }
45
+ }
46
+
47
+ &__track {
48
+ opacity: 0.4;
49
+ height: 100%;
50
+ }
51
+ }
52
+
53
+ @keyframes q-progress {
54
+ 0% {
55
+ transform: translate3d(-35%, 0, 0) scale3d(0.35, 1, 1);
56
+ }
57
+ 60% {
58
+ transform: translate3d(100%, 0, 0) scale3d(0.9, 1, 1);
59
+ }
60
+ 100% {
61
+ transform: translate3d(100%, 0, 0) scale3d(0.9, 1, 1);
62
+ }
63
+ }
64
+
65
+ @keyframes q-progress-fast {
66
+ 0% {
67
+ transform: translate3d(-101%, 0, 0) scale3d(1, 1, 1);
68
+ }
69
+ 60% {
70
+ transform: translate3d(107%, 0, 0) scale3d(0.01, 1, 1);
71
+ }
72
+ 100% {
73
+ transform: translate3d(107%, 0, 0) scale3d(0.01, 1, 1);
74
+ }
75
+ }
@@ -1,20 +1,62 @@
1
- <script>export let value = 0, from = "left", rounded = false, userClasses = "";
2
- export { userClasses as class };
1
+ <svelte:options runes={true} />
2
+
3
+ <script lang="ts">
4
+ import { useSize } from "../../composables/useSize";
5
+ function width(val, reverse2) {
6
+ return reverse2
7
+ ? `translateX(100%) scale3d(-${val}, 1, 1)`
8
+ : `scale3d(${val}, 1, 1)`;
9
+ }
10
+ let {
11
+ value = 0,
12
+ buffer,
13
+ reverse = false,
14
+ noRound = false,
15
+ size = "0.375em",
16
+ color = "primary",
17
+ animationSpeed = 600,
18
+ instantFeedback = false,
19
+ trackColor = "secondary-container",
20
+ indeterminate = false,
21
+ ...props
22
+ } = $props();
23
+ const normalized = $derived(value > 1 ? value / 100 : value);
24
+ const qSize = $derived(useSize(size, "q-linear-progress"));
25
+ const radius = $derived(noRound ? "0" : "0.75rem");
26
+ const origin = $derived(reverse ? "0 100%" : "0 0");
27
+ const transition = $derived(
28
+ instantFeedback || indeterminate ? void 0 : `transform ${animationSpeed}ms`,
29
+ );
30
+ const trackTransform = $derived(width(buffer ?? 1, reverse));
31
+ const indicatorTransform = $derived(
32
+ width(+indeterminate || normalized, reverse),
33
+ );
3
34
  </script>
4
35
 
5
36
  <div
6
- class="q-linear-progress {userClasses}"
7
- class:q-linear-progress--rounded={rounded}
8
- class:q-linear-progress--right={from === "right"}
37
+ {...props}
38
+ class="q-linear-progress{props.class ? ` ${props.class}` : ''}"
39
+ style:font-size={qSize.style}
40
+ style:border-radius={radius}
9
41
  role="progressbar"
10
- aria-valuenow={value}
11
- aria-valuemin={0}
12
- aria-valuemax={100}
13
- {...$$restProps}
42
+ aria-valuemin="0"
43
+ aria-valuemax="100"
44
+ aria-valuenow={indeterminate ? undefined : normalized}
14
45
  >
15
46
  <div
16
- class="q-linear-progress__progress"
17
- class:q-linear-progress__progress--right={from === "right"}
18
- style="--progress:{value}%"
19
- />
47
+ class="q-linear-progress__track absolute-full"
48
+ style:transition
49
+ style:transform-origin={origin}
50
+ style:background-color="var(--{trackColor}, {trackColor})"
51
+ style:transform={trackTransform}
52
+ ></div>
53
+
54
+ <div
55
+ class="q-linear-progress__indicator"
56
+ class:q-linear-progress__indicator--indeterminate={indeterminate}
57
+ style:--q-indicator-color="var(--{color}, {color})"
58
+ style:transition
59
+ style:transform={indicatorTransform}
60
+ style:transform-origin={origin}
61
+ ></div>
20
62
  </div>
@@ -1,21 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { QLinearProgressProps } from "./props";
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- value?: number | undefined;
7
- from?: QLinearProgressProps["from"];
8
- rounded?: QLinearProgressProps["rounded"];
9
- class?: string | null | undefined;
10
- };
11
- events: {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {};
15
- };
16
- type QLinearProgressProps_ = typeof __propDef.props;
17
- export { QLinearProgressProps_ as QLinearProgressProps };
18
- export type QLinearProgressEvents = typeof __propDef.events;
19
- export type QLinearProgressSlots = typeof __propDef.slots;
20
- export default class QLinearProgress extends SvelteComponent<QLinearProgressProps, QLinearProgressEvents, QLinearProgressSlots> {
21
- }
2
+ declare const QLinearProgress: import("svelte").Component<QLinearProgressProps, {}, "">;
3
+ export default QLinearProgress;
@@ -1,24 +1,80 @@
1
1
  // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
- // @quaffHash 2d797d26b761264825c885770bbaeaf7
2
+ // @quaffHash 2274dbcac2f2a3c92c1fbfd4f31fc69a
3
3
  export const QLinearProgressDocsProps = [
4
4
  {
5
5
  name: "value",
6
6
  type: "number",
7
- optional: false,
7
+ optional: true,
8
8
  clickableType: false,
9
9
  description: "",
10
10
  default: "0",
11
11
  },
12
12
  {
13
- name: "from",
14
- type: '"left" | "right"',
13
+ name: "buffer",
14
+ type: "number",
15
+ optional: true,
16
+ clickableType: false,
17
+ description: "",
18
+ default: "undefined",
19
+ },
20
+ {
21
+ name: "size",
22
+ type: "Q.CssValue | number",
23
+ optional: true,
24
+ clickableType: true,
25
+ description: "",
26
+ default: '"0.375em"',
27
+ },
28
+ {
29
+ name: "reverse",
30
+ type: "boolean",
31
+ optional: true,
32
+ clickableType: false,
33
+ description: "",
34
+ default: "false",
35
+ },
36
+ {
37
+ name: "noRound",
38
+ type: "boolean",
15
39
  optional: true,
16
40
  clickableType: false,
17
41
  description: "",
18
- default: "left",
42
+ default: "false",
19
43
  },
20
44
  {
21
- name: "rounded",
45
+ name: "instantFeedback",
46
+ type: "boolean",
47
+ optional: true,
48
+ clickableType: false,
49
+ description: "",
50
+ default: "false",
51
+ },
52
+ {
53
+ name: "color",
54
+ type: "string",
55
+ optional: true,
56
+ clickableType: false,
57
+ description: "",
58
+ default: '"primary"',
59
+ },
60
+ {
61
+ name: "trackColor",
62
+ type: "string",
63
+ optional: true,
64
+ clickableType: false,
65
+ description: "",
66
+ default: '"secondary-container"',
67
+ },
68
+ {
69
+ name: "animationSpeed",
70
+ type: "number",
71
+ optional: true,
72
+ clickableType: false,
73
+ description: "",
74
+ default: "600",
75
+ },
76
+ {
77
+ name: "indeterminate",
22
78
  type: "boolean",
23
79
  optional: true,
24
80
  clickableType: false,
@@ -30,7 +86,7 @@ export const QCircularProgressDocsProps = [
30
86
  {
31
87
  name: "value",
32
88
  type: "number",
33
- optional: false,
89
+ optional: true,
34
90
  clickableType: false,
35
91
  description: "",
36
92
  default: "0",
@@ -43,13 +99,21 @@ export const QCircularProgressDocsProps = [
43
99
  description: "",
44
100
  default: "false",
45
101
  },
102
+ {
103
+ name: "noRound",
104
+ type: "boolean",
105
+ optional: true,
106
+ clickableType: false,
107
+ description: "",
108
+ default: "false",
109
+ },
46
110
  {
47
111
  name: "size",
48
- type: "CssValue | number",
112
+ type: "Q.CssValue | number",
49
113
  optional: true,
50
114
  clickableType: true,
51
115
  description: "",
52
- default: "2em",
116
+ default: '"2em"',
53
117
  },
54
118
  {
55
119
  name: "color",
@@ -57,7 +121,15 @@ export const QCircularProgressDocsProps = [
57
121
  optional: true,
58
122
  clickableType: false,
59
123
  description: "",
60
- default: "undefined",
124
+ default: '"primary"',
125
+ },
126
+ {
127
+ name: "trackColor",
128
+ type: "string",
129
+ optional: true,
130
+ clickableType: false,
131
+ description: "",
132
+ default: '"secondary-container"',
61
133
  },
62
134
  {
63
135
  name: "thickness",
@@ -67,4 +139,60 @@ export const QCircularProgressDocsProps = [
67
139
  description: "",
68
140
  default: "5",
69
141
  },
142
+ {
143
+ name: "min",
144
+ type: "number",
145
+ optional: true,
146
+ clickableType: false,
147
+ description: "",
148
+ default: "0",
149
+ },
150
+ {
151
+ name: "max",
152
+ type: "number",
153
+ optional: true,
154
+ clickableType: false,
155
+ description: "",
156
+ default: "100",
157
+ },
158
+ {
159
+ name: "angle",
160
+ type: "number",
161
+ optional: true,
162
+ clickableType: false,
163
+ description: "",
164
+ default: "0",
165
+ },
166
+ {
167
+ name: "showValue",
168
+ type: "boolean",
169
+ optional: true,
170
+ clickableType: false,
171
+ description: "",
172
+ default: "false",
173
+ },
174
+ {
175
+ name: "instantFeedback",
176
+ type: "boolean",
177
+ optional: true,
178
+ clickableType: false,
179
+ description: "",
180
+ default: "false",
181
+ },
182
+ {
183
+ name: "animationSpeed",
184
+ type: "number",
185
+ optional: true,
186
+ clickableType: false,
187
+ description: "",
188
+ default: "600",
189
+ },
190
+ {
191
+ name: "fontSize",
192
+ type: "Q.CssValue | number",
193
+ optional: true,
194
+ clickableType: true,
195
+ description: "",
196
+ default: '"0.25em"',
197
+ },
70
198
  ];
@@ -1,38 +1,101 @@
1
- import type { NativeProps, CssValue } from "../../utils";
2
- import type { HTMLAttributes, SVGAttributes } from "svelte/elements";
3
- export interface QLinearProgressProps extends NativeProps, HTMLAttributes<HTMLDivElement> {
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ export interface QLinearProgressProps extends HTMLAttributes<HTMLDivElement> {
4
3
  /**
5
4
  * @default 0
6
5
  */
7
- value: number;
6
+ value?: number;
8
7
  /**
9
- * @default left
8
+ * @default undefined
9
+ */
10
+ buffer?: number;
11
+ /**
12
+ * @default "0.375em"
13
+ */
14
+ size?: Q.CssValue | number;
15
+ /**
16
+ * @default false
17
+ */
18
+ reverse?: boolean;
19
+ /**
20
+ * @default false
21
+ */
22
+ noRound?: boolean;
23
+ /**
24
+ * @default false
25
+ */
26
+ instantFeedback?: boolean;
27
+ /**
28
+ * @default "primary"
29
+ */
30
+ color?: string;
31
+ /**
32
+ * @default "secondary-container"
10
33
  */
11
- from?: "left" | "right";
34
+ trackColor?: string;
35
+ /**
36
+ * @default 600
37
+ */
38
+ animationSpeed?: number;
12
39
  /**
13
40
  * @default false
14
41
  */
15
- rounded?: boolean;
42
+ indeterminate?: boolean;
16
43
  }
17
- export interface QCircularProgressProps extends NativeProps, SVGAttributes<SVGSVGElement> {
44
+ export interface QCircularProgressProps extends HTMLAttributes<HTMLDivElement> {
18
45
  /**
19
46
  * @default 0
20
47
  */
21
- value: number;
48
+ value?: number;
22
49
  /**
23
50
  * @default false
24
51
  */
25
52
  indeterminate?: boolean;
26
53
  /**
27
- * @default 2em
54
+ * @default false
28
55
  */
29
- size?: CssValue | number;
56
+ noRound?: boolean;
30
57
  /**
31
- * @default undefined
58
+ * @default "2em"
59
+ */
60
+ size?: Q.CssValue | number;
61
+ /**
62
+ * @default "primary"
32
63
  */
33
64
  color?: string;
65
+ /**
66
+ * @default "secondary-container"
67
+ */
68
+ trackColor?: string;
34
69
  /**
35
70
  * @default 5
36
71
  */
37
72
  thickness?: number;
73
+ /**
74
+ * @default 0
75
+ */
76
+ min?: number;
77
+ /**
78
+ * @default 100
79
+ */
80
+ max?: number;
81
+ /**
82
+ * @default 0
83
+ */
84
+ angle?: number;
85
+ /**
86
+ * @default false
87
+ */
88
+ showValue?: boolean;
89
+ /**
90
+ * @default false
91
+ */
92
+ instantFeedback?: boolean;
93
+ /**
94
+ * @default 600
95
+ */
96
+ animationSpeed?: number;
97
+ /**
98
+ * @default "0.25em"
99
+ */
100
+ fontSize?: Q.CssValue | number;
38
101
  }
@@ -1,8 +1,19 @@
1
- <script>export let value = "", label = "", selected = void 0, disable = false, userClasses = "";
2
- export { userClasses as class };
1
+ <script lang="ts">
2
+ let {
3
+ value = "",
4
+ label = "",
5
+ selected = $bindable(),
6
+ disable = false,
7
+ ...props
8
+ } = $props();
3
9
  </script>
4
10
 
5
- <label class="q-radio {userClasses}" class:q-radio--disabled={disable} {...$$restProps}>
11
+ <label
12
+ {...props}
13
+ class="q-radio{props.class ? ` ${props.class}` : ''}"
14
+ class:q-radio--disabled={disable}
15
+ aria-disabled={disable || undefined}
16
+ >
6
17
  <input type="radio" bind:group={selected} {value} disabled={disable} />
7
18
  <span>{label}</span>
8
19
  </label>