@policystudio/policy-studio-ui-vue 1.1.90-beta.5 → 1.1.90-beta.51
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 +2 -8
- package/.github/workflows/deploy-storybook.yml +4 -4
- package/.nvmrc +1 -0
- package/dist/css/psui_styles_output.css +6639 -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/{.storybook → doc/.storybook}/main.ts +8 -2
- package/{.storybook → doc/.storybook}/preview.ts +2 -3
- package/doc/package-lock.json +22653 -0
- package/doc/package.json +71 -0
- package/{src → doc}/shims-vue.d.ts +0 -5
- package/{src → doc/src}/stories/Accordion.stories.ts +2 -3
- package/{src → doc/src}/stories/BadgeWithIcon.stories.ts +1 -1
- package/{src → doc/src}/stories/BarChart.stories.ts +1 -1
- package/{src → doc/src}/stories/Breadcrumb.stories.ts +1 -1
- package/doc/src/stories/Button.stories.ts +130 -0
- package/{src → doc/src}/stories/CardInfos.stories.ts +1 -1
- package/{src → doc/src}/stories/ChartLegend.stories.ts +1 -1
- package/{src → doc/src}/stories/Checkbox.stories.ts +1 -1
- package/{src → doc/src}/stories/CheckboxSimple.stories.ts +1 -1
- package/{src → doc/src}/stories/Chips.stories.ts +1 -4
- package/{src → doc/src}/stories/ClimateZoneBadge.stories.ts +2 -1
- package/doc/src/stories/Collapse.stories.ts +46 -0
- package/{src → doc/src}/stories/CostEffectBar.stories.ts +2 -1
- package/{src → doc/src}/stories/Datatable.stories.ts +5 -2
- package/{src → doc/src}/stories/DateCardInfo.stories.ts +1 -1
- package/{src → doc/src}/stories/Dialog.stories.ts +2 -2
- package/{src → doc/src}/stories/Draggable.stories.ts +3 -2
- package/{src → doc/src}/stories/Dropdown.stories.ts +4 -3
- package/{src → doc/src}/stories/DropdownList.stories.ts +4 -2
- package/{src → doc/src}/stories/HighlightRippleDot.stories.ts +3 -2
- package/{src → doc/src}/stories/Icon.stories.ts +3 -1
- package/{src → doc/src}/stories/InlineSelector.stories.ts +1 -1
- package/{src → doc/src}/stories/Input.stories.ts +7 -4
- package/{src → doc/src}/stories/InputSelect.stories.ts +3 -2
- package/{src → doc/src}/stories/InputTextArea.stories.ts +1 -1
- package/{src → doc/src}/stories/MiniTag.stories.ts +9 -2
- package/{src → doc/src}/stories/ProgressBar.stories.ts +3 -2
- package/{src → doc/src}/stories/RadioButton.stories.ts +2 -2
- package/{src → doc/src}/stories/RadioButtonSimple.stories.ts +1 -1
- package/{src → doc/src}/stories/SimpleAlert.stories.ts +3 -2
- package/{src → doc/src}/stories/Slider.stories.ts +6 -2
- package/{src → doc/src}/stories/Switch.stories.ts +2 -2
- package/{src → doc/src}/stories/TabHeader.stories.ts +6 -1
- package/{src → doc/src}/stories/TableResults.stories.ts +11 -7
- package/{src → doc/src}/stories/TagScope.stories.ts +3 -2
- package/{src → doc/src}/stories/TestimonialCard.stories.ts +3 -3
- package/{src → doc/src}/stories/Toast.stories.ts +2 -2
- package/{src → doc/src}/stories/Toggle.stories.ts +6 -3
- package/{src → doc/src}/stories/Tooltip.stories.ts +3 -3
- package/doc/tsconfig.json +17 -0
- package/package.json +13 -28
- 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/PsChips.scss +9 -3
- package/src/assets/scss/components/PsCollapse.scss +71 -0
- package/src/assets/scss/components/PsDataTable.scss +1 -1
- package/src/assets/scss/components/PsDropdownList.scss +1 -1
- package/src/assets/scss/components/PsTableResults.scss +28 -1
- package/src/assets/scss/components/PsTooltip.scss +2 -1
- package/src/components/accordion/PsAccordionItem.vue +88 -74
- package/src/components/badges-and-tags/PsBadgeWithIcon.vue +31 -34
- 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 +61 -62
- package/src/components/chips/PsChips.vue +112 -101
- package/src/components/collapse/PsCollapse.vue +124 -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 +65 -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 +166 -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 +461 -468
- package/src/components/table-results/PsTableResultsBody.vue +66 -67
- package/src/components/table-results/PsTableResultsHead.vue +70 -67
- package/src/components/table-results/PsTableResultsHeadComparison.vue +67 -64
- package/src/components/table-results/PsTableResultsHeadFlexible.vue +94 -67
- 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 +143 -132
- package/src/index.ts +60 -67
- package/src/tsconfig.json +12 -0
- package/src/types/index.d.ts +6 -0
- package/src/util/{GeneralFunctions.ts → GeneralFunctions.js} +12 -3
- package/src/util/directives.ts +24 -0
- package/src/util/{imageLoader.ts → imageLoader.js} +7 -0
- package/tailwind.config.js +1 -1
- package/tsconfig.json +18 -13
- package/.storybook/eventBus.ts +0 -26
- 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/stories/Button.stories.ts +0 -48
- package/src/stories/Button.vue +0 -59
- package/src/stories/Header.stories.ts +0 -41
- package/src/stories/Header.vue +0 -77
- package/src/stories/Playground.stories.ts +0 -16
- package/src/stories/button.css +0 -30
- package/src/stories/header.css +0 -32
- package/webpack.config.js +0 -22
- /package/{.storybook → doc/.storybook}/PolicyStudio.ts +0 -0
- /package/{.storybook → doc/.storybook}/manager.ts +0 -0
- /package/{src → doc/src}/assets/images/multifamily-units.svg +0 -0
- /package/{src → doc/src}/assets/images/policy-studio.svg +0 -0
- /package/{src → doc/src}/contents/ComparisonData.ts +0 -0
- /package/{src → doc/src}/contents/FlexibleData.ts +0 -0
- /package/{src → 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>
|
|
@@ -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
|
-
}
|
package/src/stories/Header.vue
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<header>
|
|
3
|
-
<div class="storybook-header">
|
|
4
|
-
<div>
|
|
5
|
-
<svg
|
|
6
|
-
width="32"
|
|
7
|
-
height="32"
|
|
8
|
-
viewBox="0 0 32 32"
|
|
9
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
10
|
-
>
|
|
11
|
-
<g
|
|
12
|
-
fill="none"
|
|
13
|
-
fill-rule="evenodd"
|
|
14
|
-
>
|
|
15
|
-
<path
|
|
16
|
-
d="M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z"
|
|
17
|
-
fill="#FFF"
|
|
18
|
-
/>
|
|
19
|
-
<path
|
|
20
|
-
d="M5.3 10.6l10.4 6v11.1l-10.4-6v-11zm11.4-6.2l9.7 5.5-9.7 5.6V4.4z"
|
|
21
|
-
fill="#555AB9"
|
|
22
|
-
/>
|
|
23
|
-
<path
|
|
24
|
-
d="M27.2 10.6v11.2l-10.5 6V16.5l10.5-6zM15.7 4.4v11L6 10l9.7-5.5z"
|
|
25
|
-
fill="#91BAF8"
|
|
26
|
-
/>
|
|
27
|
-
</g>
|
|
28
|
-
</svg>
|
|
29
|
-
<h1>Acme</h1>
|
|
30
|
-
</div>
|
|
31
|
-
<div>
|
|
32
|
-
<span
|
|
33
|
-
class="welcome"
|
|
34
|
-
v-if="user"
|
|
35
|
-
>Welcome, aa<b>{{ user.name }}</b>!</span>
|
|
36
|
-
<my-button
|
|
37
|
-
size="small"
|
|
38
|
-
@click="$emit('logout')"
|
|
39
|
-
label="Log out"
|
|
40
|
-
v-if="user"
|
|
41
|
-
/>
|
|
42
|
-
<my-button
|
|
43
|
-
size="small"
|
|
44
|
-
@click="$emit('login')"
|
|
45
|
-
label="Log in"
|
|
46
|
-
v-if="!user"
|
|
47
|
-
/>
|
|
48
|
-
<my-button
|
|
49
|
-
primary
|
|
50
|
-
size="small"
|
|
51
|
-
@click="$emit('createAccount')"
|
|
52
|
-
label="Sign up"
|
|
53
|
-
v-if="!user"
|
|
54
|
-
/>
|
|
55
|
-
</div>
|
|
56
|
-
</div>
|
|
57
|
-
</header>
|
|
58
|
-
</template>
|
|
59
|
-
|
|
60
|
-
<script>
|
|
61
|
-
import './header.css'
|
|
62
|
-
import MyButton from './Button.vue'
|
|
63
|
-
|
|
64
|
-
export default {
|
|
65
|
-
name: 'MyHeader',
|
|
66
|
-
|
|
67
|
-
components: { MyButton },
|
|
68
|
-
|
|
69
|
-
props: {
|
|
70
|
-
user: {
|
|
71
|
-
type: Object,
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
emits: ['login', 'logout', 'createAccount'],
|
|
76
|
-
}
|
|
77
|
-
</script>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import PsScrollBar from '../components/playground/PsScrollBar.vue'
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
title: 'Components/Playground',
|
|
5
|
-
component: PsScrollBar
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const Template = (args, {argTypes}) => ({
|
|
9
|
-
props: Object.keys(argTypes),
|
|
10
|
-
components: { PsScrollBar},
|
|
11
|
-
template: `
|
|
12
|
-
<PsScrollBar v-bind='$props' scrollWidth='30'></PsScrollbar>
|
|
13
|
-
`
|
|
14
|
-
})
|
|
15
|
-
|
|
16
|
-
export const ScrollBar = Template.bind({})
|
package/src/stories/button.css
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
.storybook-button {
|
|
2
|
-
font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
3
|
-
font-weight: 700;
|
|
4
|
-
border: 0;
|
|
5
|
-
border-radius: 3em;
|
|
6
|
-
cursor: pointer;
|
|
7
|
-
display: inline-block;
|
|
8
|
-
line-height: 1;
|
|
9
|
-
}
|
|
10
|
-
.storybook-button--primary {
|
|
11
|
-
color: white;
|
|
12
|
-
background-color: #1ea7fd;
|
|
13
|
-
}
|
|
14
|
-
.storybook-button--secondary {
|
|
15
|
-
color: #333;
|
|
16
|
-
background-color: transparent;
|
|
17
|
-
box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset;
|
|
18
|
-
}
|
|
19
|
-
.storybook-button--small {
|
|
20
|
-
font-size: 12px;
|
|
21
|
-
padding: 10px 16px;
|
|
22
|
-
}
|
|
23
|
-
.storybook-button--medium {
|
|
24
|
-
font-size: 14px;
|
|
25
|
-
padding: 11px 20px;
|
|
26
|
-
}
|
|
27
|
-
.storybook-button--large {
|
|
28
|
-
font-size: 16px;
|
|
29
|
-
padding: 12px 24px;
|
|
30
|
-
}
|
package/src/stories/header.css
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
.storybook-header {
|
|
2
|
-
font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
3
|
-
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
|
4
|
-
padding: 15px 20px;
|
|
5
|
-
display: flex;
|
|
6
|
-
align-items: center;
|
|
7
|
-
justify-content: space-between;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.storybook-header svg {
|
|
11
|
-
display: inline-block;
|
|
12
|
-
vertical-align: top;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.storybook-header h1 {
|
|
16
|
-
font-weight: 700;
|
|
17
|
-
font-size: 20px;
|
|
18
|
-
line-height: 1;
|
|
19
|
-
margin: 6px 0 6px 10px;
|
|
20
|
-
display: inline-block;
|
|
21
|
-
vertical-align: top;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.storybook-header button + button {
|
|
25
|
-
margin-left: 10px;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.storybook-header .welcome {
|
|
29
|
-
color: #333;
|
|
30
|
-
font-size: 14px;
|
|
31
|
-
margin-right: 10px;
|
|
32
|
-
}
|
package/webpack.config.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
resolve: {
|
|
3
|
-
alias: {
|
|
4
|
-
vue: '@vue/compat'
|
|
5
|
-
}
|
|
6
|
-
},
|
|
7
|
-
module: {
|
|
8
|
-
rules: [
|
|
9
|
-
{
|
|
10
|
-
test: /\.vue$/,
|
|
11
|
-
loader: 'vue-loader',
|
|
12
|
-
options: {
|
|
13
|
-
compilerOptions: {
|
|
14
|
-
compatConfig: {
|
|
15
|
-
MODE: 2
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
]
|
|
21
|
-
}
|
|
22
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|