pdap-design-system 2.7.0-beta.2 → 2.7.0-beta.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/README.md +39 -47
  2. package/dist/components/Breadcrumbs/PdapBreadcrumbs.vue.d.ts +9 -0
  3. package/dist/components/Breadcrumbs/index.d.ts +1 -2
  4. package/dist/components/Button/PdapButton.vue.d.ts +9 -0
  5. package/dist/components/Button/index.d.ts +1 -2
  6. package/dist/components/Dropdown/PdapDropdown.vue.d.ts +56 -0
  7. package/dist/components/Dropdown/index.d.ts +1 -0
  8. package/dist/components/Dropdown/types.d.ts +9 -0
  9. package/dist/components/ErrorBoundary/PdapErrorBoundary.vue.d.ts +82 -16
  10. package/dist/components/ErrorBoundary/index.d.ts +1 -0
  11. package/dist/components/ErrorBoundary/types.d.ts +11 -0
  12. package/dist/components/Footer/PdapFooter.vue.d.ts +8 -0
  13. package/dist/components/Form/PdapForm.vue.d.ts +105 -2
  14. package/dist/components/Header/PdapHeader.vue.d.ts +11 -0
  15. package/dist/components/Nav/PdapNav.vue.d.ts +37 -0
  16. package/dist/components/QuickSearchForm/QuickSearchForm.vue.d.ts +14 -0
  17. package/dist/components/TileIcon/TileIcon.vue.d.ts +3 -0
  18. package/dist/components/index.d.ts +2 -3
  19. package/dist/directives/click-outside.d.ts +16 -0
  20. package/dist/directives/index.d.ts +1 -0
  21. package/dist/index.cjs +2 -2
  22. package/dist/index.d.ts +3 -3
  23. package/dist/index.js +961 -879
  24. package/dist/styles.css +1 -1
  25. package/docs/components.md +13 -584
  26. package/package.json +3 -2
  27. package/dist/components/FlexContainer/FlexContainer.vue.d.ts +0 -37
  28. package/dist/components/FlexContainer/index.d.ts +0 -2
  29. package/dist/components/FlexContainer/types.d.ts +0 -4
  30. package/dist/components/GridContainer/GridContainer.vue.d.ts +0 -40
  31. package/dist/components/GridContainer/index.d.ts +0 -2
  32. package/dist/components/GridContainer/types.d.ts +0 -7
  33. package/dist/components/GridItem/GridItem.vue.d.ts +0 -40
  34. package/dist/components/GridItem/index.d.ts +0 -2
  35. package/dist/components/GridItem/types.d.ts +0 -5
