@quaffui/quaff 0.1.0-prealpha15 → 0.1.0-prealpha19

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 (323) hide show
  1. package/README.md +6 -6
  2. package/dist/classes/QContext.svelte.d.ts +42 -0
  3. package/dist/classes/QContext.svelte.js +63 -0
  4. package/dist/classes/QScrollObserver.svelte.d.ts +44 -0
  5. package/dist/classes/QScrollObserver.svelte.js +95 -0
  6. package/dist/classes/QTheme.svelte.d.ts +11 -0
  7. package/dist/classes/QTheme.svelte.js +49 -0
  8. package/dist/classes/Quaff.svelte.d.ts +14 -0
  9. package/dist/classes/Quaff.svelte.js +35 -0
  10. package/dist/components/avatar/QAvatar.scss +97 -0
  11. package/dist/components/avatar/QAvatar.svelte +35 -50
  12. package/dist/components/avatar/QAvatar.svelte.d.ts +2 -25
  13. package/dist/components/avatar/docs.d.ts +1 -1
  14. package/dist/components/avatar/docs.js +1 -1
  15. package/dist/components/avatar/docs.props.js +21 -5
  16. package/dist/components/avatar/index.scss +5 -3
  17. package/dist/components/avatar/props.d.ts +24 -7
  18. package/dist/components/breadcrumbs/QBreadcrumbs.scss +10 -0
  19. package/dist/components/breadcrumbs/QBreadcrumbs.svelte +24 -10
  20. package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +2 -22
  21. package/dist/components/breadcrumbs/QBreadcrumbsEl.scss +10 -0
  22. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +62 -38
  23. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +2 -25
  24. package/dist/components/breadcrumbs/docs.d.ts +1 -1
  25. package/dist/components/breadcrumbs/docs.js +1 -1
  26. package/dist/components/breadcrumbs/docs.props.js +27 -27
  27. package/dist/components/breadcrumbs/props.d.ts +25 -24
  28. package/dist/components/button/QBtn.scss +133 -0
  29. package/dist/components/button/QBtn.svelte +89 -46
  30. package/dist/components/button/QBtn.svelte.d.ts +2 -33
  31. package/dist/components/button/docs.d.ts +1 -1
  32. package/dist/components/button/docs.js +1 -1
  33. package/dist/components/button/docs.props.js +26 -18
  34. package/dist/components/button/props.d.ts +21 -15
  35. package/dist/components/card/QCard.scss +25 -0
  36. package/dist/components/card/QCard.svelte +26 -17
  37. package/dist/components/card/QCard.svelte.d.ts +2 -25
  38. package/dist/components/card/QCardActions.scss +10 -0
  39. package/dist/components/card/QCardActions.svelte +11 -8
  40. package/dist/components/card/QCardActions.svelte.d.ts +2 -21
  41. package/dist/components/card/QCardSection.scss +10 -0
  42. package/dist/components/card/QCardSection.svelte +9 -7
  43. package/dist/components/card/QCardSection.svelte.d.ts +2 -22
  44. package/dist/components/card/docs.d.ts +3 -3
  45. package/dist/components/card/docs.js +3 -3
  46. package/dist/components/card/docs.props.js +6 -14
  47. package/dist/components/card/props.d.ts +9 -15
  48. package/dist/components/checkbox/QCheckbox.svelte +6 -5
  49. package/dist/components/checkbox/QCheckbox.svelte.d.ts +2 -20
  50. package/dist/components/checkbox/docs.d.ts +1 -1
  51. package/dist/components/checkbox/docs.js +1 -1
  52. package/dist/components/checkbox/docs.props.js +1 -1
  53. package/dist/components/checkbox/index.scss +3 -1
  54. package/dist/components/checkbox/props.d.ts +1 -2
  55. package/dist/components/chip/QChip.scss +179 -0
  56. package/dist/components/chip/QChip.svelte +97 -69
  57. package/dist/components/chip/QChip.svelte.d.ts +2 -35
  58. package/dist/components/chip/docs.d.ts +1 -1
  59. package/dist/components/chip/docs.js +1 -1
  60. package/dist/components/chip/docs.props.js +23 -47
  61. package/dist/components/chip/props.d.ts +21 -34
  62. package/dist/components/codeBlock/QCodeBlock.svelte +63 -45
  63. package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +2 -19
  64. package/dist/components/codeBlock/docs.props.js +10 -2
  65. package/dist/components/codeBlock/props.d.ts +6 -1
  66. package/dist/components/dialog/{index.scss → QDialog.scss} +9 -7
  67. package/dist/components/dialog/QDialog.svelte +72 -70
  68. package/dist/components/dialog/QDialog.svelte.d.ts +6 -36
  69. package/dist/components/dialog/docs.d.ts +1 -1
  70. package/dist/components/dialog/docs.js +1 -1
  71. package/dist/components/dialog/docs.props.d.ts +0 -8
  72. package/dist/components/dialog/docs.props.js +1 -131
  73. package/dist/components/dialog/props.d.ts +0 -16
  74. package/dist/components/drawer/QDrawer.scss +45 -0
  75. package/dist/components/drawer/QDrawer.svelte +87 -94
  76. package/dist/components/drawer/QDrawer.svelte.d.ts +6 -39
  77. package/dist/components/drawer/docs.d.ts +1 -1
  78. package/dist/components/drawer/docs.js +1 -1
  79. package/dist/components/drawer/docs.props.js +3 -3
  80. package/dist/components/drawer/props.d.ts +2 -2
  81. package/dist/components/footer/QFooter.scss +42 -0
  82. package/dist/components/footer/QFooter.svelte +65 -24
  83. package/dist/components/footer/QFooter.svelte.d.ts +2 -23
  84. package/dist/components/footer/docs.d.ts +1 -1
  85. package/dist/components/footer/docs.js +1 -1
  86. package/dist/components/footer/docs.props.js +14 -6
  87. package/dist/components/footer/props.d.ts +8 -5
  88. package/dist/components/header/QHeader.scss +54 -0
  89. package/dist/components/header/QHeader.svelte +52 -24
  90. package/dist/components/header/QHeader.svelte.d.ts +2 -23
  91. package/dist/components/header/docs.props.js +23 -7
  92. package/dist/components/header/props.d.ts +11 -3
  93. package/dist/components/icon/{index.scss → QIcon.scss} +2 -4
  94. package/dist/components/icon/QIcon.svelte +29 -16
  95. package/dist/components/icon/QIcon.svelte.d.ts +2 -27
  96. package/dist/components/icon/docs.d.ts +1 -1
  97. package/dist/components/icon/docs.js +1 -1
  98. package/dist/components/icon/docs.props.js +5 -5
  99. package/dist/components/icon/props.d.ts +6 -6
  100. package/dist/components/index.d.ts +2 -2
  101. package/dist/components/index.js +2 -2
  102. package/dist/components/input/QInput.svelte +52 -25
  103. package/dist/components/input/QInput.svelte.d.ts +2 -32
  104. package/dist/components/input/docs.d.ts +1 -1
  105. package/dist/components/input/docs.js +1 -1
  106. package/dist/components/input/docs.props.js +33 -1
  107. package/dist/components/input/props.d.ts +5 -12
  108. package/dist/components/input/props.js +1 -12
  109. package/dist/components/layout/QLayout.scss +178 -0
  110. package/dist/components/layout/QLayout.svelte +100 -80
  111. package/dist/components/layout/QLayout.svelte.d.ts +16 -43
  112. package/dist/components/layout/docs.d.ts +1 -1
  113. package/dist/components/layout/docs.js +1 -1
  114. package/dist/components/layout/docs.props.js +57 -1
  115. package/dist/components/layout/props.d.ts +8 -0
  116. package/dist/components/list/QItem.scss +61 -0
  117. package/dist/components/list/QItem.svelte +65 -46
  118. package/dist/components/list/QItem.svelte.d.ts +2 -30
  119. package/dist/components/list/QItemSection.scss +45 -0
  120. package/dist/components/list/QItemSection.svelte +46 -34
  121. package/dist/components/list/QItemSection.svelte.d.ts +2 -24
  122. package/dist/components/list/QList.scss +30 -0
  123. package/dist/components/list/QList.svelte +28 -16
  124. package/dist/components/list/QList.svelte.d.ts +2 -28
  125. package/dist/components/list/docs.d.ts +1 -1
  126. package/dist/components/list/docs.js +1 -1
  127. package/dist/components/list/docs.props.js +36 -4
  128. package/dist/components/list/props.d.ts +9 -8
  129. package/dist/components/list/props.js +1 -25
  130. package/dist/components/private/ContextReseter.svelte +6 -11
  131. package/dist/components/private/ContextReseter.svelte.d.ts +6 -18
  132. package/dist/components/private/QApi.svelte +118 -97
  133. package/dist/components/private/QApi.svelte.d.ts +4 -16
  134. package/dist/components/private/QDocs.svelte +67 -58
  135. package/dist/components/private/QDocs.svelte.d.ts +9 -20
  136. package/dist/components/private/QDocsSection.svelte +15 -22
  137. package/dist/components/private/QDocsSection.svelte.d.ts +7 -29
  138. package/dist/components/private/QIconSnippet.svelte +12 -0
  139. package/dist/components/private/QIconSnippet.svelte.d.ts +8 -0
  140. package/dist/components/progress/QCircularProgress.scss +63 -0
  141. package/dist/components/progress/QCircularProgress.svelte +104 -28
  142. package/dist/components/progress/QCircularProgress.svelte.d.ts +2 -22
  143. package/dist/components/progress/QLinearProgress.scss +75 -0
  144. package/dist/components/progress/QLinearProgress.svelte +55 -13
  145. package/dist/components/progress/QLinearProgress.svelte.d.ts +2 -20
  146. package/dist/components/progress/docs.d.ts +1 -1
  147. package/dist/components/progress/docs.js +1 -1
  148. package/dist/components/progress/docs.props.js +138 -10
  149. package/dist/components/progress/props.d.ts +75 -12
  150. package/dist/components/radio/QRadio.svelte +14 -3
  151. package/dist/components/radio/QRadio.svelte.d.ts +2 -21
  152. package/dist/components/radio/docs.d.ts +1 -1
  153. package/dist/components/radio/docs.js +1 -1
  154. package/dist/components/radio/docs.props.js +2 -2
  155. package/dist/components/radio/index.scss +3 -1
  156. package/dist/components/radio/props.d.ts +2 -4
  157. package/dist/components/radio/props.js +1 -8
  158. package/dist/components/railbar/QRailbar.scss +54 -0
  159. package/dist/components/railbar/QRailbar.svelte +43 -66
  160. package/dist/components/railbar/QRailbar.svelte.d.ts +2 -22
  161. package/dist/components/railbar/docs.d.ts +1 -1
  162. package/dist/components/railbar/docs.js +1 -1
  163. package/dist/components/railbar/docs.props.js +4 -4
  164. package/dist/components/railbar/props.d.ts +3 -3
  165. package/dist/components/select/QSelect.svelte +121 -88
  166. package/dist/components/select/QSelect.svelte.d.ts +2 -34
  167. package/dist/components/select/docs.d.ts +1 -1
  168. package/dist/components/select/docs.js +8 -1
  169. package/dist/components/select/docs.props.js +41 -1
  170. package/dist/components/select/index.scss +8 -6
  171. package/dist/components/select/props.d.ts +6 -12
  172. package/dist/components/select/props.js +1 -12
  173. package/dist/components/separator/QSeparator.scss +54 -0
  174. package/dist/components/separator/QSeparator.svelte +38 -45
  175. package/dist/components/separator/QSeparator.svelte.d.ts +2 -24
  176. package/dist/components/separator/docs.d.ts +1 -1
  177. package/dist/components/separator/docs.js +1 -1
  178. package/dist/components/separator/docs.props.js +4 -4
  179. package/dist/components/separator/props.d.ts +5 -7
  180. package/dist/components/separator/props.js +1 -9
  181. package/dist/components/switch/QSwitch.scss +305 -0
  182. package/dist/components/switch/QSwitch.svelte +96 -0
  183. package/dist/components/switch/QSwitch.svelte.d.ts +3 -0
  184. package/dist/components/{toggle → switch}/docs.d.ts +1 -1
  185. package/dist/components/{toggle → switch}/docs.js +3 -3
  186. package/dist/components/{toggle → switch}/docs.props.d.ts +1 -1
  187. package/dist/components/{toggle → switch}/docs.props.js +30 -6
  188. package/dist/components/switch/props.d.ts +13 -0
  189. package/dist/components/switch/props.js +1 -0
  190. package/dist/components/table/QTable.svelte +99 -85
  191. package/dist/components/table/QTable.svelte.d.ts +3 -29
  192. package/dist/components/table/docs.d.ts +1 -1
  193. package/dist/components/table/docs.js +1 -1
  194. package/dist/components/table/docs.props.js +9 -1
  195. package/dist/components/table/index.scss +3 -1
  196. package/dist/components/table/props.d.ts +10 -0
  197. package/dist/components/tabs/QTab.scss +71 -0
  198. package/dist/components/tabs/QTab.svelte +75 -96
  199. package/dist/components/tabs/QTab.svelte.d.ts +2 -25
  200. package/dist/components/tabs/QTabs.scss +40 -0
  201. package/dist/components/tabs/QTabs.svelte +107 -59
  202. package/dist/components/tabs/QTabs.svelte.d.ts +6 -31
  203. package/dist/components/tabs/docs.d.ts +1 -1
  204. package/dist/components/tabs/docs.js +1 -1
  205. package/dist/components/tabs/docs.props.js +3 -3
  206. package/dist/components/tabs/index.scss +4 -2
  207. package/dist/components/tabs/props.d.ts +5 -4
  208. package/dist/components/tabs/props.js +1 -1
  209. package/dist/components/toolbar/QToolbar.svelte +15 -12
  210. package/dist/components/toolbar/QToolbar.svelte.d.ts +2 -23
  211. package/dist/components/toolbar/QToolbarTitle.svelte +8 -7
  212. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +2 -21
  213. package/dist/components/toolbar/docs.d.ts +1 -1
  214. package/dist/components/toolbar/docs.js +1 -1
  215. package/dist/components/toolbar/docs.props.js +4 -4
  216. package/dist/components/toolbar/index.scss +12 -14
  217. package/dist/components/toolbar/props.d.ts +4 -5
  218. package/dist/components/tooltip/QTooltip.svelte +5 -9
  219. package/dist/components/tooltip/QTooltip.svelte.d.ts +2 -21
  220. package/dist/components/tooltip/docs.d.ts +1 -1
  221. package/dist/components/tooltip/docs.js +1 -1
  222. package/dist/components/tooltip/docs.props.js +1 -1
  223. package/dist/components/tooltip/index.scss +3 -1
  224. package/dist/components/tooltip/props.d.ts +1 -1
  225. package/dist/composables/index.d.ts +3 -3
  226. package/dist/composables/index.js +3 -3
  227. package/dist/composables/useSize.d.ts +10 -0
  228. package/dist/composables/useSize.js +37 -0
  229. package/dist/composables/{use-size.d.ts → useSizeLegacy.d.ts} +2 -2
  230. package/dist/composables/{use-size.js → useSizeLegacy.js} +5 -5
  231. package/dist/css/_components.scss +31 -0
  232. package/dist/css/_disabled.scss +18 -0
  233. package/dist/css/{ripple.scss → _ripple.scss} +1 -1
  234. package/dist/css/_variables.scss +73 -0
  235. package/dist/css/classes/_design.scss +57 -0
  236. package/dist/css/classes/_flex.scss +62 -0
  237. package/dist/css/classes/_grid.scss +35 -0
  238. package/dist/css/classes/_index.scss +7 -0
  239. package/dist/css/classes/_overflow.scss +7 -0
  240. package/dist/css/classes/_position.scss +7 -0
  241. package/dist/css/classes/_select.scss +6 -0
  242. package/dist/css/classes/_spaces.scss +23 -0
  243. package/dist/css/fonts.scss +16 -3
  244. package/dist/css/index.css +1 -1
  245. package/dist/css/index.scss +15 -94
  246. package/dist/css/mixins/_design.scss +63 -0
  247. package/dist/css/mixins/{field-mixins.scss → _field.scss} +16 -5
  248. package/dist/css/mixins/_image.scss +63 -0
  249. package/dist/css/mixins/_index.scss +9 -0
  250. package/dist/css/mixins/_layout.scss +20 -0
  251. package/dist/css/mixins/{menu.scss → _menu.scss} +4 -2
  252. package/dist/css/mixins/{selection.scss → _selection.scss} +7 -67
  253. package/dist/css/mixins/_spaces.scss +36 -0
  254. package/dist/css/mixins/_typography.scss +7 -0
  255. package/dist/css/shared/q-field.scss +62 -32
  256. package/dist/css/theme/_colors.scss +173 -0
  257. package/dist/css/theme/css-variables.scss +5 -0
  258. package/dist/css/theme/page.scss +3 -3
  259. package/dist/css/theme/reset.scss +17 -1
  260. package/dist/css/theme/theme.scss +2 -3
  261. package/dist/css/theme/tokens.scss +0 -159
  262. package/dist/global.d.ts +1 -1
  263. package/dist/helpers/clickOutside.d.ts +2 -2
  264. package/dist/helpers/clickOutside.js +5 -4
  265. package/dist/helpers/ripple.d.ts +1 -1
  266. package/dist/helpers/ripple.js +14 -5
  267. package/dist/helpers/version.d.ts +1 -1
  268. package/dist/helpers/version.js +1 -1
  269. package/dist/index.d.ts +2 -1
  270. package/dist/index.js +2 -1
  271. package/dist/stores/index.d.ts +0 -2
  272. package/dist/stores/index.js +1 -2
  273. package/dist/utils/clipboard.js +2 -2
  274. package/dist/utils/colors.d.ts +71 -0
  275. package/dist/utils/colors.js +103 -15
  276. package/dist/utils/dom.d.ts +2 -0
  277. package/dist/utils/dom.js +10 -4
  278. package/dist/utils/number.d.ts +2 -0
  279. package/dist/utils/number.js +9 -0
  280. package/dist/utils/props.d.ts +2 -2
  281. package/dist/utils/props.js +8 -6
  282. package/dist/utils/router.d.ts +17 -0
  283. package/dist/utils/router.js +23 -0
  284. package/dist/utils/string.d.ts +1 -0
  285. package/dist/utils/string.js +4 -1
  286. package/dist/utils/types.d.ts +7 -2
  287. package/dist/utils/types.js +0 -3
  288. package/dist/utils/types.json +8 -5
  289. package/dist/utils/watchable.d.ts +0 -1
  290. package/dist/utils/watchable.js +1 -1
  291. package/package.json +42 -39
  292. package/dist/components/breadcrumbs/index.scss +0 -20
  293. package/dist/components/button/index.scss +0 -98
  294. package/dist/components/card/index.scss +0 -56
  295. package/dist/components/chip/index.scss +0 -103
  296. package/dist/components/drawer/index.scss +0 -59
  297. package/dist/components/footer/index.scss +0 -28
  298. package/dist/components/layout/index.scss +0 -387
  299. package/dist/components/list/index.scss +0 -144
  300. package/dist/components/progress/index.scss +0 -82
  301. package/dist/components/railbar/index.scss +0 -39
  302. package/dist/components/separator/index.scss +0 -52
  303. package/dist/components/toggle/QToggle.svelte +0 -34
  304. package/dist/components/toggle/QToggle.svelte.d.ts +0 -23
  305. package/dist/components/toggle/index.scss +0 -31
  306. package/dist/components/toggle/props.d.ts +0 -9
  307. package/dist/components/toggle/props.js +0 -9
  308. package/dist/css/grid.scss +0 -50
  309. package/dist/css/mixins.scss +0 -137
  310. package/dist/css/states.scss +0 -75
  311. package/dist/css/theme/bridge.scss +0 -15
  312. package/dist/css/theme/theme.dark.scss +0 -39
  313. package/dist/css/theme/theme.light.scss +0 -39
  314. package/dist/css/variables-sass.scss +0 -16
  315. package/dist/stores/QTheme.d.ts +0 -42
  316. package/dist/stores/QTheme.js +0 -60
  317. package/dist/stores/Quaff.d.ts +0 -32
  318. package/dist/stores/Quaff.js +0 -58
  319. /package/dist/composables/{use-align.d.ts → useAlign.d.ts} +0 -0
  320. /package/dist/composables/{use-align.js → useAlign.js} +0 -0
  321. /package/dist/composables/{use-router-link.d.ts → useRouterLink.d.ts} +0 -0
  322. /package/dist/composables/{use-router-link.js → useRouterLink.js} +0 -0
  323. /package/dist/css/mixins/{table.scss → _table.scss} +0 -0
