@quaffui/quaff 0.1.0-prealpha9 → 1.0.0-alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +47 -14
  3. package/dist/classes/QContext.svelte.d.ts +42 -0
  4. package/dist/classes/QContext.svelte.js +63 -0
  5. package/dist/classes/QScrollObserver.svelte.d.ts +48 -0
  6. package/dist/classes/QScrollObserver.svelte.js +107 -0
  7. package/dist/classes/QTheme.svelte.d.ts +13 -0
  8. package/dist/classes/QTheme.svelte.js +62 -0
  9. package/dist/classes/Quaff.svelte.d.ts +15 -0
  10. package/dist/classes/Quaff.svelte.js +45 -0
  11. package/dist/components/avatar/QAvatar.scss +101 -0
  12. package/dist/components/avatar/QAvatar.svelte +42 -42
  13. package/dist/components/avatar/QAvatar.svelte.d.ts +4 -17
  14. package/dist/components/avatar/docs.d.ts +2 -2
  15. package/dist/components/avatar/docs.js +3 -8
  16. package/dist/components/avatar/docs.props.d.ts +3 -8
  17. package/dist/components/avatar/docs.props.js +68 -15
  18. package/dist/components/avatar/index.scss +5 -3
  19. package/dist/components/avatar/props.d.ts +51 -8
  20. package/dist/components/breadcrumbs/QBreadcrumbs.scss +10 -0
  21. package/dist/components/breadcrumbs/QBreadcrumbs.svelte +32 -14
  22. package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +4 -13
  23. package/dist/components/breadcrumbs/QBreadcrumbsEl.scss +10 -0
  24. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +65 -48
  25. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +4 -16
  26. package/dist/components/breadcrumbs/docs.d.ts +2 -2
  27. package/dist/components/breadcrumbs/docs.js +3 -8
  28. package/dist/components/breadcrumbs/docs.props.d.ts +5 -16
  29. package/dist/components/breadcrumbs/docs.props.js +105 -45
  30. package/dist/components/breadcrumbs/props.d.ts +26 -24
  31. package/dist/components/button/QBtn.scss +136 -0
  32. package/dist/components/button/QBtn.svelte +156 -52
  33. package/dist/components/button/QBtn.svelte.d.ts +4 -23
  34. package/dist/components/button/docs.d.ts +2 -2
  35. package/dist/components/button/docs.js +3 -8
  36. package/dist/components/button/docs.props.d.ts +3 -8
  37. package/dist/components/button/docs.props.js +174 -37
  38. package/dist/components/button/props.d.ts +48 -11
  39. package/dist/components/card/QCard.scss +25 -0
  40. package/dist/components/card/QCard.svelte +34 -19
  41. package/dist/components/card/QCard.svelte.d.ts +4 -16
  42. package/dist/components/card/QCardActions.scss +10 -0
  43. package/dist/components/card/QCardActions.svelte +23 -15
  44. package/dist/components/card/QCardActions.svelte.d.ts +4 -12
  45. package/dist/components/card/QCardSection.scss +10 -0
  46. package/dist/components/card/QCardSection.svelte +15 -11
  47. package/dist/components/card/QCardSection.svelte.d.ts +4 -13
  48. package/dist/components/card/docs.d.ts +4 -4
  49. package/dist/components/card/docs.js +7 -22
  50. package/dist/components/card/docs.props.d.ts +7 -24
  51. package/dist/components/card/docs.props.js +57 -30
  52. package/dist/components/card/props.d.ts +11 -16
  53. package/dist/components/checkbox/QCheckbox.svelte +15 -9
  54. package/dist/components/checkbox/QCheckbox.svelte.d.ts +3 -10
  55. package/dist/components/checkbox/docs.d.ts +2 -2
  56. package/dist/components/checkbox/docs.js +3 -3
  57. package/dist/components/checkbox/docs.props.d.ts +3 -8
  58. package/dist/components/checkbox/docs.props.js +24 -9
  59. package/dist/components/checkbox/index.scss +3 -1
  60. package/dist/components/checkbox/props.d.ts +2 -2
  61. package/dist/components/chip/QChip.scss +179 -0
  62. package/dist/components/chip/QChip.svelte +130 -60
  63. package/dist/components/chip/QChip.svelte.d.ts +4 -25
  64. package/dist/components/chip/docs.d.ts +2 -2
  65. package/dist/components/chip/docs.js +3 -16
  66. package/dist/components/chip/docs.props.d.ts +3 -8
  67. package/dist/components/chip/docs.props.js +96 -49
  68. package/dist/components/chip/props.d.ts +27 -29
  69. package/dist/components/codeBlock/QCodeBlock.svelte +90 -44
  70. package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +3 -10
  71. package/dist/components/codeBlock/docs.props.d.ts +3 -8
  72. package/dist/components/codeBlock/docs.props.js +61 -12
  73. package/dist/components/codeBlock/props.d.ts +12 -2
  74. package/dist/components/dialog/{index.scss → QDialog.scss} +12 -14
  75. package/dist/components/dialog/QDialog.svelte +85 -78
  76. package/dist/components/dialog/QDialog.svelte.d.ts +9 -24
  77. package/dist/components/dialog/docs.d.ts +2 -2
  78. package/dist/components/dialog/docs.js +3 -3
  79. package/dist/components/dialog/docs.props.d.ts +3 -16
  80. package/dist/components/dialog/docs.props.js +37 -128
  81. package/dist/components/dialog/props.d.ts +4 -19
  82. package/dist/components/drawer/QDrawer.scss +39 -0
  83. package/dist/components/drawer/QDrawer.svelte +138 -90
  84. package/dist/components/drawer/QDrawer.svelte.d.ts +9 -28
  85. package/dist/components/drawer/docs.d.ts +2 -2
  86. package/dist/components/drawer/docs.js +3 -3
  87. package/dist/components/drawer/docs.props.d.ts +3 -8
  88. package/dist/components/drawer/docs.props.js +94 -39
  89. package/dist/components/drawer/props.d.ts +4 -3
  90. package/dist/components/footer/QFooter.scss +42 -0
  91. package/dist/components/footer/QFooter.svelte +99 -24
  92. package/dist/components/footer/QFooter.svelte.d.ts +4 -14
  93. package/dist/components/footer/docs.d.ts +2 -2
  94. package/dist/components/footer/docs.js +3 -3
  95. package/dist/components/footer/docs.props.d.ts +3 -8
  96. package/dist/components/footer/docs.props.js +47 -16
  97. package/dist/components/footer/props.d.ts +15 -9
  98. package/dist/components/header/QHeader.scss +53 -0
  99. package/dist/components/header/QHeader.svelte +90 -23
  100. package/dist/components/header/QHeader.svelte.d.ts +4 -14
  101. package/dist/components/header/docs.d.ts +2 -0
  102. package/dist/components/header/docs.js +11 -0
  103. package/dist/components/header/docs.props.d.ts +7 -0
  104. package/dist/components/header/docs.props.js +131 -0
  105. package/dist/components/header/props.d.ts +13 -5
  106. package/dist/components/icon/{index.scss → QIcon.scss} +2 -4
  107. package/dist/components/icon/QIcon.svelte +44 -28
  108. package/dist/components/icon/QIcon.svelte.d.ts +4 -18
  109. package/dist/components/icon/docs.d.ts +2 -2
  110. package/dist/components/icon/docs.js +3 -3
  111. package/dist/components/icon/docs.props.d.ts +3 -8
  112. package/dist/components/icon/docs.props.js +65 -24
  113. package/dist/components/icon/props.d.ts +9 -8
  114. package/dist/components/index.d.ts +5 -2
  115. package/dist/components/index.js +5 -2
  116. package/dist/components/input/QInput.svelte +106 -72
  117. package/dist/components/input/QInput.svelte.d.ts +4 -22
  118. package/dist/components/input/docs.d.ts +2 -2
  119. package/dist/components/input/docs.js +5 -71
  120. package/dist/components/input/docs.props.d.ts +3 -8
  121. package/dist/components/input/docs.props.js +129 -57
  122. package/dist/components/input/index.scss +1 -3
  123. package/dist/components/input/props.d.ts +81 -21
  124. package/dist/components/input/props.js +1 -13
  125. package/dist/components/layout/QLayout.scss +174 -0
  126. package/dist/components/layout/QLayout.svelte +178 -79
  127. package/dist/components/layout/QLayout.svelte.d.ts +12 -45
  128. package/dist/components/layout/docs.d.ts +2 -2
  129. package/dist/components/layout/docs.js +3 -3
  130. package/dist/components/layout/docs.props.d.ts +3 -8
  131. package/dist/components/layout/docs.props.js +62 -39
  132. package/dist/components/layout/props.d.ts +29 -21
  133. package/dist/components/list/QItem.scss +69 -0
  134. package/dist/components/list/QItem.svelte +99 -51
  135. package/dist/components/list/QItem.svelte.d.ts +4 -24
  136. package/dist/components/list/QItemSection.scss +59 -0
  137. package/dist/components/list/QItemSection.svelte +63 -37
  138. package/dist/components/list/QItemSection.svelte.d.ts +4 -15
  139. package/dist/components/list/QList.scss +30 -0
  140. package/dist/components/list/QList.svelte +43 -20
  141. package/dist/components/list/QList.svelte.d.ts +4 -26
  142. package/dist/components/list/docs.d.ts +4 -2
  143. package/dist/components/list/docs.js +23 -3
  144. package/dist/components/list/docs.props.d.ts +11 -40
  145. package/dist/components/list/docs.props.js +344 -136
  146. package/dist/components/list/props.d.ts +126 -28
  147. package/dist/components/list/props.js +1 -25
  148. package/dist/components/private/ContextReseter.svelte +15 -11
  149. package/dist/components/private/ContextReseter.svelte.d.ts +4 -8
  150. package/dist/components/private/QApi.svelte +264 -113
  151. package/dist/components/private/QApi.svelte.d.ts +3 -6
  152. package/dist/components/private/QDocs.svelte +119 -68
  153. package/dist/components/private/QDocs.svelte.d.ts +4 -11
  154. package/dist/components/private/QDocsSection.svelte +48 -18
  155. package/dist/components/private/QDocsSection.svelte.d.ts +9 -24
  156. package/dist/components/private/QIconSnippet.svelte +22 -0
  157. package/dist/components/private/QIconSnippet.svelte.d.ts +14 -0
  158. package/dist/components/private/index.d.ts +6 -0
  159. package/dist/components/private/index.js +6 -0
  160. package/dist/components/progress/QCircularProgress.scss +63 -0
  161. package/dist/components/progress/QCircularProgress.svelte +134 -21
  162. package/dist/components/progress/QCircularProgress.svelte.d.ts +3 -11
  163. package/dist/components/progress/QLinearProgress.scss +75 -0
  164. package/dist/components/progress/QLinearProgress.svelte +80 -23
  165. package/dist/components/progress/QLinearProgress.svelte.d.ts +3 -11
  166. package/dist/components/progress/docs.d.ts +3 -2
  167. package/dist/components/progress/docs.js +15 -5
  168. package/dist/components/progress/docs.props.d.ts +5 -16
  169. package/dist/components/progress/docs.props.js +287 -41
  170. package/dist/components/progress/props.d.ts +126 -14
  171. package/dist/components/radio/QRadio.svelte +16 -9
  172. package/dist/components/radio/QRadio.svelte.d.ts +3 -11
  173. package/dist/components/radio/docs.d.ts +2 -2
  174. package/dist/components/radio/docs.js +4 -26
  175. package/dist/components/radio/docs.props.d.ts +3 -8
  176. package/dist/components/radio/docs.props.js +39 -20
  177. package/dist/components/radio/index.scss +3 -1
  178. package/dist/components/radio/props.d.ts +26 -6
  179. package/dist/components/radio/props.js +1 -8
  180. package/dist/components/railbar/QRailbar.scss +54 -0
  181. package/dist/components/railbar/QRailbar.svelte +71 -65
  182. package/dist/components/railbar/QRailbar.svelte.d.ts +4 -13
  183. package/dist/components/railbar/docs.d.ts +2 -2
  184. package/dist/components/railbar/docs.js +3 -3
  185. package/dist/components/railbar/docs.props.d.ts +3 -8
  186. package/dist/components/railbar/docs.props.js +36 -15
  187. package/dist/components/railbar/props.d.ts +13 -6
  188. package/dist/components/select/QSelect.svelte +222 -146
  189. package/dist/components/select/QSelect.svelte.d.ts +4 -24
  190. package/dist/components/select/docs.d.ts +2 -2
  191. package/dist/components/select/docs.js +5 -83
  192. package/dist/components/select/docs.props.d.ts +3 -8
  193. package/dist/components/select/docs.props.js +156 -64
  194. package/dist/components/select/index.scss +25 -10
  195. package/dist/components/select/props.d.ts +100 -20
  196. package/dist/components/select/props.js +1 -14
  197. package/dist/components/separator/QSeparator.scss +54 -0
  198. package/dist/components/separator/QSeparator.svelte +50 -57
  199. package/dist/components/separator/QSeparator.svelte.d.ts +3 -14
  200. package/dist/components/separator/docs.d.ts +3 -2
  201. package/dist/components/separator/docs.js +14 -4
  202. package/dist/components/separator/docs.props.d.ts +5 -16
  203. package/dist/components/separator/docs.props.js +152 -72
  204. package/dist/components/separator/props.d.ts +84 -16
  205. package/dist/components/separator/props.js +1 -9
  206. package/dist/components/switch/QSwitch.scss +305 -0
  207. package/dist/components/switch/QSwitch.svelte +115 -0
  208. package/dist/components/switch/QSwitch.svelte.d.ts +14 -0
  209. package/dist/components/switch/docs.d.ts +2 -0
  210. package/dist/components/switch/docs.js +17 -0
  211. package/dist/components/switch/docs.props.d.ts +3 -0
  212. package/dist/components/switch/docs.props.js +119 -0
  213. package/dist/components/switch/props.d.ts +53 -0
  214. package/dist/components/switch/props.js +1 -0
  215. package/dist/components/table/QTable.svelte +133 -97
  216. package/dist/components/table/QTable.svelte.d.ts +4 -19
  217. package/dist/components/table/docs.d.ts +2 -2
  218. package/dist/components/table/docs.js +3 -3
  219. package/dist/components/table/docs.props.d.ts +3 -8
  220. package/dist/components/table/docs.props.js +67 -15
  221. package/dist/components/table/index.scss +3 -1
  222. package/dist/components/table/props.d.ts +14 -3
  223. package/dist/components/tabs/QTab.scss +71 -0
  224. package/dist/components/tabs/QTab.svelte +101 -88
  225. package/dist/components/tabs/QTab.svelte.d.ts +4 -16
  226. package/dist/components/tabs/QTabs.scss +53 -0
  227. package/dist/components/tabs/QTabs.svelte +163 -46
  228. package/dist/components/tabs/QTabs.svelte.d.ts +9 -13
  229. package/dist/components/tabs/docs.d.ts +3 -2
  230. package/dist/components/tabs/docs.js +13 -3
  231. package/dist/components/tabs/docs.props.d.ts +5 -16
  232. package/dist/components/tabs/docs.props.js +64 -30
  233. package/dist/components/tabs/index.scss +36 -24
  234. package/dist/components/tabs/props.d.ts +38 -9
  235. package/dist/components/tabs/props.js +1 -13
  236. package/dist/components/toolbar/{index.scss → QToolbar.scss} +10 -16
  237. package/dist/components/toolbar/QToolbar.svelte +26 -21
  238. package/dist/components/toolbar/QToolbar.svelte.d.ts +4 -15
  239. package/dist/components/toolbar/QToolbarTitle.svelte +10 -7
  240. package/dist/components/toolbar/QToolbarTitle.svelte.d.ts +4 -12
  241. package/dist/components/toolbar/docs.d.ts +3 -2
  242. package/dist/components/toolbar/docs.js +13 -3
  243. package/dist/components/toolbar/docs.props.d.ts +5 -16
  244. package/dist/components/toolbar/docs.props.js +55 -15
  245. package/dist/components/toolbar/props.d.ts +19 -9
  246. package/dist/components/tooltip/QTooltip.scss +40 -0
  247. package/dist/components/tooltip/QTooltip.svelte +200 -10
  248. package/dist/components/tooltip/QTooltip.svelte.d.ts +17 -18
  249. package/dist/components/tooltip/QTooltipBase.svelte +86 -0
  250. package/dist/components/tooltip/QTooltipBase.svelte.d.ts +14 -0
  251. package/dist/components/tooltip/docs.d.ts +2 -2
  252. package/dist/components/tooltip/docs.js +3 -2
  253. package/dist/components/tooltip/docs.props.d.ts +3 -8
  254. package/dist/components/tooltip/docs.props.js +69 -10
  255. package/dist/components/tooltip/props.d.ts +36 -4
  256. package/dist/components/tooltip/props.js +1 -6
  257. package/dist/composables/index.d.ts +3 -0
  258. package/dist/composables/index.js +3 -1
  259. package/dist/composables/{use-align.d.ts → useAlign.d.ts} +1 -1
  260. package/dist/composables/{use-align.js → useAlign.js} +1 -1
  261. package/dist/composables/{use-router-link.d.ts → useRouterLink.d.ts} +3 -3
  262. package/dist/composables/{use-router-link.js → useRouterLink.js} +4 -4
  263. package/dist/composables/useSize.d.ts +10 -0
  264. package/dist/composables/useSize.js +37 -0
  265. package/dist/css/_components.scss +31 -0
  266. package/dist/css/_disabled.scss +18 -0
  267. package/dist/css/{ripple.scss → _ripple.scss} +10 -3
  268. package/dist/css/_variables.scss +73 -0
  269. package/dist/css/classes/_design.scss +57 -0
  270. package/dist/css/{flex.scss → classes/_flex.scss} +23 -2
  271. package/dist/css/classes/_grid.scss +35 -0
  272. package/dist/css/classes/_index.scss +7 -0
  273. package/dist/css/classes/_overflow.scss +7 -0
  274. package/dist/css/classes/_position.scss +7 -0
  275. package/dist/css/classes/_select.scss +6 -0
  276. package/dist/css/classes/_spaces.scss +23 -0
  277. package/dist/css/fonts.scss +18 -4
  278. package/dist/css/index.css +1 -1
  279. package/dist/css/index.scss +16 -92
  280. package/dist/css/mixins/_design.scss +64 -0
  281. package/dist/css/mixins/_field.scss +64 -0
  282. package/dist/css/mixins/_image.scss +64 -0
  283. package/dist/css/mixins/_index.scss +10 -0
  284. package/dist/css/mixins/_layout.scss +20 -0
  285. package/dist/css/mixins/{menu.scss → _menu.scss} +4 -2
  286. package/dist/css/mixins/{selection.scss → _selection.scss} +10 -70
  287. package/dist/css/mixins/_spaces.scss +36 -0
  288. package/dist/css/mixins/_toolbar.scss +7 -0
  289. package/dist/css/mixins/_typography.scss +7 -0
  290. package/dist/css/shared/q-field.scss +348 -0
  291. package/dist/css/theme/_color-classes.scss +332 -0
  292. package/dist/css/theme/_colors.scss +205 -0
  293. package/dist/css/theme/_css-variables.scss +5 -0
  294. package/dist/css/theme/_index.scss +12 -0
  295. package/dist/css/theme/_page.scss +17 -0
  296. package/dist/css/theme/{palette.scss → _palette.scss} +27 -5
  297. package/dist/css/theme/{reset.scss → _reset.scss} +11 -2
  298. package/dist/css/theme/_typography-variables.scss +107 -0
  299. package/dist/global.d.ts +1 -1
  300. package/dist/helpers/clickOutside.d.ts +2 -2
  301. package/dist/helpers/clickOutside.js +5 -4
  302. package/dist/helpers/index.d.ts +2 -1
  303. package/dist/helpers/index.js +2 -1
  304. package/dist/helpers/pageTitle.d.ts +1 -0
  305. package/dist/helpers/pageTitle.js +3 -0
  306. package/dist/helpers/ripple.d.ts +1 -0
  307. package/dist/helpers/ripple.js +31 -16
  308. package/dist/helpers/version.d.ts +1 -1
  309. package/dist/helpers/version.js +1 -1
  310. package/dist/index.d.ts +4 -1
  311. package/dist/index.js +4 -1
  312. package/dist/stores/index.d.ts +0 -0
  313. package/dist/stores/index.js +1 -0
  314. package/dist/utils/clipboard.d.ts +1 -1
  315. package/dist/utils/clipboard.js +3 -4
  316. package/dist/utils/colors.d.ts +69 -0
  317. package/dist/utils/colors.js +141 -15
  318. package/dist/utils/context.d.ts +33 -0
  319. package/dist/utils/context.js +33 -0
  320. package/dist/utils/dom.d.ts +3 -0
  321. package/dist/utils/dom.js +14 -4
  322. package/dist/utils/events.d.ts +24 -0
  323. package/dist/utils/events.js +24 -0
  324. package/dist/utils/index.d.ts +11 -0
  325. package/dist/utils/index.js +11 -1
  326. package/dist/utils/number.d.ts +2 -0
  327. package/dist/utils/number.js +9 -0
  328. package/dist/utils/props.d.ts +4 -4
  329. package/dist/utils/props.js +8 -6
  330. package/dist/utils/router.d.ts +16 -0
  331. package/dist/utils/router.js +20 -0
  332. package/dist/utils/string.d.ts +2 -0
  333. package/dist/utils/string.js +12 -1
  334. package/dist/utils/types.d.ts +12 -18
  335. package/dist/utils/types.js +0 -3
  336. package/dist/utils/types.json +31 -1
  337. package/package.json +44 -39
  338. package/dist/components/breadcrumbs/index.scss +0 -20
  339. package/dist/components/button/index.scss +0 -98
  340. package/dist/components/card/index.scss +0 -56
  341. package/dist/components/chip/index.scss +0 -86
  342. package/dist/components/drawer/index.scss +0 -59
  343. package/dist/components/footer/index.scss +0 -28
  344. package/dist/components/layout/index.scss +0 -387
  345. package/dist/components/list/index.scss +0 -121
  346. package/dist/components/progress/index.scss +0 -65
  347. package/dist/components/railbar/index.scss +0 -39
  348. package/dist/components/toggle/QToggle.svelte +0 -35
  349. package/dist/components/toggle/QToggle.svelte.d.ts +0 -23
  350. package/dist/components/toggle/docs.d.ts +0 -2
  351. package/dist/components/toggle/docs.js +0 -47
  352. package/dist/components/toggle/docs.props.d.ts +0 -8
  353. package/dist/components/toggle/docs.props.js +0 -42
  354. package/dist/components/toggle/index.scss +0 -31
  355. package/dist/components/toggle/props.d.ts +0 -9
  356. package/dist/components/toggle/props.js +0 -9
  357. package/dist/components/tooltip/index.scss +0 -82
  358. package/dist/composables/use-index.d.ts +0 -2
  359. package/dist/composables/use-index.js +0 -17
  360. package/dist/composables/use-size.d.ts +0 -9
  361. package/dist/composables/use-size.js +0 -25
  362. package/dist/css/grid.scss +0 -50
  363. package/dist/css/mixins/field.scss +0 -432
  364. package/dist/css/mixins.scss +0 -136
  365. package/dist/css/states.scss +0 -75
  366. package/dist/css/theme/bridge.scss +0 -15
  367. package/dist/css/theme/colors.module.scss +0 -180
  368. package/dist/css/theme/page.scss +0 -16
  369. package/dist/css/theme/theme.dark.scss +0 -37
  370. package/dist/css/theme/theme.light.scss +0 -37
  371. package/dist/css/theme/theme.scss +0 -11
  372. package/dist/css/theme/tokens.scss +0 -266
  373. package/dist/css/variables-sass.scss +0 -16
  374. package/dist/helpers/activationHandler.d.ts +0 -9
  375. package/dist/helpers/activationHandler.js +0 -23
  376. package/dist/stores/QTheme.d.ts +0 -42
  377. package/dist/stores/QTheme.js +0 -53
  378. package/dist/stores/Quaff.d.ts +0 -32
  379. package/dist/stores/Quaff.js +0 -53
  380. package/dist/utils/fields.d.ts +0 -1
  381. package/dist/utils/fields.js +0 -14
  382. package/dist/utils/watchable.d.ts +0 -3
  383. package/dist/utils/watchable.js +0 -22
  384. /package/dist/css/mixins/{table.scss → _table.scss} +0 -0
  385. /package/dist/css/theme/{elevate.scss → _elevate.scss} +0 -0
  386. /package/dist/css/theme/{typography.module.scss → _typography-classes.scss} +0 -0
  387. /package/dist/css/theme/{typography.scss → _typography.scss} +0 -0
