@quaffui/quaff 0.1.0-prealpha2 → 0.1.0-prealpha21

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 (355) 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 -41
  12. package/dist/components/avatar/QAvatar.svelte.d.ts +2 -26
  13. package/dist/components/avatar/docs.d.ts +2 -2
  14. package/dist/components/avatar/docs.js +1 -1
  15. package/dist/components/avatar/docs.props.js +22 -4
  16. package/dist/components/avatar/index.scss +6 -1
  17. package/dist/components/avatar/props.d.ts +25 -7
  18. package/dist/components/avatar/props.js +1 -1
  19. package/dist/components/breadcrumbs/QBreadcrumbs.scss +10 -0
  20. package/dist/components/breadcrumbs/QBreadcrumbs.svelte +23 -14
  21. package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +2 -22
  22. package/dist/components/breadcrumbs/QBreadcrumbsEl.scss +10 -0
  23. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +64 -48
  24. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +2 -25
  25. package/dist/components/breadcrumbs/docs.d.ts +2 -2
  26. package/dist/components/breadcrumbs/docs.js +1 -1
  27. package/dist/components/breadcrumbs/docs.props.js +28 -26
  28. package/dist/components/breadcrumbs/props.d.ts +26 -24
  29. package/dist/components/button/QBtn.scss +133 -0
  30. package/dist/components/button/QBtn.svelte +94 -41
  31. package/dist/components/button/QBtn.svelte.d.ts +2 -31
  32. package/dist/components/button/docs.d.ts +2 -2
  33. package/dist/components/button/docs.js +1 -1
  34. package/dist/components/button/docs.props.js +47 -13
  35. package/dist/components/button/props.d.ts +35 -13
  36. package/dist/components/card/QCard.scss +25 -0
  37. package/dist/components/card/QCard.svelte +27 -19
  38. package/dist/components/card/QCard.svelte.d.ts +2 -25
  39. package/dist/components/card/QCardActions.scss +10 -0
  40. package/dist/components/card/QCardActions.svelte +14 -15
  41. package/dist/components/card/QCardActions.svelte.d.ts +2 -21
  42. package/dist/components/card/QCardSection.scss +10 -0
  43. package/dist/components/card/QCardSection.svelte +11 -11
  44. package/dist/components/card/QCardSection.svelte.d.ts +2 -22
  45. package/dist/components/card/docs.d.ts +4 -4
  46. package/dist/components/card/docs.js +3 -3
  47. package/dist/components/card/docs.props.js +9 -15
  48. package/dist/components/card/props.d.ts +11 -16
  49. package/dist/components/checkbox/QCheckbox.svelte +8 -9
  50. package/dist/components/checkbox/QCheckbox.svelte.d.ts +2 -20
  51. package/dist/components/checkbox/docs.d.ts +2 -2
  52. package/dist/components/checkbox/docs.js +1 -1
  53. package/dist/components/checkbox/docs.props.js +2 -0
  54. package/dist/components/checkbox/index.scss +7 -1
  55. package/dist/components/checkbox/props.d.ts +2 -2
  56. package/dist/components/chip/QChip.scss +179 -0
  57. package/dist/components/chip/QChip.svelte +98 -55
  58. package/dist/components/chip/QChip.svelte.d.ts +2 -34
  59. package/dist/components/chip/docs.d.ts +2 -2
  60. package/dist/components/chip/docs.js +1 -1
  61. package/dist/components/chip/docs.props.js +28 -42
  62. package/dist/components/chip/props.d.ts +25 -32
  63. package/dist/components/codeBlock/QCodeBlock.svelte +78 -45
  64. package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +2 -22
  65. package/dist/components/codeBlock/docs.props.js +11 -1
  66. package/dist/components/codeBlock/props.d.ts +8 -2
  67. package/dist/components/dialog/QDialog.scss +177 -0
  68. package/dist/components/dialog/QDialog.svelte +77 -70
  69. package/dist/components/dialog/QDialog.svelte.d.ts +6 -36
  70. package/dist/components/dialog/docs.d.ts +2 -2
  71. package/dist/components/dialog/docs.js +1 -1
  72. package/dist/components/dialog/docs.props.d.ts +0 -8
  73. package/dist/components/dialog/docs.props.js +4 -108
  74. package/dist/components/dialog/props.d.ts +3 -18
  75. package/dist/components/drawer/QDrawer.scss +45 -0
  76. package/dist/components/drawer/QDrawer.svelte +91 -81
  77. package/dist/components/drawer/QDrawer.svelte.d.ts +6 -38
  78. package/dist/components/drawer/docs.d.ts +2 -2
  79. package/dist/components/drawer/docs.js +1 -1
  80. package/dist/components/drawer/docs.props.js +4 -2
  81. package/dist/components/drawer/props.d.ts +4 -3
  82. package/dist/components/footer/QFooter.scss +42 -0
  83. package/dist/components/footer/QFooter.svelte +67 -12
  84. package/dist/components/footer/QFooter.svelte.d.ts +2 -23
  85. package/dist/components/footer/docs.d.ts +2 -2
  86. package/dist/components/footer/docs.js +1 -1
  87. package/dist/components/footer/docs.props.js +13 -3
  88. package/dist/components/footer/props.d.ts +9 -5
  89. package/dist/components/header/QHeader.scss +54 -0
  90. package/dist/components/header/QHeader.svelte +56 -0
  91. package/dist/components/header/QHeader.svelte.d.ts +3 -0
  92. package/dist/components/header/docs.props.d.ts +24 -0
  93. package/dist/components/header/docs.props.js +88 -0
  94. package/dist/components/header/props.d.ts +23 -0
  95. package/dist/components/header/props.js +1 -0
  96. package/dist/components/icon/QIcon.scss +73 -0
  97. package/dist/components/icon/QIcon.svelte +32 -30
  98. package/dist/components/icon/QIcon.svelte.d.ts +2 -27
  99. package/dist/components/icon/docs.d.ts +2 -2
  100. package/dist/components/icon/docs.js +1 -1
  101. package/dist/components/icon/docs.props.js +11 -9
  102. package/dist/components/icon/props.d.ts +9 -8
  103. package/dist/components/index.d.ts +5 -2
  104. package/dist/components/index.js +5 -2
  105. package/dist/components/input/QInput.svelte +88 -72
  106. package/dist/components/input/QInput.svelte.d.ts +3 -32
  107. package/dist/components/input/docs.d.ts +2 -2
  108. package/dist/components/input/docs.js +2 -8
  109. package/dist/components/input/docs.props.js +39 -13
  110. package/dist/components/input/index.scss +1 -3
  111. package/dist/components/input/props.d.ts +13 -21
  112. package/dist/components/input/props.js +1 -13
  113. package/dist/components/layout/QLayout.scss +178 -0
  114. package/dist/components/layout/QLayout.svelte +101 -81
  115. package/dist/components/layout/QLayout.svelte.d.ts +17 -43
  116. package/dist/components/layout/docs.d.ts +2 -2
  117. package/dist/components/layout/docs.js +1 -1
  118. package/dist/components/layout/docs.props.js +65 -7
  119. package/dist/components/layout/props.d.ts +18 -9
  120. package/dist/components/list/QItem.scss +61 -0
  121. package/dist/components/list/QItem.svelte +73 -51
  122. package/dist/components/list/QItem.svelte.d.ts +2 -33
  123. package/dist/components/list/QItemSection.scss +45 -0
  124. package/dist/components/list/QItemSection.svelte +50 -37
  125. package/dist/components/list/QItemSection.svelte.d.ts +2 -24
  126. package/dist/components/list/QList.scss +30 -0
  127. package/dist/components/list/QList.svelte +30 -20
  128. package/dist/components/list/QList.svelte.d.ts +2 -35
  129. package/dist/components/list/docs.d.ts +2 -0
  130. package/dist/components/list/docs.js +11 -0
  131. package/dist/components/list/docs.props.js +79 -29
  132. package/dist/components/list/props.d.ts +24 -20
  133. package/dist/components/list/props.js +1 -25
  134. package/dist/components/private/ContextReseter.svelte +6 -11
  135. package/dist/components/private/ContextReseter.svelte.d.ts +6 -18
  136. package/dist/components/private/QApi.svelte +117 -93
  137. package/dist/components/private/QApi.svelte.d.ts +5 -17
  138. package/dist/components/private/QDocs.svelte +78 -41
  139. package/dist/components/private/QDocs.svelte.d.ts +10 -21
  140. package/dist/components/private/QDocsSection.svelte +16 -24
  141. package/dist/components/private/QDocsSection.svelte.d.ts +7 -29
  142. package/dist/components/private/QIconSnippet.svelte +12 -0
  143. package/dist/components/private/QIconSnippet.svelte.d.ts +8 -0
  144. package/dist/components/progress/QCircularProgress.scss +63 -0
  145. package/dist/components/progress/QCircularProgress.svelte +106 -20
  146. package/dist/components/progress/QCircularProgress.svelte.d.ts +2 -21
  147. package/dist/components/progress/QLinearProgress.scss +75 -0
  148. package/dist/components/progress/QLinearProgress.svelte +59 -17
  149. package/dist/components/progress/QLinearProgress.svelte.d.ts +2 -21
  150. package/dist/components/progress/docs.d.ts +2 -0
  151. package/dist/components/progress/docs.js +11 -0
  152. package/dist/components/progress/docs.props.d.ts +8 -0
  153. package/dist/components/progress/docs.props.js +181 -9
  154. package/dist/components/progress/props.d.ts +98 -17
  155. package/dist/components/progress/props.js +1 -7
  156. package/dist/components/radio/QRadio.svelte +14 -9
  157. package/dist/components/radio/QRadio.svelte.d.ts +2 -21
  158. package/dist/components/radio/docs.d.ts +2 -2
  159. package/dist/components/radio/docs.js +1 -1
  160. package/dist/components/radio/docs.props.js +6 -4
  161. package/dist/components/radio/index.scss +3 -1
  162. package/dist/components/radio/props.d.ts +5 -6
  163. package/dist/components/radio/props.js +1 -8
  164. package/dist/components/railbar/QRailbar.scss +54 -0
  165. package/dist/components/railbar/QRailbar.svelte +45 -49
  166. package/dist/components/railbar/QRailbar.svelte.d.ts +2 -22
  167. package/dist/components/railbar/docs.d.ts +2 -0
  168. package/dist/components/railbar/docs.js +11 -0
  169. package/dist/components/railbar/docs.props.js +10 -8
  170. package/dist/components/railbar/props.d.ts +15 -6
  171. package/dist/components/railbar/props.js +1 -7
  172. package/dist/components/select/QSelect.svelte +171 -140
  173. package/dist/components/select/QSelect.svelte.d.ts +2 -33
  174. package/dist/components/select/docs.d.ts +2 -2
  175. package/dist/components/select/docs.js +9 -8
  176. package/dist/components/select/docs.props.js +47 -13
  177. package/dist/components/select/index.scss +28 -7
  178. package/dist/components/select/props.d.ts +16 -20
  179. package/dist/components/select/props.js +1 -14
  180. package/dist/components/separator/QSeparator.scss +54 -0
  181. package/dist/components/separator/QSeparator.svelte +39 -57
  182. package/dist/components/separator/QSeparator.svelte.d.ts +2 -24
  183. package/dist/components/separator/docs.d.ts +2 -0
  184. package/dist/components/separator/docs.js +11 -0
  185. package/dist/components/separator/docs.props.js +16 -14
  186. package/dist/components/separator/props.d.ts +13 -14
  187. package/dist/components/separator/props.js +1 -9
  188. package/dist/components/switch/QSwitch.scss +305 -0
  189. package/dist/components/switch/QSwitch.svelte +96 -0
  190. package/dist/components/switch/QSwitch.svelte.d.ts +3 -0
  191. package/dist/components/switch/docs.d.ts +2 -0
  192. package/dist/components/{toggle → switch}/docs.js +3 -3
  193. package/dist/components/{toggle → switch}/docs.props.d.ts +1 -1
  194. package/dist/components/switch/docs.props.js +68 -0
  195. package/dist/components/switch/props.d.ts +13 -0
  196. package/dist/components/switch/props.js +1 -0
  197. package/dist/components/table/QTable.svelte +99 -94
  198. package/dist/components/table/QTable.svelte.d.ts +2 -28
  199. package/dist/components/table/docs.d.ts +2 -2
  200. package/dist/components/table/docs.js +1 -1
  201. package/dist/components/table/docs.props.js +11 -1
  202. package/dist/components/table/index.scss +3 -1
  203. package/dist/components/table/props.d.ts +14 -3
  204. package/dist/components/tabs/QTab.scss +71 -0
  205. package/dist/components/tabs/QTab.svelte +80 -66
  206. package/dist/components/tabs/QTab.svelte.d.ts +2 -27
  207. package/dist/components/tabs/QTabs.scss +40 -0
  208. package/dist/components/tabs/QTabs.svelte +114 -51
  209. package/dist/components/tabs/QTabs.svelte.d.ts +7 -22
  210. package/dist/components/tabs/docs.d.ts +2 -0
  211. package/dist/components/tabs/docs.js +11 -0
  212. package/dist/components/tabs/docs.props.js +10 -16
  213. package/dist/components/tabs/index.scss +71 -28
  214. package/dist/components/tabs/props.d.ts +9 -9
  215. package/dist/components/tabs/props.js +1 -13
  216. package/dist/components/toolbar/QToolbar.svelte +20 -37
  217. package/dist/components/toolbar/QToolbar.svelte.d.ts +2 -22
  218. package/dist/components/toolbar/QToolbarTitle.svelte +11 -0
  219. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +3 -0
  220. package/dist/components/toolbar/docs.d.ts +2 -0
  221. package/dist/components/toolbar/docs.js +11 -0
  222. package/dist/components/toolbar/docs.props.d.ts +8 -0
  223. package/dist/components/toolbar/docs.props.js +33 -5
  224. package/dist/components/toolbar/index.scss +34 -1
  225. package/dist/components/toolbar/props.d.ts +24 -5
  226. package/dist/components/toolbar/props.js +1 -6
  227. package/dist/components/tooltip/QTooltip.svelte +8 -12
  228. package/dist/components/tooltip/QTooltip.svelte.d.ts +2 -21
  229. package/dist/components/tooltip/docs.d.ts +2 -0
  230. package/dist/components/tooltip/docs.js +11 -0
  231. package/dist/components/tooltip/docs.props.js +3 -1
  232. package/dist/components/tooltip/index.scss +80 -2
  233. package/dist/components/tooltip/props.d.ts +4 -3
  234. package/dist/components/tooltip/props.js +1 -1
  235. package/dist/composables/index.d.ts +3 -0
  236. package/dist/composables/index.js +3 -1
  237. package/dist/composables/{use-align.d.ts → useAlign.d.ts} +1 -1
  238. package/dist/composables/useAlign.js +23 -0
  239. package/dist/composables/{use-router-link.d.ts → useRouterLink.d.ts} +3 -3
  240. package/dist/composables/{use-router-link.js → useRouterLink.js} +4 -5
  241. package/dist/composables/useSize.d.ts +10 -0
  242. package/dist/composables/useSize.js +37 -0
  243. package/dist/composables/useSizeLegacy.d.ts +9 -0
  244. package/dist/composables/useSizeLegacy.js +25 -0
  245. package/dist/css/_components.scss +31 -0
  246. package/dist/css/_disabled.scss +18 -0
  247. package/dist/css/_ripple.scss +49 -0
  248. package/dist/css/_variables.scss +73 -0
  249. package/dist/css/classes/_design.scss +57 -0
  250. package/dist/css/classes/_flex.scss +62 -0
  251. package/dist/css/classes/_grid.scss +35 -0
  252. package/dist/css/classes/_index.scss +7 -0
  253. package/dist/css/classes/_overflow.scss +7 -0
  254. package/dist/css/classes/_position.scss +7 -0
  255. package/dist/css/classes/_select.scss +6 -0
  256. package/dist/css/classes/_spaces.scss +23 -0
  257. package/dist/css/flex.scss +41 -0
  258. package/dist/css/fonts.scss +17 -0
  259. package/dist/css/index.css +1 -0
  260. package/dist/css/index.scss +15 -111
  261. package/dist/css/mixins/_design.scss +63 -0
  262. package/dist/css/mixins/_field.scss +64 -0
  263. package/dist/css/mixins/_image.scss +63 -0
  264. package/dist/css/mixins/_index.scss +9 -0
  265. package/dist/css/mixins/_layout.scss +20 -0
  266. package/dist/css/mixins/{menu.scss → _menu.scss} +6 -2
  267. package/dist/css/mixins/{selection.scss → _selection.scss} +7 -67
  268. package/dist/css/mixins/_spaces.scss +36 -0
  269. package/dist/css/mixins/_typography.scss +7 -0
  270. package/dist/css/shared/q-field.scss +348 -0
  271. package/dist/css/theme/_colors.scss +173 -0
  272. package/dist/css/theme/colors.module.scss +261 -109
  273. package/dist/css/theme/css-variables.scss +5 -0
  274. package/dist/css/theme/elevate.scss +57 -0
  275. package/dist/css/theme/page.scss +16 -0
  276. package/dist/css/theme/palette.scss +653 -0
  277. package/dist/css/theme/reset.scss +56 -0
  278. package/dist/css/theme/theme.scss +7 -2
  279. package/dist/css/theme/tokens.scss +0 -159
  280. package/dist/css/theme/typography.scss +111 -0
  281. package/dist/global.d.ts +1 -2
  282. package/dist/helpers/clickOutside.d.ts +2 -2
  283. package/dist/helpers/clickOutside.js +5 -4
  284. package/dist/helpers/index.d.ts +1 -1
  285. package/dist/helpers/index.js +1 -1
  286. package/dist/helpers/ripple.d.ts +11 -0
  287. package/dist/helpers/ripple.js +90 -0
  288. package/dist/helpers/version.d.ts +2 -0
  289. package/dist/helpers/version.js +1 -0
  290. package/dist/index.d.ts +3 -1
  291. package/dist/index.js +3 -1
  292. package/dist/stores/index.d.ts +0 -0
  293. package/dist/stores/index.js +1 -0
  294. package/dist/utils/clipboard.d.ts +1 -1
  295. package/dist/utils/clipboard.js +3 -4
  296. package/dist/utils/colors.d.ts +71 -0
  297. package/dist/utils/colors.js +103 -15
  298. package/dist/utils/dom.d.ts +11 -0
  299. package/dist/utils/dom.js +81 -0
  300. package/dist/utils/events.d.ts +13 -0
  301. package/dist/utils/events.js +13 -0
  302. package/dist/utils/index.d.ts +8 -0
  303. package/dist/utils/index.js +8 -1
  304. package/dist/utils/number.d.ts +2 -0
  305. package/dist/utils/number.js +9 -0
  306. package/dist/utils/props.d.ts +4 -4
  307. package/dist/utils/props.js +9 -7
  308. package/dist/utils/router.d.ts +17 -0
  309. package/dist/utils/router.js +23 -0
  310. package/dist/utils/string.d.ts +1 -0
  311. package/dist/utils/string.js +4 -1
  312. package/dist/utils/types.d.ts +12 -4
  313. package/dist/utils/types.js +0 -3
  314. package/dist/utils/types.json +27 -1
  315. package/dist/utils/watchable.d.ts +0 -1
  316. package/dist/utils/watchable.js +1 -1
  317. package/package.json +44 -34
  318. package/dist/components/breadcrumbs/index.scss +0 -20
  319. package/dist/components/button/index.scss +0 -78
  320. package/dist/components/card/index.scss +0 -53
  321. package/dist/components/chip/index.scss +0 -83
  322. package/dist/components/dialog/index.scss +0 -27
  323. package/dist/components/drawer/index.scss +0 -54
  324. package/dist/components/footer/index.scss +0 -5
  325. package/dist/components/icon/index.scss +0 -18
  326. package/dist/components/layout/index.scss +0 -370
  327. package/dist/components/list/index.scss +0 -114
  328. package/dist/components/progress/index.scss +0 -50
  329. package/dist/components/toggle/QToggle.svelte +0 -35
  330. package/dist/components/toggle/QToggle.svelte.d.ts +0 -23
  331. package/dist/components/toggle/docs.d.ts +0 -2
  332. package/dist/components/toggle/docs.props.js +0 -42
  333. package/dist/components/toggle/index.scss +0 -31
  334. package/dist/components/toggle/props.d.ts +0 -9
  335. package/dist/components/toggle/props.js +0 -9
  336. package/dist/composables/use-align.js +0 -12
  337. package/dist/composables/use-index.d.ts +0 -2
  338. package/dist/composables/use-index.js +0 -17
  339. package/dist/composables/use-size.d.ts +0 -11
  340. package/dist/composables/use-size.js +0 -13
  341. package/dist/css/grid.scss +0 -65
  342. package/dist/css/mixins/field.scss +0 -430
  343. package/dist/css/mixins.scss +0 -135
  344. package/dist/css/states.scss +0 -70
  345. package/dist/css/theme/theme.dark.scss +0 -36
  346. package/dist/css/theme/theme.light.scss +0 -36
  347. package/dist/helpers/activationHandler.d.ts +0 -9
  348. package/dist/helpers/activationHandler.js +0 -23
  349. package/dist/stores/QTheme.d.ts +0 -42
  350. package/dist/stores/QTheme.js +0 -53
  351. package/dist/stores/Quaff.d.ts +0 -32
  352. package/dist/stores/Quaff.js +0 -52
  353. package/dist/utils/fields.d.ts +0 -1
  354. package/dist/utils/fields.js +0 -14
  355. /package/dist/css/mixins/{table.scss → _table.scss} +0 -0
