@quaffui/quaff 0.1.0-prealpha9 → 1.0.0-alpha2

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 +27 -0
  10. package/dist/classes/Quaff.svelte.js +91 -0
  11. package/dist/components/avatar/QAvatar.scss +101 -0
  12. package/dist/components/avatar/QAvatar.svelte +42 -42
  13. package/dist/components/avatar/QAvatar.svelte.d.ts +4 -17
  14. package/dist/components/avatar/docs.d.ts +2 -2
  15. package/dist/components/avatar/docs.js +3 -8
  16. package/dist/components/avatar/docs.props.d.ts +3 -8
  17. package/dist/components/avatar/docs.props.js +68 -15
  18. package/dist/components/avatar/index.scss +5 -3
  19. package/dist/components/avatar/props.d.ts +51 -8
  20. package/dist/components/breadcrumbs/QBreadcrumbs.scss +10 -0
  21. package/dist/components/breadcrumbs/QBreadcrumbs.svelte +32 -14
  22. package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +4 -13
  23. package/dist/components/breadcrumbs/QBreadcrumbsEl.scss +10 -0
  24. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +65 -48
  25. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +4 -16
  26. package/dist/components/breadcrumbs/docs.d.ts +2 -2
  27. package/dist/components/breadcrumbs/docs.js +3 -8
  28. package/dist/components/breadcrumbs/docs.props.d.ts +5 -16
  29. package/dist/components/breadcrumbs/docs.props.js +105 -45
  30. package/dist/components/breadcrumbs/props.d.ts +26 -24
  31. package/dist/components/button/QBtn.scss +136 -0
  32. package/dist/components/button/QBtn.svelte +156 -52
  33. package/dist/components/button/QBtn.svelte.d.ts +4 -23
  34. package/dist/components/button/docs.d.ts +2 -2
  35. package/dist/components/button/docs.js +3 -8
  36. package/dist/components/button/docs.props.d.ts +3 -8
  37. package/dist/components/button/docs.props.js +174 -37
  38. package/dist/components/button/props.d.ts +48 -11
  39. package/dist/components/card/QCard.scss +47 -0
  40. package/dist/components/card/QCard.svelte +42 -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 +101 -42
  70. package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +3 -10
  71. package/dist/components/codeBlock/docs.props.d.ts +3 -8
  72. package/dist/components/codeBlock/docs.props.js +61 -12
  73. package/dist/components/codeBlock/props.d.ts +12 -2
  74. package/dist/components/dialog/{index.scss → QDialog.scss} +12 -14
  75. package/dist/components/dialog/QDialog.svelte +85 -78
  76. package/dist/components/dialog/QDialog.svelte.d.ts +9 -24
  77. package/dist/components/dialog/docs.d.ts +2 -2
  78. package/dist/components/dialog/docs.js +3 -3
  79. package/dist/components/dialog/docs.props.d.ts +3 -16
  80. package/dist/components/dialog/docs.props.js +37 -128
  81. package/dist/components/dialog/props.d.ts +4 -19
  82. package/dist/components/drawer/QDrawer.scss +55 -0
  83. package/dist/components/drawer/QDrawer.svelte +334 -88
  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 +90 -47
  89. package/dist/components/drawer/props.d.ts +10 -13
  90. package/dist/components/footer/QFooter.scss +42 -0
  91. package/dist/components/footer/QFooter.svelte +99 -24
  92. package/dist/components/footer/QFooter.svelte.d.ts +4 -14
  93. package/dist/components/footer/docs.d.ts +2 -2
  94. package/dist/components/footer/docs.js +3 -3
  95. package/dist/components/footer/docs.props.d.ts +3 -8
  96. package/dist/components/footer/docs.props.js +47 -16
  97. package/dist/components/footer/props.d.ts +15 -9
  98. package/dist/components/header/QHeader.scss +53 -0
  99. package/dist/components/header/QHeader.svelte +90 -23
  100. package/dist/components/header/QHeader.svelte.d.ts +4 -14
  101. package/dist/components/header/docs.d.ts +2 -0
  102. package/dist/components/header/docs.js +11 -0
  103. package/dist/components/header/docs.props.d.ts +7 -0
  104. package/dist/components/header/docs.props.js +131 -0
  105. package/dist/components/header/props.d.ts +13 -5
  106. package/dist/components/icon/{index.scss → QIcon.scss} +2 -4
  107. package/dist/components/icon/QIcon.svelte +44 -28
  108. package/dist/components/icon/QIcon.svelte.d.ts +4 -18
  109. package/dist/components/icon/docs.d.ts +2 -2
  110. package/dist/components/icon/docs.js +3 -3
  111. package/dist/components/icon/docs.props.d.ts +3 -8
  112. package/dist/components/icon/docs.props.js +65 -24
  113. package/dist/components/icon/props.d.ts +9 -8
  114. package/dist/components/index.d.ts +5 -2
  115. package/dist/components/index.js +5 -2
  116. package/dist/components/input/QInput.svelte +106 -72
  117. package/dist/components/input/QInput.svelte.d.ts +4 -22
  118. package/dist/components/input/docs.d.ts +2 -2
  119. package/dist/components/input/docs.js +5 -71
  120. package/dist/components/input/docs.props.d.ts +3 -8
  121. package/dist/components/input/docs.props.js +129 -57
  122. package/dist/components/input/index.scss +1 -3
  123. package/dist/components/input/props.d.ts +81 -21
  124. package/dist/components/input/props.js +1 -13
  125. package/dist/components/layout/QLayout.scss +184 -0
  126. package/dist/components/layout/QLayout.svelte +178 -79
  127. package/dist/components/layout/QLayout.svelte.d.ts +12 -45
  128. package/dist/components/layout/docs.d.ts +2 -2
  129. package/dist/components/layout/docs.js +3 -3
  130. package/dist/components/layout/docs.props.d.ts +3 -8
  131. package/dist/components/layout/docs.props.js +62 -39
  132. package/dist/components/layout/props.d.ts +29 -21
  133. package/dist/components/list/QItem.scss +69 -0
  134. package/dist/components/list/QItem.svelte +99 -51
  135. package/dist/components/list/QItem.svelte.d.ts +4 -24
  136. package/dist/components/list/QItemSection.scss +60 -0
  137. package/dist/components/list/QItemSection.svelte +63 -37
  138. package/dist/components/list/QItemSection.svelte.d.ts +4 -15
  139. package/dist/components/list/QList.scss +30 -0
  140. package/dist/components/list/QList.svelte +43 -20
  141. package/dist/components/list/QList.svelte.d.ts +4 -26
  142. package/dist/components/list/docs.d.ts +4 -2
  143. package/dist/components/list/docs.js +23 -3
  144. package/dist/components/list/docs.props.d.ts +11 -40
  145. package/dist/components/list/docs.props.js +344 -136
  146. package/dist/components/list/props.d.ts +126 -28
  147. package/dist/components/list/props.js +1 -25
  148. package/dist/components/private/ContextReseter.svelte +15 -11
  149. package/dist/components/private/ContextReseter.svelte.d.ts +4 -8
  150. package/dist/components/private/QApi.svelte +264 -113
  151. package/dist/components/private/QApi.svelte.d.ts +3 -6
  152. package/dist/components/private/QDocs.svelte +131 -70
  153. package/dist/components/private/QDocs.svelte.d.ts +4 -11
  154. package/dist/components/private/QDocsSection.svelte +48 -18
  155. package/dist/components/private/QDocsSection.svelte.d.ts +9 -24
  156. package/dist/components/private/QIconSnippet.svelte +22 -0
  157. package/dist/components/private/QIconSnippet.svelte.d.ts +14 -0
  158. package/dist/components/private/index.d.ts +6 -0
  159. package/dist/components/private/index.js +6 -0
  160. package/dist/components/progress/QCircularProgress.scss +63 -0
  161. package/dist/components/progress/QCircularProgress.svelte +134 -21
  162. package/dist/components/progress/QCircularProgress.svelte.d.ts +3 -11
  163. package/dist/components/progress/QLinearProgress.scss +75 -0
  164. package/dist/components/progress/QLinearProgress.svelte +80 -23
  165. package/dist/components/progress/QLinearProgress.svelte.d.ts +3 -11
  166. package/dist/components/progress/docs.d.ts +3 -2
  167. package/dist/components/progress/docs.js +15 -5
  168. package/dist/components/progress/docs.props.d.ts +5 -16
  169. package/dist/components/progress/docs.props.js +287 -41
  170. package/dist/components/progress/props.d.ts +126 -14
  171. package/dist/components/radio/QRadio.svelte +16 -9
  172. package/dist/components/radio/QRadio.svelte.d.ts +3 -11
  173. package/dist/components/radio/docs.d.ts +2 -2
  174. package/dist/components/radio/docs.js +4 -26
  175. package/dist/components/radio/docs.props.d.ts +3 -8
  176. package/dist/components/radio/docs.props.js +39 -20
  177. package/dist/components/radio/index.scss +3 -1
  178. package/dist/components/radio/props.d.ts +26 -6
  179. package/dist/components/radio/props.js +1 -8
  180. package/dist/components/railbar/QRailbar.scss +54 -0
  181. package/dist/components/railbar/QRailbar.svelte +71 -65
  182. package/dist/components/railbar/QRailbar.svelte.d.ts +4 -13
  183. package/dist/components/railbar/docs.d.ts +2 -2
  184. package/dist/components/railbar/docs.js +3 -3
  185. package/dist/components/railbar/docs.props.d.ts +3 -8
  186. package/dist/components/railbar/docs.props.js +36 -15
  187. package/dist/components/railbar/props.d.ts +13 -6
  188. package/dist/components/select/QSelect.svelte +222 -146
  189. package/dist/components/select/QSelect.svelte.d.ts +4 -24
  190. package/dist/components/select/docs.d.ts +2 -2
  191. package/dist/components/select/docs.js +5 -83
  192. package/dist/components/select/docs.props.d.ts +3 -8
  193. package/dist/components/select/docs.props.js +156 -64
  194. package/dist/components/select/index.scss +25 -10
  195. package/dist/components/select/props.d.ts +100 -20
  196. package/dist/components/select/props.js +1 -14
  197. package/dist/components/separator/QSeparator.scss +54 -0
  198. package/dist/components/separator/QSeparator.svelte +50 -57
  199. package/dist/components/separator/QSeparator.svelte.d.ts +3 -14
  200. package/dist/components/separator/docs.d.ts +3 -2
  201. package/dist/components/separator/docs.js +14 -4
  202. package/dist/components/separator/docs.props.d.ts +5 -16
  203. package/dist/components/separator/docs.props.js +152 -72
  204. package/dist/components/separator/props.d.ts +84 -16
  205. package/dist/components/separator/props.js +1 -9
  206. package/dist/components/switch/QSwitch.scss +305 -0
  207. package/dist/components/switch/QSwitch.svelte +115 -0
  208. package/dist/components/switch/QSwitch.svelte.d.ts +14 -0
  209. package/dist/components/switch/docs.d.ts +2 -0
  210. package/dist/components/switch/docs.js +17 -0
  211. package/dist/components/switch/docs.props.d.ts +3 -0
  212. package/dist/components/switch/docs.props.js +119 -0
  213. package/dist/components/switch/props.d.ts +53 -0
  214. package/dist/components/switch/props.js +1 -0
  215. package/dist/components/table/QTable.svelte +133 -97
  216. package/dist/components/table/QTable.svelte.d.ts +4 -19
  217. package/dist/components/table/docs.d.ts +2 -2
  218. package/dist/components/table/docs.js +3 -3
  219. package/dist/components/table/docs.props.d.ts +3 -8
  220. package/dist/components/table/docs.props.js +67 -15
  221. package/dist/components/table/index.scss +3 -1
  222. package/dist/components/table/props.d.ts +14 -3
  223. package/dist/components/tabs/QTab.scss +71 -0
  224. package/dist/components/tabs/QTab.svelte +101 -88
  225. package/dist/components/tabs/QTab.svelte.d.ts +4 -16
  226. package/dist/components/tabs/QTabs.scss +53 -0
  227. package/dist/components/tabs/QTabs.svelte +163 -46
  228. package/dist/components/tabs/QTabs.svelte.d.ts +9 -13
  229. package/dist/components/tabs/docs.d.ts +3 -2
  230. package/dist/components/tabs/docs.js +13 -3
  231. package/dist/components/tabs/docs.props.d.ts +5 -16
  232. package/dist/components/tabs/docs.props.js +64 -30
  233. package/dist/components/tabs/index.scss +36 -24
  234. package/dist/components/tabs/props.d.ts +38 -9
  235. package/dist/components/tabs/props.js +1 -13
  236. package/dist/components/toolbar/{index.scss → QToolbar.scss} +10 -16
  237. package/dist/components/toolbar/QToolbar.svelte +26 -21
  238. package/dist/components/toolbar/QToolbar.svelte.d.ts +4 -15
  239. package/dist/components/toolbar/QToolbarTitle.svelte +10 -7
  240. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +4 -12
  241. package/dist/components/toolbar/docs.d.ts +3 -2
  242. package/dist/components/toolbar/docs.js +13 -3
  243. package/dist/components/toolbar/docs.props.d.ts +5 -16
  244. package/dist/components/toolbar/docs.props.js +55 -15
  245. package/dist/components/toolbar/props.d.ts +19 -9
  246. package/dist/components/tooltip/QTooltip.scss +40 -0
  247. package/dist/components/tooltip/QTooltip.svelte +200 -10
  248. package/dist/components/tooltip/QTooltip.svelte.d.ts +17 -18
  249. package/dist/components/tooltip/QTooltipBase.svelte +86 -0
  250. package/dist/components/tooltip/QTooltipBase.svelte.d.ts +14 -0
  251. package/dist/components/tooltip/docs.d.ts +2 -2
  252. package/dist/components/tooltip/docs.js +3 -2
  253. package/dist/components/tooltip/docs.props.d.ts +3 -8
  254. package/dist/components/tooltip/docs.props.js +69 -10
  255. package/dist/components/tooltip/props.d.ts +36 -4
  256. package/dist/components/tooltip/props.js +1 -6
  257. package/dist/composables/index.d.ts +3 -0
  258. package/dist/composables/index.js +3 -1
  259. package/dist/composables/{use-align.d.ts → useAlign.d.ts} +1 -1
  260. package/dist/composables/{use-align.js → useAlign.js} +1 -1
  261. package/dist/composables/{use-router-link.d.ts → useRouterLink.d.ts} +3 -3
  262. package/dist/composables/{use-router-link.js → useRouterLink.js} +4 -4
  263. package/dist/composables/useSize.d.ts +10 -0
  264. package/dist/composables/useSize.js +37 -0
  265. package/dist/css/_components.scss +31 -0
  266. package/dist/css/_disabled.scss +18 -0
  267. package/dist/css/{ripple.scss → _ripple.scss} +10 -3
  268. package/dist/css/_variables.scss +73 -0
  269. package/dist/css/classes/_design.scss +57 -0
  270. package/dist/css/{flex.scss → classes/_flex.scss} +23 -2
  271. package/dist/css/classes/_grid.scss +35 -0
  272. package/dist/css/classes/_index.scss +7 -0
  273. package/dist/css/classes/_overflow.scss +7 -0
  274. package/dist/css/classes/_position.scss +7 -0
  275. package/dist/css/classes/_select.scss +6 -0
  276. package/dist/css/classes/_spaces.scss +23 -0
  277. package/dist/css/fonts.scss +18 -4
  278. package/dist/css/index.css +1 -1
  279. package/dist/css/index.scss +13 -93
  280. package/dist/css/mixins/_design.scss +64 -0
  281. package/dist/css/mixins/_field.scss +64 -0
  282. package/dist/css/mixins/_image.scss +64 -0
  283. package/dist/css/mixins/_index.scss +11 -0
  284. package/dist/css/mixins/_layout.scss +20 -0
  285. package/dist/css/mixins/{menu.scss → _menu.scss} +4 -2
  286. package/dist/css/mixins/_responsive.scss +56 -0
  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 +351 -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 +1 -0
  308. package/dist/helpers/ripple.js +31 -16
  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 +3 -0
  322. package/dist/utils/dom.js +14 -4
  323. package/dist/utils/events.d.ts +24 -0
  324. package/dist/utils/events.js +24 -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 +8 -6
  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 -98
  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 -59
  344. package/dist/components/footer/index.scss +0 -28
  345. package/dist/components/layout/index.scss +0 -387
  346. package/dist/components/list/index.scss +0 -121
  347. package/dist/components/progress/index.scss +0 -65
  348. package/dist/components/railbar/index.scss +0 -39
  349. package/dist/components/toggle/QToggle.svelte +0 -35
  350. package/dist/components/toggle/QToggle.svelte.d.ts +0 -23
  351. package/dist/components/toggle/docs.d.ts +0 -2
  352. package/dist/components/toggle/docs.js +0 -47
  353. package/dist/components/toggle/docs.props.d.ts +0 -8
  354. package/dist/components/toggle/docs.props.js +0 -42
  355. package/dist/components/toggle/index.scss +0 -31
  356. package/dist/components/toggle/props.d.ts +0 -9
  357. package/dist/components/toggle/props.js +0 -9
  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 -136
  366. package/dist/css/states.scss +0 -75
  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,26 +1,47 @@
