@quaffui/quaff 0.1.0-prealpha9 → 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 (387) 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 +156 -52
  33. package/dist/components/button/QBtn.svelte.d.ts +4 -23
  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 +85 -78
  76. package/dist/components/dialog/QDialog.svelte.d.ts +9 -24
  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 +138 -90
  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 +99 -24
  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 +15 -9
  98. package/dist/components/header/QHeader.scss +53 -0
  99. package/dist/components/header/QHeader.svelte +90 -23
  100. package/dist/components/header/QHeader.svelte.d.ts +4 -14
  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 +13 -5
  106. package/dist/components/icon/{index.scss → QIcon.scss} +2 -4
  107. package/dist/components/icon/QIcon.svelte +44 -28
  108. package/dist/components/icon/QIcon.svelte.d.ts +4 -18
  109. package/dist/components/icon/docs.d.ts +2 -2
  110. package/dist/components/icon/docs.js +3 -3
  111. package/dist/components/icon/docs.props.d.ts +3 -8
  112. package/dist/components/icon/docs.props.js +65 -24
  113. package/dist/components/icon/props.d.ts +9 -8
  114. package/dist/components/index.d.ts +5 -2
  115. package/dist/components/index.js +5 -2
  116. package/dist/components/input/QInput.svelte +106 -72
  117. package/dist/components/input/QInput.svelte.d.ts +4 -22
  118. package/dist/components/input/docs.d.ts +2 -2
  119. package/dist/components/input/docs.js +5 -71
  120. package/dist/components/input/docs.props.d.ts +3 -8
  121. package/dist/components/input/docs.props.js +129 -57
  122. package/dist/components/input/index.scss +1 -3
  123. package/dist/components/input/props.d.ts +81 -21
  124. package/dist/components/input/props.js +1 -13
  125. package/dist/components/layout/QLayout.scss +174 -0
  126. package/dist/components/layout/QLayout.svelte +178 -79
  127. package/dist/components/layout/QLayout.svelte.d.ts +12 -45
  128. package/dist/components/layout/docs.d.ts +2 -2
  129. package/dist/components/layout/docs.js +3 -3
  130. package/dist/components/layout/docs.props.d.ts +3 -8
  131. package/dist/components/layout/docs.props.js +62 -39
  132. package/dist/components/layout/props.d.ts +29 -21
  133. package/dist/components/list/QItem.scss +69 -0
  134. package/dist/components/list/QItem.svelte +99 -51
  135. package/dist/components/list/QItem.svelte.d.ts +4 -24
  136. package/dist/components/list/QItemSection.scss +59 -0
  137. package/dist/components/list/QItemSection.svelte +63 -37
  138. package/dist/components/list/QItemSection.svelte.d.ts +4 -15
  139. package/dist/components/list/QList.scss +30 -0
  140. package/dist/components/list/QList.svelte +43 -20
  141. package/dist/components/list/QList.svelte.d.ts +4 -26
  142. package/dist/components/list/docs.d.ts +4 -2
  143. package/dist/components/list/docs.js +23 -3
  144. package/dist/components/list/docs.props.d.ts +11 -40
  145. package/dist/components/list/docs.props.js +344 -136
  146. package/dist/components/list/props.d.ts +126 -28
  147. package/dist/components/list/props.js +1 -25
  148. package/dist/components/private/ContextReseter.svelte +15 -11
  149. package/dist/components/private/ContextReseter.svelte.d.ts +4 -8
  150. package/dist/components/private/QApi.svelte +264 -113
  151. package/dist/components/private/QApi.svelte.d.ts +3 -6
  152. package/dist/components/private/QDocs.svelte +119 -68
  153. package/dist/components/private/QDocs.svelte.d.ts +4 -11
  154. package/dist/components/private/QDocsSection.svelte +48 -18
  155. package/dist/components/private/QDocsSection.svelte.d.ts +9 -24
  156. package/dist/components/private/QIconSnippet.svelte +22 -0
  157. package/dist/components/private/QIconSnippet.svelte.d.ts +14 -0
  158. package/dist/components/private/index.d.ts +6 -0
  159. package/dist/components/private/index.js +6 -0
  160. package/dist/components/progress/QCircularProgress.scss +63 -0
  161. package/dist/components/progress/QCircularProgress.svelte +134 -21
  162. package/dist/components/progress/QCircularProgress.svelte.d.ts +3 -11
  163. package/dist/components/progress/QLinearProgress.scss +75 -0
  164. package/dist/components/progress/QLinearProgress.svelte +80 -23
  165. package/dist/components/progress/QLinearProgress.svelte.d.ts +3 -11
  166. package/dist/components/progress/docs.d.ts +3 -2
  167. package/dist/components/progress/docs.js +15 -5
  168. package/dist/components/progress/docs.props.d.ts +5 -16
  169. package/dist/components/progress/docs.props.js +287 -41
  170. package/dist/components/progress/props.d.ts +126 -14
  171. package/dist/components/radio/QRadio.svelte +16 -9
  172. package/dist/components/radio/QRadio.svelte.d.ts +3 -11
  173. package/dist/components/radio/docs.d.ts +2 -2
  174. package/dist/components/radio/docs.js +4 -26
  175. package/dist/components/radio/docs.props.d.ts +3 -8
  176. package/dist/components/radio/docs.props.js +39 -20
  177. package/dist/components/radio/index.scss +3 -1
  178. package/dist/components/radio/props.d.ts +26 -6
  179. package/dist/components/radio/props.js +1 -8
  180. package/dist/components/railbar/QRailbar.scss +54 -0
  181. package/dist/components/railbar/QRailbar.svelte +71 -65
  182. package/dist/components/railbar/QRailbar.svelte.d.ts +4 -13
  183. package/dist/components/railbar/docs.d.ts +2 -2
  184. package/dist/components/railbar/docs.js +3 -3
  185. package/dist/components/railbar/docs.props.d.ts +3 -8
  186. package/dist/components/railbar/docs.props.js +36 -15
  187. package/dist/components/railbar/props.d.ts +13 -6
  188. package/dist/components/select/QSelect.svelte +222 -146
  189. package/dist/components/select/QSelect.svelte.d.ts +4 -24
  190. package/dist/components/select/docs.d.ts +2 -2
  191. package/dist/components/select/docs.js +5 -83
  192. package/dist/components/select/docs.props.d.ts +3 -8
  193. package/dist/components/select/docs.props.js +156 -64
  194. package/dist/components/select/index.scss +25 -10
  195. package/dist/components/select/props.d.ts +100 -20
  196. package/dist/components/select/props.js +1 -14
  197. package/dist/components/separator/QSeparator.scss +54 -0
  198. package/dist/components/separator/QSeparator.svelte +50 -57
  199. package/dist/components/separator/QSeparator.svelte.d.ts +3 -14
  200. package/dist/components/separator/docs.d.ts +3 -2
  201. package/dist/components/separator/docs.js +14 -4
  202. package/dist/components/separator/docs.props.d.ts +5 -16
  203. package/dist/components/separator/docs.props.js +152 -72
  204. package/dist/components/separator/props.d.ts +84 -16
  205. package/dist/components/separator/props.js +1 -9
  206. package/dist/components/switch/QSwitch.scss +305 -0
  207. package/dist/components/switch/QSwitch.svelte +115 -0
  208. package/dist/components/switch/QSwitch.svelte.d.ts +14 -0
  209. package/dist/components/switch/docs.d.ts +2 -0
  210. package/dist/components/switch/docs.js +17 -0
  211. package/dist/components/switch/docs.props.d.ts +3 -0
  212. package/dist/components/switch/docs.props.js +119 -0
  213. package/dist/components/switch/props.d.ts +53 -0
  214. package/dist/components/switch/props.js +1 -0
  215. package/dist/components/table/QTable.svelte +133 -97
  216. package/dist/components/table/QTable.svelte.d.ts +4 -19
  217. package/dist/components/table/docs.d.ts +2 -2
  218. package/dist/components/table/docs.js +3 -3
  219. package/dist/components/table/docs.props.d.ts +3 -8
  220. package/dist/components/table/docs.props.js +67 -15
  221. package/dist/components/table/index.scss +3 -1
  222. package/dist/components/table/props.d.ts +14 -3
  223. package/dist/components/tabs/QTab.scss +71 -0
  224. package/dist/components/tabs/QTab.svelte +101 -88
  225. package/dist/components/tabs/QTab.svelte.d.ts +4 -16
  226. package/dist/components/tabs/QTabs.scss +53 -0
  227. package/dist/components/tabs/QTabs.svelte +163 -46
  228. package/dist/components/tabs/QTabs.svelte.d.ts +9 -13
  229. package/dist/components/tabs/docs.d.ts +3 -2
  230. package/dist/components/tabs/docs.js +13 -3
  231. package/dist/components/tabs/docs.props.d.ts +5 -16
  232. package/dist/components/tabs/docs.props.js +64 -30
  233. package/dist/components/tabs/index.scss +36 -24
  234. package/dist/components/tabs/props.d.ts +38 -9
  235. package/dist/components/tabs/props.js +1 -13
  236. package/dist/components/toolbar/{index.scss → QToolbar.scss} +10 -16
  237. package/dist/components/toolbar/QToolbar.svelte +26 -21
  238. package/dist/components/toolbar/QToolbar.svelte.d.ts +4 -15
  239. package/dist/components/toolbar/QToolbarTitle.svelte +10 -7
  240. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +4 -12
  241. package/dist/components/toolbar/docs.d.ts +3 -2
  242. package/dist/components/toolbar/docs.js +13 -3
  243. package/dist/components/toolbar/docs.props.d.ts +5 -16
  244. package/dist/components/toolbar/docs.props.js +55 -15
  245. package/dist/components/toolbar/props.d.ts +19 -9
  246. package/dist/components/tooltip/QTooltip.scss +40 -0
  247. package/dist/components/tooltip/QTooltip.svelte +200 -10
  248. package/dist/components/tooltip/QTooltip.svelte.d.ts +17 -18
  249. package/dist/components/tooltip/QTooltipBase.svelte +86 -0
  250. package/dist/components/tooltip/QTooltipBase.svelte.d.ts +14 -0
  251. package/dist/components/tooltip/docs.d.ts +2 -2
  252. package/dist/components/tooltip/docs.js +3 -2
  253. package/dist/components/tooltip/docs.props.d.ts +3 -8
  254. package/dist/components/tooltip/docs.props.js +69 -10
  255. package/dist/components/tooltip/props.d.ts +36 -4
  256. package/dist/components/tooltip/props.js +1 -6
  257. package/dist/composables/index.d.ts +3 -0
  258. package/dist/composables/index.js +3 -1
  259. package/dist/composables/{use-align.d.ts → useAlign.d.ts} +1 -1
  260. package/dist/composables/{use-align.js → useAlign.js} +1 -1
  261. package/dist/composables/{use-router-link.d.ts → useRouterLink.d.ts} +3 -3
  262. package/dist/composables/{use-router-link.js → useRouterLink.js} +4 -4
  263. package/dist/composables/useSize.d.ts +10 -0
  264. package/dist/composables/useSize.js +37 -0
  265. package/dist/css/_components.scss +31 -0
  266. package/dist/css/_disabled.scss +18 -0
  267. package/dist/css/{ripple.scss → _ripple.scss} +10 -3
  268. package/dist/css/_variables.scss +73 -0
  269. package/dist/css/classes/_design.scss +57 -0
  270. package/dist/css/{flex.scss → classes/_flex.scss} +23 -2
  271. package/dist/css/classes/_grid.scss +35 -0
  272. package/dist/css/classes/_index.scss +7 -0
  273. package/dist/css/classes/_overflow.scss +7 -0
  274. package/dist/css/classes/_position.scss +7 -0
  275. package/dist/css/classes/_select.scss +6 -0
  276. package/dist/css/classes/_spaces.scss +23 -0
  277. package/dist/css/fonts.scss +18 -4
  278. package/dist/css/index.css +1 -1
  279. package/dist/css/index.scss +16 -92
  280. package/dist/css/mixins/_design.scss +64 -0
  281. package/dist/css/mixins/_field.scss +64 -0
  282. package/dist/css/mixins/_image.scss +64 -0
  283. package/dist/css/mixins/_index.scss +10 -0
  284. package/dist/css/mixins/_layout.scss +20 -0
  285. package/dist/css/mixins/{menu.scss → _menu.scss} +4 -2
  286. package/dist/css/mixins/{selection.scss → _selection.scss} +10 -70
  287. package/dist/css/mixins/_spaces.scss +36 -0
  288. package/dist/css/mixins/_toolbar.scss +7 -0
  289. package/dist/css/mixins/_typography.scss +7 -0
  290. package/dist/css/shared/q-field.scss +348 -0
  291. package/dist/css/theme/_color-classes.scss +332 -0
  292. package/dist/css/theme/_colors.scss +205 -0
  293. package/dist/css/theme/_css-variables.scss +5 -0
  294. package/dist/css/theme/_index.scss +12 -0
  295. package/dist/css/theme/_page.scss +17 -0
  296. package/dist/css/theme/{palette.scss → _palette.scss} +27 -5
  297. package/dist/css/theme/{reset.scss → _reset.scss} +11 -2
  298. package/dist/css/theme/_typography-variables.scss +107 -0
  299. package/dist/global.d.ts +1 -1
  300. package/dist/helpers/clickOutside.d.ts +2 -2
  301. package/dist/helpers/clickOutside.js +5 -4
  302. package/dist/helpers/index.d.ts +2 -1
  303. package/dist/helpers/index.js +2 -1
  304. package/dist/helpers/pageTitle.d.ts +1 -0
  305. package/dist/helpers/pageTitle.js +3 -0
  306. package/dist/helpers/ripple.d.ts +1 -0
  307. package/dist/helpers/ripple.js +31 -16
  308. package/dist/helpers/version.d.ts +1 -1
  309. package/dist/helpers/version.js +1 -1
  310. package/dist/index.d.ts +4 -1
  311. package/dist/index.js +4 -1
  312. package/dist/stores/index.d.ts +0 -0
  313. package/dist/stores/index.js +1 -0
  314. package/dist/utils/clipboard.d.ts +1 -1
  315. package/dist/utils/clipboard.js +3 -4
  316. package/dist/utils/colors.d.ts +69 -0
  317. package/dist/utils/colors.js +141 -15
  318. package/dist/utils/context.d.ts +33 -0
  319. package/dist/utils/context.js +33 -0
  320. package/dist/utils/dom.d.ts +3 -0
  321. package/dist/utils/dom.js +14 -4
  322. package/dist/utils/events.d.ts +24 -0
  323. package/dist/utils/events.js +24 -0
  324. package/dist/utils/index.d.ts +11 -0
  325. package/dist/utils/index.js +11 -1
  326. package/dist/utils/number.d.ts +2 -0
  327. package/dist/utils/number.js +9 -0
  328. package/dist/utils/props.d.ts +4 -4
  329. package/dist/utils/props.js +8 -6
  330. package/dist/utils/router.d.ts +16 -0
  331. package/dist/utils/router.js +20 -0
  332. package/dist/utils/string.d.ts +2 -0
  333. package/dist/utils/string.js +12 -1
  334. package/dist/utils/types.d.ts +12 -18
  335. package/dist/utils/types.js +0 -3
  336. package/dist/utils/types.json +31 -1
  337. package/package.json +44 -39
  338. package/dist/components/breadcrumbs/index.scss +0 -20
  339. package/dist/components/button/index.scss +0 -98
  340. package/dist/components/card/index.scss +0 -56
  341. package/dist/components/chip/index.scss +0 -86
  342. package/dist/components/drawer/index.scss +0 -59
  343. package/dist/components/footer/index.scss +0 -28
  344. package/dist/components/layout/index.scss +0 -387
  345. package/dist/components/list/index.scss +0 -121
  346. package/dist/components/progress/index.scss +0 -65
  347. package/dist/components/railbar/index.scss +0 -39
  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/tooltip/index.scss +0 -82
  358. package/dist/composables/use-index.d.ts +0 -2
  359. package/dist/composables/use-index.js +0 -17
  360. package/dist/composables/use-size.d.ts +0 -9
  361. package/dist/composables/use-size.js +0 -25
  362. package/dist/css/grid.scss +0 -50
  363. package/dist/css/mixins/field.scss +0 -432
  364. package/dist/css/mixins.scss +0 -136
  365. package/dist/css/states.scss +0 -75
  366. package/dist/css/theme/bridge.scss +0 -15
  367. package/dist/css/theme/colors.module.scss +0 -180
  368. package/dist/css/theme/page.scss +0 -16
  369. package/dist/css/theme/theme.dark.scss +0 -37
  370. package/dist/css/theme/theme.light.scss +0 -37
  371. package/dist/css/theme/theme.scss +0 -11
  372. package/dist/css/theme/tokens.scss +0 -266
  373. package/dist/css/variables-sass.scss +0 -16
  374. package/dist/helpers/activationHandler.d.ts +0 -9
  375. package/dist/helpers/activationHandler.js +0 -23
  376. package/dist/stores/QTheme.d.ts +0 -42
  377. package/dist/stores/QTheme.js +0 -53
  378. package/dist/stores/Quaff.d.ts +0 -32
  379. package/dist/stores/Quaff.js +0 -53
  380. package/dist/utils/fields.d.ts +0 -1
  381. package/dist/utils/fields.js +0 -14
  382. package/dist/utils/watchable.d.ts +0 -3
  383. package/dist/utils/watchable.js +0 -22
  384. /package/dist/css/mixins/{table.scss → _table.scss} +0 -0
  385. /package/dist/css/theme/{elevate.scss → _elevate.scss} +0 -0
  386. /package/dist/css/theme/{typography.module.scss → _typography-classes.scss} +0 -0
  387. /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,73 +1,177 @@
