@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,16 +1,5 @@
1
- export declare const QBreadcrumbsDocsProps: {
2
- name: string;
3
- type: string;
4
- optional: boolean;
5
- clickableType: boolean;
6
- description: string;
7
- default: string;
8
- }[];
9
- export declare const QBreadcrumbsElDocsProps: {
10
- name: string;
11
- type: string;
12
- optional: boolean;
13
- clickableType: boolean;
14
- description: string;
15
- default: string;
16
- }[];
1
+ import { ParsedProp, ParsedSnippet } from "../../../../docgen/props/parseInterface";
2
+ export declare const QBreadcrumbsDocsProps: ParsedProp[];
3
+ export declare const QBreadcrumbsDocsSnippets: ParsedSnippet[];
4
+ export declare const QBreadcrumbsElDocsProps: ParsedProp[];
5
+ export declare const QBreadcrumbsElDocsSnippets: ParsedSnippet[];
@@ -1,84 +1,144 @@
1
+ // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
+ // @quaffHash 66c85971b241303d63478c8c8bca6aa0
1
3
  export const QBreadcrumbsDocsProps = [
2
4
  {
3
- name: "separator",
4
- type: "string",
5
+ isArray: false,
5
6
  optional: true,
6
- clickableType: false,
7
- description: 'Separator to use between the breadcrumb elements. To use an icon, prefix with "icon:" followed by the name of the icon.',
8
- default: "/",
7
+ isSnippet: false,
8
+ name: "activeColor",
9
+ type: {
10
+ name: "string",
11
+ isClickable: false,
12
+ },
13
+ description: "Color to use for the active breadcrumb element. See <link to colors docs> to see what colors can be used.",
14
+ default: '"primary"',
9
15
  },
10
16
  {
11
- name: "gutter",
12
- type: "QBreadcrumbsGutterOptions",
17
+ isArray: false,
13
18
  optional: true,
14
- clickableType: true,
19
+ isSnippet: false,
20
+ name: "gutter",
21
+ type: {
22
+ name: "QBreadcrumbsGutterOptions",
23
+ isClickable: true,
24
+ },
15
25
  description: "Space around separators.",
16
- default: "sm",
26
+ default: '"sm"',
17
27
  },
18
28
  {
19
- name: "activeColor",
20
- type: "string",
29
+ isArray: false,
21
30
  optional: true,
22
- clickableType: false,
23
- description: "Color to use for the active breadcrumb element. See <link to colors docs> to see what colors can be used.",
24
- default: "primary",
31
+ isSnippet: false,
32
+ name: "separator",
33
+ type: [
34
+ {
35
+ name: "string",
36
+ isClickable: false,
37
+ },
38
+ {
39
+ name: "`icon:${MaterialSymbol}`",
40
+ isClickable: false,
41
+ },
42
+ {
43
+ name: "Snippet",
44
+ isClickable: false,
45
+ },
46
+ ],
47
+ description: 'Separator to use between the breadcrumb elements. To use an icon, prefix with "icon:" followed by the name of the icon.',
48
+ default: '"/"',
25
49
  },
26
50
  {
27
- name: "separatorColor",
28
- type: "string",
51
+ isArray: false,
29
52
  optional: true,
30
- clickableType: false,
53
+ isSnippet: false,
54
+ name: "separatorColor",
55
+ type: {
56
+ name: "string",
57
+ isClickable: false,
58
+ },
31
59
  description: "Color to use for the separators. See <link to colors docs> to see what colors can be used.",
32
- default: "outline",
60
+ default: '"outline"',
33
61
  },
34
62
  ];
