@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
@@ -0,0 +1,178 @@
1
+ @use "$css/mixins";
2
+ @use "$css/variables";
3
+
4
+ .q-layout {
5
+ z-index: 0;
6
+ position: relative;
7
+
8
+ width: 100%;
9
+ height: 100%;
10
+ min-height: 100%;
11
+ min-width: 100%;
12
+
13
+ overflow: hidden;
14
+
15
+ border-radius: inherit;
16
+ }
17
+
18
+ .q-layout > .q-railbar {
19
+ position: absolute;
20
+
21
+ transition:
22
+ top variables.$speed3,
23
+ bottom variables.$speed3;
24
+
25
+ &.q-railbar--offset-top {
26
+ // Put the railbar under the header to avoid hiding its box-shadow
27
+ z-index: 3;
28
+ }
29
+
30
+ @each $pos in ("top", "bottom") {
31
+ &.q-railbar--offset-#{$pos} {
32
+ #{$pos}: var(--offset-#{$pos}, 0);
33
+ }
34
+ }
35
+
36
+ & > .q-list {
37
+ @include mixins.gap("sm");
38
+
39
+ & > .q-item {
40
+ flex-direction: column;
41
+ align-items: center;
42
+ justify-content: center;
43
+
44
+ @include mixins.padding("x-sm");
45
+ @include mixins.gap("xs");
46
+
47
+ border-radius: 2rem;
48
+
49
+ &.q-link::after {
50
+ all: unset;
51
+ }
52
+
53
+ & > .q-item__section {
54
+ justify-content: start;
55
+ }
56
+
57
+ & > i {
58
+ @include mixins.padding("a-xs");
59
+ transition: padding variables.$speed1 linear;
60
+ }
61
+
62
+ &:is(:hover, :focus, .q-item--active) > i {
63
+ @include mixins.padding("x-lg");
64
+
65
+ background-color: var(--secondary-container);
66
+ color: var(--on-secondary-container);
67
+
68
+ font-variation-settings:
69
+ "FILL" 1,
70
+ "wght" 400,
71
+ "opsz" 24;
72
+ }
73
+ }
74
+ }
75
+ }
76
+
77
+ .q-layout > .q-drawer {
78
+ border-radius: 0;
79
+
80
+ transition:
81
+ top variables.$speed3,
82
+ bottom variables.$speed3,
83
+ transform variables.$speed3;
84
+
85
+ &.q-drawer--offset-top {
86
+ // Put the railbar under the header to avoid hiding its box-shadow
87
+ z-index: 2;
88
+ }
89
+
90
+ @function shouldHaveRadius($pos) {
91
+ @if not list-index(("top", "bottom"), $pos) {
92
+ @error 'The position "#{$pos}" is incorrect, should be "top" or "bottom"';
93
+ }
94
+
95
+ @return unquote(
96
+ ":is(.q-drawer--overlay,.q-drawer--offset-#{$pos},:not(:has(~ .q-header)),:has(~ .q-header--collapsed))"
97
+ );
98
+ }
99
+
100
+ $x-pos: "left", "right";
101
+ $y-pos: "top", "bottom";
102
+
103
+ @each $side in $x-pos {
104
+ &.q-drawer--#{$side} {
105
+ #{$side}: var(--#{$side}-railbar-width, 0);
106
+ }
107
+ }
108
+
109
+ @each $pos in $y-pos {
110
+ @each $side in $x-pos {
111
+ &:not(.q-drawer--#{$side})#{shouldHaveRadius($pos)} {
112
+ border-#{$pos}-#{$side}-radius: 1rem;
113
+ }
114
+ }
115
+
116
+ &.q-drawer--offset-#{$pos} {
117
+ #{$pos}: var(--offset-#{$pos}, 0);
118
+ }
119
+ }
120
+
121
+ & .q-list > .q-item.q-link {
122
+ border-radius: 2rem;
123
+ overflow: hidden;
124
+
125
+ &::before {
126
+ content: "";
127
+
128
+ z-index: -1;
129
+ position: absolute;
130
+ bottom: 0;
131
+ left: 0;
132
+
133
+ width: 100%;
134
+ height: 100%;
135
+
136
+ background-color: var(--secondary-container);
137
+ opacity: 0;
138
+
139
+ border-radius: inherit;
140
+
141
+ transform: scaleX(0.32);
142
+
143
+ transition:
144
+ transform variables.$speed2,
145
+ opacity variables.$speed2,
146
+ top variables.$speed3,
147
+ bottom variables.$speed3,
148
+ left variables.$speed3;
149
+ }
150
+
151
+ &.q-item--active {
152
+ color: var(--on-secondary-container);
153
+
154
+ &::before {
155
+ opacity: 1;
156
+ transform: scaleX(1);
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ // Offset for drawer with railbar
163
+ @each $side in ("left", "right") {
164
+ .q-railbar.q-railbar--#{$side}:not([style="display: none"]) ~ .q-drawer.q-drawer--#{$side} {
165
+ #{$side}: var(--#{$side}-railbar-width);
166
+ }
167
+
168
+ // Reset railbar width
169
+ .q-railbar.q-railbar--#{$side}[style="display: none"] ~ .q-drawer.q-drawer--#{$side} {
170
+ --#{$side}-railbar-width: 0px;
171
+ }
172
+ }
173
+
174
+ .q-layout > .q-layout__content {
175
+ height: calc(100% - var(--offset-top) - var(--offset-bottom));
176
+ overflow: auto;
177
+ transition: margin variables.$speed3;
178
+ }
@@ -1,88 +1,108 @@
1
- <script context="module"></script>
1
+ <script context="module" lang="ts">
2
+ import { setContext } from "svelte";
3
+ import QContext from "../../classes/QContext.svelte";
4
+ import ContextReseter from "../private/ContextReseter.svelte";
5
+ </script>
2
6
 
3
- <script>import { setContext } from "svelte";
4
- import { createClasses, createStyles } from "../../utils/props";
5
- import ContextReseter from "../private/ContextReseter.svelte";
6
- import { writable } from "svelte/store";
7
- export let view = "hhh lpr fff", headerHeight = "64px", footerHeight = "80px", leftDrawerWidth = "300px", rightDrawerWidth = "300px", leftRailbarWidth = "88px", rightRailbarWidth = "88px", userClasses = void 0, userStyles = void 0;
8
- export { userClasses as class, userStyles as style };
9
- $:
10
- style = createStyles(
11
- {
12
- "--header-height": isNaN(Number(headerHeight)) ? headerHeight : `${headerHeight}px`,
13
- "--footer-height": isNaN(Number(footerHeight)) ? footerHeight : `${footerHeight}px`,
14
- "--left-railbar-width": isNaN(Number(leftRailbarWidth)) ? leftRailbarWidth : `${leftRailbarWidth}px`,
15
- "--right-railbar-width": isNaN(Number(rightRailbarWidth)) ? rightRailbarWidth : `${rightRailbarWidth}px`,
16
- "--left-drawer-width": isNaN(Number(leftDrawerWidth)) ? leftDrawerWidth : `${leftDrawerWidth}px`,
17
- "--right-drawer-width": isNaN(Number(rightDrawerWidth)) ? rightDrawerWidth : `${rightDrawerWidth}px`
18
- },
19
- userStyles
20
- );
21
- $:
22
- classes = createClasses(["q-layout", userClasses]);
23
- function prepareCtx(viewProp) {
24
- const [top, middle, bottom] = viewProp.split(" ");
25
- const header = $$slots.header ? {
26
- display: true,
27
- fixed: top.includes("H")
28
- } : void 0;
29
- const footer = $$slots.footer ? {
30
- display: true,
31
- fixed: bottom.includes("F")
32
- } : void 0;
33
- const drawerLeft = {
34
- offset: {
35
- top: $$slots.header && top[0].toLowerCase() === "h",
36
- bottom: $$slots.footer && bottom[0].toLowerCase() === "f"
37
- },
38
- fixed: [top[0], middle[0], bottom[0]].includes("L"),
39
- railbar: $$slots.railbarLeft === true,
40
- drawer: $$slots.drawerLeft === true,
41
- overlay: false
42
- };
43
- const drawerRight = {
44
- offset: {
45
- top: $$slots.header && top[2].toLowerCase() === "h",
46
- bottom: $$slots.footer && bottom[2].toLowerCase() === "f"
47
- },
48
- fixed: [top[2], middle[2], bottom[2]].includes("R"),
49
- railbar: $$slots.railbarRight === true,
50
- drawer: $$slots.drawerRight === true,
51
- overlay: false
52
- };
53
- return {
7
+ <script lang="ts">
8
+ let {
9
+ view = "hhh lpr fff",
10
+ content,
11
+ railbarLeft,
12
+ railbarRight,
13
+ drawerLeft,
14
+ drawerRight,
54
15
  header,
55
16
  footer,
56
- drawerLeft,
57
- drawerRight
58
- };
59
- }
60
- let ctx = writable(prepareCtx(view));
61
- $:
62
- $ctx = prepareCtx(view);
63
- setContext("layout", ctx);
17
+ onscroll,
18
+ onresize,
19
+ children,
20
+ ...props
21
+ } = $props();
22
+ setContext("view", {
23
+ get value() {
24
+ return view;
25
+ },
26
+ });
27
+ const headerCtx = new QContext("QHeader", {
28
+ height: 0,
29
+ collapsed: false,
30
+ });
31
+ const footerCtx = new QContext("QFooter", {
32
+ height: 0,
33
+ collapsed: false,
34
+ });
35
+ const leftRailbarCtx = new QContext("QRailbar-left", {
36
+ width: 0,
37
+ takesSpace: false,
38
+ });
39
+ const rightRailbarCtx = new QContext("QRailbar-right", {
40
+ width: 0,
41
+ takesSpace: false,
42
+ });
43
+ const leftDrawerCtx = new QContext("QDrawer-left", {
44
+ width: 0,
45
+ takesSpace: false,
46
+ });
47
+ const rightDrawerCtx = new QContext("QDrawer-right", {
48
+ width: 360,
49
+ takesSpace: false,
50
+ });
51
+ const topOffset = $derived(
52
+ !header || headerCtx.value.collapsed ? 0 : headerCtx.value.height,
53
+ );
54
+ const bottomOffset = $derived(
55
+ !footer || footerCtx.value.collapsed ? 0 : footerCtx.value.height,
56
+ );
57
+ const leftOffset = $derived(
58
+ handleDrawerCtx(leftRailbarCtx) + handleDrawerCtx(leftDrawerCtx),
59
+ );
60
+ const rightOffset = $derived(
61
+ handleDrawerCtx(rightRailbarCtx) + handleDrawerCtx(rightDrawerCtx),
62
+ );
63
+ const contentMargin = $derived(
64
+ `${header ? topOffset : 0}px ${rightOffset}px ${footer ? bottomOffset : 0}px ${leftOffset}px`,
65
+ );
66
+ function handleDrawerCtx(ctx) {
67
+ return ctx.value.takesSpace ? ctx.value.width : 0;
68
+ }
64
69
  </script>
65
70
 
66
- <div class={classes} {style} on:scroll on:resize>
67
- {#if $$slots.railbarLeft}
68
- <slot name="railbarLeft" />
69
- {/if}
70
- {#if $$slots.railbarRight}
71
- <slot name="railbarRight" />
72
- {/if}
73
- {#if $$slots.drawerLeft}
74
- <slot name="drawerLeft" />
75
- {/if}
76
- {#if $$slots.drawerRight}
77
- <slot name="drawerRight" />
78
- {/if}
79
- {#if $$slots.header}
80
- <slot name="header" />
81
- {/if}
82
- {#if $$slots.footer}
83
- <slot name="footer" />
84
- {/if}
85
- <ContextReseter keys="layout">
86
- <slot name="content" />
71
+ <div
72
+ {...props}
73
+ class="q-layout{props.class ? ` ${props.class}` : ''}"
74
+ style:--left-railbar-width={`${railbarLeft ? leftRailbarCtx.value.width : 0}px`}
75
+ style:--right-railbar-width={`${railbarRight ? rightRailbarCtx.value.width : 0}px`}
76
+ style:--offset-top={`${topOffset}px`}
77
+ style:--offset-right={`${rightOffset}px`}
78
+ style:--offset-bottom={`${bottomOffset}px`}
79
+ style:--offset-left={`${leftOffset}px`}
80
+ {onscroll}
81
+ {onresize}
82
+ >
83
+ {@render railbarLeft?.()}
84
+ {@render railbarRight?.()}
85
+ {@render drawerLeft?.()}
86
+ {@render drawerRight?.()}
87
+ {@render header?.()}
88
+ {@render footer?.()}
89
+
90
+ <ContextReseter
91
+ keys={[
92
+ "QHeader",
93
+ "QFooter",
94
+ "QRailbar-left",
95
+ "QRailbar-right",
96
+ "QDrawer-left",
97
+ "QDrawer-right",
98
+ ]}
99
+ >
100
+ <div class="q-layout__content" style:margin={contentMargin}>
101
+ {#if content}
102
+ {@render content()}
103
+ {:else}
104
+ {@render children?.()}
105
+ {/if}
106
+ </div>
87
107
  </ContextReseter>
88
108
  </div>
@@ -1,5 +1,5 @@
1
- import { SvelteComponent } from "svelte";
2
- export interface DrawerContext {
1
+ import type { QLayoutProps } from "./props";
2
+ export interface DrawerContextLegacy {
3
3
  offset: {
4
4
  top: boolean;
5
5
  bottom: boolean;
@@ -10,48 +10,22 @@ export interface DrawerContext {
10
10
  overlay: boolean;
11
11
  }
12
12
  export interface AppbarContext {
13
+ height: number;
14
+ collapsed: boolean;
15
+ }
16
+ export interface DrawerContext {
17
+ width: number;
18
+ takesSpace: boolean;
19
+ }
20
+ export interface AppbarContextLegacy {
13
21
  display: boolean;
14
22
  fixed: boolean;
15
23
  }
16
- export type LayoutContext = Readable<{
17
- header?: AppbarContext;
18
- footer?: AppbarContext;
19
- drawerLeft: DrawerContext;
20
- drawerRight: DrawerContext;
21
- }>;
22
- import type { QLayoutProps } from "./props";
23
- import type { Readable } from "svelte/store";
24
- declare const __propDef: {
25
- props: {
26
- view?: "lhh lpr lfr" | "lhh lpr lff" | "lhh lpr lFr" | "lhh lpr lFf" | "lhh lpr ffr" | "lhh lpr fff" | "lhh lpr fFr" | "lhh lpr fFf" | "lhh lpR lfr" | "lhh lpR lff" | "lhh lpR lFr" | "lhh lpR lFf" | "lhh lpR ffr" | "lhh lpR fff" | "lhh lpR fFr" | "lhh lpR fFf" | "lhh Lpr lfr" | "lhh Lpr lff" | "lhh Lpr lFr" | "lhh Lpr lFf" | "lhh Lpr ffr" | "lhh Lpr fff" | "lhh Lpr fFr" | "lhh Lpr fFf" | "lhh LpR lfr" | "lhh LpR lff" | "lhh LpR lFr" | "lhh LpR lFf" | "lhh LpR ffr" | "lhh LpR fff" | "lhh LpR fFr" | "lhh LpR fFf" | "lhr lpr lfr" | "lhr lpr lff" | "lhr lpr lFr" | "lhr lpr lFf" | "lhr lpr ffr" | "lhr lpr fff" | "lhr lpr fFr" | "lhr lpr fFf" | "lhr lpR lfr" | "lhr lpR lff" | "lhr lpR lFr" | "lhr lpR lFf" | "lhr lpR ffr" | "lhr lpR fff" | "lhr lpR fFr" | "lhr lpR fFf" | "lhr Lpr lfr" | "lhr Lpr lff" | "lhr Lpr lFr" | "lhr Lpr lFf" | "lhr Lpr ffr" | "lhr Lpr fff" | "lhr Lpr fFr" | "lhr Lpr fFf" | "lhr LpR lfr" | "lhr LpR lff" | "lhr LpR lFr" | "lhr LpR lFf" | "lhr LpR ffr" | "lhr LpR fff" | "lhr LpR fFr" | "lhr LpR fFf" | "lHh lpr lfr" | "lHh lpr lff" | "lHh lpr lFr" | "lHh lpr lFf" | "lHh lpr ffr" | "lHh lpr fff" | "lHh lpr fFr" | "lHh lpr fFf" | "lHh lpR lfr" | "lHh lpR lff" | "lHh lpR lFr" | "lHh lpR lFf" | "lHh lpR ffr" | "lHh lpR fff" | "lHh lpR fFr" | "lHh lpR fFf" | "lHh Lpr lfr" | "lHh Lpr lff" | "lHh Lpr lFr" | "lHh Lpr lFf" | "lHh Lpr ffr" | "lHh Lpr fff" | "lHh Lpr fFr" | "lHh Lpr fFf" | "lHh LpR lfr" | "lHh LpR lff" | "lHh LpR lFr" | "lHh LpR lFf" | "lHh LpR ffr" | "lHh LpR fff" | "lHh LpR fFr" | "lHh LpR fFf" | "lHr lpr lfr" | "lHr lpr lff" | "lHr lpr lFr" | "lHr lpr lFf" | "lHr lpr ffr" | "lHr lpr fff" | "lHr lpr fFr" | "lHr lpr fFf" | "lHr lpR lfr" | "lHr lpR lff" | "lHr lpR lFr" | "lHr lpR lFf" | "lHr lpR ffr" | "lHr lpR fff" | "lHr lpR fFr" | "lHr lpR fFf" | "lHr Lpr lfr" | "lHr Lpr lff" | "lHr Lpr lFr" | "lHr Lpr lFf" | "lHr Lpr ffr" | "lHr Lpr fff" | "lHr Lpr fFr" | "lHr Lpr fFf" | "lHr LpR lfr" | "lHr LpR lff" | "lHr LpR lFr" | "lHr LpR lFf" | "lHr LpR ffr" | "lHr LpR fff" | "lHr LpR fFr" | "lHr LpR fFf" | "hhh lpr lfr" | "hhh lpr lff" | "hhh lpr lFr" | "hhh lpr lFf" | "hhh lpr ffr" | "hhh lpr fff" | "hhh lpr fFr" | "hhh lpr fFf" | "hhh lpR lfr" | "hhh lpR lff" | "hhh lpR lFr" | "hhh lpR lFf" | "hhh lpR ffr" | "hhh lpR fff" | "hhh lpR fFr" | "hhh lpR fFf" | "hhh Lpr lfr" | "hhh Lpr lff" | "hhh Lpr lFr" | "hhh Lpr lFf" | "hhh Lpr ffr" | "hhh Lpr fff" | "hhh Lpr fFr" | "hhh Lpr fFf" | "hhh LpR lfr" | "hhh LpR lff" | "hhh LpR lFr" | "hhh LpR lFf" | "hhh LpR ffr" | "hhh LpR fff" | "hhh LpR fFr" | "hhh LpR fFf" | "hhr lpr lfr" | "hhr lpr lff" | "hhr lpr lFr" | "hhr lpr lFf" | "hhr lpr ffr" | "hhr lpr fff" | "hhr lpr fFr" | "hhr lpr fFf" | "hhr lpR lfr" | "hhr lpR lff" | "hhr lpR lFr" | "hhr lpR lFf" | "hhr lpR ffr" | "hhr lpR fff" | "hhr lpR fFr" | "hhr lpR fFf" | "hhr Lpr lfr" | "hhr Lpr lff" | "hhr Lpr lFr" | "hhr Lpr lFf" | "hhr Lpr ffr" | "hhr Lpr fff" | "hhr Lpr fFr" | "hhr Lpr fFf" | "hhr LpR lfr" | "hhr LpR lff" | "hhr LpR lFr" | "hhr LpR lFf" | "hhr LpR ffr" | "hhr LpR fff" | "hhr LpR fFr" | "hhr LpR fFf" | "hHh lpr lfr" | "hHh lpr lff" | "hHh lpr lFr" | "hHh lpr lFf" | "hHh lpr ffr" | "hHh lpr fff" | "hHh lpr fFr" | "hHh lpr fFf" | "hHh lpR lfr" | "hHh lpR lff" | "hHh lpR lFr" | "hHh lpR lFf" | "hHh lpR ffr" | "hHh lpR fff" | "hHh lpR fFr" | "hHh lpR fFf" | "hHh Lpr lfr" | "hHh Lpr lff" | "hHh Lpr lFr" | "hHh Lpr lFf" | "hHh Lpr ffr" | "hHh Lpr fff" | "hHh Lpr fFr" | "hHh Lpr fFf" | "hHh LpR lfr" | "hHh LpR lff" | "hHh LpR lFr" | "hHh LpR lFf" | "hHh LpR ffr" | "hHh LpR fff" | "hHh LpR fFr" | "hHh LpR fFf" | "hHr lpr lfr" | "hHr lpr lff" | "hHr lpr lFr" | "hHr lpr lFf" | "hHr lpr ffr" | "hHr lpr fff" | "hHr lpr fFr" | "hHr lpr fFf" | "hHr lpR lfr" | "hHr lpR lff" | "hHr lpR lFr" | "hHr lpR lFf" | "hHr lpR ffr" | "hHr lpR fff" | "hHr lpR fFr" | "hHr lpR fFf" | "hHr Lpr lfr" | "hHr Lpr lff" | "hHr Lpr lFr" | "hHr Lpr lFf" | "hHr Lpr ffr" | "hHr Lpr fff" | "hHr Lpr fFr" | "hHr Lpr fFf" | "hHr LpR lfr" | "hHr LpR lff" | "hHr LpR lFr" | "hHr LpR lFf" | "hHr LpR ffr" | "hHr LpR fff" | "hHr LpR fFr" | "hHr LpR fFf" | undefined;
27
- headerHeight?: string | number | undefined;
28
- footerHeight?: string | number | undefined;
29
- leftDrawerWidth?: string | number | undefined;
30
- rightDrawerWidth?: string | number | undefined;
31
- leftRailbarWidth?: string | number | undefined;
32
- rightRailbarWidth?: string | number | undefined;
33
- class?: string | undefined;
34
- style?: string | undefined;
35
- };
36
- events: {
37
- scroll: Event;
38
- resize: UIEvent;
39
- } & {
40
- [evt: string]: CustomEvent<any>;
41
- };
42
- slots: {
43
- railbarLeft: {};
44
- railbarRight: {};
45
- drawerLeft: {};
46
- drawerRight: {};
47
- header: {};
48
- footer: {};
49
- content: {};
50
- };
24
+ export type LayoutContext = {
25
+ header?: AppbarContextLegacy;
26
+ footer?: AppbarContextLegacy;
27
+ drawerLeft: DrawerContextLegacy;
28
+ drawerRight: DrawerContextLegacy;
51
29
  };
52
- type QLayoutProps_ = typeof __propDef.props;
53
- export { QLayoutProps_ as QLayoutProps };
54
- export type QLayoutEvents = typeof __propDef.events;
55
- export type QLayoutSlots = typeof __propDef.slots;
56
- export default class QLayout extends SvelteComponent<QLayoutProps, QLayoutEvents, QLayoutSlots> {
57
- }
30
+ declare const QLayout: import("svelte").Component<QLayoutProps, {}, "">;
31
+ export default QLayout;
@@ -1,2 +1,2 @@
1
- import type { QComponentDocs } from "$utils/types";
2
- export declare let QLayoutDocs: QComponentDocs;
1
+ import type { QComponentDocs } from "../../utils";
2
+ export declare const QLayoutDocs: QComponentDocs;
@@ -1,5 +1,5 @@
1
1
  import { QLayoutDocsProps } from "./docs.props";
2
- export let QLayoutDocs = {
2
+ export const QLayoutDocs = {
3
3
  name: "QLayout",
4
4
  description: "The QLayout component is designed to be the skeleton of the entire page, with navigational elements such as header, railbars, drawers and footer. This component is not mandatory but it really helps structure the page.",
5
5
  docs: {
@@ -1,8 +1,10 @@
1
+ // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
+ // @quaffHash 0dcefb45962cef3881e6d5b3d3ec1666
1
3
  export const QLayoutDocsProps = [
2
4
  {
3
5
  name: "view",
4
6
  type: "QLayoutViewOptions",
5
- optional: false,
7
+ optional: true,
6
8
  clickableType: true,
7
9
  description: 'The layout view configuration, which defines how layout components (header, railbars, drawers, footer) should be displayed on screen.\nSee <a href="https://quasar.dev/layout/layout/#understanding-the-view-prop" target="_blank">Quasar\'s explanation on the view prop</a>.',
8
10
  default: '"hhh lpr fff"',
@@ -10,7 +12,7 @@ export const QLayoutDocsProps = [
10
12
  {
11
13
  name: "headerHeight",
12
14
  type: "string | number",
13
- optional: false,
15
+ optional: true,
14
16
  clickableType: false,
15
17
  description: 'The height of the header. Can be specified with CSS units. If no unit is specified, "px" will be used.',
16
18
  default: "64px",
@@ -18,7 +20,7 @@ export const QLayoutDocsProps = [
18
20
  {
19
21
  name: "footerHeight",
20
22
  type: "string | number",
21
- optional: false,
23
+ optional: true,
22
24
  clickableType: false,
23
25
  description: 'The height of the footer. Can be specified with CSS units. If no unit is specified, "px" will be used.',
24
26
  default: "80px",
@@ -26,7 +28,7 @@ export const QLayoutDocsProps = [
26
28
  {
27
29
  name: "leftDrawerWidth",
28
30
  type: "string | number",
29
- optional: false,
31
+ optional: true,
30
32
  clickableType: false,
31
33
  description: 'The width of the left drawer. Can be specified with CSS units. If no unit is specified, "px" will be used.',
32
34
  default: "300px",
@@ -34,7 +36,7 @@ export const QLayoutDocsProps = [
34
36
  {
35
37
  name: "rightDrawerWidth",
36
38
  type: "string | number",
37
- optional: false,
39
+ optional: true,
38
40
  clickableType: false,
39
41
  description: 'The width of the right drawer. Can be specified with CSS units. If no unit is specified, "px" will be used.',
40
42
  default: "300px",
@@ -42,7 +44,7 @@ export const QLayoutDocsProps = [
42
44
  {
43
45
  name: "leftRailbarWidth",
44
46
  type: "string | number",
45
- optional: false,
47
+ optional: true,
46
48
  clickableType: false,
47
49
  description: 'The width of the left railbar. Can be specified with CSS units. If no unit is specified, "px" will be used.',
48
50
  default: "88px",
@@ -50,9 +52,65 @@ export const QLayoutDocsProps = [
50
52
  {
51
53
  name: "rightRailbarWidth",
52
54
  type: "string | number",
53
- optional: false,
55
+ optional: true,
54
56
  clickableType: false,
55
57
  description: 'The width of the right railbar. Can be specified with CSS units. If no unit is specified, "px" will be used.',
56
58
  default: "88px",
57
59
  },
60
+ {
61
+ name: "content",
62
+ type: "Snippet",
63
+ optional: true,
64
+ clickableType: true,
65
+ description: "",
66
+ default: "",
67
+ },
68
+ {
69
+ name: "railbarLeft",
70
+ type: "Snippet",
71
+ optional: true,
72
+ clickableType: true,
73
+ description: "",
74
+ default: "",
75
+ },
76
+ {
77
+ name: "railbarRight",
78
+ type: "Snippet",
79
+ optional: true,
80
+ clickableType: true,
81
+ description: "",
82
+ default: "",
83
+ },
84
+ {
85
+ name: "drawerLeft",
86
+ type: "Snippet",
87
+ optional: true,
88
+ clickableType: true,
89
+ description: "",
90
+ default: "",
91
+ },
92
+ {
93
+ name: "drawerRight",
94
+ type: "Snippet",
95
+ optional: true,
96
+ clickableType: true,
97
+ description: "",
98
+ default: "",
99
+ },
100
+ {
101
+ name: "header",
102
+ type: "Snippet",
103
+ optional: true,
104
+ clickableType: true,
105
+ description: "",
106
+ default: "",
107
+ },
108
+ {
109
+ name: "footer",
110
+ type: "Snippet",
111
+ optional: true,
112
+ clickableType: true,
113
+ description: "",
114
+ default: "",
115
+ },
58
116
  ];
@@ -1,41 +1,50 @@
1
- import type { NativeProps } from "../../utils/types";
1
+ import type { NativeProps } from "../../utils";
2
+ import type { Snippet } from "svelte";
3
+ import type { HTMLAttributes } from "svelte/elements";
2
4
  export type QLayoutViewOptions = `${"l" | "h"}${"h" | "H"}${"r" | "h"} ${"l" | "L"}${"p"}${"r" | "R"} ${"l" | "f"}${"f" | "F"}${"r" | "f"}`;
3
- export interface QLayoutProps extends NativeProps {
5
+ export interface QLayoutProps extends NativeProps, HTMLAttributes<HTMLDivElement> {
4
6
  /**
5
7
  * The layout view configuration, which defines how layout components (header, railbars, drawers, footer) should be displayed on screen.
6
8
  * See <a href="https://quasar.dev/layout/layout/#understanding-the-view-prop" target="_blank">Quasar's explanation on the view prop</a>.
7
9
  * @default "hhh lpr fff"
8
10
  */
9
- view: QLayoutViewOptions;
11
+ view?: QLayoutViewOptions;
10
12
  /**
11
13
  * The height of the header. Can be specified with CSS units. If no unit is specified, "px" will be used.
12
14
  * @default 64px
13
15
  */
14
- headerHeight: string | number;
16
+ headerHeight?: string | number;
15
17
  /**
16
18
  * The height of the footer. Can be specified with CSS units. If no unit is specified, "px" will be used.
17
19
  * @default 80px
18
20
  */
19
- footerHeight: string | number;
21
+ footerHeight?: string | number;
20
22
  /**
21
23
  * The width of the left drawer. Can be specified with CSS units. If no unit is specified, "px" will be used.
22
24
  * @default 300px
23
25
  */
24
- leftDrawerWidth: string | number;
26
+ leftDrawerWidth?: string | number;
25
27
  /**
26
28
  * The width of the right drawer. Can be specified with CSS units. If no unit is specified, "px" will be used.
27
29
  * @default 300px
28
30
  */
29
- rightDrawerWidth: string | number;
31
+ rightDrawerWidth?: string | number;
30
32
  /**
31
33
  * The width of the left railbar. Can be specified with CSS units. If no unit is specified, "px" will be used.
32
34
  * @default 88px
33
35
  */
34
- leftRailbarWidth: string | number;
36
+ leftRailbarWidth?: string | number;
35
37
  /**
36
38
  * The width of the right railbar. Can be specified with CSS units. If no unit is specified, "px" will be used.
37
39
  * @default 88px
38
40
  */
39
- rightRailbarWidth: string | number;
41
+ rightRailbarWidth?: string | number;
42
+ content?: Snippet;
43
+ railbarLeft?: Snippet;
44
+ railbarRight?: Snippet;
45
+ drawerLeft?: Snippet;
46
+ drawerRight?: Snippet;
47
+ header?: Snippet;
48
+ footer?: Snippet;
40
49
  }
41
50
  export type QLayoutEvents = "resize" | "scroll" | "scrollHeight";