@zairakai/vue-components 1.1.0
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 +113 -0
- package/dist/Content/index.d.ts +11 -0
- package/dist/Content/index.d.ts.map +1 -0
- package/dist/Content/index.js +11 -0
- package/dist/Content/index.js.map +1 -0
- package/dist/Form/index.d.ts +37 -0
- package/dist/Form/index.d.ts.map +1 -0
- package/dist/Form/index.js +37 -0
- package/dist/Form/index.js.map +1 -0
- package/dist/Layout/index.d.ts +21 -0
- package/dist/Layout/index.d.ts.map +1 -0
- package/dist/Layout/index.js +21 -0
- package/dist/Layout/index.js.map +1 -0
- package/dist/Medias/index.d.ts +15 -0
- package/dist/Medias/index.d.ts.map +1 -0
- package/dist/Medias/index.js +15 -0
- package/dist/Medias/index.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/package.json +129 -0
- package/src/Content/Blockquote.vue +23 -0
- package/src/Content/Heading.vue +33 -0
- package/src/Content/Link.vue +204 -0
- package/src/Content/List.vue +121 -0
- package/src/Content/Msr.vue +24 -0
- package/src/Content/Paragraph.vue +35 -0
- package/src/Content/index.ts +11 -0
- package/src/Form/Additional.vue +23 -0
- package/src/Form/Button.vue +55 -0
- package/src/Form/Checkbox.vue +60 -0
- package/src/Form/Color.vue +33 -0
- package/src/Form/Datalist.vue +28 -0
- package/src/Form/Date.vue +33 -0
- package/src/Form/Datetime.vue +33 -0
- package/src/Form/Email.vue +38 -0
- package/src/Form/Field.vue +32 -0
- package/src/Form/Fieldset.vue +34 -0
- package/src/Form/File.vue +33 -0
- package/src/Form/Form.vue +22 -0
- package/src/Form/Group.vue +32 -0
- package/src/Form/Hidden.vue +34 -0
- package/src/Form/Input.vue +211 -0
- package/src/Form/Label.vue +68 -0
- package/src/Form/Month.vue +38 -0
- package/src/Form/Number.vue +33 -0
- package/src/Form/Password.vue +38 -0
- package/src/Form/Radio.vue +33 -0
- package/src/Form/Range.vue +33 -0
- package/src/Form/Reset.vue +17 -0
- package/src/Form/Search.vue +33 -0
- package/src/Form/Select.vue +156 -0
- package/src/Form/Submit.vue +17 -0
- package/src/Form/Switch.vue +47 -0
- package/src/Form/Tel.vue +33 -0
- package/src/Form/Textarea.vue +163 -0
- package/src/Form/Time.vue +38 -0
- package/src/Form/Toggle.vue +43 -0
- package/src/Form/Url.vue +33 -0
- package/src/Form/Week.vue +38 -0
- package/src/Form/index.ts +37 -0
- package/src/Layout/Article.vue +27 -0
- package/src/Layout/Aside.vue +25 -0
- package/src/Layout/Column.vue +27 -0
- package/src/Layout/Container.vue +25 -0
- package/src/Layout/Flex.vue +30 -0
- package/src/Layout/FlexItem.vue +23 -0
- package/src/Layout/Footer.vue +25 -0
- package/src/Layout/Grid.vue +35 -0
- package/src/Layout/GridItem.vue +23 -0
- package/src/Layout/Header.vue +25 -0
- package/src/Layout/Loader.vue +29 -0
- package/src/Layout/Main.vue +25 -0
- package/src/Layout/Nav.vue +25 -0
- package/src/Layout/Row.vue +27 -0
- package/src/Layout/Section.vue +31 -0
- package/src/Layout/Wrapper.vue +23 -0
- package/src/Layout/index.ts +21 -0
- package/src/Medias/Audio.vue +69 -0
- package/src/Medias/Canvas.vue +27 -0
- package/src/Medias/Figcaption.vue +11 -0
- package/src/Medias/Figure.vue +23 -0
- package/src/Medias/Iframe.vue +51 -0
- package/src/Medias/Image.vue +63 -0
- package/src/Medias/Object.vue +38 -0
- package/src/Medias/Source.vue +33 -0
- package/src/Medias/Track.vue +33 -0
- package/src/Medias/Video.vue +75 -0
- package/src/Medias/index.ts +15 -0
- package/src/index.ts +41 -0
- package/src/vue-shims.d.ts +17 -0
package/README.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# @zairakai/vue-components
|
|
2
|
+
|
|
3
|
+
[![Main][pipeline-main-badge]][pipeline-main-link]
|
|
4
|
+
[![Develop][pipeline-develop-badge]][pipeline-develop-link]
|
|
5
|
+
[![Coverage][coverage-badge]][coverage-link]
|
|
6
|
+
|
|
7
|
+
[![npm][npm-badge]][npm-link]
|
|
8
|
+
[![GitLab Release][gitlab-release-badge]][gitlab-release]
|
|
9
|
+
[![License][license-badge]][license]
|
|
10
|
+
|
|
11
|
+
[![Node.js][node-badge]][node]
|
|
12
|
+
[![ESLint][eslint-badge]][eslint]
|
|
13
|
+
[![Prettier][prettier-badge]][prettier]
|
|
14
|
+
|
|
15
|
+
Collection of reusable Vue 3 components — TypeScript, v-model, WAI-ARIA.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Install
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install @zairakai/vue-components
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Usage
|
|
28
|
+
|
|
29
|
+
### Plugin
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
import { createApp } from 'vue'
|
|
33
|
+
import VueComponentsPlugin from '@zairakai/vue-components'
|
|
34
|
+
|
|
35
|
+
const app = createApp(App)
|
|
36
|
+
app.use(VueComponentsPlugin)
|
|
37
|
+
app.mount('#app')
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
With a custom prefix:
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
app.use(VueComponentsPlugin, { prefix: 'Zk' })
|
|
44
|
+
// ZkFormInput, ZkLayoutContainer, etc.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Import by category
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
import { FormInput, FormButton } from '@zairakai/vue-components/Form'
|
|
51
|
+
import { LayoutContainer, LayoutRow } from '@zairakai/vue-components/Layout'
|
|
52
|
+
import { ContentHeading, ContentParagraph } from '@zairakai/vue-components/Content'
|
|
53
|
+
import { MediaImage, MediaVideo } from '@zairakai/vue-components/Medias'
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Categories
|
|
59
|
+
|
|
60
|
+
| Category | Components |
|
|
61
|
+
| --------- | -------------------------------------------------------- |
|
|
62
|
+
| `Form` | Input, Button, Select, Textarea, Checkbox, Radio, etc. |
|
|
63
|
+
| `Layout` | Container, Grid, Flex, Header, Footer, Nav, etc. |
|
|
64
|
+
| `Content` | Heading, Paragraph, Link, List, Blockquote, Msr |
|
|
65
|
+
| `Medias` | Image, Figure, Audio, Video, Iframe, Canvas, etc. |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Development
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npm install
|
|
73
|
+
make ci # full CI validation
|
|
74
|
+
make test-coverage # run vitest with coverage
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for the full development workflow.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Getting Help
|
|
82
|
+
|
|
83
|
+
[![License][license-badge]][license]
|
|
84
|
+
[![Security Policy][security-badge]][security]
|
|
85
|
+
[![Issues][issues-badge]][issues]
|
|
86
|
+
|
|
87
|
+
**Made with ❤️ by [Zairakai][ecosystem]**
|
|
88
|
+
|
|
89
|
+
<!-- Reference Links -->
|
|
90
|
+
|
|
91
|
+
[pipeline-main-badge]: https://gitlab.com/zairakai/npm-packages/vue-components/badges/main/pipeline.svg?ignore_skipped=true&key_text=Main
|
|
92
|
+
[pipeline-main-link]: https://gitlab.com/zairakai/npm-packages/vue-components/-/commits/main
|
|
93
|
+
[pipeline-develop-badge]: https://gitlab.com/zairakai/npm-packages/vue-components/badges/develop/pipeline.svg?ignore_skipped=true&key_text=Develop
|
|
94
|
+
[pipeline-develop-link]: https://gitlab.com/zairakai/npm-packages/vue-components/-/commits/develop
|
|
95
|
+
[coverage-badge]: https://gitlab.com/zairakai/npm-packages/vue-components/badges/main/coverage.svg
|
|
96
|
+
[coverage-link]: https://gitlab.com/zairakai/npm-packages/vue-components/-/pipelines?ref=main
|
|
97
|
+
[npm-badge]: https://img.shields.io/npm/v/@zairakai/vue-components
|
|
98
|
+
[npm-link]: https://www.npmjs.com/package/@zairakai/vue-components
|
|
99
|
+
[gitlab-release-badge]: https://img.shields.io/gitlab/v/release/zairakai/npm-packages/vue-components?logo=gitlab
|
|
100
|
+
[gitlab-release]: https://gitlab.com/zairakai/npm-packages/vue-components/-/releases
|
|
101
|
+
[license-badge]: https://img.shields.io/badge/license-MIT-blue.svg
|
|
102
|
+
[license]: ./LICENSE
|
|
103
|
+
[security-badge]: https://img.shields.io/badge/security-scanned-green.svg
|
|
104
|
+
[security]: ./SECURITY.md
|
|
105
|
+
[issues-badge]: https://img.shields.io/gitlab/issues/open-raw/zairakai%2Fnpm-packages%2Fvue-components?logo=gitlab&label=Issues
|
|
106
|
+
[issues]: https://gitlab.com/zairakai/npm-packages/vue-components/-/issues
|
|
107
|
+
[node-badge]: https://img.shields.io/badge/node.js-%3E%3D22-green.svg?logo=node.js
|
|
108
|
+
[node]: https://nodejs.org
|
|
109
|
+
[eslint-badge]: https://img.shields.io/badge/code%20style-eslint-4B32C3.svg?logo=eslint
|
|
110
|
+
[eslint]: https://eslint.org
|
|
111
|
+
[prettier-badge]: https://img.shields.io/badge/formatter-prettier-F7B93E.svg?logo=prettier
|
|
112
|
+
[prettier]: https://prettier.io
|
|
113
|
+
[ecosystem]: https://gitlab.com/zairakai
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Components
|
|
3
|
+
* Components for text content and typography
|
|
4
|
+
*/
|
|
5
|
+
export { default as ContentBlockquote } from './Blockquote.vue';
|
|
6
|
+
export { default as ContentHeading } from './Heading.vue';
|
|
7
|
+
export { default as ContentLink } from './Link.vue';
|
|
8
|
+
export { default as ContentList } from './List.vue';
|
|
9
|
+
export { default as ContentMsr } from './Msr.vue';
|
|
10
|
+
export { default as ContentParagraph } from './Paragraph.vue';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Content/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Components
|
|
3
|
+
* Components for text content and typography
|
|
4
|
+
*/
|
|
5
|
+
export { default as ContentBlockquote } from './Blockquote.vue';
|
|
6
|
+
export { default as ContentHeading } from './Heading.vue';
|
|
7
|
+
export { default as ContentLink } from './Link.vue';
|
|
8
|
+
export { default as ContentList } from './List.vue';
|
|
9
|
+
export { default as ContentMsr } from './Msr.vue';
|
|
10
|
+
export { default as ContentParagraph } from './Paragraph.vue';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Content/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form Components
|
|
3
|
+
* Reusable form elements with v-model support
|
|
4
|
+
*/
|
|
5
|
+
export { default as FormAdditional } from './Additional.vue';
|
|
6
|
+
export { default as FormButton } from './Button.vue';
|
|
7
|
+
export { default as FormCheckbox } from './Checkbox.vue';
|
|
8
|
+
export { default as FormColor } from './Color.vue';
|
|
9
|
+
export { default as FormDatalist } from './Datalist.vue';
|
|
10
|
+
export { default as FormDate } from './Date.vue';
|
|
11
|
+
export { default as FormDatetime } from './Datetime.vue';
|
|
12
|
+
export { default as FormEmail } from './Email.vue';
|
|
13
|
+
export { default as FormField } from './Field.vue';
|
|
14
|
+
export { default as FormFieldset } from './Fieldset.vue';
|
|
15
|
+
export { default as FormFile } from './File.vue';
|
|
16
|
+
export { default as FormForm } from './Form.vue';
|
|
17
|
+
export { default as FormGroup } from './Group.vue';
|
|
18
|
+
export { default as FormHidden } from './Hidden.vue';
|
|
19
|
+
export { default as FormInput } from './Input.vue';
|
|
20
|
+
export { default as FormLabel } from './Label.vue';
|
|
21
|
+
export { default as FormMonth } from './Month.vue';
|
|
22
|
+
export { default as FormNumber } from './Number.vue';
|
|
23
|
+
export { default as FormPassword } from './Password.vue';
|
|
24
|
+
export { default as FormRadio } from './Radio.vue';
|
|
25
|
+
export { default as FormRange } from './Range.vue';
|
|
26
|
+
export { default as FormReset } from './Reset.vue';
|
|
27
|
+
export { default as FormSearch } from './Search.vue';
|
|
28
|
+
export { default as FormSelect } from './Select.vue';
|
|
29
|
+
export { default as FormSubmit } from './Submit.vue';
|
|
30
|
+
export { default as FormSwitch } from './Switch.vue';
|
|
31
|
+
export { default as FormTel } from './Tel.vue';
|
|
32
|
+
export { default as FormTextarea } from './Textarea.vue';
|
|
33
|
+
export { default as FormTime } from './Time.vue';
|
|
34
|
+
export { default as FormToggle } from './Toggle.vue';
|
|
35
|
+
export { default as FormUrl } from './Url.vue';
|
|
36
|
+
export { default as FormWeek } from './Week.vue';
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Form/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form Components
|
|
3
|
+
* Reusable form elements with v-model support
|
|
4
|
+
*/
|
|
5
|
+
export { default as FormAdditional } from './Additional.vue';
|
|
6
|
+
export { default as FormButton } from './Button.vue';
|
|
7
|
+
export { default as FormCheckbox } from './Checkbox.vue';
|
|
8
|
+
export { default as FormColor } from './Color.vue';
|
|
9
|
+
export { default as FormDatalist } from './Datalist.vue';
|
|
10
|
+
export { default as FormDate } from './Date.vue';
|
|
11
|
+
export { default as FormDatetime } from './Datetime.vue';
|
|
12
|
+
export { default as FormEmail } from './Email.vue';
|
|
13
|
+
export { default as FormField } from './Field.vue';
|
|
14
|
+
export { default as FormFieldset } from './Fieldset.vue';
|
|
15
|
+
export { default as FormFile } from './File.vue';
|
|
16
|
+
export { default as FormForm } from './Form.vue';
|
|
17
|
+
export { default as FormGroup } from './Group.vue';
|
|
18
|
+
export { default as FormHidden } from './Hidden.vue';
|
|
19
|
+
export { default as FormInput } from './Input.vue';
|
|
20
|
+
export { default as FormLabel } from './Label.vue';
|
|
21
|
+
export { default as FormMonth } from './Month.vue';
|
|
22
|
+
export { default as FormNumber } from './Number.vue';
|
|
23
|
+
export { default as FormPassword } from './Password.vue';
|
|
24
|
+
export { default as FormRadio } from './Radio.vue';
|
|
25
|
+
export { default as FormRange } from './Range.vue';
|
|
26
|
+
export { default as FormReset } from './Reset.vue';
|
|
27
|
+
export { default as FormSearch } from './Search.vue';
|
|
28
|
+
export { default as FormSelect } from './Select.vue';
|
|
29
|
+
export { default as FormSubmit } from './Submit.vue';
|
|
30
|
+
export { default as FormSwitch } from './Switch.vue';
|
|
31
|
+
export { default as FormTel } from './Tel.vue';
|
|
32
|
+
export { default as FormTextarea } from './Textarea.vue';
|
|
33
|
+
export { default as FormTime } from './Time.vue';
|
|
34
|
+
export { default as FormToggle } from './Toggle.vue';
|
|
35
|
+
export { default as FormUrl } from './Url.vue';
|
|
36
|
+
export { default as FormWeek } from './Week.vue';
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Form/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout Components
|
|
3
|
+
* Structural components for page layout and organization
|
|
4
|
+
*/
|
|
5
|
+
export { default as LayoutArticle } from './Article.vue';
|
|
6
|
+
export { default as LayoutAside } from './Aside.vue';
|
|
7
|
+
export { default as LayoutColumn } from './Column.vue';
|
|
8
|
+
export { default as LayoutContainer } from './Container.vue';
|
|
9
|
+
export { default as LayoutFlex } from './Flex.vue';
|
|
10
|
+
export { default as LayoutFlexItem } from './FlexItem.vue';
|
|
11
|
+
export { default as LayoutFooter } from './Footer.vue';
|
|
12
|
+
export { default as LayoutGrid } from './Grid.vue';
|
|
13
|
+
export { default as LayoutGridItem } from './GridItem.vue';
|
|
14
|
+
export { default as LayoutHeader } from './Header.vue';
|
|
15
|
+
export { default as LayoutLoader } from './Loader.vue';
|
|
16
|
+
export { default as LayoutMain } from './Main.vue';
|
|
17
|
+
export { default as LayoutNav } from './Nav.vue';
|
|
18
|
+
export { default as LayoutRow } from './Row.vue';
|
|
19
|
+
export { default as LayoutSection } from './Section.vue';
|
|
20
|
+
export { default as LayoutWrapper } from './Wrapper.vue';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Layout/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout Components
|
|
3
|
+
* Structural components for page layout and organization
|
|
4
|
+
*/
|
|
5
|
+
export { default as LayoutArticle } from './Article.vue';
|
|
6
|
+
export { default as LayoutAside } from './Aside.vue';
|
|
7
|
+
export { default as LayoutColumn } from './Column.vue';
|
|
8
|
+
export { default as LayoutContainer } from './Container.vue';
|
|
9
|
+
export { default as LayoutFlex } from './Flex.vue';
|
|
10
|
+
export { default as LayoutFlexItem } from './FlexItem.vue';
|
|
11
|
+
export { default as LayoutFooter } from './Footer.vue';
|
|
12
|
+
export { default as LayoutGrid } from './Grid.vue';
|
|
13
|
+
export { default as LayoutGridItem } from './GridItem.vue';
|
|
14
|
+
export { default as LayoutHeader } from './Header.vue';
|
|
15
|
+
export { default as LayoutLoader } from './Loader.vue';
|
|
16
|
+
export { default as LayoutMain } from './Main.vue';
|
|
17
|
+
export { default as LayoutNav } from './Nav.vue';
|
|
18
|
+
export { default as LayoutRow } from './Row.vue';
|
|
19
|
+
export { default as LayoutSection } from './Section.vue';
|
|
20
|
+
export { default as LayoutWrapper } from './Wrapper.vue';
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Layout/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Media Components
|
|
3
|
+
* Components for media content (images, videos, audio, etc.)
|
|
4
|
+
*/
|
|
5
|
+
export { default as MediaAudio } from './Audio.vue';
|
|
6
|
+
export { default as MediaCanvas } from './Canvas.vue';
|
|
7
|
+
export { default as MediaFigcaption } from './Figcaption.vue';
|
|
8
|
+
export { default as MediaFigure } from './Figure.vue';
|
|
9
|
+
export { default as MediaIframe } from './Iframe.vue';
|
|
10
|
+
export { default as MediaImage } from './Image.vue';
|
|
11
|
+
export { default as MediaObject } from './Object.vue';
|
|
12
|
+
export { default as MediaSource } from './Source.vue';
|
|
13
|
+
export { default as MediaTrack } from './Track.vue';
|
|
14
|
+
export { default as MediaVideo } from './Video.vue';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Medias/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Media Components
|
|
3
|
+
* Components for media content (images, videos, audio, etc.)
|
|
4
|
+
*/
|
|
5
|
+
export { default as MediaAudio } from './Audio.vue';
|
|
6
|
+
export { default as MediaCanvas } from './Canvas.vue';
|
|
7
|
+
export { default as MediaFigcaption } from './Figcaption.vue';
|
|
8
|
+
export { default as MediaFigure } from './Figure.vue';
|
|
9
|
+
export { default as MediaIframe } from './Iframe.vue';
|
|
10
|
+
export { default as MediaImage } from './Image.vue';
|
|
11
|
+
export { default as MediaObject } from './Object.vue';
|
|
12
|
+
export { default as MediaSource } from './Source.vue';
|
|
13
|
+
export { default as MediaTrack } from './Track.vue';
|
|
14
|
+
export { default as MediaVideo } from './Video.vue';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Medias/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zairakai/npm-vue-components
|
|
3
|
+
* Collection of reusable Vue 3 components
|
|
4
|
+
*/
|
|
5
|
+
import type { Plugin } from 'vue';
|
|
6
|
+
export * from './Content/index.js';
|
|
7
|
+
export * from './Form/index.js';
|
|
8
|
+
export * from './Layout/index.js';
|
|
9
|
+
export * from './Medias/index.js';
|
|
10
|
+
export interface VueComponentsOptions {
|
|
11
|
+
prefix?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const VueComponentsPlugin: Plugin;
|
|
14
|
+
export default VueComponentsPlugin;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAO,MAAM,EAAE,MAAM,KAAK,CAAA;AAGtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AAGjC,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAGD,QAAA,MAAM,mBAAmB,EAAE,MAmB1B,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zairakai/npm-vue-components
|
|
3
|
+
* Collection of reusable Vue 3 components
|
|
4
|
+
*/
|
|
5
|
+
// Export all components by category
|
|
6
|
+
export * from './Content/index.js';
|
|
7
|
+
export * from './Form/index.js';
|
|
8
|
+
export * from './Layout/index.js';
|
|
9
|
+
export * from './Medias/index.js';
|
|
10
|
+
// Vue plugin for easy installation
|
|
11
|
+
const VueComponentsPlugin = {
|
|
12
|
+
install(app, options = {}) {
|
|
13
|
+
// Import all components dynamically
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
|
+
const components = import.meta.glob('./**/*.vue', {
|
|
16
|
+
eager: true,
|
|
17
|
+
});
|
|
18
|
+
for (const path in components) {
|
|
19
|
+
const component = components[path];
|
|
20
|
+
const name = (component.default.name ?? path.split('/').pop()?.replace('.vue', '') ?? '');
|
|
21
|
+
if (options.prefix) {
|
|
22
|
+
app.component(`${options.prefix}${name}`, component.default);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
app.component(name, component.default);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
export default VueComponentsPlugin;
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,oCAAoC;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AAOjC,mCAAmC;AACnC,MAAM,mBAAmB,GAAW;IAClC,OAAO,CAAC,GAAQ,EAAE,UAAgC,EAAE;QAClD,oCAAoC;QACpC,8DAA8D;QAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAmB,YAAY,EAAE;YAClE,KAAK,EAAE,IAAI;SACZ,CAAC,CAAA;QAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAClC,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,CAAW,CAAA;YAEnG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,GAAG,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;YAC9D,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zairakai/vue-components",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Collection of reusable Vue 3 components with TypeScript, v-model support, and WAI-ARIA accessibility for forms, layout, content, and media",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"vue",
|
|
7
|
+
"vue3",
|
|
8
|
+
"components",
|
|
9
|
+
"form",
|
|
10
|
+
"layout",
|
|
11
|
+
"ui",
|
|
12
|
+
"composition-api",
|
|
13
|
+
"typescript",
|
|
14
|
+
"accessible",
|
|
15
|
+
"wai-aria"
|
|
16
|
+
],
|
|
17
|
+
"homepage": "https://gitlab.com/zairakai/npm-packages/vue-components",
|
|
18
|
+
"bugs": {
|
|
19
|
+
"url": "https://gitlab.com/zairakai/npm-packages/vue-components/-/issues",
|
|
20
|
+
"email": "contact-project+zairakai-npm-packages-vue-components-80190598-issue-@incoming.gitlab.com"
|
|
21
|
+
},
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://gitlab.com/zairakai/npm-packages/vue-components.git"
|
|
25
|
+
},
|
|
26
|
+
"funding": [
|
|
27
|
+
{
|
|
28
|
+
"type": "patreon",
|
|
29
|
+
"url": "https://www.patreon.com/c/zairakai"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "twitch",
|
|
33
|
+
"url": "https://www.twitch.tv/zairakai"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"author": "Stanislas Poisson <stanislas.p@the-white-rabbits.fr> (https://the-white-rabbits.fr)",
|
|
38
|
+
"contributors": [
|
|
39
|
+
{
|
|
40
|
+
"name": "Stanislas Poisson",
|
|
41
|
+
"url": "https://gitlab.com/zairakai",
|
|
42
|
+
"role": "Maintainer"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"type": "module",
|
|
46
|
+
"exports": {
|
|
47
|
+
".": {
|
|
48
|
+
"types": "./dist/index.d.ts",
|
|
49
|
+
"import": "./dist/index.js",
|
|
50
|
+
"require": "./dist/index.cjs"
|
|
51
|
+
},
|
|
52
|
+
"./Form": {
|
|
53
|
+
"types": "./dist/Form.d.ts",
|
|
54
|
+
"import": "./dist/Form.js",
|
|
55
|
+
"require": "./dist/Form.cjs"
|
|
56
|
+
},
|
|
57
|
+
"./Layout": {
|
|
58
|
+
"types": "./dist/Layout.d.ts",
|
|
59
|
+
"import": "./dist/Layout.js",
|
|
60
|
+
"require": "./dist/Layout.cjs"
|
|
61
|
+
},
|
|
62
|
+
"./Content": {
|
|
63
|
+
"types": "./dist/Content.d.ts",
|
|
64
|
+
"import": "./dist/Content.js",
|
|
65
|
+
"require": "./dist/Content.cjs"
|
|
66
|
+
},
|
|
67
|
+
"./Medias": {
|
|
68
|
+
"types": "./dist/Medias.d.ts",
|
|
69
|
+
"import": "./dist/Medias.js",
|
|
70
|
+
"require": "./dist/Medias.cjs"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"main": "./dist/index.cjs",
|
|
74
|
+
"types": "./dist/index.d.ts",
|
|
75
|
+
"files": [
|
|
76
|
+
"src",
|
|
77
|
+
"dist",
|
|
78
|
+
"LICENSE",
|
|
79
|
+
"README.md"
|
|
80
|
+
],
|
|
81
|
+
"scripts": {
|
|
82
|
+
"build": "vue-tsc && vite build",
|
|
83
|
+
"eslint": "bash node_modules/@zairakai/js-dev-tools/scripts/eslint.sh",
|
|
84
|
+
"eslint:fix": "bash node_modules/@zairakai/js-dev-tools/scripts/eslint-fix.sh",
|
|
85
|
+
"markdownlint": "bash node_modules/@zairakai/js-dev-tools/scripts/markdownlint.sh",
|
|
86
|
+
"markdownlint:fix": "bash node_modules/@zairakai/js-dev-tools/scripts/markdownlint-fix.sh",
|
|
87
|
+
"postinstall": "bash node_modules/@zairakai/js-dev-tools/scripts/setup-project.sh --silent || true",
|
|
88
|
+
"prettier": "bash node_modules/@zairakai/js-dev-tools/scripts/prettier.sh",
|
|
89
|
+
"prettier:fix": "bash node_modules/@zairakai/js-dev-tools/scripts/prettier-fix.sh",
|
|
90
|
+
"setup": "bash node_modules/@zairakai/js-dev-tools/scripts/setup-project.sh",
|
|
91
|
+
"stylelint": "bash node_modules/@zairakai/js-dev-tools/scripts/stylelint.sh",
|
|
92
|
+
"stylelint:fix": "bash node_modules/@zairakai/js-dev-tools/scripts/stylelint-fix.sh",
|
|
93
|
+
"normalize": "make package-normalize",
|
|
94
|
+
"package:validate": "make package-validate",
|
|
95
|
+
"test": "make test-all",
|
|
96
|
+
"validate": "make quality"
|
|
97
|
+
},
|
|
98
|
+
"peerDependencies": {
|
|
99
|
+
"vue": "^3.0.0"
|
|
100
|
+
},
|
|
101
|
+
"devDependencies": {
|
|
102
|
+
"@types/node": "^25.0.0",
|
|
103
|
+
"@vitejs/plugin-vue": "^6.0.0",
|
|
104
|
+
"@vitest/coverage-v8": "^4.0.0",
|
|
105
|
+
"@vue/eslint-config-typescript": "^14.6.0",
|
|
106
|
+
"@vue/test-utils": "^2.4.0",
|
|
107
|
+
"@vue/tsconfig": "^0.9.0",
|
|
108
|
+
"@zairakai/js-dev-tools": "^1.0.0",
|
|
109
|
+
"jsdom": "^29.0.0",
|
|
110
|
+
"knip": "^5.86.0",
|
|
111
|
+
"pinia": "^3.0.4",
|
|
112
|
+
"sort-package-json": "^3.6.1",
|
|
113
|
+
"typescript": "^5.7.2",
|
|
114
|
+
"vite": "^8.0.0",
|
|
115
|
+
"vite-plugin-dts": "^4.5.4",
|
|
116
|
+
"vitest": "^4.0.0",
|
|
117
|
+
"vue": "^3.5.17",
|
|
118
|
+
"vue-eslint-parser": "^10.2.0",
|
|
119
|
+
"vue-router": "^5.0.3",
|
|
120
|
+
"vue-tsc": "^3.2.5"
|
|
121
|
+
},
|
|
122
|
+
"engines": {
|
|
123
|
+
"node": ">=22.0.0"
|
|
124
|
+
},
|
|
125
|
+
"publishConfig": {
|
|
126
|
+
"access": "public"
|
|
127
|
+
},
|
|
128
|
+
"outdatedIgnore": []
|
|
129
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
|
|
4
|
+
defineOptions({
|
|
5
|
+
name: 'ContentBlockquote',
|
|
6
|
+
})
|
|
7
|
+
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
cite: String,
|
|
10
|
+
class: String,
|
|
11
|
+
})
|
|
12
|
+
|
|
13
|
+
const blockquoteProps = computed(() => ({
|
|
14
|
+
cite: props.cite,
|
|
15
|
+
class: props.class,
|
|
16
|
+
}))
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<blockquote v-bind="blockquoteProps">
|
|
21
|
+
<slot />
|
|
22
|
+
</blockquote>
|
|
23
|
+
</template>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
|
|
4
|
+
defineOptions({
|
|
5
|
+
name: 'ContentHeading',
|
|
6
|
+
})
|
|
7
|
+
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
level: {
|
|
10
|
+
type: Number,
|
|
11
|
+
default: 1,
|
|
12
|
+
validator(value) {
|
|
13
|
+
return 1 <= value && 6 >= value
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
id: String,
|
|
17
|
+
class: String,
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
const headingProps = computed(() => ({
|
|
21
|
+
id: props.id,
|
|
22
|
+
class: props.class,
|
|
23
|
+
}))
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<template>
|
|
27
|
+
<component
|
|
28
|
+
:is="`h${level}`"
|
|
29
|
+
v-bind="headingProps"
|
|
30
|
+
>
|
|
31
|
+
<slot />
|
|
32
|
+
</component>
|
|
33
|
+
</template>
|