@@ -1,12 +1,12 @@
1
1
  // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
- // @quaffHash 2ef1416c81c3c5c723220c0c102649eb
2
+ // @quaffHash 69f545f7cfb7825b2945621891e4b3e1
3
3
  export const QCardDocsProps = [
4
4
  {
5
5
  name: "bordered",
6
6
  type: "boolean",
7
7
  optional: true,
8
8
  clickableType: false,
9
- description: "Puts a border around the card.",
9
+ description: "Adds a border around the card.",
10
10
  default: "false",
11
11
  },
12
12
  {
@@ -15,32 +15,24 @@ export const QCardDocsProps = [
15
15
  optional: true,
16
16
  clickableType: false,
17
17
  description: "Defines the fill color of the card.",
18
- default: "undefined",
18
+ default: "false",
19
19
  },
20
20
  {
21
21
  name: "flat",
22
22
  type: "boolean",
23
23
  optional: true,
24
24
  clickableType: false,
25
- description: "Makes the card flat, removing its elevation.",
25
+ description: "Use the flat design for the card, removing its elevation.",
26
26
  default: "false",
27
27
  },
28
28
  {
29
- name: "round",
29
+ name: "rounded",
30
30
  type: "boolean",
31
31
  optional: true,
32
32
  clickableType: false,
33
- description: "Adds rounded corners to the card.",
33
+ description: "Adds border radius to the card to round its corners.",
34
34
  default: "false",
35
35
  },
36
- {
37
- name: "title",
38
- type: "string",
39
- optional: true,
40
- clickableType: false,
41
- description: "Sets the title of the card.",
42
- default: "undefined",
43
- },
44
36
  ];
45
37
  export const QCardSectionDocsProps = [
46
38
  {
@@ -1,42 +1,36 @@
1
- import type { UseAlignProps } from "../../composables";
2
- import type { NativeProps } from "../../utils";
1
+ import type { UseAlignProps } from "../../composables/useAlign";
3
2
  import type { HTMLAttributes } from "svelte/elements";
4
3
  export type QCardFillColors = "primary" | "secondary" | "tertiary";
5
- export interface QCardProps extends NativeProps, HTMLAttributes<HTMLElement> {
4
+ export interface QCardProps extends HTMLAttributes<HTMLElement> {
6
5
  /**
7
- * Puts a border around the card.
6
+ * Adds a border around the card.
8
7
  * @default false
9
8
  */
10
9
  bordered?: boolean;
11
10
  /**
12
11
  * Defines the fill color of the card.
13
- * @default undefined
12
+ * @default false
14
13
  */
15
14
  fill?: boolean | QCardFillColors;
16
15
  /**
17
- * Makes the card flat, removing its elevation.
16
+ * Use the flat design for the card, removing its elevation.
18
17
  * @default false
19
18
  */
20
19
  flat?: boolean;
21
20
  /**
22
- * Adds rounded corners to the card.
21
+ * Adds border radius to the card to round its corners.
23
22
  * @default false
24
23
  */
25
- round?: boolean;
26
- /**
27
- * Sets the title of the card.
28
- * @default undefined
29
- */
30
- title?: string;
24
+ rounded?: boolean;
31
25
  }
32
- export interface QCardSectionProps extends NativeProps, HTMLAttributes<HTMLDivElement> {
26
+ export interface QCardSectionProps extends HTMLAttributes<HTMLDivElement> {
33
27
  /**
34
28
  * Lays out the section content horizontally.
35
29
  * @default false
36
30
  */
37
31
  horizontal?: boolean;
38
32
  }
39
- export interface QCardActionsProps extends UseAlignProps, NativeProps, HTMLAttributes<HTMLElement> {
33
+ export interface QCardActionsProps extends UseAlignProps, HTMLAttributes<HTMLElement> {
40
34
  /**
41
35
  * Lays out the action items vertically.
42
36
  * @default false
@@ -1,11 +1,12 @@
1
- <script>export let value = false, label = "", disable = false, userClasses = "";
2
- export { userClasses as class };
1
+ <script lang="ts">
2
+ let { value = $bindable(), label = "", disable = false, ...props } = $props();
3
3
  </script>
4
4
 
5
- <label
6
- class="q-checkbox {userClasses}"
5
+ <label
6
+ {...props}
7
+ class="q-checkbox{props.class ? ` ${props.class}` : ''}"
7
8
  class:q-checkbox--disabled={disable}
8
- {...$$restProps}
9
+ aria-disabled={disable || undefined}
9
10
  >
10
11
  <input type="checkbox" bind:checked={value} disabled={disable} />
11
12
  <span>{label}</span>
@@ -1,21 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { QCheckboxProps } from "./props";
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- value?: boolean | undefined;
7
- label?: QCheckboxProps["label"];
8
- disable?: QCheckboxProps["disable"];
9
- class?: string | null | undefined;
10
- };
11
- events: {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {};
15
- };
16
- type QCheckboxProps_ = typeof __propDef.props;
17
- export { QCheckboxProps_ as QCheckboxProps };
18
- export type QCheckboxEvents = typeof __propDef.events;
19
- export type QCheckboxSlots = typeof __propDef.slots;
20
- export default class QCheckbox extends SvelteComponent<QCheckboxProps, QCheckboxEvents, QCheckboxSlots> {
21
- }
2
+ declare const QCheckbox: import("svelte").Component<QCheckboxProps, {}, "value">;
3
+ export default QCheckbox;
@@ -1,2 +1,2 @@
1
1
  import type { QComponentDocs } from "../../utils";
2
- export declare let QCheckboxDocs: QComponentDocs;
2
+ export declare const QCheckboxDocs: QComponentDocs;
@@ -1,5 +1,5 @@
1
1
  import { QCheckboxDocsProps } from "./docs.props";
2
- export let QCheckboxDocs = {
2
+ export const QCheckboxDocs = {
3
3
  name: "QCheckbox",
4
4
  description: "Checkboxes allow the user to select one or more items from a set.",
5
5
  docs: {
@@ -1,5 +1,5 @@
1
1
  // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
- // @quaffHash 9a5ee048cd1eb382844ca517e4e3e645
2
+ // @quaffHash 73905a6da0ecb8bcb3aac7359f8ebd3f
3
3
  export const QCheckboxDocsProps = [
4
4
  {
5
5
  name: "value",
@@ -1,5 +1,7 @@
1
+ @use "$css/mixins";
2
+
1
3
  .q-checkbox {
2
- @include selection(checkbox);
4
+ @include mixins.selection(checkbox);
3
5
 
4
6
  > span::before {
5
7
  content: "check_box_outline_blank";
@@ -1,6 +1,5 @@
1
- import type { NativeProps } from "../../utils";
2
1
  import type { HTMLAttributes } from "svelte/elements";
3
- export interface QCheckboxProps extends NativeProps, HTMLAttributes<HTMLLabelElement> {
2
+ export interface QCheckboxProps extends HTMLAttributes<HTMLLabelElement> {
4
3
  /**
5
4
  * Controls the checked state of the checkbox.
6
5
  */
@@ -0,0 +1,179 @@
1
+ @use "$css/mixins";
2
+ @use "$css/disabled";
3
+
4
+ @layer q-chip {
5
+ .q-chip {
6
+ $state-layer-opacity: 0;
7
+ padding-inline: 1rem;
8
+ border-radius: 0.5rem;
9
+
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: start;
13
+ gap: 0.5rem;
14
+ width: fit-content;
15
+
16
+ background-color: transparent;
17
+ color: var(--on-surface);
18
+
19
+ cursor: pointer;
20
+ user-select: none;
21
+
22
+ @include mixins.typography(label-large);
23
+
24
+ &::before {
25
+ content: "";
26
+ position: absolute;
27
+ top: 0;
28
+ right: 0;
29
+ bottom: 0;
30
+ left: 0;
31
+
32
+ border-radius: inherit;
33
+ background-color: mixins.with-alpha(
34
+ var(--state-layer-color, transparent),
35
+ var(--state-layer-opacity, 0)
36
+ );
37
+ }
38
+
39
+ &:hover:not([aria-disabled]) {
40
+ --state-layer-opacity: 8%;
41
+ }
42
+
43
+ &:focus:not([aria-disabled]) {
44
+ --state-layer-opacity: 10%;
45
+ }
46
+
47
+ &.q-chip--sm {
48
+ height: 2rem;
49
+
50
+ & > :is(.q-icon, .q-avatar) {
51
+ --size: 1.125rem;
52
+ }
53
+ }
54
+
55
+ &.q-chip--md {
56
+ height: 2.5rem;
57
+
58
+ & > :is(.q-icon, .q-avatar) {
59
+ --size: 1.40625rem;
60
+ }
61
+ }
62
+
63
+ &.q-chip--lg {
64
+ height: 3rem;
65
+
66
+ & > :is(.q-icon, .q-avatar) {
67
+ --size: 1.6875rem;
68
+ }
69
+ }
70
+
71
+ &:focus:not([aria-disabled]) {
72
+ outline: 1px solid var(--secondary);
73
+
74
+ & > .q-icon {
75
+ color: var(--on-secondary-container);
76
+ }
77
+ }
78
+
79
+ &.q-chip--outlined {
80
+ outline: 1px solid var(--outline);
81
+
82
+ &:focus:not([aria-disabled]) {
83
+ outline-color: var(--secondary);
84
+ }
85
+ }
86
+
87
+ &.q-chip--elevated {
88
+ @include mixins.elevate(0.5);
89
+
90
+ &:hover:not([aria-disabled]) {
91
+ @include mixins.elevate(1);
92
+ }
93
+
94
+ background-color: var(--surface-container-low);
95
+ }
96
+
97
+ &.q-chip--assist {
98
+ --state-layer-color: var(--on-surface);
99
+ }
100
+
101
+ &.q-chip--filter {
102
+ --state-layer-color: var(--on-surface-variant);
103
+
104
+ &:focus:not([aria-disabled]) {
105
+ outline-color: var(--on-surface-variant);
106
+ }
107
+
108
+ &.q-chip--selected {
109
+ --state-layer-color: var(--on-secondary-container);
110
+
111
+ outline-color: var(--secondary-container);
112
+ outline-width: 0;
113
+
114
+ background-color: var(--secondary-container);
115
+
116
+ &.q-chip--elevated {
117
+ color: var(--on-secondary-container);
118
+ }
119
+
120
+ &:hover:not([aria-disabled]):not([aria-disabled]) {
121
+ @include mixins.elevate(0.5);
122
+ color: var(--on-secondary-container);
123
+ }
124
+ }
125
+ }
126
+
127
+ &.q-chip--input {
128
+ --state-layer-color: var(--on-surface-variant);
129
+
130
+ padding-inline: 0.75rem;
131
+ color: var(--on-surface-variant);
132
+
133
+ & > .q-icon {
134
+ color: var(--on-surface-variant);
135
+ }
136
+ }
137
+
138
+ &.q-chip--suggestion {
139
+ --state-layer-color: var(--on-surface-variant);
140
+
141
+ color: var(--on-surface-variant);
142
+
143
+ &:focus:not([aria-disabled]) {
144
+ outline-color: var(--secondary);
145
+ }
146
+ }
147
+ }
148
+
149
+ .q-chip > .q-icon {
150
+ color: var(--primary);
151
+ }
152
+
153
+ .q-chip > :is(.q-icon.q-chip__leading-icon, .q-avatar.q-chip__avatar) {
154
+ margin-left: -0.5rem;
155
+ }
156
+
157
+ .q-chip > .q-icon.q-chip__trailing-icon {
158
+ margin-right: -0.5rem;
159
+ }
160
+
161
+ .q-chip.q-chip--input > .q-avatar.q-chip__avatar {
162
+ --size: 1.5rem;
163
+ }
164
+ }
165
+
166
+ // Disabled
167
+ @layer q-chip--disabled {
168
+ .q-chip[aria-disabled] {
169
+ @include disabled.base();
170
+
171
+ &.q-chip--outlined {
172
+ outline-color: disabled.rest-color();
173
+ }
174
+
175
+ & .q-icon {
176
+ color: disabled.font-color();
177
+ }
178
+ }
179
+ }
@@ -1,77 +1,105 @@
1
- <script>import { useSize } from "../../composables";
2
- import { ripple } from "../../helpers";
3
- import { isActivationKey } from "../../utils";
4
- import { QIcon } from "../..";
5
- export let content = void 0, icon = void 0, iconRight = void 0, disable = false, responsive = false, vertical = false, round = false, outlined = false, noRipple = false, size = "md", tabindex = void 0, href = void 0, userClasses = "";
6
- export { userClasses as class };
7
- let qChip;
8
- $:
9
- img = icon?.startsWith("img:") ? icon.slice(4) : void 0;
10
- $:
11
- imgRight = iconRight?.startsWith("img:") ? iconRight.slice(4) : void 0;
12
- $:
13
- sizeObj = useSize(size);
14
- $:
15
- tab = disable ? -1 : tabindex ?? 0;
16
- function stopIfDisabled(e) {
17
- if (disable) {
1
+ <script lang="ts">
2
+ import { ripple } from "../../helpers";
3
+ import { extractImgSrc, isActivationKey } from "../../utils";
4
+ import { QAvatar, QIcon } from "../..";
5
+ let {
6
+ kind = "assist",
7
+ label,
8
+ icon,
9
+ trailingIcon,
10
+ disabled = false,
11
+ elevated,
12
+ noRipple = false,
13
+ selected = $bindable(kind === "filter" ? false : void 0),
14
+ size = "sm",
15
+ children,
16
+ ...props
17
+ } = $props();
18
+ let qChip;
19
+ $effect.pre(() => {
20
+ if (selected !== void 0 && kind !== "filter") {
21
+ throw new Error(
22
+ 'Only QChips of kind "filter" can use the "selected" prop.',
23
+ );
24
+ }
25
+ if ((kind === "assist" || kind === "suggestion") && trailingIcon) {
26
+ console.warn(
27
+ 'QChips of kind "assist" and "suggestion" should not have a trailing icon. It will thus be ignored.',
28
+ );
29
+ }
30
+ });
31
+ const trailing = $derived(
32
+ (kind === "assist" || kind === "suggestion") && trailingIcon
33
+ ? void 0
34
+ : trailingIcon,
35
+ );
36
+ const tabindex = disabled ? -1 : props.tabindex || 0;
37
+ const role = $derived(
38
+ ["assist", "filter"].includes(kind) ? "button" : void 0,
39
+ );
40
+ const avatar = $derived(extractImgSrc(icon));
41
+ function stopIfDisabled(e) {
42
+ if (disabled) {
43
+ e.preventDefault();
44
+ e.stopImmediatePropagation();
45
+ return;
46
+ }
47
+ if (kind === "filter") {
48
+ selected = !selected;
49
+ }
50
+ e.stopPropagation();
51
+ props.onclick?.(e);
52
+ }
53
+ function onkeydown(e) {
54
+ if (e.key === "Escape") {
55
+ qChip?.blur();
56
+ return;
57
+ }
58
+ if (!isActivationKey(e)) {
59
+ return;
60
+ }
18
61
  e.preventDefault();
19
- e.stopImmediatePropagation();
62
+ const click = new MouseEvent("click", { relatedTarget: qChip });
63
+ stopIfDisabled(click);
20
64
  }
21
- }
22
- function onKeyDown(e) {
23
- if (!isActivationKey(e))
24
- return;
25
- e.preventDefault();
26
- let click = new MouseEvent("click");
27
- qChip.dispatchEvent(click);
28
- }
29
65
  </script>
30
66
 
31
- <a
67
+ <div
32
68
  bind:this={qChip}
33
- use:ripple={{ disable: noRipple || disable }}
34
- aria-disabled={disable || undefined}
35
- class="q-chip {sizeObj.class && sizeObj.class !== 'md'
36
- ? `q-chip--${sizeObj.class}`
37
- : ''} {userClasses}"
38
- class:q-chip--vertical={vertical}
39
- class:q-chip--rounded={round}
40
- class:q-chip--bordered={outlined || disable}
41
- {href}
42
- tabindex={tab}
43
- on:keydown={onKeyDown}
44
- on:click={stopIfDisabled}
45
- on:click
46
- {...$$restProps}
69
+ use:ripple={{
70
+ disabled: noRipple || disabled,
71
+ color: elevated ? "var(--on-surface-variant)" : undefined,
72
+ }}
73
+ {...props}
74
+ class="q-chip{props.class
75
+ ? ` ${props.class}`
76
+ : ''} q-chip--{kind} q-chip--{size}"
77
+ class:q-chip--selected={selected}
78
+ class:q-chip--elevated={elevated}
79
+ class:q-chip--outlined={!elevated}
80
+ aria-disabled={disabled || undefined}
81
+ {tabindex}
82
+ {role}
83
+ onclick={stopIfDisabled}
84
+ {onkeydown}
47
85
  >
48
- {#if $$slots.leading}
49
- <slot name="leading" />
50
- {:else if img}
51
- <img
52
- class="q-chip__img"
53
- class:q-chip__img--responsive={responsive}
54
- src={img}
55
- alt="{content || 'Slotted'} chip"
56
- />
57
- {:else if icon}
58
- <QIcon name={icon} class="q-chip__icon" />
59
- {/if}
60
- {#if content}
61
- {content}
62
- {:else}
63
- <slot />
86
+ {#if icon && !selected && !avatar}
87
+ <QIcon class="q-chip__leading-icon" name={icon as MaterialSymbol} />
88
+ {:else if avatar && !selected}
89
+ <QAvatar class="q-chip__avatar" src={avatar} />
90
+ {:else if selected}
91
+ <QIcon class="q-chip__leading-icon" name="check" />
64
92
  {/if}
65
- {#if $$slots.trailing}
66
- <slot name="trailing" />
67
- {:else if imgRight}
68
- <img
69
- class="q-chip__img q-chip__img--trailing"
70
- class:q-chip__img--responsive={responsive}
71
- src={imgRight}
72
- alt="{content || 'Slotted'} chip"
73
- />
74
- {:else if iconRight}
75
- <QIcon name={iconRight} class="q-chip__icon" />
93
+
94
+ <div class="q-chip__label">
95
+ {#if label}
96
+ {label}
97
+ {:else}
98
+ {@render children?.()}
99
+ {/if}
100
+ </div>
101
+
102
+ {#if trailing}
103
+ <QIcon class="q-chip__trailing-icon" name={trailing} />
76
104
  {/if}
77
- </a>
105
+ </div>
@@ -1,36 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { QChipProps } from "./props";
3
- 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
- noRipple?: QChipProps["noRipple"];
15
- size?: QChipProps["size"];
16
- tabindex?: QChipProps["tabindex"];
17
- href?: QChipProps["href"];
18
- class?: string | null | undefined;
19
- };
20
- events: {
21
- click: MouseEvent;
22
- } & {
23
- [evt: string]: CustomEvent<any>;
24
- };
25
- slots: {
26
- leading: {};
27
- default: {};
28
- trailing: {};
29
- };
30
- };
31
- type QChipProps_ = typeof __propDef.props;
32
- export { QChipProps_ as QChipProps };
33
- export type QChipEvents = typeof __propDef.events;
34
- export type QChipSlots = typeof __propDef.slots;
35
- export default class QChip extends SvelteComponent<QChipProps, QChipEvents, QChipSlots> {
36
- }
2
+ declare const QChip: import("svelte").Component<QChipProps, {}, "selected">;
3
+ export default QChip;
@@ -1,2 +1,2 @@
1
1
  import type { QComponentDocs } from "../../utils";
2
- export declare let QChipDocs: QComponentDocs;
2
+ export declare const QChipDocs: QComponentDocs;
@@ -1,5 +1,5 @@
1
1
  import { QChipDocsProps } from "./docs.props";
2
- export let QChipDocs = {
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: {