@policystudio/policy-studio-ui-vue 1.1.90-beta.30 → 1.1.90-beta.32
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_output.css +5679 -6077
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/doc/.nvmrc +1 -0
- package/doc/.storybook/PolicyStudio.ts +11 -0
- package/doc/.storybook/main.ts +27 -0
- package/doc/.storybook/manager.ts +7 -0
- package/doc/.storybook/preview.ts +16 -0
- package/doc/package-lock.json +22653 -0
- package/doc/package.json +71 -0
- package/doc/shims-vue.d.ts +6 -0
- package/doc/src/assets/images/multifamily-units.svg +10 -0
- package/doc/src/assets/images/policy-studio.svg +15 -0
- package/doc/src/contents/ComparisonData.ts +378 -0
- package/doc/src/contents/FlexibleData.ts +502 -0
- package/doc/src/contents/ResultsData.ts +531 -0
- package/doc/src/stories/Accordion.stories.ts +58 -0
- package/doc/src/stories/BadgeWithIcon.stories.ts +31 -0
- package/doc/src/stories/BarChart.stories.ts +17 -0
- package/doc/src/stories/Breadcrumb.stories.ts +22 -0
- package/doc/src/stories/Button.stories.ts +130 -0
- package/doc/src/stories/CardInfos.stories.ts +15 -0
- package/doc/src/stories/ChartLegend.stories.ts +15 -0
- package/doc/src/stories/Checkbox.stories.ts +45 -0
- package/doc/src/stories/CheckboxSimple.stories.ts +49 -0
- package/doc/src/stories/Chips.stories.ts +30 -0
- package/doc/src/stories/ClimateZoneBadge.stories.ts +18 -0
- package/doc/src/stories/Collapse.stories.ts +46 -0
- package/doc/src/stories/Colors.mdx +70 -0
- package/doc/src/stories/CostEffectBar.stories.ts +24 -0
- package/doc/src/stories/Datatable.stories.ts +53 -0
- package/doc/src/stories/DateCardInfo.stories.ts +20 -0
- package/doc/src/stories/Dialog.stories.ts +131 -0
- package/doc/src/stories/Draggable.stories.ts +23 -0
- package/doc/src/stories/Dropdown.stories.ts +100 -0
- package/doc/src/stories/DropdownList.stories.ts +213 -0
- package/doc/src/stories/ElevationSystem.mdx +41 -0
- package/doc/src/stories/HighlightRippleDot.stories.ts +16 -0
- package/doc/src/stories/Icon.stories.ts +23 -0
- package/doc/src/stories/InlineSelector.stories.ts +18 -0
- package/doc/src/stories/Input.stories.ts +243 -0
- package/doc/src/stories/InputSelect.stories.ts +31 -0
- package/doc/src/stories/InputTextArea.stories.ts +25 -0
- package/doc/src/stories/Introduction.mdx +211 -0
- package/doc/src/stories/MiniTag.stories.ts +59 -0
- package/doc/src/stories/ProgressBar.stories.ts +24 -0
- package/doc/src/stories/RadioButton.stories.ts +40 -0
- package/doc/src/stories/RadioButtonSimple.stories.ts +43 -0
- package/doc/src/stories/SimpleAlert.stories.ts +22 -0
- package/doc/src/stories/Slider.stories.ts +79 -0
- package/doc/src/stories/Switch.stories.ts +39 -0
- package/doc/src/stories/TabHeader.stories.ts +57 -0
- package/doc/src/stories/TableResults.stories.ts +728 -0
- package/doc/src/stories/TagScope.stories.ts +18 -0
- package/doc/src/stories/TestimonialCard.stories.ts +27 -0
- package/doc/src/stories/Toast.stories.ts +52 -0
- package/doc/src/stories/Toggle.stories.ts +48 -0
- package/doc/src/stories/Tooltip.stories.ts +114 -0
- package/doc/src/stories/Typography.mdx +212 -0
- package/doc/src/stories/assets/code-brackets.svg +1 -0
- package/doc/src/stories/assets/colors.svg +1 -0
- package/doc/src/stories/assets/comments.svg +1 -0
- package/doc/src/stories/assets/direction.svg +1 -0
- package/doc/src/stories/assets/flow.svg +1 -0
- package/doc/src/stories/assets/plugin.svg +1 -0
- package/doc/src/stories/assets/repo.svg +1 -0
- package/doc/src/stories/assets/stackalt.svg +1 -0
- package/doc/tsconfig.json +17 -0
- package/package.json +7 -3
- package/scripts/gulp.js +11 -0
- package/src/assets/scss/base.scss +3 -34
- package/src/assets/scss/components/PsAccordion.scss +1 -1
- package/src/assets/scss/components/PsCollapse.css +74 -0
- package/src/components/collapse/PsCollapse.vue +121 -0
- package/src/index.ts +4 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
|
|
3
|
+
.psui-el-collapse {
|
|
4
|
+
|
|
5
|
+
.psui-el-collapse-item-content {
|
|
6
|
+
@apply psui-relative psui-pl-4;
|
|
7
|
+
|
|
8
|
+
&::before {
|
|
9
|
+
@apply psui-bg-gray-30 psui-ml-2;
|
|
10
|
+
content: "";
|
|
11
|
+
position: absolute;
|
|
12
|
+
top: 0;
|
|
13
|
+
left: 0;
|
|
14
|
+
width: 1px;
|
|
15
|
+
height: 100%;
|
|
16
|
+
transform: translateX(-50%);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
&.disabled {
|
|
22
|
+
.psui-el-collapse-item-header {
|
|
23
|
+
.psui-el-collapse-item-header-wrapper {
|
|
24
|
+
@apply psui-text-gray-50 hover:psui-text-gray-50;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.psui-el-collapse-item-header {
|
|
30
|
+
@apply psui-flex psui-items-center psui-cursor-pointer;
|
|
31
|
+
|
|
32
|
+
.psui-el-collapse-item-icon {
|
|
33
|
+
@apply psui-text-gray-50 psui-transition-all;
|
|
34
|
+
transition-duration: 0.4s;
|
|
35
|
+
font-size: 16px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.psui-el-collapse-item-header-wrapper {
|
|
39
|
+
@apply psui-flex psui-items-center psui-py-2 psui-text-small psui-w-full psui-text-gray-70 hover:psui-text-blue-60;
|
|
40
|
+
|
|
41
|
+
.psui-el-collapse-item-title {
|
|
42
|
+
@apply psui-ml-1;
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.psui-el-collapse-item-header-action {
|
|
47
|
+
@apply psui-invisible psui-ml-auto;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&:hover {
|
|
52
|
+
.psui-el-collapse-item-header-wrapper {
|
|
53
|
+
.psui-el-collapse-item-header-action {
|
|
54
|
+
@apply psui-visible;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
.collapse-fade-enter-active,
|
|
62
|
+
.collapse-fade-leave-active {
|
|
63
|
+
will-change: height, margin-bottom;
|
|
64
|
+
transition: height 0.4s ease-in-out, margin-bottom 0.4s ease-in-out;
|
|
65
|
+
overflow: hidden;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.collapse-fade-enter-from,
|
|
69
|
+
.collapse-fade-leave-to {
|
|
70
|
+
height: 0 !important;
|
|
71
|
+
margin-bottom: 0 !important;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="psui-el-collapse"
|
|
4
|
+
:class="{ 'status-opened': isOpen, disabled: disabled }"
|
|
5
|
+
>
|
|
6
|
+
<div
|
|
7
|
+
class="psui-el-collapse-item-header"
|
|
8
|
+
@click="toggle"
|
|
9
|
+
>
|
|
10
|
+
<i
|
|
11
|
+
class="psui-el-collapse-item-icon psui-icon"
|
|
12
|
+
:class="{'psui-rotate-90':isOpen}"
|
|
13
|
+
>chevron_right</i>
|
|
14
|
+
<slot
|
|
15
|
+
name="header"
|
|
16
|
+
:is-open="isOpen"
|
|
17
|
+
>
|
|
18
|
+
<div
|
|
19
|
+
class="psui-el-collapse-item-header-wrapper"
|
|
20
|
+
|
|
21
|
+
v-if="!hasCustomHeader"
|
|
22
|
+
>
|
|
23
|
+
<span
|
|
24
|
+
v-if="title"
|
|
25
|
+
class="psui-el-collapse-item-title"
|
|
26
|
+
>
|
|
27
|
+
{{ title }}
|
|
28
|
+
</span>
|
|
29
|
+
<div class="psui-el-collapse-item-header-action">
|
|
30
|
+
<slot name="header-action" />
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
</slot>
|
|
34
|
+
</div>
|
|
35
|
+
<transition
|
|
36
|
+
name="collapse-fade"
|
|
37
|
+
@enter="start"
|
|
38
|
+
@after-enter="end"
|
|
39
|
+
@before-leave="start"
|
|
40
|
+
@after-leave="end"
|
|
41
|
+
>
|
|
42
|
+
<div
|
|
43
|
+
v-if="isOpen"
|
|
44
|
+
class="psui-el-collapse-item-content"
|
|
45
|
+
>
|
|
46
|
+
<slot name="content" />
|
|
47
|
+
</div>
|
|
48
|
+
</transition>
|
|
49
|
+
</div>
|
|
50
|
+
</template>
|
|
51
|
+
|
|
52
|
+
<script setup>
|
|
53
|
+
import { ref, computed } from 'vue'
|
|
54
|
+
|
|
55
|
+
const localOpened = ref(null)
|
|
56
|
+
|
|
57
|
+
const props = defineProps({
|
|
58
|
+
/**
|
|
59
|
+
* It sets the title of the accordion item.
|
|
60
|
+
*/
|
|
61
|
+
title: {
|
|
62
|
+
type: String,
|
|
63
|
+
default: '',
|
|
64
|
+
},
|
|
65
|
+
/**
|
|
66
|
+
* It sets the status of the accordion item when mounted.
|
|
67
|
+
*/
|
|
68
|
+
opened: {
|
|
69
|
+
type: [Boolean],
|
|
70
|
+
default: false,
|
|
71
|
+
},
|
|
72
|
+
/**
|
|
73
|
+
* It sets the text key to get the svg icon in Google Fonts. Make sure to get the correct description of your icon on https://fonts.google.com/.
|
|
74
|
+
*/
|
|
75
|
+
icon: {
|
|
76
|
+
type: String,
|
|
77
|
+
default: '',
|
|
78
|
+
},
|
|
79
|
+
/**
|
|
80
|
+
* It sets if it has a custom header.
|
|
81
|
+
*/
|
|
82
|
+
hasCustomHeader: {
|
|
83
|
+
type: Boolean,
|
|
84
|
+
default: false,
|
|
85
|
+
},
|
|
86
|
+
/**
|
|
87
|
+
* It sets the disabled status.
|
|
88
|
+
*/
|
|
89
|
+
disabled: {
|
|
90
|
+
type: Boolean,
|
|
91
|
+
default: false,
|
|
92
|
+
},
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
const isOpen = computed(() => {
|
|
96
|
+
return localOpened.value !== null ? localOpened.value : props.opened
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
const toggle = () => {
|
|
100
|
+
if (localOpened.value === null) {
|
|
101
|
+
localOpened.value = !props.opened
|
|
102
|
+
} else {
|
|
103
|
+
localOpened.value = !localOpened.value
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const start = (el) => {
|
|
107
|
+
el.style.height = el.scrollHeight + 'px'
|
|
108
|
+
el.style.padding = el.srcollPaddingBottom + 'px'
|
|
109
|
+
}
|
|
110
|
+
const end = (el) => {
|
|
111
|
+
el.style.height = ''
|
|
112
|
+
el.style.padding = ''
|
|
113
|
+
}
|
|
114
|
+
</script>
|
|
115
|
+
|
|
116
|
+
<style>
|
|
117
|
+
/* Please, use the file src/assets/scss/components/PsCollapse.scss */
|
|
118
|
+
</style>
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
package/src/index.ts
CHANGED
|
@@ -48,6 +48,7 @@ import PsTagScope from '../src/components/badges-and-tags/PsTagScope.vue'
|
|
|
48
48
|
import PsBarChart from '../src/components/data-graphics/PsBarChart.vue'
|
|
49
49
|
import PsSimpleAlert from '../src/components/notifications/PsSimpleAlert.vue'
|
|
50
50
|
import PsBreadcrumb from '../src/components/navigations/PsBreadcrumb.vue'
|
|
51
|
+
import PsCollapse from '../src/components/collapse/PsCollapse.vue'
|
|
51
52
|
|
|
52
53
|
|
|
53
54
|
export default {
|
|
@@ -97,6 +98,7 @@ export default {
|
|
|
97
98
|
Vue.component('PsBarChart',PsBarChart)
|
|
98
99
|
Vue.component('PsSimpleAlert',PsSimpleAlert)
|
|
99
100
|
Vue.component('PsBreadcrumb', PsBreadcrumb)
|
|
101
|
+
Vue.component('PsCollapse', PsCollapse)
|
|
100
102
|
|
|
101
103
|
/**
|
|
102
104
|
* Initialize directives
|
|
@@ -151,6 +153,7 @@ export {
|
|
|
151
153
|
PsSimpleAlert,
|
|
152
154
|
PsBreadcrumb,
|
|
153
155
|
PsTableResults,
|
|
154
|
-
PsTableResultsRow
|
|
156
|
+
PsTableResultsRow,
|
|
157
|
+
PsCollapse
|
|
155
158
|
}
|
|
156
159
|
|