@quaffui/quaff 0.1.0-prealpha8 → 1.0.0-alpha1

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 (388) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +47 -14
  3. package/dist/classes/QContext.svelte.d.ts +42 -0
  4. package/dist/classes/QContext.svelte.js +63 -0
  5. package/dist/classes/QScrollObserver.svelte.d.ts +48 -0
  6. package/dist/classes/QScrollObserver.svelte.js +107 -0
  7. package/dist/classes/QTheme.svelte.d.ts +13 -0
  8. package/dist/classes/QTheme.svelte.js +62 -0
  9. package/dist/classes/Quaff.svelte.d.ts +15 -0
  10. package/dist/classes/Quaff.svelte.js +45 -0
  11. package/dist/components/avatar/QAvatar.scss +101 -0
  12. package/dist/components/avatar/QAvatar.svelte +42 -42
  13. package/dist/components/avatar/QAvatar.svelte.d.ts +4 -17
  14. package/dist/components/avatar/docs.d.ts +2 -2
  15. package/dist/components/avatar/docs.js +3 -8
  16. package/dist/components/avatar/docs.props.d.ts +3 -8
  17. package/dist/components/avatar/docs.props.js +68 -15
  18. package/dist/components/avatar/index.scss +5 -3
  19. package/dist/components/avatar/props.d.ts +51 -8
  20. package/dist/components/breadcrumbs/QBreadcrumbs.scss +10 -0
  21. package/dist/components/breadcrumbs/QBreadcrumbs.svelte +32 -14
  22. package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +4 -13
  23. package/dist/components/breadcrumbs/QBreadcrumbsEl.scss +10 -0
  24. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +65 -48
  25. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +4 -16
  26. package/dist/components/breadcrumbs/docs.d.ts +2 -2
  27. package/dist/components/breadcrumbs/docs.js +3 -8
  28. package/dist/components/breadcrumbs/docs.props.d.ts +5 -16
  29. package/dist/components/breadcrumbs/docs.props.js +105 -45
  30. package/dist/components/breadcrumbs/props.d.ts +26 -24
  31. package/dist/components/button/QBtn.scss +136 -0
  32. package/dist/components/button/QBtn.svelte +157 -43
  33. package/dist/components/button/QBtn.svelte.d.ts +4 -24
  34. package/dist/components/button/docs.d.ts +2 -2
  35. package/dist/components/button/docs.js +3 -8
  36. package/dist/components/button/docs.props.d.ts +3 -8
  37. package/dist/components/button/docs.props.js +174 -37
  38. package/dist/components/button/props.d.ts +48 -11
  39. package/dist/components/card/QCard.scss +25 -0
  40. package/dist/components/card/QCard.svelte +34 -19
  41. package/dist/components/card/QCard.svelte.d.ts +4 -16
  42. package/dist/components/card/QCardActions.scss +10 -0
  43. package/dist/components/card/QCardActions.svelte +23 -15
  44. package/dist/components/card/QCardActions.svelte.d.ts +4 -12
  45. package/dist/components/card/QCardSection.scss +10 -0
  46. package/dist/components/card/QCardSection.svelte +15 -11
  47. package/dist/components/card/QCardSection.svelte.d.ts +4 -13
  48. package/dist/components/card/docs.d.ts +4 -4
  49. package/dist/components/card/docs.js +7 -22
  50. package/dist/components/card/docs.props.d.ts +7 -24
  51. package/dist/components/card/docs.props.js +57 -30
  52. package/dist/components/card/props.d.ts +11 -16
  53. package/dist/components/checkbox/QCheckbox.svelte +15 -9
  54. package/dist/components/checkbox/QCheckbox.svelte.d.ts +3 -10
  55. package/dist/components/checkbox/docs.d.ts +2 -2
  56. package/dist/components/checkbox/docs.js +3 -3
  57. package/dist/components/checkbox/docs.props.d.ts +3 -8
  58. package/dist/components/checkbox/docs.props.js +24 -9
  59. package/dist/components/checkbox/index.scss +3 -1
  60. package/dist/components/checkbox/props.d.ts +2 -2
  61. package/dist/components/chip/QChip.scss +179 -0
  62. package/dist/components/chip/QChip.svelte +130 -60
  63. package/dist/components/chip/QChip.svelte.d.ts +4 -25
  64. package/dist/components/chip/docs.d.ts +2 -2
  65. package/dist/components/chip/docs.js +3 -16
  66. package/dist/components/chip/docs.props.d.ts +3 -8
  67. package/dist/components/chip/docs.props.js +96 -49
  68. package/dist/components/chip/props.d.ts +27 -29
  69. package/dist/components/codeBlock/QCodeBlock.svelte +90 -44
  70. package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +3 -10
  71. package/dist/components/codeBlock/docs.props.d.ts +3 -8
  72. package/dist/components/codeBlock/docs.props.js +61 -12
  73. package/dist/components/codeBlock/props.d.ts +12 -2
  74. package/dist/components/dialog/{index.scss → QDialog.scss} +12 -14
  75. package/dist/components/dialog/QDialog.svelte +90 -68
  76. package/dist/components/dialog/QDialog.svelte.d.ts +9 -25
  77. package/dist/components/dialog/docs.d.ts +2 -2
  78. package/dist/components/dialog/docs.js +3 -3
  79. package/dist/components/dialog/docs.props.d.ts +3 -16
  80. package/dist/components/dialog/docs.props.js +37 -128
  81. package/dist/components/dialog/props.d.ts +4 -19
  82. package/dist/components/drawer/QDrawer.scss +39 -0
  83. package/dist/components/drawer/QDrawer.svelte +142 -83
  84. package/dist/components/drawer/QDrawer.svelte.d.ts +9 -28
  85. package/dist/components/drawer/docs.d.ts +2 -2
  86. package/dist/components/drawer/docs.js +3 -3
  87. package/dist/components/drawer/docs.props.d.ts +3 -8
  88. package/dist/components/drawer/docs.props.js +94 -39
  89. package/dist/components/drawer/props.d.ts +4 -3
  90. package/dist/components/footer/QFooter.scss +42 -0
  91. package/dist/components/footer/QFooter.svelte +100 -21
  92. package/dist/components/footer/QFooter.svelte.d.ts +4 -14
  93. package/dist/components/footer/docs.d.ts +2 -2
  94. package/dist/components/footer/docs.js +3 -3
  95. package/dist/components/footer/docs.props.d.ts +3 -8
  96. package/dist/components/footer/docs.props.js +47 -16
  97. package/dist/components/footer/props.d.ts +14 -8
  98. package/dist/components/header/QHeader.scss +53 -0
  99. package/dist/components/header/QHeader.svelte +95 -0
  100. package/dist/components/header/QHeader.svelte.d.ts +14 -0
  101. package/dist/components/header/docs.d.ts +2 -0
  102. package/dist/components/header/docs.js +11 -0
  103. package/dist/components/header/docs.props.d.ts +7 -0
  104. package/dist/components/header/docs.props.js +131 -0
  105. package/dist/components/header/props.d.ts +23 -0
  106. package/dist/components/header/props.js +1 -0
  107. package/dist/components/icon/{index.scss → QIcon.scss} +2 -4
  108. package/dist/components/icon/QIcon.svelte +44 -28
  109. package/dist/components/icon/QIcon.svelte.d.ts +4 -18
  110. package/dist/components/icon/docs.d.ts +2 -2
  111. package/dist/components/icon/docs.js +3 -3
  112. package/dist/components/icon/docs.props.d.ts +3 -8
  113. package/dist/components/icon/docs.props.js +65 -24
  114. package/dist/components/icon/props.d.ts +9 -8
  115. package/dist/components/index.d.ts +6 -2
  116. package/dist/components/index.js +6 -2
  117. package/dist/components/input/QInput.svelte +106 -72
  118. package/dist/components/input/QInput.svelte.d.ts +4 -22
  119. package/dist/components/input/docs.d.ts +2 -2
  120. package/dist/components/input/docs.js +5 -71
  121. package/dist/components/input/docs.props.d.ts +3 -8
  122. package/dist/components/input/docs.props.js +129 -57
  123. package/dist/components/input/index.scss +1 -3
  124. package/dist/components/input/props.d.ts +81 -21
  125. package/dist/components/input/props.js +1 -13
  126. package/dist/components/layout/QLayout.scss +174 -0
  127. package/dist/components/layout/QLayout.svelte +178 -79
  128. package/dist/components/layout/QLayout.svelte.d.ts +12 -45
  129. package/dist/components/layout/docs.d.ts +2 -2
  130. package/dist/components/layout/docs.js +3 -3
  131. package/dist/components/layout/docs.props.d.ts +3 -8
  132. package/dist/components/layout/docs.props.js +62 -39
  133. package/dist/components/layout/props.d.ts +29 -21
  134. package/dist/components/list/QItem.scss +69 -0
  135. package/dist/components/list/QItem.svelte +99 -51
  136. package/dist/components/list/QItem.svelte.d.ts +4 -24
  137. package/dist/components/list/QItemSection.scss +59 -0
  138. package/dist/components/list/QItemSection.svelte +63 -37
  139. package/dist/components/list/QItemSection.svelte.d.ts +4 -15
  140. package/dist/components/list/QList.scss +30 -0
  141. package/dist/components/list/QList.svelte +43 -20
  142. package/dist/components/list/QList.svelte.d.ts +4 -26
  143. package/dist/components/list/docs.d.ts +4 -2
  144. package/dist/components/list/docs.js +23 -3
  145. package/dist/components/list/docs.props.d.ts +11 -40
  146. package/dist/components/list/docs.props.js +344 -136
  147. package/dist/components/list/props.d.ts +126 -28
  148. package/dist/components/list/props.js +1 -25
  149. package/dist/components/private/ContextReseter.svelte +15 -11
  150. package/dist/components/private/ContextReseter.svelte.d.ts +4 -8
  151. package/dist/components/private/QApi.svelte +264 -111
  152. package/dist/components/private/QApi.svelte.d.ts +3 -6
  153. package/dist/components/private/QDocs.svelte +119 -68
  154. package/dist/components/private/QDocs.svelte.d.ts +4 -11
  155. package/dist/components/private/QDocsSection.svelte +48 -18
  156. package/dist/components/private/QDocsSection.svelte.d.ts +9 -24
  157. package/dist/components/private/QIconSnippet.svelte +22 -0
  158. package/dist/components/private/QIconSnippet.svelte.d.ts +14 -0
  159. package/dist/components/private/index.d.ts +6 -0
  160. package/dist/components/private/index.js +6 -0
  161. package/dist/components/progress/QCircularProgress.scss +63 -0
  162. package/dist/components/progress/QCircularProgress.svelte +134 -21
  163. package/dist/components/progress/QCircularProgress.svelte.d.ts +3 -11
  164. package/dist/components/progress/QLinearProgress.scss +75 -0
  165. package/dist/components/progress/QLinearProgress.svelte +80 -23
  166. package/dist/components/progress/QLinearProgress.svelte.d.ts +3 -11
  167. package/dist/components/progress/docs.d.ts +3 -2
  168. package/dist/components/progress/docs.js +15 -5
  169. package/dist/components/progress/docs.props.d.ts +5 -16
  170. package/dist/components/progress/docs.props.js +287 -41
  171. package/dist/components/progress/props.d.ts +126 -14
  172. package/dist/components/radio/QRadio.svelte +16 -9
  173. package/dist/components/radio/QRadio.svelte.d.ts +3 -11
  174. package/dist/components/radio/docs.d.ts +2 -2
  175. package/dist/components/radio/docs.js +4 -26
  176. package/dist/components/radio/docs.props.d.ts +3 -8
  177. package/dist/components/radio/docs.props.js +39 -20
  178. package/dist/components/radio/index.scss +3 -1
  179. package/dist/components/radio/props.d.ts +26 -6
  180. package/dist/components/radio/props.js +1 -8
  181. package/dist/components/railbar/QRailbar.scss +54 -0
  182. package/dist/components/railbar/QRailbar.svelte +72 -48
  183. package/dist/components/railbar/QRailbar.svelte.d.ts +4 -13
  184. package/dist/components/railbar/docs.d.ts +2 -2
  185. package/dist/components/railbar/docs.js +3 -3
  186. package/dist/components/railbar/docs.props.d.ts +3 -8
  187. package/dist/components/railbar/docs.props.js +36 -15
  188. package/dist/components/railbar/props.d.ts +13 -6
  189. package/dist/components/select/QSelect.svelte +222 -146
  190. package/dist/components/select/QSelect.svelte.d.ts +4 -24
  191. package/dist/components/select/docs.d.ts +2 -2
  192. package/dist/components/select/docs.js +5 -83
  193. package/dist/components/select/docs.props.d.ts +3 -8
  194. package/dist/components/select/docs.props.js +156 -64
  195. package/dist/components/select/index.scss +25 -10
  196. package/dist/components/select/props.d.ts +100 -20
  197. package/dist/components/select/props.js +1 -14
  198. package/dist/components/separator/QSeparator.scss +54 -0
  199. package/dist/components/separator/QSeparator.svelte +50 -57
  200. package/dist/components/separator/QSeparator.svelte.d.ts +3 -14
  201. package/dist/components/separator/docs.d.ts +3 -2
  202. package/dist/components/separator/docs.js +14 -4
  203. package/dist/components/separator/docs.props.d.ts +5 -16
  204. package/dist/components/separator/docs.props.js +152 -72
  205. package/dist/components/separator/props.d.ts +84 -16
  206. package/dist/components/separator/props.js +1 -9
  207. package/dist/components/switch/QSwitch.scss +305 -0
  208. package/dist/components/switch/QSwitch.svelte +115 -0
  209. package/dist/components/switch/QSwitch.svelte.d.ts +14 -0
  210. package/dist/components/switch/docs.d.ts +2 -0
  211. package/dist/components/switch/docs.js +17 -0
  212. package/dist/components/switch/docs.props.d.ts +3 -0
  213. package/dist/components/switch/docs.props.js +119 -0
  214. package/dist/components/switch/props.d.ts +53 -0
  215. package/dist/components/switch/props.js +1 -0
  216. package/dist/components/table/QTable.svelte +133 -97
  217. package/dist/components/table/QTable.svelte.d.ts +4 -19
  218. package/dist/components/table/docs.d.ts +2 -2
  219. package/dist/components/table/docs.js +3 -3
  220. package/dist/components/table/docs.props.d.ts +3 -8
  221. package/dist/components/table/docs.props.js +67 -15
  222. package/dist/components/table/index.scss +3 -1
  223. package/dist/components/table/props.d.ts +14 -3
  224. package/dist/components/tabs/QTab.scss +71 -0
  225. package/dist/components/tabs/QTab.svelte +107 -66
  226. package/dist/components/tabs/QTab.svelte.d.ts +4 -18
  227. package/dist/components/tabs/QTabs.scss +53 -0
  228. package/dist/components/tabs/QTabs.svelte +164 -51
  229. package/dist/components/tabs/QTabs.svelte.d.ts +9 -13
  230. package/dist/components/tabs/docs.d.ts +3 -2
  231. package/dist/components/tabs/docs.js +13 -3
  232. package/dist/components/tabs/docs.props.d.ts +5 -16
  233. package/dist/components/tabs/docs.props.js +64 -30
  234. package/dist/components/tabs/index.scss +71 -28
  235. package/dist/components/tabs/props.d.ts +38 -9
  236. package/dist/components/tabs/props.js +1 -13
  237. package/dist/components/toolbar/QToolbar.scss +36 -0
  238. package/dist/components/toolbar/QToolbar.svelte +26 -38
  239. package/dist/components/toolbar/QToolbar.svelte.d.ts +4 -13
  240. package/dist/components/toolbar/QToolbarTitle.svelte +10 -7
  241. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +4 -12
  242. package/dist/components/toolbar/docs.d.ts +3 -2
  243. package/dist/components/toolbar/docs.js +13 -3
  244. package/dist/components/toolbar/docs.props.d.ts +5 -16
  245. package/dist/components/toolbar/docs.props.js +55 -15
  246. package/dist/components/toolbar/props.d.ts +25 -7
  247. package/dist/components/tooltip/QTooltip.scss +40 -0
  248. package/dist/components/tooltip/QTooltip.svelte +200 -10
  249. package/dist/components/tooltip/QTooltip.svelte.d.ts +17 -18
  250. package/dist/components/tooltip/QTooltipBase.svelte +86 -0
  251. package/dist/components/tooltip/QTooltipBase.svelte.d.ts +14 -0
  252. package/dist/components/tooltip/docs.d.ts +2 -2
  253. package/dist/components/tooltip/docs.js +3 -2
  254. package/dist/components/tooltip/docs.props.d.ts +3 -8
  255. package/dist/components/tooltip/docs.props.js +69 -10
  256. package/dist/components/tooltip/props.d.ts +36 -4
  257. package/dist/components/tooltip/props.js +1 -6
  258. package/dist/composables/index.d.ts +3 -0
  259. package/dist/composables/index.js +3 -1
  260. package/dist/composables/{use-align.d.ts → useAlign.d.ts} +1 -1
  261. package/dist/composables/{use-align.js → useAlign.js} +1 -1
  262. package/dist/composables/{use-router-link.d.ts → useRouterLink.d.ts} +3 -3
  263. package/dist/composables/{use-router-link.js → useRouterLink.js} +4 -4
  264. package/dist/composables/useSize.d.ts +10 -0
  265. package/dist/composables/useSize.js +37 -0
  266. package/dist/css/_components.scss +31 -0
  267. package/dist/css/_disabled.scss +18 -0
  268. package/dist/css/_ripple.scss +49 -0
  269. package/dist/css/_variables.scss +73 -0
  270. package/dist/css/classes/_design.scss +57 -0
  271. package/dist/css/{flex.scss → classes/_flex.scss} +23 -2
  272. package/dist/css/classes/_grid.scss +35 -0
  273. package/dist/css/classes/_index.scss +7 -0
  274. package/dist/css/classes/_overflow.scss +7 -0
  275. package/dist/css/classes/_position.scss +7 -0
  276. package/dist/css/classes/_select.scss +6 -0
  277. package/dist/css/classes/_spaces.scss +23 -0
  278. package/dist/css/fonts.scss +18 -4
  279. package/dist/css/index.css +1 -1
  280. package/dist/css/index.scss +16 -91
  281. package/dist/css/mixins/_design.scss +64 -0
  282. package/dist/css/mixins/_field.scss +64 -0
  283. package/dist/css/mixins/_image.scss +64 -0
  284. package/dist/css/mixins/_index.scss +10 -0
  285. package/dist/css/mixins/_layout.scss +20 -0
  286. package/dist/css/mixins/{menu.scss → _menu.scss} +4 -2
  287. package/dist/css/mixins/{selection.scss → _selection.scss} +10 -70
  288. package/dist/css/mixins/_spaces.scss +36 -0
  289. package/dist/css/mixins/_toolbar.scss +7 -0
  290. package/dist/css/mixins/_typography.scss +7 -0
  291. package/dist/css/shared/q-field.scss +348 -0
  292. package/dist/css/theme/_color-classes.scss +332 -0
  293. package/dist/css/theme/_colors.scss +205 -0
  294. package/dist/css/theme/_css-variables.scss +5 -0
  295. package/dist/css/theme/_index.scss +12 -0
  296. package/dist/css/theme/_page.scss +17 -0
  297. package/dist/css/theme/{palette.scss → _palette.scss} +27 -5
  298. package/dist/css/theme/{reset.scss → _reset.scss} +11 -2
  299. package/dist/css/theme/_typography-variables.scss +107 -0
  300. package/dist/global.d.ts +1 -1
  301. package/dist/helpers/clickOutside.d.ts +2 -2
  302. package/dist/helpers/clickOutside.js +5 -4
  303. package/dist/helpers/index.d.ts +2 -1
  304. package/dist/helpers/index.js +2 -1
  305. package/dist/helpers/pageTitle.d.ts +1 -0
  306. package/dist/helpers/pageTitle.js +3 -0
  307. package/dist/helpers/ripple.d.ts +11 -0
  308. package/dist/helpers/ripple.js +90 -0
  309. package/dist/helpers/version.d.ts +1 -1
  310. package/dist/helpers/version.js +1 -1
  311. package/dist/index.d.ts +4 -1
  312. package/dist/index.js +4 -1
  313. package/dist/stores/index.d.ts +0 -0
  314. package/dist/stores/index.js +1 -0
  315. package/dist/utils/clipboard.d.ts +1 -1
  316. package/dist/utils/clipboard.js +3 -4
  317. package/dist/utils/colors.d.ts +69 -0
  318. package/dist/utils/colors.js +141 -15
  319. package/dist/utils/context.d.ts +33 -0
  320. package/dist/utils/context.js +33 -0
  321. package/dist/utils/dom.d.ts +11 -0
  322. package/dist/utils/dom.js +81 -0
  323. package/dist/utils/events.d.ts +37 -0
  324. package/dist/utils/events.js +37 -0
  325. package/dist/utils/index.d.ts +11 -0
  326. package/dist/utils/index.js +11 -1
  327. package/dist/utils/number.d.ts +2 -0
  328. package/dist/utils/number.js +9 -0
  329. package/dist/utils/props.d.ts +4 -4
  330. package/dist/utils/props.js +9 -7
  331. package/dist/utils/router.d.ts +16 -0
  332. package/dist/utils/router.js +20 -0
  333. package/dist/utils/string.d.ts +2 -0
  334. package/dist/utils/string.js +12 -1
  335. package/dist/utils/types.d.ts +12 -18
  336. package/dist/utils/types.js +0 -3
  337. package/dist/utils/types.json +31 -1
  338. package/package.json +44 -39
  339. package/dist/components/breadcrumbs/index.scss +0 -20
  340. package/dist/components/button/index.scss +0 -81
  341. package/dist/components/card/index.scss +0 -56
  342. package/dist/components/chip/index.scss +0 -86
  343. package/dist/components/drawer/index.scss +0 -56
  344. package/dist/components/footer/index.scss +0 -5
  345. package/dist/components/layout/index.scss +0 -373
  346. package/dist/components/list/index.scss +0 -120
  347. package/dist/components/progress/index.scss +0 -65
  348. package/dist/components/toggle/QToggle.svelte +0 -35
  349. package/dist/components/toggle/QToggle.svelte.d.ts +0 -23
  350. package/dist/components/toggle/docs.d.ts +0 -2
  351. package/dist/components/toggle/docs.js +0 -47
  352. package/dist/components/toggle/docs.props.d.ts +0 -8
  353. package/dist/components/toggle/docs.props.js +0 -42
  354. package/dist/components/toggle/index.scss +0 -31
  355. package/dist/components/toggle/props.d.ts +0 -9
  356. package/dist/components/toggle/props.js +0 -9
  357. package/dist/components/toolbar/index.scss +0 -34
  358. package/dist/components/tooltip/index.scss +0 -82
  359. package/dist/composables/use-index.d.ts +0 -2
  360. package/dist/composables/use-index.js +0 -17
  361. package/dist/composables/use-size.d.ts +0 -9
  362. package/dist/composables/use-size.js +0 -25
  363. package/dist/css/grid.scss +0 -50
  364. package/dist/css/mixins/field.scss +0 -432
  365. package/dist/css/mixins.scss +0 -138
  366. package/dist/css/states.scss +0 -71
  367. package/dist/css/theme/bridge.scss +0 -15
  368. package/dist/css/theme/colors.module.scss +0 -180
  369. package/dist/css/theme/page.scss +0 -16
  370. package/dist/css/theme/theme.dark.scss +0 -37
  371. package/dist/css/theme/theme.light.scss +0 -37
  372. package/dist/css/theme/theme.scss +0 -11
  373. package/dist/css/theme/tokens.scss +0 -266
  374. package/dist/css/variables-sass.scss +0 -16
  375. package/dist/helpers/activationHandler.d.ts +0 -9
  376. package/dist/helpers/activationHandler.js +0 -23
  377. package/dist/stores/QTheme.d.ts +0 -42
  378. package/dist/stores/QTheme.js +0 -53
  379. package/dist/stores/Quaff.d.ts +0 -32
  380. package/dist/stores/Quaff.js +0 -53
  381. package/dist/utils/fields.d.ts +0 -1
  382. package/dist/utils/fields.js +0 -14
  383. package/dist/utils/watchable.d.ts +0 -3
  384. package/dist/utils/watchable.js +0 -22
  385. /package/dist/css/mixins/{table.scss → _table.scss} +0 -0
  386. /package/dist/css/theme/{elevate.scss → _elevate.scss} +0 -0
  387. /package/dist/css/theme/{typography.module.scss → _typography-classes.scss} +0 -0
  388. /package/dist/css/theme/{typography.scss → _typography.scss} +0 -0