@@ -1,3 +1,5 @@
1
+ // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
+ // @quaffHash f39265baa2de427fc47e65c2f0088cb9
1
3
  export const QDrawerDocsProps = [
2
4
  {
3
5
  name: "value",
@@ -17,9 +19,9 @@ export const QDrawerDocsProps = [
17
19
  },
18
20
  {
19
21
  name: "width",
20
- type: "number | string",
22
+ type: "number",
21
23
  optional: true,
22
- clickableType: true,
24
+ clickableType: false,
23
25
  description: 'The width of the drawer. Can be specified with a CSS unit. If no unit is specified, "px" will be used.',
24
26
  default: "300",
25
27
  },
@@ -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
  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
@@ -16,7 +17,7 @@ export interface QDrawerProps extends NativeProps {
16
17
  * The width of the drawer. Can be specified with a CSS unit. If no unit is specified, "px" will be used.
17
18
  * @default 300
18
19
  */
19
- width?: number | string;
20
+ width?: number;
20
21
  /**
21
22
  * The breakpoint at which the drawer behavior changes. (not supported yet)
22
23
  * @default 1023
@@ -0,0 +1,42 @@
1
+ @use "$css/mixins";
2
+ @use "$css/variables";
3
+
4
+ .q-footer {
5
+ position: absolute;
6
+ top: auto;
7
+ right: 0;
8
+ bottom: 0;
9
+ left: 0;
10
+ z-index: 4;
11
+
12
+ @include mixins.padding("x-md");
13
+
14
+ min-height: unset;
15
+ height: var(--footer-height);
16
+ width: auto;
17
+
18
+ border-radius: 0;
19
+
20
+ background-color: var(--surface);
21
+
22
+ transition: all variables.$speed3;
23
+
24
+ &.q-footer--bordered {
25
+ @include mixins.border(var(--outline), "top");
26
+ }
27
+
28
+ &.q-footer--collapsed {
29
+ translate: 0 calc(1.5 * var(--footer-height));
30
+ }
31
+
32
+ & > nav {
33
+ height: 100%;
34
+ min-height: unset;
35
+ }
36
+
37
+ @each $side in ("left", "right") {
38
+ &.q-footer--offset-#{$side} {
39
+ #{$side}: var(--offset-#{$side}, 0);
40
+ }
41
+ }
42
+ }
@@ -1,14 +1,69 @@
1
- <script>import { getContext } from "svelte";
2
- import { createClasses } from "../../utils/props";
3
- export let value = true, bordered = false, elevated = false, height = void 0, userClasses = void 0, userStyles = void 0;
4
- export { userClasses as class, userStyles as style };
5
- let ctx = getContext("layout");
6
- $:
7
- classes = createClasses(["q-footer", $ctx && $ctx.footer.fixed && "fixed", userClasses]);
1
+ <script lang="ts">
2
+ import { getContext, onDestroy, onMount, untrack } from "svelte";
3
+ import QContext from "../../classes/QContext.svelte";
4
+ import QScrollObserver from "../../classes/QScrollObserver.svelte";
5
+ import QToolbar from "../toolbar/QToolbar.svelte";
6
+ const footerIdentifier = Date.now();
7
+ let {
8
+ value = $bindable(true),
9
+ bordered = false,
10
+ reveal = false,
11
+ revealOffset = 250,
12
+ height = 80,
13
+ children,
14
+ ...props
15
+ } = $props();
16
+ const footerContext = QContext.get("QFooter");
17
+ const layoutView = getContext("view");
18
+ if (!footerContext || !layoutView) {
19
+ throw new Error("QFooter should be used inside QLayout");
20
+ }
21
+ const scroll = $derived(
22
+ reveal
23
+ ? new QScrollObserver(
24
+ `.q-footer--${footerIdentifier} ~ .q-layout__content`,
25
+ )
26
+ : void 0,
27
+ );
28
+ let contentScrollHeight = $state(0);
29
+ const offset = $derived(scroll ? scroll.position + height : void 0);
30
+ const collapsed = $derived(
31
+ reveal &&
32
+ scroll?.direction === "up" &&
33
+ offset + revealOffset < contentScrollHeight,
34
+ );
35
+ const leftOffset = () => layoutView.value.charAt(8) === "l";
36
+ const rightOffset = () => layoutView.value.charAt(10) === "r";
37
+ $effect.pre(() => {
38
+ untrack(() => footerContext).updateEntries({ height, collapsed });
39
+ });
40
+ onMount(() => {
41
+ const content = document.querySelector(
42
+ `.q-footer--${footerIdentifier} ~ .q-layout__content`,
43
+ );
44
+ contentScrollHeight = content
45
+ ? content.scrollHeight - content.clientHeight
46
+ : 0;
47
+ });
48
+ onDestroy(() => {
49
+ untrack(() => footerContext).updateEntries({ height: 0, collapsed: false });
50
+ });
8
51
  </script>
9
52
 
10
- <footer class={classes} style={userStyles}>
11
- <nav>
12
- <slot />
13
- </nav>
14
- </footer>
53
+ {#if value}
54
+ <footer
55
+ {...props}
56
+ class="q-footer{props.class
57
+ ? ` ${props.class}`
58
+ : ''} q-footer--{footerIdentifier}"
59
+ class:q-footer--collapsed={collapsed}
60
+ class:q-footer--bordered={bordered}
61
+ class:q-footer--offset-left={leftOffset()}
62
+ class:q-footer--offset-right={rightOffset()}
63
+ style:--footer-height="{height}px"
64
+ >
65
+ <QToolbar>
66
+ {@render children?.()}
67
+ </QToolbar>
68
+ </footer>
69
+ {/if}
@@ -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
- bordered?: QFooterProps["bordered"];
7
- elevated?: QFooterProps["elevated"];
8
- height?: QFooterProps["height"];
9
- class?: string | undefined;
10
- style?: string | 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
- import type { QComponentDocs } from "$utils/types";
2
- export declare let QFooterDocs: QComponentDocs;
1
+ import type { QComponentDocs } from "../../utils";
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,3 +1,5 @@
1
+ // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
+ // @quaffHash b53713bcb971afb18ef3d69602e8f218
1
3
  export const QFooterDocsProps = [
2
4
  {
3
5
  name: "value",
@@ -16,16 +18,24 @@ export const QFooterDocsProps = [
16
18
  default: "false",
17
19
  },
18
20
  {
19
- name: "elevated",
21
+ name: "reveal",
20
22
  type: "boolean",
21
23
  optional: true,
22
24
  clickableType: false,
23
- description: "Determines whether the footer has an elevated effect. (not supported yet)",
25
+ description: "",
24
26
  default: "false",
25
27
  },
28
+ {
29
+ name: "revealOffset",
30
+ type: "number",
31
+ optional: true,
32
+ clickableType: false,
33
+ description: "",
34
+ default: "250",
35
+ },
26
36
  {
27
37
  name: "height",
28
- type: "string | number",
38
+ type: "number",
29
39
  optional: true,
30
40
  clickableType: false,
31
41
  description: 'The height of the footer. Can be specified with a CSS unit. If not specified, "px" will be used. (not supported yet)',
@@ -1,5 +1,6 @@
1
- import type { NativeProps } from "../../utils/types";
2
- export interface QFooterProps extends NativeProps {
1
+ import type { 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
@@ -11,13 +12,16 @@ export interface QFooterProps extends NativeProps {
11
12
  */
12
13
  bordered?: boolean;
13
14
  /**
14
- * Determines whether the footer has an elevated effect. (not supported yet)
15
15
  * @default false
16
16
  */
17
- elevated?: boolean;
17
+ reveal?: boolean;
18
+ /**
19
+ * @default 250
20
+ */
21
+ revealOffset?: number;
18
22
  /**
19
23
  * The height of the footer. Can be specified with a CSS unit. If not specified, "px" will be used. (not supported yet)
20
24
  * @default undefined
21
25
  */
22
- height?: string | number;
26
+ height?: number;
23
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
+ }
@@ -0,0 +1,56 @@
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");
20
+ }
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 });
39
+ });
40
+ </script>
41
+
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>
@@ -0,0 +1,3 @@
1
+ import type { QHeaderProps } from "./props";
2
+ declare const QHeader: import("svelte").Component<QHeaderProps, {}, "">;
3
+ export default QHeader;
@@ -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,88 @@
1
+ // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
+ // @quaffHash 719f80792087363e59f5ade9eb0fd396
3
+ export const QToolbarDocsProps = [
4
+ {
5
+ name: "inset",
6
+ type: "boolean",
7
+ optional: true,
8
+ clickableType: false,
9
+ description: "",
10
+ default: "false",
11
+ },
12
+ {
13
+ name: "border",
14
+ type: "boolean",
15
+ optional: true,
16
+ clickableType: false,
17
+ description: "",
18
+ default: "false",
19
+ },
20
+ {
21
+ name: "elevate",
22
+ type: "boolean",
23
+ optional: true,
24
+ clickableType: false,
25
+ description: "",
26
+ default: "false",
27
+ },
28
+ {
29
+ name: "height",
30
+ type: "number",
31
+ optional: true,
32
+ clickableType: false,
33
+ description: "",
34
+ default: "64",
35
+ },
36
+ ];
37
+ export const QToolbarTitleDocsProps = [
38
+ {
39
+ name: "shrink",
40
+ type: "boolean",
41
+ optional: true,
42
+ clickableType: false,
43
+ description: "",
44
+ default: "false",
45
+ },
46
+ ];
47
+ export const QHeaderDocsProps = [
48
+ {
49
+ name: "elevated",
50
+ type: "boolean",
51
+ optional: true,
52
+ clickableType: false,
53
+ description: "",
54
+ default: "false",
55
+ },
56
+ {
57
+ name: "bordered",
58
+ type: "boolean",
59
+ optional: true,
60
+ clickableType: false,
61
+ description: "",
62
+ default: "false",
63
+ },
64
+ {
65
+ name: "height",
66
+ type: "number",
67
+ optional: true,
68
+ clickableType: false,
69
+ description: "",
70
+ default: "64",
71
+ },
72
+ {
73
+ name: "reveal",
74
+ type: "boolean",
75
+ optional: true,
76
+ clickableType: false,
77
+ description: "",
78
+ default: "false",
79
+ },
80
+ {
81
+ name: "revealOffset",
82
+ type: "number",
83
+ optional: true,
84
+ clickableType: false,
85
+ description: "",
86
+ default: "250",
87
+ },
88
+ ];
@@ -0,0 +1,23 @@
1
+ import type { QToolbarProps } from "../toolbar/props";
2
+ export interface QHeaderProps extends QToolbarProps {
3
+ /**
4
+ * @default false
5
+ */
6
+ elevated?: boolean;
7
+ /**
8
+ * @default false
9
+ */
10
+ bordered?: boolean;
11
+ /**
12
+ * @default 64
13
+ */
14
+ height?: number;
15
+ /**
16
+ * @default false
17
+ */
18
+ reveal?: boolean;
19
+ /**
20
+ * @default 250
21
+ */
22
+ revealOffset?: number;
23
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,73 @@
1
+ .q-icon {
2
+ --size: 1.5rem;
3
+ overflow: visible;
4
+ font-family: var(--font, "Material Symbols Outlined");
5
+ font-weight: normal;
6
+ font-style: normal;
7
+ font-size: var(--size);
8
+ letter-spacing: normal;
9
+ text-transform: none;
10
+ display: inline-flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ white-space: nowrap;
14
+ word-wrap: normal;
15
+ direction: ltr;
16
+ font-feature-settings: "liga";
17
+ -webkit-font-smoothing: antialiased;
18
+ vertical-align: middle;
19
+ text-align: center;
20
+ width: var(--size);
21
+ min-width: var(--size);
22
+ height: var(--size);
23
+ min-height: var(--size);
24
+ box-sizing: content-box;
25
+ line-height: normal;
26
+
27
+ &--outlined {
28
+ --font: "Material Symbols Outlined";
29
+ }
30
+
31
+ &--rounded {
32
+ --font: "Material Symbols Rounded";
33
+ }
34
+
35
+ &--sharp {
36
+ --font: "Material Symbols Sharp";
37
+ }
38
+
39
+ &--xs {
40
+ --size: 1rem;
41
+ }
42
+
43
+ &--sm {
44
+ --size: 1.25rem;
45
+ }
46
+
47
+ &--lg {
48
+ --size: 1.75rem;
49
+ }
50
+
51
+ &--xl {
52
+ --size: 2rem;
53
+ }
54
+
55
+ > :is(img, svg) {
56
+ width: 100%;
57
+ height: 100%;
58
+ background-size: 100%;
59
+ border-radius: inherit;
60
+ position: absolute;
61
+ top: 0;
62
+ left: 0;
63
+ padding: inherit;
64
+ }
65
+
66
+ &--filled
67
+ // we might need these selectors later:
68
+ // a.row:is(:hover, :focus) > i,
69
+ // .transparent:is(:hover, :focus) > i
70
+ {
71
+ font-variation-settings: "FILL" 1;
72
+ }
73
+ }
@@ -1,40 +1,42 @@
1
- <script>import useSize from "../../composables/use-size";
2
- import { createClasses, createStyles } from "../../utils/props";
3
- import { isNumber } from "../../utils/types";
4
- export let size = "md", name = void 0, type = "outlined", fill = false, svg = void 0, img = void 0, imgAttributes = {}, color = void 0, userClasses = void 0, userStyles = void 0;
5
- export { userClasses as class, userStyles as style };
6
- $:
7
- sizeStyle = useSize(size) === null ? isNumber(size) ? `${size}px` : size : void 0;
8
- $:
9
- classes = createClasses([
10
- "q-icon",
11
- `q-icon__${type}`,
12
- fill && "fill",
13
- useSize(size),
14
- color && `${color}-text`,
15
- userClasses
16
- ]);
17
- $:
18
- style = createStyles(
19
- {
20
- "---size": sizeStyle
21
- },
22
- userStyles
23
- );
24
- $:
25
- 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({
26
19
  alt: "Quaff Image Icon",
27
- ...imgAttributes
28
- };
20
+ ...imgAttributes,
21
+ });
22
+ const typeClass = $derived(`q-icon--${type}`);
29
23
  </script>
30
24
 
31
- <i class={classes} {style}>
25
+ <i
26
+ {...props}
27
+ class="q-icon{typeClass ? ` ${typeClass}` : ''}{color
28
+ ? ' ' + `text-${color}`
29
+ : ''}{qSize.class ? ` ${qSize.class}` : ''}{props.class
30
+ ? ` ${props.class}`
31
+ : ''}"
32
+ class:q-icon--filled={filled}
33
+ style:--size={qSize.style}
34
+ >
32
35
  {#if name !== undefined}
33
36
  {name}
34
37
  {:else if img !== undefined}
35
- <!-- svelte-ignore a11y-missing-attribute -->
36
38
  <img src={img} {...imgAttrs} />
37
39
  {:else if svg !== undefined}
38
- <slot />
40
+ {@render children?.()}
39
41
  {/if}
40
42
  </i>