@quaffui/quaff 0.1.0-prealpha15 → 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 (323) 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 -50
  12. package/dist/components/avatar/QAvatar.svelte.d.ts +2 -25
  13. package/dist/components/avatar/docs.d.ts +1 -1
  14. package/dist/components/avatar/docs.js +1 -1
  15. package/dist/components/avatar/docs.props.js +21 -5
  16. package/dist/components/avatar/index.scss +5 -3
  17. package/dist/components/avatar/props.d.ts +24 -7
  18. package/dist/components/breadcrumbs/QBreadcrumbs.scss +10 -0
  19. package/dist/components/breadcrumbs/QBreadcrumbs.svelte +24 -10
  20. package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +2 -22
  21. package/dist/components/breadcrumbs/QBreadcrumbsEl.scss +10 -0
  22. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +62 -38
  23. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +2 -25
  24. package/dist/components/breadcrumbs/docs.d.ts +1 -1
  25. package/dist/components/breadcrumbs/docs.js +1 -1
  26. package/dist/components/breadcrumbs/docs.props.js +27 -27
  27. package/dist/components/breadcrumbs/props.d.ts +25 -24
  28. package/dist/components/button/QBtn.scss +133 -0
  29. package/dist/components/button/QBtn.svelte +89 -46
  30. package/dist/components/button/QBtn.svelte.d.ts +2 -33
  31. package/dist/components/button/docs.d.ts +1 -1
  32. package/dist/components/button/docs.js +1 -1
  33. package/dist/components/button/docs.props.js +26 -18
  34. package/dist/components/button/props.d.ts +21 -15
  35. package/dist/components/card/QCard.scss +25 -0
  36. package/dist/components/card/QCard.svelte +26 -17
  37. package/dist/components/card/QCard.svelte.d.ts +2 -25
  38. package/dist/components/card/QCardActions.scss +10 -0
  39. package/dist/components/card/QCardActions.svelte +11 -8
  40. package/dist/components/card/QCardActions.svelte.d.ts +2 -21
  41. package/dist/components/card/QCardSection.scss +10 -0
  42. package/dist/components/card/QCardSection.svelte +9 -7
  43. package/dist/components/card/QCardSection.svelte.d.ts +2 -22
  44. package/dist/components/card/docs.d.ts +3 -3
  45. package/dist/components/card/docs.js +3 -3
  46. package/dist/components/card/docs.props.js +6 -14
  47. package/dist/components/card/props.d.ts +9 -15
  48. package/dist/components/checkbox/QCheckbox.svelte +6 -5
  49. package/dist/components/checkbox/QCheckbox.svelte.d.ts +2 -20
  50. package/dist/components/checkbox/docs.d.ts +1 -1
  51. package/dist/components/checkbox/docs.js +1 -1
  52. package/dist/components/checkbox/docs.props.js +1 -1
  53. package/dist/components/checkbox/index.scss +3 -1
  54. package/dist/components/checkbox/props.d.ts +1 -2
  55. package/dist/components/chip/QChip.scss +179 -0
  56. package/dist/components/chip/QChip.svelte +97 -69
  57. package/dist/components/chip/QChip.svelte.d.ts +2 -35
  58. package/dist/components/chip/docs.d.ts +1 -1
  59. package/dist/components/chip/docs.js +1 -1
  60. package/dist/components/chip/docs.props.js +23 -47
  61. package/dist/components/chip/props.d.ts +21 -34
  62. package/dist/components/codeBlock/QCodeBlock.svelte +63 -45
  63. package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +2 -19
  64. package/dist/components/codeBlock/docs.props.js +10 -2
  65. package/dist/components/codeBlock/props.d.ts +6 -1
  66. package/dist/components/dialog/{index.scss → QDialog.scss} +9 -7
  67. package/dist/components/dialog/QDialog.svelte +72 -70
  68. package/dist/components/dialog/QDialog.svelte.d.ts +6 -36
  69. package/dist/components/dialog/docs.d.ts +1 -1
  70. package/dist/components/dialog/docs.js +1 -1
  71. package/dist/components/dialog/docs.props.d.ts +0 -8
  72. package/dist/components/dialog/docs.props.js +1 -131
  73. package/dist/components/dialog/props.d.ts +0 -16
  74. package/dist/components/drawer/QDrawer.scss +45 -0
  75. package/dist/components/drawer/QDrawer.svelte +87 -94
  76. package/dist/components/drawer/QDrawer.svelte.d.ts +6 -39
  77. package/dist/components/drawer/docs.d.ts +1 -1
  78. package/dist/components/drawer/docs.js +1 -1
  79. package/dist/components/drawer/docs.props.js +3 -3
  80. package/dist/components/drawer/props.d.ts +2 -2
  81. package/dist/components/footer/QFooter.scss +42 -0
  82. package/dist/components/footer/QFooter.svelte +65 -24
  83. package/dist/components/footer/QFooter.svelte.d.ts +2 -23
  84. package/dist/components/footer/docs.d.ts +1 -1
  85. package/dist/components/footer/docs.js +1 -1
  86. package/dist/components/footer/docs.props.js +14 -6
  87. package/dist/components/footer/props.d.ts +8 -5
  88. package/dist/components/header/QHeader.scss +54 -0
  89. package/dist/components/header/QHeader.svelte +52 -24
  90. package/dist/components/header/QHeader.svelte.d.ts +2 -23
  91. package/dist/components/header/docs.props.js +23 -7
  92. package/dist/components/header/props.d.ts +11 -3
  93. package/dist/components/icon/{index.scss → QIcon.scss} +2 -4
  94. package/dist/components/icon/QIcon.svelte +29 -16
  95. package/dist/components/icon/QIcon.svelte.d.ts +2 -27
  96. package/dist/components/icon/docs.d.ts +1 -1
  97. package/dist/components/icon/docs.js +1 -1
  98. package/dist/components/icon/docs.props.js +5 -5
  99. package/dist/components/icon/props.d.ts +6 -6
  100. package/dist/components/index.d.ts +2 -2
  101. package/dist/components/index.js +2 -2
  102. package/dist/components/input/QInput.svelte +52 -25
  103. package/dist/components/input/QInput.svelte.d.ts +2 -32
  104. package/dist/components/input/docs.d.ts +1 -1
  105. package/dist/components/input/docs.js +1 -1
  106. package/dist/components/input/docs.props.js +33 -1
  107. package/dist/components/input/props.d.ts +5 -12
  108. package/dist/components/input/props.js +1 -12
  109. package/dist/components/layout/QLayout.scss +178 -0
  110. package/dist/components/layout/QLayout.svelte +100 -80
  111. package/dist/components/layout/QLayout.svelte.d.ts +16 -43
  112. package/dist/components/layout/docs.d.ts +1 -1
  113. package/dist/components/layout/docs.js +1 -1
  114. package/dist/components/layout/docs.props.js +57 -1
  115. package/dist/components/layout/props.d.ts +8 -0
  116. package/dist/components/list/QItem.scss +61 -0
  117. package/dist/components/list/QItem.svelte +65 -46
  118. package/dist/components/list/QItem.svelte.d.ts +2 -30
  119. package/dist/components/list/QItemSection.scss +45 -0
  120. package/dist/components/list/QItemSection.svelte +46 -34
  121. package/dist/components/list/QItemSection.svelte.d.ts +2 -24
  122. package/dist/components/list/QList.scss +30 -0
  123. package/dist/components/list/QList.svelte +28 -16
  124. package/dist/components/list/QList.svelte.d.ts +2 -28
  125. package/dist/components/list/docs.d.ts +1 -1
  126. package/dist/components/list/docs.js +1 -1
  127. package/dist/components/list/docs.props.js +36 -4
  128. package/dist/components/list/props.d.ts +9 -8
  129. package/dist/components/list/props.js +1 -25
  130. package/dist/components/private/ContextReseter.svelte +6 -11
  131. package/dist/components/private/ContextReseter.svelte.d.ts +6 -18
  132. package/dist/components/private/QApi.svelte +118 -97
  133. package/dist/components/private/QApi.svelte.d.ts +4 -16
  134. package/dist/components/private/QDocs.svelte +67 -58
  135. package/dist/components/private/QDocs.svelte.d.ts +9 -20
  136. package/dist/components/private/QDocsSection.svelte +15 -22
  137. package/dist/components/private/QDocsSection.svelte.d.ts +7 -29
  138. package/dist/components/private/QIconSnippet.svelte +12 -0
  139. package/dist/components/private/QIconSnippet.svelte.d.ts +8 -0
  140. package/dist/components/progress/QCircularProgress.scss +63 -0
  141. package/dist/components/progress/QCircularProgress.svelte +104 -28
  142. package/dist/components/progress/QCircularProgress.svelte.d.ts +2 -22
  143. package/dist/components/progress/QLinearProgress.scss +75 -0
  144. package/dist/components/progress/QLinearProgress.svelte +55 -13
  145. package/dist/components/progress/QLinearProgress.svelte.d.ts +2 -20
  146. package/dist/components/progress/docs.d.ts +1 -1
  147. package/dist/components/progress/docs.js +1 -1
  148. package/dist/components/progress/docs.props.js +138 -10
  149. package/dist/components/progress/props.d.ts +75 -12
  150. package/dist/components/radio/QRadio.svelte +14 -3
  151. package/dist/components/radio/QRadio.svelte.d.ts +2 -21
  152. package/dist/components/radio/docs.d.ts +1 -1
  153. package/dist/components/radio/docs.js +1 -1
  154. package/dist/components/radio/docs.props.js +2 -2
  155. package/dist/components/radio/index.scss +3 -1
  156. package/dist/components/radio/props.d.ts +2 -4
  157. package/dist/components/radio/props.js +1 -8
  158. package/dist/components/railbar/QRailbar.scss +54 -0
  159. package/dist/components/railbar/QRailbar.svelte +43 -66
  160. package/dist/components/railbar/QRailbar.svelte.d.ts +2 -22
  161. package/dist/components/railbar/docs.d.ts +1 -1
  162. package/dist/components/railbar/docs.js +1 -1
  163. package/dist/components/railbar/docs.props.js +4 -4
  164. package/dist/components/railbar/props.d.ts +3 -3
  165. package/dist/components/select/QSelect.svelte +121 -88
  166. package/dist/components/select/QSelect.svelte.d.ts +2 -34
  167. package/dist/components/select/docs.d.ts +1 -1
  168. package/dist/components/select/docs.js +8 -1
  169. package/dist/components/select/docs.props.js +41 -1
  170. package/dist/components/select/index.scss +8 -6
  171. package/dist/components/select/props.d.ts +6 -12
  172. package/dist/components/select/props.js +1 -12
  173. package/dist/components/separator/QSeparator.scss +54 -0
  174. package/dist/components/separator/QSeparator.svelte +38 -45
  175. package/dist/components/separator/QSeparator.svelte.d.ts +2 -24
  176. package/dist/components/separator/docs.d.ts +1 -1
  177. package/dist/components/separator/docs.js +1 -1
  178. package/dist/components/separator/docs.props.js +4 -4
  179. package/dist/components/separator/props.d.ts +5 -7
  180. package/dist/components/separator/props.js +1 -9
  181. package/dist/components/switch/QSwitch.scss +305 -0
  182. package/dist/components/switch/QSwitch.svelte +96 -0
  183. package/dist/components/switch/QSwitch.svelte.d.ts +3 -0
  184. package/dist/components/{toggle → switch}/docs.d.ts +1 -1
  185. package/dist/components/{toggle → switch}/docs.js +3 -3
  186. package/dist/components/{toggle → switch}/docs.props.d.ts +1 -1
  187. package/dist/components/{toggle → switch}/docs.props.js +30 -6
  188. package/dist/components/switch/props.d.ts +13 -0
  189. package/dist/components/switch/props.js +1 -0
  190. package/dist/components/table/QTable.svelte +99 -85
  191. package/dist/components/table/QTable.svelte.d.ts +3 -29
  192. package/dist/components/table/docs.d.ts +1 -1
  193. package/dist/components/table/docs.js +1 -1
  194. package/dist/components/table/docs.props.js +9 -1
  195. package/dist/components/table/index.scss +3 -1
  196. package/dist/components/table/props.d.ts +10 -0
  197. package/dist/components/tabs/QTab.scss +71 -0
  198. package/dist/components/tabs/QTab.svelte +75 -96
  199. package/dist/components/tabs/QTab.svelte.d.ts +2 -25
  200. package/dist/components/tabs/QTabs.scss +40 -0
  201. package/dist/components/tabs/QTabs.svelte +107 -59
  202. package/dist/components/tabs/QTabs.svelte.d.ts +6 -31
  203. package/dist/components/tabs/docs.d.ts +1 -1
  204. package/dist/components/tabs/docs.js +1 -1
  205. package/dist/components/tabs/docs.props.js +3 -3
  206. package/dist/components/tabs/index.scss +4 -2
  207. package/dist/components/tabs/props.d.ts +5 -4
  208. package/dist/components/tabs/props.js +1 -1
  209. package/dist/components/toolbar/QToolbar.svelte +15 -12
  210. package/dist/components/toolbar/QToolbar.svelte.d.ts +2 -23
  211. package/dist/components/toolbar/QToolbarTitle.svelte +8 -7
  212. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +2 -21
  213. package/dist/components/toolbar/docs.d.ts +1 -1
  214. package/dist/components/toolbar/docs.js +1 -1
  215. package/dist/components/toolbar/docs.props.js +4 -4
  216. package/dist/components/toolbar/index.scss +12 -14
  217. package/dist/components/toolbar/props.d.ts +4 -5
  218. package/dist/components/tooltip/QTooltip.svelte +5 -9
  219. package/dist/components/tooltip/QTooltip.svelte.d.ts +2 -21
  220. package/dist/components/tooltip/docs.d.ts +1 -1
  221. package/dist/components/tooltip/docs.js +1 -1
  222. package/dist/components/tooltip/docs.props.js +1 -1
  223. package/dist/components/tooltip/index.scss +3 -1
  224. package/dist/components/tooltip/props.d.ts +1 -1
  225. package/dist/composables/index.d.ts +3 -3
  226. package/dist/composables/index.js +3 -3
  227. package/dist/composables/useSize.d.ts +10 -0
  228. package/dist/composables/useSize.js +37 -0
  229. package/dist/composables/{use-size.d.ts → useSizeLegacy.d.ts} +2 -2
  230. package/dist/composables/{use-size.js → useSizeLegacy.js} +5 -5
  231. package/dist/css/_components.scss +31 -0
  232. package/dist/css/_disabled.scss +18 -0
  233. package/dist/css/{ripple.scss → _ripple.scss} +1 -1
  234. package/dist/css/_variables.scss +73 -0
  235. package/dist/css/classes/_design.scss +57 -0
  236. package/dist/css/classes/_flex.scss +62 -0
  237. package/dist/css/classes/_grid.scss +35 -0
  238. package/dist/css/classes/_index.scss +7 -0
  239. package/dist/css/classes/_overflow.scss +7 -0
  240. package/dist/css/classes/_position.scss +7 -0
  241. package/dist/css/classes/_select.scss +6 -0
  242. package/dist/css/classes/_spaces.scss +23 -0
  243. package/dist/css/fonts.scss +16 -3
  244. package/dist/css/index.css +1 -1
  245. package/dist/css/index.scss +15 -94
  246. package/dist/css/mixins/_design.scss +63 -0
  247. package/dist/css/mixins/{field-mixins.scss → _field.scss} +16 -5
  248. package/dist/css/mixins/_image.scss +63 -0
  249. package/dist/css/mixins/_index.scss +9 -0
  250. package/dist/css/mixins/_layout.scss +20 -0
  251. package/dist/css/mixins/{menu.scss → _menu.scss} +4 -2
  252. package/dist/css/mixins/{selection.scss → _selection.scss} +7 -67
  253. package/dist/css/mixins/_spaces.scss +36 -0
  254. package/dist/css/mixins/_typography.scss +7 -0
  255. package/dist/css/shared/q-field.scss +62 -32
  256. package/dist/css/theme/_colors.scss +173 -0
  257. package/dist/css/theme/css-variables.scss +5 -0
  258. package/dist/css/theme/page.scss +3 -3
  259. package/dist/css/theme/reset.scss +17 -1
  260. package/dist/css/theme/theme.scss +2 -3
  261. package/dist/css/theme/tokens.scss +0 -159
  262. package/dist/global.d.ts +1 -1
  263. package/dist/helpers/clickOutside.d.ts +2 -2
  264. package/dist/helpers/clickOutside.js +5 -4
  265. package/dist/helpers/ripple.d.ts +1 -1
  266. package/dist/helpers/ripple.js +14 -5
  267. package/dist/helpers/version.d.ts +1 -1
  268. package/dist/helpers/version.js +1 -1
  269. package/dist/index.d.ts +2 -1
  270. package/dist/index.js +2 -1
  271. package/dist/stores/index.d.ts +0 -2
  272. package/dist/stores/index.js +1 -2
  273. package/dist/utils/clipboard.js +2 -2
  274. package/dist/utils/colors.d.ts +71 -0
  275. package/dist/utils/colors.js +103 -15
  276. package/dist/utils/dom.d.ts +2 -0
  277. package/dist/utils/dom.js +10 -4
  278. package/dist/utils/number.d.ts +2 -0
  279. package/dist/utils/number.js +9 -0
  280. package/dist/utils/props.d.ts +2 -2
  281. package/dist/utils/props.js +8 -6
  282. package/dist/utils/router.d.ts +17 -0
  283. package/dist/utils/router.js +23 -0
  284. package/dist/utils/string.d.ts +1 -0
  285. package/dist/utils/string.js +4 -1
  286. package/dist/utils/types.d.ts +7 -2
  287. package/dist/utils/types.js +0 -3
  288. package/dist/utils/types.json +8 -5
  289. package/dist/utils/watchable.d.ts +0 -1
  290. package/dist/utils/watchable.js +1 -1
  291. package/package.json +42 -39
  292. package/dist/components/breadcrumbs/index.scss +0 -20
  293. package/dist/components/button/index.scss +0 -98
  294. package/dist/components/card/index.scss +0 -56
  295. package/dist/components/chip/index.scss +0 -103
  296. package/dist/components/drawer/index.scss +0 -59
  297. package/dist/components/footer/index.scss +0 -28
  298. package/dist/components/layout/index.scss +0 -387
  299. package/dist/components/list/index.scss +0 -144
  300. package/dist/components/progress/index.scss +0 -82
  301. package/dist/components/railbar/index.scss +0 -39
  302. package/dist/components/separator/index.scss +0 -52
  303. package/dist/components/toggle/QToggle.svelte +0 -34
  304. package/dist/components/toggle/QToggle.svelte.d.ts +0 -23
  305. package/dist/components/toggle/index.scss +0 -31
  306. package/dist/components/toggle/props.d.ts +0 -9
  307. package/dist/components/toggle/props.js +0 -9
  308. package/dist/css/grid.scss +0 -50
  309. package/dist/css/mixins.scss +0 -137
  310. package/dist/css/states.scss +0 -75
  311. package/dist/css/theme/bridge.scss +0 -15
  312. package/dist/css/theme/theme.dark.scss +0 -39
  313. package/dist/css/theme/theme.light.scss +0 -39
  314. package/dist/css/variables-sass.scss +0 -16
  315. package/dist/stores/QTheme.d.ts +0 -42
  316. package/dist/stores/QTheme.js +0 -60
  317. package/dist/stores/Quaff.d.ts +0 -32
  318. package/dist/stores/Quaff.js +0 -58
  319. /package/dist/composables/{use-align.d.ts → useAlign.d.ts} +0 -0
  320. /package/dist/composables/{use-align.js → useAlign.js} +0 -0
  321. /package/dist/composables/{use-router-link.d.ts → useRouterLink.d.ts} +0 -0
  322. /package/dist/composables/{use-router-link.js → useRouterLink.js} +0 -0
  323. /package/dist/css/mixins/{table.scss → _table.scss} +0 -0