@@ -1,584 +1,13 @@
1
- # PDAP Component Documentation
2
-
3
- Documentation for PDAP component usage
4
-
5
- ## Table of Contents
6
-
7
- - [Breadcrumbs](#breadcrumbs)
8
-
9
- - [Props](#props)
10
- - [Example](#example)
11
-
12
- - [Button](#button)
13
-
14
- - [Props](#props-1)
15
- - [Example](#example-1)
16
-
17
- - [FlexContainer](#flexcontainer)
18
-
19
- - [Props](#props-2)
20
- - [Example](#example-2)
21
-
22
- - [Footer](#footer)
23
-
24
- - [Props](#props-3)
25
- - [Example](#example-3)
26
-
27
- - [Form](#form)
28
-
29
- - [Props](#props-4)
30
- - [Example](#example-4)
31
-
32
- - [GridContainer](#gridcontainer)
33
-
34
- - [Props](#props-5)
35
- - [Example](#example-5)
36
-
37
- - [GridItem](#griditem)
38
-
39
- - [Props](#props-6)
40
- - [Example](#example-6)
41
-
42
- - [Header](#header)
43
-
44
- - [Props](#props-7)
45
- - [Example](#example-7)
46
-
47
- - [Input](#input)
48
-
49
- - [Nav](#nav)
50
-
51
- - [Example](#example-8)
52
-
53
- - [QuickSearchForm](#quicksearchform)
54
-
55
- - [Props](#props-8)
56
-
57
- - [TileIcon](#tileicon)
58
-
59
- - [Props](#props-9)
60
- - [Example](#example-9)
61
-
62
- ## Button
63
-
64
- ### _Props_
65
-
66
- None
67
-
68
- ### _Example_
69
-
70
- See the Demo application [page](../src/demo/pages/ComponentDemo.vue) and [router](../src/demo/router.js)
71
-
72
- ## Button
73
-
74
- ### _Props_
75
-
76
- name | required? | types | description | default
77
- ----------- | --------- | ----------- | ------------- | --------------------------
78
- `isLoading` | no | `boolean` | Request state | `false`
79
- `intent` | yes | `primary` \ | `secondary` | Determines style of button | `primary`
80
-
81
- ### _Example_
82
-
83
- ```
84
- <template>
85
- <Button class="custom-btn-class" intent="primary" @click="() => console.log('hello world')" type="button">Click me</Button>
86
- </template>
87
-
88
- ...
89
-
90
- <script>
91
- import { Button } from 'pdap-design-system';
92
-
93
- ...
94
-
95
- export default {
96
- components: ['Button'],
97
- ...
98
- }
99
- </script>
100
-
101
- ...
102
-
103
- <style>
104
- .custom-btn-class {
105
- padding: 12px;
106
- }
107
- </style>
108
- ```
109
-
110
- ## FlexContainer
111
-
112
- _DEPRECATED_ All container components are designed to be dynamic and take any `HTMLElement` tag as the component to be rendered. `FlexContainer` can itself be passed as the element type for `GridItem`, for example, or vice versa, allowing us to easily compose complex layouts (more on this later with the `GridContainer` and `GridItem` documentation).
113
-
114
- ### _Props_
115
-
116
- name | required? | types | description | default
117
- ----------- | --------- | --------- | ----------------------------------- | ----------------------
118
- `component` | no | `string` | HTML Element to render as container | `'div'`
119
- `alignment` | no | `start` \ | `center` | Flex alignment presets | `start`
120
-
121
- ### _Example_
122
-
123
- ```
124
- <template>
125
- <FlexContainer alignment="center" component="card">
126
- <h2>Some content goes here</h2>
127
- <p>More content goes here.</p>
128
- <Button class="custom-button-class-name" :isLoading="isLoading" @click="() => console.log('hello world')">
129
- Say hello with this button
130
- </Button>
131
- </FlexContainer>
132
- </template>
133
-
134
- ...
135
-
136
- <script>
137
- import { Button, FlexContainer } from 'pdap-design-system';
138
-
139
- ...
140
-
141
- export default {
142
- components: ['Button', 'FlexContainer'],
143
- props: ['requestPending', ...],
144
- data() {
145
- return {
146
- isLoading: this.requestPending
147
- }
148
- }
149
- ...
150
- }
151
- </script>
152
- ```
153
-
154
- ## Footer
155
-
156
- ### _Props_
157
-
158
- name | required? | types | description | default
159
- --------------------- | --------- | -------- | ---------------------- | -----------------------------------------------------------
160
- `logoImageSrc` | no | `string` | Source of logo image | `'node_modules/pdap-design-system/dist/images/acronym.svg'`
161
- `logoImageAnchorPath` | no | `string` | Flex alignment presets | `/`
162
-
163
- ### _Notes_
164
-
165
- The `Footer` component provides support for overriding the default social links. The `links` variable is `inject`ed by the component, using the following defaults:
166
-
167
- ```
168
- export default {
169
- ...
170
- inject: {
171
- footerLinks: {
172
- default: [
173
- {
174
- to: 'https://github.com/orgs/Police-Data-Accessibility-Project',
175
- text: 'Github',
176
- },
177
- {
178
- to: 'ttps://discord.gg/wMqex8nKZJ',
179
- text: 'Discord',
180
- },
181
- {
182
- to: 'https://www.linkedin.com/company/pdap',
183
- text: 'LinkedIn',
184
- },
185
- ]
186
- }
187
- },
188
- data() {
189
- return {
190
- links: this.footerLinks;
191
- }
192
- }
193
- }
194
- ```
195
-
196
- If we desire different links somewhere that `Footer` is rendered, simply `provide` an overriding array from a parent component, like so:
197
-
198
- ### _Example_
199
-
200
- ```
201
- <template>
202
- <Header />
203
- <router-view />
204
- <Footer />
205
- </template>
206
-
207
- ...
208
-
209
- <script>
210
- import { Header, Footer } from 'pdap-design-system';
211
- import { RouterView } from 'vue-router'
212
-
213
- ...
214
-
215
- export default {
216
- name: 'Layout',
217
- components: ['Header', 'Footer'],
218
- ...
219
- provide: {
220
- navLinks: [...]
221
- }
222
- }
223
- </script>
224
- ```
225
-
226
- ## Form
227
-
228
- The `Form` component is powerful. All you need to do is pass a few props, and the component will generate inputs and render them in the UI, complete with customizable form validation and both form-level and input-level error states.
229
-
230
- ### _Props_
231
-
232
- name | required? | types | description | default
233
- -------- | --------- | ---------------- | ---------------------------------- | -------
234
- `error` | no | `string` \ | `undefined` \ | `null` | Error state | `undefined`
235
- `id` | yes | `string` | Form id | none
236
- `name` | yes | `string` | Form name | none
237
- `schema` | yes | `PdapFormSchema` | Array of schema entries for inputs | none
238
-
239
- ### _Notes_
240
-
241
- - Form schema entries can look different depending on the type of input. We currently only use text inputs, so the example only displays these.
242
- - To properly submit the form, you must render a button with `type="submit"` _inside_ of the `Form` component.
243
- - `Form` emits a `submit` event and passes all values to the handler you pass to `on-submit`
244
- - Currently available form validations are defined by the `PdapFormValidators` interface:
245
-
246
- ```
247
- PdapFormValidators {
248
- maxLength: {
249
- message?: string;
250
- value: number;
251
- };
252
- minLength: {
253
- message?: string;
254
- value: number;
255
- };
256
- required: {
257
- message?: string;
258
- value: boolean;
259
- };
260
- }
261
- ```
262
-
263
- - The `message` property is optional. If it is not passed, Vuelidate will default to a generic error message. The `value` property is the value you want to validate against. (i.e. for a required field with a max length of 12 characters, we might pass:
264
-
265
- ```
266
- // For a custom message
267
- {
268
- ...,
269
- validators: {
270
- maxLength: {
271
- message: 'No more than twelve characters, please!',
272
- value: 12
273
- },
274
- required: {
275
- message: 'Pretty please enter this field.',
276
- value: true
277
- }
278
- }
279
- }
280
-
281
- // For the default Vuelidate message
282
- {
283
- ...,
284
- validators: {
285
- maxLength: {
286
- value: 12
287
- },
288
- required: {
289
- value: true
290
- }
291
- }
292
- }
293
- ```
294
-
295
- )
296
-
297
- ### _Example_
298
-
299
- ```
300
- <template>
301
- <Form :schema="formSchema" :on-submit="handleSubmit" id="test-form" name="data-request-form">
302
- <Button intent="primary" type="submit">Click me</Button>
303
- </Form>
304
- </template>
305
-
306
- ...
307
-
308
- <script>
309
- import { Button, Form, PdapInputTypes } from 'pdap-design-system';
310
-
311
- ...
312
-
313
- export default {
314
- components: ['Button', 'Form'],
315
- data() {
316
- return {
317
- formSchema: [
318
- {
319
- id: 'testfirstname',
320
- name: 'firstName',
321
- label: 'First Name',
322
- type: 'text',
323
- placeholder: 'John',
324
- value: '',
325
- validators: {
326
- minLength: {
327
- value: 3
328
- },
329
- required: {
330
- message: 'Please provide this information',
331
- value: true
332
- }
333
- },
334
- },
335
- {
336
- id: 'testlastname',
337
- name: 'lastName',
338
- label: 'Last Name',
339
- type: 'text',
340
- placeholder: 'Doe',
341
- value: '',
342
- validators: {
343
- minLength: {
344
- value: 3
345
- },
346
- maxLength: {
347
- message: 'A thousand characters for your surname? Are you a bot?',
348
- value: 999
349
- },
350
- },
351
- {
352
- id: 'ice-cream',
353
- name: 'iceCream',
354
- label: 'Do you like ice cream?',
355
- type: 'checkbox',
356
- defaultChecked: true,
357
- }
358
- ]
359
- }
360
- },
361
- methods: {
362
- handleSubmit: async function(data) {
363
- await doRequestStuff(data);
364
- this.$router.push('/')
365
- }
366
- }
367
- ...
368
- }
369
- </script>
370
- ```
371
-
372
- ## GridContainer
373
-
374
- _DEPRECATED_ All container components are designed to be dynamic and take any `HTMLElement` tag as the component to be rendered. It also works with the `GridItem` component (see example below). `GridContainer` and `GridItem` could both be passed as the element type for `FlexContainer`, for example, or vice versa, allowing us to easily compose complex layouts.
375
-
376
- ### _Props_
377
-
378
- name | required? | types | description | default
379
- ----------------- | --------- | ---------- | ----------------------------------- | ---------------------------------------------------
380
- `columns` | no | `1` \ | `2` \ | `3` \ | `'auto'` | Number of grid columns | `'auto'`
381
- `component` | no | `string` | HTML Element to render as container | `'div'`
382
- `rows` | no | `number` \ | `'auto'` | Number of grid rows | `'auto'`
383
- `templateColumns` | no | `string` \ | `undefined` | Custom `grid-template-columns` value, passed inline | `undefined` (no-op)
384
- `templateRows` | no | `string` \ | `undefined` | Custom `grid-template-rows` value, passed inline | `undefined` (no-op)
385
-
386
- ### _Notes_
387
-
388
- - Grid layouts max out at 3 columns, and responsiveness is baked in.
389
-
390
- - i.e. When you render a 3-column grid layout, it automatically resizes to 2 columns, then 1 column, as screen widths decrease.
391
- - In this case, it is a best practice to leave the `rows` prop as its default `'auto'` value, to ensure that the layout fills as many rows as are needed when the number of columns decreases
392
-
393
- ### _Example_
394
-
395
- ```
396
- <template>
397
- <GridContainer :columns="3" component="section">
398
- <GridItem component="FlexContainer">
399
- <h2>Some content goes here</h2>
400
- <p>More content goes here.</p>
401
- <Button class="custom-button-class-name" :isLoading="isLoading" @click="() => console.log('hello world')">
402
- Say hello with this button
403
- </Button>
404
- </GridItem>
405
- </GridContainer>
406
- </template>
407
-
408
- ...
409
-
410
- <script>
411
- import { Button, FlexContainer } from 'pdap-design-system';
412
-
413
- ...
414
-
415
- export default {
416
- components: ['Button', 'FlexContainer', 'GridContainer', 'GridItem'],
417
- props: ['requestPending', ...],
418
- data() {
419
- return {
420
- isLoading: this.requestPending
421
- }
422
- },
423
- ...
424
- }
425
- </script>
426
- ```
427
-
428
- ## GridItem
429
-
430
- _DEPRECATED_
431
-
432
- ### _Props_
433
-
434
- name | required? | types | description | default
435
- ------------ | --------- | -------- | ----------------------------------- | -------
436
- `component` | no | `string` | HTML Element to render as grid item | `'div'`
437
- `spanColumn` | no | `1` \ | `2` \ | `3` | Columns grid item should span | `1`
438
- `spanRow` | no | `number` | Rows grid item should span | `1`
439
-
440
- ### _Notes_
441
-
442
- - Grid layouts max out at 3 columns, and responsiveness is baked in.
443
-
444
- - i.e. When you render a 3-column grid layout, it automatically resizes to 2 columns, then 1 column, as screen widths decrease.
445
- - In this case, it is a best practice to leave the `rows` prop as its default `'auto'` value, to ensure that the layout fills as many rows as are needed when the number of columns decreases
446
-
447
- ### _Example_
448
-
449
- See `GridContainer` above.
450
-
451
- ## Header
452
-
453
- ### _Props_
454
-
455
- name | required? | types | description | default
456
- --------------------- | --------- | -------- | ---------------------- | ----------------------------------------------------------
457
- `logoImageSrc` | no | `string` | Source of logo image | `'node_modules/pdap-design-system/dist/images/lockup.svg'`
458
- `logoImageAnchorPath` | no | `string` | Flex alignment presets | `/`
459
-
460
- ### _Notes_
461
-
462
- The `Header` component does not require any props to be passed. But keep in mind that it is responsible for rendering the `Nav` component. Consuming applications will need to `provide` an array of nav links -- **there are no defaults for this**, you must `provide` these links either 1\. in a layout component (see example below), at the route level, or at the app level. This allows for flexibility in which links are rendered on which routes
463
-
464
- ### _Example_
465
-
466
- ```
467
- <template>
468
- <Header />
469
- <router-view />
470
- <Footer />
471
- </template>
472
-
473
- ...
474
-
475
- <script>
476
- import { Header, Footer } from 'pdap-design-system';
477
- import { RouterView } from 'vue-router'
478
-
479
- ...
480
-
481
- export default {
482
- name: 'Layout',
483
- components: ['Header', 'Footer'],
484
- ...
485
- provide: {
486
- navLinks: [...]
487
- }
488
- }
489
- </script>
490
- ```
491
-
492
- ## Input
493
-
494
- Inputs are rendered by the `Form` component via a schema. Please see `Form` for more details
495
-
496
- ## Nav
497
-
498
- You do not need to render `Nav` directly. `Header` takes care of that. But you do need to `provide` nav link data from a parent component. This allows for nav links to be dynamic depending on where `Header` is rendered.
499
-
500
- ### _Example_
501
-
502
- ```
503
- <template>
504
- <Header />
505
- <router-view />
506
- <Footer />
507
- </template>
508
-
509
- ...
510
-
511
- <script>
512
- import { Footer, Header } from 'pdap-design-system';
513
- import { RouterView } from 'vue-router';
514
-
515
- ...
516
-
517
- export default {
518
- name: 'Layout',
519
- components: ['Footer', 'Header'],
520
- provide: {
521
- navLinks: [
522
- { path: '/', text: 'Home', method: 'path' },
523
- { path: '/a', text: 'a', method: 'path' },
524
- { path: '/b', text: 'b', method: 'path' },
525
- { path: '/c', text: 'c', method: 'path' },
526
- { href: 'https://www.google.com', text: 'Go to Google', method: 'href' },
527
- ]
528
- }
529
- ...
530
- ```
531
-
532
- ## QuickSearchForm
533
-
534
- ### _Props_
535
-
536
- name | required? | types | description | default
537
- ------ | --------- | -------- | ----------- | --------------------------------------------------------------------------
538
- `mode` | no | `'dev' \ | 'prod'` | env. controls which url users are sent to when form is rendered on pdap.io | `'prod'`
539
-
540
- ### _Notes_
541
-
542
- The different `mode` prop values result the following base url values in the eventual navigation | value | base url | |--|--| | `'dev'` | `'https://data-sources.pdap.dev'` | | `'prod'` | `'https://data-sources.pdap.io'` |
543
-
544
- ## TileIcon
545
-
546
- ### _Props_
547
-
548
- name | required? | types | description | default
549
- ------------ | --------- | -------- | ----------------------------- | -------
550
- `imgAltText` | yes | `string` | Descriptive alt text for icon | none
551
- `imgSrc` | yes | `string` | Source of icon to render | none
552
-
553
- ### _Example_
554
-
555
- ```
556
- <template>
557
- <GridContainer :columns="3" component="section">
558
- <GridItem>
559
- <TileIcon :imgAltText="altText" :imgSrc="imagePath" >
560
- </GridItem>
561
- </GridContainer>
562
- </template>
563
-
564
- ...
565
-
566
- <script>
567
- import { Header, Footer } from 'pdap-design-system';
568
- import { RouterView } from 'vue-router'
569
-
570
- ...
571
-
572
- export default {
573
- name: 'Layout',
574
- components: ['GridContainer', 'GridItem', 'TileIcon'],
575
- props: ['alt', 'src'],
576
- data() {
577
- return {
578
- altText: this.alt,
579
- imgSrc: this.src
580
- }
581
- }
582
- }
583
- </script>
584
- ```
1
+ # Component Documentation
2
+ <!-- This file is auto-generated from README.md files contained in the components directory, no need to edit this file directly. -->
3
+
4
+ - [Breadcrumbs](../src/components/Breadcrumbs//README.md)
5
+ - [Button](../src/components/Button//README.md)
6
+ - [Dropdown](../src/components/Dropdown//README.md)
7
+ - [ErrorBoundary](../src/components/ErrorBoundary//README.md)
8
+ - [Footer](../src/components/Footer//README.md)
9
+ - [Form](../src/components/Form//README.md)
10
+ - [Header](../src/components/Header//README.md)
11
+ - [Input](../src/components/Input//README.md)
12
+ - [Nav](../src/components/Nav//README.md)
13
+ - [QuickSearchForm](../src/components/QuickSearchForm//README.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pdap-design-system",
3
- "version": "2.7.0-beta.2",
3
+ "version": "2.7.0-beta.4",
4
4
  "description": "Global styles for PDAP apps",
5
5
  "author": "Police Data Accessibility Project, Inc.",
6
6
  "license": "ISC",
@@ -113,7 +113,8 @@
113
113
  "test:badge": "vitest run --coverage.enabled --coverage.reporter='text-summary'",
114
114
  "test:ci": "npm run test -- --silent",
115
115
  "typecheck": "vue-tsc",
116
- "dev": "vite"
116
+ "dev": "vite",
117
+ "docs": "bash ./scripts/update-docs.sh"
117
118
  },
118
119
  "workspaces": [
119
120
  "eslint-config"
@@ -1,37 +0,0 @@
1
- import { PdapFlexContainerProps } from './types';
2
- /** @deprecated Please use TailwindCSS class instead */
3
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PdapFlexContainerProps>, {
4
- alignment: string;
5
- component: string;
6
- }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PdapFlexContainerProps>, {
7
- alignment: string;
8
- component: string;
9
- }>>>, {
10
- component: string;
11
- alignment: "center" | "start";
12
- }, {}>, {
13
- default?(_: {}): any;
14
- }>;
15
- export default _default;
16
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
17
- type __VLS_TypePropsToRuntimeProps<T> = {
18
- [K in keyof T]-?: {} extends Pick<T, K> ? {
19
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
20
- } : {
21
- type: import('vue').PropType<T[K]>;
22
- required: true;
23
- };
24
- };
25
- type __VLS_WithDefaults<P, D> = {
26
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
27
- default: D[K];
28
- }> : P[K];
29
- };
30
- type __VLS_Prettify<T> = {
31
- [K in keyof T]: T[K];
32
- } & {};
33
- type __VLS_WithTemplateSlots<T, S> = T & {
34
- new (): {
35
- $slots: S;
36
- };
37
- };
@@ -1,2 +0,0 @@
1
- import FlexContainer from './FlexContainer.vue';
2
- export { FlexContainer };
@@ -1,4 +0,0 @@
1
- export interface PdapFlexContainerProps {
2
- alignment?: 'center' | 'start';
3
- component?: string;
4
- }
@@ -1,40 +0,0 @@
1
- import { PdapGridContainerProps } from './types';
2
- /** @deprecated use TailwindCSS class instead */
3
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PdapGridContainerProps>, {
4
- columns: string;
5
- component: string;
6
- rows: string;
7
- }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PdapGridContainerProps>, {
8
- columns: string;
9
- component: string;
10
- rows: string;
11
- }>>>, {
12
- component: string;
13
- columns: 1 | 2 | 3 | "auto";
14
- rows: number | "auto";
15
- }, {}>, {
16
- default?(_: {}): any;
17
- }>;
18
- export default _default;
19
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
20
- type __VLS_TypePropsToRuntimeProps<T> = {
21
- [K in keyof T]-?: {} extends Pick<T, K> ? {
22
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
23
- } : {
24
- type: import('vue').PropType<T[K]>;
25
- required: true;
26
- };
27
- };
28
- type __VLS_WithDefaults<P, D> = {
29
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
30
- default: D[K];
31
- }> : P[K];
32
- };
33
- type __VLS_Prettify<T> = {
34
- [K in keyof T]: T[K];
35
- } & {};
36
- type __VLS_WithTemplateSlots<T, S> = T & {
37
- new (): {
38
- $slots: S;
39
- };
40
- };
@@ -1,2 +0,0 @@
1
- import GridContainer from './GridContainer.vue';
2
- export { GridContainer };