1
- <script>import { createClasses } from "../../utils/props";
2
- import { createEventDispatcher, onMount } from "svelte";
3
- import QIcon from "../icon/QIcon.svelte";
4
- import QCircularProgress from "../progress/QCircularProgress.svelte";
5
- import { useSize } from "../../composables/use-size";
6
- import { isActivationKey } from "../../utils/events";
7
- import { ripple } from "../../helpers/ripple";
8
- 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;
9
- export { userClasses as class };
10
- let qBtn;
11
- let tag;
12
- $:
13
- tag = to !== void 0 ? "a" : "button";
14
- $:
15
- sizeObj = useSize(size);
16
- $:
17
- classes = createClasses(
18
- [
19
- unelevated && "unelevated",
20
- rectangle && "rectangle",
21
- outline && "outlined",
22
- flat && "flat",
23
- (!$$slots.default && !label || round) && "round",
24
- size !== "md" && sizeObj.class
25
- ],
26
- {
27
- component: "q-btn",
28
- 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;
29
63
  }
64
+
65
+ if (finalVariant === "filled") {
66
+ return "on-primary";
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,
30
80
  );
31
- function onKeyDown(e) {
32
- if (!isActivationKey(e))
33
- return;
34
- e.preventDefault();
35
- let click = new MouseEvent("click");
36
- qBtn.dispatchEvent(click);
37
- }
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
+ });
38
118
  </script>
