@hkdigital/lib-sveltekit 0.0.95 → 0.0.97
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.
- package/dist/components/buttons/index.d.ts +1 -0
- package/dist/components/buttons/index.js +1 -0
- package/dist/components/buttons/plain-button/PlainButton.svelte +37 -0
- package/dist/components/buttons/plain-button/PlainButton.svelte.d.ts +10 -0
- package/dist/components/inputs/index.d.ts +1 -0
- package/dist/components/inputs/index.js +1 -0
- package/dist/components/inputs/text-input/TestTextInput.svelte__ +102 -0
- package/dist/components/inputs/text-input/TextInput.svelte +226 -0
- package/dist/components/inputs/text-input/TextInput.svelte.d.ts +26 -0
- package/dist/components/inputs/text-input/TextInput.svelte___ +83 -0
- package/dist/components/inputs/text-input/assets/IconInvalid.svelte +14 -0
- package/dist/components/inputs/text-input/assets/IconInvalid.svelte.d.ts +26 -0
- package/dist/components/inputs/text-input/assets/IconValid.svelte +12 -0
- package/dist/components/inputs/text-input/assets/IconValid.svelte.d.ts +26 -0
- package/dist/components/panels/index.d.ts +1 -0
- package/dist/components/panels/index.js +1 -0
- package/dist/components/panels/plain-panel/PlainPanel.svelte +33 -0
- package/dist/components/panels/plain-panel/PlainPanel.svelte.d.ts +10 -0
- package/dist/components/rows/index.d.ts +2 -0
- package/dist/components/rows/index.js +3 -0
- package/dist/components/rows/panel-grid-row/PanelGridRow.svelte +104 -0
- package/dist/components/rows/panel-grid-row/PanelGridRow.svelte.d.ts +12 -0
- package/dist/components/rows/panel-row-2/PanelRow2.svelte +40 -0
- package/dist/components/rows/panel-row-2/PanelRow2.svelte.d.ts +12 -0
- package/dist/components/widgets/scale-control/ScaleControl.svelte +0 -0
- package/dist/components/widgets/scale-control/ScaleControl.svelte.d.ts +26 -0
- package/dist/components/widgets/scale-control/index.d.ts +1 -0
- package/dist/components/widgets/scale-control/index.js +1 -0
- package/dist/config/tailwind.extend.d.ts +8 -8
- package/dist/config/tailwind.extend.js +51 -55
- package/dist/constants/css-states/index.d.ts +1 -0
- package/dist/constants/css-states/index.js +1 -0
- package/dist/constants/css-states/input-states.d.ts +8 -0
- package/dist/constants/css-states/input-states.js +11 -0
- package/dist/constants/index.js +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -6
- package/dist/themes/hkdev/components/boxes/game-box.postcss +13 -0
- package/dist/themes/hkdev/components/buttons/plain-button.postcss +73 -0
- package/dist/themes/hkdev/components/buttons/skip-button.postcss +8 -0
- package/dist/themes/hkdev/components/inputs/text-input.postcss +108 -0
- package/dist/themes/hkdev/components/panels/plain-panel.postcss +46 -0
- package/dist/themes/hkdev/components/panels/speech-bubble.postcss +52 -0
- package/dist/themes/hkdev/components/rows/panel-grid-row.postcss +7 -0
- package/dist/themes/hkdev/components/rows/panel-row-2.postcss +9 -0
- package/dist/themes/hkdev/components.postcss +49 -0
- package/dist/themes/hkdev/debug.postcss +2 -0
- package/dist/themes/hkdev/global/layout.postcss +39 -0
- package/dist/themes/hkdev/global/on-colors.postcss +53 -0
- package/dist/themes/hkdev/global/text.postcss__ +35 -0
- package/dist/themes/hkdev/global/vars.postcss__ +7 -0
- package/dist/themes/hkdev/globals.postcss +12 -0
- package/dist/themes/hkdev/responsive.postcss +12 -0
- package/dist/themes/hkdev/theme-ext.d.ts +4 -0
- package/dist/themes/hkdev/theme-ext.js +15 -0
- package/dist/themes/hkdev/theme.d.ts +226 -0
- package/dist/themes/hkdev/theme.js +227 -0
- package/dist/themes/index.d.ts +1 -0
- package/dist/themes/index.js +1 -0
- package/dist/util/sveltekit/index.d.ts +1 -0
- package/dist/util/sveltekit/index.js +1 -0
- package/dist/util/sveltekit/route-folders/index.d.ts +23 -0
- package/dist/util/sveltekit/route-folders/index.js +82 -0
- package/package.json +3 -1
- package/dist/components/input/HkInputField.svelte +0 -50
- package/dist/components/input/HkInputField.svelte.d.ts +0 -14
- package/dist/components/input/index.d.ts +0 -1
- package/dist/components/input/index.js +0 -1
- /package/dist/css/{tw-prose.postcss → tw-prose.postcss__} +0 -0
@@ -0,0 +1,227 @@
|
|
1
|
+
const theme = {
|
2
|
+
name: 'hkdev',
|
3
|
+
properties: {
|
4
|
+
'--type-scale-factor': '1.067',
|
5
|
+
'--type-scale-1': 'calc(0.75rem * var(--type-scale-factor))',
|
6
|
+
'--type-scale-2': 'calc(0.875rem * var(--type-scale-factor))',
|
7
|
+
'--type-scale-3': 'calc(1rem * var(--type-scale-factor))',
|
8
|
+
'--type-scale-4': 'calc(1.125rem * var(--type-scale-factor))',
|
9
|
+
'--type-scale-5': 'calc(1.25rem * var(--type-scale-factor))',
|
10
|
+
'--type-scale-6': 'calc(1.5rem * var(--type-scale-factor))',
|
11
|
+
'--type-scale-7': 'calc(1.875rem * var(--type-scale-factor))',
|
12
|
+
'--type-scale-8': 'calc(2.25rem * var(--type-scale-factor))',
|
13
|
+
'--type-scale-9': 'calc(3rem * var(--type-scale-factor))',
|
14
|
+
'--type-scale-10': 'calc(3.75rem * var(--type-scale-factor))',
|
15
|
+
'--type-scale-11': 'calc(4.5rem * var(--type-scale-factor))',
|
16
|
+
'--type-scale-12': 'calc(6rem * var(--type-scale-factor))',
|
17
|
+
'--type-scale-13': 'calc(8rem * var(--type-scale-factor))',
|
18
|
+
'--base-font-color': 'var(--color-surface-950)',
|
19
|
+
'--base-font-color-dark': 'var(--color-surface-50)',
|
20
|
+
'--base-font-family': 'mulish, system-ui, sans-serif',
|
21
|
+
'--base-font-size': 'inherit',
|
22
|
+
'--base-line-height': 'inherit',
|
23
|
+
'--base-font-weight': 'normal',
|
24
|
+
'--base-font-style': 'normal',
|
25
|
+
'--base-letter-spacing': '0em',
|
26
|
+
'--heading-font-color': 'inherit',
|
27
|
+
'--heading-font-color-dark': 'inherit',
|
28
|
+
'--heading-font-family': 'Guyot-Sans, system-ui, sans-serif',
|
29
|
+
'--heading-font-weight': '900',
|
30
|
+
'--heading-font-style': 'normal',
|
31
|
+
'--heading-letter-spacing': 'inherit',
|
32
|
+
'--anchor-font-color': 'var(--color-primary-500)',
|
33
|
+
'--anchor-font-color-dark': 'var(--color-primary-500)',
|
34
|
+
'--anchor-font-family': 'inherit',
|
35
|
+
'--anchor-font-size': 'inherit',
|
36
|
+
'--anchor-line-height': 'inherit',
|
37
|
+
'--anchor-font-weight': 'inherit',
|
38
|
+
'--anchor-font-style': 'inherit',
|
39
|
+
'--anchor-letter-spacing': 'inherit',
|
40
|
+
'--anchor-text-decoration': 'none',
|
41
|
+
'--anchor-text-decoration-hover': 'underline',
|
42
|
+
'--anchor-text-decoration-active': 'none',
|
43
|
+
'--anchor-text-decoration-focus': 'none',
|
44
|
+
'--space-scale-factor': '1',
|
45
|
+
'--radii-default': '6px',
|
46
|
+
'--radii-container': '12px',
|
47
|
+
'--border-width-default': '1px',
|
48
|
+
'--divide-width-default': '1px',
|
49
|
+
'--outline-width-default': '1px',
|
50
|
+
'--ring-width-default': '1px',
|
51
|
+
'--body-background-color': 'var(--color-surface-50)',
|
52
|
+
'--body-background-color-dark': 'var(--color-surface-950)',
|
53
|
+
'--color-primary-50': '255 255 255',
|
54
|
+
'--color-primary-100': '250 204 229',
|
55
|
+
'--color-primary-200': '245 153 203',
|
56
|
+
'--color-primary-300': '239 102 177',
|
57
|
+
'--color-primary-400': '234 51 151',
|
58
|
+
'--color-primary-500': '229 0 125',
|
59
|
+
'--color-primary-600': '206 3 112',
|
60
|
+
'--color-primary-700': '184 6 99',
|
61
|
+
'--color-primary-800': '161 9 85',
|
62
|
+
'--color-primary-900': '139 12 72',
|
63
|
+
'--color-primary-950': '116 15 59',
|
64
|
+
'--color-primary-contrast-dark': 'var(--color-primary-950)',
|
65
|
+
'--color-primary-contrast-light': 'var(--color-primary-50)',
|
66
|
+
'--color-primary-contrast-50': 'var(--color-primary-contrast-dark)',
|
67
|
+
'--color-primary-contrast-100': 'var(--color-primary-contrast-dark)',
|
68
|
+
'--color-primary-contrast-200': 'var(--color-primary-contrast-dark)',
|
69
|
+
'--color-primary-contrast-300': 'var(--color-primary-contrast-dark)',
|
70
|
+
'--color-primary-contrast-400': 'var(--color-primary-contrast-light)',
|
71
|
+
'--color-primary-contrast-500': 'var(--color-primary-contrast-light)',
|
72
|
+
'--color-primary-contrast-600': 'var(--color-primary-contrast-light)',
|
73
|
+
'--color-primary-contrast-700': 'var(--color-primary-contrast-light)',
|
74
|
+
'--color-primary-contrast-800': 'var(--color-primary-contrast-light)',
|
75
|
+
'--color-primary-contrast-900': 'var(--color-primary-contrast-light)',
|
76
|
+
'--color-primary-contrast-950': 'var(--color-primary-contrast-light)',
|
77
|
+
'--color-secondary-50': '255 255 255',
|
78
|
+
'--color-secondary-100': '249 223 205',
|
79
|
+
'--color-secondary-200': '243 190 155',
|
80
|
+
'--color-secondary-300': '237 158 105',
|
81
|
+
'--color-secondary-400': '231 125 55',
|
82
|
+
'--color-secondary-500': '225 93 5',
|
83
|
+
'--color-secondary-600': '210 83 6',
|
84
|
+
'--color-secondary-700': '195 73 7',
|
85
|
+
'--color-secondary-800': '179 64 7',
|
86
|
+
'--color-secondary-900': '164 54 8',
|
87
|
+
'--color-secondary-950': '149 44 9',
|
88
|
+
'--color-secondary-contrast-dark': 'var(--color-secondary-950)',
|
89
|
+
'--color-secondary-contrast-light': 'var(--color-secondary-50)',
|
90
|
+
'--color-secondary-contrast-50': 'var(--color-secondary-contrast-dark)',
|
91
|
+
'--color-secondary-contrast-100': 'var(--color-secondary-contrast-dark)',
|
92
|
+
'--color-secondary-contrast-200': 'var(--color-secondary-contrast-dark)',
|
93
|
+
'--color-secondary-contrast-300': 'var(--color-secondary-contrast-dark)',
|
94
|
+
'--color-secondary-contrast-400': 'var(--color-secondary-contrast-light)',
|
95
|
+
'--color-secondary-contrast-500': 'var(--color-secondary-contrast-light)',
|
96
|
+
'--color-secondary-contrast-600': 'var(--color-secondary-contrast-light)',
|
97
|
+
'--color-secondary-contrast-700': 'var(--color-secondary-contrast-light)',
|
98
|
+
'--color-secondary-contrast-800': 'var(--color-secondary-contrast-light)',
|
99
|
+
'--color-secondary-contrast-900': 'var(--color-secondary-contrast-light)',
|
100
|
+
'--color-secondary-contrast-950': 'var(--color-secondary-contrast-light)',
|
101
|
+
'--color-tertiary-50': '255 255 255',
|
102
|
+
'--color-tertiary-100': '206 229 246',
|
103
|
+
'--color-tertiary-200': '156 202 238',
|
104
|
+
'--color-tertiary-300': '107 176 229',
|
105
|
+
'--color-tertiary-400': '57 149 221',
|
106
|
+
'--color-tertiary-500': '8 123 212',
|
107
|
+
'--color-tertiary-600': '8 110 200',
|
108
|
+
'--color-tertiary-700': '9 97 188',
|
109
|
+
'--color-tertiary-800': '9 84 177',
|
110
|
+
'--color-tertiary-900': '10 71 165',
|
111
|
+
'--color-tertiary-950': '10 58 153',
|
112
|
+
'--color-tertiary-contrast-dark': 'var(--color-tertiary-950)',
|
113
|
+
'--color-tertiary-contrast-light': 'var(--color-tertiary-50)',
|
114
|
+
'--color-tertiary-contrast-50': 'var(--color-tertiary-contrast-dark)',
|
115
|
+
'--color-tertiary-contrast-100': 'var(--color-tertiary-contrast-dark)',
|
116
|
+
'--color-tertiary-contrast-200': 'var(--color-tertiary-contrast-dark)',
|
117
|
+
'--color-tertiary-contrast-300': 'var(--color-tertiary-contrast-dark)',
|
118
|
+
'--color-tertiary-contrast-400': 'var(--color-tertiary-contrast-light)',
|
119
|
+
'--color-tertiary-contrast-500': 'var(--color-tertiary-contrast-light)',
|
120
|
+
'--color-tertiary-contrast-600': 'var(--color-tertiary-contrast-light)',
|
121
|
+
'--color-tertiary-contrast-700': 'var(--color-tertiary-contrast-light)',
|
122
|
+
'--color-tertiary-contrast-800': 'var(--color-tertiary-contrast-light)',
|
123
|
+
'--color-tertiary-contrast-900': 'var(--color-tertiary-contrast-light)',
|
124
|
+
'--color-tertiary-contrast-950': 'var(--color-tertiary-contrast-light)',
|
125
|
+
'--color-success-50': '255 255 255',
|
126
|
+
'--color-success-100': '227 236 206',
|
127
|
+
'--color-success-200': '199 218 157',
|
128
|
+
'--color-success-300': '170 199 109',
|
129
|
+
'--color-success-400': '142 181 60',
|
130
|
+
'--color-success-500': '114 162 11',
|
131
|
+
'--color-success-600': '104 147 11',
|
132
|
+
'--color-success-700': '94 132 11',
|
133
|
+
'--color-success-800': '83 117 10',
|
134
|
+
'--color-success-900': '73 102 10',
|
135
|
+
'--color-success-950': '63 87 10',
|
136
|
+
'--color-success-contrast-dark': 'var(--color-success-950)',
|
137
|
+
'--color-success-contrast-light': 'var(--color-success-50)',
|
138
|
+
'--color-success-contrast-50': 'var(--color-success-contrast-dark)',
|
139
|
+
'--color-success-contrast-100': 'var(--color-success-contrast-dark)',
|
140
|
+
'--color-success-contrast-200': 'var(--color-success-contrast-dark)',
|
141
|
+
'--color-success-contrast-300': 'var(--color-success-contrast-dark)',
|
142
|
+
'--color-success-contrast-400': 'var(--color-success-contrast-dark)',
|
143
|
+
'--color-success-contrast-500': 'var(--color-success-contrast-light)',
|
144
|
+
'--color-success-contrast-600': 'var(--color-success-contrast-light)',
|
145
|
+
'--color-success-contrast-700': 'var(--color-success-contrast-light)',
|
146
|
+
'--color-success-contrast-800': 'var(--color-success-contrast-light)',
|
147
|
+
'--color-success-contrast-900': 'var(--color-success-contrast-light)',
|
148
|
+
'--color-success-contrast-950': 'var(--color-success-contrast-light)',
|
149
|
+
'--color-warning-50': '255 255 255',
|
150
|
+
'--color-warning-100': '244 236 207',
|
151
|
+
'--color-warning-200': '232 217 159',
|
152
|
+
'--color-warning-300': '221 197 112',
|
153
|
+
'--color-warning-400': '209 178 64',
|
154
|
+
'--color-warning-500': '198 159 16',
|
155
|
+
'--color-warning-600': '183 146 13',
|
156
|
+
'--color-warning-700': '169 132 10',
|
157
|
+
'--color-warning-800': '154 119 6',
|
158
|
+
'--color-warning-900': '140 105 3',
|
159
|
+
'--color-warning-950': '125 92 0',
|
160
|
+
'--color-warning-contrast-dark': 'var(--color-warning-950)',
|
161
|
+
'--color-warning-contrast-light': 'var(--color-warning-50)',
|
162
|
+
'--color-warning-contrast-50': 'var(--color-warning-contrast-dark)',
|
163
|
+
'--color-warning-contrast-100': 'var(--color-warning-contrast-dark)',
|
164
|
+
'--color-warning-contrast-200': 'var(--color-warning-contrast-dark)',
|
165
|
+
'--color-warning-contrast-300': 'var(--color-warning-contrast-dark)',
|
166
|
+
'--color-warning-contrast-400': 'var(--color-warning-contrast-dark)',
|
167
|
+
'--color-warning-contrast-500': 'var(--color-warning-contrast-light)',
|
168
|
+
'--color-warning-contrast-600': 'var(--color-warning-contrast-light)',
|
169
|
+
'--color-warning-contrast-700': 'var(--color-warning-contrast-light)',
|
170
|
+
'--color-warning-contrast-800': 'var(--color-warning-contrast-light)',
|
171
|
+
'--color-warning-contrast-900': 'var(--color-warning-contrast-light)',
|
172
|
+
'--color-warning-contrast-950': 'var(--color-warning-contrast-light)',
|
173
|
+
'--color-error-50': '255 255 255',
|
174
|
+
'--color-error-100': '248 212 215',
|
175
|
+
'--color-error-200': '241 169 176',
|
176
|
+
'--color-error-300': '235 125 136',
|
177
|
+
'--color-error-400': '228 82 97',
|
178
|
+
'--color-error-500': '221 39 57',
|
179
|
+
'--color-error-600': '195 34 50',
|
180
|
+
'--color-error-700': '169 28 42',
|
181
|
+
'--color-error-800': '143 23 35',
|
182
|
+
'--color-error-900': '117 17 27',
|
183
|
+
'--color-error-950': '91 12 20',
|
184
|
+
'--color-error-contrast-dark': 'var(--color-error-950)',
|
185
|
+
'--color-error-contrast-light': 'var(--color-error-50)',
|
186
|
+
'--color-error-contrast-50': 'var(--color-error-contrast-dark)',
|
187
|
+
'--color-error-contrast-100': 'var(--color-error-contrast-dark)',
|
188
|
+
'--color-error-contrast-200': 'var(--color-error-contrast-dark)',
|
189
|
+
'--color-error-contrast-300': 'var(--color-error-contrast-dark)',
|
190
|
+
'--color-error-contrast-400': 'var(--color-error-contrast-dark)',
|
191
|
+
'--color-error-contrast-500': 'var(--color-error-contrast-light)',
|
192
|
+
'--color-error-contrast-600': 'var(--color-error-contrast-light)',
|
193
|
+
'--color-error-contrast-700': 'var(--color-error-contrast-light)',
|
194
|
+
'--color-error-contrast-800': 'var(--color-error-contrast-light)',
|
195
|
+
'--color-error-contrast-900': 'var(--color-error-contrast-light)',
|
196
|
+
'--color-error-contrast-950': 'var(--color-error-contrast-light)',
|
197
|
+
'--color-surface-50': '255 255 255',
|
198
|
+
'--color-surface-100': '205 221 249',
|
199
|
+
'--color-surface-200': '156 187 242',
|
200
|
+
'--color-surface-300': '106 154 236',
|
201
|
+
'--color-surface-400': '57 120 229',
|
202
|
+
'--color-surface-500': '7 86 223',
|
203
|
+
'--color-surface-600': '7 77 198',
|
204
|
+
'--color-surface-700': '7 68 173',
|
205
|
+
'--color-surface-800': '8 59 148',
|
206
|
+
'--color-surface-900': '8 50 123',
|
207
|
+
'--color-surface-950': '8 41 98',
|
208
|
+
'--color-surface-contrast-dark': 'var(--color-surface-950)',
|
209
|
+
'--color-surface-contrast-light': 'var(--color-surface-50)',
|
210
|
+
'--color-surface-contrast-50': 'var(--color-surface-contrast-dark)',
|
211
|
+
'--color-surface-contrast-100': 'var(--color-surface-contrast-dark)',
|
212
|
+
'--color-surface-contrast-200': 'var(--color-surface-contrast-dark)',
|
213
|
+
'--color-surface-contrast-300': 'var(--color-surface-contrast-dark)',
|
214
|
+
'--color-surface-contrast-400': 'var(--color-surface-contrast-light)',
|
215
|
+
'--color-surface-contrast-500': 'var(--color-surface-contrast-light)',
|
216
|
+
'--color-surface-contrast-600': 'var(--color-surface-contrast-light)',
|
217
|
+
'--color-surface-contrast-700': 'var(--color-surface-contrast-light)',
|
218
|
+
'--color-surface-contrast-800': 'var(--color-surface-contrast-light)',
|
219
|
+
'--color-surface-contrast-900': 'var(--color-surface-contrast-light)',
|
220
|
+
'--color-surface-contrast-950': 'var(--color-surface-contrast-light)'
|
221
|
+
},
|
222
|
+
metadata: {
|
223
|
+
version: '3.0.0'
|
224
|
+
}
|
225
|
+
};
|
226
|
+
|
227
|
+
export default theme;
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default as hkdev } from "./hkdev/theme.js";
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default as hkdev } from './hkdev/theme.js';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./route-folders/index.js";
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './route-folders/index.js';
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* Validates if a path is within the project's src/routes directory
|
3
|
+
* @param {string} path - Path to validate
|
4
|
+
* @returns {boolean}
|
5
|
+
*/
|
6
|
+
export function isValidRoutePath(path: string): boolean;
|
7
|
+
/**
|
8
|
+
* Scans route folders recursively, only including folders with +page.svelte
|
9
|
+
* @param {Object} options - Scan options
|
10
|
+
* @param {string} options.dirPath - Directory path to scan
|
11
|
+
* @param {number} [options.maxDepth=1] - Maximum depth to scan
|
12
|
+
* @param {Set<string>} [options.skipFolders=new Set(['assets'])] - Folders to skip
|
13
|
+
* @returns {Promise<Array<{displayName: string, path: string}>>}
|
14
|
+
* @throws {Error} If path is outside project routes directory
|
15
|
+
*/
|
16
|
+
export function scanRouteFolders({ dirPath, maxDepth, skipFolders }: {
|
17
|
+
dirPath: string;
|
18
|
+
maxDepth?: number;
|
19
|
+
skipFolders?: Set<string>;
|
20
|
+
}): Promise<Array<{
|
21
|
+
displayName: string;
|
22
|
+
path: string;
|
23
|
+
}>>;
|
@@ -0,0 +1,82 @@
|
|
1
|
+
import { readdir } from 'node:fs/promises';
|
2
|
+
import { join, resolve } from 'node:path';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* Validates if a path is within the project's src/routes directory
|
6
|
+
* @param {string} path - Path to validate
|
7
|
+
* @returns {boolean}
|
8
|
+
*/
|
9
|
+
export function isValidRoutePath(path) {
|
10
|
+
const normalizedPath = resolve(path);
|
11
|
+
const routesPath = resolve(process.cwd(), 'src/routes');
|
12
|
+
return normalizedPath.startsWith(routesPath);
|
13
|
+
}
|
14
|
+
|
15
|
+
/**
|
16
|
+
* Scans route folders recursively, only including folders with +page.svelte
|
17
|
+
* @param {Object} options - Scan options
|
18
|
+
* @param {string} options.dirPath - Directory path to scan
|
19
|
+
* @param {number} [options.maxDepth=1] - Maximum depth to scan
|
20
|
+
* @param {Set<string>} [options.skipFolders=new Set(['assets'])] - Folders to skip
|
21
|
+
* @returns {Promise<Array<{displayName: string, path: string}>>}
|
22
|
+
* @throws {Error} If path is outside project routes directory
|
23
|
+
*/
|
24
|
+
export async function scanRouteFolders({
|
25
|
+
dirPath,
|
26
|
+
maxDepth = 1,
|
27
|
+
skipFolders = new Set(['assets'])
|
28
|
+
}) {
|
29
|
+
if (!isValidRoutePath(dirPath)) {
|
30
|
+
throw new Error('Invalid path: Must be within src/routes directory');
|
31
|
+
}
|
32
|
+
|
33
|
+
if (maxDepth < 1) return [];
|
34
|
+
|
35
|
+
try {
|
36
|
+
const entries = await readdir(dirPath, { withFileTypes: true });
|
37
|
+
const results = [];
|
38
|
+
|
39
|
+
for (const entry of entries) {
|
40
|
+
if (
|
41
|
+
!entry.isDirectory() ||
|
42
|
+
skipFolders.has(entry.name) ||
|
43
|
+
entry.name.startsWith('.')
|
44
|
+
) {
|
45
|
+
continue;
|
46
|
+
}
|
47
|
+
|
48
|
+
const fullPath = join(dirPath, entry.name);
|
49
|
+
const currentPath = entry.name;
|
50
|
+
|
51
|
+
const dirContents = await readdir(fullPath);
|
52
|
+
const hasPageFile = dirContents.includes('+page.svelte');
|
53
|
+
|
54
|
+
if (hasPageFile) {
|
55
|
+
results.push({
|
56
|
+
displayName: entry.name,
|
57
|
+
path: currentPath
|
58
|
+
});
|
59
|
+
}
|
60
|
+
|
61
|
+
if (maxDepth > 1) {
|
62
|
+
const subFolders = await scanRouteFolders({
|
63
|
+
dirPath: fullPath,
|
64
|
+
maxDepth: maxDepth - 1,
|
65
|
+
skipFolders
|
66
|
+
});
|
67
|
+
|
68
|
+
for (const subFolder of subFolders) {
|
69
|
+
results.push({
|
70
|
+
displayName: `${entry.name}/${subFolder.displayName}`,
|
71
|
+
path: `${currentPath}/${subFolder.path}`
|
72
|
+
});
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
return results;
|
78
|
+
} catch (err) {
|
79
|
+
console.error(err);
|
80
|
+
throw new Error('Failed to scan directory');
|
81
|
+
}
|
82
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hkdigital/lib-sveltekit",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.97",
|
4
4
|
"author": {
|
5
5
|
"name": "HKdigital",
|
6
6
|
"url": "https://hkdigital.nl"
|
@@ -56,6 +56,7 @@
|
|
56
56
|
"./*": "./dist/*"
|
57
57
|
},
|
58
58
|
"peerDependencies": {
|
59
|
+
"@steeze-ui/heroicons": "^2.4.2",
|
59
60
|
"@sveltejs/kit": "^2.15.2",
|
60
61
|
"runed": "^0.23.0",
|
61
62
|
"svelte": "^5.0.0",
|
@@ -65,6 +66,7 @@
|
|
65
66
|
"@playwright/test": "^1.49.1",
|
66
67
|
"@skeletonlabs/skeleton": "3.0.0-next.2",
|
67
68
|
"@skeletonlabs/skeleton-svelte": "1.0.0-next.4",
|
69
|
+
"@steeze-ui/heroicons": "^2.4.2",
|
68
70
|
"@sveltejs/adapter-auto": "^3.3.1",
|
69
71
|
"@sveltejs/package": "^2.3.7",
|
70
72
|
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
@@ -1,50 +0,0 @@
|
|
1
|
-
<script>
|
2
|
-
/**
|
3
|
-
*
|
4
|
-
* @type {{
|
5
|
-
* classes?: string,
|
6
|
-
* fieldClasses?: string,
|
7
|
-
* legendClasses?: string,
|
8
|
-
* legendTitle: string,
|
9
|
-
* error?: boolean,
|
10
|
-
* name?: string,
|
11
|
-
* type: string,
|
12
|
-
* placeholder: string,
|
13
|
-
* required: boolean,
|
14
|
-
* warningSymbol: string,
|
15
|
-
* onblur?: () => void,
|
16
|
-
* }}
|
17
|
-
*
|
18
|
-
*/
|
19
|
-
let {
|
20
|
-
// Style
|
21
|
-
classes,
|
22
|
-
fieldClasses,
|
23
|
-
legendClasses,
|
24
|
-
|
25
|
-
// Functionality
|
26
|
-
legendTitle,
|
27
|
-
type,
|
28
|
-
placeholder,
|
29
|
-
error,
|
30
|
-
name,
|
31
|
-
required,
|
32
|
-
warningSymbol,
|
33
|
-
onblur
|
34
|
-
} = $props();
|
35
|
-
</script>
|
36
|
-
|
37
|
-
<fieldset data-hk-input-field class="flex w-full items-center rounded {fieldClasses}">
|
38
|
-
<legend class="px-2 {legendClasses}" class:error>{legendTitle}</legend>
|
39
|
-
<input
|
40
|
-
class="w-full border-none bg-transparent {classes}"
|
41
|
-
{type}
|
42
|
-
{placeholder}
|
43
|
-
{name}
|
44
|
-
{required}
|
45
|
-
{onblur}
|
46
|
-
/>
|
47
|
-
{#if error}
|
48
|
-
<img src={warningSymbol} class="mb-2 mr-8" alt="Warning" />
|
49
|
-
{/if}
|
50
|
-
</fieldset>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
export default HkInputField;
|
2
|
-
declare const HkInputField: import("svelte").Component<{
|
3
|
-
classes?: string;
|
4
|
-
fieldClasses?: string;
|
5
|
-
legendClasses?: string;
|
6
|
-
legendTitle: string;
|
7
|
-
error?: boolean;
|
8
|
-
name?: string;
|
9
|
-
type: string;
|
10
|
-
placeholder: string;
|
11
|
-
required: boolean;
|
12
|
-
warningSymbol: string;
|
13
|
-
onblur?: () => void;
|
14
|
-
}, {}, "">;
|
@@ -1 +0,0 @@
|
|
1
|
-
export { default as HkInputField } from "./HkInputField.svelte";
|
@@ -1 +0,0 @@
|
|
1
|
-
export { default as HkInputField } from './HkInputField.svelte';
|
File without changes
|