@quaffui/quaff 0.1.0-prealpha2 → 0.1.0-prealpha20

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 (355) 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 -41
  12. package/dist/components/avatar/QAvatar.svelte.d.ts +2 -26
  13. package/dist/components/avatar/docs.d.ts +2 -2
  14. package/dist/components/avatar/docs.js +1 -1
  15. package/dist/components/avatar/docs.props.js +22 -4
  16. package/dist/components/avatar/index.scss +6 -1
  17. package/dist/components/avatar/props.d.ts +25 -7
  18. package/dist/components/avatar/props.js +1 -1
  19. package/dist/components/breadcrumbs/QBreadcrumbs.scss +10 -0
  20. package/dist/components/breadcrumbs/QBreadcrumbs.svelte +23 -14
  21. package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +2 -22
  22. package/dist/components/breadcrumbs/QBreadcrumbsEl.scss +10 -0
  23. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +64 -48
  24. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +2 -25
  25. package/dist/components/breadcrumbs/docs.d.ts +2 -2
  26. package/dist/components/breadcrumbs/docs.js +1 -1
  27. package/dist/components/breadcrumbs/docs.props.js +28 -26
  28. package/dist/components/breadcrumbs/props.d.ts +26 -24
  29. package/dist/components/button/QBtn.scss +133 -0
  30. package/dist/components/button/QBtn.svelte +94 -41
  31. package/dist/components/button/QBtn.svelte.d.ts +2 -31
  32. package/dist/components/button/docs.d.ts +2 -2
  33. package/dist/components/button/docs.js +1 -1
  34. package/dist/components/button/docs.props.js +47 -13
  35. package/dist/components/button/props.d.ts +35 -13
  36. package/dist/components/card/QCard.scss +25 -0
  37. package/dist/components/card/QCard.svelte +27 -19
  38. package/dist/components/card/QCard.svelte.d.ts +2 -25
  39. package/dist/components/card/QCardActions.scss +10 -0
  40. package/dist/components/card/QCardActions.svelte +14 -15
  41. package/dist/components/card/QCardActions.svelte.d.ts +2 -21
  42. package/dist/components/card/QCardSection.scss +10 -0
  43. package/dist/components/card/QCardSection.svelte +11 -11
  44. package/dist/components/card/QCardSection.svelte.d.ts +2 -22
  45. package/dist/components/card/docs.d.ts +4 -4
  46. package/dist/components/card/docs.js +3 -3
  47. package/dist/components/card/docs.props.js +9 -15
  48. package/dist/components/card/props.d.ts +11 -16
  49. package/dist/components/checkbox/QCheckbox.svelte +8 -9
  50. package/dist/components/checkbox/QCheckbox.svelte.d.ts +2 -20
  51. package/dist/components/checkbox/docs.d.ts +2 -2
  52. package/dist/components/checkbox/docs.js +1 -1
  53. package/dist/components/checkbox/docs.props.js +2 -0
  54. package/dist/components/checkbox/index.scss +7 -1
  55. package/dist/components/checkbox/props.d.ts +2 -2
  56. package/dist/components/chip/QChip.scss +179 -0
  57. package/dist/components/chip/QChip.svelte +98 -55
  58. package/dist/components/chip/QChip.svelte.d.ts +2 -34
  59. package/dist/components/chip/docs.d.ts +2 -2
  60. package/dist/components/chip/docs.js +1 -1
  61. package/dist/components/chip/docs.props.js +28 -42
  62. package/dist/components/chip/props.d.ts +25 -32
  63. package/dist/components/codeBlock/QCodeBlock.svelte +64 -45
  64. package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +2 -22
  65. package/dist/components/codeBlock/docs.props.js +11 -1
  66. package/dist/components/codeBlock/props.d.ts +8 -2
  67. package/dist/components/dialog/QDialog.scss +177 -0
  68. package/dist/components/dialog/QDialog.svelte +77 -70
  69. package/dist/components/dialog/QDialog.svelte.d.ts +6 -36
  70. package/dist/components/dialog/docs.d.ts +2 -2
  71. package/dist/components/dialog/docs.js +1 -1
  72. package/dist/components/dialog/docs.props.d.ts +0 -8
  73. package/dist/components/dialog/docs.props.js +4 -108
  74. package/dist/components/dialog/props.d.ts +3 -18
  75. package/dist/components/drawer/QDrawer.scss +45 -0
  76. package/dist/components/drawer/QDrawer.svelte +91 -81
  77. package/dist/components/drawer/QDrawer.svelte.d.ts +6 -38
  78. package/dist/components/drawer/docs.d.ts +2 -2
  79. package/dist/components/drawer/docs.js +1 -1
  80. package/dist/components/drawer/docs.props.js +4 -2
  81. package/dist/components/drawer/props.d.ts +4 -3
  82. package/dist/components/footer/QFooter.scss +42 -0
  83. package/dist/components/footer/QFooter.svelte +67 -12
  84. package/dist/components/footer/QFooter.svelte.d.ts +2 -23
  85. package/dist/components/footer/docs.d.ts +2 -2
  86. package/dist/components/footer/docs.js +1 -1
  87. package/dist/components/footer/docs.props.js +13 -3
  88. package/dist/components/footer/props.d.ts +9 -5
  89. package/dist/components/header/QHeader.scss +54 -0
  90. package/dist/components/header/QHeader.svelte +56 -0
  91. package/dist/components/header/QHeader.svelte.d.ts +3 -0
  92. package/dist/components/header/docs.props.d.ts +24 -0
  93. package/dist/components/header/docs.props.js +88 -0
  94. package/dist/components/header/props.d.ts +23 -0
  95. package/dist/components/header/props.js +1 -0
  96. package/dist/components/icon/QIcon.scss +73 -0
  97. package/dist/components/icon/QIcon.svelte +32 -30
  98. package/dist/components/icon/QIcon.svelte.d.ts +2 -27
  99. package/dist/components/icon/docs.d.ts +2 -2
  100. package/dist/components/icon/docs.js +1 -1
  101. package/dist/components/icon/docs.props.js +11 -9
  102. package/dist/components/icon/props.d.ts +9 -8
  103. package/dist/components/index.d.ts +5 -2
  104. package/dist/components/index.js +5 -2
  105. package/dist/components/input/QInput.svelte +88 -72
  106. package/dist/components/input/QInput.svelte.d.ts +3 -32
  107. package/dist/components/input/docs.d.ts +2 -2
  108. package/dist/components/input/docs.js +2 -8
  109. package/dist/components/input/docs.props.js +39 -13
  110. package/dist/components/input/index.scss +1 -3
  111. package/dist/components/input/props.d.ts +13 -21
  112. package/dist/components/input/props.js +1 -13
  113. package/dist/components/layout/QLayout.scss +178 -0
  114. package/dist/components/layout/QLayout.svelte +101 -81
  115. package/dist/components/layout/QLayout.svelte.d.ts +17 -43
  116. package/dist/components/layout/docs.d.ts +2 -2
  117. package/dist/components/layout/docs.js +1 -1
  118. package/dist/components/layout/docs.props.js +65 -7
  119. package/dist/components/layout/props.d.ts +18 -9
  120. package/dist/components/list/QItem.scss +61 -0
  121. package/dist/components/list/QItem.svelte +73 -51
  122. package/dist/components/list/QItem.svelte.d.ts +2 -33
  123. package/dist/components/list/QItemSection.scss +45 -0
  124. package/dist/components/list/QItemSection.svelte +50 -37
  125. package/dist/components/list/QItemSection.svelte.d.ts +2 -24
  126. package/dist/components/list/QList.scss +30 -0
  127. package/dist/components/list/QList.svelte +30 -20
  128. package/dist/components/list/QList.svelte.d.ts +2 -35
  129. package/dist/components/list/docs.d.ts +2 -0
  130. package/dist/components/list/docs.js +11 -0
  131. package/dist/components/list/docs.props.js +79 -29
  132. package/dist/components/list/props.d.ts +24 -20
  133. package/dist/components/list/props.js +1 -25
  134. package/dist/components/private/ContextReseter.svelte +6 -11
  135. package/dist/components/private/ContextReseter.svelte.d.ts +6 -18
  136. package/dist/components/private/QApi.svelte +117 -93
  137. package/dist/components/private/QApi.svelte.d.ts +5 -17
  138. package/dist/components/private/QDocs.svelte +78 -41
  139. package/dist/components/private/QDocs.svelte.d.ts +10 -21
  140. package/dist/components/private/QDocsSection.svelte +16 -24
  141. package/dist/components/private/QDocsSection.svelte.d.ts +7 -29
  142. package/dist/components/private/QIconSnippet.svelte +12 -0
  143. package/dist/components/private/QIconSnippet.svelte.d.ts +8 -0
  144. package/dist/components/progress/QCircularProgress.scss +63 -0
  145. package/dist/components/progress/QCircularProgress.svelte +106 -20
  146. package/dist/components/progress/QCircularProgress.svelte.d.ts +2 -21
  147. package/dist/components/progress/QLinearProgress.scss +75 -0
  148. package/dist/components/progress/QLinearProgress.svelte +59 -17
  149. package/dist/components/progress/QLinearProgress.svelte.d.ts +2 -21
  150. package/dist/components/progress/docs.d.ts +2 -0
  151. package/dist/components/progress/docs.js +11 -0
  152. package/dist/components/progress/docs.props.d.ts +8 -0
  153. package/dist/components/progress/docs.props.js +181 -9
  154. package/dist/components/progress/props.d.ts +98 -17
  155. package/dist/components/progress/props.js +1 -7
  156. package/dist/components/radio/QRadio.svelte +14 -9
  157. package/dist/components/radio/QRadio.svelte.d.ts +2 -21
  158. package/dist/components/radio/docs.d.ts +2 -2
  159. package/dist/components/radio/docs.js +1 -1
  160. package/dist/components/radio/docs.props.js +6 -4
  161. package/dist/components/radio/index.scss +3 -1
  162. package/dist/components/radio/props.d.ts +5 -6
  163. package/dist/components/radio/props.js +1 -8
  164. package/dist/components/railbar/QRailbar.scss +54 -0
  165. package/dist/components/railbar/QRailbar.svelte +45 -49
  166. package/dist/components/railbar/QRailbar.svelte.d.ts +2 -22
  167. package/dist/components/railbar/docs.d.ts +2 -0
  168. package/dist/components/railbar/docs.js +11 -0
  169. package/dist/components/railbar/docs.props.js +10 -8
  170. package/dist/components/railbar/props.d.ts +15 -6
  171. package/dist/components/railbar/props.js +1 -7
  172. package/dist/components/select/QSelect.svelte +171 -140
  173. package/dist/components/select/QSelect.svelte.d.ts +2 -33
  174. package/dist/components/select/docs.d.ts +2 -2
  175. package/dist/components/select/docs.js +9 -8
  176. package/dist/components/select/docs.props.js +47 -13
  177. package/dist/components/select/index.scss +28 -7
  178. package/dist/components/select/props.d.ts +16 -20
  179. package/dist/components/select/props.js +1 -14
  180. package/dist/components/separator/QSeparator.scss +54 -0
  181. package/dist/components/separator/QSeparator.svelte +39 -57
  182. package/dist/components/separator/QSeparator.svelte.d.ts +2 -24
  183. package/dist/components/separator/docs.d.ts +2 -0
  184. package/dist/components/separator/docs.js +11 -0
  185. package/dist/components/separator/docs.props.js +16 -14
  186. package/dist/components/separator/props.d.ts +13 -14
  187. package/dist/components/separator/props.js +1 -9
  188. package/dist/components/switch/QSwitch.scss +305 -0
  189. package/dist/components/switch/QSwitch.svelte +96 -0
  190. package/dist/components/switch/QSwitch.svelte.d.ts +3 -0
  191. package/dist/components/switch/docs.d.ts +2 -0
  192. package/dist/components/{toggle → switch}/docs.js +3 -3
  193. package/dist/components/{toggle → switch}/docs.props.d.ts +1 -1
  194. package/dist/components/switch/docs.props.js +68 -0
  195. package/dist/components/switch/props.d.ts +13 -0
  196. package/dist/components/switch/props.js +1 -0
  197. package/dist/components/table/QTable.svelte +99 -94
  198. package/dist/components/table/QTable.svelte.d.ts +2 -28
  199. package/dist/components/table/docs.d.ts +2 -2
  200. package/dist/components/table/docs.js +1 -1
  201. package/dist/components/table/docs.props.js +11 -1
  202. package/dist/components/table/index.scss +3 -1
  203. package/dist/components/table/props.d.ts +14 -3
  204. package/dist/components/tabs/QTab.scss +71 -0
  205. package/dist/components/tabs/QTab.svelte +80 -66
  206. package/dist/components/tabs/QTab.svelte.d.ts +2 -27
  207. package/dist/components/tabs/QTabs.scss +40 -0
  208. package/dist/components/tabs/QTabs.svelte +114 -51
  209. package/dist/components/tabs/QTabs.svelte.d.ts +7 -22
  210. package/dist/components/tabs/docs.d.ts +2 -0
  211. package/dist/components/tabs/docs.js +11 -0
  212. package/dist/components/tabs/docs.props.js +10 -16
  213. package/dist/components/tabs/index.scss +71 -28
  214. package/dist/components/tabs/props.d.ts +9 -9
  215. package/dist/components/tabs/props.js +1 -13
  216. package/dist/components/toolbar/QToolbar.svelte +20 -37
  217. package/dist/components/toolbar/QToolbar.svelte.d.ts +2 -22
  218. package/dist/components/toolbar/QToolbarTitle.svelte +11 -0
  219. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +3 -0
  220. package/dist/components/toolbar/docs.d.ts +2 -0
  221. package/dist/components/toolbar/docs.js +11 -0
  222. package/dist/components/toolbar/docs.props.d.ts +8 -0
  223. package/dist/components/toolbar/docs.props.js +33 -5
  224. package/dist/components/toolbar/index.scss +34 -1
  225. package/dist/components/toolbar/props.d.ts +24 -5
  226. package/dist/components/toolbar/props.js +1 -6
  227. package/dist/components/tooltip/QTooltip.svelte +8 -12
  228. package/dist/components/tooltip/QTooltip.svelte.d.ts +2 -21
  229. package/dist/components/tooltip/docs.d.ts +2 -0
  230. package/dist/components/tooltip/docs.js +11 -0
  231. package/dist/components/tooltip/docs.props.js +3 -1
  232. package/dist/components/tooltip/index.scss +80 -2
  233. package/dist/components/tooltip/props.d.ts +4 -3
  234. package/dist/components/tooltip/props.js +1 -1
  235. package/dist/composables/index.d.ts +3 -0
  236. package/dist/composables/index.js +3 -1
  237. package/dist/composables/{use-align.d.ts → useAlign.d.ts} +1 -1
  238. package/dist/composables/useAlign.js +23 -0
  239. package/dist/composables/{use-router-link.d.ts → useRouterLink.d.ts} +3 -3
  240. package/dist/composables/{use-router-link.js → useRouterLink.js} +4 -5
  241. package/dist/composables/useSize.d.ts +10 -0
  242. package/dist/composables/useSize.js +37 -0
  243. package/dist/composables/useSizeLegacy.d.ts +9 -0
  244. package/dist/composables/useSizeLegacy.js +25 -0
  245. package/dist/css/_components.scss +31 -0
  246. package/dist/css/_disabled.scss +18 -0
  247. package/dist/css/_ripple.scss +49 -0
  248. package/dist/css/_variables.scss +73 -0
  249. package/dist/css/classes/_design.scss +57 -0
  250. package/dist/css/classes/_flex.scss +62 -0
  251. package/dist/css/classes/_grid.scss +35 -0
  252. package/dist/css/classes/_index.scss +7 -0
  253. package/dist/css/classes/_overflow.scss +7 -0
  254. package/dist/css/classes/_position.scss +7 -0
  255. package/dist/css/classes/_select.scss +6 -0
  256. package/dist/css/classes/_spaces.scss +23 -0
  257. package/dist/css/flex.scss +41 -0
  258. package/dist/css/fonts.scss +17 -0
  259. package/dist/css/index.css +1 -0
  260. package/dist/css/index.scss +15 -111
  261. package/dist/css/mixins/_design.scss +63 -0
  262. package/dist/css/mixins/_field.scss +64 -0
  263. package/dist/css/mixins/_image.scss +63 -0
  264. package/dist/css/mixins/_index.scss +9 -0
  265. package/dist/css/mixins/_layout.scss +20 -0
  266. package/dist/css/mixins/{menu.scss → _menu.scss} +6 -2
  267. package/dist/css/mixins/{selection.scss → _selection.scss} +7 -67
  268. package/dist/css/mixins/_spaces.scss +36 -0
  269. package/dist/css/mixins/_typography.scss +7 -0
  270. package/dist/css/shared/q-field.scss +348 -0
  271. package/dist/css/theme/_colors.scss +173 -0
  272. package/dist/css/theme/colors.module.scss +261 -109
  273. package/dist/css/theme/css-variables.scss +5 -0
  274. package/dist/css/theme/elevate.scss +57 -0
  275. package/dist/css/theme/page.scss +16 -0
  276. package/dist/css/theme/palette.scss +653 -0
  277. package/dist/css/theme/reset.scss +56 -0
  278. package/dist/css/theme/theme.scss +7 -2
  279. package/dist/css/theme/tokens.scss +0 -159
  280. package/dist/css/theme/typography.scss +111 -0
  281. package/dist/global.d.ts +1 -2
  282. package/dist/helpers/clickOutside.d.ts +2 -2
  283. package/dist/helpers/clickOutside.js +5 -4
  284. package/dist/helpers/index.d.ts +1 -1
  285. package/dist/helpers/index.js +1 -1
  286. package/dist/helpers/ripple.d.ts +11 -0
  287. package/dist/helpers/ripple.js +90 -0
  288. package/dist/helpers/version.d.ts +2 -0
  289. package/dist/helpers/version.js +1 -0
  290. package/dist/index.d.ts +3 -1
  291. package/dist/index.js +3 -1
  292. package/dist/stores/index.d.ts +0 -0
  293. package/dist/stores/index.js +1 -0
  294. package/dist/utils/clipboard.d.ts +1 -1
  295. package/dist/utils/clipboard.js +3 -4
  296. package/dist/utils/colors.d.ts +71 -0
  297. package/dist/utils/colors.js +103 -15
  298. package/dist/utils/dom.d.ts +11 -0
  299. package/dist/utils/dom.js +81 -0
  300. package/dist/utils/events.d.ts +13 -0
  301. package/dist/utils/events.js +13 -0
  302. package/dist/utils/index.d.ts +8 -0
  303. package/dist/utils/index.js +8 -1
  304. package/dist/utils/number.d.ts +2 -0
  305. package/dist/utils/number.js +9 -0
  306. package/dist/utils/props.d.ts +4 -4
  307. package/dist/utils/props.js +9 -7
  308. package/dist/utils/router.d.ts +17 -0
  309. package/dist/utils/router.js +23 -0
  310. package/dist/utils/string.d.ts +1 -0
  311. package/dist/utils/string.js +4 -1
  312. package/dist/utils/types.d.ts +12 -4
  313. package/dist/utils/types.js +0 -3
  314. package/dist/utils/types.json +27 -1
  315. package/dist/utils/watchable.d.ts +0 -1
  316. package/dist/utils/watchable.js +1 -1
  317. package/package.json +45 -37
  318. package/dist/components/breadcrumbs/index.scss +0 -20
  319. package/dist/components/button/index.scss +0 -78
  320. package/dist/components/card/index.scss +0 -53
  321. package/dist/components/chip/index.scss +0 -83
  322. package/dist/components/dialog/index.scss +0 -27
  323. package/dist/components/drawer/index.scss +0 -54
  324. package/dist/components/footer/index.scss +0 -5
  325. package/dist/components/icon/index.scss +0 -18
  326. package/dist/components/layout/index.scss +0 -370
  327. package/dist/components/list/index.scss +0 -114
  328. package/dist/components/progress/index.scss +0 -50
  329. package/dist/components/toggle/QToggle.svelte +0 -35
  330. package/dist/components/toggle/QToggle.svelte.d.ts +0 -23
  331. package/dist/components/toggle/docs.d.ts +0 -2
  332. package/dist/components/toggle/docs.props.js +0 -42
  333. package/dist/components/toggle/index.scss +0 -31
  334. package/dist/components/toggle/props.d.ts +0 -9
  335. package/dist/components/toggle/props.js +0 -9
  336. package/dist/composables/use-align.js +0 -12
  337. package/dist/composables/use-index.d.ts +0 -2
  338. package/dist/composables/use-index.js +0 -17
  339. package/dist/composables/use-size.d.ts +0 -11
  340. package/dist/composables/use-size.js +0 -13
  341. package/dist/css/grid.scss +0 -65
  342. package/dist/css/mixins/field.scss +0 -430
  343. package/dist/css/mixins.scss +0 -135
  344. package/dist/css/states.scss +0 -70
  345. package/dist/css/theme/theme.dark.scss +0 -36
  346. package/dist/css/theme/theme.light.scss +0 -36
  347. package/dist/helpers/activationHandler.d.ts +0 -9
  348. package/dist/helpers/activationHandler.js +0 -23
  349. package/dist/stores/QTheme.d.ts +0 -42
  350. package/dist/stores/QTheme.js +0 -53
  351. package/dist/stores/Quaff.d.ts +0 -32
  352. package/dist/stores/Quaff.js +0 -52
  353. package/dist/utils/fields.d.ts +0 -1
  354. package/dist/utils/fields.js +0 -14
  355. /package/dist/css/mixins/{table.scss → _table.scss} +0 -0