@@ -1,33 +1,131 @@
1
- import { type NativeProps } from "../../utils/types";
2
- import type { QSeparatorProps } from "../separator/props";
3
- import { type UseRouterLinkProps } from "../../composables/use-router-link";
4
- export interface QListProps extends NativeProps {
5
- bordered: boolean;
6
- roundedBorders: boolean;
7
- dense: boolean;
8
- separator: boolean;
9
- separatorOptions: {
10
- spacing?: QSeparatorProps["spacing"];
11
- inset?: QSeparatorProps["inset"];
12
- color?: QSeparatorProps["color"];
13
- size?: QSeparatorProps["size"];
14
- text?: QSeparatorProps["text"];
15
- textAlign?: QSeparatorProps["textAlign"];
16
- };
17
- padding: boolean;
1
+ import type { RouterProps } from "../../utils";
2
+ import type { Snippet } from "svelte";
3
+ import type { QSeparatorHorizontalProps } from "../separator/props";
4
+ import type { HTMLAnchorAttributes, HTMLAttributes } from "svelte/elements";
5
+ export interface QListProps extends HTMLAttributes<HTMLElement> {
6
+ /**
7
+ * Adds a border around the list.
8
+ *
9
+ * @default false
10
+ */
11
+ bordered?: boolean;
12
+ /**
13
+ * Makes the borders of the list rounded when bordered is true.
14
+ *
15
+ * @default false
16
+ */
17
+ roundedBorders?: boolean;
18
+ /**
19
+ * Makes all the items in the list more compact.
20
+ *
21
+ * @default false
22
+ */
23
+ dense?: boolean;
24
+ /**
25
+ * Adds separators between list items.
26
+ *
27
+ * @default false
28
+ */
29
+ separator?: boolean;
30
+ /**
31
+ * Options for the separators. These will be applied to all separators in the list.
32
+ *
33
+ * @default undefined
34
+ */
35
+ separatorOptions?: Omit<QSeparatorHorizontalProps, "vertical">;
36
+ /**
37
+ * Adds padding to the list container.
38
+ *
39
+ * @default true
40
+ */
41
+ padding?: boolean;
42
+ /**
43
+ * HTML tag to be used for the list container.
44
+ *
45
+ * @default "div"
46
+ */
18
47
  tag?: string;
48
+ /**
49
+ * The class to apply to items that are active. For more granular control, you can also use the `activeClass` prop on each QItem.
50
+ *
51
+ * @default undefined
52
+ */
53
+ activeClass?: string;
19
54
  }
20
- export declare const QListPropsDefaults: QListProps;
21
- export interface QItemProps extends UseRouterLinkProps, NativeProps {
22
- tag: string;
23
- active: boolean;
24
- clickable: boolean;
25
- dense: boolean;
26
- tabindex: string | number;
55
+ export interface QItemProps extends RouterProps, HTMLAttributes<HTMLElement> {
56
+ /**
57
+ * HTML tag to be used for the list item.
58
+ *
59
+ * @default "div"
60
+ */
61
+ tag?: string;
62
+ /**
63
+ * Indicates if the item is currently active.
64
+ *
65
+ * @default false
66
+ */
67
+ active?: boolean;
68
+ /**
69
+ * Makes the item clickable and adds hover effects.
70
+ *
71
+ * @default false
72
+ */
73
+ clickable?: boolean;
74
+ /**
75
+ * Makes the item more compact.
76
+ *
77
+ * @default false
78
+ */
79
+ dense?: boolean;
80
+ /**
81
+ * Disables the ripple effect when clicking the item.
82
+ *
83
+ * @default false
84
+ */
85
+ noRipple?: boolean;
86
+ /**
87
+ * Tab index for keyboard navigation.
88
+ *
89
+ * @default 0
90
+ */
91
+ tabindex?: HTMLAttributes<HTMLElement>["tabindex"];
92
+ /**
93
+ * Target attribute for anchor tags when using router links.
94
+ *
95
+ * @default undefined
96
+ */
97
+ target?: HTMLAnchorAttributes["target"];
27
98
  }
28
- export declare const QItemPropsDefaults: QItemProps;
29
99
  export type QItemSectionTypes = "thumbnail" | "video" | "avatar" | "toggle" | "icon" | "trailingIcon" | "trailingText" | "content";
30
- export interface QItemSectionProps extends NativeProps {
31
- type: QItemSectionTypes;
100
+ export interface QItemSectionProps extends HTMLAttributes<HTMLDivElement> {
101
+ /**
102
+ * Type of the section, determines its layout and styling.
103
+ *
104
+ * @default "content"
105
+ */
106
+ type?: QItemSectionTypes;
107
+ /**
108
+ * Main content or title of the section. By default, inherits the content of the children snippet.
109
+ *
110
+ * @default children
111
+ */
112
+ headline?: Snippet;
113
+ /**
114
+ * First line of supporting text.
115
+ *
116
+ * @default undefined
117
+ */
118
+ line1?: Snippet;
119
+ /**
120
+ * Second line of supporting text.
121
+ *
122
+ * @default undefined
123
+ */
124
+ line2?: Snippet;
125
+ /**
126
+ * Third line of supporting text.
127
+ *
128
+ * @default undefined
129
+ */
130
+ line3?: Snippet;
32
131
  }
33
- export declare const QItemSectionPropsDefaults: QItemSectionProps;
@@ -1,25 +1 @@
1
- import { NativePropsDefaults } from "../../utils/types";
2
- import { UseRouterLinkPropsDefaults, } from "../../composables/use-router-link";
3
- export const QListPropsDefaults = {
4
- bordered: false,
5
- roundedBorders: false,
6
- dense: false,
7
- separator: false,
8
- separatorOptions: {},
9
- padding: false,
10
- tag: "div",
11
- ...NativePropsDefaults,
12
- };
13
- export const QItemPropsDefaults = {
14
- tag: "div",
15
- active: false,
16
- clickable: false,
17
- dense: false,
18
- tabindex: 0,
19
- ...UseRouterLinkPropsDefaults,
20
- ...NativePropsDefaults,
21
- };
22
- export const QItemSectionPropsDefaults = {
23
- type: "content",
24
- ...NativePropsDefaults,
25
- };
1
+ export {};
@@ -1,13 +1,17 @@
1
- <script>import { setContext } from "svelte";
2
- export let keys;
3
- $:
4
- if (Array.isArray(keys)) {
5
- for (let key of keys) {
6
- setContext(key, void 0);
7
- }
8
- } else {
9
- setContext(keys, void 0);
10
- }
1
+ <script lang="ts">
2
+ import { QContext } from "../../classes/QContext.svelte";
3
+ import type { Snippet } from "svelte";
4
+
5
+ let {
6
+ keys,
7
+ children,
8
+ }: {
9
+ keys: symbol | symbol[];
10
+ children?: Snippet;
11
+ } = $props();
12
+
13
+ const keysArr = Array.isArray(keys) ? keys : [keys];
14
+ keysArr.forEach((key) => QContext.reset(key));
11
15
  </script>
12
16
 
13
- <slot />
17
+ {@render children?.()}
@@ -1,18 +1,14 @@
1
- import { SvelteComponent } from "svelte";
1
+ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
- props: {
4
- keys: string | string[];
5
- };
3
+ props: Record<string, never>;
6
4
  events: {
7
5
  [evt: string]: CustomEvent<any>;
8
6
  };
9
- slots: {
10
- default: {};
11
- };
7
+ slots: {};
12
8
  };
13
9
  export type ContextReseterProps = typeof __propDef.props;
14
10
  export type ContextReseterEvents = typeof __propDef.events;
15
11
  export type ContextReseterSlots = typeof __propDef.slots;
16
- export default class ContextReseter extends SvelteComponent<ContextReseterProps, ContextReseterEvents, ContextReseterSlots> {
12
+ export default class ContextReseter extends SvelteComponentTyped<ContextReseterProps, ContextReseterEvents, ContextReseterSlots> {
17
13
  }
18
14
  export {};
@@ -1,67 +1,218 @@
1
- <script>import { capitalize } from "../../utils/string";
2
- import {
3
- QCard,
4
- QIcon,
5
- QTabs,
6
- QTab,
7
- QCardSection,
8
- QList,
9
- QItem,
10
- QItemSection,
11
- QDrawer,
12
- QCodeBlock
13
- } from "../..";
14
- import Types from "../../utils/types.json";
15
- export let QComponentDocs;
16
- let api = QComponentDocs.map((_doc) => "props");
17
- let drawer = Object.fromEntries(
18
- QComponentDocs.map((doc) => [
19
- doc.name,
20
- Object.fromEntries(
21
- doc.docs.props.map((prop) => [prop.name, prop.clickableType ? false : void 0])
22
- )
23
- ])
24
- );
25
- let drawerContent = "";
26
- function isProp(doc, index) {
27
- return api[index] === "props";
28
- }
29
- function isEvent(doc, index) {
30
- return api[index] === "events";
31
- }
32
- function getType(type) {
33
- type = type.replace("[]", "");
34
- let found = type in Types ? Types[type] : void 0;
35
- return found;
36
- }
37
- function handleDrawer(QDocument, doc, e) {
38
- e.stopPropagation();
39
- let content = getType(doc.type);
40
- for (let docName in drawer[QDocument.name]) {
41
- if (drawer[QDocument.name][docName] === true && docName !== doc.name) {
42
- drawer[QDocument.name][docName] = false;
1
+ <script lang="ts">
2
+ import { createRawSnippet, mount, tick } from "svelte";
3
+ import Types from "../../utils/types.json";
4
+ import {
5
+ QCard,
6
+ QCardSection,
7
+ QIcon,
8
+ QItem,
9
+ QItemSection,
10
+ QList,
11
+ QTab,
12
+ QTabs,
13
+ QTooltip,
14
+ Quaff,
15
+ } from "../..";
16
+ import { capitalize, escape } from "../../utils";
17
+ import type {
18
+ QComponentDocs,
19
+ QComponentEvent,
20
+ QComponentMethod,
21
+ } from "../../utils";
22
+ import type { ParsedProp, ParsedSnippet } from "../../../../docgen/props/parseInterface";
23
+
24
+ let { componentDocs }: { componentDocs: QComponentDocs[] } = $props();
25
+
26
+ let api: (keyof QComponentDocs["docs"])[] = $state(
27
+ componentDocs.map(() => "props"),
28
+ );
29
+
30
+ function getType(type: string) {
31
+ type = type.replace("[]", "");
32
+ let found = type in Types ? Types[type as keyof typeof Types] : undefined;
33
+ return found;
34
+ }
35
+
36
+ function isProp(
37
+ doc: ParsedProp | ParsedSnippet | QComponentEvent | QComponentMethod,
38
+ index: number,
39
+ ): doc is ParsedProp {
40
+ return api[index] === "props";
41
+ }
42
+
43
+ function isEvent(
44
+ doc: ParsedProp | ParsedSnippet | QComponentEvent | QComponentMethod,
45
+ index: number,
46
+ ): doc is QComponentEvent {
47
+ return api[index] === "events";
48
+ }
49
+
50
+ function isSnippet(
51
+ doc: ParsedProp | ParsedSnippet | QComponentEvent | QComponentMethod,
52
+ index: number,
53
+ ): doc is ParsedSnippet {
54
+ return api[index] === "snippets";
55
+ }
56
+
57
+ function inSpan(
58
+ spanContent: string,
59
+ { typeStyle = false, isClickable = false, typeName = "" } = {},
60
+ ) {
61
+ const classes = [
62
+ typeStyle && "prop-type",
63
+ isClickable && "clickable",
64
+ ].filter(Boolean);
65
+ const classString = classes.length ? ` class="${classes.join(" ")}"` : "";
66
+
67
+ const dataAttrs = isClickable
68
+ ? ` data-quaff data-type-name="${escape(typeName)}"`
69
+ : "";
70
+
71
+ return `<span${classString}${dataAttrs}>${spanContent}</span>`;
72
+ }
73
+
74
+ function prepareHeaderForSnippet(snippet: ParsedSnippet) {
75
+ let content = "<pre>";
76
+
77
+ if (snippet.optional) {
78
+ content += inSpan("?.", { typeStyle: true });
79
+ }
80
+
81
+ content += inSpan("(", { typeStyle: true });
82
+
83
+ if (snippet.type.length) {
84
+ content += inSpan("{ ", { typeStyle: true });
85
+
86
+ content += snippet.type
87
+ .map((arg) => {
88
+ return inSpan(escape(arg.propName)).concat(
89
+ inSpan(": "),
90
+ inSpan(escape(arg.name), {
91
+ typeStyle: true,
92
+ isClickable: arg.isClickable,
93
+ typeName: arg.name,
94
+ }),
95
+ );
96
+ })
97
+ .join(", ");
98
+
99
+ content += inSpan(" }", { typeStyle: true });
100
+ }
101
+
102
+ content += inSpan(")", { typeStyle: true });
103
+
104
+ content += "</pre>";
105
+
106
+ return content;
107
+ }
108
+
109
+ function prepareHeaderForProp(prop: ParsedProp) {
110
+ let content = "<pre>";
111
+
112
+ if (prop.optional) {
113
+ content += inSpan("?", { typeStyle: true });
114
+ }
115
+
116
+ content += inSpan(": ", { typeStyle: true });
117
+
118
+ if (prop.isArray && Array.isArray(prop.type)) {
119
+ content += inSpan("(", { typeStyle: true });
120
+ }
121
+
122
+ if (Array.isArray(prop.type)) {
123
+ content += prop.type
124
+ .map((type) =>
125
+ inSpan(escape(type.name), {
126
+ typeStyle: true,
127
+ isClickable: type.isClickable,
128
+ typeName: type.name,
129
+ }),
130
+ )
131
+ .join(" | ");
132
+ } else {
133
+ content += inSpan(escape(prop.type.name), {
134
+ typeStyle: true,
135
+ isClickable: prop.type.isClickable,
136
+ typeName: prop.type.name,
137
+ });
138
+ }
139
+
140
+ if (prop.isArray) {
141
+ if (Array.isArray(prop.type)) {
142
+ content += inSpan(")", { typeStyle: true });
143
+ }
144
+
145
+ content += inSpan("[]", { typeStyle: true });
146
+ }
147
+
148
+ if (prop.default) {
149
+ content += inSpan(` = ${prop.default}`);
43
150
  }
151
+
152
+ content += "</pre>";
153
+
154
+ return content;
44
155
  }
45
- if (!drawer[QDocument.name][doc.name]) {
46
- setTimeout(() => {
47
- drawerContent = content;
48
- drawer[QDocument.name][doc.name] = true;
49
- }, 100);
50
- } else {
51
- drawer[QDocument.name][doc.name] = false;
156
+
157
+ async function attachTooltips() {
158
+ await tick();
159
+
160
+ document.querySelectorAll("span.clickable").forEach(async (el) => {
161
+ const typeName = el.getAttribute("data-type-name");
162
+
163
+ if (!typeName) {
164
+ return;
165
+ }
166
+
167
+ const type = getType(typeName) || "/* No definition found */";
168
+
169
+ const { codeToHtml } = await import("shiki");
170
+
171
+ const html = await codeToHtml(type, {
172
+ lang: "typescript",
173
+ theme: Quaff.darkMode.isActive
174
+ ? "github-dark-default"
175
+ : "github-light-default",
176
+ transformers: [
177
+ {
178
+ pre(node) {
179
+ node.properties.style += ";padding: 1rem; text-align: left;";
180
+ },
181
+ },
182
+ ],
183
+ });
184
+
185
+ const snip = createRawSnippet(() => ({
186
+ render: () => html,
187
+ }));
188
+
189
+ mount(QTooltip, {
190
+ target: el,
191
+ props: {
192
+ class: "q-pa-none transparent",
193
+ children: snip,
194
+ },
195
+ });
196
+ });
52
197
  }
53
- }
198
+
199
+ $effect(() => {
200
+ // Doesn't rerun if we don't use JSON.stringify
201
+ JSON.stringify(api);
202
+
203
+ attachTooltips();
204
+ });
54
205
  </script>
55
206
 
56
- {#each QComponentDocs as QDocument, index}
207
+ {#each componentDocs as QDocument, index (index)}
57
208
  <QCard class="q-px-none q-pb-none q-mt-lg">
58
- <div slot="title" class="flex justify-between items-center q-px-md">
209
+ <div class="flex justify-between items-center q-px-md">
59
210
  <h5 class="no-margin">
60
211
  <QIcon name="info" />
61
212
  <span class="q-ml-md">{QDocument.name} API</span>
62
213
  </h5>
63
- <QTabs bind:value={api[index]} class="no-margin">
64
- {#each Object.entries(QDocument.docs) as [tabName, _tabDoc]}
214
+ <QTabs bind:value={api[index]} noSeparator class="no-margin">
215
+ {#each Object.entries(QDocument.docs) as [tabName, _tabDoc] (tabName)}
65
216
  {#if _tabDoc.length !== 0}
66
217
  <QTab name={tabName} style="min-width: 100px">
67
218
  <h6 style="margin: 0">{capitalize(tabName)}</h6>
@@ -70,49 +221,41 @@ function handleDrawer(QDocument, doc, e) {
70
221
  {/each}
71
222
  </QTabs>
72
223
  </div>
73
- <QCardSection style="max-height: 416px; overflow-y: scroll">
74
- <QList separator bordered style="overflow:hidden">
75
- {#each QDocument.docs[api[index]] as doc}
76
- <QItem style="overflow: visible">
77
- {#if isProp(doc, index) && doc.clickableType}
78
- <QDrawer
79
- side="right"
80
- class="no-padding api-drawer"
81
- style="height: fit-content; max-height: 400%; overflow: auto; border-radius: 0;"
82
- bind:value={drawer[QDocument.name][doc.name]}
83
- width="50%"
84
- >
85
- <QCodeBlock language="ts" code={drawerContent} />
86
- </QDrawer>
87
- {/if}
88
- <QItemSection type="content" style="overflow: visible">
89
- <div slot="headline" class="q-my-sm" style="flex: 1 1 0; white-space: nowrap">
90
- <span class="q-pa-sm surface-variant">
91
- <b>{doc.name}</b>
224
+ <QCardSection style="max-height: 416px; overflow-y: auto">
225
+ <QList separator bordered style="overflow-x:auto">
226
+ {#each QDocument.docs[api[index]] as doc (doc)}
227
+ <QItem>
228
+ <QItemSection type="content">
229
+ {#snippet headline()}
230
+ <div
231
+ class="q-my-sm flex-center"
232
+ style="display: flex; flex: 1 1 0"
233
+ >
234
+ <span
235
+ class="q-px-sm q-py-xs q-mr-xs"
236
+ style="background-color: var(--surface-container); border-radius: 0.5rem"
237
+ >
238
+ <b>{doc.name}</b>
239
+ </span>
92
240
  {#if isProp(doc, index)}
93
- {doc.optional ? "?" : ""}
94
- {#if doc.clickableType === true}
95
- <!-- svelte-ignore a11y-click-events-have-key-events -->
96
- <span
97
- class="prop-type clickable"
98
- on:click={(e) => isProp(doc, index) && handleDrawer(QDocument, doc, e)}
99
- >
100
- : {doc.type}
101
- </span>
102
- {:else}
103
- <span class="prop-type">
104
- : {doc.type}
105
- </span>
106
- {/if}
107
- {doc.default === "" ? "" : ` = ${doc.default}`}
241
+ {@html prepareHeaderForProp(doc)}
242
+ {:else if isSnippet(doc, index)}
243
+ {@html prepareHeaderForSnippet(doc)}
108
244
  {:else if isEvent(doc, index)}
109
245
  <span class="prop-type">
110
246
  : {doc.type}
111
247
  </span>
112
248
  {/if}
113
- </span>
114
- </div>
115
- <div slot="line1" class="q-mt-sm prop-description">{@html doc.description}</div>
249
+ </div>
250
+ {/snippet}
251
+ {#snippet line1()}
252
+ <div
253
+ class="q-mt-sm prop-description"
254
+ style="white-space: normal;"
255
+ >
256
+ {@html doc.description}
257
+ </div>
258
+ {/snippet}
116
259
  </QItemSection>
117
260
  </QItem>
118
261
  {/each}
@@ -121,23 +264,33 @@ function handleDrawer(QDocument, doc, e) {
121
264
  </QCard>
122
265
  {/each}
123
266
 
124
- <style>.clickable {
125
- cursor: pointer;
126
- }
127
- .clickable:hover {
128
- color: var(--primary);
129
- }
130
-
131
- .q-item {
132
- overflow: visible;
133
- }
134
-
135
- :global(.q-drawer.api-drawer pre) {
136
- margin: 0;
137
- border-radius: inherit;
138
- white-space: pre-wrap;
139
- }
140
-
141
- :global(.prop-description > a:hover) {
142
- color: var(--primary);
143
- }</style>
267
+ <style>
268
+ :global(.clickable) {
269
+ cursor: pointer;
270
+ }
271
+ :global(.clickable):hover {
272
+ color: var(--primary);
273
+ }
274
+
275
+ :global(.prop-type) {
276
+ opacity: 0.75;
277
+ width: 100%;
278
+ letter-spacing: 0.5px;
279
+ }
280
+ :global(.prop-type):global(.clickable) {
281
+ cursor: pointer;
282
+ }
283
+ :global(.prop-type):global(.clickable):hover {
284
+ opacity: 1;
285
+ }
286
+
287
+ :global(.q-drawer.api-drawer pre) {
288
+ margin: 0;
289
+ border-radius: inherit;
290
+ white-space: pre-wrap;
291
+ }
292
+
293
+ :global(.prop-description > a:hover) {
294
+ color: var(--primary);
295
+ }
296
+ </style>
@@ -1,9 +1,6 @@
1
- import { SvelteComponent } from "svelte";
2
- import type { QComponentDocs } from "../../utils/types";
1
+ import { SvelteComponentTyped } from "svelte";
3
2
  declare const __propDef: {
4
- props: {
5
- QComponentDocs: QComponentDocs[];
6
- };
3
+ props: Record<string, never>;
7
4
  events: {
8
5
  [evt: string]: CustomEvent<any>;
9
6
  };
@@ -12,6 +9,6 @@ declare const __propDef: {
12
9
  export type QApiProps = typeof __propDef.props;
13
10
  export type QApiEvents = typeof __propDef.events;
14
11
  export type QApiSlots = typeof __propDef.slots;
15
- export default class QApi extends SvelteComponent<QApiProps, QApiEvents, QApiSlots> {
12
+ export default class QApi extends SvelteComponentTyped<QApiProps, QApiEvents, QApiSlots> {
16
13
  }
17
14
  export {};