39
119
 
40
120
  <svelte:element
41
121
  this={tag}
42
122
  bind:this={qBtn}
43
- use:ripple
44
- role={tag === "a" ? "button" : undefined}
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}
45
140
  href={to}
46
- class={classes}
47
- aria-disabled={disable || undefined}
48
- tabindex={disable ? -1 : 0}
49
- on:click
50
- on:keydown={onKeyDown}
51
- {...$$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
52
147
  >
53
148
  {#if icon && !loading}
54
- {#if icon.startsWith("img:")}
149
+ {#if src}
55
150
  <img
56
- src={icon.replace("img:", "")}
151
+ {src}
152
+ alt="q-btn leading icon"
57
153
  class="q-btn__img q-btn__img--responsive"
58
- alt="{label || 'Slotted'} button"
59
154
  />
60
155
  {:else}
61
- <QIcon name={icon} class="q-btn__icon" />
156
+ <QIcon name={icon as MaterialSymbol} {color} class="q-btn__icon" {size} />
62
157
  {/if}
63
158
  {/if}
64
159
 
65
160
  {#if loading}
66
- <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
+ />
67
168
  {/if}
68
169
 
69
- {#if label}
70
- <span>{label}</span>
71
- {/if}
72
- <slot />
170
+ <span bind:this={qBtnLabel} class="q-btn__label">
171
+ {#if label}
172
+ {label}
173
+ {/if}
174
+
175
+ {@render children?.()}
176
+ </span>
73
177
  </svelte:element>