@quaffui/quaff 0.1.0-prealpha

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 (278) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +43 -0
  3. package/dist/components/avatar/QAvatar.svelte +43 -0
  4. package/dist/components/avatar/QAvatar.svelte.d.ts +27 -0
  5. package/dist/components/avatar/docs.d.ts +2 -0
  6. package/dist/components/avatar/docs.js +22 -0
  7. package/dist/components/avatar/docs.props.d.ts +8 -0
  8. package/dist/components/avatar/docs.props.js +34 -0
  9. package/dist/components/avatar/index.scss +88 -0
  10. package/dist/components/avatar/props.d.ts +25 -0
  11. package/dist/components/avatar/props.js +1 -0
  12. package/dist/components/breadcrumbs/QBreadcrumbs.svelte +18 -0
  13. package/dist/components/breadcrumbs/QBreadcrumbs.svelte.d.ts +23 -0
  14. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte +59 -0
  15. package/dist/components/breadcrumbs/QBreadcrumbsEl.svelte.d.ts +26 -0
  16. package/dist/components/breadcrumbs/docs.d.ts +2 -0
  17. package/dist/components/breadcrumbs/docs.js +16 -0
  18. package/dist/components/breadcrumbs/docs.props.d.ts +16 -0
  19. package/dist/components/breadcrumbs/docs.props.js +84 -0
  20. package/dist/components/breadcrumbs/index.scss +20 -0
  21. package/dist/components/breadcrumbs/props.d.ts +56 -0
  22. package/dist/components/breadcrumbs/props.js +1 -0
  23. package/dist/components/button/QBtn.svelte +59 -0
  24. package/dist/components/button/QBtn.svelte.d.ts +32 -0
  25. package/dist/components/button/docs.d.ts +2 -0
  26. package/dist/components/button/docs.js +22 -0
  27. package/dist/components/button/docs.props.d.ts +8 -0
  28. package/dist/components/button/docs.props.js +82 -0
  29. package/dist/components/button/index.scss +78 -0
  30. package/dist/components/button/props.d.ts +54 -0
  31. package/dist/components/button/props.js +1 -0
  32. package/dist/components/card/QCard.svelte +23 -0
  33. package/dist/components/card/QCard.svelte.d.ts +26 -0
  34. package/dist/components/card/QCardActions.svelte +18 -0
  35. package/dist/components/card/QCardActions.svelte.d.ts +22 -0
  36. package/dist/components/card/QCardSection.svelte +14 -0
  37. package/dist/components/card/QCardSection.svelte.d.ts +23 -0
  38. package/dist/components/card/docs.d.ts +4 -0
  39. package/dist/components/card/docs.js +46 -0
  40. package/dist/components/card/docs.props.d.ts +24 -0
  41. package/dist/components/card/docs.props.js +62 -0
  42. package/dist/components/card/index.scss +53 -0
  43. package/dist/components/card/props.d.ts +44 -0
  44. package/dist/components/card/props.js +1 -0
  45. package/dist/components/checkbox/QCheckbox.svelte +14 -0
  46. package/dist/components/checkbox/QCheckbox.svelte.d.ts +21 -0
  47. package/dist/components/checkbox/docs.d.ts +2 -0
  48. package/dist/components/checkbox/docs.js +17 -0
  49. package/dist/components/checkbox/docs.props.d.ts +8 -0
  50. package/dist/components/checkbox/docs.props.js +26 -0
  51. package/dist/components/checkbox/index.scss +3 -0
  52. package/dist/components/checkbox/props.d.ts +17 -0
  53. package/dist/components/checkbox/props.js +1 -0
  54. package/dist/components/chip/QChip.svelte +62 -0
  55. package/dist/components/chip/QChip.svelte.d.ts +35 -0
  56. package/dist/components/chip/docs.d.ts +2 -0
  57. package/dist/components/chip/docs.js +30 -0
  58. package/dist/components/chip/docs.props.d.ts +8 -0
  59. package/dist/components/chip/docs.props.js +90 -0
  60. package/dist/components/chip/index.scss +83 -0
  61. package/dist/components/chip/props.d.ts +59 -0
  62. package/dist/components/chip/props.js +1 -0
  63. package/dist/components/codeBlock/QCodeBlock.svelte +71 -0
  64. package/dist/components/codeBlock/QCodeBlock.svelte.d.ts +23 -0
  65. package/dist/components/codeBlock/docs.props.d.ts +8 -0
  66. package/dist/components/codeBlock/docs.props.js +34 -0
  67. package/dist/components/codeBlock/props.d.ts +20 -0
  68. package/dist/components/codeBlock/props.js +1 -0
  69. package/dist/components/dialog/QDialog.svelte +80 -0
  70. package/dist/components/dialog/QDialog.svelte.d.ts +37 -0
  71. package/dist/components/dialog/docs.d.ts +2 -0
  72. package/dist/components/dialog/docs.js +11 -0
  73. package/dist/components/dialog/docs.props.d.ts +16 -0
  74. package/dist/components/dialog/docs.props.js +148 -0
  75. package/dist/components/dialog/index.scss +27 -0
  76. package/dist/components/dialog/props.d.ts +45 -0
  77. package/dist/components/dialog/props.js +1 -0
  78. package/dist/components/drawer/QDrawer.svelte +87 -0
  79. package/dist/components/drawer/QDrawer.svelte.d.ts +39 -0
  80. package/dist/components/drawer/docs.d.ts +2 -0
  81. package/dist/components/drawer/docs.js +11 -0
  82. package/dist/components/drawer/docs.props.d.ts +8 -0
  83. package/dist/components/drawer/docs.props.js +106 -0
  84. package/dist/components/drawer/index.scss +54 -0
  85. package/dist/components/drawer/props.d.ts +70 -0
  86. package/dist/components/drawer/props.js +1 -0
  87. package/dist/components/footer/QFooter.svelte +14 -0
  88. package/dist/components/footer/QFooter.svelte.d.ts +24 -0
  89. package/dist/components/footer/docs.d.ts +2 -0
  90. package/dist/components/footer/docs.js +11 -0
  91. package/dist/components/footer/docs.props.d.ts +8 -0
  92. package/dist/components/footer/docs.props.js +34 -0
  93. package/dist/components/footer/index.scss +5 -0
  94. package/dist/components/footer/props.d.ts +23 -0
  95. package/dist/components/footer/props.js +1 -0
  96. package/dist/components/icon/QIcon.svelte +40 -0
  97. package/dist/components/icon/QIcon.svelte.d.ts +28 -0
  98. package/dist/components/icon/docs.d.ts +2 -0
  99. package/dist/components/icon/docs.js +11 -0
  100. package/dist/components/icon/docs.props.d.ts +8 -0
  101. package/dist/components/icon/docs.props.js +66 -0
  102. package/dist/components/icon/index.scss +18 -0
  103. package/dist/components/icon/props.d.ts +45 -0
  104. package/dist/components/icon/props.js +1 -0
  105. package/dist/components/index.d.ts +29 -0
  106. package/dist/components/index.js +29 -0
  107. package/dist/components/input/QInput.svelte +81 -0
  108. package/dist/components/input/QInput.svelte.d.ts +32 -0
  109. package/dist/components/input/docs.d.ts +2 -0
  110. package/dist/components/input/docs.js +83 -0
  111. package/dist/components/input/docs.props.d.ts +8 -0
  112. package/dist/components/input/docs.props.js +90 -0
  113. package/dist/components/input/index.scss +3 -0
  114. package/dist/components/input/props.d.ts +27 -0
  115. package/dist/components/input/props.js +13 -0
  116. package/dist/components/layout/QLayout.svelte +88 -0
  117. package/dist/components/layout/QLayout.svelte.d.ts +57 -0
  118. package/dist/components/layout/docs.d.ts +2 -0
  119. package/dist/components/layout/docs.js +11 -0
  120. package/dist/components/layout/docs.props.d.ts +8 -0
  121. package/dist/components/layout/docs.props.js +58 -0
  122. package/dist/components/layout/index.scss +370 -0
  123. package/dist/components/layout/props.d.ts +41 -0
  124. package/dist/components/layout/props.js +1 -0
  125. package/dist/components/list/QItem.svelte +60 -0
  126. package/dist/components/list/QItem.svelte.d.ts +34 -0
  127. package/dist/components/list/QItemSection.svelte +47 -0
  128. package/dist/components/list/QItemSection.svelte.d.ts +25 -0
  129. package/dist/components/list/QList.svelte +23 -0
  130. package/dist/components/list/QList.svelte.d.ts +36 -0
  131. package/dist/components/list/docs.props.d.ts +40 -0
  132. package/dist/components/list/docs.props.js +226 -0
  133. package/dist/components/list/index.scss +114 -0
  134. package/dist/components/list/props.d.ts +33 -0
  135. package/dist/components/list/props.js +25 -0
  136. package/dist/components/private/ContextReseter.svelte +13 -0
  137. package/dist/components/private/ContextReseter.svelte.d.ts +18 -0
  138. package/dist/components/private/QApi.svelte +142 -0
  139. package/dist/components/private/QApi.svelte.d.ts +17 -0
  140. package/dist/components/private/QDocs.svelte +66 -0
  141. package/dist/components/private/QDocs.svelte.d.ts +21 -0
  142. package/dist/components/private/QDocsSection.svelte +32 -0
  143. package/dist/components/private/QDocsSection.svelte.d.ts +29 -0
  144. package/dist/components/progress/QCircularProgress.svelte +26 -0
  145. package/dist/components/progress/QCircularProgress.svelte.d.ts +22 -0
  146. package/dist/components/progress/QLinearProgress.svelte +20 -0
  147. package/dist/components/progress/QLinearProgress.svelte.d.ts +22 -0
  148. package/dist/components/progress/docs.props.d.ts +8 -0
  149. package/dist/components/progress/docs.props.js +26 -0
  150. package/dist/components/progress/index.scss +50 -0
  151. package/dist/components/progress/props.d.ts +20 -0
  152. package/dist/components/progress/props.js +7 -0
  153. package/dist/components/radio/QRadio.svelte +14 -0
  154. package/dist/components/radio/QRadio.svelte.d.ts +22 -0
  155. package/dist/components/radio/docs.d.ts +2 -0
  156. package/dist/components/radio/docs.js +39 -0
  157. package/dist/components/radio/docs.props.d.ts +8 -0
  158. package/dist/components/radio/docs.props.js +34 -0
  159. package/dist/components/radio/index.scss +3 -0
  160. package/dist/components/radio/props.d.ts +8 -0
  161. package/dist/components/radio/props.js +8 -0
  162. package/dist/components/railbar/QRailbar.svelte +52 -0
  163. package/dist/components/railbar/QRailbar.svelte.d.ts +23 -0
  164. package/dist/components/railbar/docs.props.d.ts +8 -0
  165. package/dist/components/railbar/docs.props.js +26 -0
  166. package/dist/components/railbar/props.d.ts +7 -0
  167. package/dist/components/railbar/props.js +7 -0
  168. package/dist/components/select/QSelect.svelte +159 -0
  169. package/dist/components/select/QSelect.svelte.d.ts +34 -0
  170. package/dist/components/select/docs.d.ts +2 -0
  171. package/dist/components/select/docs.js +95 -0
  172. package/dist/components/select/docs.props.d.ts +8 -0
  173. package/dist/components/select/docs.props.js +106 -0
  174. package/dist/components/select/index.scss +34 -0
  175. package/dist/components/select/props.d.ts +33 -0
  176. package/dist/components/select/props.js +14 -0
  177. package/dist/components/separator/QSeparator.svelte +63 -0
  178. package/dist/components/separator/QSeparator.svelte.d.ts +25 -0
  179. package/dist/components/separator/docs.props.d.ts +16 -0
  180. package/dist/components/separator/docs.props.js +116 -0
  181. package/dist/components/separator/props.d.ts +22 -0
  182. package/dist/components/separator/props.js +9 -0
  183. package/dist/components/table/QTable.svelte +154 -0
  184. package/dist/components/table/QTable.svelte.d.ts +29 -0
  185. package/dist/components/table/docs.d.ts +2 -0
  186. package/dist/components/table/docs.js +11 -0
  187. package/dist/components/table/docs.props.d.ts +8 -0
  188. package/dist/components/table/docs.props.js +42 -0
  189. package/dist/components/table/index.scss +77 -0
  190. package/dist/components/table/props.d.ts +45 -0
  191. package/dist/components/table/props.js +1 -0
  192. package/dist/components/tabs/QTab.svelte +78 -0
  193. package/dist/components/tabs/QTab.svelte.d.ts +28 -0
  194. package/dist/components/tabs/QTabs.svelte +55 -0
  195. package/dist/components/tabs/QTabs.svelte.d.ts +23 -0
  196. package/dist/components/tabs/docs.props.d.ts +16 -0
  197. package/dist/components/tabs/docs.props.js +60 -0
  198. package/dist/components/tabs/index.scss +75 -0
  199. package/dist/components/tabs/props.d.ts +14 -0
  200. package/dist/components/tabs/props.js +13 -0
  201. package/dist/components/toggle/QToggle.svelte +35 -0
  202. package/dist/components/toggle/QToggle.svelte.d.ts +23 -0
  203. package/dist/components/toggle/docs.d.ts +2 -0
  204. package/dist/components/toggle/docs.js +47 -0
  205. package/dist/components/toggle/docs.props.d.ts +8 -0
  206. package/dist/components/toggle/docs.props.js +42 -0
  207. package/dist/components/toggle/index.scss +31 -0
  208. package/dist/components/toggle/props.d.ts +9 -0
  209. package/dist/components/toggle/props.js +9 -0
  210. package/dist/components/toolbar/QToolbar.svelte +39 -0
  211. package/dist/components/toolbar/QToolbar.svelte.d.ts +23 -0
  212. package/dist/components/toolbar/docs.props.d.ts +8 -0
  213. package/dist/components/toolbar/docs.props.js +18 -0
  214. package/dist/components/toolbar/index.scss +7 -0
  215. package/dist/components/toolbar/props.d.ts +6 -0
  216. package/dist/components/toolbar/props.js +6 -0
  217. package/dist/components/tooltip/QTooltip.svelte +15 -0
  218. package/dist/components/tooltip/QTooltip.svelte.d.ts +22 -0
  219. package/dist/components/tooltip/docs.props.d.ts +8 -0
  220. package/dist/components/tooltip/docs.props.js +18 -0
  221. package/dist/components/tooltip/index.scss +7 -0
  222. package/dist/components/tooltip/props.d.ts +6 -0
  223. package/dist/components/tooltip/props.js +6 -0
  224. package/dist/composables/index.d.ts +0 -0
  225. package/dist/composables/index.js +1 -0
  226. package/dist/composables/use-align.d.ts +8 -0
  227. package/dist/composables/use-align.js +12 -0
  228. package/dist/composables/use-index.d.ts +2 -0
  229. package/dist/composables/use-index.js +17 -0
  230. package/dist/composables/use-router-link.d.ts +18 -0
  231. package/dist/composables/use-router-link.js +27 -0
  232. package/dist/composables/use-size.d.ts +11 -0
  233. package/dist/composables/use-size.js +13 -0
  234. package/dist/css/grid.scss +65 -0
  235. package/dist/css/index.scss +119 -0
  236. package/dist/css/mixins/field.scss +430 -0
  237. package/dist/css/mixins/menu.scss +70 -0
  238. package/dist/css/mixins/selection.scss +184 -0
  239. package/dist/css/mixins/table.scss +36 -0
  240. package/dist/css/mixins.scss +135 -0
  241. package/dist/css/states.scss +70 -0
  242. package/dist/css/theme/colors.module.scss +180 -0
  243. package/dist/css/theme/theme.dark.scss +36 -0
  244. package/dist/css/theme/theme.light.scss +36 -0
  245. package/dist/css/theme/theme.scss +5 -0
  246. package/dist/css/theme/tokens.scss +266 -0
  247. package/dist/css/theme/typography.module.scss +150 -0
  248. package/dist/global.d.ts +10 -0
  249. package/dist/helpers/activationHandler.d.ts +9 -0
  250. package/dist/helpers/activationHandler.js +23 -0
  251. package/dist/helpers/clickOutside.d.ts +6 -0
  252. package/dist/helpers/clickOutside.js +34 -0
  253. package/dist/helpers/index.d.ts +2 -0
  254. package/dist/helpers/index.js +2 -0
  255. package/dist/index.d.ts +1 -0
  256. package/dist/index.js +2 -0
  257. package/dist/stores/QTheme.d.ts +41 -0
  258. package/dist/stores/QTheme.js +53 -0
  259. package/dist/stores/Quaff.d.ts +31 -0
  260. package/dist/stores/Quaff.js +52 -0
  261. package/dist/utils/clipboard.d.ts +1 -0
  262. package/dist/utils/clipboard.js +11 -0
  263. package/dist/utils/colors.d.ts +10 -0
  264. package/dist/utils/colors.js +102 -0
  265. package/dist/utils/fields.d.ts +1 -0
  266. package/dist/utils/fields.js +14 -0
  267. package/dist/utils/index.d.ts +0 -0
  268. package/dist/utils/index.js +1 -0
  269. package/dist/utils/props.d.ts +9 -0
  270. package/dist/utils/props.js +31 -0
  271. package/dist/utils/string.d.ts +10 -0
  272. package/dist/utils/string.js +78 -0
  273. package/dist/utils/types.d.ts +42 -0
  274. package/dist/utils/types.js +7 -0
  275. package/dist/utils/types.json +1 -0
  276. package/dist/utils/watchable.d.ts +2 -0
  277. package/dist/utils/watchable.js +22 -0
  278. package/package.json +66 -0
