@opengis/table 0.0.30 → 0.0.32
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/README.md +158 -158
- package/dist/components/DataTable.vue.d.ts +14 -14
- package/dist/components/DataTable.vue.d.ts.map +1 -1
- package/dist/formats/BadgeFormat.vue.d.ts.map +1 -1
- package/dist/formats/GeomFormat.vue.d.ts +32 -0
- package/dist/formats/GeomFormat.vue.d.ts.map +1 -0
- package/dist/formats/index.d.ts +85 -1
- package/dist/formats/index.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.mjs +1978 -1838
- package/dist/index.umd.js +14 -14
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,159 +1,159 @@
|
|
|
1
|
-
# DataTable Component
|
|
2
|
-
|
|
3
|
-
Full-featured table component for Vue 3 with TypeScript, supporting pagination, row selection, sorting, and custom slots.
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
- ✅ Pagination with local data or through API
|
|
8
|
-
- ✅ Row selection with checkboxes
|
|
9
|
-
- ✅ Different table sizes (small, medium, large)
|
|
10
|
-
- ✅ Data formatting (text, numbers, dates, badges, arrays)
|
|
11
|
-
- ✅ **Custom slots for columns**
|
|
12
|
-
- ✅ Loading state and error handling
|
|
13
|
-
- ✅ Dark theme
|
|
14
|
-
- ✅ Adaptive design
|
|
15
|
-
|
|
16
|
-
## Custom column slots
|
|
17
|
-
|
|
18
|
-
The component supports custom slots to create custom table cells. Use `template #body` in the `Column` component:
|
|
19
|
-
|
|
20
|
-
```vue
|
|
21
|
-
<DataTable :rows="data" tableClass="w-full" tableStyle="min-width: 50rem">
|
|
22
|
-
<Column field="name" header="Name">
|
|
23
|
-
<template #body="{ data }">
|
|
24
|
-
<div>
|
|
25
|
-
<div class="font-medium">{{ data.name.main }}</div>
|
|
26
|
-
<div class="text-sm text-gray-500">{{ data.name.sub }}</div>
|
|
27
|
-
</div>
|
|
28
|
-
</template>
|
|
29
|
-
</Column>
|
|
30
|
-
<Column field="status" header="Status">
|
|
31
|
-
<template #body="{ data }">
|
|
32
|
-
<span :class="getStatusClass(data.status)" class="px-2 py-1 rounded-full text-xs">
|
|
33
|
-
{{ data.status }}
|
|
34
|
-
</span>
|
|
35
|
-
</template>
|
|
36
|
-
</Column>
|
|
37
|
-
<Column field="actions" header="Actions">
|
|
38
|
-
<template #body="{ data }">
|
|
39
|
-
<div class="flex gap-2">
|
|
40
|
-
<button @click="handleView(data)" title="View">
|
|
41
|
-
<i class="fas fa-eye"></i>
|
|
42
|
-
</button>
|
|
43
|
-
<button @click="handleEdit(data)" title="Edit">
|
|
44
|
-
<i class="fas fa-edit"></i>
|
|
45
|
-
</button>
|
|
46
|
-
</div>
|
|
47
|
-
</template>
|
|
48
|
-
</Column>
|
|
49
|
-
</DataTable>
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Slot parameters
|
|
53
|
-
|
|
54
|
-
The `#body` slot receives an object with the following properties:
|
|
55
|
-
|
|
56
|
-
- `data` - full row data object
|
|
57
|
-
- `value` - value of the specific column field
|
|
58
|
-
|
|
59
|
-
### Examples
|
|
60
|
-
|
|
61
|
-
#### 1. Compound name with subtitle
|
|
62
|
-
```vue
|
|
63
|
-
<Column field="name" header="Name">
|
|
64
|
-
<template #body="{ data }">
|
|
65
|
-
<div>
|
|
66
|
-
<div class="font-medium">{{ data.name.main }}</div>
|
|
67
|
-
<div class="text-sm text-gray-500">{{ data.name.sub }}</div>
|
|
68
|
-
</div>
|
|
69
|
-
</template>
|
|
70
|
-
</Column>
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
#### 2. Badge with color
|
|
74
|
-
```vue
|
|
75
|
-
<Column field="role" header="Role">
|
|
76
|
-
<template #body="{ data }">
|
|
77
|
-
<span :class="data.role === 'admin' ? 'bg-blue-100 text-blue-800' : 'bg-green-100 text-green-800'"
|
|
78
|
-
class="px-2 py-1 rounded-full text-xs font-medium">
|
|
79
|
-
{{ data.role }}
|
|
80
|
-
</span>
|
|
81
|
-
</template>
|
|
82
|
-
</Column>
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
#### 3. Status with icon
|
|
86
|
-
```vue
|
|
87
|
-
<Column field="status" header="Status">
|
|
88
|
-
<template #body="{ data }">
|
|
89
|
-
<div class="flex items-center gap-2">
|
|
90
|
-
<span :class="getStatusIconClass(data.status)" class="text-lg">
|
|
91
|
-
{{ getStatusIcon(data.status) }}
|
|
92
|
-
</span>
|
|
93
|
-
<span>{{ data.status }}</span>
|
|
94
|
-
</div>
|
|
95
|
-
</template>
|
|
96
|
-
</Column>
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
#### 4. Action buttons
|
|
100
|
-
```vue
|
|
101
|
-
<Column field="actions" header="Actions">
|
|
102
|
-
<template #body="{ data }">
|
|
103
|
-
<div class="flex gap-2">
|
|
104
|
-
<button @click.stop="handleView(data)" title="View">
|
|
105
|
-
<i class="fas fa-eye"></i>
|
|
106
|
-
</button>
|
|
107
|
-
<button @click.stop="handleDownload(data)" title="Download">
|
|
108
|
-
<i class="fas fa-download"></i>
|
|
109
|
-
</button>
|
|
110
|
-
</div>
|
|
111
|
-
</template>
|
|
112
|
-
</Column>
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
**Important:** Use `@click.stop` for buttons in slots to prevent row click triggering.
|
|
116
|
-
|
|
117
|
-
## Installation
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
npm install @opengis/table
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## Usage
|
|
124
|
-
|
|
125
|
-
```vue
|
|
126
|
-
<template>
|
|
127
|
-
<DataTable
|
|
128
|
-
:rows="data"
|
|
129
|
-
:columns="columns"
|
|
130
|
-
:selectable="true"
|
|
131
|
-
@update:selectedRows="handleSelection"
|
|
132
|
-
/>
|
|
133
|
-
</template>
|
|
134
|
-
|
|
135
|
-
<script setup>
|
|
136
|
-
import { DataTable, Column } from '@opengis/table';
|
|
137
|
-
|
|
138
|
-
const data = ref([
|
|
139
|
-
{ id: 1, name: 'Product A', category: 'Electronics' },
|
|
140
|
-
{ id: 2, name: 'Product B', category: 'Books' }
|
|
141
|
-
]);
|
|
142
|
-
|
|
143
|
-
const columns = ref([
|
|
144
|
-
{ field: 'id', header: 'ID' },
|
|
145
|
-
{ field: 'name', header: 'Name' },
|
|
146
|
-
{ field: 'category', header: 'Category' }
|
|
147
|
-
]);
|
|
148
|
-
</script>
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## Theme options
|
|
152
|
-
|
|
153
|
-
| Prop | Type | Default | Description |
|
|
154
|
-
|-------|-----|------------------|------|
|
|
155
|
-
| `theme` | `'light' \| 'dark' \| 'auto'` | `'light'` | Table theme |
|
|
156
|
-
|
|
157
|
-
## License
|
|
158
|
-
|
|
1
|
+
# DataTable Component
|
|
2
|
+
|
|
3
|
+
Full-featured table component for Vue 3 with TypeScript, supporting pagination, row selection, sorting, and custom slots.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- ✅ Pagination with local data or through API
|
|
8
|
+
- ✅ Row selection with checkboxes
|
|
9
|
+
- ✅ Different table sizes (small, medium, large)
|
|
10
|
+
- ✅ Data formatting (text, numbers, dates, badges, arrays)
|
|
11
|
+
- ✅ **Custom slots for columns**
|
|
12
|
+
- ✅ Loading state and error handling
|
|
13
|
+
- ✅ Dark theme
|
|
14
|
+
- ✅ Adaptive design
|
|
15
|
+
|
|
16
|
+
## Custom column slots
|
|
17
|
+
|
|
18
|
+
The component supports custom slots to create custom table cells. Use `template #body` in the `Column` component:
|
|
19
|
+
|
|
20
|
+
```vue
|
|
21
|
+
<DataTable :rows="data" tableClass="w-full" tableStyle="min-width: 50rem">
|
|
22
|
+
<Column field="name" header="Name">
|
|
23
|
+
<template #body="{ data }">
|
|
24
|
+
<div>
|
|
25
|
+
<div class="font-medium">{{ data.name.main }}</div>
|
|
26
|
+
<div class="text-sm text-gray-500">{{ data.name.sub }}</div>
|
|
27
|
+
</div>
|
|
28
|
+
</template>
|
|
29
|
+
</Column>
|
|
30
|
+
<Column field="status" header="Status">
|
|
31
|
+
<template #body="{ data }">
|
|
32
|
+
<span :class="getStatusClass(data.status)" class="px-2 py-1 rounded-full text-xs">
|
|
33
|
+
{{ data.status }}
|
|
34
|
+
</span>
|
|
35
|
+
</template>
|
|
36
|
+
</Column>
|
|
37
|
+
<Column field="actions" header="Actions">
|
|
38
|
+
<template #body="{ data }">
|
|
39
|
+
<div class="flex gap-2">
|
|
40
|
+
<button @click="handleView(data)" title="View">
|
|
41
|
+
<i class="fas fa-eye"></i>
|
|
42
|
+
</button>
|
|
43
|
+
<button @click="handleEdit(data)" title="Edit">
|
|
44
|
+
<i class="fas fa-edit"></i>
|
|
45
|
+
</button>
|
|
46
|
+
</div>
|
|
47
|
+
</template>
|
|
48
|
+
</Column>
|
|
49
|
+
</DataTable>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Slot parameters
|
|
53
|
+
|
|
54
|
+
The `#body` slot receives an object with the following properties:
|
|
55
|
+
|
|
56
|
+
- `data` - full row data object
|
|
57
|
+
- `value` - value of the specific column field
|
|
58
|
+
|
|
59
|
+
### Examples
|
|
60
|
+
|
|
61
|
+
#### 1. Compound name with subtitle
|
|
62
|
+
```vue
|
|
63
|
+
<Column field="name" header="Name">
|
|
64
|
+
<template #body="{ data }">
|
|
65
|
+
<div>
|
|
66
|
+
<div class="font-medium">{{ data.name.main }}</div>
|
|
67
|
+
<div class="text-sm text-gray-500">{{ data.name.sub }}</div>
|
|
68
|
+
</div>
|
|
69
|
+
</template>
|
|
70
|
+
</Column>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### 2. Badge with color
|
|
74
|
+
```vue
|
|
75
|
+
<Column field="role" header="Role">
|
|
76
|
+
<template #body="{ data }">
|
|
77
|
+
<span :class="data.role === 'admin' ? 'bg-blue-100 text-blue-800' : 'bg-green-100 text-green-800'"
|
|
78
|
+
class="px-2 py-1 rounded-full text-xs font-medium">
|
|
79
|
+
{{ data.role }}
|
|
80
|
+
</span>
|
|
81
|
+
</template>
|
|
82
|
+
</Column>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### 3. Status with icon
|
|
86
|
+
```vue
|
|
87
|
+
<Column field="status" header="Status">
|
|
88
|
+
<template #body="{ data }">
|
|
89
|
+
<div class="flex items-center gap-2">
|
|
90
|
+
<span :class="getStatusIconClass(data.status)" class="text-lg">
|
|
91
|
+
{{ getStatusIcon(data.status) }}
|
|
92
|
+
</span>
|
|
93
|
+
<span>{{ data.status }}</span>
|
|
94
|
+
</div>
|
|
95
|
+
</template>
|
|
96
|
+
</Column>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### 4. Action buttons
|
|
100
|
+
```vue
|
|
101
|
+
<Column field="actions" header="Actions">
|
|
102
|
+
<template #body="{ data }">
|
|
103
|
+
<div class="flex gap-2">
|
|
104
|
+
<button @click.stop="handleView(data)" title="View">
|
|
105
|
+
<i class="fas fa-eye"></i>
|
|
106
|
+
</button>
|
|
107
|
+
<button @click.stop="handleDownload(data)" title="Download">
|
|
108
|
+
<i class="fas fa-download"></i>
|
|
109
|
+
</button>
|
|
110
|
+
</div>
|
|
111
|
+
</template>
|
|
112
|
+
</Column>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Important:** Use `@click.stop` for buttons in slots to prevent row click triggering.
|
|
116
|
+
|
|
117
|
+
## Installation
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
npm install @opengis/table
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Usage
|
|
124
|
+
|
|
125
|
+
```vue
|
|
126
|
+
<template>
|
|
127
|
+
<DataTable
|
|
128
|
+
:rows="data"
|
|
129
|
+
:columns="columns"
|
|
130
|
+
:selectable="true"
|
|
131
|
+
@update:selectedRows="handleSelection"
|
|
132
|
+
/>
|
|
133
|
+
</template>
|
|
134
|
+
|
|
135
|
+
<script setup>
|
|
136
|
+
import { DataTable, Column } from '@opengis/table';
|
|
137
|
+
|
|
138
|
+
const data = ref([
|
|
139
|
+
{ id: 1, name: 'Product A', category: 'Electronics' },
|
|
140
|
+
{ id: 2, name: 'Product B', category: 'Books' }
|
|
141
|
+
]);
|
|
142
|
+
|
|
143
|
+
const columns = ref([
|
|
144
|
+
{ field: 'id', header: 'ID' },
|
|
145
|
+
{ field: 'name', header: 'Name' },
|
|
146
|
+
{ field: 'category', header: 'Category' }
|
|
147
|
+
]);
|
|
148
|
+
</script>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Theme options
|
|
152
|
+
|
|
153
|
+
| Prop | Type | Default | Description |
|
|
154
|
+
|-------|-----|------------------|------|
|
|
155
|
+
| `theme` | `'light' \| 'dark' \| 'auto'` | `'light'` | Table theme |
|
|
156
|
+
|
|
157
|
+
## License
|
|
158
|
+
|
|
159
159
|
MIT
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import type { Column, InternalDataTableProps, TableSize, SortConfig } from '../types';
|
|
2
|
-
declare var
|
|
2
|
+
declare var __VLS_5: {
|
|
3
3
|
asc: boolean;
|
|
4
|
-
},
|
|
4
|
+
}, __VLS_14: {
|
|
5
5
|
row: any;
|
|
6
|
-
},
|
|
6
|
+
}, __VLS_16: {
|
|
7
7
|
row: any;
|
|
8
8
|
value: any;
|
|
9
|
-
},
|
|
9
|
+
}, __VLS_18: {
|
|
10
10
|
row: any;
|
|
11
11
|
value: any;
|
|
12
|
-
},
|
|
12
|
+
}, __VLS_20: {
|
|
13
13
|
row: any;
|
|
14
14
|
value: any;
|
|
15
|
-
},
|
|
15
|
+
}, __VLS_38: {
|
|
16
16
|
row: any;
|
|
17
|
-
},
|
|
17
|
+
}, __VLS_40: {
|
|
18
18
|
row: any;
|
|
19
19
|
};
|
|
20
20
|
type __VLS_Slots = {} & {
|
|
21
|
-
sort?: (props: typeof
|
|
21
|
+
sort?: (props: typeof __VLS_5) => any;
|
|
22
22
|
} & {
|
|
23
|
-
action?: (props: typeof
|
|
23
|
+
action?: (props: typeof __VLS_14) => any;
|
|
24
24
|
} & {
|
|
25
|
-
number?: (props: typeof
|
|
25
|
+
number?: (props: typeof __VLS_16) => any;
|
|
26
26
|
} & {
|
|
27
|
-
badge?: (props: typeof
|
|
27
|
+
badge?: (props: typeof __VLS_18) => any;
|
|
28
28
|
} & {
|
|
29
|
-
array?: (props: typeof
|
|
29
|
+
array?: (props: typeof __VLS_20) => any;
|
|
30
30
|
} & {
|
|
31
|
-
action?: (props: typeof
|
|
31
|
+
action?: (props: typeof __VLS_38) => any;
|
|
32
32
|
} & {
|
|
33
|
-
'under-row'?: (props: typeof
|
|
33
|
+
'under-row'?: (props: typeof __VLS_40) => any;
|
|
34
34
|
};
|
|
35
35
|
declare const __VLS_component: import("vue").DefineComponent<InternalDataTableProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
36
36
|
sort: (sortConfig: SortConfig[]) => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.vue.d.ts","sourceRoot":"","sources":["../../src/components/DataTable.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataTable.vue.d.ts","sourceRoot":"","sources":["../../src/components/DataTable.vue"],"names":[],"mappings":"AAy7BA,OAAO,KAAK,EACV,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAiB,UAAU,EACrE,MAAM,UAAU,CAAC;AAiqClB,QAAA,IAAI,OAAO;;CAAU,EAAE,QAAQ;;CAAW,EAAE,QAAQ;;;CAAW,EAAE,QAAQ;;;CAAW,EAAE,QAAQ;;;CAAW,EAAE,QAAQ;;CAAW,EAAE,QAAQ;;CAAY,CAAE;AACtJ,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GACzC;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC5C;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC5C;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC5C;IAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAgEpD,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAQnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BadgeFormat.vue.d.ts","sourceRoot":"","sources":["../../src/formats/BadgeFormat.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BadgeFormat.vue.d.ts","sourceRoot":"","sources":["../../src/formats/BadgeFormat.vue"],"names":[],"mappings":"AAqFA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;;AAuGrD,wBAMG"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
type Position = [number, number] | [number, number, number];
|
|
2
|
+
type LineCoords = Position[];
|
|
3
|
+
type PolyCoords = Position[][];
|
|
4
|
+
type MultiPolyCoords = Position[][][];
|
|
5
|
+
type Geometry = {
|
|
6
|
+
type: "Point";
|
|
7
|
+
coordinates: Position;
|
|
8
|
+
} | {
|
|
9
|
+
type: "MultiPoint";
|
|
10
|
+
coordinates: Position[];
|
|
11
|
+
} | {
|
|
12
|
+
type: "LineString";
|
|
13
|
+
coordinates: LineCoords;
|
|
14
|
+
} | {
|
|
15
|
+
type: "MultiLineString";
|
|
16
|
+
coordinates: LineCoords[];
|
|
17
|
+
} | {
|
|
18
|
+
type: "Polygon";
|
|
19
|
+
coordinates: PolyCoords;
|
|
20
|
+
} | {
|
|
21
|
+
type: "MultiPolygon";
|
|
22
|
+
coordinates: MultiPolyCoords;
|
|
23
|
+
} | {
|
|
24
|
+
type: "GeometryCollection";
|
|
25
|
+
geometries: Geometry[];
|
|
26
|
+
};
|
|
27
|
+
type __VLS_Props = {
|
|
28
|
+
value?: Geometry | null;
|
|
29
|
+
};
|
|
30
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
31
|
+
export default _default;
|
|
32
|
+
//# sourceMappingURL=GeomFormat.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeomFormat.vue.d.ts","sourceRoot":"","sources":["../../src/formats/GeomFormat.vue"],"names":[],"mappings":"AA2KA,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5D,KAAK,UAAU,GAAG,QAAQ,EAAE,CAAC;AAC7B,KAAK,UAAU,GAAG,QAAQ,EAAE,EAAE,CAAC;AAC/B,KAAK,eAAe,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC;AAEtC,KAAK,QAAQ,GACP;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,QAAQ,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,QAAQ,EAAE,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,UAAU,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,UAAU,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,UAAU,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC;AAE7D,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CACzB,CAAC;;AAgQF,wBAMG"}
|
package/dist/formats/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import BadgeFormat from './BadgeFormat.vue';
|
|
|
5
5
|
import ArrayFormat from './ArrayFormat.vue';
|
|
6
6
|
import SelectFormat from './SelectFormat.vue';
|
|
7
7
|
import BooleanFormat from './BooleanFormat.vue';
|
|
8
|
+
import GeomFormat from "./GeomFormat.vue";
|
|
8
9
|
export declare const formatComponents: {
|
|
9
10
|
number: import("vue").DefineComponent<import("../index.js").FormatComponentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("../index.js").FormatComponentProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
11
|
date: import("vue").DefineComponent<import("../index.js").FormatComponentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("../index.js").FormatComponentProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -13,6 +14,89 @@ export declare const formatComponents: {
|
|
|
13
14
|
array: import("vue").DefineComponent<import("../index.js").FormatComponentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("../index.js").FormatComponentProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
15
|
select: import("vue").DefineComponent<import("../index.js").FormatComponentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("../index.js").FormatComponentProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
16
|
boolean: import("vue").DefineComponent<import("../index.js").FormatComponentProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("../index.js").FormatComponentProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
geom: import("vue").DefineComponent<{
|
|
18
|
+
value?: ({
|
|
19
|
+
type: "Point";
|
|
20
|
+
coordinates: [number, number] | [number, number, number];
|
|
21
|
+
} | {
|
|
22
|
+
type: "MultiPoint";
|
|
23
|
+
coordinates: ([number, number] | [number, number, number])[];
|
|
24
|
+
} | {
|
|
25
|
+
type: "LineString";
|
|
26
|
+
coordinates: ([number, number] | [number, number, number])[];
|
|
27
|
+
} | {
|
|
28
|
+
type: "MultiLineString";
|
|
29
|
+
coordinates: ([number, number] | [number, number, number])[][];
|
|
30
|
+
} | {
|
|
31
|
+
type: "Polygon";
|
|
32
|
+
coordinates: ([number, number] | [number, number, number])[][];
|
|
33
|
+
} | {
|
|
34
|
+
type: "MultiPolygon";
|
|
35
|
+
coordinates: ([number, number] | [number, number, number])[][][];
|
|
36
|
+
} | {
|
|
37
|
+
type: "GeometryCollection";
|
|
38
|
+
geometries: ({
|
|
39
|
+
type: "Point";
|
|
40
|
+
coordinates: [number, number] | [number, number, number];
|
|
41
|
+
} | {
|
|
42
|
+
type: "MultiPoint";
|
|
43
|
+
coordinates: ([number, number] | [number, number, number])[];
|
|
44
|
+
} | {
|
|
45
|
+
type: "LineString";
|
|
46
|
+
coordinates: ([number, number] | [number, number, number])[];
|
|
47
|
+
} | {
|
|
48
|
+
type: "MultiLineString";
|
|
49
|
+
coordinates: ([number, number] | [number, number, number])[][];
|
|
50
|
+
} | {
|
|
51
|
+
type: "Polygon";
|
|
52
|
+
coordinates: ([number, number] | [number, number, number])[][];
|
|
53
|
+
} | {
|
|
54
|
+
type: "MultiPolygon";
|
|
55
|
+
coordinates: ([number, number] | [number, number, number])[][][];
|
|
56
|
+
} | /*elided*/ any)[];
|
|
57
|
+
}) | null;
|
|
58
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
59
|
+
value?: ({
|
|
60
|
+
type: "Point";
|
|
61
|
+
coordinates: [number, number] | [number, number, number];
|
|
62
|
+
} | {
|
|
63
|
+
type: "MultiPoint";
|
|
64
|
+
coordinates: ([number, number] | [number, number, number])[];
|
|
65
|
+
} | {
|
|
66
|
+
type: "LineString";
|
|
67
|
+
coordinates: ([number, number] | [number, number, number])[];
|
|
68
|
+
} | {
|
|
69
|
+
type: "MultiLineString";
|
|
70
|
+
coordinates: ([number, number] | [number, number, number])[][];
|
|
71
|
+
} | {
|
|
72
|
+
type: "Polygon";
|
|
73
|
+
coordinates: ([number, number] | [number, number, number])[][];
|
|
74
|
+
} | {
|
|
75
|
+
type: "MultiPolygon";
|
|
76
|
+
coordinates: ([number, number] | [number, number, number])[][][];
|
|
77
|
+
} | {
|
|
78
|
+
type: "GeometryCollection";
|
|
79
|
+
geometries: ({
|
|
80
|
+
type: "Point";
|
|
81
|
+
coordinates: [number, number] | [number, number, number];
|
|
82
|
+
} | {
|
|
83
|
+
type: "MultiPoint";
|
|
84
|
+
coordinates: ([number, number] | [number, number, number])[];
|
|
85
|
+
} | {
|
|
86
|
+
type: "LineString";
|
|
87
|
+
coordinates: ([number, number] | [number, number, number])[];
|
|
88
|
+
} | {
|
|
89
|
+
type: "MultiLineString";
|
|
90
|
+
coordinates: ([number, number] | [number, number, number])[][];
|
|
91
|
+
} | {
|
|
92
|
+
type: "Polygon";
|
|
93
|
+
coordinates: ([number, number] | [number, number, number])[][];
|
|
94
|
+
} | {
|
|
95
|
+
type: "MultiPolygon";
|
|
96
|
+
coordinates: ([number, number] | [number, number, number])[][][];
|
|
97
|
+
} | /*elided*/ any)[];
|
|
98
|
+
}) | null;
|
|
99
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
100
|
};
|
|
17
|
-
export { NumberFormat, DateFormat, TextFormat, BadgeFormat, SelectFormat, ArrayFormat, BooleanFormat };
|
|
101
|
+
export { NumberFormat, DateFormat, TextFormat, BadgeFormat, SelectFormat, ArrayFormat, BooleanFormat, GeomFormat };
|
|
18
102
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/formats/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAE5C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,aAAa,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/formats/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAE5C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS5B,CAAC;AAEF,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACX,CAAC"}
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.badge[data-v-
|
|
1
|
+
.badge[data-v-59a2b734]{transition:all .2s ease-in-out}.badge[data-v-59a2b734]:hover{transform:scale(1.05)}
|