@@ -1,24 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { QFooterProps } from "./props";
3
- declare const __propDef: {
4
- props: {
5
- value?: QFooterProps["value"];
6
- border?: QFooterProps["border"];
7
- elevate?: QFooterProps["elevate"];
8
- height?: QFooterProps["height"];
9
- class?: string | null | undefined;
10
- style?: string | null | undefined;
11
- };
12
- events: {
13
- [evt: string]: CustomEvent<any>;
14
- };
15
- slots: {
16
- default: {};
17
- };
18
- };
19
- type QFooterProps_ = typeof __propDef.props;
20
- export { QFooterProps_ as QFooterProps };
21
- export type QFooterEvents = typeof __propDef.events;
22
- export type QFooterSlots = typeof __propDef.slots;
23
- export default class QFooter extends SvelteComponent<QFooterProps, QFooterEvents, QFooterSlots> {
24
- }
2
+ declare const QFooter: import("svelte").Component<QFooterProps, {}, "value">;
3
+ export default QFooter;
@@ -1,2 +1,2 @@
1
1
  import type { QComponentDocs } from "../../utils";
2
- export declare let QFooterDocs: QComponentDocs;
2
+ export declare const QFooterDocs: QComponentDocs;
@@ -1,5 +1,5 @@
1
1
  import { QFooterDocsProps } from "./docs.props";
