@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,68 +1,138 @@
1
- <script>import { activationHandler } from "../../helpers/activationHandler";
2
- import { createClasses } from "../../utils/props";
3
- import { createEventDispatcher } from "svelte";
4
- import QIcon from "../icon/QIcon.svelte";
5
- import { useSize } from "../../composables/use-size";
6
- export let content = void 0, icon = void 0, iconRight = void 0, disable = false, responsive = false, vertical = false, round = false, outlined = false, size = "md", tabindex = void 0, href = void 0, userClasses = void 0;
7
- export { userClasses as class };
8
- const emit = createEventDispatcher();
9
- $:
10
- img = icon?.startsWith("img:") ? icon.slice(4) : void 0;
11
- $:
12
- imgRight = iconRight?.startsWith("img:") ? iconRight.slice(4) : void 0;
13
- $:
14
- sizeObj = useSize(size);
15
- $:
16
- classes = createClasses(
17
- [
18
- vertical && "vertical",
19
- round && "rounded",
20
- (outlined || disable) && "bordered",
21
- size !== "md" && sizeObj.class
22
- ],
23
- {
24
- component: "q-chip",
25
- userClasses
1
+ <script lang="ts">
2
+ import { QAvatar, QIcon } from "../..";
3
+ import { ripple } from "../../helpers";
4
+ import { extractImgSrc, isActivationKey, type QEvent } from "../../utils";
5
+ import type { MaterialSymbol } from "material-symbols";
6
+ import type { QChipProps } from "./props";
7
+
8
+ type QChipMouseEvent = QEvent<MouseEvent, HTMLElement>;
9
+
10
+ let {
11
+ kind = "assist",
12
+ label,
13
+ icon,
14
+ trailingIcon,
15
+ disabled = false,
16
+ elevated,
17
+ noRipple = false,
18
+ selected = $bindable(kind === "filter" ? false : undefined),
19
+ size = "sm",
20
+ onTrailingIconClick,
21
+ children,
22
+ ...props
23
+ }: QChipProps = $props();
24
+
25
+ let qChip: HTMLDivElement;
26
+
27
+ $effect.pre(() => {
28
+ if (selected !== undefined && kind !== "filter") {
29
+ throw new Error(
30
+ 'Only QChips of kind "filter" can use the "selected" prop.',
31
+ );
32
+ }
33
+
34
+ if ((kind === "assist" || kind === "suggestion") && trailingIcon) {
35
+ console.warn(
36
+ 'QChips of kind "assist" and "suggestion" should not have a trailing icon. It will thus be ignored.',
37
+ );
26
38
  }
27
- );
28
- $:
29
- imgClass = createClasses([responsive && "responsive"], {
30
- component: "q-chip",
31
- element: "img"
32
39
  });
33
- $:
34
- tab = disable ? -1 : tabindex ?? 0;
40
+
41
+ const trailing = $derived(
42
+ (kind === "assist" || kind === "suggestion") && trailingIcon
43
+ ? undefined
44
+ : trailingIcon,
45
+ );
46
+
47
+ const tabindex = disabled ? -1 : props.tabindex || 0;
48
+ const role = $derived(
49
+ ["assist", "filter"].includes(kind) ? "button" : undefined,
50
+ );
51
+
52
+ const avatar = $derived(extractImgSrc(icon));
53
+
54
+ function stopIfDisabled(e: QChipMouseEvent, iconClick = false) {
55
+ if (disabled) {
56
+ e.preventDefault();
57
+ e.stopImmediatePropagation();
58
+ return;
59
+ }
60
+
61
+ if (kind === "filter") {
62
+ selected = !selected;
63
+ }
64
+
65
+ e.stopPropagation();
66
+ if (iconClick) {
67
+ onTrailingIconClick?.(e);
68
+ } else {
69
+ props.onclick?.(e as QEvent<MouseEvent, HTMLDivElement>);
70
+ }
71
+ }
72
+
73
+ function onkeydown(e: KeyboardEvent) {
74
+ if (e.key === "Escape") {
75
+ qChip?.blur();
76
+ return;
77
+ }
78
+
79
+ if (!isActivationKey(e)) {
80
+ return;
81
+ }
82
+
83
+ e.preventDefault();
84
+
85
+ const click = new MouseEvent("click", {
86
+ relatedTarget: qChip,
87
+ }) as QChipMouseEvent;
88
+ stopIfDisabled(click);
89
+ }
35
90
  </script>
36
91
 
37
- <a
38
- use:activationHandler={{ disable, callback: (e) => emit("activated", e) }}
39
- {href}
40
- class={classes}
41
- tabindex={tab}
42
- {...$$restProps}
43
- aria-disabled={disable || undefined}
92
+ <div
93
+ bind:this={qChip}
94
+ use:ripple={{
95
+ disabled: noRipple || disabled,
96
+ color: elevated ? "var(--on-surface-variant)" : undefined,
97
+ }}
98
+ {...props}
99
+ class={[
100
+ "q-chip",
101
+ props.class,
102
+ `q-chip--${kind}`,
103
+ `q-chip--${size}`,
104
+ selected && "q-chip--selected",
105
+ elevated && "q-chip--elevated",
106
+ !elevated && "q-chip--outlined",
107
+ ]}
108
+ aria-disabled={disabled || undefined}
109
+ {tabindex}
110
+ {role}
111
+ onclick={stopIfDisabled}
112
+ {onkeydown}
113
+ data-quaff
44
114
  >
45
- {#if $$slots.leading}
46
- <slot name="leading" />
47
- {:else if img}
48
- <img class={imgClass} src={img} alt="{content || 'Slotted'} chip" />
49
- {:else if icon}
50
- <QIcon name={icon} class="q-chip__icon" />
115
+ {#if icon && !selected && !avatar}
116
+ <QIcon class="q-chip__leading-icon" name={icon as MaterialSymbol} />
117
+ {:else if avatar && !selected}
118
+ <QAvatar class="q-chip__avatar" src={avatar} />
119
+ {:else if selected}
120
+ <QIcon class="q-chip__leading-icon" name="check" />
51
121
  {/if}
52
- {#if content}
53
- {content}
54
- {:else}
55
- <slot />
56
- {/if}
57
- {#if $$slots.trailing}
58
- <slot name="trailing" />
59
- {:else if imgRight}
60
- <img
61
- class="{imgClass} q-chip__img--trailing"
62
- src={imgRight}
63
- alt="{content || 'Slotted'} chip"
122
+
123
+ <div class="q-chip__label">
124
+ {#if label}
125
+ {label}
126
+ {:else}
127
+ {@render children?.()}
128
+ {/if}
129
+ </div>
130
+
131
+ {#if trailing}
132
+ <QIcon
133
+ class="q-chip__trailing-icon"
134
+ name={trailing}
135
+ onclick={(e) => stopIfDisabled(e, true)}
64
136
  />
65
- {:else if iconRight}
66
- <QIcon name={iconRight} class="q-chip__icon" />
67
137
  {/if}
68
- </a>
138
+ </div>
@@ -1,35 +1,14 @@
1
- import { SvelteComponent } from "svelte";
2
- import type { QChipProps } from "./props";
1
+ import { SvelteComponentTyped } from "svelte";
3
2
  declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- content?: QChipProps["content"];
7
- icon?: QChipProps["icon"];
8
- iconRight?: QChipProps["iconRight"];
9
- disable?: QChipProps["disable"];
10
- responsive?: QChipProps["responsive"];
11
- vertical?: QChipProps["vertical"];
12
- round?: QChipProps["round"];
13
- outlined?: QChipProps["outlined"];
14
- size?: QChipProps["size"];
15
- tabindex?: QChipProps["tabindex"];
16
- href?: QChipProps["href"];
17
- class?: string | undefined;
18
- };
3
+ props: Record<string, never>;
19
4
  events: {
20
- activated: CustomEvent<any>;
21
- } & {
22
5
  [evt: string]: CustomEvent<any>;
23
6
  };
24
- slots: {
25
- leading: {};
26
- default: {};
27
- trailing: {};
28
- };
7
+ slots: {};
29
8
  };
30
9
  type QChipProps_ = typeof __propDef.props;
31
10
  export { QChipProps_ as QChipProps };
32
11
  export type QChipEvents = typeof __propDef.events;
33
12
  export type QChipSlots = typeof __propDef.slots;
34
- export default class QChip extends SvelteComponent<QChipProps, QChipEvents, QChipSlots> {
13
+ export default class QChip extends SvelteComponentTyped<QChipProps_, QChipEvents, QChipSlots> {
35
14
  }
@@ -1,2 +1,2 @@
1
- import type { QComponentDocs } from "../../utils/types";
2
- export declare let QChipDocs: QComponentDocs;
1
+ import type { QComponentDocs } from "../../utils";
2
+ export declare const QChipDocs: QComponentDocs;
@@ -1,23 +1,10 @@
1
- import { QChipDocsProps } from "./docs.props";
2
- export let QChipDocs = {
1
+ import { QChipDocsProps, QChipDocsSnippets } from "./docs.props";
2
+ export const QChipDocs = {
3
3
  name: "QChip",
4
4
  description: "Chips help people enter information, make selections, filter content, or trigger actions. They represent options in a specific context, unlike buttons, which are persistent.",
5
5
  docs: {
6
6
  props: QChipDocsProps,
7
- slots: [
8
- {
9
- name: "default",
10
- description: 'The default slot for the chip\'s content. Is overwritten by the "content" prop',
11
- },
12
- {
13
- name: "leading",
14
- description: "Slot for content to display at the start of the chip. Use with an icon or a media.",
15
- },
16
- {
17
- name: "trailing",
18
- description: "Slot for content to display at the end of the chip. Use with an icon or a media.",
19
- },
20
- ],
7
+ snippets: QChipDocsSnippets,
21
8
  methods: [],
22
9
  events: [
23
10
  {
@@ -1,8 +1,3 @@
1
- export declare const QChipDocsProps: {
2
- name: string;
3
- type: string;
4
- optional: boolean;
5
- clickableType: boolean;
6
- description: string;
7
- default: string;
8
- }[];
1
+ import { ParsedProp, ParsedSnippet } from "../../../../docgen/props/parseInterface";
2
+ export declare const QChipDocsProps: ParsedProp[];
3
+ export declare const QChipDocsSnippets: ParsedSnippet[];
@@ -1,90 +1,137 @@
1
+ // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
+ // @quaffHash d44ba2907d984f6c6672e3c3434a02a4
1
3
  export const QChipDocsProps = [
2
4
  {
3
- name: "content",
4
- type: "string",
5
+ isArray: false,
5
6
  optional: true,
6
- clickableType: false,
7
- description: "The content inside the chip. Will overwrite the default slot.",
7
+ isSnippet: false,
8
+ name: "kind",
9
+ type: {
10
+ name: "QChipKindOptions",
11
+ isClickable: true,
12
+ },
13
+ description: "The chip's kind. It will control the chip's style and behavior.",
8
14
  default: "undefined",
9
15
  },
10
16
  {
11
- name: "icon",
12
- type: "string",
17
+ isArray: false,
13
18
  optional: true,
14
- clickableType: false,
15
- description: 'Name of the leading icon to use for the chip. If starts with "img:", will be used as an image src instead.',
19
+ isSnippet: false,
20
+ name: "label",
21
+ type: {
22
+ name: "string",
23
+ isClickable: false,
24
+ },
25
+ description: "The chip's text content. Will overwrite the default slot.",
16
26
  default: "undefined",
17
27
  },
18
28
  {
19
- name: "iconRight",
20
- type: "string",
29
+ isArray: false,
21
30
  optional: true,
22
- clickableType: false,
23
- description: 'Name of the trailing icon to use for the chip. If starts with "img:", will be used as an image src instead.',
31
+ isSnippet: false,
32
+ name: "icon",
33
+ type: [
34
+ {
35
+ name: "MaterialSymbol",
36
+ isClickable: false,
37
+ },
38
+ {
39
+ name: "`img:${string}`",
40
+ isClickable: false,
41
+ },
42
+ ],
43
+ description: 'Name of the leading icon to use for the chip. If starts with "img:", will be used as an image src instead.',
24
44
  default: "undefined",
25
45
  },
26
46
  {
27
- name: "disable",
28
- type: "boolean",
47
+ isArray: false,
29
48
  optional: true,
30
- clickableType: false,
31
- description: "Puts the chip in a disabled state, making it unclickable.",
32
- default: "false",
49
+ isSnippet: false,
50
+ name: "trailingIcon",
51
+ type: [
52
+ {
53
+ name: "MaterialSymbol",
54
+ isClickable: false,
55
+ },
56
+ {
57
+ name: "`img:${string}`",
58
+ isClickable: false,
59
+ },
60
+ ],
61
+ description: "Only for filter and input chips. Name of the trailing icon to use for the chip.",
62
+ default: "undefined",
33
63
  },
34
64
  {
35
- name: "responsive",
36
- type: "boolean",
65
+ isArray: false,
37
66
  optional: true,
38
- clickableType: false,
39
- description: "Makes leading and trailing images responsive, making them take more space.",
67
+ isSnippet: false,
68
+ name: "disabled",
69
+ type: {
70
+ name: "boolean",
71
+ isClickable: false,
72
+ },
73
+ description: "Puts the chip in a disabled state, making it unactivable.",
40
74
  default: "false",
41
75
  },
42
76
  {
43
- name: "vertical",
44
- type: "boolean",
77
+ isArray: false,
45
78
  optional: true,
46
- clickableType: false,
47
- description: "If true, the chip will display its content vertically.",
79
+ isSnippet: false,
80
+ name: "selected",
81
+ type: {
82
+ name: "boolean",
83
+ isClickable: false,
84
+ },
85
+ description: "Only for filter chips. Controls wether the chip is selected or not.",
48
86
  default: "false",
49
87
  },
50
88
  {
51
- name: "round",
52
- type: "boolean",
89
+ isArray: false,
53
90
  optional: true,
54
- clickableType: false,
55
- description: "Use round design for the chip, adding a large border-radius to it.",
91
+ isSnippet: false,
92
+ name: "elevated",
93
+ type: {
94
+ name: "boolean",
95
+ isClickable: false,
96
+ },
97
+ description: "Elevates the button, giving it box-shadow and a background color.",
56
98
  default: "false",
57
99
  },
58
100
  {
59
- name: "outlined",
60
- type: "boolean",
101
+ isArray: false,
61
102
  optional: true,
62
- clickableType: false,
63
- description: "Use outline design for the chip, adding a border around it.",
103
+ isSnippet: false,
104
+ name: "noRipple",
105
+ type: {
106
+ name: "boolean",
107
+ isClickable: false,
108
+ },
109
+ description: "Disable the ripple effect for the chip.",
64
110
  default: "false",
65
111
  },
66
112
  {
67
- name: "size",
68
- type: "QChipSizeOptions",
113
+ isArray: false,
69
114
  optional: true,
70
- clickableType: true,
115
+ isSnippet: false,
116
+ name: "size",
117
+ type: {
118
+ name: "QChipSizeOptions",
119
+ isClickable: true,
120
+ },
71
121
  description: "Size of the chip.",
72
- default: "small",
73
- },
74
- {
75
- name: "tabindex",
76
- type: "number",
77
- optional: true,
78
- clickableType: false,
79
- description: "Tabindex of the chip.",
80
- default: "undefined",
122
+ default: "sm",
81
123
  },
82
124
  {
83
- name: "href",
84
- type: "string",
125
+ isArray: false,
85
126
  optional: true,
86
- clickableType: false,
87
- description: 'Makes the chip navigational. Can be used with the router (e.g to="/home") or as a normal href attribute (e.g to="#section-id").',
127
+ isSnippet: false,
128
+ name: "onTrailingIconClick",
129
+ type: {
130
+ name: "MouseEventHandler<HTMLElement>",
131
+ isClickable: false,
132
+ },
133
+ description: "Click event handler for the trailing icon of the chip. This can be useful with input chips to clear them.",
88
134
  default: "undefined",
89
135
  },
90
136
  ];
137
+ export const QChipDocsSnippets = [];
@@ -1,59 +1,57 @@
1
- import type { NativeProps, QuaffSizes } from "../../utils/types";
2
- export type QChipSizeOptions = Exclude<QuaffSizes, "xs" | "xl">;
3
- export interface QChipProps extends NativeProps {
4
- /**
5
- * The content inside the chip. Will overwrite the default slot.
1
+ import type { MaterialSymbol } from "material-symbols";
2
+ import type { HTMLAttributes, MouseEventHandler } from "svelte/elements";
3
+ export type QChipKindOptions = "assist" | "filter" | "input" | "suggestion";
4
+ export type QChipFillOptions = "primary" | "secondary" | "tertiary" | "neutral" | "neutral-variant" | "error";
5
+ export type QChipSizeOptions = Exclude<Q.Size, "xs" | "xl" | "none">;
6
+ export interface QChipProps extends HTMLAttributes<HTMLDivElement> {
7
+ /**
8
+ * The chip's kind. It will control the chip's style and behavior.
6
9
  * @default undefined
7
10
  */
8
- content?: string;
11
+ kind?: QChipKindOptions;
9
12
  /**
10
- * Name of the leading icon to use for the chip. If starts with "img:", will be used as an image src instead.
13
+ * The chip's text content. Will overwrite the default slot.
11
14
  * @default undefined
12
15
  */
13
- icon?: string;
16
+ label?: string;
14
17
  /**
15
- * Name of the trailing icon to use for the chip. If starts with "img:", will be used as an image src instead.
18
+ * Name of the leading icon to use for the chip. If starts with "img:", will be used as an image src instead.
16
19
  * @default undefined
17
20
  */
18
- iconRight?: string;
21
+ icon?: MaterialSymbol | `img:${string}`;
19
22
  /**
20
- * Puts the chip in a disabled state, making it unclickable.
21
- * @default false
23
+ * Only for filter and input chips. Name of the trailing icon to use for the chip.
24
+ * @default undefined
22
25
  */
23
- disable?: boolean;
26
+ trailingIcon?: MaterialSymbol | `img:${string}`;
24
27
  /**
25
- * Makes leading and trailing images responsive, making them take more space.
28
+ * Puts the chip in a disabled state, making it unactivable.
26
29
  * @default false
27
30
  */
28
- responsive?: boolean;
31
+ disabled?: boolean;
29
32
  /**
30
- * If true, the chip will display its content vertically.
33
+ * Only for filter chips. Controls wether the chip is selected or not.
31
34
  * @default false
32
35
  */
33
- vertical?: boolean;
36
+ selected?: boolean;
34
37
  /**
35
- * Use round design for the chip, adding a large border-radius to it.
38
+ * Elevates the button, giving it box-shadow and a background color.
36
39
  * @default false
37
40
  */
38
- round?: boolean;
41
+ elevated?: boolean;
39
42
  /**
40
- * Use outline design for the chip, adding a border around it.
43
+ * Disable the ripple effect for the chip.
41
44
  * @default false
42
45
  */
43
- outlined?: boolean;
46
+ noRipple?: boolean;
44
47
  /**
45
48
  * Size of the chip.
46
- * @default small
49
+ * @default sm
47
50
  */
48
51
  size?: QChipSizeOptions;
49
52
  /**
50
- * Tabindex of the chip.
51
- * @default undefined
52
- */
53
- tabindex?: number;
54
- /**
55
- * Makes the chip navigational. Can be used with the router (e.g to="/home") or as a normal href attribute (e.g to="#section-id").
53
+ * Click event handler for the trailing icon of the chip. This can be useful with input chips to clear them.
56
54
  * @default undefined
57
55
  */
58
- href?: string;
56
+ onTrailingIconClick?: MouseEventHandler<HTMLElement>;
59
57
  }