1
+ // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
+ // @quaffHash 8255c97b5a5bc139de14f1cdff7fe373
1
3
  export const QRailbarDocsProps = [
2
4
  {
5
+ isArray: false,
6
+ optional: true,
7
+ isSnippet: false,
3
8
  name: "width",
4
- type: "number | string",
5
- optional: false,
6
- clickableType: true,
7
- description: "",
8
- default: "",
9
+ type: {
10
+ name: "number",
11
+ isClickable: false,
12
+ },
13
+ description: "Width of the railbar in pixels.",
14
+ default: "88",
9
15
  },
10
16
  {
17
+ isArray: false,
18
+ optional: true,
19
+ isSnippet: false,
11
20
  name: "side",
12
- type: '"left" | "right"',
13
- optional: false,
14
- clickableType: false,
15
- description: "",
16
- default: "",
21
+ type: [
22
+ {
23
+ name: '"left"',
24
+ isClickable: false,
25
+ },
26
+ {
27
+ name: '"right"',
28
+ isClickable: false,
29
+ },
30
+ ],
31
+ description: "Position of the railbar on the screen.",
32
+ default: "left",
17
33
  },
18
34
  {
35
+ isArray: false,
36
+ optional: true,
37
+ isSnippet: false,
19
38
  name: "bordered",
20
- type: "boolean",
21
- optional: false,
22
- clickableType: false,
23
- description: "",
24
- default: "",
39
+ type: {
40
+ name: "boolean",
41
+ isClickable: false,
42
+ },
43
+ description: "Adds a border to the railbar to separate it from the main content.",
44
+ default: "false",
25
45
  },
26
46
  ];
