@policystudio/policy-studio-ui-vue 1.1.90-beta.3 → 1.1.90-beta.31
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/.eslintrc.js +13 -8
- package/.github/workflows/deploy-storybook.yml +4 -4
- package/.nvmrc +1 -0
- package/dist/css/psui_styles_output.css +7090 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.js +106 -0
- package/dist/index.js.map +1 -0
- package/dist/util/GeneralFunctions.d.ts +3 -0
- package/dist/util/GeneralFunctions.js +35 -0
- package/dist/util/GeneralFunctions.js.map +1 -0
- package/dist/util/directives.d.ts +1 -0
- package/dist/util/directives.js +22 -0
- package/dist/util/directives.js.map +1 -0
- package/dist/util/imageLoader.d.ts +6 -0
- package/dist/util/imageLoader.js +52 -0
- package/dist/util/imageLoader.js.map +1 -0
- package/doc/.nvmrc +1 -0
- package/doc/.storybook/PolicyStudio.ts +11 -0
- package/{.storybook/main.js → doc/.storybook/main.ts} +8 -2
- package/doc/.storybook/manager.ts +7 -0
- package/{.storybook/preview.js → doc/.storybook/preview.ts} +2 -3
- package/doc/package-lock.json +22653 -0
- package/doc/package.json +71 -0
- package/doc/shims-vue.d.ts +6 -0
- package/{src/stories/Accordion.stories.js → doc/src/stories/Accordion.stories.ts} +4 -5
- package/{src/stories/BadgeWithIcon.stories.js → doc/src/stories/BadgeWithIcon.stories.ts} +2 -2
- package/{src/stories/BarChart.stories.js → doc/src/stories/BarChart.stories.ts} +2 -2
- package/{src/stories/Breadcrumb.stories.js → doc/src/stories/Breadcrumb.stories.ts} +2 -5
- package/doc/src/stories/Button.stories.ts +130 -0
- package/{src/stories/CardInfos.stories.js → doc/src/stories/CardInfos.stories.ts} +2 -3
- package/{src/stories/ChartLegend.stories.js → doc/src/stories/ChartLegend.stories.ts} +2 -3
- package/{src/stories/Checkbox.stories.js → doc/src/stories/Checkbox.stories.ts} +2 -2
- package/{src/stories/CheckboxSimple.stories.js → doc/src/stories/CheckboxSimple.stories.ts} +2 -2
- package/{src/stories/Chips.stories.js → doc/src/stories/Chips.stories.ts} +22 -23
- package/{src/stories/ClimateZoneBadge.stories.js → doc/src/stories/ClimateZoneBadge.stories.ts} +3 -2
- package/doc/src/stories/Collapse.stories.ts +46 -0
- package/{src/stories/CostEffectBar.stories.js → doc/src/stories/CostEffectBar.stories.ts} +3 -2
- package/{src/stories/Datatable.stories.js → doc/src/stories/Datatable.stories.ts} +7 -4
- package/{src/stories/DateCardInfo.stories.js → doc/src/stories/DateCardInfo.stories.ts} +2 -6
- package/{src/stories/Dialog.stories.js → doc/src/stories/Dialog.stories.ts} +2 -2
- package/{src/stories/Draggable.stories.js → doc/src/stories/Draggable.stories.ts} +3 -2
- package/{src/stories/Dropdown.stories.js → doc/src/stories/Dropdown.stories.ts} +4 -3
- package/{src/stories/DropdownList.stories.js → doc/src/stories/DropdownList.stories.ts} +4 -2
- package/{src/stories/HighlightRippleDot.stories.js → doc/src/stories/HighlightRippleDot.stories.ts} +3 -2
- package/{src/stories/Icon.stories.js → doc/src/stories/Icon.stories.ts} +3 -1
- package/{src/stories/InlineSelector.stories.js → doc/src/stories/InlineSelector.stories.ts} +2 -2
- package/{src/stories/Input.stories.js → doc/src/stories/Input.stories.ts} +7 -4
- package/{src/stories/InputSelect.stories.js → doc/src/stories/InputSelect.stories.ts} +3 -2
- package/{src/stories/InputTextArea.stories.js → doc/src/stories/InputTextArea.stories.ts} +2 -2
- package/{src/stories/MiniTag.stories.js → doc/src/stories/MiniTag.stories.ts} +9 -2
- package/{src/stories/ProgressBar.stories.js → doc/src/stories/ProgressBar.stories.ts} +3 -2
- package/{src/stories/RadioButton.stories.js → doc/src/stories/RadioButton.stories.ts} +2 -2
- package/{src/stories/RadioButtonSimple.stories.js → doc/src/stories/RadioButtonSimple.stories.ts} +2 -2
- package/{src/stories/SimpleAlert.stories.js → doc/src/stories/SimpleAlert.stories.ts} +3 -2
- package/{src/stories/Slider.stories.js → doc/src/stories/Slider.stories.ts} +6 -2
- package/{src/stories/Switch.stories.js → doc/src/stories/Switch.stories.ts} +2 -2
- package/{src/stories/TabHeader.stories.js → doc/src/stories/TabHeader.stories.ts} +6 -1
- package/{src/stories/TableResults.stories.js → doc/src/stories/TableResults.stories.ts} +11 -7
- package/{src/stories/TagScope.stories.js → doc/src/stories/TagScope.stories.ts} +3 -2
- package/{src/stories/TestimonialCard.stories.js → doc/src/stories/TestimonialCard.stories.ts} +3 -3
- package/{src/stories/Toast.stories.js → doc/src/stories/Toast.stories.ts} +2 -2
- package/{src/stories/Toggle.stories.js → doc/src/stories/Toggle.stories.ts} +7 -4
- package/{src/stories/Tooltip.stories.js → doc/src/stories/Tooltip.stories.ts} +6 -6
- package/doc/tsconfig.json +17 -0
- package/package.json +24 -37
- package/src/App.vue +30 -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/assets/scss/components/PsDataTable.scss +1 -1
- package/src/assets/scss/components/PsDropdownList.scss +1 -1
- package/src/components/accordion/PsAccordionItem.vue +88 -74
- package/src/components/badges-and-tags/PsBadgeWithIcon.vue +31 -33
- package/src/components/badges-and-tags/PsCardInfos.vue +39 -41
- package/src/components/badges-and-tags/PsChartLegend.vue +46 -51
- package/src/components/badges-and-tags/PsClimateZoneBadge.vue +13 -19
- package/src/components/badges-and-tags/PsCostEffectBar.vue +24 -56
- package/src/components/badges-and-tags/PsDateCardInfo.vue +17 -18
- package/src/components/badges-and-tags/PsHighlightRippleDot.vue +3 -2
- package/src/components/badges-and-tags/PsMiniTag.vue +39 -41
- package/src/components/badges-and-tags/PsProgressBar.vue +72 -68
- package/src/components/badges-and-tags/PsTagScope.vue +17 -22
- package/src/components/badges-and-tags/PsTestimonialCard.vue +19 -26
- package/src/components/buttons/PsButton.vue +60 -61
- package/src/components/chips/PsChips.vue +98 -101
- package/src/components/collapse/PsCollapse.vue +121 -0
- package/src/components/controls/PsCheckbox.vue +84 -84
- package/src/components/controls/PsCheckboxSimple.vue +95 -95
- package/src/components/controls/PsDraggable.vue +53 -55
- package/src/components/controls/PsInlineSelector.vue +98 -99
- package/src/components/controls/PsRadioButton.vue +59 -58
- package/src/components/controls/PsRadioButtonSimple.vue +79 -75
- package/src/components/controls/PsSlider.vue +185 -176
- package/src/components/controls/PsSwitch.vue +51 -52
- package/src/components/controls/PsToggle.vue +52 -50
- package/src/components/data-graphics/PsBarChart.vue +18 -21
- package/src/components/datatable/PsDataTable.vue +56 -60
- package/src/components/datatable/PsDataTableItem.vue +13 -28
- package/src/components/forms/PsDropdown.vue +165 -162
- package/src/components/forms/PsDropdownList.vue +133 -130
- package/src/components/forms/PsInput.vue +154 -153
- package/src/components/forms/PsInputSelect.vue +91 -92
- package/src/components/forms/PsInputTextArea.vue +70 -71
- package/src/components/navigations/PsBreadcrumb.vue +25 -34
- package/src/components/notifications/PsDialog.vue +57 -56
- package/src/components/notifications/PsSimpleAlert.vue +27 -29
- package/src/components/notifications/PsToast.vue +40 -39
- package/src/components/table-results/PsTableResults.vue +456 -466
- package/src/components/table-results/PsTableResultsBody.vue +66 -67
- package/src/components/table-results/PsTableResultsHead.vue +67 -61
- package/src/components/table-results/PsTableResultsHeadComparison.vue +62 -56
- package/src/components/table-results/PsTableResultsHeadFlexible.vue +68 -61
- package/src/components/table-results/PsTableResultsRow.vue +55 -56
- package/src/components/tabs/PsTabHeader.vue +106 -100
- package/src/components/tooltip/PsDialogTooltip.vue +96 -101
- package/src/components/tooltip/PsRichTooltip.vue +41 -45
- package/src/components/tooltip/PsTooltip.vue +111 -116
- package/src/components/ui/PsDotLoader.vue +1 -5
- package/src/components/ui/PsIcon.vue +131 -129
- package/src/index.ts +159 -0
- package/src/tsconfig.json +12 -0
- package/src/types/index.d.ts +6 -0
- package/src/util/GeneralFunctions.js +16 -7
- package/src/util/directives.ts +24 -0
- package/src/util/imageLoader.js +14 -7
- package/tailwind.config.js +1 -1
- package/tsconfig.json +47 -0
- package/.storybook/PolicyStudio.js +0 -10
- package/.storybook/eventBus.js +0 -26
- package/.storybook/manager.js +0 -6
- package/babel.config.js +0 -17
- package/dist/css/psui_styles.css +0 -4647
- package/postcss.config.js +0 -8
- package/src/components/playground/PsScrollBar.vue +0 -320
- package/src/index.js +0 -166
- package/src/stories/Button.stories.js +0 -48
- package/src/stories/Button.vue +0 -59
- package/src/stories/Header.stories.js +0 -41
- package/src/stories/Header.vue +0 -77
- package/src/stories/Playground.stories.js +0 -16
- package/src/stories/button.css +0 -30
- package/src/stories/header.css +0 -32
- package/webpack.config.js +0 -22
- /package/{src → doc/src}/assets/images/multifamily-units.svg +0 -0
- /package/{src → doc/src}/assets/images/policy-studio.svg +0 -0
- /package/{src/contents/ComparisonData.js → doc/src/contents/ComparisonData.ts} +0 -0
- /package/{src/contents/FlexibleData.js → doc/src/contents/FlexibleData.ts} +0 -0
- /package/{src/contents/ResultsData.js → doc/src/contents/ResultsData.ts} +0 -0
- /package/{src → doc/src}/stories/Colors.mdx +0 -0
- /package/{src → doc/src}/stories/ElevationSystem.mdx +0 -0
- /package/{src → doc/src}/stories/Introduction.mdx +0 -0
- /package/{src → doc/src}/stories/Typography.mdx +0 -0
- /package/{src → doc/src}/stories/assets/code-brackets.svg +0 -0
- /package/{src → doc/src}/stories/assets/colors.svg +0 -0
- /package/{src → doc/src}/stories/assets/comments.svg +0 -0
- /package/{src → doc/src}/stories/assets/direction.svg +0 -0
- /package/{src → doc/src}/stories/assets/flow.svg +0 -0
- /package/{src → doc/src}/stories/assets/plugin.svg +0 -0
- /package/{src → doc/src}/stories/assets/repo.svg +0 -0
- /package/{src → doc/src}/stories/assets/stackalt.svg +0 -0
package/postcss.config.js
DELETED
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="wrapper psui-flex psui-gap-4">
|
|
3
|
-
<div
|
|
4
|
-
class="visible-scrollbar psui-flex psui-flex-col psui-h-full psui-w-56 psui-bg-gray-30 psui-p-2"
|
|
5
|
-
@click="onClick"
|
|
6
|
-
>
|
|
7
|
-
<h2 class="psui-font-bold">
|
|
8
|
-
Scrollbar Playground (click over here to copy the computed style to clipboard)
|
|
9
|
-
</h2>
|
|
10
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
11
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
12
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
13
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
14
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
15
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
16
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
17
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
18
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
19
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
20
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
21
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
22
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
23
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
24
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
25
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
26
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
27
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
28
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
29
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
30
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
31
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
32
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
33
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
34
|
-
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, id.</p>
|
|
35
|
-
</div>
|
|
36
|
-
<div class="psui-flex psui-bg-gray-60 psui-p-2 psui-gap-4">
|
|
37
|
-
<div class="psui-flex psui-flex-col">
|
|
38
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
39
|
-
<label for="width">Scroll Width (px)</label>
|
|
40
|
-
<input
|
|
41
|
-
type="text"
|
|
42
|
-
id="width"
|
|
43
|
-
name="width"
|
|
44
|
-
@change="onChange"
|
|
45
|
-
>
|
|
46
|
-
</div>
|
|
47
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
48
|
-
<label for="width">Scroll Height (px)</label>
|
|
49
|
-
<input
|
|
50
|
-
type="text"
|
|
51
|
-
id="height"
|
|
52
|
-
name="height"
|
|
53
|
-
@change="onChange"
|
|
54
|
-
>
|
|
55
|
-
</div>
|
|
56
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
57
|
-
<label for="width">ScrollTrack Color</label>
|
|
58
|
-
<input
|
|
59
|
-
type="text"
|
|
60
|
-
id="track"
|
|
61
|
-
name="track"
|
|
62
|
-
@change="onChange"
|
|
63
|
-
>
|
|
64
|
-
</div>
|
|
65
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
66
|
-
<label for="width">Thumb Color</label>
|
|
67
|
-
<input
|
|
68
|
-
type="text"
|
|
69
|
-
id="thumb"
|
|
70
|
-
name="thumb"
|
|
71
|
-
@change="onChange"
|
|
72
|
-
>
|
|
73
|
-
</div>
|
|
74
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
75
|
-
<label for="width">Thumb Border-Radius (px)</label>
|
|
76
|
-
<input
|
|
77
|
-
type="text"
|
|
78
|
-
id="thumb-radius"
|
|
79
|
-
name="thumb-radius"
|
|
80
|
-
@change="onChange"
|
|
81
|
-
>
|
|
82
|
-
</div>
|
|
83
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
84
|
-
<label for="width">Thumb Border Size(px)</label>
|
|
85
|
-
<input
|
|
86
|
-
type="text"
|
|
87
|
-
id="thumb-border"
|
|
88
|
-
name="thumb-border"
|
|
89
|
-
@change="onChange"
|
|
90
|
-
>
|
|
91
|
-
</div>
|
|
92
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
93
|
-
<label for="width">Thumb Border Color</label>
|
|
94
|
-
<input
|
|
95
|
-
type="text"
|
|
96
|
-
id="thumb-border-color"
|
|
97
|
-
name="thumb-border-color"
|
|
98
|
-
@change="onChange"
|
|
99
|
-
>
|
|
100
|
-
</div>
|
|
101
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
102
|
-
<label for="width">Thumb Border Style</label>
|
|
103
|
-
<select
|
|
104
|
-
id="thumb-border-style"
|
|
105
|
-
name="thumb-border-style"
|
|
106
|
-
v-model="selectedStyle"
|
|
107
|
-
>
|
|
108
|
-
<option
|
|
109
|
-
value=""
|
|
110
|
-
hidden
|
|
111
|
-
selected
|
|
112
|
-
/>
|
|
113
|
-
<option
|
|
114
|
-
v-for="(style, index) in borderStyle"
|
|
115
|
-
:value="style"
|
|
116
|
-
:key="index"
|
|
117
|
-
>
|
|
118
|
-
{{ style }}
|
|
119
|
-
</option>
|
|
120
|
-
</select>
|
|
121
|
-
</div>
|
|
122
|
-
</div>
|
|
123
|
-
<div class="psui-flex psui-flex-col">
|
|
124
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
125
|
-
<label for="width">Thumb Hover Color</label>
|
|
126
|
-
<input
|
|
127
|
-
type="text"
|
|
128
|
-
id="thumb-hover-color"
|
|
129
|
-
name="thumb-hover-color"
|
|
130
|
-
@change="onChange"
|
|
131
|
-
>
|
|
132
|
-
</div>
|
|
133
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
134
|
-
<label for="width">Thumb Hover Border Size</label>
|
|
135
|
-
<input
|
|
136
|
-
type="text"
|
|
137
|
-
id="thumb-hover-border-size"
|
|
138
|
-
name="thumb-hover-border-size"
|
|
139
|
-
@change="onChange"
|
|
140
|
-
>
|
|
141
|
-
</div>
|
|
142
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
143
|
-
<label for="width">Thumb Hover Border Color</label>
|
|
144
|
-
<input
|
|
145
|
-
type="text"
|
|
146
|
-
id="thumb-hover-border-color"
|
|
147
|
-
name="thumb-hover-border-color"
|
|
148
|
-
@change="onChange"
|
|
149
|
-
>
|
|
150
|
-
</div>
|
|
151
|
-
<div class="psui-flex psui-flex-col psui-w-48">
|
|
152
|
-
<label for="width">Thumb Border Style</label>
|
|
153
|
-
<select
|
|
154
|
-
id="thumb-border-style"
|
|
155
|
-
name="thumb-border-style"
|
|
156
|
-
v-model="selectedHoverStyle"
|
|
157
|
-
>
|
|
158
|
-
<option
|
|
159
|
-
value=""
|
|
160
|
-
hidden
|
|
161
|
-
selected
|
|
162
|
-
/>
|
|
163
|
-
<option
|
|
164
|
-
v-for="(style, index) in borderStyle"
|
|
165
|
-
:value="style"
|
|
166
|
-
:key="index"
|
|
167
|
-
>
|
|
168
|
-
{{ style }}
|
|
169
|
-
</option>
|
|
170
|
-
</select>
|
|
171
|
-
</div>
|
|
172
|
-
</div>
|
|
173
|
-
</div>
|
|
174
|
-
</div>
|
|
175
|
-
</template>
|
|
176
|
-
|
|
177
|
-
<script>
|
|
178
|
-
|
|
179
|
-
export default {
|
|
180
|
-
name: 'PsScrollBar',
|
|
181
|
-
data(){
|
|
182
|
-
return {
|
|
183
|
-
borderStyle: ['dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'ouset'],
|
|
184
|
-
selectedStyle: null,
|
|
185
|
-
selectedHoverStyle: null
|
|
186
|
-
}
|
|
187
|
-
},
|
|
188
|
-
watch:{
|
|
189
|
-
selectedStyle(){
|
|
190
|
-
const visibleScrollBar = document.querySelector('.visible-scrollbar')
|
|
191
|
-
visibleScrollBar.style.setProperty('--scrollbar-thumb-border-style', this.selectedStyle)
|
|
192
|
-
},
|
|
193
|
-
selectedHoverStyle(){
|
|
194
|
-
const visibleScrollBar = document.querySelector('.visible-scrollbar')
|
|
195
|
-
visibleScrollBar.style.setProperty('--scrollbar-thumb-hover-border-style', this.selectedHoverStyle)
|
|
196
|
-
}
|
|
197
|
-
},
|
|
198
|
-
methods:{
|
|
199
|
-
onChange(event){
|
|
200
|
-
|
|
201
|
-
const visibleScrollBar = document.querySelector('.visible-scrollbar')
|
|
202
|
-
|
|
203
|
-
switch(event.target.id){
|
|
204
|
-
case 'width':
|
|
205
|
-
visibleScrollBar.style.setProperty('--scrollbar-width', `${event.target.value}px`)
|
|
206
|
-
break
|
|
207
|
-
case 'thumb':
|
|
208
|
-
visibleScrollBar.style.setProperty('--scrollbar-thumb-color', event.target.value)
|
|
209
|
-
break
|
|
210
|
-
case 'track':
|
|
211
|
-
visibleScrollBar.style.setProperty('--scrollbar-track-color', event.target.value)
|
|
212
|
-
break
|
|
213
|
-
case 'thumb-radius':
|
|
214
|
-
visibleScrollBar.style.setProperty('--scrollbar-thumb-radius', `${event.target.value}px`)
|
|
215
|
-
break
|
|
216
|
-
case 'thumb-border':
|
|
217
|
-
visibleScrollBar.style.setProperty('--scrollbar-thumb-border', `${event.target.value}px`)
|
|
218
|
-
break
|
|
219
|
-
case 'thumb-border-color':
|
|
220
|
-
visibleScrollBar.style.setProperty('--scrollbar-thumb-border-color', event.target.value)
|
|
221
|
-
break
|
|
222
|
-
case 'height':
|
|
223
|
-
visibleScrollBar.style.setProperty('--scrollbar-height', `${event.target.value}px`)
|
|
224
|
-
break
|
|
225
|
-
case 'thumb-hover-color':
|
|
226
|
-
visibleScrollBar.style.setProperty('--scrollbar-thumb-hover-color', event.target.value)
|
|
227
|
-
break
|
|
228
|
-
case 'thumb-hover-border-size':
|
|
229
|
-
visibleScrollBar.style.setProperty('--scrollbar-thumb-hover-border-size', `${event.target.value}px`)
|
|
230
|
-
break
|
|
231
|
-
case 'thumb-hover-border-color':
|
|
232
|
-
visibleScrollBar.style.setProperty('--scrollbar-thumb-hover-border-color', event.target.value)
|
|
233
|
-
break
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
},
|
|
237
|
-
onClick(){
|
|
238
|
-
const visibleScrollBar = document.querySelector('.visible-scrollbar')
|
|
239
|
-
|
|
240
|
-
const styleScrollBar = getComputedStyle(visibleScrollBar, '::-webkit-scrollbar')
|
|
241
|
-
const styleScrollBarTrack = getComputedStyle(visibleScrollBar, '::-webkit-scrollbar-track')
|
|
242
|
-
const styleScrollBarThumb = getComputedStyle(visibleScrollBar, '::-webkit-scrollbar-thumb')
|
|
243
|
-
const styleScrollBarThumbHover = getComputedStyle(visibleScrollBar, '::-webkit-scrollbar-thumb:hover')
|
|
244
|
-
const styleScrollBarCorner = getComputedStyle(visibleScrollBar, '::-webkit-scrollbar-corner')
|
|
245
|
-
|
|
246
|
-
navigator.clipboard.writeText(`
|
|
247
|
-
::-webkit-scrollbar {
|
|
248
|
-
display: ${styleScrollBar.display};
|
|
249
|
-
width: ${styleScrollBar.width};
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
::-webkit-scrollbar-track {
|
|
253
|
-
background-color: ${styleScrollBarTrack.backgroundColor};
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
::-webkit-scrollbar-thumb {
|
|
257
|
-
background-color: ${styleScrollBarThumb.backgroundColor};
|
|
258
|
-
border-radius: ${styleScrollBarThumb.borderRadius};
|
|
259
|
-
border: ${styleScrollBarThumb.border};
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
::-webkit-scrollbar-thumb:hover {
|
|
263
|
-
background-color: ${styleScrollBarThumbHover.backgroundColor};
|
|
264
|
-
border: ${styleScrollBarThumbHover.border};
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
::-webkit-scrollbar-corner {
|
|
268
|
-
display: ${styleScrollBarCorner.display};
|
|
269
|
-
background-color: ${styleScrollBarCorner.backgroundColor};
|
|
270
|
-
height: ${styleScrollBarCorner.height};
|
|
271
|
-
width: ${styleScrollBarCorner.width};
|
|
272
|
-
}
|
|
273
|
-
`)
|
|
274
|
-
|
|
275
|
-
window.alert('Copied to clipboard')
|
|
276
|
-
}
|
|
277
|
-
},
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
</script>
|
|
281
|
-
|
|
282
|
-
<style scoped>
|
|
283
|
-
|
|
284
|
-
.visible-scrollbar{
|
|
285
|
-
overflow: scroll;
|
|
286
|
-
white-space: nowrap;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
.visible-scrollbar::-webkit-scrollbar {
|
|
290
|
-
display: block;
|
|
291
|
-
width: var(--scrollbar-width, 10px);
|
|
292
|
-
height: var(--scrollbar-height, 10px);
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
.visible-scrollbar::-webkit-scrollbar-track {
|
|
296
|
-
background: var(--scrollbar-track-color, gray);
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
.visible-scrollbar::-webkit-scrollbar-thumb {
|
|
300
|
-
background: var(--scrollbar-thumb-color,black);
|
|
301
|
-
border-radius: var(--scrollbar-thumb-radius);
|
|
302
|
-
border: var(--scrollbar-thumb-border) var(--scrollbar-thumb-border-style) var(--scrollbar-thumb-border-color);
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
.visible-scrollbar::-webkit-scrollbar-thumb:hover {
|
|
306
|
-
background: var(--scrollbar-thumb-hover-color, black);
|
|
307
|
-
border: var(--scrollbar-thumb-hover-border-size) var(--scrollbar-thumb-hover-border-style) var(--scrollbar-thumb-hover-border-color);
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
.visible-scrollbar::-webkit-scrollbar-corner {
|
|
311
|
-
display: none;
|
|
312
|
-
background-color: var(--scrollbar-track-color, gray);
|
|
313
|
-
height: var(--scrollbar-height, 10px);
|
|
314
|
-
width: var(--scrollbar-width, 10px);
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
.wrapper {
|
|
318
|
-
height: 450px;
|
|
319
|
-
}
|
|
320
|
-
</style>
|
package/src/index.js
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* General Components
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import PsButton from './components/buttons/PsButton.vue'
|
|
6
|
-
import PsCheckbox from './components/controls/PsCheckbox.vue'
|
|
7
|
-
import PsRadioButton from './components/controls/PsRadioButton.vue'
|
|
8
|
-
import PsSlider from './components/controls/PsSlider.vue'
|
|
9
|
-
import PsSwitch from './components/controls/PsSwitch.vue'
|
|
10
|
-
import PsToggle from './components/controls/PsToggle.vue'
|
|
11
|
-
import PsInput from './components/forms/PsInput.vue'
|
|
12
|
-
import PsDropdown from './components/forms/PsDropdown.vue'
|
|
13
|
-
import PsDropdownList from './components/forms/PsDropdownList.vue'
|
|
14
|
-
import PsInputTextArea from './components/forms/PsInputTextArea.vue'
|
|
15
|
-
import PsInputSelect from './components/forms/PsInputSelect.vue'
|
|
16
|
-
import PsDialog from './components/notifications/PsDialog.vue'
|
|
17
|
-
import PsToast from './components/notifications/PsToast.vue'
|
|
18
|
-
import PsTabHeader from './components/tabs/PsTabHeader.vue'
|
|
19
|
-
import PsAccordion from './components/accordion/PsAccordion.vue'
|
|
20
|
-
import PsAccordionItem from './components/accordion/PsAccordionItem.vue'
|
|
21
|
-
import PsChips from './components/chips/PsChips.vue'
|
|
22
|
-
import PsDataTable from './components/datatable/PsDataTable.vue'
|
|
23
|
-
import PsDataTableItem from './components/datatable/PsDataTableItem.vue'
|
|
24
|
-
import PsTableResults from './components/table-results/PsTableResults.vue'
|
|
25
|
-
import PsTableResultsBody from './components/table-results/PsTableResultsBody.vue'
|
|
26
|
-
import PsTableResultsHead from './components/table-results/PsTableResultsHead.vue'
|
|
27
|
-
import PsTableResultsHeadComparison from './components/table-results/PsTableResultsHeadComparison.vue'
|
|
28
|
-
import PsTableResultsHeadFlexible from './components/table-results/PsTableResultsHeadFlexible.vue'
|
|
29
|
-
import PsIcon from './components/ui/PsIcon.vue'
|
|
30
|
-
import PsDotLoader from './components/ui/PsDotLoader.vue'
|
|
31
|
-
import PsTooltip from './components/tooltip/PsTooltip.vue'
|
|
32
|
-
import PsRichTooltip from './components/tooltip/PsRichTooltip.vue'
|
|
33
|
-
import PsDialogTooltip from './components/tooltip/PsDialogTooltip.vue'
|
|
34
|
-
import PsDraggable from './components/controls/PsDraggable.vue'
|
|
35
|
-
import PsCardInfos from './components/badges-and-tags/PsCardInfos.vue'
|
|
36
|
-
import PsChartLegend from './components/badges-and-tags/PsChartLegend.vue'
|
|
37
|
-
import PsInlineSelector from './components/controls/PsInlineSelector.vue'
|
|
38
|
-
import PsScrollBar from './components/playground/PsScrollBar.vue'
|
|
39
|
-
import PsMiniTag from './components/badges-and-tags/PsMiniTag.vue'
|
|
40
|
-
import PsCheckboxSimple from './components/controls/PsCheckboxSimple.vue'
|
|
41
|
-
import PsBadgeWithIcon from './components/badges-and-tags/PsBadgeWithIcon.vue'
|
|
42
|
-
import PsProgressBar from './components/badges-and-tags/PsProgressBar.vue'
|
|
43
|
-
import PsRadioButtonSimple from './components/controls/PsRadioButtonSimple.vue'
|
|
44
|
-
import PsTestimonialCard from './components/badges-and-tags/PsTestimonialCard.vue'
|
|
45
|
-
import PsDateCardInfo from './components/badges-and-tags/PsDateCardInfo.vue'
|
|
46
|
-
import PsTagScope from './components/badges-and-tags/PsTagScope.vue'
|
|
47
|
-
import PsBarChart from './components/data-graphics/PsBarChart.vue'
|
|
48
|
-
import PsSimpleAlert from './components/notifications/PsSimpleAlert.vue'
|
|
49
|
-
import PsBreadcrumb from './components/navigations/PsBreadcrumb.vue'
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
export default {
|
|
53
|
-
install(Vue) {
|
|
54
|
-
Vue.component('PsButton', PsButton)
|
|
55
|
-
Vue.component('PsCheckbox', PsCheckbox)
|
|
56
|
-
Vue.component('PsDialog', PsDialog)
|
|
57
|
-
Vue.component('PsToast', PsToast)
|
|
58
|
-
Vue.component('PsTabHeader', PsTabHeader)
|
|
59
|
-
Vue.component('PsRadioButton', PsRadioButton)
|
|
60
|
-
Vue.component('PsSlider', PsSlider)
|
|
61
|
-
Vue.component('PsSwitch', PsSwitch)
|
|
62
|
-
Vue.component('PsInput', PsInput)
|
|
63
|
-
Vue.component('PsToggle', PsToggle)
|
|
64
|
-
Vue.component('PsAccordion', PsAccordion)
|
|
65
|
-
Vue.component('PsAccordionItem', PsAccordionItem)
|
|
66
|
-
Vue.component('PsChips', PsChips)
|
|
67
|
-
Vue.component('PsDataTable', PsDataTable)
|
|
68
|
-
Vue.component('PsDataTableItem', PsDataTableItem)
|
|
69
|
-
Vue.component('PsTableResults', PsTableResults)
|
|
70
|
-
Vue.component('PsTableResultsHead', PsTableResultsHead)
|
|
71
|
-
Vue.component('PsTableResultsHeadComparison', PsTableResultsHeadComparison)
|
|
72
|
-
Vue.component('PsTableResultsBody', PsTableResultsBody)
|
|
73
|
-
Vue.component('PsTableResultsHeadFlexible',PsTableResultsHeadFlexible)
|
|
74
|
-
Vue.component('PsIcon', PsIcon)
|
|
75
|
-
Vue.component('PsDotLoader', PsDotLoader)
|
|
76
|
-
Vue.component('PsTooltip', PsTooltip)
|
|
77
|
-
Vue.component('PsRichTooltip', PsRichTooltip)
|
|
78
|
-
Vue.component('PsDialogTooltip', PsDialogTooltip)
|
|
79
|
-
Vue.component('PsDraggable', PsDraggable)
|
|
80
|
-
Vue.component('PsCardInfos', PsCardInfos)
|
|
81
|
-
Vue.component('PsChartLegend', PsChartLegend)
|
|
82
|
-
Vue.component('PsInlineSelector', PsInlineSelector)
|
|
83
|
-
Vue.component('PsInputTextArea', PsInputTextArea)
|
|
84
|
-
Vue.component('PsInputSelect', PsInputSelect)
|
|
85
|
-
Vue.component('PsDropdown',PsDropdown)
|
|
86
|
-
Vue.component('PsDropdownList', PsDropdownList)
|
|
87
|
-
Vue.component('PsScrollBar', PsScrollBar)
|
|
88
|
-
Vue.component('PsMiniTag', PsMiniTag)
|
|
89
|
-
Vue.component('PsCheckboxSimple', PsCheckboxSimple)
|
|
90
|
-
Vue.component('PsBadgeWithIcon', PsBadgeWithIcon)
|
|
91
|
-
Vue.component('PsProgressBar', PsProgressBar)
|
|
92
|
-
Vue.component('PsRadioButtonSimple', PsRadioButtonSimple)
|
|
93
|
-
Vue.component('PsTestimonialCard',PsTestimonialCard)
|
|
94
|
-
Vue.component('PsDateCardInfo',PsDateCardInfo)
|
|
95
|
-
Vue.component('PsTagScope',PsTagScope)
|
|
96
|
-
Vue.component('PsBarChart',PsBarChart)
|
|
97
|
-
Vue.component('PsSimpleAlert',PsSimpleAlert)
|
|
98
|
-
Vue.component('PsBreadcrumb', PsBreadcrumb)
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
Vue.directive('click-outside', {
|
|
102
|
-
bind: function (el, binding, vnode) {
|
|
103
|
-
el.clickOutsideEvent = function (event) {
|
|
104
|
-
// here I check that click was outside the el and his children
|
|
105
|
-
if (!(el == event.target || el.contains(event.target))) {
|
|
106
|
-
// and if it did, call method provided in attribute value
|
|
107
|
-
vnode.context[binding.expression](event)
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
document.body.addEventListener('click', el.clickOutsideEvent)
|
|
111
|
-
},
|
|
112
|
-
unbind: function (el) {
|
|
113
|
-
document.body.removeEventListener('click', el.clickOutsideEvent)
|
|
114
|
-
},
|
|
115
|
-
})
|
|
116
|
-
},
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export {
|
|
120
|
-
PsButton,
|
|
121
|
-
PsCheckbox,
|
|
122
|
-
PsRadioButton,
|
|
123
|
-
PsSlider,
|
|
124
|
-
PsSwitch,
|
|
125
|
-
PsToggle,
|
|
126
|
-
PsInput,
|
|
127
|
-
PsDialog,
|
|
128
|
-
PsToast,
|
|
129
|
-
PsTabHeader,
|
|
130
|
-
PsAccordion,
|
|
131
|
-
PsAccordionItem,
|
|
132
|
-
PsChips,
|
|
133
|
-
PsDataTable,
|
|
134
|
-
PsDataTableItem,
|
|
135
|
-
PsTableResults,
|
|
136
|
-
PsTableResultsHead,
|
|
137
|
-
PsTableResultsBody,
|
|
138
|
-
PsTableResultsHeadFlexible,
|
|
139
|
-
PsTableResultsHeadComparison,
|
|
140
|
-
PsIcon,
|
|
141
|
-
PsDotLoader,
|
|
142
|
-
PsTooltip,
|
|
143
|
-
PsRichTooltip,
|
|
144
|
-
PsDialogTooltip,
|
|
145
|
-
PsDraggable,
|
|
146
|
-
PsCardInfos,
|
|
147
|
-
PsChartLegend,
|
|
148
|
-
PsInlineSelector,
|
|
149
|
-
PsInputTextArea,
|
|
150
|
-
PsInputSelect,
|
|
151
|
-
PsDropdown,
|
|
152
|
-
PsDropdownList,
|
|
153
|
-
PsScrollBar,
|
|
154
|
-
PsMiniTag,
|
|
155
|
-
PsCheckboxSimple,
|
|
156
|
-
PsBadgeWithIcon,
|
|
157
|
-
PsProgressBar,
|
|
158
|
-
PsRadioButtonSimple,
|
|
159
|
-
PsTestimonialCard,
|
|
160
|
-
PsDateCardInfo,
|
|
161
|
-
PsTagScope,
|
|
162
|
-
PsBarChart,
|
|
163
|
-
PsSimpleAlert,
|
|
164
|
-
PsBreadcrumb
|
|
165
|
-
}
|
|
166
|
-
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import MyButton from './Button.vue'
|
|
2
|
-
|
|
3
|
-
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Example/Button',
|
|
6
|
-
component: MyButton,
|
|
7
|
-
tags: ['autodocs'],
|
|
8
|
-
argTypes: {
|
|
9
|
-
backgroundColor: {
|
|
10
|
-
control: 'color',
|
|
11
|
-
},
|
|
12
|
-
onClick: {},
|
|
13
|
-
size: {
|
|
14
|
-
control: {
|
|
15
|
-
type: 'select',
|
|
16
|
-
},
|
|
17
|
-
options: ['small', 'medium', 'large'],
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// More on writing stories with args: https://storybook.js.org/docs/writing-stories/args
|
|
23
|
-
export const Primary = {
|
|
24
|
-
args: {
|
|
25
|
-
primary: true,
|
|
26
|
-
label: 'Button',
|
|
27
|
-
},
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export const Secondary = {
|
|
31
|
-
args: {
|
|
32
|
-
label: 'Button',
|
|
33
|
-
},
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export const Large = {
|
|
37
|
-
args: {
|
|
38
|
-
size: 'large',
|
|
39
|
-
label: 'Button',
|
|
40
|
-
},
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export const Small = {
|
|
44
|
-
args: {
|
|
45
|
-
size: 'small',
|
|
46
|
-
label: 'Button',
|
|
47
|
-
},
|
|
48
|
-
}
|
package/src/stories/Button.vue
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<button
|
|
3
|
-
type="button"
|
|
4
|
-
:class="classes"
|
|
5
|
-
@click="onClick"
|
|
6
|
-
:style="style"
|
|
7
|
-
>
|
|
8
|
-
{{ label }}
|
|
9
|
-
</button>
|
|
10
|
-
</template>
|
|
11
|
-
|
|
12
|
-
<script>
|
|
13
|
-
import './button.css'
|
|
14
|
-
import { reactive, computed } from 'vue'
|
|
15
|
-
|
|
16
|
-
export default {
|
|
17
|
-
name: 'MyButton',
|
|
18
|
-
|
|
19
|
-
props: {
|
|
20
|
-
label: {
|
|
21
|
-
type: String,
|
|
22
|
-
required: true,
|
|
23
|
-
},
|
|
24
|
-
primary: {
|
|
25
|
-
type: Boolean,
|
|
26
|
-
default: false,
|
|
27
|
-
},
|
|
28
|
-
size: {
|
|
29
|
-
type: String,
|
|
30
|
-
validator: function (value) {
|
|
31
|
-
return ['small', 'medium', 'large'].indexOf(value) !== -1
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
backgroundColor: {
|
|
35
|
-
type: String,
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
emits: ['click'],
|
|
40
|
-
|
|
41
|
-
setup(props, { emit }) {
|
|
42
|
-
props = reactive(props)
|
|
43
|
-
return {
|
|
44
|
-
classes: computed(() => ({
|
|
45
|
-
'storybook-button': true,
|
|
46
|
-
'storybook-button--primary': props.primary,
|
|
47
|
-
'storybook-button--secondary': !props.primary,
|
|
48
|
-
[`storybook-button--${props.size || 'medium'}`]: true,
|
|
49
|
-
})),
|
|
50
|
-
style: computed(() => ({
|
|
51
|
-
backgroundColor: props.backgroundColor,
|
|
52
|
-
})),
|
|
53
|
-
onClick() {
|
|
54
|
-
emit('click')
|
|
55
|
-
},
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
}
|
|
59
|
-
</script>
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import MyHeader from './Header.vue'
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
title: 'Example/Header',
|
|
5
|
-
component: MyHeader,
|
|
6
|
-
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
7
|
-
tags: ['autodocs'],
|
|
8
|
-
render: (args) => ({
|
|
9
|
-
// Components used in your story `template` are defined in the `components` object
|
|
10
|
-
components: {
|
|
11
|
-
MyHeader,
|
|
12
|
-
},
|
|
13
|
-
// The story's `args` need to be mapped into the template through the `setup()` method
|
|
14
|
-
setup() {
|
|
15
|
-
// Story args can be spread into the returned object
|
|
16
|
-
return {
|
|
17
|
-
...args,
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
// Then, the spread values can be accessed directly in the template
|
|
21
|
-
template: '<my-header :user="user" />',
|
|
22
|
-
}),
|
|
23
|
-
parameters: {
|
|
24
|
-
// More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
|
|
25
|
-
layout: 'fullscreen',
|
|
26
|
-
},
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export const LoggedIn = {
|
|
30
|
-
args: {
|
|
31
|
-
user: {
|
|
32
|
-
name: 'Jane Doe',
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export const LoggedOut = {
|
|
38
|
-
args: {
|
|
39
|
-
user: null,
|
|
40
|
-
},
|
|
41
|
-
}
|