@@ -1,23 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { QRailbarProps } from "./props";
3
- declare const __propDef: {
4
- props: {
5
- width?: string | number | undefined;
6
- side?: "left" | "right" | undefined;
7
- bordered?: boolean | undefined;
8
- class?: string | undefined;
9
- style?: string | undefined;
10
- };
11
- events: {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {
15
- default: {};
16
- };
17
- };
18
- type QRailbarProps_ = typeof __propDef.props;
19
- export { QRailbarProps_ as QRailbarProps };
20
- export type QRailbarEvents = typeof __propDef.events;
21
- export type QRailbarSlots = typeof __propDef.slots;
22
- export default class QRailbar extends SvelteComponent<QRailbarProps, QRailbarEvents, QRailbarSlots> {
23
- }
2
+ declare const QRailbar: import("svelte").Component<QRailbarProps, {}, "">;
3
+ export default QRailbar;
@@ -0,0 +1,2 @@
1
+ import type { QComponentDocs } from "../../utils";
2
+ export declare const QRailbarDocs: QComponentDocs;
@@ -0,0 +1,11 @@
1
+ import { QRailbarDocsProps } from "./docs.props";
2
+ export const QRailbarDocs = {
3
+ name: "QRailbar",
4
+ description: "Railbars are used to provide navigation between different sections or views within an application.",
5
+ docs: {
6
+ props: QRailbarDocsProps,
7
+ slots: [],
8
+ methods: [],
9
+ events: [],
10
+ },
11
+ };
@@ -1,26 +1,28 @@
1
+ // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
+ // @quaffHash 3226afb5e510d1c50908cbef451b54ac
1
3
  export const QRailbarDocsProps = [
2
4
  {
3
5
  name: "width",
4
- type: "number | string",
5
- optional: false,
6
- clickableType: true,
6
+ type: "number",
7
+ optional: true,
8
+ clickableType: false,
7
9
  description: "",
8
- default: "",
10
+ default: "88",
9
11
  },
10
12
  {
11
13
  name: "side",
12
14
  type: '"left" | "right"',
13
- optional: false,
15
+ optional: true,
14
16
  clickableType: false,
15
17
  description: "",
16
- default: "",
18
+ default: "left",
17
19
  },
18
20
  {
19
21
  name: "bordered",
20
22
  type: "boolean",
21
- optional: false,
23
+ optional: true,
22
24
  clickableType: false,
23
25
  description: "",
24
- default: "",
26
+ default: "false",
25
27
  },
26
28
  ];
@@ -1,7 +1,16 @@
1
- import { type NativeProps } from "../../utils/types";
2
- export interface QRailbarProps extends NativeProps {
3
- width: number | string;
4
- side: "left" | "right";
5
- bordered: boolean;
1
+ import type { NativeProps } from "../../utils";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ export interface QRailbarProps extends NativeProps, HTMLAttributes<HTMLElement> {
4
+ /**
5
+ * @default 88
6
+ */
7
+ width?: number;
8
+ /**
9
+ * @default left
10
+ */
11
+ side?: "left" | "right";
12
+ /**
13
+ * @default false
14
+ */
15
+ bordered?: boolean;
6
16
  }
7
- export declare const QRailbarPropsDefaults: QRailbarProps;
@@ -1,7 +1 @@
1
- import { NativePropsDefaults } from "../../utils/types";
2
- export const QRailbarPropsDefaults = {
3
- width: 88,
4
- side: "left",
5
- bordered: false,
6
- ...NativePropsDefaults,
7
- };
1
+ export {};
@@ -1,159 +1,190 @@
1
- <script>import { onDestroy, onMount } from "svelte";
2
- import { createClasses } from "../../utils/props";
3
- import { textWidth } from "../../utils/fields";
4
- import { browser } from "$app/environment";
5
- export let options, multiple = false, bordered = false, dense = false, disable = false, error = false, errorMessage = void 0, filled = false, hint = void 0, label = void 0, outlined = false, rounded = false, value, userClasses = void 0;
6
- export { userClasses as class };
7
- let active = false;
8
- $:
9
- active = value?.length > 0;
10
- $:
11
- hasBorder = bordered || rounded || outlined;
12
- $:
13
- classes = createClasses(
14
- [
15
- "q-select",
16
- label && "label",
17
- active && "active",
18
- dense && "dense",
19
- $$slots.prepend && "prepend",
20
- $$slots.append && "append",
21
- hasBorder && "has-border",
22
- rounded && "rounded",
23
- filled && "filled",
24
- error && "error",
25
- disable && "disabled"
26
- ],
27
- {
28
- component: "q-select",
29
- userClasses
1
+ <script lang="ts">
2
+ import { onMount, onDestroy } from "svelte";
3
+ import { browser } from "$app/environment";
4
+ import { QIcon } from "../..";
5
+ let {
6
+ options,
7
+ multiple = false,
8
+ dense = false,
9
+ disable = false,
10
+ error = false,
11
+ errorMessage = void 0,
12
+ filled = false,
13
+ hint = void 0,
14
+ label = void 0,
15
+ outlined = false,
16
+ rounded = false,
17
+ displayValue,
18
+ before = void 0,
19
+ prepend = void 0,
20
+ append = void 0,
21
+ after = void 0,
22
+ value = $bindable(),
23
+ ...props
24
+ } = $props();
25
+ let focus = $state(false);
26
+ const currentDisplayValue = $derived.by(() => {
27
+ if (displayValue !== void 0) {
28
+ return displayValue;
30
29
  }
31
- );
32
- let wrapper = null;
33
- let inputElement = null;
34
- let isMenuOpen = false;
35
- let wasClicked = false;
36
- let preventClose = false;
37
- $:
38
- value && updateInput(inputElement);
39
- function updateInput(target) {
40
- const input = target;
41
- if (!wrapper || !input) {
42
- return;
30
+ if (!multiple) {
31
+ return value;
32
+ }
33
+ return value.join(", ");
34
+ });
35
+ const active = $derived(currentDisplayValue || focus);
36
+ let wrapper = $state(null);
37
+ let isMenuOpen = $state(false);
38
+ let wasClicked = $state(false);
39
+ let preventClose = $state(false);
40
+ function handleMousedown(e) {
41
+ isMenuOpen = !isMenuOpen;
42
+ wasClicked = true;
43
+ props.onmousedown?.(e);
43
44
  }
44
- const label2 = wrapper.querySelector("label");
45
- const isBorder = hasBorder && !filled;
46
- if (active) {
47
- if (isBorder && label2) {
48
- const labelWidth = textWidth(label2, "0.75rem Arial");
49
- let width = active ? labelWidth : Math.round(labelWidth / 1.33);
50
- width = width / 16;
51
- const start = rounded ? 1.25 : 0.75;
52
- const end = width + start + 0.5;
53
- input.style.clipPath = `polygon(0% 0%, ${start}rem 0%, ${start}rem 0.5rem, ${end}rem 0.5rem, ${end}rem 0%, 100% 0%, 100% 100%, 0% 100%)`;
54
- } else
55
- input.style.clipPath = "";
56
- } else {
57
- input.style.clipPath = "";
45
+ function handleFocus(e) {
46
+ focus = true;
47
+ if (!wasClicked) {
48
+ isMenuOpen = true;
49
+ }
50
+ wasClicked = false;
51
+ props.onfocus?.(e);
58
52
  }
59
- }
60
- function handleMousedown() {
61
- isMenuOpen = !isMenuOpen;
62
- wasClicked = true;
63
- }
64
- function handleFocus(target) {
65
- if (!wasClicked) {
66
- isMenuOpen = true;
53
+ function handleBlur(e) {
54
+ focus = false;
55
+ if (!multiple && !preventClose) {
56
+ isMenuOpen = false;
57
+ }
58
+ preventClose = false;
59
+ props.onblur?.(e);
67
60
  }
68
- wasClicked = false;
69
- updateInput(target);
70
- }
71
- function handleBlur(target) {
72
- if (!multiple && !preventClose) {
73
- isMenuOpen = false;
61
+ const selectedOptions = $derived(
62
+ options.map((option) => isSelected(option), value),
63
+ );
64
+ let snippetPrependWidth = $state(0);
65
+ function isSelected(option) {
66
+ const optionValue = typeof option === "string" ? option : option.value;
67
+ return multiple ? value.includes(optionValue) : value === optionValue;
74
68
  }
75
- preventClose = false;
76
- updateInput(target);
77
- }
78
- let selectedOptions = [];
79
- $:
80
- selectedOptions = options.map((option) => isSelected(option), value);
81
- function isSelected(option) {
82
- const optionValue = typeof option === "string" ? option : option.value;
83
- return multiple ? value.includes(optionValue) : value === optionValue;
84
- }
85
- function select(evt, option) {
86
- evt.preventDefault();
87
- const optionValue = typeof option === "string" ? option : option.value;
88
- if (multiple) {
89
- const hasItem = value.some((entry) => entry === optionValue);
90
- if (hasItem) {
91
- value = value.filter((val) => val !== optionValue);
92
- } else {
93
- value = [...value, optionValue];
69
+ function select(evt, option) {
70
+ evt.preventDefault();
71
+ const optionValue = typeof option === "string" ? option : option.value;
72
+ if (multiple) {
73
+ const hasItem = value.some((entry) => entry === optionValue);
74
+ if (hasItem) {
75
+ value = value.filter((val) => val !== optionValue);
76
+ } else {
77
+ value = [...value, optionValue];
78
+ }
79
+ return;
94
80
  }
95
- return;
96
- }
97
- value = optionValue;
98
- isMenuOpen = false;
99
- }
100
- function handleClickOutside(event) {
101
- if (wrapper && !wrapper.contains(event.target)) {
81
+ value = optionValue;
102
82
  isMenuOpen = false;
103
83
  }
104
- }
105
- onMount(() => {
106
- if (browser) {
107
- window.document.addEventListener("click", handleClickOutside);
108
- }
109
- });
110
- onDestroy(() => {
111
- if (browser) {
112
- document.removeEventListener("click", handleClickOutside);
84
+ function handleClickOutside(event) {
85
+ if (wrapper && !wrapper.contains(event.target)) {
86
+ isMenuOpen = false;
87
+ }
113
88
  }
114
- });
89
+ onMount(() => {
90
+ if (browser) {
91
+ window.document.addEventListener("click", handleClickOutside);
92
+ }
93
+ });
94
+ onDestroy(() => {
95
+ if (browser) {
96
+ document.removeEventListener("click", handleClickOutside);
97
+ }
98
+ });
115
99
  </script>
116
100
 
117
- <div bind:this={wrapper} class={classes} {...$$restProps}>
118
- <slot name="prepend" />
101
+ <div
102
+ bind:this={wrapper}
103
+ {...props}
104
+ class="q-field{props.class ? ` ${props.class}` : ''} q-select"
105
+ class:q-field--default={!outlined && !rounded && !filled}
106
+ class:q-field--outlined={outlined}
107
+ class:q-field--rounded={rounded}
108
+ class:q-field--filled={filled}
109
+ class:q-field--has-border={outlined || rounded}
110
+ class:q-field--dense={dense}
111
+ class:q-field--active={active}
112
+ class:q-field--focus={focus}
113
+ class:q-field--label={label}
114
+ class:q-field--snippet-append={!!append}
115
+ class:q-field--snippet-prepend={!!prepend}
116
+ class:q-field--disable={disable}
117
+ class:q-field--error={error}
118
+ class:q-field--bottom-space={hint || (error && errorMessage)}
119
+ style:--snippet-prepend-width="{snippetPrependWidth}px"
120
+ >
121
+ {#if before}
122
+ <div class="q-field__snippet-before">
123
+ {@render before()}
124
+ </div>
125
+ {/if}
119
126
 
120
- <input
121
- type="text"
122
- on:focus={(e) => handleFocus(e.currentTarget)}
123
- on:blur={(e) => handleBlur(e.currentTarget)}
124
- on:mousedown={() => handleMousedown()}
125
- bind:value
126
- bind:this={inputElement}
127
- tabindex={disable === true ? -1 : 0}
128
- readonly
129
- disabled={disable}
130
- />
127
+ <div class="q-field__inner">
128
+ <label class="q-field__wrapper">
129
+ {#if prepend}
130
+ <div
131
+ class="q-field__snippet-prepend"
132
+ bind:clientWidth={snippetPrependWidth}
133
+ >
134
+ {@render prepend()}
135
+ </div>
136
+ {/if}
131
137
 
132
- <i class="q-select__arrow-toggle" class:q-select__arrow-toggle--has-append={$$slots.append}
133
- >{`arrow_drop_${isMenuOpen ? "up" : "down"}`}</i
134
- >
138
+ <input
139
+ class="q-field__input"
140
+ value={currentDisplayValue}
141
+ placeholder=""
142
+ onfocus={handleFocus}
143
+ onblur={handleBlur}
144
+ onmousedown={handleMousedown}
145
+ disabled={disable}
146
+ tabindex={disable === true ? -1 : 0}
147
+ readonly
148
+ />
135
149
 
136
- <slot name="append" />
150
+ <span class="q-field__label">{label}</span>
137
151
 
138
- <div class="q-select__menu {isMenuOpen ? 'q-select__menu--active' : ''}">
139
- {#each options as option, idx}
140
- <a
141
- href={multiple ? "javascript:void(0)" : undefined}
142
- class="q-select__option {selectedOptions[idx] ? 'q-select__option--selected' : ''}"
143
- on:mousedown={() => (preventClose = true)}
144
- on:click={(e) => select(e, option)}>{typeof option === "string" ? option : option.value}</a
145
- >
146
- {/each}
147
- </div>
152
+ <div class="q-field__snippet-append">
153
+ {@render append?.()}
148
154
 
149
- {#if label}
150
- <!-- svelte-ignore a11y-label-has-associated-control -->
151
- <label class="q-select__label {active ? 'q-select__label--active' : ''}">{label}</label>
152
- {/if}
155
+ <QIcon
156
+ class="q-select__arrow-toggle {append
157
+ ? 'q-select__arrow-toggle--has-append'
158
+ : ''}"
159
+ name={`arrow_drop_${isMenuOpen ? "up" : "down"}`}
160
+ />
161
+ </div>
162
+ </label>
163
+
164
+ <div class="q-select__menu {isMenuOpen ? 'q-select__menu--active' : ''}">
165
+ {#each options as option, idx}
166
+ <a
167
+ href={multiple ? "javascript:void(0)" : undefined}
168
+ class="q-select__option {selectedOptions[idx]
169
+ ? 'q-select__option--selected'
170
+ : ''}"
171
+ onmousedown={() => (preventClose = true)}
172
+ onclick={(e) => select(e, option)}
173
+ >{typeof option === "string" ? option : option.value}</a
174
+ >
175
+ {/each}
176
+ </div>
177
+
178
+ {#if error && errorMessage}
179
+ <div class="q-field__error">{errorMessage}</div>
180
+ {:else if hint}
181
+ <div class="q-field__hint">{hint}</div>
182
+ {/if}
183
+ </div>
153
184
 
154
- {#if hint}
155
- <span class="q-select__helper">{hint}</span>
156
- {:else if error && errorMessage}
157
- <span class="q-select__error">{errorMessage}</span>
185
+ {#if after}
186
+ <div class="q-field__snippet-after">
187
+ {@render after()}
188
+ </div>
158
189
  {/if}
159
190
  </div>
@@ -1,34 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { QSelectProps } from "./props";
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- options: QSelectProps["options"];
7
- multiple?: QSelectProps["multiple"];
8
- bordered?: QSelectProps["bordered"];
9
- dense?: QSelectProps["dense"];
10
- disable?: boolean | undefined;
11
- error?: boolean | undefined;
12
- errorMessage?: QSelectProps["errorMessage"];
13
- filled?: boolean | undefined;
14
- hint?: QSelectProps["hint"];
15
- label?: QSelectProps["label"];
16
- outlined?: QSelectProps["outlined"];
17
- rounded?: QSelectProps["rounded"];
18
- value: QSelectProps["value"];
19
- class?: string | undefined;
20
- };
21
- events: {
22
- [evt: string]: CustomEvent<any>;
23
- };
24
- slots: {
25
- prepend: {};
26
- append: {};
27
- };
28
- };
29
- type QSelectProps_ = typeof __propDef.props;
30
- export { QSelectProps_ as QSelectProps };
31
- export type QSelectEvents = typeof __propDef.events;
32
- export type QSelectSlots = typeof __propDef.slots;
33
- export default class QSelect extends SvelteComponent<QSelectProps, QSelectEvents, QSelectSlots> {
34
- }
2
+ declare const QSelect: import("svelte").Component<QSelectProps, {}, "value">;
3
+ export default QSelect;
@@ -1,2 +1,2 @@
1
- import type { QComponentDocs } from "$utils/types";
2
- export declare let QSelectDocs: QComponentDocs;
1
+ import type { QComponentDocs } from "../../utils";
2
+ export declare const QSelectDocs: QComponentDocs;
@@ -1,6 +1,6 @@
1
- export let QSelectDocs = {
1
+ export const QSelectDocs = {
2
2
  name: "QSelect",
3
- description: "QSelect is a form component that allows users to choose from multiple options in a dropdown list. It supports single and multiple selection, as well as different visual styles such as bordered, filled, outlined, and rounded.",
3
+ description: "QSelect is a form component that allows users to choose from multiple options in a dropdown list. It supports single and multiple selection, as well as different visual styles such as filled, outlined, and rounded.",
4
4
  docs: {
5
5
  props: [
6
6
  {
@@ -21,18 +21,19 @@ export let QSelectDocs = {
21
21
  description: "Options available for selection.",
22
22
  clickableType: true,
23
23
  },
24
- {
25
- name: "bordered",
26
- type: "boolean",
27
- default: false,
28
- description: "Whether the select component has a border.",
29
- },
30
24
  {
31
25
  name: "disable",
32
26
  type: "boolean",
33
27
  default: false,
34
28
  description: "Whether the select component is disabled.",
35
29
  },
30
+ {
31
+ name: "displayValue",
32
+ type: "string",
33
+ default: undefined,
34
+ optional: true,
35
+ description: "Custom display value to show instead of the plain option(s).",
36
+ },
36
37
  {
37
38
  name: "error",
38
39
  type: "boolean",
@@ -1,9 +1,11 @@
1
+ // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
+ // @quaffHash 052485ca1338f87a8ffcdfe3b6718e97
1
3
  export const QSelectDocsProps = [
2
4
  {
3
5
  name: "value",
4
- type: "string | string[]",
6
+ type: "QSelectValue",
5
7
  optional: false,
6
- clickableType: false,
8
+ clickableType: true,
7
9
  description: "",
8
10
  default: "",
9
11
  },
@@ -23,14 +25,6 @@ export const QSelectDocsProps = [
23
25
  description: "",
24
26
  default: "",
25
27
  },
26
- {
27
- name: "bordered",
28
- type: "boolean",
29
- optional: true,
30
- clickableType: false,
31
- description: "",
32
- default: "",
33
- },
34
28
  {
35
29
  name: "dense",
36
30
  type: "boolean",
@@ -42,7 +36,7 @@ export const QSelectDocsProps = [
42
36
  {
43
37
  name: "disable",
44
38
  type: "boolean",
45
- optional: false,
39
+ optional: true,
46
40
  clickableType: false,
47
41
  description: "",
48
42
  default: "",
@@ -50,7 +44,7 @@ export const QSelectDocsProps = [
50
44
  {
51
45
  name: "error",
52
46
  type: "boolean",
53
- optional: false,
47
+ optional: true,
54
48
  clickableType: false,
55
49
  description: "",
56
50
  default: "",
@@ -66,7 +60,7 @@ export const QSelectDocsProps = [
66
60
  {
67
61
  name: "filled",
68
62
  type: "boolean",
69
- optional: false,
63
+ optional: true,
70
64
  clickableType: false,
71
65
  description: "",
72
66
  default: "",
@@ -103,4 +97,44 @@ export const QSelectDocsProps = [
103
97
  description: "",
104
98
  default: "",
105
99
  },
100
+ {
101
+ name: "displayValue",
102
+ type: "string",
103
+ optional: true,
104
+ clickableType: false,
105
+ description: "",
106
+ default: "",
107
+ },
108
+ {
109
+ name: "before",
110
+ type: "Snippet",
111
+ optional: true,
112
+ clickableType: true,
113
+ description: "",
114
+ default: "",
115
+ },
116
+ {
117
+ name: "prepend",
118
+ type: "Snippet",
119
+ optional: true,
120
+ clickableType: true,
121
+ description: "",
122
+ default: "",
123
+ },
124
+ {
125
+ name: "append",
126
+ type: "Snippet",
127
+ optional: true,
128
+ clickableType: true,
129
+ description: "",
130
+ default: "",
131
+ },
132
+ {
133
+ name: "after",
134
+ type: "Snippet",
135
+ optional: true,
136
+ clickableType: true,
137
+ description: "",
138
+ default: "",
139
+ },
106
140
  ];