47
+ export const QRailbarDocsSnippets = [];
@@ -1,15 +1,22 @@
1
- import type { NativeProps, CssValue } from "../../utils/types";
2
- export interface QRailbarProps extends NativeProps {
1
+ import type { NativeProps } from "../../utils";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ export interface QRailbarProps extends NativeProps, HTMLAttributes<HTMLElement> {
3
4
  /**
4
- * @default 88px
5
+ * Width of the railbar in pixels.
6
+ *
7
+ * @default 88
5
8
  */
6
- width: CssValue | number;
9
+ width?: number;
7
10
  /**
11
+ * Position of the railbar on the screen.
12
+ *
8
13
  * @default left
9
14
  */
10
- side: "left" | "right";
15
+ side?: "left" | "right";
11
16
  /**
17
+ * Adds a border to the railbar to separate it from the main content.
18
+ *
12
19
  * @default false
13
20
  */
14
- bordered: boolean;
21
+ bordered?: boolean;
15
22
  }
@@ -1,161 +1,237 @@
1
- <script>import QIcon from "../icon/QIcon.svelte";
2
- import { onDestroy, onMount } from "svelte";
3
- import { createClasses } from "../../utils/props";
4
- import { textWidth } from "../../utils/fields";
5
- import { browser } from "$app/environment";
6
- 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;
7
- export { userClasses as class };
8
- let active = false;
9
- $:
10
- active = value?.length > 0;
11
- $:
12
- hasBorder = bordered || rounded || outlined;
13
- $:
14
- classes = createClasses(
15
- [
16
- "q-select",
17
- label && "label",
18
- active && "active",
19
- dense && "dense",
20
- $$slots.prepend && "prepend",
21
- $$slots.append && "append",
22
- hasBorder && "has-border",
23
- rounded && "rounded",
24
- filled && "filled",
25
- error && "error",
26
- disable && "disabled"
27
- ],
28
- {
29
- component: "q-select",
30
- userClasses
1
+ <script lang="ts">
2
+ import { onDestroy, onMount } from "svelte";
3
+ import { browser } from "$app/environment";
4
+ import { QIcon } from "../..";
5
+ import type { QEvent } from "../../utils";
6
+ import type {
7
+ QSelectMultipleValue,
8
+ QSelectOption,
9
+ QSelectProps,
10
+ } from "./props";
11
+
12
+ type QSelectEvent<T> = QEvent<T, HTMLDivElement>;
13
+
14
+ let {
15
+ options,
16
+ multiple = false,
17
+ dense = false,
18
+ disable = false,
19
+ error = false,
20
+ errorMessage = undefined,
21
+ filled = false,
22
+ hint = undefined,
23
+ label = undefined,
24
+ outlined = false,
25
+ rounded = false,
26
+ displayValue,
27
+ before = undefined,
28
+ prepend = undefined,
29
+ append = undefined,
30
+ after = undefined,
31
+ value = $bindable(),
32
+ ...props
33
+ }: QSelectProps = $props();
34
+
35
+ let focus = $state(false);
36
+
37
+ const currentDisplayValue = $derived.by(() => {
38
+ if (displayValue !== undefined) {
39
+ return displayValue;
31
40
  }
32
- );
33
- let wrapper = null;
34
- let inputElement = null;
35
- let isMenuOpen = false;
36
- let wasClicked = false;
37
- let preventClose = false;
38
- $:
39
- value && updateInput(inputElement);
40
- function updateInput(target) {
41
- const input = target;
42
- if (!wrapper || !input) {
43
- return;
41
+
42
+ if (!multiple) {
43
+ return value;
44
+ }
45
+
46
+ return (value as QSelectMultipleValue).join(", ");
47
+ });
48
+
49
+ const active = $derived(currentDisplayValue || focus);
50
+
51
+ let wrapper: HTMLDivElement | null = $state(null);
52
+ let isMenuOpen = $state(false);
53
+ let wasClicked = $state(false);
54
+ let preventClose = $state(false);
55
+
56
+ function handleMousedown(e: QSelectEvent<MouseEvent>) {
57
+ isMenuOpen = !isMenuOpen;
58
+ wasClicked = true;
59
+ props.onmousedown?.(e);
44
60
  }
45
- const label2 = wrapper.querySelector("label");
46
- const isBorder = hasBorder && !filled;
47
- if (active) {
48
- if (isBorder && label2) {
49
- const labelWidth = textWidth(label2, "0.75rem Arial");
50
- let width = active ? labelWidth : Math.round(labelWidth / 1.33);
51
- width = width / 16;
52
- const start = rounded ? 1.25 : 0.75;
53
- const end = width + start + 0.5;
54
- 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%)`;
55
- } else
56
- input.style.clipPath = "";
57
- } else {
58
- input.style.clipPath = "";
61
+
62
+ function handleFocus(e: QSelectEvent<FocusEvent>) {
63
+ focus = true;
64
+ if (!wasClicked) {
65
+ isMenuOpen = true;
66
+ }
67
+
68
+ wasClicked = false;
69
+ props.onfocus?.(e);
59
70
  }
60
- }
61
- function handleMousedown() {
62
- isMenuOpen = !isMenuOpen;
63
- wasClicked = true;
64
- }
65
- function handleFocus(target) {
66
- if (!wasClicked) {
67
- isMenuOpen = true;
71
+
72
+ function handleBlur(e: QSelectEvent<FocusEvent>) {
73
+ focus = false;
74
+
75
+ if (!multiple && !preventClose) {
76
+ isMenuOpen = false;
77
+ }
78
+ preventClose = false;
79
+ props.onblur?.(e);
68
80
  }
69
- wasClicked = false;
70
- updateInput(target);
71
- }
72
- function handleBlur(target) {
73
- if (!multiple && !preventClose) {
74
- isMenuOpen = false;
81
+
82
+ const selectedOptions: boolean[] = $derived(
83
+ options.map((option) => isSelected(option), value),
84
+ );
85
+
86
+ let snippetPrependWidth = $state(0);
87
+
88
+ function isSelected(option: QSelectOption) {
89
+ const optionValue = typeof option === "string" ? option : option.value;
90
+ return multiple
91
+ ? (value as QSelectMultipleValue).includes(optionValue)
92
+ : value === optionValue;
75
93
  }
76
- preventClose = false;
77
- updateInput(target);
78
- }
79
- let selectedOptions = [];
80
- $:
81
- selectedOptions = options.map((option) => isSelected(option), value);
82
- function isSelected(option) {
83
- const optionValue = typeof option === "string" ? option : option.value;
84
- return multiple ? value.includes(optionValue) : value === optionValue;
85
- }
86
- function select(evt, option) {
87
- evt.preventDefault();
88
- const optionValue = typeof option === "string" ? option : option.value;
89
- if (multiple) {
90
- const hasItem = value.some((entry) => entry === optionValue);
91
- if (hasItem) {
92
- value = value.filter((val) => val !== optionValue);
93
- } else {
94
- value = [...value, optionValue];
94
+
95
+ function select(evt: MouseEvent, option: QSelectOption) {
96
+ evt.preventDefault();
97
+ const optionValue = typeof option === "string" ? option : option.value;
98
+
99
+ if (multiple) {
100
+ const hasItem = (value as QSelectMultipleValue).some(
101
+ (entry) => entry === optionValue,
102
+ );
103
+
104
+ if (hasItem) {
105
+ (value as QSelectMultipleValue) = (
106
+ value as QSelectMultipleValue
107
+ ).filter((val) => val !== optionValue);
108
+ } else {
109
+ (value as QSelectMultipleValue) = [
110
+ ...(value as QSelectMultipleValue),
111
+ optionValue,
112
+ ];
113
+ }
114
+
115
+ return;
95
116
  }
96
- return;
97
- }
98
- value = optionValue;
99
- isMenuOpen = false;
100
- }
101
- function handleClickOutside(event) {
102
- if (wrapper && !wrapper.contains(event.target)) {
117
+
118
+ value = optionValue;
103
119
  isMenuOpen = false;
104
120
  }
105
- }
106
- onMount(() => {
107
- if (browser) {
108
- window.document.addEventListener("click", handleClickOutside);
109
- }
110
- });
111
- onDestroy(() => {
112
- if (browser) {
113
- document.removeEventListener("click", handleClickOutside);
121
+
122
+ function handleClickOutside(event: MouseEvent) {
123
+ if (wrapper && !wrapper.contains(event.target as Node)) {
124
+ isMenuOpen = false;
125
+ }
114
126
  }
115
- });
116
- </script>
117
127
 
118
- <div bind:this={wrapper} class={classes} {...$$restProps}>
119
- <slot name="prepend" />
120
-
121
- <input
122
- type="text"
123
- on:focus={(e) => handleFocus(e.currentTarget)}
124
- on:blur={(e) => handleBlur(e.currentTarget)}
125
- on:mousedown={() => handleMousedown()}
126
- bind:value
127
- bind:this={inputElement}
128
- tabindex={disable === true ? -1 : 0}
129
- readonly
130
- disabled={disable}
131
- />
132
-
133
- <QIcon
134
- class="q-select__arrow-toggle {$$slots.append ? 'q-select__arrow-toggle--has-append' : ''}"
135
- name={`arrow_drop_${isMenuOpen ? "up" : "down"}`}
136
- />
137
-
138
- <slot name="append" />
139
-
140
- <div class="q-select__menu {isMenuOpen ? 'q-select__menu--active' : ''}">
141
- {#each options as option, idx}
142
- <a
143
- href={multiple ? "javascript:void(0)" : undefined}
144
- class="q-select__option {selectedOptions[idx] ? 'q-select__option--selected' : ''}"
145
- on:mousedown={() => (preventClose = true)}
146
- on:click={(e) => select(e, option)}>{typeof option === "string" ? option : option.value}</a
147
- >
148
- {/each}
149
- </div>
128
+ onMount(() => {
129
+ if (browser) {
130
+ window.document.addEventListener("click", handleClickOutside);
131
+ }
132
+ });
150
133
 
151
- {#if label}
152
- <!-- svelte-ignore a11y-label-has-associated-control -->
153
- <label class="q-select__label {active ? 'q-select__label--active' : ''}">{label}</label>
134
+ onDestroy(() => {
135
+ if (browser) {
136
+ document.removeEventListener("click", handleClickOutside);
137
+ }
138
+ });
139
+
140
+ // q-field here, q-select in classes
141
+ </script>
142
+
143
+ <div
144
+ bind:this={wrapper}
145
+ {...props}
146
+ class={[
147
+ "q-field",
148
+ props.class,
149
+ "q-select",
150
+ !outlined && !rounded && !filled && "q-field--default",
151
+ outlined && "q-field--outlined",
152
+ rounded && "q-field--rounded",
153
+ filled && "q-field--filled",
154
+ (outlined || rounded) && "q-field--has-border",
155
+ dense && "q-field--dense",
156
+ active && "q-field--active",
157
+ focus && "q-field--focus",
158
+ label && "q-field--label",
159
+ !!append && "q-field--snippet-append",
160
+ !!prepend && "q-field--snippet-prepend",
161
+ disable && "q-field--disable",
162
+ error && "q-field--error",
163
+ (hint || (error && errorMessage)) && "q-field--bottom-space",
164
+ ]}
165
+ style:--snippet-prepend-width="{snippetPrependWidth}px"
166
+ data-quaff
167
+ >
168
+ {#if before}
169
+ <div class="q-field__snippet-before">
170
+ {@render before()}
171
+ </div>
154
172
  {/if}
155
173
 
156
- {#if hint}
157
- <span class="q-select__helper">{hint}</span>
158
- {:else if error && errorMessage}
159
- <span class="q-select__error">{errorMessage}</span>
174
+ <div class="q-field__inner">
175
+ <label class="q-field__wrapper">
176
+ {#if prepend}
177
+ <div
178
+ class="q-field__snippet-prepend"
179
+ bind:clientWidth={snippetPrependWidth}
180
+ >
181
+ {@render prepend()}
182
+ </div>
183
+ {/if}
184
+
185
+ <input
186
+ class="q-field__input"
187
+ value={currentDisplayValue}
188
+ placeholder=""
189
+ onfocus={handleFocus}
190
+ onblur={handleBlur}
191
+ onmousedown={handleMousedown}
192
+ disabled={disable}
193
+ tabindex={disable === true ? -1 : 0}
194
+ readonly
195
+ />
196
+
197
+ <span class="q-field__label">{label}</span>
198
+
199
+ <div class="q-field__snippet-append">
200
+ {@render append?.()}
201
+
202
+ <QIcon
203
+ class="q-select__arrow-toggle {append
204
+ ? 'q-select__arrow-toggle--has-append'
205
+ : ''}"
206
+ name={`arrow_drop_${isMenuOpen ? "up" : "down"}`}
207
+ />
208
+ </div>
209
+ </label>
210
+
211
+ <div class="q-select__menu {isMenuOpen ? 'q-select__menu--active' : ''}">
212
+ {#each options as option, idx (idx)}
213
+ <a
214
+ href={multiple ? "javascript:void(0)" : undefined}
215
+ class="q-select__option {selectedOptions[idx]
216
+ ? 'q-select__option--selected'
217
+ : ''}"
218
+ onmousedown={() => (preventClose = true)}
219
+ onclick={(e) => select(e, option)}
220
+ >{typeof option === "string" ? option : option.value}</a
221
+ >
222
+ {/each}
223
+ </div>
224
+
225
+ {#if error && errorMessage}
226
+ <div class="q-field__error">{errorMessage}</div>
227
+ {:else if hint}
228
+ <div class="q-field__hint">{hint}</div>
229
+ {/if}
230
+ </div>
231
+
232
+ {#if after}
233
+ <div class="q-field__snippet-after">
234
+ {@render after()}
235
+ </div>
160
236
  {/if}
161
237
  </div>
@@ -1,34 +1,14 @@
1
- import { SvelteComponent } from "svelte";
2
- import type { QSelectProps } from "./props";
1
+ import { SvelteComponentTyped } from "svelte";
3
2
  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
- };
3
+ props: Record<string, never>;
21
4
  events: {
22
5
  [evt: string]: CustomEvent<any>;
23
6
  };
24
- slots: {
25
- prepend: {};
26
- append: {};
27
- };
7
+ slots: {};
28
8
  };
29
9
  type QSelectProps_ = typeof __propDef.props;
30
10
  export { QSelectProps_ as QSelectProps };
31
11
  export type QSelectEvents = typeof __propDef.events;
32
12
  export type QSelectSlots = typeof __propDef.slots;
33
- export default class QSelect extends SvelteComponent<QSelectProps, QSelectEvents, QSelectSlots> {
13
+ export default class QSelect extends SvelteComponentTyped<QSelectProps_, QSelectEvents, QSelectSlots> {
34
14
  }
@@ -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,88 +1,10 @@
1
- export let QSelectDocs = {
1
+ import { QSelectDocsProps, QSelectDocsSnippets } from "./docs.props";
2
+ export const QSelectDocs = {
2
3
  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.",
4
+ 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
5
  docs: {
5
- props: [
6
- {
7
- name: "value",
8
- type: "string | string[]",
9
- default: "",
10
- description: "Current value(s) of the select component.",
11
- },
12
- {
13
- name: "multiple",
14
- type: "boolean",
15
- default: false,
16
- description: "Whether the select component supports multiple selection.",
17
- },
18
- {
19
- name: "options",
20
- type: "QSelectOption[]",
21
- description: "Options available for selection.",
22
- clickableType: true,
23
- },
24
- {
25
- name: "bordered",
26
- type: "boolean",
27
- default: false,
28
- description: "Whether the select component has a border.",
29
- },
30
- {
31
- name: "disable",
32
- type: "boolean",
33
- default: false,
34
- description: "Whether the select component is disabled.",
35
- },
36
- {
37
- name: "error",
38
- type: "boolean",
39
- default: false,
40
- description: "Whether the select component is in an error state.",
41
- },
42
- {
43
- name: "errorMessage",
44
- type: "string",
45
- optional: true,
46
- description: "Custom error message to show when the select component is in an error state.",
47
- },
48
- {
49
- name: "filled",
50
- type: "boolean",
51
- default: false,
52
- description: "Whether the select component has a filled style.",
53
- },
54
- {
55
- name: "hint",
56
- type: "string",
57
- optional: true,
58
- description: "Hint text to show under the select component.",
59
- },
60
- {
61
- name: "label",
62
- type: "string",
63
- optional: true,
64
- description: "Label for the select component.",
65
- },
66
- {
67
- name: "outlined",
68
- type: "boolean",
69
- default: false,
70
- description: "Whether the select component has an outlined style.",
71
- },
72
- {
73
- name: "rounded",
74
- type: "boolean",
75
- default: false,
76
- description: "Whether the select component has rounded corners.",
77
- },
78
- {
79
- name: "dense",
80
- type: "boolean",
81
- optional: true,
82
- description: "Whether the select component has a smaller (dense) size.",
83
- },
84
- ],
85
- slots: [],
6
+ props: QSelectDocsProps,
7
+ snippets: QSelectDocsSnippets,
86
8
  methods: [],
87
9
  events: [
88
10
  {
@@ -1,8 +1,3 @@
1
- export declare const QSelectDocsProps: {
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 QSelectDocsProps: ParsedProp[];
3
+ export declare const QSelectDocsSnippets: ParsedSnippet[];