@@ -0,0 +1,226 @@
1
+ export const QSeparatorPropsVertical = [
2
+ {
3
+ name: "spacing",
4
+ type: '"none" | "sm" | "md" | "lg"',
5
+ optional: false,
6
+ clickableType: false,
7
+ description: "",
8
+ default: "",
9
+ },
10
+ {
11
+ name: "inset",
12
+ type: "boolean",
13
+ optional: false,
14
+ clickableType: false,
15
+ description: "",
16
+ default: "",
17
+ },
18
+ {
19
+ name: "vertical",
20
+ type: "true",
21
+ optional: false,
22
+ clickableType: false,
23
+ description: "",
24
+ default: "",
25
+ },
26
+ {
27
+ name: "color",
28
+ type: "string",
29
+ optional: true,
30
+ clickableType: false,
31
+ description: "",
32
+ default: "",
33
+ },
34
+ {
35
+ name: "size",
36
+ type: "string",
37
+ optional: false,
38
+ clickableType: false,
39
+ description: "",
40
+ default: "",
41
+ },
42
+ {
43
+ name: "text",
44
+ type: "string",
45
+ optional: true,
46
+ clickableType: false,
47
+ description: "",
48
+ default: "",
49
+ },
50
+ {
51
+ name: "textAlign",
52
+ type: '"top" | "middle" | "bottom"',
53
+ optional: false,
54
+ clickableType: false,
55
+ description: "",
56
+ default: "",
57
+ },
58
+ ];
59
+ export const QSeparatorPropsHorizontal = [
60
+ {
61
+ name: "spacing",
62
+ type: '"none" | "sm" | "md" | "lg"',
63
+ optional: false,
64
+ clickableType: false,
65
+ description: "",
66
+ default: "",
67
+ },
68
+ {
69
+ name: "inset",
70
+ type: "boolean",
71
+ optional: false,
72
+ clickableType: false,
73
+ description: "",
74
+ default: "",
75
+ },
76
+ {
77
+ name: "vertical",
78
+ type: "false",
79
+ optional: false,
80
+ clickableType: false,
81
+ description: "",
82
+ default: "",
83
+ },
84
+ {
85
+ name: "color",
86
+ type: "string",
87
+ optional: true,
88
+ clickableType: false,
89
+ description: "",
90
+ default: "",
91
+ },
92
+ {
93
+ name: "size",
94
+ type: "string",
95
+ optional: false,
96
+ clickableType: false,
97
+ description: "",
98
+ default: "",
99
+ },
100
+ {
101
+ name: "text",
102
+ type: "string",
103
+ optional: true,
104
+ clickableType: false,
105
+ description: "",
106
+ default: "",
107
+ },
108
+ {
109
+ name: "textAlign",
110
+ type: '"left" | "center" | "right"',
111
+ optional: false,
112
+ clickableType: false,
113
+ description: "",
114
+ default: "",
115
+ },
116
+ ];
117
+ export const QListDocsProps = [
118
+ {
119
+ name: "bordered",
120
+ type: "boolean",
121
+ optional: false,
122
+ clickableType: false,
123
+ description: "",
124
+ default: "",
125
+ },
126
+ {
127
+ name: "roundedBorders",
128
+ type: "boolean",
129
+ optional: false,
130
+ clickableType: false,
131
+ description: "",
132
+ default: "",
133
+ },
134
+ {
135
+ name: "dense",
136
+ type: "boolean",
137
+ optional: false,
138
+ clickableType: false,
139
+ description: "",
140
+ default: "",
141
+ },
142
+ {
143
+ name: "separator",
144
+ type: "boolean",
145
+ optional: false,
146
+ clickableType: false,
147
+ description: "",
148
+ default: "",
149
+ },
150
+ {
151
+ name: "separatorOptions",
152
+ type: 'QSeparatorProps["textAlign"]\r\n };',
153
+ optional: false,
154
+ clickableType: true,
155
+ description: "",
156
+ default: "",
157
+ },
158
+ {
159
+ name: "padding",
160
+ type: "boolean",
161
+ optional: false,
162
+ clickableType: false,
163
+ description: "",
164
+ default: "",
165
+ },
166
+ {
167
+ name: "tag",
168
+ type: "string",
169
+ optional: true,
170
+ clickableType: false,
171
+ description: "",
172
+ default: "",
173
+ },
174
+ ];
175
+ export const QItemDocsProps = [
176
+ {
177
+ name: "tag",
178
+ type: "string",
179
+ optional: false,
180
+ clickableType: false,
181
+ description: "",
182
+ default: "",
183
+ },
184
+ {
185
+ name: "active",
186
+ type: "boolean",
187
+ optional: false,
188
+ clickableType: false,
189
+ description: "",
190
+ default: "",
191
+ },
192
+ {
193
+ name: "clickable",
194
+ type: "boolean",
195
+ optional: false,
196
+ clickableType: false,
197
+ description: "",
198
+ default: "",
199
+ },
200
+ {
201
+ name: "dense",
202
+ type: "boolean",
203
+ optional: false,
204
+ clickableType: false,
205
+ description: "",
206
+ default: "",
207
+ },
208
+ {
209
+ name: "tabindex",
210
+ type: "string | number",
211
+ optional: false,
212
+ clickableType: false,
213
+ description: "",
214
+ default: "",
215
+ },
216
+ ];
217
+ export const QItemSectionDocsProps = [
218
+ {
219
+ name: "type",
220
+ type: "QItemSectionTypes",
221
+ optional: false,
222
+ clickableType: true,
223
+ description: "",
224
+ default: "",
225
+ },
226
+ ];
@@ -0,0 +1,114 @@
1
+ .q-list {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: center;
5
+ justify-content: center;
6
+ width: 100%;
7
+
8
+ &.rounded-borders {
9
+ border-radius: 0.25rem;
10
+ }
11
+
12
+ &.dense {
13
+ min-height: 32px;
14
+ padding-block: 0;
15
+
16
+ & > .q-item {
17
+ min-height: 32px;
18
+ }
19
+ }
20
+
21
+ & > .q-separator__wrapper:first-child {
22
+ display: none !important;
23
+ }
24
+ }
25
+
26
+ .q-item {
27
+ min-width: 100%;
28
+ min-height: 56px;
29
+ margin-top: 0 !important;
30
+ margin: 0;
31
+ padding: 8px 24px 8px 16px;
32
+ gap: 16px;
33
+
34
+ & .q-avatar {
35
+ height: 40px;
36
+ width: 40px;
37
+ }
38
+
39
+ &.wave {
40
+ padding: 8px 24px 8px 16px;
41
+
42
+ &.multiline {
43
+ padding-block: 12px;
44
+ }
45
+
46
+ &::after {
47
+ background-image: radial-gradient(circle, rgb(150 150 150 / 0.2) 1%, transparent 1%);
48
+ }
49
+ }
50
+
51
+ &.multiline {
52
+ padding-block: 12px;
53
+
54
+ &
55
+ > :is(
56
+ .q-item__section--avatar,
57
+ .q-item__section--icon,
58
+ .q-item__section--thumbnail,
59
+ .q-item__section--trailingIcon,
60
+ .q-item__section--trailingText
61
+ ) {
62
+ align-self: start;
63
+ }
64
+
65
+ & > .q-item__section--video {
66
+ margin-left: -16px !important;
67
+ padding-block: 0;
68
+ }
69
+ }
70
+ }
71
+
72
+ .q-item__section {
73
+ display: flex;
74
+
75
+ &--video {
76
+ margin-left: -8px;
77
+ padding-block: 4px;
78
+
79
+ & video {
80
+ width: 114px;
81
+ height: 64px;
82
+ object-fit: cover;
83
+ object-position: center;
84
+ }
85
+ }
86
+
87
+ &--avatar {
88
+ height: 40px;
89
+ width: 40px;
90
+ }
91
+ &--icon {
92
+ height: 24px;
93
+ width: 24px;
94
+ }
95
+
96
+ &--thumbnail img {
97
+ width: 56px;
98
+ height: 56px;
99
+ object-fit: cover;
100
+ object-position: center;
101
+ }
102
+
103
+ &--content {
104
+ flex-direction: column;
105
+ flex: 10000 1 0;
106
+ justify-content: center;
107
+ align-items: start;
108
+ }
109
+
110
+ &--toggle {
111
+ height: 24px;
112
+ width: 52px;
113
+ }
114
+ }
@@ -0,0 +1,33 @@
1
+ import { type NativeProps } from "../../utils/types";
2
+ import type { QSeparatorProps } from "../separator/props";
3
+ import { type UseRouterLinkProps } from "../../composables/use-router-link";
4
+ export interface QListProps extends NativeProps {
5
+ bordered: boolean;
6
+ roundedBorders: boolean;
7
+ dense: boolean;
8
+ separator: boolean;
9
+ separatorOptions: {
10
+ spacing?: QSeparatorProps["spacing"];
11
+ inset?: QSeparatorProps["inset"];
12
+ color?: QSeparatorProps["color"];
13
+ size?: QSeparatorProps["size"];
14
+ text?: QSeparatorProps["text"];
15
+ textAlign?: QSeparatorProps["textAlign"];
16
+ };
17
+ padding: boolean;
18
+ tag?: string;
19
+ }
20
+ export declare const QListPropsDefaults: QListProps;
21
+ export interface QItemProps extends UseRouterLinkProps, NativeProps {
22
+ tag: string;
23
+ active: boolean;
24
+ clickable: boolean;
25
+ dense: boolean;
26
+ tabindex: string | number;
27
+ }
28
+ export declare const QItemPropsDefaults: QItemProps;
29
+ export type QItemSectionTypes = "thumbnail" | "video" | "avatar" | "toggle" | "icon" | "trailingIcon" | "trailingText" | "content";
30
+ export interface QItemSectionProps extends NativeProps {
31
+ type: QItemSectionTypes;
32
+ }
33
+ export declare const QItemSectionPropsDefaults: QItemSectionProps;
@@ -0,0 +1,25 @@
1
+ import { NativePropsDefaults } from "../../utils/types";
2
+ import { UseRouterLinkPropsDefaults, } from "../../composables/use-router-link";
3
+ export const QListPropsDefaults = {
4
+ bordered: false,
5
+ roundedBorders: false,
6
+ dense: false,
7
+ separator: false,
8
+ separatorOptions: {},
9
+ padding: false,
10
+ tag: "div",
11
+ ...NativePropsDefaults,
12
+ };
13
+ export const QItemPropsDefaults = {
14
+ tag: "div",
15
+ active: false,
16
+ clickable: false,
17
+ dense: false,
18
+ tabindex: 0,
19
+ ...UseRouterLinkPropsDefaults,
20
+ ...NativePropsDefaults,
21
+ };
22
+ export const QItemSectionPropsDefaults = {
23
+ type: "content",
24
+ ...NativePropsDefaults,
25
+ };
@@ -0,0 +1,13 @@
1
+ <script>import { setContext } from "svelte";
2
+ export let keys;
3
+ $:
4
+ if (Array.isArray(keys)) {
5
+ for (let key of keys) {
6
+ setContext(key, void 0);
7
+ }
8
+ } else {
9
+ setContext(keys, void 0);
10
+ }
11
+ </script>
12
+
13
+ <slot />
@@ -0,0 +1,18 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ keys: string | string[];
5
+ };
6
+ events: {
7
+ [evt: string]: CustomEvent<any>;
8
+ };
9
+ slots: {
10
+ default: {};
11
+ };
12
+ };
13
+ export type ContextReseterProps = typeof __propDef.props;
14
+ export type ContextReseterEvents = typeof __propDef.events;
15
+ export type ContextReseterSlots = typeof __propDef.slots;
16
+ export default class ContextReseter extends SvelteComponentTyped<ContextReseterProps, ContextReseterEvents, ContextReseterSlots> {
17
+ }
18
+ export {};
@@ -0,0 +1,142 @@
1
+ <script>import { capitalize } from "../../utils/string";
2
+ import {
3
+ QCard,
4
+ QIcon,
5
+ QTabs,
6
+ QTab,
7
+ QCardSection,
8
+ QList,
9
+ QItem,
10
+ QItemSection,
11
+ QDrawer,
12
+ QCodeBlock
13
+ } from "../..";
14
+ import Types from "$utils/types.json";
15
+ export let QComponentDocs;
16
+ let api = QComponentDocs.map((_doc) => "props");
17
+ let drawer = Object.fromEntries(
18
+ QComponentDocs.map((doc) => [
19
+ doc.name,
20
+ Object.fromEntries(
21
+ doc.docs.props.map((prop) => [prop.name, prop.clickableType ? false : void 0])
22
+ )
23
+ ])
24
+ );
25
+ let drawerContent = "";
26
+ function isProp(doc, index) {
27
+ return api[index] === "props";
28
+ }
29
+ function isEvent(doc, index) {
30
+ return api[index] === "events";
31
+ }
32
+ function getType(type) {
33
+ type = type.replace("[]", "");
34
+ let found = type in Types ? Types[type] : void 0;
35
+ return found;
36
+ }
37
+ function handleDrawer(QDocument, doc) {
38
+ let content = getType(doc.type);
39
+ if (!drawer[QDocument.name][doc.name]) {
40
+ drawerContent = content;
41
+ drawer[QDocument.name][doc.name] = true;
42
+ } else {
43
+ if (content !== drawerContent) {
44
+ drawer[QDocument.name][doc.name] = false;
45
+ setTimeout(() => {
46
+ drawerContent = content;
47
+ drawer[QDocument.name][doc.name] = true;
48
+ }, 250);
49
+ } else {
50
+ drawer[QDocument.name][doc.name] = false;
51
+ }
52
+ }
53
+ }
54
+ </script>
55
+
56
+ {#each QComponentDocs as QDocument, index}
57
+ <QCard class="q-px-none q-pb-none">
58
+ <div slot="title" class="flex between-align middle-align q-px-md">
59
+ <h5 class="no-margin">
60
+ <QIcon name="info" />
61
+ <span class="q-ml-md">{QDocument.name} API</span>
62
+ </h5>
63
+ <QTabs bind:value={api[index]} class="no-margin">
64
+ {#each Object.entries(QDocument.docs) as [tabName, _tabDoc]}
65
+ {#if _tabDoc.length !== 0}
66
+ <QTab name={tabName} style="min-width: 100px">
67
+ <h6>{capitalize(tabName)}</h6>
68
+ </QTab>
69
+ {/if}
70
+ {/each}
71
+ </QTabs>
72
+ </div>
73
+ <QCardSection style="max-height: 416px; overflow-y: scroll">
74
+ <QList separator bordered style="overflow:hidden">
75
+ {#each QDocument.docs[api[index]] as doc}
76
+ <QItem style="overflow: visible">
77
+ {#if isProp(doc, index) && doc.clickableType}
78
+ <QDrawer
79
+ side="right"
80
+ class="no-padding"
81
+ style="height: fit-content; max-height: 400%; overflow: auto; border-radius: 0;"
82
+ bind:value={drawer[QDocument.name][doc.name]}
83
+ width="50%"
84
+ >
85
+ <QCodeBlock language="ts" code={drawerContent} />
86
+ </QDrawer>
87
+ {/if}
88
+ <QItemSection type="content" style="overflow: visible">
89
+ <div slot="headline" class="q-my-sm" style="flex: 1 1 0; white-space: nowrap">
90
+ <span class=" small-padding surface-variant small-round">
91
+ <b>{doc.name}</b>
92
+ {#if isProp(doc, index)}
93
+ {doc.optional ? "?" : ""}
94
+ {#if doc.clickableType === true}
95
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
96
+ <span
97
+ class="prop-type clickable"
98
+ on:click={() => isProp(doc, index) && handleDrawer(QDocument, doc)}
99
+ >
100
+ : {doc.type}
101
+ </span>
102
+ {:else}
103
+ <span class="prop-type">
104
+ : {doc.type}
105
+ </span>
106
+ {/if}
107
+ {doc.default === "" ? "" : ` = ${doc.default}`}
108
+ {:else if isEvent(doc, index)}
109
+ <span class="prop-type">
110
+ : {doc.type}
111
+ </span>
112
+ {/if}
113
+ </span>
114
+ </div>
115
+ <div slot="line1" class="q-mt-sm prop-description">{@html doc.description}</div>
116
+ </QItemSection>
117
+ </QItem>
118
+ {/each}
119
+ </QList>
120
+ </QCardSection>
121
+ </QCard>
122
+ {/each}
123
+
124
+ <style>.clickable {
125
+ cursor: pointer;
126
+ }
127
+ .clickable:hover {
128
+ color: var(--primary);
129
+ }
130
+
131
+ .q-item {
132
+ overflow: visible;
133
+ }
134
+ pre[class*=language-] {
135
+ margin: 0;
136
+ padding: 1em;
137
+ border-radius: inherit;
138
+ }
139
+
140
+ :global(.prop-description > a:hover) {
141
+ color: var(--primary);
142
+ }</style>
@@ -0,0 +1,17 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { QComponentDocs } from "../../utils/types";
3
+ declare const __propDef: {
4
+ props: {
5
+ QComponentDocs: QComponentDocs[];
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {};
11
+ };
12
+ export type QApiProps = typeof __propDef.props;
13
+ export type QApiEvents = typeof __propDef.events;
14
+ export type QApiSlots = typeof __propDef.slots;
15
+ export default class QApi extends SvelteComponentTyped<QApiProps, QApiEvents, QApiSlots> {
16
+ }
17
+ export {};
@@ -0,0 +1,66 @@
1
+ <script>import { QCard, QCardSection } from "../..";
2
+ import { Quaff } from "../../stores/Quaff";
3
+ import QApi from "./QApi.svelte";
4
+ export let QComponentDocs;
5
+ $:
6
+ isDark = $Quaff.dark.isActive;
7
+ let principalDocument = Array.isArray(QComponentDocs) ? QComponentDocs[0] : QComponentDocs;
8
+ </script>
9
+
10
+ <div style="margin: 1rem">
11
+ <div class="grid" style="min-height: 400px">
12
+ <QCard class="s12 l6 flex center-align" fill="primary">
13
+ <h1 class="large no-margin" slot="title">{principalDocument.name}</h1>
14
+ </QCard>
15
+ <QCard class="s12 l6 q-mt-none q-pa-none" fill="secondary">
16
+ <QCardSection class="no-padding">
17
+ <div
18
+ class="flex center-align middle-align"
19
+ style="position: absolute; height: 100%; width: 100%; z-index: 1;"
20
+ >
21
+ <slot name="display" />
22
+ </div>
23
+ <img
24
+ class="responsive medium"
25
+ src="/beer-splash-{isDark ? 'dark' : 'light'}.jpg"
26
+ alt="Close-up of the content of a glass of beer"
27
+ style={isDark ? "filter:brightness(0.3)" : ""}
28
+ />
29
+ </QCardSection>
30
+ <QCardSection class="flex center-align middle-align">
31
+ <h3 class="small">
32
+ {principalDocument.description}
33
+ </h3>
34
+ </QCardSection>
35
+ </QCard>
36
+ </div>
37
+
38
+ <QApi QComponentDocs={Array.isArray(QComponentDocs) ? QComponentDocs : [QComponentDocs]} />
39
+
40
+ {#if $$slots.usage}
41
+ <div class="s12 q-pa-md">
42
+ <div class="heading-usage">
43
+ <h4 class="q-my-xl">Usage</h4>
44
+ </div>
45
+
46
+ <slot name="usage" />
47
+ </div>
48
+ {/if}
49
+
50
+ <slot />
51
+ </div>
52
+
53
+ <style>.prop-type {
54
+ opacity: 0.75;
55
+ }
56
+ .prop-type.clickable {
57
+ cursor: pointer;
58
+ }
59
+ .prop-type.clickable:hover {
60
+ opacity: 1;
61
+ }
62
+
63
+ .heading-usage {
64
+ display: flex;
65
+ align-items: center;
66
+ }</style>
@@ -0,0 +1,21 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { QComponentDocs } from "$utils/types";
3
+ declare const __propDef: {
4
+ props: {
5
+ QComponentDocs: QComponentDocs | QComponentDocs[];
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {
11
+ display: {};
12
+ usage: {};
13
+ default: {};
14
+ };
15
+ };
16
+ export type QDocsProps = typeof __propDef.props;
17
+ export type QDocsEvents = typeof __propDef.events;
18
+ export type QDocsSlots = typeof __propDef.slots;
19
+ export default class QDocs extends SvelteComponentTyped<QDocsProps, QDocsEvents, QDocsSlots> {
20
+ }
21
+ export {};