@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,370 @@
1
+ :root {
2
+ --header-height: 64px;
3
+ --footer-height: 80px;
4
+
5
+ --left-railbar-width: 88px;
6
+ --right-railbar-width: 88px;
7
+
8
+ --left-drawer-width: 300px;
9
+ --right-drawer-width: 300px;
10
+ }
11
+
12
+ .q-layout {
13
+ position: relative;
14
+ width: 100%;
15
+ height: 100%;
16
+ min-width: 100%;
17
+ min-height: 100%;
18
+ overflow: hidden;
19
+
20
+ & > :not(.q-header, .q-footer, .q-railbar, .q-drawer) {
21
+ height: 100%;
22
+ overflow: auto;
23
+ transition: padding var(--speed3);
24
+ }
25
+ }
26
+
27
+ .q-layout > .q-header {
28
+ z-index: 103;
29
+ position: absolute;
30
+ top: 0px;
31
+ right: 0px;
32
+ bottom: auto;
33
+ left: 0px;
34
+ height: var(--header-height);
35
+ min-height: unset;
36
+ border-radius: 0;
37
+
38
+ & > nav {
39
+ height: 100%;
40
+ min-height: unset;
41
+ }
42
+
43
+ &.fixed {
44
+ position: fixed;
45
+
46
+ &::before {
47
+ margin: 0;
48
+ }
49
+ }
50
+ }
51
+
52
+ .q-layout > .q-footer {
53
+ z-index: 103;
54
+ position: absolute;
55
+ top: auto;
56
+ right: 0px;
57
+ bottom: 0px;
58
+ left: 0px;
59
+ height: var(--footer-height);
60
+ min-height: unset;
61
+ border-radius: 0;
62
+
63
+ & > nav {
64
+ height: 100%;
65
+ min-height: unset;
66
+ }
67
+
68
+ &.fixed {
69
+ position: fixed;
70
+
71
+ &::before {
72
+ margin: 0;
73
+ }
74
+ }
75
+
76
+ & ~ :not(.q-header, .q-footer, .q-railbar, .q-drawer) {
77
+ padding-bottom: var(--footer-height);
78
+ }
79
+ }
80
+
81
+ .q-layout > .q-railbar {
82
+ z-index: 102;
83
+ position: absolute;
84
+ top: 0px;
85
+ right: auto;
86
+ bottom: 0px;
87
+ left: auto;
88
+ height: 100%;
89
+ overflow: auto;
90
+ transition: all var(--speed3);
91
+
92
+ &.above {
93
+ z-index: 105;
94
+ }
95
+
96
+ &.fixed {
97
+ position: fixed;
98
+ }
99
+
100
+ &.left {
101
+ left: 0px;
102
+ width: var(--left-railbar-width);
103
+
104
+ &.bordered {
105
+ border-right: 0.0625rem solid var(--outline);
106
+ }
107
+ }
108
+
109
+ &.right {
110
+ right: 0px;
111
+ width: var(--right-railbar-width);
112
+
113
+ &.bordered {
114
+ border-left: 0.0625rem solid var(--outline);
115
+ }
116
+ }
117
+
118
+ & > .q-list > .q-item {
119
+ flex-direction: column;
120
+ border-radius: 2rem;
121
+ align-items: center;
122
+ justify-content: center;
123
+ padding: 0 8px;
124
+ gap: 0.25em;
125
+
126
+ &.wave::after {
127
+ all: unset;
128
+ }
129
+
130
+ & > .q-item__section {
131
+ justify-content: start;
132
+ }
133
+
134
+ & > i {
135
+ transition: var(--speed1) padding linear;
136
+ padding-inline: 0.25em;
137
+ }
138
+
139
+ &:is(:hover, :focus, .active) > i {
140
+ background-color: var(--secondary-container);
141
+ color: var(--on-secondary-container);
142
+ padding: 0 1rem;
143
+ font-variation-settings: "FILL" 1, "wght" 400, "opsz" 24;
144
+ }
145
+ }
146
+ }
147
+
148
+ .q-layout > .q-drawer {
149
+ //TODO Problems with z-index between multiple layouts
150
+ z-index: 101;
151
+ border-radius: 0;
152
+
153
+ &.above {
154
+ z-index: 104;
155
+ }
156
+
157
+ &.border-radius {
158
+ &__left {
159
+ &--top {
160
+ border-top-left-radius: 16px;
161
+ }
162
+ &--bottom {
163
+ border-bottom-left-radius: 16px;
164
+ }
165
+ }
166
+ &__right {
167
+ &--top {
168
+ border-top-right-radius: 16px;
169
+ }
170
+ &--bottom {
171
+ border-bottom-right-radius: 16px;
172
+ }
173
+ }
174
+ }
175
+
176
+ & .q-list > .q-item.q-link {
177
+ border-radius: 2rem;
178
+
179
+ &::before {
180
+ content: "";
181
+ position: absolute;
182
+ bottom: 0;
183
+ left: 0;
184
+ width: 100%;
185
+ height: 100%;
186
+ opacity: 0;
187
+ border-radius: inherit;
188
+ background: var(--secondary-container);
189
+ z-index: -1;
190
+ transform: scaleX(0.32);
191
+ transition-duration: 0.2s;
192
+ transition-property: transform, opacity;
193
+ transition-timing-function: linear;
194
+ }
195
+
196
+ &.active {
197
+ color: var(--on-secondary-container);
198
+
199
+ &::before {
200
+ opacity: 1;
201
+ transform: scaleX(1);
202
+ }
203
+ }
204
+
205
+ &:hover {
206
+ background-color: var(--on-surface-variant-2);
207
+ font-variation-settings: "GRAD" 50;
208
+ }
209
+ }
210
+ }
211
+
212
+ // Offsets
213
+ $L_Railbar: var(--left-railbar-width);
214
+ $R_Railbar: var(--right-railbar-width);
215
+ $LR_Railbar: calc(#{$L_Railbar} + #{$R_Railbar});
216
+
217
+ $L_Drawer: var(--left-drawer-width);
218
+ $R_Drawer: var(--right-drawer-width);
219
+ $LR_Drawer: calc(#{$L_Drawer} + #{$R_Drawer});
220
+
221
+ $L_Full: calc(#{$L_Railbar} + #{$L_Drawer});
222
+ $R_Full: calc(#{$R_Railbar} + #{$R_Drawer});
223
+
224
+ $L_Railbar-R_Drawer: calc(#{$L_Railbar} + #{$R_Drawer});
225
+ $R_Railbar-L_Drawer: calc(#{$R_Railbar} + #{$L_Drawer});
226
+
227
+ $L_Full-R_Railbar: calc(#{$L_Full} + #{$R_Railbar});
228
+ $L_Full-R_Drawer: calc(#{$L_Full} + #{$R_Drawer});
229
+ $R_Full-L_Railbar: calc(#{$R_Full} + #{$L_Railbar});
230
+ $R_Full-L_Drawer: calc(#{$R_Full} + #{$L_Drawer});
231
+
232
+ $Full: calc(#{$L_Full} + #{$R_Full});
233
+
234
+ $elements: (
235
+ top: "header",
236
+ bottom: "footer",
237
+ );
238
+
239
+ @function without($toSub) {
240
+ @return calc(100% - #{$toSub});
241
+ }
242
+
243
+ // Offset for content
244
+ .q-layout {
245
+ & > .q-header ~ :not(.q-header, .q-footer, .q-drawer, .q-railbar) {
246
+ padding-top: var(--header-height);
247
+ }
248
+ & > .q-footer ~ :not(.q-header, .q-footer, .q-drawer, .q-railbar) {
249
+ padding-bottom: var(--footer-height);
250
+ }
251
+ & > .q-drawer.active.left:not(.overlay) ~ :not(.q-header, .q-footer, .q-drawer, .q-railbar) {
252
+ padding-left: $L_Drawer;
253
+ }
254
+ & > .q-drawer.active.right:not(.overlay) ~ :not(.q-header, .q-footer, .q-drawer, .q-railbar) {
255
+ padding-right: $R_Drawer;
256
+ }
257
+ & > .q-railbar.left:not([style="display: none"]) {
258
+ & ~ :not(.q-header, .q-footer, .q-drawer, .q-railbar) {
259
+ padding-left: $L_Railbar;
260
+ }
261
+
262
+ & ~ .q-drawer.active.left:not(.overlay) ~ :not(.q-header, .q-footer, .q-drawer, .q-railbar) {
263
+ padding-left: $L_Full;
264
+ }
265
+ }
266
+ & > .q-railbar.right:not([style="display: none"]) {
267
+ & ~ :not(.q-header, .q-footer, .q-drawer, .q-railbar) {
268
+ padding-right: $R_Railbar;
269
+ }
270
+
271
+ & ~ .q-drawer.active.right:not(.overlay) ~ :not(.q-header, .q-footer, .q-drawer, .q-railbar) {
272
+ padding-right: $R_Full;
273
+ }
274
+ }
275
+ }
276
+
277
+ // Inline offset for header, footer and drawers
278
+ .q-layout {
279
+ @each $pos, $el in $elements {
280
+ & > .q-railbar.left:not([style="display: none"]) {
281
+ &:not(.offset-#{$pos}) ~ .q-#{$el},
282
+ & ~ .q-drawer.left {
283
+ left: $L_Railbar;
284
+ }
285
+
286
+ & ~ .q-drawer.active.left:not(.offset-#{$pos}, .overlay) ~ .q-#{$el} {
287
+ left: $L_Full;
288
+ }
289
+ }
290
+ & > .q-railbar.right:not([style="display: none"]) {
291
+ &:not(.offset-#{$pos}) ~ .q-#{$el},
292
+ & ~ .q-drawer.right {
293
+ right: $R_Railbar;
294
+ }
295
+
296
+ & ~ .q-drawer.active.right:not(.offset-#{$pos}, .overlay) ~ .q-#{$el} {
297
+ right: $R_Full;
298
+ }
299
+ }
300
+
301
+ & > .q-drawer.active.left:not(.offset-#{$pos}, .overlay) ~ .q-#{$el} {
302
+ left: $L_Drawer;
303
+ }
304
+ & > .q-drawer.active.right:not(.offset-#{$pos}, .overlay) ~ .q-#{$el} {
305
+ right: $R_Drawer;
306
+ }
307
+ }
308
+ }
309
+
310
+ // Width for header and footer
311
+ .q-layout {
312
+ @each $pos, $el in $elements {
313
+ & > .q-railbar.left:not(.offset-#{$pos}, [style="display: none"]) {
314
+ // Left railbar
315
+ & ~ .q-#{$el} {
316
+ width: without($L_Railbar);
317
+ }
318
+
319
+ & ~ .q-drawer.active:not(.offset-#{$pos}, .overlay) {
320
+ @include include-drawers(without($L_Railbar), $pos, $el);
321
+ }
322
+
323
+ & ~ .q-railbar.right:not(.offset-#{$pos}, [style="display: none"]) {
324
+ // Left railbar + Right railbar
325
+ & ~ .q-#{$el} {
326
+ width: without($LR_Railbar);
327
+ }
328
+
329
+ & ~ .q-drawer.active:not(.offset-#{$pos}, .overlay) {
330
+ @include include-drawers(without($LR_Railbar), $pos, $el);
331
+ }
332
+ }
333
+ }
334
+
335
+ & > .q-railbar.right:not(.offset-#{$pos}, [style="display: none"]) {
336
+ // Right railbar
337
+ & ~ .q-#{$el} {
338
+ width: without($R_Railbar);
339
+ }
340
+
341
+ & ~ .q-drawer.active:not(.offset-#{$pos}, .overlay) {
342
+ @include include-drawers(without($R_Railbar), $pos, $el);
343
+ }
344
+ }
345
+
346
+ & > .q-drawer.active:not(.offset-#{$pos}, .overlay) {
347
+ @include include-drawers(100%, $pos, $el);
348
+ }
349
+ }
350
+ }
351
+
352
+ // Height for railbars and drawers
353
+ .q-layout {
354
+ & > .q-railbar,
355
+ & > .q-drawer {
356
+ &.offset-top.offset-bottom {
357
+ height: calc(100% - var(--header-height) - var(--footer-height));
358
+ }
359
+ }
360
+
361
+ @each $pos, $el in $elements {
362
+ & > .q-railbar,
363
+ & > .q-drawer {
364
+ &.offset-#{$pos} {
365
+ #{$pos}: var(--#{$el}-height);
366
+ height: calc(100% - var(--#{$el}-height));
367
+ }
368
+ }
369
+ }
370
+ }
@@ -0,0 +1,41 @@
1
+ import type { NativeProps } from "../../utils/types";
2
+ export type QLayoutViewOptions = `${"l" | "h"}${"h" | "H"}${"r" | "h"} ${"l" | "L"}${"p"}${"r" | "R"} ${"l" | "f"}${"f" | "F"}${"r" | "f"}`;
3
+ export interface QLayoutProps extends NativeProps {
4
+ /**
5
+ * The layout view configuration, which defines how layout components (header, railbars, drawers, footer) should be displayed on screen.
6
+ * See <a href="https://quasar.dev/layout/layout/#understanding-the-view-prop" target="_blank">Quasar's explanation on the view prop</a>.
7
+ * @default "hhh lpr fff"
8
+ */
9
+ view: QLayoutViewOptions;
10
+ /**
11
+ * The height of the header. Can be specified with CSS units. If no unit is specified, "px" will be used.
12
+ * @default 64px
13
+ */
14
+ headerHeight: string | number;
15
+ /**
16
+ * The height of the footer. Can be specified with CSS units. If no unit is specified, "px" will be used.
17
+ * @default 80px
18
+ */
19
+ footerHeight: string | number;
20
+ /**
21
+ * The width of the left drawer. Can be specified with CSS units. If no unit is specified, "px" will be used.
22
+ * @default 300px
23
+ */
24
+ leftDrawerWidth: string | number;
25
+ /**
26
+ * The width of the right drawer. Can be specified with CSS units. If no unit is specified, "px" will be used.
27
+ * @default 300px
28
+ */
29
+ rightDrawerWidth: string | number;
30
+ /**
31
+ * The width of the left railbar. Can be specified with CSS units. If no unit is specified, "px" will be used.
32
+ * @default 88px
33
+ */
34
+ leftRailbarWidth: string | number;
35
+ /**
36
+ * The width of the right railbar. Can be specified with CSS units. If no unit is specified, "px" will be used.
37
+ * @default 88px
38
+ */
39
+ rightRailbarWidth: string | number;
40
+ }
41
+ export type QLayoutEvents = "resize" | "scroll" | "scrollHeight";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,60 @@
1
+ <script>import QSeparator from "../separator/QSeparator.svelte";
2
+ import useRouterLink, { isRouteActive } from "../../composables/use-router-link";
3
+ import { createClasses } from "../../utils/props";
4
+ import { getContext, setContext } from "svelte";
5
+ import { Quaff } from "../../stores/Quaff";
6
+ import { writable } from "svelte/store";
7
+ export let tag = "div", active = false, clickable = false, dense = false, tabindex = 0, href = void 0, to = void 0, disable = false, activeClass = void 0, replace = false, userClasses = void 0;
8
+ export { userClasses as class };
9
+ let hasMultiplLines = writable(false);
10
+ setContext("hasMultipleLines", hasMultiplLines);
11
+ $:
12
+ ({ hasLink, linkAttributes, linkClasses } = useRouterLink({
13
+ href,
14
+ to,
15
+ disable,
16
+ activeClass,
17
+ replace
18
+ }));
19
+ $:
20
+ separatorOptions = getContext("separator");
21
+ $:
22
+ isActionable = clickable === true || hasLink === true || tag === "label";
23
+ $:
24
+ isClickable = disable !== true && isActionable === true;
25
+ $:
26
+ isActive = isRouteActive($Quaff.router, to);
27
+ $:
28
+ classes = createClasses([
29
+ "q-item flex middle-align",
30
+ $hasMultiplLines && "multiline",
31
+ dense && "dense",
32
+ hasLink && active && "q-item--active",
33
+ hasLink && active && activeClass,
34
+ isActive && "active",
35
+ isClickable && "wave",
36
+ linkClasses,
37
+ userClasses
38
+ ]);
39
+ $:
40
+ attributes = {
41
+ class: classes,
42
+ tabindex: isClickable == true ? Number(tabindex) || 0 : void 0,
43
+ "aria-disabled": isActionable === true && disable === true ? true : void 0,
44
+ ...$$restProps
45
+ };
46
+ </script>
47
+
48
+ {#if separatorOptions !== undefined}
49
+ <QSeparator {...separatorOptions} />
50
+ {/if}
51
+ {#if linkAttributes.href !== undefined}
52
+ <!-- svelte-ignore a11y-missing-attribute -->
53
+ <a {...attributes} {...linkAttributes} {...$$restProps} on:mouseenter on:mouseleave on:click>
54
+ <slot />
55
+ </a>
56
+ {:else}
57
+ <div {...attributes} {...$$restProps} on:mouseenter on:mouseleave on:click>
58
+ <slot />
59
+ </div>
60
+ {/if}
@@ -0,0 +1,34 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { QItemProps } from "./props";
3
+ declare const __propDef: {
4
+ props: {
5
+ [x: string]: any;
6
+ tag?: string | undefined;
7
+ active?: boolean | undefined;
8
+ clickable?: boolean | undefined;
9
+ dense?: boolean | undefined;
10
+ tabindex?: string | number | undefined;
11
+ href?: QItemProps["href"];
12
+ to?: QItemProps["to"];
13
+ disable?: boolean | undefined;
14
+ activeClass?: QItemProps["activeClass"];
15
+ replace?: boolean | undefined;
16
+ class?: string | undefined;
17
+ };
18
+ events: {
19
+ mouseenter: MouseEvent;
20
+ mouseleave: MouseEvent;
21
+ click: MouseEvent;
22
+ } & {
23
+ [evt: string]: CustomEvent<any>;
24
+ };
25
+ slots: {
26
+ default: {};
27
+ };
28
+ };
29
+ export type QItemProps = typeof __propDef.props;
30
+ export type QItemEvents = typeof __propDef.events;
31
+ export type QItemSlots = typeof __propDef.slots;
32
+ export default class QItem extends SvelteComponentTyped<QItemProps, QItemEvents, QItemSlots> {
33
+ }
34
+ export {};
@@ -0,0 +1,47 @@
1
+ <script>import { createClasses } from "../../utils/props";
2
+ import { getContext } from "svelte";
3
+ export let type = "content", userClasses = void 0;
4
+ export { userClasses as class };
5
+ $:
6
+ ctx = getContext("hasMultipleLines");
7
+ $:
8
+ if (type === "content") {
9
+ $ctx = $$slots.headline && [$$slots.line1, $$slots.line2, $$slots.line3].filter(Boolean).length >= 2;
10
+ }
11
+ $:
12
+ classes = createClasses([`q-item__section `, `q-item__section--${type}`, userClasses]);
13
+ </script>
14
+
15
+ <div class={classes} {...$$restProps}>
16
+ {#if type === "content"}
17
+ {#if [$$slots.headline, $$slots.line2, $$slots.line2, $$slots.line3].some(Boolean) === false}
18
+ <slot />
19
+ {/if}
20
+ {#if $$slots.headline}
21
+ <div class="body-large on-surface-text">
22
+ <slot name="headline" />
23
+ </div>
24
+ {/if}
25
+ <div class="body-medium on-surface-variant-text">
26
+ {#if $$slots.line1}
27
+ <slot name="line1" />
28
+ {/if}
29
+ </div>
30
+ {#if $$slots.line2}
31
+ <div class="body-medium on-surface-variant-text">
32
+ <slot name="line2" />
33
+ </div>
34
+ {/if}
35
+ {#if $$slots.line3}
36
+ <div class="body-medium on-surface-variant-text">
37
+ <slot name="line3" />
38
+ </div>
39
+ {/if}
40
+ {:else if type === "trailingText"}
41
+ <div class="label-small on-surface-variant-text">
42
+ <slot />
43
+ </div>
44
+ {:else}
45
+ <slot />
46
+ {/if}
47
+ </div>
@@ -0,0 +1,25 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { QItemSectionProps } from "./props";
3
+ declare const __propDef: {
4
+ props: {
5
+ [x: string]: any;
6
+ type?: import("./props").QItemSectionTypes | undefined;
7
+ class?: string | undefined;
8
+ };
9
+ events: {
10
+ [evt: string]: CustomEvent<any>;
11
+ };
12
+ slots: {
13
+ default: {};
14
+ headline: {};
15
+ line1: {};
16
+ line2: {};
17
+ line3: {};
18
+ };
19
+ };
20
+ export type QItemSectionProps = typeof __propDef.props;
21
+ export type QItemSectionEvents = typeof __propDef.events;
22
+ export type QItemSectionSlots = typeof __propDef.slots;
23
+ export default class QItemSection extends SvelteComponentTyped<QItemSectionProps, QItemSectionEvents, QItemSectionSlots> {
24
+ }
25
+ export {};
@@ -0,0 +1,23 @@
1
+ <script>import { setIndex } from "../../composables/use-index";
2
+ import { createClasses } from "../../utils/props";
3
+ import { onMount, setContext } from "svelte";
4
+ export let bordered = false, roundedBorders = false, dense = false, separator = false, separatorOptions = {}, padding = false, tag = "div", userClasses = void 0;
5
+ export { userClasses as class };
6
+ let listElement;
7
+ onMount(() => listElement.querySelector(".q-separator__wrapper:first-child")?.remove());
8
+ $:
9
+ setContext("separator", separator === true ? separatorOptions : void 0);
10
+ $:
11
+ classes = createClasses([
12
+ "q-list",
13
+ bordered && "border",
14
+ dense && "dense",
15
+ padding && "q-py-sm",
16
+ roundedBorders && "rounded-borders",
17
+ userClasses
18
+ ]);
19
+ </script>
20
+
21
+ <svelte:element this={tag} class={classes} {...$$restProps} bind:this={listElement} on:scroll>
22
+ <slot />
23
+ </svelte:element>
@@ -0,0 +1,36 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { QListProps } from "./props";
3
+ declare const __propDef: {
4
+ props: {
5
+ [x: string]: any;
6
+ bordered?: boolean | undefined;
7
+ roundedBorders?: boolean | undefined;
8
+ dense?: boolean | undefined;
9
+ separator?: boolean | undefined;
10
+ separatorOptions?: {
11
+ spacing?: "sm" | "md" | "lg" | "none" | undefined;
12
+ inset?: boolean | undefined;
13
+ color?: string | undefined;
14
+ size?: string | undefined;
15
+ text?: string | undefined;
16
+ textAlign?: "top" | "bottom" | "left" | "right" | "center" | "middle" | undefined;
17
+ } | undefined;
18
+ padding?: boolean | undefined;
19
+ tag?: QListProps["tag"];
20
+ class?: string | undefined;
21
+ };
22
+ events: {
23
+ scroll: Event;
24
+ } & {
25
+ [evt: string]: CustomEvent<any>;
26
+ };
27
+ slots: {
28
+ default: {};
29
+ };
30
+ };
31
+ export type QListProps = typeof __propDef.props;
32
+ export type QListEvents = typeof __propDef.events;
33
+ export type QListSlots = typeof __propDef.slots;
34
+ export default class QList extends SvelteComponentTyped<QListProps, QListEvents, QListSlots> {
35
+ }
36
+ export {};
@@ -0,0 +1,40 @@
1
+ export declare const QSeparatorPropsVertical: {
2
+ name: string;
3
+ type: string;
4
+ optional: boolean;
5
+ clickableType: boolean;
6
+ description: string;
7
+ default: string;
8
+ }[];
9
+ export declare const QSeparatorPropsHorizontal: {
10
+ name: string;
11
+ type: string;
12
+ optional: boolean;
13
+ clickableType: boolean;
14
+ description: string;
15
+ default: string;
16
+ }[];
17
+ export declare const QListDocsProps: {
18
+ name: string;
19
+ type: string;
20
+ optional: boolean;
21
+ clickableType: boolean;
22
+ description: string;
23
+ default: string;
24
+ }[];
25
+ export declare const QItemDocsProps: {
26
+ name: string;
27
+ type: string;
28
+ optional: boolean;
29
+ clickableType: boolean;
30
+ description: string;
31
+ default: string;
32
+ }[];
33
+ export declare const QItemSectionDocsProps: {
34
+ name: string;
35
+ type: string;
36
+ optional: boolean;
37
+ clickableType: boolean;
38
+ description: string;
39
+ default: string;
40
+ }[];