@@ -0,0 +1,40 @@
1
+ @use "$css/variables";
2
+
3
+ .q-tooltip {
4
+ --space: -0.5rem;
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ cursor: auto;
9
+ gap: 0.5rem;
10
+ background-color: var(--inverse-surface);
11
+ color: var(--inverse-on-surface);
12
+ font-size: 0.75rem;
13
+ text-align: center;
14
+ border-radius: 0.25rem;
15
+ padding: 0.5rem;
16
+ position: fixed;
17
+ bottom: auto;
18
+ right: auto;
19
+ width: auto;
20
+ white-space: nowrap;
21
+ font-weight: 500;
22
+ transition: opacity variables.$speed2;
23
+ z-index: 9999;
24
+
25
+ &__helper {
26
+ // Remove the helper element from the flow so it doesn't affect pre elements
27
+ position: absolute;
28
+ }
29
+
30
+ &:has(> .q-card) {
31
+ padding: 0;
32
+ overflow: hidden;
33
+ background-color: transparent;
34
+ text-align: unset;
35
+
36
+ & > .q-card {
37
+ box-shadow: none;
38
+ }
39
+ }
40
+ }
@@ -1,13 +1,203 @@
1
- <script>import { createClasses } from "../../utils/props";
2
- export let value = void 0, position = "bottom", userClasses = "";
3
- export { userClasses as class };
4
- $:
5
- classes = createClasses([value && "active", position || "top"], {
6
- component: "q-tooltip",
7
- userClasses
1
+ <script lang="ts" generics="T extends HTMLElement | string">
2
+ import { mount, onMount, unmount, untrack } from "svelte";
3
+ import { addEventListener } from "../../utils";
4
+ import QTooltipBase from "./QTooltipBase.svelte";
5
+ import type { QTooltipProps } from "./props";
6
+
7
+ let {
8
+ target,
9
+ value = $bindable(false),
10
+ position = "bottom",
11
+ offset = { x: 0, y: 0 },
12
+ delay = 50,
13
+ hideDelay = 50,
14
+ children,
15
+ ...props
16
+ }: QTooltipProps<T> = $props();
17
+
18
+ let tooltipHelperEl = $state<HTMLDivElement>();
19
+ let tooltipEl = $state<HTMLDivElement>();
20
+
21
+ let realTarget = $state<HTMLElement>();
22
+
23
+ let timerShow = $state<ReturnType<typeof setTimeout> | null>(null);
24
+ let timerHide = $state<ReturnType<typeof setTimeout> | null>(null);
25
+
26
+ let mountedTooltip: ReturnType<typeof mountTooltip> | null = null;
27
+
28
+ let targetMouseEnterListener: ReturnType<typeof addEventListener> | null =
29
+ null;
30
+ let targetMouseLeaveListener: ReturnType<typeof addEventListener> | null =
31
+ null;
32
+ let tooltipMouseEnterListener: ReturnType<typeof addEventListener> | null =
33
+ null;
34
+ let tooltipMouseLeaveListener: ReturnType<typeof addEventListener> | null =
35
+ null;
36
+ let windowWheelListener: ReturnType<typeof addEventListener> | null = null;
37
+
38
+ const id = Date.now();
39
+
40
+ $effect(() => {
41
+ value ? untrack(show) : untrack(hide);
8
42
  });
43
+
44
+ onMount(() => {
45
+ if (target) {
46
+ realTarget =
47
+ typeof target === "string"
48
+ ? document.querySelector<HTMLElement>(target) || undefined
49
+ : target;
50
+ } else {
51
+ let parent = tooltipHelperEl?.parentElement || null;
52
+
53
+ while (parent) {
54
+ if (parent.attributes.getNamedItem("data-quaff")) {
55
+ realTarget = parent;
56
+ break;
57
+ } else {
58
+ parent = parent.parentElement;
59
+ }
60
+ }
61
+ }
62
+
63
+ targetMouseEnterListener = addEventListener(realTarget, "mouseenter", show);
64
+ targetMouseLeaveListener = addEventListener(realTarget, "mouseleave", hide);
65
+
66
+ return () => {
67
+ targetMouseEnterListener?.remove();
68
+ targetMouseLeaveListener?.remove();
69
+
70
+ tooltipMouseEnterListener?.remove();
71
+ tooltipMouseLeaveListener?.remove();
72
+
73
+ windowWheelListener?.remove();
74
+
75
+ if (mountedTooltip) {
76
+ unmount(mountedTooltip);
77
+ }
78
+
79
+ if (timerShow) {
80
+ clearTimeout(timerShow);
81
+ }
82
+
83
+ if (timerHide) {
84
+ clearTimeout(timerHide);
85
+ }
86
+ };
87
+ });
88
+
89
+ export function show() {
90
+ if (timerHide) {
91
+ clearTimeout(timerHide);
92
+ timerHide = null;
93
+
94
+ return;
95
+ }
96
+
97
+ if (mountedTooltip) {
98
+ return;
99
+ }
100
+
101
+ if (timerShow) {
102
+ clearTimeout(timerShow);
103
+ }
104
+
105
+ timerShow = setTimeout(() => {
106
+ timerShow = null;
107
+ mountedTooltip = mountTooltip();
108
+
109
+ tooltipEl =
110
+ (document.getElementById(`qtooltip-${id}`) as HTMLDivElement) ||
111
+ undefined;
112
+ tooltipMouseEnterListener = addEventListener(
113
+ tooltipEl,
114
+ "mouseenter",
115
+ abortHide,
116
+ );
117
+ tooltipMouseLeaveListener = addEventListener(
118
+ tooltipEl,
119
+ "mouseleave",
120
+ hide,
121
+ );
122
+
123
+ windowWheelListener = addEventListener(window, "wheel", hide);
124
+
125
+ if (!value) {
126
+ value = true;
127
+ }
128
+
129
+ return;
130
+ }, delay);
131
+ }
132
+
133
+ export function hide() {
134
+ if (timerShow) {
135
+ clearTimeout(timerShow);
136
+ timerShow = null;
137
+
138
+ return;
139
+ }
140
+
141
+ if (!mountedTooltip) {
142
+ return;
143
+ }
144
+
145
+ if (timerHide) {
146
+ clearTimeout(timerHide);
147
+ timerHide = null;
148
+ }
149
+
150
+ timerHide = setTimeout(() => {
151
+ tooltipMouseEnterListener?.remove();
152
+
153
+ if (!mountedTooltip) {
154
+ return;
155
+ }
156
+
157
+ unmount(mountedTooltip);
158
+
159
+ windowWheelListener?.remove();
160
+
161
+ mountedTooltip = null;
162
+ timerHide = null;
163
+
164
+ if (value) {
165
+ value = false;
166
+ }
167
+ }, hideDelay);
168
+ }
169
+
170
+ export function toggle() {
171
+ value = !value;
172
+ }
173
+
174
+ function abortHide() {
175
+ if (timerHide) {
176
+ clearTimeout(timerHide);
177
+ timerHide = null;
178
+ }
179
+ }
180
+
181
+ function mountTooltip() {
182
+ if (!realTarget) {
183
+ return null;
184
+ }
185
+
186
+ return mount(QTooltipBase, {
187
+ target: document.body,
188
+ props: {
189
+ target: realTarget,
190
+ value: true,
191
+ position,
192
+ offset,
193
+ children,
194
+ id: `qtooltip-${id}`,
195
+ ...props,
196
+ },
197
+ });
198
+ }
9
199
  </script>
10
200
 
11
- <div class={classes} {...$$restProps}>
12
- <slot />
13
- </div>
201
+ {#if !target}
202
+ <div bind:this={tooltipHelperEl} class="q-tooltip__helper"></div>
203
+ {/if}
@@ -1,22 +1,21 @@
1
- import { SvelteComponent } from "svelte";
2
- import type { QTooltipProps } from "./props";
3
- declare const __propDef: {
4
- props: {
5
- [x: string]: any;
6
- value?: QTooltipProps["value"];
7
- position?: "top" | "bottom" | "left" | "right" | undefined;
8
- class?: string | undefined;
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare class __sveltets_Render<T extends HTMLElement | string> {
3
+ props(): {
4
+ show?: (() => void) | undefined;
5
+ hide?: (() => void) | undefined;
6
+ toggle?: (() => void) | undefined;
9
7
  };
10
- events: {
8
+ events(): {} & {
11
9
  [evt: string]: CustomEvent<any>;
12
10
  };
13
- slots: {
14
- default: {};
15
- };
16
- };
17
- type QTooltipProps_ = typeof __propDef.props;
18
- export { QTooltipProps_ as QTooltipProps };
19
- export type QTooltipEvents = typeof __propDef.events;
20
- export type QTooltipSlots = typeof __propDef.slots;
21
- export default class QTooltip extends SvelteComponent<QTooltipProps, QTooltipEvents, QTooltipSlots> {
11
+ slots(): {};
12
+ }
13
+ export type QTooltipProps_<T extends HTMLElement | string> = ReturnType<__sveltets_Render<T>['props']>;
14
+ export type QTooltipEvents<T extends HTMLElement | string> = ReturnType<__sveltets_Render<T>['events']>;
15
+ export type QTooltipSlots<T extends HTMLElement | string> = ReturnType<__sveltets_Render<T>['slots']>;
16
+ export default class QTooltip<T extends HTMLElement | string> extends SvelteComponentTyped<QTooltipProps_<T>, QTooltipEvents<T>, QTooltipSlots<T>> {
17
+ get show(): () => void;
18
+ get hide(): () => void;
19
+ get toggle(): () => void;
22
20
  }
21
+ export {};
@@ -0,0 +1,86 @@
1
+ <script lang="ts">
2
+ import { onMount } from "svelte";
3
+ import { scale } from "svelte/transition";
4
+ import type { QTooltipProps } from "./props";
5
+
6
+ let {
7
+ // At this point, target should be guaranteed to be a DOM element
8
+ target,
9
+ position = "bottom",
10
+ offset = { x: 0, y: 0 },
11
+ children,
12
+ ...props
13
+ }: QTooltipProps<HTMLElement> = $props();
14
+
15
+ let tooltipEl = $state<HTMLDivElement>();
16
+
17
+ onMount(() => {
18
+ setTimeout(() => {
19
+ if (tooltipEl) {
20
+ tooltipEl.style.opacity = "1";
21
+ }
22
+ }, 50);
23
+ });
24
+
25
+ const tooltipPosition: Record<"top" | "left", number> | undefined =
26
+ $derived.by(() => {
27
+ if (!target || !tooltipEl) {
28
+ return;
29
+ }
30
+
31
+ const top = calculatePosition(target, tooltipEl, "y");
32
+ const left = calculatePosition(target, tooltipEl, "x");
33
+
34
+ return { top, left };
35
+ });
36
+
37
+ const styles = $derived(
38
+ tooltipPosition && {
39
+ top: `${tooltipPosition.top}px`,
40
+ left: `${tooltipPosition.left}px`,
41
+ },
42
+ );
43
+
44
+ function calculatePosition(
45
+ anchor: HTMLElement,
46
+ tooltip: HTMLElement,
47
+ axis: "x" | "y",
48
+ ) {
49
+ const anchorRect = anchor.getBoundingClientRect();
50
+
51
+ const anchorPosition = {
52
+ start: axis === "x" ? "left" : "top",
53
+ end: axis === "x" ? "right" : "bottom",
54
+ } as const;
55
+ const anchorDimension = axis === "x" ? "width" : "height";
56
+ const tooltipDimension = axis === "x" ? "offsetWidth" : "offsetHeight";
57
+
58
+ const offsetToUse = offset[axis];
59
+ // 0.5rem offset so the tooltip is not stuck to the anchor
60
+ const defaultOffset = position.includes("-") ? 0 : 8;
61
+
62
+ return position.includes(anchorPosition.start)
63
+ ? anchorRect[anchorPosition.start] -
64
+ tooltip[tooltipDimension] +
65
+ (offsetToUse || 0) -
66
+ defaultOffset
67
+ : position.includes(anchorPosition.end)
68
+ ? anchorRect[anchorPosition.end] + (offsetToUse || 0) + defaultOffset
69
+ : anchorRect[anchorPosition.start] +
70
+ anchorRect[anchorDimension] / 2 -
71
+ tooltip[tooltipDimension] / 2 +
72
+ (offsetToUse || 0);
73
+ }
74
+ </script>
75
+
76
+ <div
77
+ bind:this={tooltipEl}
78
+ {...props}
79
+ class={["q-tooltip", props.class]}
80
+ style:top={styles?.top}
81
+ style:left={styles?.left}
82
+ style:transform="unset"
83
+ transition:scale|global={{ duration: 100 }}
84
+ >
85
+ {@render children?.()}
86
+ </div>
@@ -0,0 +1,14 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: Record<string, never>;
4
+ events: {
5
+ [evt: string]: CustomEvent<any>;
6
+ };
7
+ slots: {};
8
+ };
9
+ export type QTooltipBaseProps = typeof __propDef.props;
10
+ export type QTooltipBaseEvents = typeof __propDef.events;
11
+ export type QTooltipBaseSlots = typeof __propDef.slots;
12
+ export default class QTooltipBase extends SvelteComponentTyped<QTooltipBaseProps, QTooltipBaseEvents, QTooltipBaseSlots> {
13
+ }
14
+ export {};
@@ -1,2 +1,2 @@
1
- import type { QComponentDocs } from "../../utils/types";
2
- export declare let QTooltipDocs: QComponentDocs;
1
+ import type { QComponentDocs } from "../../utils";
2
+ export declare const QTooltipDocs: QComponentDocs;
@@ -1,10 +1,11 @@
1
+ import { QToolbarDocsSnippets } from "../header/docs.props";
1
2
  import { QTooltipDocsProps } from "./docs.props";
2
- export let QTooltipDocs = {
3
+ export const QTooltipDocs = {
3
4
  name: "QTooltip",
4
5
  description: "The Tooltip component displays informative text on hover or focus, providing additional context.",
5
6
  docs: {
6
7
  props: QTooltipDocsProps,
7
- slots: [],
8
+ snippets: QToolbarDocsSnippets,
8
9
  methods: [],
9
10
  events: [],
10
11
  },
@@ -1,8 +1,3 @@
1
- export declare const QTooltipDocsProps: {
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 QTooltipDocsProps: ParsedProp[];
3
+ export declare const QTooltipDocsSnippets: ParsedSnippet[];
@@ -1,18 +1,77 @@
1
+ // AUTO GENERATED FILE - DO NOT MODIFY OR DELETE
2
+ // @quaffHash 444819e2121eccfade83b2988db64474
1
3
  export const QTooltipDocsProps = [
2
4
  {
3
- name: "value",
4
- type: "boolean",
5
+ isArray: false,
6
+ optional: true,
7
+ isSnippet: false,
8
+ name: "target",
9
+ type: {
10
+ name: "T",
11
+ isClickable: true,
12
+ },
13
+ description: "The target element the tooltip should be attached to. Can be an HTML element or a CSS selector. If not specified, the tooltip will be attached to the nearest Quaff component in the parent tree.",
14
+ default: "undefined",
15
+ },
16
+ {
17
+ isArray: false,
5
18
  optional: true,
6
- clickableType: false,
7
- description: "",
8
- default: "",
19
+ isSnippet: false,
20
+ name: "value",
21
+ type: {
22
+ name: "boolean",
23
+ isClickable: false,
24
+ },
25
+ description: "Defines the show/hide state of the tooltip. By default, the tooltip will be be shown on mouseenter and hidden on mouseleave.",
26
+ default: "false",
9
27
  },
10
28
  {
29
+ isArray: false,
30
+ optional: true,
31
+ isSnippet: false,
11
32
  name: "position",
12
- type: '"top" | "right" | "bottom" | "left"',
13
- optional: false,
14
- clickableType: false,
15
- description: "",
16
- default: "",
33
+ type: {
34
+ name: "QTooltipPosition",
35
+ isClickable: true,
36
+ },
37
+ description: "Defines the position of the tooltip.",
38
+ default: '"bottom"',
39
+ },
40
+ {
41
+ isArray: false,
42
+ optional: true,
43
+ isSnippet: false,
44
+ name: "offset",
45
+ type: {
46
+ name: "QTooltipOffset",
47
+ isClickable: true,
48
+ },
49
+ description: "Offset of the tooltip in pixels. Positive values move the tooltip down/right, negative values move the tooltip up/left.",
50
+ default: "{ x: 0, y: 0 }",
51
+ },
52
+ {
53
+ isArray: false,
54
+ optional: true,
55
+ isSnippet: false,
56
+ name: "delay",
57
+ type: {
58
+ name: "number",
59
+ isClickable: false,
60
+ },
61
+ description: "Delay in milliseconds before the tooltip appears.",
62
+ default: "0",
63
+ },
64
+ {
65
+ isArray: false,
66
+ optional: true,
67
+ isSnippet: false,
68
+ name: "hideDelay",
69
+ type: {
70
+ name: "number",
71
+ isClickable: false,
72
+ },
73
+ description: "Delay in milliseconds before the tooltip is hidden.",
74
+ default: "0",
17
75
  },
18
76
  ];
77
+ export const QTooltipDocsSnippets = [];
@@ -1,6 +1,38 @@
1
- import type { NativeProps } from "../../utils/types";
2
- export interface QTooltipProps extends NativeProps {
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ export type QTooltipPosition = "top-left" | "top" | "top-right" | "right" | "bottom-right" | "bottom" | "bottom-left" | "left";
3
+ export type QTooltipOffset = {
4
+ x?: number;
5
+ y?: number;
6
+ };
7
+ export interface QTooltipProps<T extends Element | string> extends HTMLAttributes<HTMLDivElement> {
8
+ /**
9
+ * The target element the tooltip should be attached to. Can be an HTML element or a CSS selector. If not specified, the tooltip will be attached to the nearest Quaff component in the parent tree.
10
+ * @default undefined
11
+ */
12
+ target?: T;
13
+ /**
14
+ * Defines the show/hide state of the tooltip. By default, the tooltip will be be shown on mouseenter and hidden on mouseleave.
15
+ * @default false
16
+ */
3
17
  value?: boolean;
4
- position: "top" | "right" | "bottom" | "left";
18
+ /**
19
+ * Defines the position of the tooltip.
20
+ * @default "bottom"
21
+ */
22
+ position?: QTooltipPosition;
23
+ /**
24
+ * Offset of the tooltip in pixels. Positive values move the tooltip down/right, negative values move the tooltip up/left.
25
+ * @default { x: 0, y: 0 }
26
+ */
27
+ offset?: QTooltipOffset;
28
+ /**
29
+ * Delay in milliseconds before the tooltip appears.
30
+ * @default 0
31
+ */
32
+ delay?: number;
33
+ /**
34
+ * Delay in milliseconds before the tooltip is hidden.
35
+ * @default 0
36
+ */
37
+ hideDelay?: number;
5
38
  }
6
- export declare const QTooltipPropsDefaults: QTooltipProps;
@@ -1,6 +1 @@
1
- import { NativePropsDefaults } from "../../utils/types";
2
- export const QTooltipPropsDefaults = {
3
- value: undefined,
4
- position: "bottom",
5
- ...NativePropsDefaults,
6
- };
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from "./useAlign";
2
+ export * from "./useRouterLink";
3
+ export * from "./useSize";
@@ -1 +1,3 @@
1
- "use strict";
1
+ export * from "./useAlign";
2
+ export * from "./useRouterLink";
3
+ export * from "./useSize";
@@ -5,4 +5,4 @@ export interface UseAlignProps {
5
5
  align?: UseAlignOptions;
6
6
  }
7
7
  export declare const UseAlignPropsDefaults: UseAlignProps;
8
- export default function useAlign(align?: UseAlignOptions): string;
8
+ export declare function useAlign(align?: UseAlignOptions): string;
@@ -11,7 +11,7 @@ const alignMap = {
11
11
  // @todo - justify-stretch isn't possible
12
12
  stretch: "stretch",
13
13
  };
14
- export default function useAlign(align = "top left") {
14
+ export function useAlign(align = "top left") {
15
15
  const alignments = align
16
16
  .split(" ")
17
17
  .map((entry) => {
@@ -2,13 +2,13 @@ import type { Page } from "@sveltejs/kit";
2
2
  export interface UseRouterLinkProps {
3
3
  href?: string;
4
4
  to?: string;
5
- disable: boolean;
5
+ disable?: boolean;
6
6
  activeClass?: string;
7
- replace: boolean;
7
+ replace?: boolean;
8
8
  }
9
9
  export declare const UseRouterLinkPropsDefaults: UseRouterLinkProps;
10
10
  export declare function isRouteActive(router: Page<Record<string, string>, string | null>, to: string | undefined): boolean;
11
- export default function <T extends UseRouterLinkProps>(props: T): {
11
+ export declare function useRouterLink<T extends UseRouterLinkProps>(props: T): {
12
12
  hasLink: boolean;
13
13
  linkAttributes: {
14
14
  href: string | undefined;
@@ -1,4 +1,4 @@
1
- import { createClasses } from "../utils/props";
1
+ import { createClasses } from "../utils";
2
2
  export const UseRouterLinkPropsDefaults = {
3
3
  href: undefined,
4
4
  to: undefined,
@@ -11,12 +11,12 @@ export function isRouteActive(router, to) {
11
11
  ? router.url.pathname === to
12
12
  : router.url.pathname.slice(0, (to || "").length) === to;
13
13
  }
14
- export default function (props) {
15
- const hasLink = props.to !== undefined || props.href !== undefined;
14
+ export function useRouterLink(props) {
15
+ const hasLink = [props.to, props.href].some((entry) => typeof entry !== "undefined");
16
16
  const linkClasses = createClasses([hasLink && "q-link", props.disable && "disable"]);
17
17
  const linkAttributes = {
18
18
  href: props.to || props.href,
19
- "data-sveltkit-reload": props.replace === true ? "" : undefined,
19
+ "data-sveltkit-reload": props.replace ? "" : undefined,
20
20
  };
21
21
  return {
22
22
  hasLink,
@@ -0,0 +1,10 @@
1
+ export declare const sizes: Q.Size[];
2
+ export declare const CssUnits: Q.CssUnit[];
3
+ /**
4
+ * Checks wether the input is a size like "sm" or "lg"
5
+ */
6
+ export declare function isQuaffSize(size: number | string): size is Q.Size;
7
+ export declare function useSize(size: number | string, component?: `q-${string}`): {
8
+ class: string;
9
+ style: string | undefined;
10
+ };