manolis-ui 0.1.5 → 0.2.5

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
@@ -1,5 +1,85 @@
1
- # Vue 3 + TypeScript + Vite
1
+ # Manolis UI - Accelerate Your Vue 3 Development
2
2
 
3
- This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
3
+ Manolis UI is a high-quality Vue 3 component library meticulously crafted to accelerate your development process without compromising on visual appeal or ease of use. Built on the solid foundation of Tailwind CSS 4 and enhanced with the extensive component set of Daisy UI v5 (including potential additions), Manolis UI provides you with a rich collection of ready-to-use, customizable components. Spend less time building the basics and more time focusing on the unique aspects of your application.
4
4
 
5
- Learn more about the recommended Project Setup and IDE Support in the [Vue Docs TypeScript Guide](https://vuejs.org/guide/typescript/overview.html#project-setup).
5
+ ## Features
6
+
7
+ * **Comprehensive Component Library:** Includes all components from Daisy UI v5, ensuring you have a wide range of UI elements at your fingertips. We are committed to continuously expanding this library with additional high-quality components where needed.
8
+ * **Interactive Showcase with Storybook:** Explore and experiment with each component in isolation using our integrated Storybook. This provides clear documentation and live examples to understand component behavior and customization options.
9
+ * **Built for Vue 3:** Leverages the latest features and performance improvements of Vue 3, ensuring a modern and efficient development experience.
10
+ * **Beautiful Icons with Lucide:** Features a consistent and elegant set of icons powered by Lucide, enhancing the visual appeal of your application.
11
+ * **Powered by Tailwind CSS 4 and Vite:** Built with the utility-first approach of Tailwind CSS 4 for rapid styling and customization, and bundled with the lightning-fast Vite build tool for an optimized development workflow.
12
+ * **Effortless Integration:** Easily integrate Manolis UI into your existing Vue 3 project with a simple CSS import.
13
+
14
+ ## 🚀 Getting Started
15
+
16
+ 1. **Installation:** First, ensure you have Tailwind CSS and Daisy UI installed in your Vue 3 project. Follow their respective documentation for installation instructions.
17
+
18
+ 2. **Install Manolis UI:**
19
+ ```bash
20
+ # Using npm
21
+ npm install manolis-ui
22
+
23
+ # Or using yarn
24
+ yarn add manolis-ui
25
+
26
+ # Or using pnpm
27
+ pnpm add manolis-ui
28
+ ```
29
+
30
+ 3. **Import Styles:** Add the following lines to your main CSS file (e.g., `src/assets/main.css` or similar), **after** your Tailwind CSS and Daisy UI imports:
31
+
32
+ ```css
33
+ @source '../../../';
34
+
35
+ @plugin "daisyui" {
36
+ /* themes: light --default; */
37
+ themes: all;
38
+ root: ":root";
39
+ }
40
+ ```
41
+
42
+ **Explanation:**
43
+ * `@source '../../../';` tells the CSS preprocessor where to find the Manolis UI styles. Adjust the relative path if your `main.css` file is located in a different directory structure.
44
+ * The `@plugin "daisyui"` block configures Daisy UI themes. Uncomment `themes: light --default;` for a single light theme, or keep `themes: all;` to include all Daisy UI themes.
45
+
46
+ 4. **Import and Use Components:** You can now import and use individual components in your Vue 3 templates:
47
+
48
+ ```vue
49
+ <template>
50
+ <ButtonComponent>Click Me</ButtonComponent>
51
+ </template>
52
+
53
+ <script setup>
54
+ import { ButtonComponent } from 'manolis-ui';
55
+ </script>
56
+ ```
57
+
58
+ ## 📖 Documentation and Examples
59
+
60
+ Explore the full range of components and their usage in our interactive Storybook:
61
+
62
+ [**[Link to your Storybook deployment here]**](Replace this with the actual link to your deployed Storybook)
63
+
64
+ Within Storybook, you'll find detailed documentation, live examples, and the ability to customize component properties to see the effects in real-time.
65
+
66
+ ## 🤝 Contributing
67
+
68
+ We welcome contributions to Manolis UI! If you have suggestions, bug reports, or would like to contribute new components or features, please refer to our [Contributing Guidelines](link-to-contributing-guidelines.md).
69
+
70
+ ## 📄 License
71
+
72
+ This project is licensed under the **GNU General Public License v3.0**. You can find the full text of the license in the [LICENSE](LICENSE) file.
73
+
74
+ **Key aspects of the GPL v3.0 license include:**
75
+
76
+ * **Copyleft:** Any derivative works (modifications or works that include Manolis UI code) must also be licensed under the GPL v3.0.
77
+ * **Attribution:** You must provide appropriate attribution to the original authors of Manolis UI.
78
+ * **Source Code Availability:** You must make the source code of any derivative works available.
79
+ * **Permissions:** The license explicitly grants users permission to run, study, share, and modify the software.
80
+
81
+ For more details, please refer to the complete [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.html).
82
+
83
+ ---
84
+
85
+ **Enjoy building amazing user interfaces with Manolis UI!**
package/dist/index.d.ts CHANGED
@@ -10,11 +10,13 @@ active: boolean;
10
10
  loading: boolean;
11
11
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLButtonElement>;
12
12
 
13
- declare const __VLS_component_10: DefineComponent<Props_15, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props_15> & Readonly<{}>, {
13
+ declare const __VLS_component_10: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
14
+
15
+ declare const __VLS_component_11: DefineComponent<Props_15, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props_15> & Readonly<{}>, {
14
16
  isCollapsed: boolean;
15
17
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
16
18
 
17
- declare const __VLS_component_11: DefineComponent<Props_16, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
19
+ declare const __VLS_component_12: DefineComponent<Props_16, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
18
20
  "tab-changed": (...args: any[]) => void;
19
21
  }, string, PublicProps, Readonly<Props_16> & Readonly<{
20
22
  "onTab-changed"?: ((...args: any[]) => any) | undefined;
@@ -72,9 +74,22 @@ data: any;
72
74
  searchContainer: HTMLDivElement;
73
75
  }, any>;
74
76
 
75
- declare const __VLS_component_8: DefineComponent<Props_13, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props_13> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
77
+ declare const __VLS_component_8: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
78
+ "update:modelValue": (value: string[]) => any;
79
+ }, string, PublicProps, Readonly<__VLS_Props> & Readonly<{
80
+ "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
81
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
82
+ inputRef: HTMLInputElement;
83
+ }, HTMLDivElement>;
84
+
85
+ declare const __VLS_component_9: DefineComponent<Props_13, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props_13> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
76
86
 
77
- declare const __VLS_component_9: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
87
+ declare type __VLS_Props = {
88
+ modelValue: string[];
89
+ maxTagAmount?: number;
90
+ placeholder?: string;
91
+ class?: string;
92
+ };
78
93
 
79
94
  declare function __VLS_template(): {
80
95
  attrs: Partial<{}>;
@@ -86,6 +101,21 @@ declare function __VLS_template(): {
86
101
  };
87
102
 
88
103
  declare function __VLS_template_10(): {
104
+ attrs: Partial<{}>;
105
+ slots: {
106
+ title?(_: {}): any;
107
+ description?(_: {
108
+ class: string;
109
+ }): any;
110
+ 'call-to-action-block'?(_: {
111
+ class: string;
112
+ }): any;
113
+ };
114
+ refs: {};
115
+ rootEl: HTMLDivElement;
116
+ };
117
+
118
+ declare function __VLS_template_11(): {
89
119
  attrs: Partial<{}>;
90
120
  slots: {
91
121
  start?(_: {}): any;
@@ -97,7 +127,7 @@ declare function __VLS_template_10(): {
97
127
  rootEl: HTMLElement;
98
128
  };
99
129
 
100
- declare function __VLS_template_11(): {
130
+ declare function __VLS_template_12(): {
101
131
  attrs: Partial<{}>;
102
132
  slots: Partial<Record<`${string}-tab`, (_: {}) => any>> & {
103
133
  default?(_: {}): any;
@@ -178,22 +208,24 @@ declare function __VLS_template_7(): {
178
208
  declare function __VLS_template_8(): {
179
209
  attrs: Partial<{}>;
180
210
  slots: {
181
- default?(_: {}): any;
211
+ tag?(_: {
212
+ key: string;
213
+ tag: string;
214
+ }): any;
215
+ input?(_: {
216
+ showInput: boolean;
217
+ }): any;
218
+ };
219
+ refs: {
220
+ inputRef: HTMLInputElement;
182
221
  };
183
- refs: {};
184
222
  rootEl: HTMLDivElement;
185
223
  };
186
224
 
187
225
  declare function __VLS_template_9(): {
188
226
  attrs: Partial<{}>;
189
227
  slots: {
190
- title?(_: {}): any;
191
- description?(_: {
192
- class: string;
193
- }): any;
194
- 'call-to-action-block'?(_: {
195
- class: string;
196
- }): any;
228
+ default?(_: {}): any;
197
229
  };
198
230
  refs: {};
199
231
  rootEl: HTMLDivElement;
@@ -205,6 +237,8 @@ declare type __VLS_TemplateResult_10 = ReturnType<typeof __VLS_template_10>;
205
237
 
206
238
  declare type __VLS_TemplateResult_11 = ReturnType<typeof __VLS_template_11>;
207
239
 
240
+ declare type __VLS_TemplateResult_12 = ReturnType<typeof __VLS_template_12>;
241
+
208
242
  declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
209
243
 
210
244
  declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
@@ -239,6 +273,12 @@ declare type __VLS_WithTemplateSlots_11<T, S> = T & {
239
273
  };
240
274
  };
241
275
 
276
+ declare type __VLS_WithTemplateSlots_12<T, S> = T & {
277
+ new (): {
278
+ $slots: S;
279
+ };
280
+ };
281
+
242
282
  declare type __VLS_WithTemplateSlots_2<T, S> = T & {
243
283
  new (): {
244
284
  $slots: S;
@@ -341,7 +381,7 @@ declare const dropdownPosition: {
341
381
  top: string;
342
382
  };
343
383
 
344
- export declare const Footer: __VLS_WithTemplateSlots_8<typeof __VLS_component_8, __VLS_TemplateResult_8["slots"]>;
384
+ export declare const Footer: __VLS_WithTemplateSlots_9<typeof __VLS_component_9, __VLS_TemplateResult_9["slots"]>;
345
385
 
346
386
  declare interface FooterNavigation {
347
387
  title: string;
@@ -354,10 +394,13 @@ declare interface FooterNavigationItem {
354
394
  enabled: Boolean;
355
395
  }
356
396
 
357
- export declare const Hero: __VLS_WithTemplateSlots_9<typeof __VLS_component_9, __VLS_TemplateResult_9["slots"]>;
397
+ export declare const Hero: __VLS_WithTemplateSlots_10<typeof __VLS_component_10, __VLS_TemplateResult_10["slots"]>;
358
398
 
359
399
  export declare const Loader: DefineComponent<Props_12, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props_12> & Readonly<{}>, {
360
400
  loading: boolean;
401
+ type: "spinner" | "dots" | "ring" | "balls" | "bars" | "infinity";
402
+ size: "xs" | "sm" | "md" | "lg" | "xl";
403
+ color: "primary" | "secondary" | "accent" | "neutral" | "info" | "success" | "warning" | "error";
361
404
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
362
405
 
363
406
  export declare const Modal: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
@@ -368,7 +411,7 @@ declare const modalPosition: {
368
411
  center: string;
369
412
  };
370
413
 
371
- export declare const NavigationBar: __VLS_WithTemplateSlots_10<typeof __VLS_component_10, __VLS_TemplateResult_10["slots"]>;
414
+ export declare const NavigationBar: __VLS_WithTemplateSlots_11<typeof __VLS_component_11, __VLS_TemplateResult_11["slots"]>;
372
415
 
373
416
  declare interface Props {
374
417
  outlined?: boolean;
@@ -397,10 +440,15 @@ declare interface Props_11 {
397
440
 
398
441
  declare interface Props_12 {
399
442
  loading?: boolean;
443
+ size?: "xs" | "sm" | "md" | "lg" | "xl";
444
+ type: "spinner" | "dots" | "ring" | "balls" | "bars" | "infinity";
445
+ color: "primary" | "secondary" | "accent" | "neutral" | "info" | "success" | "warning" | "error";
400
446
  }
401
447
 
402
448
  declare interface Props_13 {
403
449
  items: Array<FooterNavigation>;
450
+ background?: string;
451
+ color?: string;
404
452
  }
405
453
 
406
454
  declare interface Props_14 {
@@ -462,13 +510,13 @@ declare interface Props_8 {
462
510
  }
463
511
 
464
512
  declare interface Props_9 {
465
- imgUrl: string;
513
+ imgUrl?: string;
466
514
  alt?: string;
467
515
  title?: string;
468
516
  description?: string;
469
517
  outlined?: boolean;
470
518
  loading: boolean;
471
- class: string;
519
+ class?: string;
472
520
  }
473
521
 
474
522
  export declare const Rating: DefineComponent<Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props_11> & Readonly<{}>, {
@@ -481,7 +529,7 @@ isInteractive: boolean;
481
529
 
482
530
  export declare const Swap: __VLS_WithTemplateSlots_4<typeof __VLS_component_4, __VLS_TemplateResult_4["slots"]>;
483
531
 
484
- export declare const Tab: __VLS_WithTemplateSlots_11<typeof __VLS_component_11, __VLS_TemplateResult_11["slots"]>;
532
+ export declare const Tab: __VLS_WithTemplateSlots_12<typeof __VLS_component_12, __VLS_TemplateResult_12["slots"]>;
485
533
 
486
534
  declare interface Tab_2 {
487
535
  name: string | any;
@@ -501,6 +549,8 @@ declare interface Tab_3 {
501
549
  value?: any;
502
550
  }
503
551
 
552
+ export declare const TagInput: __VLS_WithTemplateSlots_8<typeof __VLS_component_8, __VLS_TemplateResult_8["slots"]>;
553
+
504
554
  export declare const ThemeController: DefineComponent<Props_5, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<Props_5> & Readonly<{}>, {
505
555
  lightTheme: string;
506
556
  darkTheme: string;
@@ -1 +1 @@
1
- .tabs button[data-v-08fa37eb]{cursor:pointer}.tab-content[data-v-08fa37eb]{position:absolute;z-index:10;transform-origin:top center;transition:opacity .3s ease}.tabs-boxed[data-v-08fa37eb] :is(.tab-active,[aria-selected=true]):not(.tab-disabled):not([disabled]),.tabs-boxed[data-v-08fa37eb] :is(input:checked){background-color:var(--color-base-300);color:var(--color-base-content)}@media (max-width: 768px){.tab-content[data-v-08fa37eb]{width:100%;left:50%;transform:translate(-50%);top:auto;bottom:0}}@media (min-width: 769px){.tab-content[data-v-08fa37eb]{width:auto;left:unset;transform:unset}}.input[data-v-cb781ab6]{cursor:pointer}.navigationbar[data-v-8ddb2b45]{display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto auto;grid-template-areas:"center center center" "bottom bottom bottom";position:fixed;width:100%!important;gap:0 1rem;align-items:center;padding:var(--navbar-padding, .5rem);min-height:4rem;z-index:5}@media (min-width: 768px){.navigationbar[data-v-8ddb2b45]{grid-template-columns:.7fr 1.6fr .7fr;grid-template-areas:"start center end" "bottom bottom bottom";grid-row-gap:2rem;padding:2rem}}.navbar-start[data-v-8ddb2b45]{grid-area:start;height:100%}.navbar-center[data-v-8ddb2b45]{grid-area:center;width:100%;height:100%}.navbar-end[data-v-8ddb2b45]{width:100%;height:100%;grid-area:end}.navbar-bottom[data-v-8ddb2b45]{grid-area:center;width:100%;display:flex;justify-content:center;align-items:center}@media (min-width: 768px){.navbar-bottom[data-v-8ddb2b45]{grid-area:bottom}}nav.navigationbar.collapsed[data-v-8ddb2b45]{top:0;z-index:10;grid-template-columns:auto 1fr auto!important}@media (min-width: 768px){nav.navigationbar.collapsed[data-v-8ddb2b45]{row-gap:0;padding:1rem}}nav.navigationbar.collapsed .navbar-bottom[data-v-8ddb2b45]{grid-area:center!important}
1
+ .tabs button[data-v-08fa37eb]{cursor:pointer}.tab-content[data-v-08fa37eb]{position:absolute;z-index:10;transform-origin:top center;transition:opacity .3s ease}.tabs-boxed[data-v-08fa37eb] :is(.tab-active,[aria-selected=true]):not(.tab-disabled):not([disabled]),.tabs-boxed[data-v-08fa37eb] :is(input:checked){background-color:var(--color-base-300);color:var(--color-base-content)}@media (max-width: 768px){.tab-content[data-v-08fa37eb]{width:100%;left:50%;transform:translate(-50%);top:auto;bottom:0}}@media (min-width: 769px){.tab-content[data-v-08fa37eb]{width:auto;left:unset;transform:unset}}.input[data-v-488ecabe]{cursor:pointer}.navigationbar[data-v-8ddb2b45]{display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto auto;grid-template-areas:"center center center" "bottom bottom bottom";position:fixed;width:100%!important;gap:0 1rem;align-items:center;padding:var(--navbar-padding, .5rem);min-height:4rem;z-index:5}@media (min-width: 768px){.navigationbar[data-v-8ddb2b45]{grid-template-columns:.7fr 1.6fr .7fr;grid-template-areas:"start center end" "bottom bottom bottom";grid-row-gap:2rem;padding:2rem}}.navbar-start[data-v-8ddb2b45]{grid-area:start;height:100%}.navbar-center[data-v-8ddb2b45]{grid-area:center;width:100%;height:100%}.navbar-end[data-v-8ddb2b45]{width:100%;height:100%;grid-area:end}.navbar-bottom[data-v-8ddb2b45]{grid-area:center;width:100%;display:flex;justify-content:center;align-items:center}@media (min-width: 768px){.navbar-bottom[data-v-8ddb2b45]{grid-area:bottom}}nav.navigationbar.collapsed[data-v-8ddb2b45]{top:0;z-index:10;grid-template-columns:auto 1fr auto!important}@media (min-width: 768px){nav.navigationbar.collapsed[data-v-8ddb2b45]{row-gap:0;padding:1rem}}nav.navigationbar.collapsed .navbar-bottom[data-v-8ddb2b45]{grid-area:center!important}