63
+ export const QBreadcrumbsDocsSnippets = [];
35
64
  export const QBreadcrumbsElDocsProps = [
36
65
  {
37
- name: "label",
38
- type: "string",
66
+ isArray: false,
39
67
  optional: true,
40
- clickableType: false,
41
- description: "Text to use for the breadcrumb element. If default slot is defined, the label will be overwritten by it.",
42
- default: '""',
68
+ isSnippet: false,
69
+ name: "activeClass",
70
+ type: {
71
+ name: "string",
72
+ isClickable: false,
73
+ },
74
+ description: "Class to apply to the breadcrumb element when the route is active.",
75
+ default: '"active"',
43
76
  },
44
77
  {
45
- name: "icon",
46
- type: "string",
78
+ isArray: false,
47
79
  optional: true,
48
- clickableType: false,
80
+ isSnippet: false,
81
+ name: "icon",
82
+ type: [
83
+ {
84
+ name: "MaterialSymbol",
85
+ isClickable: false,
86
+ },
87
+ {
88
+ name: "Snippet",
89
+ isClickable: false,
90
+ },
91
+ ],
49
92
  description: "Name of the leading icon for the breadcrumb element. The icon prop overwrites to icon slot.",
50
93
  default: "undefined",
51
94
  },
52
95
  {
53
- name: "tag",
54
- type: "string",
96
+ isArray: false,
55
97
  optional: true,
56
- clickableType: false,
57
- description: "Tag to use for the breadcrumb element.",
58
- default: '"div"',
98
+ isSnippet: false,
99
+ name: "label",
100
+ type: {
101
+ name: "string",
102
+ isClickable: false,
103
+ },
104
+ description: "Text to use for the breadcrumb element. If default slot is defined, the label will be overwritten by it.",
105
+ default: '""',
59
106
  },
60
107
  {
61
- name: "to",
62
- type: "string",
108
+ isArray: false,
63
109
  optional: true,
64
- clickableType: false,
65
- description: 'Makes the breadcrumb element navigational. Can be used with the router (e.g to="/home") or as a normal href attribute (e.g to="#section-id")',
110
+ isSnippet: false,
111
+ name: "href",
112
+ type: {
113
+ name: "string",
114
+ isClickable: false,
115
+ },
116
+ description: 'Also makes the breadcrumb element navigational. Can be used with the router (e.g to="/home") or as a normal href attribute (e.g to="#section-id")',
66
117
  default: "undefined",
67
118
  },
68
119
  {
69
- name: "href",
70
- type: "string",
120
+ isArray: false,
71
121
  optional: true,
72
- clickableType: false,
73
- description: 'Also makes the breadcrumb element navigational. Can be used with the router (e.g to="/home") or as a normal href attribute (e.g to="#section-id")',
74
- default: "undefined",
122
+ isSnippet: false,
123
+ name: "tag",
124
+ type: {
125
+ name: "string",
126
+ isClickable: false,
127
+ },
128
+ description: "Tag to use for the breadcrumb element.",
129
+ default: '"div"',
75
130
  },
76
131
  {
77
- name: "activeClass",
78
- type: "string",
132
+ isArray: false,
79
133
  optional: true,
80
- clickableType: false,
81
- description: "Class to apply to the breadcrumb element when the route is active.",
82
- default: '"active"',
134
+ isSnippet: false,
135
+ name: "to",
136
+ type: {
137
+ name: "string",
138
+ isClickable: false,
139
+ },
140
+ description: 'Makes the breadcrumb element navigational. Can be used with the router (e.g to="/home") or as a normal href attribute (e.g to="#section-id")',
141
+ default: "undefined",
83
142
  },
84
143
  ];
