@policystudio/policy-studio-ui-vue 1.0.22 → 1.0.26
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/dist/css/psui_styles.css +1264 -61
- package/package.json +5 -3
- package/src/assets/scss/base.scss +8 -0
- package/src/assets/scss/components/PsAccordion.scss +67 -0
- package/src/assets/scss/components/PsButton.scss +147 -0
- package/src/assets/scss/components/PsDialog.scss +71 -0
- package/src/assets/scss/components/PsInput.scss +48 -33
- package/src/assets/scss/components/PsTabHeader.scss +98 -0
- package/src/components/accordion/PsAccordion.vue +28 -24
- package/src/components/accordion/PsAccordionItem.vue +36 -67
- package/src/components/badges-and-tags/PsCardInfos.vue +38 -0
- package/src/components/badges-and-tags/PsChartLegend.vue +17 -102
- package/src/components/buttons/PsButton.vue +42 -93
- package/src/components/controls/PsToggle.vue +1 -1
- package/src/components/forms/PsInput.vue +1 -1
- package/src/components/notifications/PsDialog.vue +29 -23
- package/src/components/tabs/PsTabHeader.vue +25 -30
- package/src/index.js +6 -0
- package/src/stories/Accordion.stories.js +70 -16
- package/src/stories/Button.stories.js +93 -35
- package/src/stories/CardInfos.stories.js +16 -0
- package/src/stories/Dialog.stories.js +14 -50
- package/src/stories/Input.stories.js +36 -15
- package/src/stories/TabHeader.stories.js +6 -6
- package/tailwind.config.js +3 -2
package/src/index.js
CHANGED
|
@@ -18,6 +18,8 @@ import PsTooltip from './components/tooltip/PsTooltip.vue'
|
|
|
18
18
|
import PsRichTooltip from './components/tooltip/PsRichTooltip.vue'
|
|
19
19
|
import PsDialogTooltip from './components/tooltip/PsDialogTooltip.vue'
|
|
20
20
|
import PsDraggable from './components/controls/PsDraggable.vue'
|
|
21
|
+
import PsCardInfos from './components/badges-and-tags/PsCardInfos.vue'
|
|
22
|
+
import PsChartLegend from './components/badges-and-tags/PsChartLegend.vue'
|
|
21
23
|
|
|
22
24
|
export default {
|
|
23
25
|
install(Vue) {
|
|
@@ -41,6 +43,8 @@ export default {
|
|
|
41
43
|
Vue.component('PsRichTooltip', PsRichTooltip)
|
|
42
44
|
Vue.component('PsDialogTooltip', PsDialogTooltip)
|
|
43
45
|
Vue.component('PsDraggable', PsDraggable)
|
|
46
|
+
Vue.component('PsCardInfos', PsCardInfos)
|
|
47
|
+
Vue.component('PsChartLegend', PsChartLegend)
|
|
44
48
|
},
|
|
45
49
|
}
|
|
46
50
|
|
|
@@ -64,4 +68,6 @@ export {
|
|
|
64
68
|
PsRichTooltip,
|
|
65
69
|
PsDialogTooltip,
|
|
66
70
|
PsDraggable,
|
|
71
|
+
PsCardInfos,
|
|
72
|
+
PsChartLegend,
|
|
67
73
|
}
|
|
@@ -18,24 +18,78 @@ export default {
|
|
|
18
18
|
},
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export const AccordionItem = (args, { argTypes }) => ({
|
|
22
|
-
props: Object.keys(argTypes, args),
|
|
23
|
-
components: { PsAccordionItem },
|
|
24
|
-
template: `
|
|
25
|
-
<PsAccordionItem v-bind="$props" style='width:400px'>
|
|
26
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
27
|
-
</PsAccordionItem>
|
|
28
|
-
`,
|
|
29
|
-
})
|
|
30
|
-
AccordionItem.parameters = {
|
|
31
|
-
controls: {
|
|
32
|
-
include: ['title', 'iconType', 'fontCss'],
|
|
33
|
-
},
|
|
34
|
-
}
|
|
35
21
|
|
|
36
|
-
export const
|
|
22
|
+
export const Index = (args, { argTypes }) => ({
|
|
37
23
|
props: Object.keys(argTypes, args),
|
|
38
24
|
components: { PsAccordion, PsAccordionItem },
|
|
39
25
|
template:
|
|
40
|
-
|
|
26
|
+
`<div class="psui-p-8 psui-bg-gray-10 psui-grid psui-grid-cols-2 psui-gap-6">
|
|
27
|
+
|
|
28
|
+
<div>
|
|
29
|
+
<div class="psui-my-4">
|
|
30
|
+
<h1 class="psui-font-bold psui-border-b psui-border-gray-30">Accordion Big</h1>
|
|
31
|
+
</div>
|
|
32
|
+
<PsAccordion layout="big" class="psui-bg-white">
|
|
33
|
+
<PsAccordionItem title="Header 01">
|
|
34
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
35
|
+
</PsAccordionItem>
|
|
36
|
+
<PsAccordionItem title="Header 02">
|
|
37
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
38
|
+
</PsAccordionItem>
|
|
39
|
+
<PsAccordionItem title="Header 03">
|
|
40
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
41
|
+
</PsAccordionItem>
|
|
42
|
+
</PsAccordion>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div>
|
|
46
|
+
<div class="psui-my-4">
|
|
47
|
+
<h1 class="psui-font-bold psui-border-b psui-border-gray-30">Accordion Medium</h1>
|
|
48
|
+
</div>
|
|
49
|
+
<PsAccordion layout="medium" class="psui-bg-white">
|
|
50
|
+
<PsAccordionItem title="Header 01">
|
|
51
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
52
|
+
</PsAccordionItem>
|
|
53
|
+
<PsAccordionItem title="Header 02" :opened="false">
|
|
54
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
55
|
+
</PsAccordionItem>
|
|
56
|
+
<PsAccordionItem title="Header 03">
|
|
57
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
58
|
+
</PsAccordionItem>
|
|
59
|
+
</PsAccordion>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<div>
|
|
63
|
+
<div class="psui-my-4">
|
|
64
|
+
<h1 class="psui-font-bold psui-border-b psui-border-gray-30">Variations</h1>
|
|
65
|
+
</div>
|
|
66
|
+
<PsAccordion layout="medium" class="psui-bg-white" iconOpened="thumb_down" iconClosed="thumb_up">
|
|
67
|
+
<PsAccordionItem title="Custom Icon">
|
|
68
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
69
|
+
</PsAccordionItem>
|
|
70
|
+
<PsAccordionItem title="Initial Content Opened" :opened="true">
|
|
71
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
72
|
+
</PsAccordionItem>
|
|
73
|
+
</PsAccordion>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
<div>
|
|
77
|
+
<div class="psui-my-4">
|
|
78
|
+
<h1 class="psui-font-bold psui-border-b psui-border-gray-30">Custom Icons By Accordion Item</h1>
|
|
79
|
+
</div>
|
|
80
|
+
<PsAccordion layout="medium" class="psui-bg-white">
|
|
81
|
+
<PsAccordionItem title="Custom Icon" iconOpened="thumb_down" iconClosed="thumb_up">
|
|
82
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
83
|
+
</PsAccordionItem>
|
|
84
|
+
<PsAccordionItem title="Initial Content Opened" :opened="true">
|
|
85
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
86
|
+
</PsAccordionItem>
|
|
87
|
+
<PsAccordionItem title="Initial Content Opened" iconOpened="visibility_off" iconClosed="visibility_on">
|
|
88
|
+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates, illum.</p>
|
|
89
|
+
</PsAccordionItem>
|
|
90
|
+
</PsAccordion>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
</div>
|
|
94
|
+
`,
|
|
41
95
|
})
|
|
@@ -11,44 +11,102 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
const
|
|
14
|
+
const TemplateDefault = (args, {argTypes}) => ({
|
|
15
15
|
props: Object.keys(argTypes),
|
|
16
16
|
components: { PsButton },
|
|
17
17
|
template: `
|
|
18
|
-
<
|
|
18
|
+
<div style="display:flex; flex-direction: column;">
|
|
19
|
+
<p>Size: Big</p>
|
|
20
|
+
<div style="display: flex; flex-direction: column; gap: 10px;">
|
|
21
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
22
|
+
<span style="text-align: center; color: red;">Solid Style</span>
|
|
23
|
+
<PsButton label='Left Icon' layout='solid' icon='verified' iconPosition='left'/>
|
|
24
|
+
<PsButton label='Right Icon' layout='solid' icon='verified' iconPosition='right'/>
|
|
25
|
+
<PsButton label='Text Only' layout='solid' />
|
|
26
|
+
<PsButton label='Disabled' layout='solid' icon='verified' iconPosition='left' disabled/>
|
|
27
|
+
</div>
|
|
28
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
29
|
+
<span style="text-align: center; color: blue;">Outline Style</span>
|
|
30
|
+
<PsButton label='Left Icon' layout='outline' icon='verified' iconPosition='left'/>
|
|
31
|
+
<PsButton label='Right Icon' layout='outline' icon='verified' iconPosition='right'/>
|
|
32
|
+
<PsButton label='Text Only' layout='outline'/>
|
|
33
|
+
<PsButton label='Disabled' layout='outline' icon='verified' iconPosition='left' disabled/>
|
|
34
|
+
</div>
|
|
35
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
36
|
+
<span style="text-align: center; color: brown;">Ghost Style</span>
|
|
37
|
+
<PsButton label='Left Icon' layout='ghost' icon='verified' iconPosition='left'/>
|
|
38
|
+
<PsButton label='Right Icon' layout='ghost' icon='verified' iconPosition='right'/>
|
|
39
|
+
<PsButton label='Text Only' layout='ghost' />
|
|
40
|
+
<PsButton label='Disabled' layout='ghost' icon='verified' iconPosition='left' disabled/>
|
|
41
|
+
</div>
|
|
42
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
43
|
+
<span style="text-align: center; color: green;">Only-Text Style</span>
|
|
44
|
+
<PsButton label='Left Icon' layout='onlytext' icon='verified' iconPosition='left'/>
|
|
45
|
+
<PsButton label='Right Icon' layout='onlytext' icon='verified' iconPosition='right'/>
|
|
46
|
+
<PsButton label='Text Only' layout='onlytext'/>
|
|
47
|
+
<PsButton label='Disabled' layout='onlytext' icon='verified' iconPosition='left' disabled/>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
<p>Size: Medium</p>
|
|
51
|
+
<div style="display: flex; flex-direction: column; gap: 10px;">
|
|
52
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
53
|
+
<span style="text-align: center; color: red;">Solid Style</span>
|
|
54
|
+
<PsButton label='Left Icon' layout='solid' icon='verified' iconPosition='left' size='medium'/>
|
|
55
|
+
<PsButton label='Right Icon' layout='solid' icon='verified' iconPosition='right' size='medium'/>
|
|
56
|
+
<PsButton label='Text Only' layout='solid' size='medium'/>
|
|
57
|
+
<PsButton label='Disabled' layout='solid' icon='verified' iconPosition='left' disabled size='medium'/>
|
|
58
|
+
</div>
|
|
59
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
60
|
+
<span style="text-align: center; color: blue;">Outline Style</span>
|
|
61
|
+
<PsButton label='Left Icon' layout='outline' icon='verified' iconPosition='left' size='medium'/>
|
|
62
|
+
<PsButton label='Right Icon' layout='outline' icon='verified' iconPosition='right' size='medium'/>
|
|
63
|
+
<PsButton label='Text Only' layout='outline' size='medium'/>
|
|
64
|
+
<PsButton label='Disabled' layout='outline' icon='verified' iconPosition='left' disabled size='medium'/>
|
|
65
|
+
</div>
|
|
66
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
67
|
+
<span style="text-align: center; color: brown;">Ghost Style</span>
|
|
68
|
+
<PsButton label='Left Icon' layout='ghost' icon='verified' iconPosition='left' size='medium'/>
|
|
69
|
+
<PsButton label='Right Icon' layout='ghost' icon='verified' iconPosition='right' size='medium'/>
|
|
70
|
+
<PsButton label='Text Only' layout='ghost' size='medium'/>
|
|
71
|
+
<PsButton label='Disabled' layout='ghost' icon='verified' iconPosition='left' disabled size='medium'/>
|
|
72
|
+
</div>
|
|
73
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
74
|
+
<span style="text-align: center; color: green;">Only-Text Style</span>
|
|
75
|
+
<PsButton label='Left Icon' layout='onlytext' icon='verified' iconPosition='left' size='medium'/>
|
|
76
|
+
<PsButton label='Right Icon' layout='onlytext' icon='verified' iconPosition='right' size='medium'/>
|
|
77
|
+
<PsButton label='Text Only' layout='onlytext' size='medium'/>
|
|
78
|
+
<PsButton label='Disabled' layout='onlytext' disabled icon='verified' iconPosition='left' size='medium'/>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
<p>Size: Small</p>
|
|
82
|
+
<div style="display: flex; flex-direction: column; gap: 10px;">
|
|
83
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
84
|
+
<span style="text-align: center; color: red;">Solid Style</span>
|
|
85
|
+
<PsButton label='Left Icon' layout='solid' icon='verified' iconPosition='left' size='small'/>
|
|
86
|
+
<PsButton label='Right Icon' layout='solid' icon='verified' iconPosition='right' size='small'/>
|
|
87
|
+
<PsButton label='Text Only' layout='solid' size='small'/>
|
|
88
|
+
<PsButton label='Disabled' layout='solid' icon='verified' iconPosition='left' disabled size='small'/>
|
|
89
|
+
</div>
|
|
90
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
91
|
+
<span style="text-align: center; color: green;">Only-Text Style</span>
|
|
92
|
+
<PsButton label='Left Icon' layout='onlytext' icon='verified' iconPosition='left' size='small'/>
|
|
93
|
+
<PsButton label='Right Icon' layout='onlytext' icon='verified' iconPosition='right' size='small'/>
|
|
94
|
+
<PsButton label='Text Only' layout='onlytext' size='small'/>
|
|
95
|
+
<PsButton label='Disabled' layout='onlytext' disabled icon='verified' iconPosition='left' size='small'/>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
<p>Size: Custom</p>
|
|
99
|
+
<div style="display: flex; flex-direction: column; gap: 10px;">
|
|
100
|
+
<div style="display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; justify-items: center; align-items: center;" >
|
|
101
|
+
<span style="text-align: center; color: green;">Only-Text Style</span>
|
|
102
|
+
<PsButton label='Left Icon' layout='onlytext' icon='verified' iconPosition='left'/>
|
|
103
|
+
<PsButton label='Right Icon' layout='onlytext' icon='verified' iconPosition='right'/>
|
|
104
|
+
<PsButton label='Text Only' layout='onlytext'/>
|
|
105
|
+
<PsButton label='Disabled' layout='onlytext' disabled icon='verified' iconPosition='left' />
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
19
109
|
`
|
|
20
110
|
})
|
|
21
111
|
|
|
22
|
-
export const
|
|
23
|
-
Solid.args = {
|
|
24
|
-
label: 'Solid button',
|
|
25
|
-
size: 'big',
|
|
26
|
-
disabled: false,
|
|
27
|
-
iconRight: 'add_circle'
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export const Outline = Template.bind({})
|
|
31
|
-
Outline.args = {
|
|
32
|
-
label: 'Outline button',
|
|
33
|
-
size: 'big',
|
|
34
|
-
disabled: false,
|
|
35
|
-
icon: 'add_circle',
|
|
36
|
-
outline: true
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export const Ghost = Template.bind({})
|
|
40
|
-
Ghost.args = {
|
|
41
|
-
label: 'Ghost button',
|
|
42
|
-
size: 'big',
|
|
43
|
-
disabled: false,
|
|
44
|
-
ghost: true
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export const TextOnly = Template.bind({})
|
|
48
|
-
TextOnly.args = {
|
|
49
|
-
label: 'TextOnly button',
|
|
50
|
-
disabled: false,
|
|
51
|
-
icon: 'add_circle',
|
|
52
|
-
size: 'big',
|
|
53
|
-
textOnly: true,
|
|
54
|
-
}
|
|
112
|
+
export const Default = TemplateDefault.bind({})
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import PsCardInfos from '../components/badges-and-tags/PsCardInfos.vue'
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Components/CardInfos',
|
|
5
|
+
component: PsCardInfos,
|
|
6
|
+
argTypes: {},
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const Template = (args, { argTypes }) => ({
|
|
10
|
+
props: Object.keys(argTypes),
|
|
11
|
+
components: { PsCardInfos },
|
|
12
|
+
template: '<PsCardInfos v-bind="$props" />',
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
export const CardInfos = Template.bind({})
|
|
16
|
+
CardInfos.args = {}
|
|
@@ -5,21 +5,6 @@ export default {
|
|
|
5
5
|
component: PsDialog,
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
const Template = (args, { argTypes }) => ({
|
|
9
|
-
props: Object.keys(argTypes),
|
|
10
|
-
components: { PsDialog },
|
|
11
|
-
template: `
|
|
12
|
-
<PsDialog v-bind="$props">
|
|
13
|
-
<template v-slot:content>
|
|
14
|
-
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
15
|
-
</template>
|
|
16
|
-
<template v-slot:action>
|
|
17
|
-
<p style='font-weight: 700;'>Action</p>
|
|
18
|
-
</template>
|
|
19
|
-
</PsDialog>
|
|
20
|
-
`,
|
|
21
|
-
})
|
|
22
|
-
|
|
23
8
|
const TemplateExamples = (args, { argTypes }) => ({
|
|
24
9
|
props: Object.keys(argTypes),
|
|
25
10
|
components: { PsDialog },
|
|
@@ -32,10 +17,7 @@ const TemplateExamples = (args, { argTypes }) => ({
|
|
|
32
17
|
|
|
33
18
|
<div>
|
|
34
19
|
<h2>Informative</h2>
|
|
35
|
-
<PsDialog
|
|
36
|
-
<template v-slot:content>
|
|
37
|
-
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
38
|
-
</template>
|
|
20
|
+
<PsDialog theme="informative" layout="horizontal" message="teste">
|
|
39
21
|
<template v-slot:action>
|
|
40
22
|
<p style='font-weight: 700;'>Action</p>
|
|
41
23
|
</template>
|
|
@@ -44,8 +26,8 @@ const TemplateExamples = (args, { argTypes }) => ({
|
|
|
44
26
|
|
|
45
27
|
<div>
|
|
46
28
|
<h2>Success</h2>
|
|
47
|
-
<PsDialog
|
|
48
|
-
<template
|
|
29
|
+
<PsDialog theme="success" layout="horizontal" :hasClose="false">
|
|
30
|
+
<template>
|
|
49
31
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
50
32
|
</template>
|
|
51
33
|
<template v-slot:action>
|
|
@@ -56,8 +38,8 @@ const TemplateExamples = (args, { argTypes }) => ({
|
|
|
56
38
|
|
|
57
39
|
<div>
|
|
58
40
|
<h2>Alert</h2>
|
|
59
|
-
<PsDialog
|
|
60
|
-
<template
|
|
41
|
+
<PsDialog theme="alert" layout="horizontal">
|
|
42
|
+
<template>
|
|
61
43
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
62
44
|
</template>
|
|
63
45
|
<template v-slot:action>
|
|
@@ -72,8 +54,8 @@ const TemplateExamples = (args, { argTypes }) => ({
|
|
|
72
54
|
|
|
73
55
|
<div>
|
|
74
56
|
<h2>Informative</h2>
|
|
75
|
-
<PsDialog
|
|
76
|
-
<template
|
|
57
|
+
<PsDialog theme="informative" layout="vertical">
|
|
58
|
+
<template>
|
|
77
59
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
78
60
|
</template>
|
|
79
61
|
<template v-slot:action>
|
|
@@ -84,8 +66,8 @@ const TemplateExamples = (args, { argTypes }) => ({
|
|
|
84
66
|
|
|
85
67
|
<div>
|
|
86
68
|
<h2>Success</h2>
|
|
87
|
-
<PsDialog
|
|
88
|
-
<template
|
|
69
|
+
<PsDialog theme="success" layout="vertical" :hasClose="false">
|
|
70
|
+
<template>
|
|
89
71
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
90
72
|
</template>
|
|
91
73
|
<template v-slot:action>
|
|
@@ -96,8 +78,8 @@ const TemplateExamples = (args, { argTypes }) => ({
|
|
|
96
78
|
|
|
97
79
|
<div>
|
|
98
80
|
<h2>Alert</h2>
|
|
99
|
-
<PsDialog
|
|
100
|
-
<template
|
|
81
|
+
<PsDialog theme="alert" layout="vertical">
|
|
82
|
+
<template>
|
|
101
83
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
102
84
|
</template>
|
|
103
85
|
<template v-slot:action>
|
|
@@ -115,7 +97,7 @@ const TemplateExamples = (args, { argTypes }) => ({
|
|
|
115
97
|
|
|
116
98
|
<div>
|
|
117
99
|
<h2>Informative</h2>
|
|
118
|
-
<PsDialog
|
|
100
|
+
<PsDialog theme="informative" layout="vertical" message="This component uses only the props message!">
|
|
119
101
|
<template v-slot:action>
|
|
120
102
|
<p style='font-weight: 700;'>Action</p>
|
|
121
103
|
</template>
|
|
@@ -124,7 +106,7 @@ const TemplateExamples = (args, { argTypes }) => ({
|
|
|
124
106
|
|
|
125
107
|
<div>
|
|
126
108
|
<h2>Success</h2>
|
|
127
|
-
<PsDialog
|
|
109
|
+
<PsDialog theme="success" layout="vertical" message="This component uses only the props message!" :hasClose="false">
|
|
128
110
|
<template v-slot:action>
|
|
129
111
|
<p style='font-weight: 700;'>Action</p>
|
|
130
112
|
</template>
|
|
@@ -133,7 +115,7 @@ const TemplateExamples = (args, { argTypes }) => ({
|
|
|
133
115
|
|
|
134
116
|
<div>
|
|
135
117
|
<h2>Alert</h2>
|
|
136
|
-
<PsDialog
|
|
118
|
+
<PsDialog theme="alert" layout="vertical" message="This component uses only the props message!">
|
|
137
119
|
<template v-slot:action>
|
|
138
120
|
<p style='font-weight: 700;'>Action</p>
|
|
139
121
|
</template>
|
|
@@ -146,22 +128,4 @@ const TemplateExamples = (args, { argTypes }) => ({
|
|
|
146
128
|
|
|
147
129
|
export const Examples = TemplateExamples.bind({})
|
|
148
130
|
|
|
149
|
-
export const Informative = Template.bind({})
|
|
150
|
-
Informative.args = {
|
|
151
|
-
status: 'informative',
|
|
152
|
-
layout: 'vertical',
|
|
153
|
-
cssClass: 'psui-w-2/3'
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
export const Success = Template.bind({})
|
|
157
|
-
Success.args = {
|
|
158
|
-
status: 'success',
|
|
159
|
-
message: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
export const Warning = Template.bind({})
|
|
163
|
-
Warning.args = {
|
|
164
|
-
status: 'alert',
|
|
165
|
-
message: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
|
|
166
|
-
}
|
|
167
131
|
|
|
@@ -22,24 +22,20 @@ const TemplateDefault = (args, { argTypes }) => ({
|
|
|
22
22
|
template: `
|
|
23
23
|
<div class="psui-p-8 psui-bg-gray-10 psui-grid psui-grid-cols-3 psui-gap-6">
|
|
24
24
|
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
<div class="psui-col-span-3 psui-mt-8">
|
|
26
|
+
<h1 class="psui-font-bold psui-border-b psui-border-gray-30">PSInput Layout Default</h1>
|
|
27
|
+
</div>
|
|
28
28
|
|
|
29
|
+
<PsInput v-bind="{...$props, label: 'Resting with hint', placeholder: '', value: '' }" />
|
|
30
|
+
<PsInput label="Resting without hint" />
|
|
29
31
|
<PsInput label="Resting with Placeholder" placeholder="This is a placeholder" />
|
|
30
32
|
|
|
31
|
-
|
|
32
33
|
<PsInput v-bind="{...$props, label: 'Focus'}" />
|
|
33
|
-
|
|
34
34
|
<PsInput label="Typing" placeholder="Type to see the effect..." />
|
|
35
|
-
|
|
36
35
|
<PsInput v-bind="{...$props, label: 'Active', active: true }" />
|
|
37
36
|
|
|
38
|
-
|
|
39
37
|
<PsInput v-bind="{...$props, label: 'Error', hasError: true }" />
|
|
40
|
-
|
|
41
|
-
<PsInput v-bind="{...$props, label: 'Error with custom message', hasError: 'Format invalid' }" />
|
|
42
|
-
|
|
38
|
+
<PsInput v-bind="{...$props, label: 'Error with custom message', hasError: 'Format invalid' }" />
|
|
43
39
|
<PsInput v-bind="{...$props, label: 'Prepend / Append ' }" >
|
|
44
40
|
<template v-slot:append>
|
|
45
41
|
Append
|
|
@@ -49,12 +45,40 @@ const TemplateDefault = (args, { argTypes }) => ({
|
|
|
49
45
|
</template>
|
|
50
46
|
</PsInput>
|
|
51
47
|
|
|
52
|
-
|
|
53
48
|
<PsInput label="Disabled" :disabled="true" value="100,000" />
|
|
54
49
|
<PsInput v-bind="{...$props, label: 'Disabled without value', disabled: true, value: '', hint: false }" />
|
|
55
50
|
<PsInput v-bind="{...$props, label: 'Active/Disabled', disabled: true, active: true }" />
|
|
56
51
|
|
|
57
|
-
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
<div class="psui-col-span-3 psui-mt-8">
|
|
55
|
+
<h1 class="psui-font-bold psui-border-b psui-border-gray-30">PSInput Layout Mini</h1>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
<PsInput layout="mini" label="Resting with hint" hint="This is a hint" value="1,653" />
|
|
59
|
+
<PsInput layout="mini" label="Resting without hint" />
|
|
60
|
+
<PsInput layout="mini" label="Resting with Placeholder" placeholder="This is a placeholder" />
|
|
61
|
+
|
|
62
|
+
<PsInput layout="mini" v-bind="{...$props, label: 'Focus'}" />
|
|
63
|
+
<PsInput layout="mini" label="Typing" placeholder="Type to see the effect..." />
|
|
64
|
+
<PsInput layout="mini" v-bind="{...$props, label: 'Active', active: true }" />
|
|
65
|
+
|
|
66
|
+
<PsInput layout="mini" v-bind="{...$props, label: 'Error', hasError: true }" />
|
|
67
|
+
<PsInput layout="mini" v-bind="{...$props, label: 'Error with custom message', hasError: 'Format invalid' }" />
|
|
68
|
+
<PsInput layout="mini" v-bind="{...$props, label: 'Prepend / Append ' }" >
|
|
69
|
+
<template v-slot:append>
|
|
70
|
+
Append
|
|
71
|
+
</template>
|
|
72
|
+
<template v-slot:prepend>
|
|
73
|
+
Prepend
|
|
74
|
+
</template>
|
|
75
|
+
</PsInput>
|
|
76
|
+
|
|
77
|
+
<PsInput layout="mini" label="Disabled" :disabled="true" value="100,000" />
|
|
78
|
+
<PsInput layout="mini" v-bind="{...$props, label: 'Disabled without value', disabled: true, value: '', hint: false }" />
|
|
79
|
+
<PsInput layout="mini" v-bind="{...$props, label: 'Active/Disabled', disabled: true, active: true }" />
|
|
80
|
+
|
|
81
|
+
</div>
|
|
58
82
|
`
|
|
59
83
|
})
|
|
60
84
|
|
|
@@ -92,7 +116,6 @@ InputText.args = {
|
|
|
92
116
|
hint: 'Optional Assistive text',
|
|
93
117
|
disabled: false,
|
|
94
118
|
required: false,
|
|
95
|
-
mini: false,
|
|
96
119
|
value: 10,
|
|
97
120
|
}
|
|
98
121
|
|
|
@@ -103,7 +126,6 @@ InputPassword.args = {
|
|
|
103
126
|
hint: 'Optional Assistive text',
|
|
104
127
|
disabled: false,
|
|
105
128
|
required: false,
|
|
106
|
-
mini: false,
|
|
107
129
|
}
|
|
108
130
|
|
|
109
131
|
export const InputSlots = TemplateSlots.bind({})
|
|
@@ -113,5 +135,4 @@ InputSlots.args = {
|
|
|
113
135
|
hint: 'Optional Assistive text',
|
|
114
136
|
disabled: false,
|
|
115
137
|
required: false,
|
|
116
|
-
mini: false,
|
|
117
138
|
}
|
|
@@ -17,13 +17,13 @@ const Template = (args, { argTypes }) => ({
|
|
|
17
17
|
template: `
|
|
18
18
|
<div class="psui-bg-gray-20 psui-p-8">
|
|
19
19
|
<PsTabHeader :selected.sync=selected v-bind="$props"/>
|
|
20
|
-
<div v-if="$props['selected'] === 'Existing Buildings'" class="psui-bg-white psui-p-4" :class="{ 'psui-mt-4' : $props['
|
|
20
|
+
<div v-if="$props['selected'] === 'Existing Buildings'" class="psui-bg-white psui-p-4" :class="{ 'psui-mt-4' : $props['layout'] === 'standard'}">
|
|
21
21
|
<p v-for="i of 4">Tab Existing Buildings Selected</p>
|
|
22
22
|
</div>
|
|
23
|
-
<div v-if="$props['selected'] === 'New Constructions'" class="psui-bg-white psui-p-4" :class="{ 'psui-mt-4' : $props['
|
|
23
|
+
<div v-if="$props['selected'] === 'New Constructions'" class="psui-bg-white psui-p-4" :class="{ 'psui-mt-4' : $props['layout'] === 'standard'}">
|
|
24
24
|
<p v-for="i of 4">Tab New Constructions Selected</p>
|
|
25
25
|
</div>
|
|
26
|
-
<div v-if="$props['selected'] === 'Other tab'" class="psui-bg-white psui-p-4" :class="{ 'psui-mt-4' : $props['
|
|
26
|
+
<div v-if="$props['selected'] === 'Other tab'" class="psui-bg-white psui-p-4" :class="{ 'psui-mt-4' : $props['layout'] === 'standard'}">
|
|
27
27
|
<p v-for="i of 4">Other tab Selected</p>
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
@@ -32,21 +32,21 @@ const Template = (args, { argTypes }) => ({
|
|
|
32
32
|
|
|
33
33
|
export const Standard = Template.bind({})
|
|
34
34
|
Standard.args = {
|
|
35
|
-
|
|
35
|
+
layout: 'standard',
|
|
36
36
|
items: items,
|
|
37
37
|
selected: item
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export const Underline = Template.bind({})
|
|
41
41
|
Underline.args = {
|
|
42
|
-
|
|
42
|
+
layout: 'underline',
|
|
43
43
|
items: items,
|
|
44
44
|
selected: item
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export const Folder = Template.bind({})
|
|
48
48
|
Folder.args = {
|
|
49
|
-
|
|
49
|
+
layout: 'folder',
|
|
50
50
|
items: items,
|
|
51
51
|
selected: item
|
|
52
52
|
}
|
package/tailwind.config.js
CHANGED
|
@@ -4,7 +4,7 @@ module.exports = {
|
|
|
4
4
|
darkMode: false, // or 'media' or 'class'
|
|
5
5
|
theme: {
|
|
6
6
|
colors: {
|
|
7
|
-
white: '#ffffff !important',
|
|
7
|
+
'white': '#ffffff !important',
|
|
8
8
|
'gray-10': '#F3F6F9',
|
|
9
9
|
'gray-20': '#E6ECF2',
|
|
10
10
|
'gray-30': '#D6DDE5',
|
|
@@ -14,7 +14,7 @@ module.exports = {
|
|
|
14
14
|
'gray-70': '#34404A',
|
|
15
15
|
'gray-80': '#28323B',
|
|
16
16
|
|
|
17
|
-
blue: '#5094D3',
|
|
17
|
+
'blue': '#5094D3',
|
|
18
18
|
'blue-10': '#ECF7FB',
|
|
19
19
|
'blue-20': '#E0EFF6',
|
|
20
20
|
'blue-50': '#64B5CE',
|
|
@@ -44,6 +44,7 @@ module.exports = {
|
|
|
44
44
|
orange: '#FF906D',
|
|
45
45
|
pink: '#FF77B8',
|
|
46
46
|
purple: '#9278C9',
|
|
47
|
+
transparent: 'transparent',
|
|
47
48
|
},
|
|
48
49
|
fontFamily: {
|
|
49
50
|
sans: ['Lato'],
|