2
- export let QFooterDocs = {
2
+ export const QFooterDocs = {
3
3
  name: "QFooter",
4
4
  description: "Footers can be used to display navigation and key actions at the bottom of the screen.",
5
5
  docs: {
@@ -1,5 +1,5 @@
1
1
  // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
- // @quaffHash c4c13f38059522fc7b5db2ae14765e9f
2
+ // @quaffHash b53713bcb971afb18ef3d69602e8f218
3
3
  export const QFooterDocsProps = [
4
4
  {
5
5
  name: "value",
@@ -10,7 +10,7 @@ export const QFooterDocsProps = [
10
10
  default: "true",
11
11
  },
12
12
  {
13
- name: "border",
13
+ name: "bordered",
14
14
  type: "boolean",
15
15
  optional: true,
16
16
  clickableType: false,
@@ -18,18 +18,26 @@ export const QFooterDocsProps = [
18
18
  default: "false",
19
19
  },
20
20
  {
21
- name: "elevate",
21
+ name: "reveal",
22
22
  type: "boolean",
23
23
  optional: true,
24
24
  clickableType: false,
25
- description: "Determines whether the footer has an elevated effect. (not supported yet)",
25
+ description: "",
26
26
  default: "false",
27
27
  },
28
+ {
29
+ name: "revealOffset",
30
+ type: "number",
31
+ optional: true,
32
+ clickableType: false,
33
+ description: "",
34
+ default: "250",
35
+ },
28
36
  {
29
37
  name: "height",
30
- type: "number | CssValue",
38
+ type: "number",
31
39
  optional: true,
32
- clickableType: true,
40
+ clickableType: false,
33
41
  description: 'The height of the footer. Can be specified with a CSS unit. If not specified, "px" will be used. (not supported yet)',
34
42
  default: "undefined",
35
43
  },
@@ -1,4 +1,4 @@
1
- import type { CssValue, NativeProps } from "../../utils";
1
+ import type { NativeProps } from "../../utils";
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
  export interface QFooterProps extends NativeProps, HTMLAttributes<HTMLElement> {
4
4
  /**
@@ -10,15 +10,18 @@ export interface QFooterProps extends NativeProps, HTMLAttributes<HTMLElement> {
10
10
  * Determines whether the footer has a border around it. (not supported yet)
11
11
  * @default false
12
12
  */
13
- border?: boolean;
13
+ bordered?: boolean;
14
14
  /**
15
- * Determines whether the footer has an elevated effect. (not supported yet)
16
15
  * @default false
17
16
  */
18
- elevate?: boolean;
17
+ reveal?: boolean;
18
+ /**
19
+ * @default 250
20
+ */
21
+ revealOffset?: number;
19
22
  /**
20
23
  * The height of the footer. Can be specified with a CSS unit. If not specified, "px" will be used. (not supported yet)
21
24
  * @default undefined
22
25
  */
23
- height?: number | CssValue;
26
+ height?: number;
24
27
  }
@@ -0,0 +1,54 @@
1
+ @use "$css/mixins";
2
+ @use "$css/variables";
3
+
4
+ .q-header {
5
+ z-index: 4;
6
+ position: absolute;
7
+ top: 0;
8
+ right: 0;
9
+ bottom: auto;
10
+ left: 0;
11
+
12
+ min-height: unset;
13
+ height: var(--header-height);
14
+ width: auto;
15
+
16
+ border-radius: 0;
17
+
18
+ background-color: var(--surface);
19
+
20
+ transition: all variables.$speed3;
21
+
22
+ &.q-header--elevated {
23
+ @include mixins.elevate(1);
24
+ }
25
+
26
+ &.q-header--bordered {
27
+ @include mixins.border(var(--outline), "bottom");
28
+ }
29
+
30
+ &.q-header--dense {
31
+ --header-height: 3rem;
32
+ }
33
+
34
+ &.q-header--prominent {
35
+ --header-height: 7rem;
36
+ }
37
+
38
+ &.q-header--collapsed {
39
+ translate: 0 calc(-1.5 * var(--header-height));
40
+ }
41
+
42
+ & > nav {
43
+ height: 100%;
44
+ min-height: unset;
45
+
46
+ @include mixins.padding("x-md");
47
+ }
48
+
49
+ @each $side in ("left", "right") {
50
+ &.q-header--offset-#{$side} {
51
+ #{$side}: var(--offset-#{$side}, 0);
52
+ }
53
+ }
54
+ }
@@ -1,28 +1,56 @@
1
- <script>import { createClasses } from "../../utils";
2
- import { getContext } from "svelte";
3
- import { QToolbar } from "../..";
4
- export let inset = false, elevate = false, border = false, userClasses = void 0, userStyles = void 0;
5
- export { userClasses as class, userStyles as style };
6
- let ctx = getContext("layout");
7
- $:
8
- if ($ctx === void 0) {
9
- console.warn("QHeader should be used inside QLayout");
1
+ <script lang="ts">
2
+ import { getContext, onDestroy, untrack } from "svelte";
3
+ import QToolbar from "../toolbar/QToolbar.svelte";
4
+ import QContext from "../../classes/QContext.svelte";
5
+ import QScrollObserver from "../../classes/QScrollObserver.svelte";
6
+ const headerIdentifier = Date.now();
7
+ let {
8
+ elevated = false,
9
+ inset = false,
10
+ reveal = false,
11
+ revealOffset = 250,
12
+ height = 64,
13
+ children,
14
+ ...props
15
+ } = $props();
16
+ const headerContext = QContext.get("QHeader");
17
+ const layoutView = getContext("view");
18
+ if (!headerContext || !layoutView) {
19
+ throw new Error("QHeader should be used inside QLayout");
10
20
  }
11
- $:
12
- classes = createClasses([$ctx?.header?.fixed && "fixed"], {
13
- component: "q-header",
14
- userClasses
21
+ const scroll = $derived(
22
+ reveal
23
+ ? new QScrollObserver(
24
+ `.q-header--${headerIdentifier} ~ .q-layout__content`,
25
+ )
26
+ : void 0,
27
+ );
28
+ const offset = $derived(scroll ? scroll.position - height : void 0);
29
+ const collapsed = $derived(
30
+ reveal && scroll?.direction === "down" && offset - revealOffset > 0,
31
+ );
32
+ const leftOffset = () => layoutView.value.charAt(0) === "l";
33
+ const rightOffset = () => layoutView.value.charAt(2) === "r";
34
+ $effect.pre(() => {
35
+ untrack(() => headerContext).updateEntries({ height, collapsed });
36
+ });
37
+ onDestroy(() => {
38
+ untrack(() => headerContext).updateEntries({ height: 0, collapsed: false });
15
39
  });
16
- $:
17
- if ($ctx?.header !== void 0) {
18
- if (userStyles?.includes("display: none")) {
19
- $ctx.header.display = false;
20
- } else {
21
- $ctx.header.display = true;
22
- }
23
- }
24
40
  </script>
25
41
 
26
- <QToolbar {inset} {elevate} {border} class={classes} role="header" {...$$restProps}>
27
- <slot />
28
- </QToolbar>
42
+ <header
43
+ {...props}
44
+ class="q-header{props.class
45
+ ? ` ${props.class}`
46
+ : ''} q-header--{headerIdentifier}{elevated
47
+ ? ` q-header--elevated`
48
+ : ''}{collapsed ? ` q-header--collapsed` : ''}{leftOffset()
49
+ ? ` q-header--offset-left`
50
+ : ''}{rightOffset() ? ` q-header--offset-right` : ''}"
51
+ style:--header-height="{height}px"
52
+ >
53
+ <QToolbar {inset}>
54
+ {@render children?.()}
55
+ </QToolbar>
56
+ </header>
@@ -1,24 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { QHeaderProps } from "./props";
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- inset?: QHeaderProps["inset"];
7
- elevate?: QHeaderProps["elevate"];
8
- border?: QHeaderProps["border"];
9
- class?: string | null | undefined;
10
- style?: string | null | undefined;
11
- };
12
- events: {
13
- [evt: string]: CustomEvent<any>;
14
- };
15
- slots: {
16
- default: {};
17
- };
18
- };
19
- type QHeaderProps_ = typeof __propDef.props;
20
- export { QHeaderProps_ as QHeaderProps };
21
- export type QHeaderEvents = typeof __propDef.events;
22
- export type QHeaderSlots = typeof __propDef.slots;
23
- export default class QHeader extends SvelteComponent<QHeaderProps, QHeaderEvents, QHeaderSlots> {
24
- }
2
+ declare const QHeader: import("svelte").Component<QHeaderProps, {}, "">;
3
+ export default QHeader;
@@ -1,5 +1,5 @@
1
1
  // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
- // @quaffHash 921eb52eb977e8c823f9b2c8af39279f
2
+ // @quaffHash 719f80792087363e59f5ade9eb0fd396
3
3
  export const QToolbarDocsProps = [
4
4
  {
5
5
  name: "inset",
@@ -27,11 +27,11 @@ export const QToolbarDocsProps = [
27
27
  },
28
28
  {
29
29
  name: "height",
30
- type: "CssValue | number",
30
+ type: "number",
31
31
  optional: true,
32
- clickableType: true,
32
+ clickableType: false,
33
33
  description: "",
34
- default: "64px",
34
+ default: "64",
35
35
  },
36
36
  ];
37
37
  export const QToolbarTitleDocsProps = [
@@ -46,7 +46,7 @@ export const QToolbarTitleDocsProps = [
46
46
  ];
47
47
  export const QHeaderDocsProps = [
48
48
  {
49
- name: "inset",
49
+ name: "elevated",
50
50
  type: "boolean",
51
51
  optional: true,
52
52
  clickableType: false,
@@ -54,7 +54,7 @@ export const QHeaderDocsProps = [
54
54
  default: "false",
55
55
  },
56
56
  {
57
- name: "elevate",
57
+ name: "bordered",
58
58
  type: "boolean",
59
59
  optional: true,
60
60
  clickableType: false,
@@ -62,11 +62,27 @@ export const QHeaderDocsProps = [
62
62
  default: "false",
63
63
  },
64
64
  {
65
- name: "border",
65
+ name: "height",
66
+ type: "number",
67
+ optional: true,
68
+ clickableType: false,
69
+ description: "",
70
+ default: "64",
71
+ },
72
+ {
73
+ name: "reveal",
66
74
  type: "boolean",
67
75
  optional: true,
68
76
  clickableType: false,
69
77
  description: "",
70
78
  default: "false",
71
79
  },
80
+ {
81
+ name: "revealOffset",
82
+ type: "number",
83
+ optional: true,
84
+ clickableType: false,
85
+ description: "",
86
+ default: "250",
87
+ },
72
88
  ];
@@ -3,13 +3,21 @@ export interface QHeaderProps extends QToolbarProps {
3
3
  /**
4
4
  * @default false
5
5
  */
6
- inset?: boolean;
6
+ elevated?: boolean;
7
7
  /**
8
8
  * @default false
9
9
  */
10
- elevate?: boolean;
10
+ bordered?: boolean;
11
+ /**
12
+ * @default 64
13
+ */
14
+ height?: number;
11
15
  /**
12
16
  * @default false
13
17
  */
14
- border?: boolean;
18
+ reveal?: boolean;
19
+ /**
20
+ * @default 250
21
+ */
22
+ revealOffset?: number;
15
23
  }
@@ -1,8 +1,7 @@
1
1
  .q-icon {
2
- --font: "Material Symbols Outlined";
3
2
  --size: 1.5rem;
4
3
  overflow: visible;
5
- font-family: var(--font);
4
+ font-family: var(--font, "Material Symbols Outlined");
6
5
  font-weight: normal;
7
6
  font-style: normal;
8
7
  font-size: var(--size);
@@ -18,7 +17,6 @@
18
17
  -webkit-font-smoothing: antialiased;
19
18
  vertical-align: middle;
20
19
  text-align: center;
21
- overflow: hidden;
22
20
  width: var(--size);
23
21
  min-width: var(--size);
24
22
  height: var(--size);
@@ -65,7 +63,7 @@
65
63
  padding: inherit;
66
64
  }
67
65
 
68
- &.filled
66
+ &--filled
69
67
  // we might need these selectors later:
70
68
  // a.row:is(:hover, :focus) > i,
71
69
  // .transparent:is(:hover, :focus) > i
@@ -1,29 +1,42 @@
1
- <script>import { useSize } from "../../composables";
2
- export let size = "md", name = void 0, type = "outlined", filled = false, svg = void 0, img = void 0, imgAttributes = {}, color = void 0, userClasses = "";
3
- export { userClasses as class };
4
- $:
5
- sizeObj = useSize(size);
6
- $:
7
- sizeClass = sizeObj.class && sizeObj.class !== "md" ? `q-icon--${sizeObj.class}` : "";
8
- $:
9
- imgAttrs = {
1
+ <svelte:options runes={true} />
2
+
3
+ <script lang="ts">
4
+ import { useSize } from "../../composables/useSize";
5
+ let {
6
+ size = "md",
7
+ name,
8
+ type = "outlined",
9
+ filled = false,
10
+ svg,
11
+ img,
12
+ imgAttributes = {},
13
+ color,
14
+ children,
15
+ ...props
16
+ } = $props();
17
+ const qSize = $derived(useSize(size, "q-icon"));
18
+ const imgAttrs = $derived({
10
19
  alt: "Quaff Image Icon",
11
- ...imgAttributes
12
- };
20
+ ...imgAttributes,
21
+ });
22
+ const typeClass = $derived(`q-icon--${type}`);
13
23
  </script>
14
24
 
15
25
  <i
16
- class="q-icon q-icon--{type} {sizeClass} {color ? `text-${color}` : ''} {userClasses}"
26
+ {...props}
27
+ class="q-icon{typeClass ? ` ${typeClass}` : ''}{color
28
+ ? ' ' + `text-${color}`
29
+ : ''}{qSize.class ? ` ${qSize.class}` : ''}{props.class
30
+ ? ` ${props.class}`
31
+ : ''}"
17
32
  class:q-icon--filled={filled}
18
- style:--size={sizeObj.style}
19
- {...$$restProps}
33
+ style:--size={qSize.style}
20
34
  >
21
35
  {#if name !== undefined}
22
36
  {name}
23
37
  {:else if img !== undefined}
24
- <!-- svelte-ignore a11y-missing-attribute -->
25
38
  <img src={img} {...imgAttrs} />
26
39
  {:else if svg !== undefined}
27
- <slot />
40
+ {@render children?.()}
28
41
  {/if}
29
42
  </i>
@@ -1,28 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { QIconProps } from "./props";
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- size?: QIconProps["size"];
7
- name?: QIconProps["name"];
8
- type?: QIconProps["type"];
9
- filled?: QIconProps["filled"];
10
- svg?: QIconProps["svg"];
11
- img?: QIconProps["img"];
12
- imgAttributes?: QIconProps["imgAttributes"];
13
- color?: QIconProps["color"];
14
- class?: string | null | undefined;
15
- };
16
- events: {
17
- [evt: string]: CustomEvent<any>;
18
- };
19
- slots: {
20
- default: {};
21
- };
22
- };
23
- type QIconProps_ = typeof __propDef.props;
24
- export { QIconProps_ as QIconProps };
25
- export type QIconEvents = typeof __propDef.events;
26
- export type QIconSlots = typeof __propDef.slots;
27
- export default class QIcon extends SvelteComponent<QIconProps, QIconEvents, QIconSlots> {
28
- }
2
+ declare const QIcon: import("svelte").Component<QIconProps, {}, "">;
3
+ export default QIcon;
@@ -1,2 +1,2 @@
1
1
  import type { QComponentDocs } from "../../utils";
2
- export declare let QIconDocs: QComponentDocs;
2
+ export declare const QIconDocs: QComponentDocs;
@@ -1,5 +1,5 @@
1
1
  import { QIconDocsProps } from "./docs.props";
2
- export let QIconDocs = {
2
+ export const QIconDocs = {
3
3
  name: "QIcon",
4
4
  description: "This component allows you to insert icons within elements of the page. Supported cions are Material Symbols icons.",
5
5
  docs: {
@@ -1,5 +1,5 @@
1
1
  // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
- // @quaffHash 587610290cf9d959dd89496d6b94a98e
2
+ // @quaffHash d7b1dd5d93ae1a1c6c37dc11798972e5
3
3
  export const QIconDocsProps = [
4
4
  {
5
5
  name: "size",
@@ -19,9 +19,9 @@ export const QIconDocsProps = [
19
19
  },
20
20
  {
21
21
  name: "name",
22
- type: "string",
22
+ type: "MaterialSymbol | `img:${string}`",
23
23
  optional: true,
24
- clickableType: false,
24
+ clickableType: true,
25
25
  description: "The name of the Material Symbols icon.",
26
26
  default: "undefined",
27
27
  },
@@ -51,9 +51,9 @@ export const QIconDocsProps = [
51
51
  },
52
52
  {
53
53
  name: "imgAttributes",
54
- type: "Record<string, any>",
54
+ type: "HTMLImgAttributes",
55
55
  optional: true,
56
- clickableType: true,
56
+ clickableType: false,
57
57
  description: 'Additional attributes for the image element when using the `img` prop, as for example the "alt" attribute.',
58
58
  default: "{}",
59
59
  },
@@ -1,8 +1,8 @@
1
- import type { CssValue, NativeProps, QuaffSizes } from "../../utils";
2
- import type { HTMLAttributes } from "svelte/elements";
3
- export type QIconSizeOptions = QuaffSizes | CssValue | number;
1
+ import type { HTMLAttributes, HTMLImgAttributes } from "svelte/elements";
2
+ import type { MaterialSymbol } from "material-symbols";
3
+ export type QIconSizeOptions = Q.Size | Q.CssValue | number;
4
4
  export type QIconTypeOptions = "outlined" | "sharp" | "rounded";
5
- export interface QIconProps extends NativeProps, HTMLAttributes<HTMLElement> {
5
+ export interface QIconProps extends HTMLAttributes<HTMLElement> {
6
6
  /**
7
7
  * The size of the icon. Can be specified with CSS units. If no unit is specified, "px" will be used.
8
8
  * @default md
@@ -17,7 +17,7 @@ export interface QIconProps extends NativeProps, HTMLAttributes<HTMLElement> {
17
17
  * The name of the Material Symbols icon.
18
18
  * @default undefined
19
19
  */
20
- name?: string;
20
+ name?: MaterialSymbol | `img:${string}`;
21
21
  /**
22
22
  * Determines whether the icon should be filled.
23
23
  * @default false
@@ -37,7 +37,7 @@ export interface QIconProps extends NativeProps, HTMLAttributes<HTMLElement> {
37
37
  * Additional attributes for the image element when using the `img` prop, as for example the "alt" attribute.
38
38
  * @default {}
39
39
  */
40
- imgAttributes?: Record<string, any>;
40
+ imgAttributes?: HTMLImgAttributes;
41
41
  /**
42
42
  * The color of the icon.
43
43
  * @default undefined
@@ -25,8 +25,8 @@ import QSeparator from "./separator/QSeparator.svelte";
25
25
  import QTabs from "./tabs/QTabs.svelte";
26
26
  import QTab from "./tabs/QTab.svelte";
27
27
  import QTable from "./table/QTable.svelte";
28
- import QToggle from "./toggle/QToggle.svelte";
28
+ import QSwitch from "./switch/QSwitch.svelte";
29
29
  import QToolbar from "./toolbar/QToolbar.svelte";
30
30
  import QToolbarTitle from "./toolbar/QToolbarTitle.svelte";
31
31
  import QTooltip from "./tooltip/QTooltip.svelte";
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, };
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, QSwitch, QToolbar, QToolbarTitle, QTooltip, };
@@ -25,8 +25,8 @@ import QSeparator from "./separator/QSeparator.svelte";
25
25
  import QTabs from "./tabs/QTabs.svelte";
26
26
  import QTab from "./tabs/QTab.svelte";
27
27
  import QTable from "./table/QTable.svelte";
28
- import QToggle from "./toggle/QToggle.svelte";
28
+ import QSwitch from "./switch/QSwitch.svelte";
29
29
  import QToolbar from "./toolbar/QToolbar.svelte";
30
30
  import QToolbarTitle from "./toolbar/QToolbarTitle.svelte";
31
31
  import QTooltip from "./tooltip/QTooltip.svelte";
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, };
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, QSwitch, QToolbar, QToolbarTitle, QTooltip, };