144
+ export const QBreadcrumbsElDocsSnippets = [];
@@ -1,38 +1,50 @@
1
- import type { NativeProps } from "../../utils/types";
2
- export type QBreadcrumbsGutterOptions = "none" | "sm" | "md" | "lg";
3
- export interface QBreadcrumbsProps extends NativeProps {
1
+ import type { MaterialSymbol } from "material-symbols";
2
+ import type { Snippet } from "svelte";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+ export type QBreadcrumbsGutterOptions = Exclude<Q.Size, "xs" | "xl">;
5
+ export interface QBreadcrumbsProps extends HTMLAttributes<HTMLDivElement> {
4
6
  /**
5
- * Separator to use between the breadcrumb elements. To use an icon, prefix with "icon:" followed by the name of the icon.
6
- * @default /
7
+ * Color to use for the active breadcrumb element. See <link to colors docs> to see what colors can be used.
8
+ * @default "primary"
7
9
  */
8
- separator?: string;
10
+ activeColor?: string;
9
11
  /**
10
12
  * Space around separators.
11
- * @default sm
13
+ * @default "sm"
12
14
  */
13
15
  gutter?: QBreadcrumbsGutterOptions;
14
16
  /**
15
- * Color to use for the active breadcrumb element. See <link to colors docs> to see what colors can be used.
16
- * @default primary
17
+ * Separator to use between the breadcrumb elements. To use an icon, prefix with "icon:" followed by the name of the icon.
18
+ * @default "/"
17
19
  */
18
- activeColor?: string;
20
+ separator?: string | `icon:${MaterialSymbol}` | Snippet;
19
21
  /**
20
22
  * Color to use for the separators. See <link to colors docs> to see what colors can be used.
21
- * @default outline
23
+ * @default "outline"
22
24
  */
23
25
  separatorColor?: string;
24
26
  }
25
- export interface QBreadcrumbsElProps extends NativeProps {
27
+ export interface QBreadcrumbsElProps extends HTMLAttributes<HTMLElement> {
28
+ /**
29
+ * Class to apply to the breadcrumb element when the route is active.
30
+ * @default "active"
31
+ */
32
+ activeClass?: string;
33
+ /**
34
+ * Name of the leading icon for the breadcrumb element. The icon prop overwrites to icon slot.
35
+ * @default undefined
36
+ */
37
+ icon?: MaterialSymbol | Snippet;
26
38
  /**
27
39
  * Text to use for the breadcrumb element. If default slot is defined, the label will be overwritten by it.
28
40
  * @default ""
29
41
  */
30
42
  label?: string;
31
43
  /**
32
- * Name of the leading icon for the breadcrumb element. The icon prop overwrites to icon slot.
44
+ * Also makes the breadcrumb element navigational. Can be used with the router (e.g to="/home") or as a normal href attribute (e.g to="#section-id")
33
45
  * @default undefined
34
46
  */
35
- icon?: string;
47
+ href?: string;
36
48
  /**
37
49
  * Tag to use for the breadcrumb element.
38
50
  * @default "div"
@@ -43,14 +55,4 @@ export interface QBreadcrumbsElProps extends NativeProps {
43
55
  * @default undefined
44
56
  */
45
57
  to?: string;
46
- /**
47
- * Also makes the breadcrumb element navigational. Can be used with the router (e.g to="/home") or as a normal href attribute (e.g to="#section-id")
48
- * @default undefined
49
- */
50
- href?: string;
51
- /**
52
- * Class to apply to the breadcrumb element when the route is active.
53
- * @default "active"
54
- */
55
- activeClass?: string;
56
58
  }
@@ -0,0 +1,136 @@
1
+ @use "$css/mixins";
2
+ @use "$css/variables";
3
+ @use "$css/disabled";
4
+
5
+ @layer q-btn {
6
+ .q-btn {
7
+ position: relative;
8
+
9
+ display: inline-flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+
13
+ margin: 0 0.5rem;
14
+ padding: 0 1.5rem;
15
+
16
+ box-sizing: content-box;
17
+ border: none;
18
+ outline: inherit;
19
+
20
+ background-color: transparent;
21
+ color: var(--ripple-color);
22
+
23
+ font-family: inherit;
24
+ font-size: 0.875rem;
25
+ font-weight: 500;
26
+ line-height: normal;
27
+
28
+ cursor: pointer;
29
+ user-select: none;
30
+ text-decoration: none;
31
+
32
+ transition:
33
+ variables.$speed3 transform,
34
+ variables.$speed3 border-radius,
35
+ variables.$speed3 padding;
36
+
37
+ @include mixins.btn-image;
38
+
39
+ $sizeMap: (
40
+ "sm": -1,
41
+ "md": 0,
42
+ "lg": 1,
43
+ "xl": 2,
44
+ );
45
+ @each $size, $val in $sizeMap {
46
+ &--#{$size} {
47
+ $dim: 2.5rem + 0.5 * $val;
48
+ height: $dim;
49
+ min-width: $dim;
50
+
51
+ border-radius: 1.25rem + 0.25 * $val;
52
+
53
+ font-size: 1rem + 0.125 * $val;
54
+
55
+ &.q-btn--round {
56
+ width: $dim;
57
+ }
58
+ }
59
+ }
60
+
61
+ &:not([aria-disabled]):hover::after {
62
+ @include mixins.overlay(var(--ripple-color), 0.08);
63
+ }
64
+
65
+ &:not([aria-disabled]):focus::after {
66
+ @include mixins.overlay(var(--ripple-color), 0.1);
67
+ }
68
+
69
+ &--elevated {
70
+ &:not(.q-btn--unelevated, [aria-disabled]) {
71
+ @include mixins.elevate(1, "bottom");
72
+ }
73
+
74
+ background-color: var(--surface-container-low);
75
+
76
+ // Surface tint overlay
77
+ &::before {
78
+ @include mixins.overlay(var(--surface-tint), 0.12);
79
+ }
80
+ }
81
+
82
+ &--filled {
83
+ background-color: var(--primary);
84
+
85
+ &:hover:not([aria-disabled]) {
86
+ @include mixins.elevate(1, "bottom");
87
+ }
88
+ }
89
+
90
+ &--tonal {
91
+ background-color: var(--secondary-container);
92
+
93
+ &:hover:not([aria-disabled]) {
94
+ @include mixins.elevate(1, "bottom");
95
+ }
96
+ }
97
+
98
+ &--outlined {
99
+ outline: solid 0.0625rem var(--outline);
100
+
101
+ &:not([aria-disabled]):focus {
102
+ outline-color: var(--primary);
103
+ }
104
+ }
105
+
106
+ &--round {
107
+ border-radius: 50%;
108
+ padding: 0;
109
+ }
110
+
111
+ &--rectangle {
112
+ border-radius: 0.5rem;
113
+ }
114
+ }
115
+
116
+ .q-btn:not(.q-btn--round) > :is(.q-icon, .q-btn__img, .q-circular-progress) {
117
+ margin-left: -0.5rem;
118
+ margin-right: 0.5rem;
119
+ --size: 1.5rem;
120
+ }
121
+ }
122
+
123
+ // Disabled
124
+ @layer q-btn--disabled {
125
+ .q-btn[aria-disabled] {
126
+ @include disabled.base();
127
+
128
+ &:not(.q-btn--outlined, .q-btn--flat) {
129
+ background-color: disabled.rest-color();
130
+ }
131
+
132
+ &.q-btn--outlined {
133
+ outline-color: disabled.rest-color();
134
+ }
135
+ }
136
+ }
@@ -1,63 +1,177 @@
1
- <script>import { createClasses } from "../../utils/props";
2
- import { createEventDispatcher } from "svelte";
3
- import QIcon from "../icon/QIcon.svelte";
4
- import QCircularProgress from "../progress/QCircularProgress.svelte";
5
- import { activationHandler } from "../../helpers/activationHandler";
6
- import { useSize } from "../../composables/use-size";
7
- export let icon = void 0, label = void 0, disable = false, loading = false, unelevated = false, outline = false, round = false, rectangle = false, flat = false, to = void 0, size = void 0, userClasses = void 0;
8
- export { userClasses as class };
9
- const emit = createEventDispatcher();
10
- let tag;
11
- $:
12
- tag = to !== void 0 ? "a" : "div";
13
- $:
14
- sizeObj = useSize(size);
15
- $:
16
- classes = createClasses(
17
- [
18
- unelevated && "unelevated",
19
- rectangle && "rectangle",
20
- outline && "outlined",
21
- flat && "flat",
22
- (!$$slots.default && !label || round) && "round",
23
- size !== "md" && sizeObj.class
24
- ],
25
- {
26
- component: "q-btn",
27
- userClasses
1
+ <script lang="ts">
2
+ import { onMount } from "svelte";
3
+ import { QCircularProgress, QIcon } from "../..";
4
+ import { useSize } from "../../composables";
5
+ import { ripple } from "../../helpers";
6
+ import { isActivationKey, extractImgSrc, type QEvent } from "../../utils";
7
+ import type { MaterialSymbol } from "material-symbols";
8
+ import type { QBtnProps, QBtnVariantOptions } from "./props";
9
+
10
+ let {
11
+ disabled = false,
12
+ variant,
13
+ filled = false,
14
+ tonal = false,
15
+ outlined = false,
16
+ flat = false,
17
+ icon,
18
+ label,
19
+ loading = false,
20
+ rectangle = false,
21
+ noRipple = false,
22
+ rippleColor,
23
+ round = false,
24
+ to,
25
+ unelevated = false,
26
+ size = "md",
27
+ target,
28
+ onclick,
29
+ children,
30
+ ...props
31
+ }: QBtnProps = $props();
32
+
33
+ let qBtn: HTMLButtonElement | HTMLAnchorElement;
34
+ let qBtnLabel: HTMLSpanElement;
35
+
36
+ type QBtnMouseEvent = QEvent<MouseEvent, typeof qBtn>;
37
+
38
+ const tag = $derived(to ? "a" : "button");
39
+ const qSize = $derived(useSize(size, "q-btn"));
40
+
41
+ const src = $derived(extractImgSrc(icon));
42
+
43
+ const variants: Partial<Record<QBtnVariantOptions, boolean>> = {
44
+ filled,
45
+ tonal,
46
+ outlined,
47
+ flat,
48
+ };
49
+
50
+ const boolVariant = $derived(
51
+ (Object.keys(variants) as QBtnVariantOptions[]).find(
52
+ (key) => variants[key],
53
+ ),
54
+ );
55
+
56
+ const finalVariant = $derived<QBtnVariantOptions>(
57
+ variant || boolVariant || "elevated",
58
+ );
59
+
60
+ const color = $derived.by(() => {
61
+ if (disabled) {
62
+ return undefined;
63
+ }
64
+
65
+ if (finalVariant === "filled") {
66
+ return "on-primary";
28
67
  }
68
+
69
+ if (finalVariant === "tonal") {
70
+ return "on-secondary-container";
71
+ }
72
+
73
+ return "primary";
74
+ });
75
+
76
+ const colorVar = $derived(color && `var(--${color})`);
77
+
78
+ const rippleColorVar = $derived(
79
+ rippleColor ? `var(--${rippleColor}, ${rippleColor})` : colorVar,
29
80
  );
81
+
82
+ function stopIfDisabled(e: QBtnMouseEvent) {
83
+ if (disabled) {
84
+ e.preventDefault();
85
+ e.stopImmediatePropagation();
86
+ return;
87
+ }
88
+
89
+ onclick?.(e);
90
+ }
91
+
92
+ function onkeydown(e: KeyboardEvent) {
93
+ if (e.key === "Escape") {
94
+ qBtn?.blur();
95
+ return;
96
+ }
97
+
98
+ if (!isActivationKey(e)) {
99
+ return;
100
+ }
101
+
102
+ e.preventDefault();
103
+
104
+ const click = new MouseEvent("click", {
105
+ relatedTarget: qBtn,
106
+ }) as QBtnMouseEvent;
107
+ stopIfDisabled(click);
108
+ }
109
+
110
+ onMount(() => {
111
+ const { width, height } = qBtnLabel.getBoundingClientRect();
112
+
113
+ // This is required for buttons with no label and with a tooltip to be round
114
+ if (width === 0 && height === 0) {
115
+ qBtn.classList.add("q-btn--round");
116
+ }
117
+ });
30
118
  </script>
31
119
 
32
120
  <svelte:element
33
121
  this={tag}
34
- use:activationHandler={{ disable, callback: (e) => emit("activated", e) }}
35
- role="button"
122
+ bind:this={qBtn}
123
+ use:ripple={{
124
+ disabled: noRipple || disabled,
125
+ color: rippleColorVar,
126
+ }}
127
+ {...props}
128
+ class={[
129
+ "q-btn",
130
+ qSize.class,
131
+ props.class,
132
+ `q-btn--${finalVariant}`,
133
+ unelevated && "q-btn--unelevated",
134
+ rectangle && "q-btn--rectangle",
135
+ (round || (!children && !label)) && "q-btn--round",
136
+ ]}
137
+ style:--q-btn-size={qSize.style}
138
+ style:--ripple-color={colorVar}
139
+ {target}
36
140
  href={to}
37
- class={classes}
38
- aria-disabled={disable || undefined}
39
- tabindex={disable ? -1 : 0}
40
- on:click
41
- {...$$restProps}
141
+ role={tag === "a" ? "button" : undefined}
142
+ aria-disabled={disabled || undefined}
143
+ tabindex={disabled ? -1 : 0}
144
+ {onkeydown}
145
+ onclick={stopIfDisabled}
146
+ data-quaff
42
147
  >
43
148
  {#if icon && !loading}
44
- {#if icon.startsWith("img:")}
149
+ {#if src}
45
150
  <img
46
- src={icon.replace("img:", "")}
151
+ {src}
152
+ alt="q-btn leading icon"
47
153
  class="q-btn__img q-btn__img--responsive"
48
- alt="{label || 'Slotted'} button"
49
154
  />
50
155
  {:else}
51
- <QIcon name={icon} class="q-btn__icon" />
156
+ <QIcon name={icon as MaterialSymbol} {color} class="q-btn__icon" {size} />
52
157
  {/if}
53
158
  {/if}
54
159
 
55
160
  {#if loading}
56
- <QCircularProgress indeterminate class="q-btn__loader" />
161
+ <QCircularProgress
162
+ indeterminate
163
+ trackColor="transparent"
164
+ {color}
165
+ size="1.5em"
166
+ class="q-btn__loader"
167
+ />
57
168
  {/if}
58
169
 
59
- {#if label}
60
- <span>{label}</span>
61
- {/if}
62
- <slot />
170
+ <span bind:this={qBtnLabel} class="q-btn__label">
171
+ {#if label}
172
+ {label}
173
+ {/if}
174
+
175
+ {@render children?.()}
176
+ </span>
63
177
  </svelte:element>
@@ -1,34 +1,14 @@
1
- import { SvelteComponent } from "svelte";
2
- import type { QBtnProps } from "./props";
1
+ import { SvelteComponentTyped } from "svelte";
3
2
  declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- icon?: QBtnProps["icon"];
7
- label?: QBtnProps["label"];
8
- disable?: QBtnProps["disable"];
9
- loading?: QBtnProps["loading"];
10
- unelevated?: QBtnProps["unelevated"];
11
- outline?: QBtnProps["outline"];
12
- round?: QBtnProps["round"];
13
- rectangle?: QBtnProps["rectangle"];
14
- flat?: QBtnProps["flat"];
15
- to?: QBtnProps["to"];
16
- size?: QBtnProps["size"];
17
- class?: string | undefined;
18
- };
3
+ props: Record<string, never>;
19
4
  events: {
20
- click: MouseEvent;
21
- activated: CustomEvent<any>;
22
- } & {
23
5
  [evt: string]: CustomEvent<any>;
24
6
  };
25
- slots: {
26
- default: {};
27
- };
7
+ slots: {};
28
8
  };
29
9
  type QBtnProps_ = typeof __propDef.props;
30
10
  export { QBtnProps_ as QBtnProps };
31
11
  export type QBtnEvents = typeof __propDef.events;
32
12
  export type QBtnSlots = typeof __propDef.slots;
33
- export default class QBtn extends SvelteComponent<QBtnProps, QBtnEvents, QBtnSlots> {
13
+ export default class QBtn extends SvelteComponentTyped<QBtnProps_, QBtnEvents, QBtnSlots> {
34
14
  }