orio-ui 1.18.0 → 1.18.1
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
CHANGED
|
@@ -8,12 +8,12 @@ A delightful, lightweight component library for Nuxt 3+ applications. Built with
|
|
|
8
8
|
|
|
9
9
|
## Features
|
|
10
10
|
|
|
11
|
-
✨ **
|
|
11
|
+
✨ **31 Components** - Beautiful, accessible components ready to use
|
|
12
12
|
🎨 **Themeable** - 5 built-in accent themes with light/dark mode support
|
|
13
13
|
🚀 **Auto-imported** - Works seamlessly with Nuxt's auto-import system
|
|
14
14
|
📦 **Tree-shakeable** - Only bundle what you use
|
|
15
15
|
🎯 **TypeScript** - Fully typed for great developer experience
|
|
16
|
-
🧪 **Tested** -
|
|
16
|
+
🧪 **Tested** - 29 test suites for reliability
|
|
17
17
|
📱 **Responsive** - Mobile-first design approach
|
|
18
18
|
♿ **Accessible** - ARIA-compliant components
|
|
19
19
|
|
|
@@ -66,7 +66,7 @@ function handleClick() {
|
|
|
66
66
|
|
|
67
67
|
## What's Included
|
|
68
68
|
|
|
69
|
-
### Components (
|
|
69
|
+
### Components (31)
|
|
70
70
|
|
|
71
71
|
#### Form Controls
|
|
72
72
|
|
|
@@ -112,7 +112,7 @@ function handleClick() {
|
|
|
112
112
|
|
|
113
113
|
- **Upload** - File upload component
|
|
114
114
|
|
|
115
|
-
### Composables (
|
|
115
|
+
### Composables (10)
|
|
116
116
|
|
|
117
117
|
- **useTheme** - Theme and color mode management
|
|
118
118
|
- **useModal** - Modal state with animation origin tracking
|
|
@@ -187,8 +187,8 @@ npm run docs:dev
|
|
|
187
187
|
orio-ui/
|
|
188
188
|
├── src/
|
|
189
189
|
│ ├── runtime/
|
|
190
|
-
│ │ ├── components/ #
|
|
191
|
-
│ │ ├── composables/ #
|
|
190
|
+
│ │ ├── components/ # 31 Vue components
|
|
191
|
+
│ │ ├── composables/ # 10 composables
|
|
192
192
|
│ │ ├── assets/css/ # Theme CSS files
|
|
193
193
|
│ │ └── utils/ # Icon registry
|
|
194
194
|
│ └── module.ts # Nuxt Module definition
|
package/dist/module.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ControlProps } from "./ControlElement.vue.js";
|
|
2
2
|
export type SelectableOption<T extends object = object> = string | T;
|
|
3
|
-
export interface SelectProps
|
|
3
|
+
export interface SelectProps extends ControlProps {
|
|
4
4
|
options: SelectableOption[];
|
|
5
5
|
multiple?: boolean;
|
|
6
6
|
field?: string;
|
|
@@ -8,7 +8,7 @@ export interface SelectProps<T extends object = object> extends ControlProps {
|
|
|
8
8
|
placeholder?: string;
|
|
9
9
|
}
|
|
10
10
|
declare const __VLS_export: <T extends object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
11
|
-
props: import("vue").PublicProps & __VLS_PrettifyLocal<(SelectProps
|
|
11
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<(SelectProps & {
|
|
12
12
|
modelValue: SelectableOption | SelectableOption[] | null | undefined;
|
|
13
13
|
}) & {
|
|
14
14
|
"onUpdate:modelValue"?: ((value: SelectableOption<object> | SelectableOption<object>[] | null | undefined) => any) | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ControlProps } from "./ControlElement.vue.js";
|
|
2
2
|
export type SelectableOption<T extends object = object> = string | T;
|
|
3
|
-
export interface SelectProps
|
|
3
|
+
export interface SelectProps extends ControlProps {
|
|
4
4
|
options: SelectableOption[];
|
|
5
5
|
multiple?: boolean;
|
|
6
6
|
field?: string;
|
|
@@ -8,7 +8,7 @@ export interface SelectProps<T extends object = object> extends ControlProps {
|
|
|
8
8
|
placeholder?: string;
|
|
9
9
|
}
|
|
10
10
|
declare const __VLS_export: <T extends object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
11
|
-
props: import("vue").PublicProps & __VLS_PrettifyLocal<(SelectProps
|
|
11
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<(SelectProps & {
|
|
12
12
|
modelValue: SelectableOption | SelectableOption[] | null | undefined;
|
|
13
13
|
}) & {
|
|
14
14
|
"onUpdate:modelValue"?: ((value: SelectableOption<object> | SelectableOption<object>[] | null | undefined) => any) | undefined;
|
|
@@ -157,5 +157,5 @@ onMounted(() => {
|
|
|
157
157
|
</template>
|
|
158
158
|
|
|
159
159
|
<style scoped>
|
|
160
|
-
.carousel-wrapper{display:block;position:relative}.carousel-measure{height:-moz-max-content;height:max-content;pointer-events:none;position:absolute;visibility:hidden;width:-moz-max-content;width:max-content}.carousel-measure img{display:block}.carousel{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);height:v-bind("calculatedSize.height");max-height:v-bind(maxHeight);max-width:100%;overflow:hidden;transition:width .3s ease,height .3s ease;width:v-bind("calculatedSize.width")}.carousel-track{align-items:center;cursor:grab;display:flex;gap:.75rem;height:100%;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.carousel-track:active{cursor:grabbing}.carousel-item{background:var(--color-surface);border-radius:var(--border-radius-sm);color:var(--color-text);height:100%;inset:0;opacity:0;overflow:hidden;padding:.5rem .75rem;pointer-events:none;position:absolute;transition:opacity .5s ease-in-out,transform .5s ease-in-out;white-space:nowrap;width:100%}.carousel-item.previous-image{transform:translateX(-100%)}.carousel-item.next-image{transform:translateX(100%)}.carousel-item.active-image{opacity:1;pointer-events:auto;transform:translateX(0)}.carousel-item img{height:100%;-o-object-fit:v-bind(fit);object-fit:v-bind(fit);width:100%}.carousel-empty{color:var(--color-muted)}.switch-button{position:absolute}.switch-button :deep(button){background:transparent!important;border:none!important;color:transparent!important}.switch-button :deep(button:hover){color:transparent!important}.switch-button :deep(.orio-icon){color:#fff!important;fill:#fff!important;filter:drop-shadow(0 0 2px rgba(0,0,0,.8)) drop-shadow(0 0 4px rgba(0,0,0,.6))}@supports (mix-blend-mode:difference) and (not (-webkit-hyphens:none)){.switch-button :deep(.orio-icon){color:#000!important;fill:#000!important;filter:grayscale(1) contrast(9) invert(1) drop-shadow(0 0 1px black) drop-shadow(0 0 2px black);mix-blend-mode:difference}}.switch-button.previous-button{left:0}.switch-button.next-button{right:0}.carousel--minimal{background:none;border:none}.carousel--minimal .carousel-item{background:none}.carousel--minimal .switch-button{opacity:0;transition:opacity .2s ease}.carousel--minimal:hover .switch-button{opacity:1}
|
|
160
|
+
.carousel-wrapper{display:block;overflow:hidden;position:relative}.carousel-measure{height:-moz-max-content;height:max-content;pointer-events:none;position:absolute;visibility:hidden;width:-moz-max-content;width:max-content}.carousel-measure img{display:block}.carousel{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);height:v-bind("calculatedSize.height");max-height:v-bind(maxHeight);max-width:100%;overflow:hidden;transition:width .3s ease,height .3s ease;width:v-bind("calculatedSize.width")}.carousel-track{align-items:center;cursor:grab;display:flex;gap:.75rem;height:100%;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.carousel-track:active{cursor:grabbing}.carousel-item{background:var(--color-surface);border-radius:var(--border-radius-sm);color:var(--color-text);height:100%;inset:0;opacity:0;overflow:hidden;padding:.5rem .75rem;pointer-events:none;position:absolute;transition:opacity .5s ease-in-out,transform .5s ease-in-out;white-space:nowrap;width:100%}.carousel-item.previous-image{transform:translateX(-100%)}.carousel-item.next-image{transform:translateX(100%)}.carousel-item.active-image{opacity:1;pointer-events:auto;transform:translateX(0)}.carousel-item img{height:100%;-o-object-fit:v-bind(fit);object-fit:v-bind(fit);width:100%}.carousel-empty{color:var(--color-muted)}.switch-button{position:absolute}.switch-button :deep(button){background:transparent!important;border:none!important;color:transparent!important}.switch-button :deep(button:hover){color:transparent!important}.switch-button :deep(.orio-icon){color:#fff!important;fill:#fff!important;filter:drop-shadow(0 0 2px rgba(0,0,0,.8)) drop-shadow(0 0 4px rgba(0,0,0,.6))}@supports (mix-blend-mode:difference) and (not (-webkit-hyphens:none)){.switch-button :deep(.orio-icon){color:#000!important;fill:#000!important;filter:grayscale(1) contrast(9) invert(1) drop-shadow(0 0 1px black) drop-shadow(0 0 2px black);mix-blend-mode:difference}}.switch-button.previous-button{left:0}.switch-button.next-button{right:0}.carousel--minimal{background:none;border:none}.carousel--minimal .carousel-item{background:none}.carousel--minimal .switch-button{opacity:0;transition:opacity .2s ease}.carousel--minimal:hover .switch-button{opacity:1}
|
|
161
161
|
</style>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orio-ui",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.1",
|
|
4
4
|
"description": "Modern Nuxt component library with theme support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/module.mjs",
|
|
@@ -21,13 +21,15 @@
|
|
|
21
21
|
],
|
|
22
22
|
"scripts": {
|
|
23
23
|
"dev": "vitepress dev docs",
|
|
24
|
+
"prebuild": "node scripts/update-counts.mjs",
|
|
24
25
|
"build": "nuxt-module-build build",
|
|
25
26
|
"prepack": "npm run build",
|
|
26
27
|
"test": "vitest",
|
|
27
28
|
"test:unit": "vitest run",
|
|
28
29
|
"test:watch": "vitest watch",
|
|
29
30
|
"docs:dev": "vitepress dev docs --host",
|
|
30
|
-
"
|
|
31
|
+
"predocs:dev": "cp CHANGELOG.md docs/changelog.md",
|
|
32
|
+
"docs:build": "cp CHANGELOG.md docs/changelog.md && vitepress build docs",
|
|
31
33
|
"docs:preview": "vitepress preview docs",
|
|
32
34
|
"lint": "eslint .",
|
|
33
35
|
"lint:fix": "eslint . --fix",
|