manolis-ui 0.0.11 → 0.0.13
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/package.json +6 -3
- package/.github/workflows/deploy_and_publish.yml +0 -113
- package/.storybook/main.ts +0 -34
- package/.storybook/preview.ts +0 -17
- package/.vscode/extensions.json +0 -3
- package/index.html +0 -13
- package/postcss.config.js +0 -2
- package/public/vite.svg +0 -1
- package/src/App.vue +0 -19
- package/src/assets/vue.svg +0 -1
- package/src/components/actions/ButtonComponent.vue +0 -80
- package/src/components/actions/dropdown.vue +0 -46
- package/src/components/actions/modal.vue +0 -52
- package/src/components/actions/swap.vue +0 -15
- package/src/components/actions/theme-controller.vue +0 -52
- package/src/components/data-display/accordion.vue +0 -29
- package/src/components/data-display/avatar.vue +0 -36
- package/src/components/data-display/badge.vue +0 -35
- package/src/components/data-display/card.vue +0 -60
- package/src/components/data-display/carousel.vue +0 -34
- package/src/components/data-input/advancedSearch.vue +0 -227
- package/src/components/data-input/datetimePicker.vue +0 -402
- package/src/components/data-input/input.vue +0 -98
- package/src/components/data-input/rating.vue +0 -60
- package/src/components/feedback/loader.vue +0 -25
- package/src/components/layout/footer.vue +0 -38
- package/src/components/layout/hero.vue +0 -15
- package/src/components/navigation/categoryNavigation.vue +0 -40
- package/src/components/navigation/navigationBar.vue +0 -107
- package/src/components/navigation/tab.vue +0 -62
- package/src/composables/useLocalStorage.ts +0 -24
- package/src/index.ts +0 -30
- package/src/main.ts +0 -5
- package/src/stories/actions/Button.stories.ts +0 -47
- package/src/stories/actions/Dropdown.stories.ts +0 -70
- package/src/stories/actions/Modal.stories.ts +0 -56
- package/src/stories/actions/Swap.stories.ts +0 -56
- package/src/stories/actions/ThemeSwitcher.stories.ts +0 -41
- package/src/stories/data-display/accordion.stories.ts +0 -49
- package/src/stories/data-display/avatar.stories.ts +0 -75
- package/src/stories/data-display/badge.stories.ts +0 -76
- package/src/stories/data-display/card.stories.ts +0 -79
- package/src/stories/data-input/rating.stories.ts +0 -73
- package/src/stories/feedback/Loader.stories.ts +0 -34
- package/src/stories/layout/footer.stories.ts +0 -63
- package/src/style.css +0 -57
- package/src/vite-env.d.ts +0 -1
- package/storybook-static/assets/Button.stories-B5Gg7Ski.js +0 -6
- package/storybook-static/assets/Color-YHDXOIA2-Cy_mA6cn.js +0 -1
- package/storybook-static/assets/DocsRenderer-CFRXHY34-wSGN0bIp.js +0 -610
- package/storybook-static/assets/Dropdown.stories-Bth3_21L.js +0 -32
- package/storybook-static/assets/Loader.stories-BnqtyQP_.js +0 -5
- package/storybook-static/assets/Modal.stories-CxOA4msz.js +0 -46
- package/storybook-static/assets/Swap.stories-Cpc9q_kE.js +0 -54
- package/storybook-static/assets/ThemeSwitcher.stories-BwHcHihM.js +0 -45
- package/storybook-static/assets/accordion.stories-B6yDsDXk.js +0 -7
- package/storybook-static/assets/avatar.stories-BDN93iYh.js +0 -39
- package/storybook-static/assets/badge.stories-CXQpnu0e.js +0 -39
- package/storybook-static/assets/card.stories-1gVWO2fs.js +0 -48
- package/storybook-static/assets/entry-preview-Cfvj9hgI.js +0 -1
- package/storybook-static/assets/entry-preview-docs-BJQT5BWv.js +0 -16
- package/storybook-static/assets/footer.stories-DPXqApht.js +0 -23
- package/storybook-static/assets/iframe-BNdG_Qtn.js +0 -211
- package/storybook-static/assets/index-Bx-go_-4.js +0 -8
- package/storybook-static/assets/index-CiNYFPF0.js +0 -1
- package/storybook-static/assets/index-DrFu-skq.js +0 -6
- package/storybook-static/assets/preview-4lzcCKUM.css +0 -1
- package/storybook-static/assets/preview-B8lJiyuQ.js +0 -34
- package/storybook-static/assets/preview-BBWR9nbA.js +0 -1
- package/storybook-static/assets/preview-BWzBA1C2.js +0 -396
- package/storybook-static/assets/preview-CvbIS5ZJ.js +0 -1
- package/storybook-static/assets/preview-DD_OYowb.js +0 -1
- package/storybook-static/assets/preview-DGUiP6tS.js +0 -7
- package/storybook-static/assets/preview-DHQbi4pV.js +0 -1
- package/storybook-static/assets/preview-DMNI4LCC.js +0 -15
- package/storybook-static/assets/preview-DnqJFqn_.js +0 -2
- package/storybook-static/assets/preview-Dsq_8SDT.js +0 -240
- package/storybook-static/assets/preview-hHK5u5_Q.js +0 -1
- package/storybook-static/assets/rating.stories-BX0Pzp5i.js +0 -27
- package/storybook-static/assets/vue.esm-bundler-C-YazFc_.js +0 -36
- package/storybook-static/favicon.svg +0 -1
- package/storybook-static/iframe.html +0 -666
- package/storybook-static/index.html +0 -181
- package/storybook-static/index.json +0 -1
- package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/project.json +0 -1
- package/storybook-static/sb-addons/chromatic-com-storybook-9/manager-bundle.js +0 -331
- package/storybook-static/sb-addons/chromatic-com-storybook-9/manager-bundle.js.LEGAL.txt +0 -51
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +0 -12
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +0 -402
- package/storybook-static/sb-addons/essentials-docs-3/manager-bundle.js +0 -242
- package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-toolbars-6/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/interactions-10/manager-bundle.js +0 -222
- package/storybook-static/sb-addons/links-11/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +0 -3
- package/storybook-static/sb-common-assets/favicon.svg +0 -1
- package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/sb-manager/globals-module-info.js +0 -1046
- package/storybook-static/sb-manager/globals-runtime.js +0 -41239
- package/storybook-static/sb-manager/globals.js +0 -48
- package/storybook-static/sb-manager/runtime.js +0 -12048
- package/storybook-static/vite.svg +0 -1
- package/tsconfig.app.json +0 -27
- package/tsconfig.build.json +0 -3
- package/tsconfig.json +0 -7
- package/tsconfig.node.json +0 -25
- package/vite.config.ts +0 -43
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import Swap from '../../components/actions/swap.vue'; // Adjust the path as per your setup
|
|
2
|
-
import { Meta, StoryFn } from '@storybook/vue3';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Actions/Swap',
|
|
6
|
-
component: Swap,
|
|
7
|
-
tags: ['autodocs'], // Include autodocs tag
|
|
8
|
-
argTypes: {
|
|
9
|
-
effect: {
|
|
10
|
-
control: 'select',
|
|
11
|
-
options: ['rotate', 'flip'],
|
|
12
|
-
description: 'The effect applied to the swap component.',
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
} as Meta<typeof Swap>;
|
|
16
|
-
|
|
17
|
-
const Template: StoryFn<typeof Swap> = (args, { slots }) => ({
|
|
18
|
-
components: { Swap },
|
|
19
|
-
setup() {
|
|
20
|
-
return { args, slots };
|
|
21
|
-
},
|
|
22
|
-
template: `
|
|
23
|
-
<Swap v-bind="args">
|
|
24
|
-
<template #on>
|
|
25
|
-
<div class="text-green-500 font-bold">On</div>
|
|
26
|
-
</template>
|
|
27
|
-
<template #off>
|
|
28
|
-
<div class="text-red-500 font-bold">Off</div>
|
|
29
|
-
</template>
|
|
30
|
-
</Swap>
|
|
31
|
-
`,
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
export const Default = Template.bind({});
|
|
35
|
-
Default.args = {
|
|
36
|
-
effect: 'rotate',
|
|
37
|
-
};
|
|
38
|
-
Default.parameters = {
|
|
39
|
-
docs: {
|
|
40
|
-
description: {
|
|
41
|
-
component: 'A swap component with optional effects and customizable slots for "on" and "off" states.',
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export const FlipEffect = Template.bind({});
|
|
47
|
-
FlipEffect.args = {
|
|
48
|
-
effect: 'flip',
|
|
49
|
-
};
|
|
50
|
-
FlipEffect.parameters = {
|
|
51
|
-
docs: {
|
|
52
|
-
description: {
|
|
53
|
-
story: 'This variant applies the "flip" effect to the swap component.',
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import ThemeSwitcher from '../../components/actions/theme-controller.vue'; // Adjust the path as per your setup
|
|
2
|
-
import { Meta, StoryFn } from '@storybook/vue3';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Actions/ThemeSwitcher',
|
|
6
|
-
component: ThemeSwitcher,
|
|
7
|
-
tags: ['autodocs'], // Include autodocs tag
|
|
8
|
-
argTypes: {
|
|
9
|
-
darkTheme: {
|
|
10
|
-
control: 'text',
|
|
11
|
-
description: "Define the name of your dark theme here",
|
|
12
|
-
},
|
|
13
|
-
lightTheme: {
|
|
14
|
-
control: 'text',
|
|
15
|
-
description: "Define the name of your light theme here",
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
} as Meta<typeof ThemeSwitcher>;
|
|
19
|
-
|
|
20
|
-
const Template: StoryFn<typeof ThemeSwitcher> = (args) => ({
|
|
21
|
-
components: { ThemeSwitcher },
|
|
22
|
-
setup() {
|
|
23
|
-
return { args };
|
|
24
|
-
},
|
|
25
|
-
template: `
|
|
26
|
-
<ThemeSwitcher v-bind="args" />
|
|
27
|
-
`,
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
export const Default = Template.bind({});
|
|
31
|
-
Default.args = {
|
|
32
|
-
darkTheme: 'reserveren-dark',
|
|
33
|
-
lightTheme: 'reserveren-light',
|
|
34
|
-
};
|
|
35
|
-
Default.parameters = {
|
|
36
|
-
docs: {
|
|
37
|
-
description: {
|
|
38
|
-
component: 'A theme switcher component that toggles between light and dark themes with localStorage support.',
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
-
import Accordion from '../../components/data-display/accordion.vue'
|
|
3
|
-
|
|
4
|
-
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
5
|
-
const meta = {
|
|
6
|
-
title: 'Data Display/Accordion',
|
|
7
|
-
component: Accordion,
|
|
8
|
-
parameters: {
|
|
9
|
-
slots: {
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
// This component will have an automatically generated docsPage entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
13
|
-
tags: ['autodocs'],
|
|
14
|
-
argTypes: {
|
|
15
|
-
name: {control: "text", type: "string"},
|
|
16
|
-
items: {control: "object"},
|
|
17
|
-
joinItems: {control: "boolean", description: "Glue every item together or seperate every item."},
|
|
18
|
-
icon: {control: "radio", options: ["arrow", "plus"]}
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
args: {
|
|
22
|
-
joinItems: false,
|
|
23
|
-
items: [
|
|
24
|
-
{
|
|
25
|
-
title: "item 1",
|
|
26
|
-
content: "this is some text you can adjust with a wysiwyg editor or just in plain text",
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
title: "item 2",
|
|
30
|
-
content: "this is also some text you can adjust with a <strong>wysiwyg</strong> editor or just in plain text/html",
|
|
31
|
-
}
|
|
32
|
-
],
|
|
33
|
-
},
|
|
34
|
-
} satisfies Meta<typeof Accordion>;
|
|
35
|
-
|
|
36
|
-
export default meta;
|
|
37
|
-
type Story = StoryObj<typeof meta>;
|
|
38
|
-
/*
|
|
39
|
-
*👇 Render functions are a framework specific feature to allow you control on how the component renders.
|
|
40
|
-
* See https://storybook.js.org/docs/api/csf
|
|
41
|
-
* to learn how to use render functions.
|
|
42
|
-
*/
|
|
43
|
-
export const Primary: Story = {
|
|
44
|
-
args: {
|
|
45
|
-
name: "demo-accordion",
|
|
46
|
-
joinItems: false,
|
|
47
|
-
icon: "plus",
|
|
48
|
-
},
|
|
49
|
-
};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import Avatar from '../../components/data-display/avatar.vue'; // Adjust the path as per your setup
|
|
2
|
-
import { Meta, StoryFn } from '@storybook/vue3';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Data Display/Avatar',
|
|
6
|
-
component: Avatar,
|
|
7
|
-
tags: ['autodocs'], // Include autodocs tag
|
|
8
|
-
argTypes: {
|
|
9
|
-
image: {
|
|
10
|
-
control: 'text',
|
|
11
|
-
description: 'URL of the avatar image.',
|
|
12
|
-
},
|
|
13
|
-
onlineStatus: {
|
|
14
|
-
control: 'select',
|
|
15
|
-
options: ['online', 'offline', 'none'],
|
|
16
|
-
description: 'Online status of the avatar.',
|
|
17
|
-
},
|
|
18
|
-
initials: {
|
|
19
|
-
control: "text",
|
|
20
|
-
description: 'The Initials of the user'
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
} as Meta<typeof Avatar>;
|
|
24
|
-
|
|
25
|
-
const Template: StoryFn<typeof Avatar> = (args) => ({
|
|
26
|
-
components: { Avatar },
|
|
27
|
-
setup() {
|
|
28
|
-
return { args };
|
|
29
|
-
},
|
|
30
|
-
template: `
|
|
31
|
-
<Avatar v-bind="args" />
|
|
32
|
-
`,
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
export const Default = Template.bind({});
|
|
36
|
-
Default.args = {
|
|
37
|
-
image: 'https://randomuser.me/api/portraits/men/32.jpg', // Example image URL
|
|
38
|
-
onlineStatus: "none",
|
|
39
|
-
initials: "JM",
|
|
40
|
-
};
|
|
41
|
-
Default.parameters = {
|
|
42
|
-
docs: {
|
|
43
|
-
description: {
|
|
44
|
-
component: 'An avatar component that displays an online/offline status based on the `online` prop.',
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export const Online = Template.bind({});
|
|
50
|
-
Online.args = {
|
|
51
|
-
image: 'https://randomuser.me/api/portraits/men/32.jpg', // Example image URL
|
|
52
|
-
onlineStatus: "online",
|
|
53
|
-
initials: "SYP",
|
|
54
|
-
};
|
|
55
|
-
Online.parameters = {
|
|
56
|
-
docs: {
|
|
57
|
-
description: {
|
|
58
|
-
component: 'An avatar component that displays an online/offline status based on the `online` prop.',
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export const Offline = Template.bind({});
|
|
64
|
-
Offline.args = {
|
|
65
|
-
image: 'https://randomuser.me/api/portraits/men/32.jpg', // Example image URL
|
|
66
|
-
onlineStatus: "offline",
|
|
67
|
-
initials: 'SS'
|
|
68
|
-
};
|
|
69
|
-
Offline.parameters = {
|
|
70
|
-
docs: {
|
|
71
|
-
description: {
|
|
72
|
-
story: 'This variant displays the avatar with an offline status.',
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import Badge from '../../components/data-display/badge.vue'; // Adjust the path as per your setup
|
|
2
|
-
import { Meta, StoryFn } from '@storybook/vue3';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Data Display/Badge',
|
|
6
|
-
component: Badge,
|
|
7
|
-
tags: ['autodocs'], // Include autodocs tag
|
|
8
|
-
argTypes: {
|
|
9
|
-
color: {
|
|
10
|
-
control: 'select',
|
|
11
|
-
options: ['neutral', 'primary', 'secondary', 'accent', 'ghost', 'info', 'success', 'warning', 'error'],
|
|
12
|
-
description: 'Sets the color of the badge.',
|
|
13
|
-
},
|
|
14
|
-
outline: {
|
|
15
|
-
control: 'boolean',
|
|
16
|
-
description: 'If true, the badge will have an outline style.',
|
|
17
|
-
},
|
|
18
|
-
size: {
|
|
19
|
-
control: 'select',
|
|
20
|
-
options: ['extra small', 'small', 'medium', 'large'],
|
|
21
|
-
description: 'Sets the size of the badge.',
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
} as Meta<typeof Badge>;
|
|
25
|
-
|
|
26
|
-
const Template: StoryFn<typeof Badge> = (args) => ({
|
|
27
|
-
components: { Badge },
|
|
28
|
-
setup() {
|
|
29
|
-
return { args };
|
|
30
|
-
},
|
|
31
|
-
template: `
|
|
32
|
-
<Badge v-bind="args">New</Badge>
|
|
33
|
-
`,
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
export const Default = Template.bind({});
|
|
37
|
-
Default.args = {
|
|
38
|
-
color: 'primary',
|
|
39
|
-
outline: false,
|
|
40
|
-
size: 'medium',
|
|
41
|
-
};
|
|
42
|
-
Default.parameters = {
|
|
43
|
-
docs: {
|
|
44
|
-
description: {
|
|
45
|
-
component: 'A customizable badge component with different colors, sizes, and outline styles.',
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export const Outlined = Template.bind({});
|
|
51
|
-
Outlined.args = {
|
|
52
|
-
color: 'success',
|
|
53
|
-
outline: true,
|
|
54
|
-
size: 'small',
|
|
55
|
-
};
|
|
56
|
-
Outlined.parameters = {
|
|
57
|
-
docs: {
|
|
58
|
-
description: {
|
|
59
|
-
story: 'This variant demonstrates a badge with the outline style enabled.',
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export const LargeWarning = Template.bind({});
|
|
65
|
-
LargeWarning.args = {
|
|
66
|
-
color: 'warning',
|
|
67
|
-
outline: false,
|
|
68
|
-
size: 'large',
|
|
69
|
-
};
|
|
70
|
-
LargeWarning.parameters = {
|
|
71
|
-
docs: {
|
|
72
|
-
description: {
|
|
73
|
-
story: 'This variant shows a large-sized badge with a warning color.',
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import Card from '../../components/data-display/card.vue'; // Adjust the path as per your setup
|
|
2
|
-
import { Meta, StoryFn } from '@storybook/vue3';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Data Display/Card',
|
|
6
|
-
component: Card,
|
|
7
|
-
tags: ['autodocs'], // Include autodocs tag
|
|
8
|
-
argTypes: {
|
|
9
|
-
imgUrl: {
|
|
10
|
-
control: 'text',
|
|
11
|
-
description: 'URL of the image to display on the card.',
|
|
12
|
-
},
|
|
13
|
-
alt: {
|
|
14
|
-
control: 'text',
|
|
15
|
-
description: 'Alt text for the image.',
|
|
16
|
-
},
|
|
17
|
-
title: {
|
|
18
|
-
control: 'text',
|
|
19
|
-
description: 'Title displayed on the card.',
|
|
20
|
-
},
|
|
21
|
-
description: {
|
|
22
|
-
control: 'text',
|
|
23
|
-
description: 'Description text for the card.',
|
|
24
|
-
},
|
|
25
|
-
outlined: {
|
|
26
|
-
control: 'boolean',
|
|
27
|
-
description: 'If true, applies an outline style to the card.',
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
} as Meta<typeof Card>;
|
|
31
|
-
|
|
32
|
-
const Template: StoryFn<typeof Card> = (args) => ({
|
|
33
|
-
components: { Card },
|
|
34
|
-
setup() {
|
|
35
|
-
return { args };
|
|
36
|
-
},
|
|
37
|
-
template: `
|
|
38
|
-
<Card v-bind="args">
|
|
39
|
-
<template #details>
|
|
40
|
-
<p>This is additional content passed through the details slot.</p>
|
|
41
|
-
</template>
|
|
42
|
-
<template #actions>
|
|
43
|
-
<button class="btn btn-primary">Action Button</button>
|
|
44
|
-
</template>
|
|
45
|
-
</Card>
|
|
46
|
-
`,
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
export const Default = Template.bind({});
|
|
50
|
-
Default.args = {
|
|
51
|
-
imgUrl: 'https://via.placeholder.com/300x200',
|
|
52
|
-
alt: 'Placeholder image',
|
|
53
|
-
title: 'Card Title',
|
|
54
|
-
description: 'This is a description of the card.',
|
|
55
|
-
outlined: false,
|
|
56
|
-
};
|
|
57
|
-
Default.parameters = {
|
|
58
|
-
docs: {
|
|
59
|
-
description: {
|
|
60
|
-
component: 'A card component that can display an image, title, description, and has an optional outlined style.',
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
export const OutlinedCard = Template.bind({});
|
|
66
|
-
OutlinedCard.args = {
|
|
67
|
-
imgUrl: 'https://via.placeholder.com/300x200',
|
|
68
|
-
alt: 'Placeholder image',
|
|
69
|
-
title: 'Outlined Card Title',
|
|
70
|
-
description: 'This card has an outline style applied.',
|
|
71
|
-
outlined: true,
|
|
72
|
-
};
|
|
73
|
-
OutlinedCard.parameters = {
|
|
74
|
-
docs: {
|
|
75
|
-
description: {
|
|
76
|
-
story: 'This variant demonstrates a card with the outline style enabled.',
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
};
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import Rating from '../../components/data-input/rating.vue';
|
|
2
|
-
import { Meta, StoryFn } from '@storybook/vue3';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Data Input/Rating',
|
|
6
|
-
component: Rating,
|
|
7
|
-
tags: ['autodocs'], // Include autodocs tag
|
|
8
|
-
argTypes: {
|
|
9
|
-
initialRating: {
|
|
10
|
-
control: 'number',
|
|
11
|
-
description: 'The initial rating value.',
|
|
12
|
-
},
|
|
13
|
-
numberOfStars: {
|
|
14
|
-
control: 'number',
|
|
15
|
-
description: 'The total number of stars to display.',
|
|
16
|
-
},
|
|
17
|
-
halfStars: {
|
|
18
|
-
control: 'boolean',
|
|
19
|
-
description: 'If true, allows half-star ratings.',
|
|
20
|
-
},
|
|
21
|
-
isInteractive: {
|
|
22
|
-
control: 'boolean',
|
|
23
|
-
description: 'If true, allows users to interact and change the rating.',
|
|
24
|
-
},
|
|
25
|
-
size: {
|
|
26
|
-
control: 'select',
|
|
27
|
-
options: ['xs', 'sm', 'md', 'lg'],
|
|
28
|
-
description: 'The size of the star icons.',
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
} as Meta<typeof Rating>;
|
|
32
|
-
|
|
33
|
-
const Template: StoryFn<typeof Rating> = (args) => ({
|
|
34
|
-
components: { Rating },
|
|
35
|
-
setup() {
|
|
36
|
-
return { args };
|
|
37
|
-
},
|
|
38
|
-
template: `
|
|
39
|
-
<Rating v-bind="args" />
|
|
40
|
-
`,
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
export const Default = Template.bind({});
|
|
44
|
-
Default.args = {
|
|
45
|
-
initialRating: 2.5,
|
|
46
|
-
numberOfStars: 5,
|
|
47
|
-
halfStars: false,
|
|
48
|
-
isInteractive: false,
|
|
49
|
-
size: 'sm',
|
|
50
|
-
};
|
|
51
|
-
Default.parameters = {
|
|
52
|
-
docs: {
|
|
53
|
-
description: {
|
|
54
|
-
component: 'A star rating component with options for interactivity, half-star ratings, and size customization.',
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export const Interactive = Template.bind({});
|
|
60
|
-
Interactive.args = {
|
|
61
|
-
initialRating: 3,
|
|
62
|
-
numberOfStars: 5,
|
|
63
|
-
halfStars: false,
|
|
64
|
-
isInteractive: true,
|
|
65
|
-
size: 'xs',
|
|
66
|
-
};
|
|
67
|
-
Interactive.parameters = {
|
|
68
|
-
docs: {
|
|
69
|
-
description: {
|
|
70
|
-
story: 'This variant allows users to interact and change the rating.',
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
-
import Loader from '../../components/feedback/loader.vue'
|
|
3
|
-
|
|
4
|
-
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
5
|
-
const meta = {
|
|
6
|
-
title: 'feedback/Loader',
|
|
7
|
-
component: Loader,
|
|
8
|
-
// This component will have an automatically generated docsPage entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
argTypes: {
|
|
11
|
-
loading: { control: 'boolean' },
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
args: {
|
|
15
|
-
|
|
16
|
-
// primary: false,
|
|
17
|
-
// Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
|
|
18
|
-
// onClick: fn(),
|
|
19
|
-
},
|
|
20
|
-
} satisfies Meta<typeof Loader>;
|
|
21
|
-
|
|
22
|
-
export default meta;
|
|
23
|
-
type Story = StoryObj<typeof meta>;
|
|
24
|
-
/*
|
|
25
|
-
*👇 Render functions are a framework specific feature to allow you control on how the component renders.
|
|
26
|
-
* See https://storybook.js.org/docs/api/csf
|
|
27
|
-
* to learn how to use render functions.
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
export const LoadingState: Story = {
|
|
31
|
-
args: {
|
|
32
|
-
loading: true,
|
|
33
|
-
},
|
|
34
|
-
};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import Footer from '../../components/layout/footer.vue'; // Adjust the path as per your setup
|
|
2
|
-
import { Meta, StoryFn } from '@storybook/vue3';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Layout/Footer',
|
|
6
|
-
component: Footer,
|
|
7
|
-
tags: ['autodocs'], // Include autodocs tag
|
|
8
|
-
argTypes: {
|
|
9
|
-
items: {
|
|
10
|
-
control: 'object',
|
|
11
|
-
description: 'List of footer navigation sections with items.',
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
} as Meta<typeof Footer>;
|
|
15
|
-
|
|
16
|
-
const Template: StoryFn<typeof Footer> = (args) => ({
|
|
17
|
-
components: { Footer },
|
|
18
|
-
setup() {
|
|
19
|
-
return { args };
|
|
20
|
-
},
|
|
21
|
-
template: `
|
|
22
|
-
<Footer v-bind="args">
|
|
23
|
-
<template #default>
|
|
24
|
-
<div class="text-center mt-10">Custom footer content here</div>
|
|
25
|
-
</template>
|
|
26
|
-
</Footer>
|
|
27
|
-
`,
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
export const Default = Template.bind({});
|
|
31
|
-
Default.args = {
|
|
32
|
-
items: [
|
|
33
|
-
{
|
|
34
|
-
title: 'Company',
|
|
35
|
-
items: [
|
|
36
|
-
{ text: 'About Us', link: '/about-us', enabled: true },
|
|
37
|
-
{ text: 'Careers', link: '/careers', enabled: true },
|
|
38
|
-
{ text: 'Contact', link: '/contact', enabled: false }, // Disabled link
|
|
39
|
-
],
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
title: 'Support',
|
|
43
|
-
items: [
|
|
44
|
-
{ text: 'FAQ', link: '/faq', enabled: true },
|
|
45
|
-
{ text: 'Help Center', link: '/help', enabled: true },
|
|
46
|
-
],
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
title: 'Social',
|
|
50
|
-
items: [
|
|
51
|
-
{ text: 'Facebook', link: '/facebook', enabled: true },
|
|
52
|
-
{ text: 'Twitter', link: '/twitter', enabled: true },
|
|
53
|
-
],
|
|
54
|
-
},
|
|
55
|
-
],
|
|
56
|
-
};
|
|
57
|
-
Default.parameters = {
|
|
58
|
-
docs: {
|
|
59
|
-
description: {
|
|
60
|
-
component: 'A footer component that supports multiple navigation sections and customizable content.',
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
};
|
package/src/style.css
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
@import "tailwindcss";
|
|
2
|
-
@plugin "daisyui";
|
|
3
|
-
|
|
4
|
-
/* theme in preperation of daisyUI 5 */
|
|
5
|
-
@plugin "daisyui/theme" {
|
|
6
|
-
name: "reserveren";
|
|
7
|
-
default: true;
|
|
8
|
-
prefersdark: false;
|
|
9
|
-
color-scheme: "light";
|
|
10
|
-
--color-base-100: #f5f8ff;
|
|
11
|
-
--color-base-200: oklch(96% 0.018 272.314);
|
|
12
|
-
--color-base-300: oklch(95% 0.026 236.824);
|
|
13
|
-
--color-base-content: oklch(29% 0.066 243.157);
|
|
14
|
-
--color-primary: oklch(70% 0.165 254.624);
|
|
15
|
-
--color-primary-content: oklch(28% 0.091 267.935);
|
|
16
|
-
--color-secondary: #001a57;
|
|
17
|
-
--color-secondary-content: oklch(93% 0.032 255.585);
|
|
18
|
-
--color-accent: #2667ff;
|
|
19
|
-
--color-accent-content: oklch(97% 0.014 254.604);
|
|
20
|
-
--color-neutral: oklch(86% 0.022 252.894);
|
|
21
|
-
--color-neutral-content: oklch(39% 0.09 240.876);
|
|
22
|
-
--color-info: oklch(78% 0.154 211.53);
|
|
23
|
-
--color-info-content: oklch(30% 0.056 229.695);
|
|
24
|
-
--color-success: oklch(87% 0.15 154.449);
|
|
25
|
-
--color-success-content: oklch(27% 0.046 192.524);
|
|
26
|
-
--color-warning: oklch(92% 0.12 95.746);
|
|
27
|
-
--color-warning-content: oklch(27% 0.077 45.635);
|
|
28
|
-
--color-error: oklch(70% 0.191 22.216);
|
|
29
|
-
--color-error-content: oklch(28% 0.109 3.907);
|
|
30
|
-
--radius-selector: 0rem;
|
|
31
|
-
--radius-field: 0rem;
|
|
32
|
-
--radius-box: 0rem;
|
|
33
|
-
--size-selector: 0.21875rem;
|
|
34
|
-
--size-field: 0.1875rem;
|
|
35
|
-
--border: 1px;
|
|
36
|
-
--depth: 1;
|
|
37
|
-
--noise: 1;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/*
|
|
42
|
-
The default border color has changed to `currentColor` in Tailwind CSS v4,
|
|
43
|
-
so we've added these compatibility styles to make sure everything still
|
|
44
|
-
looks the same as it did with Tailwind CSS v3.
|
|
45
|
-
|
|
46
|
-
If we ever want to remove these styles, we need to add an explicit border
|
|
47
|
-
color utility to any element that depends on these defaults. */
|
|
48
|
-
|
|
49
|
-
@layer base {
|
|
50
|
-
*,
|
|
51
|
-
::after,
|
|
52
|
-
::before,
|
|
53
|
-
::backdrop,
|
|
54
|
-
::file-selector-button {
|
|
55
|
-
border-color: var(--color-gray-200, currentColor);
|
|
56
|
-
}
|
|
57
|
-
}
|
package/src/vite-env.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/// <reference types="vite/client" />
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{d as y,c as a,e as s,f as b,g,n as h,o,j as v}from"./vue.esm-bundler-C-YazFc_.js";const w={key:0,class:"loading loading-spinner"},i=y({__name:"ButtonComponent",props:{outlined:{type:Boolean,default:!1},active:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},type:{},size:{},shape:{}},setup(m){const e=m,p=a(()=>{switch(e.size){case"large":return"btn-lg";case"small":return"btn-sm";case"tiny":return"btn-tiny";case"wide":return"btn-wide";case"full":return"w-full";default:return""}}),d=a(()=>{switch(e.type){case"neutral":return"btn-neutral";case"primary":return"btn-primary";case"secondary":return"btn-secondary";case"accent":return"btn-accent";case"ghost":return"btn-ghost";case"link":return"btn-link px-0!";case"info":return"btn-info";case"success":return"btn-success";case"warning":return"btn-warning";case"error":return"btn-error";default:return"btn-neutral"}}),f=a(()=>{switch(e.shape){case"square":return"btn-square";case"circle":return"btn-circle";default:return""}});return(t,r)=>(o(),s("button",{class:h(["btn",{"btn-outline":e.outlined},{"btn-active":e.active},d.value,p.value,f.value])},[t.loading?(o(),s("span",w)):b("",!0),g(t.$slots,"default",{},()=>[r[0]||(r[0]=v("Submit"))])],2))}});i.__docgenInfo={exportName:"default",displayName:"ButtonComponent",description:"",tags:{},props:[{name:"outlined",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"active",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"loading",required:!1,type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"type",required:!1,type:{name:"union",elements:[{name:'"neutral"'},{name:'"primary"'},{name:'"secondary"'},{name:'"accent"'},{name:'"ghost"'},{name:'"link"'},{name:'"info"'},{name:'"success"'},{name:'"warning"'},{name:'"error"'}]}},{name:"size",required:!1,type:{name:"string"}},{name:"shape",required:!1,type:{name:"union",elements:[{name:'"square"'},{name:'"circle"'}]}}],slots:[{name:"default"}],sourceFiles:["/home/runner/work/manolis-ui/manolis-ui/src/components/actions/ButtonComponent.vue"]};const q={title:"Actions/Buttons",component:i,parameters:{slots:{default:"Button"}},tags:["autodocs"],argTypes:{outlined:{control:"boolean"},active:{control:"boolean"},loading:{control:"boolean"},size:{control:"select",options:["wide","tiny","small","large"]},shape:{control:"select",options:["square","circle"]},type:{control:"select",options:["neutral","primary","secondary","accent","ghost","link","info","success","warning","error"]}},args:{}},n={args:{type:"primary",default:"Button"}};var l,u,c;n.parameters={...n.parameters,docs:{...(l=n.parameters)==null?void 0:l.docs,source:{originalSource:`{
|
|
2
|
-
args: {
|
|
3
|
-
type: 'primary',
|
|
4
|
-
default: 'Button'
|
|
5
|
-
}
|
|
6
|
-
}`,...(c=(u=n.parameters)==null?void 0:u.docs)==null?void 0:c.source}}};const k=["Primary"];export{n as Primary,k as __namedExportsOrder,q as default};
|