@policystudio/policy-studio-ui-vue 1.1.90-beta.2 → 1.1.90-beta.21
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 +6986 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.js +104 -0
- package/dist/index.js.map +1 -0
- package/dist/util/GeneralFunctions.d.ts +3 -0
- package/dist/util/GeneralFunctions.js +29 -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/package.json +24 -37
- package/src/App.vue +30 -0
- package/src/assets/scss/components/PsDataTable.scss +1 -1
- package/src/components/accordion/PsAccordionItem.vue +75 -75
- 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 +88 -111
- package/src/components/chips/PsChips.vue +98 -101
- 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 +164 -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 +71 -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 +449 -458
- package/src/components/table-results/PsTableResultsBody.vue +66 -67
- package/src/components/table-results/PsTableResultsHead.vue +62 -56
- package/src/components/table-results/PsTableResultsHeadComparison.vue +62 -56
- package/src/components/table-results/PsTableResultsHeadFlexible.vue +63 -56
- 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 +126 -129
- package/src/index.ts +156 -0
- package/src/tsconfig.json +12 -0
- package/src/types/index.d.ts +6 -0
- package/src/util/GeneralFunctions.js +4 -6
- 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/main.js +0 -21
- package/.storybook/manager.js +0 -6
- package/.storybook/preview.js +0 -17
- package/babel.config.js +0 -17
- package/dist/css/psui_styles.css +0 -4647
- package/postcss.config.js +0 -8
- package/src/assets/images/multifamily-units.svg +0 -10
- package/src/assets/images/policy-studio.svg +0 -15
- package/src/components/playground/PsScrollBar.vue +0 -320
- package/src/contents/ComparisonData.js +0 -378
- package/src/contents/FlexibleData.js +0 -502
- package/src/contents/ResultsData.js +0 -531
- package/src/index.js +0 -166
- package/src/stories/Accordion.stories.js +0 -59
- package/src/stories/BadgeWithIcon.stories.js +0 -31
- package/src/stories/BarChart.stories.js +0 -17
- package/src/stories/Breadcrumb.stories.js +0 -25
- package/src/stories/Button.stories.js +0 -48
- package/src/stories/Button.vue +0 -59
- package/src/stories/CardInfos.stories.js +0 -16
- package/src/stories/ChartLegend.stories.js +0 -16
- package/src/stories/Checkbox.stories.js +0 -45
- package/src/stories/CheckboxSimple.stories.js +0 -49
- package/src/stories/Chips.stories.js +0 -31
- package/src/stories/ClimateZoneBadge.stories.js +0 -17
- package/src/stories/Colors.mdx +0 -70
- package/src/stories/CostEffectBar.stories.js +0 -23
- package/src/stories/Datatable.stories.js +0 -50
- package/src/stories/DateCardInfo.stories.js +0 -24
- package/src/stories/Dialog.stories.js +0 -131
- package/src/stories/Draggable.stories.js +0 -22
- package/src/stories/Dropdown.stories.js +0 -99
- package/src/stories/DropdownList.stories.js +0 -211
- package/src/stories/ElevationSystem.mdx +0 -41
- package/src/stories/Header.stories.js +0 -41
- package/src/stories/Header.vue +0 -77
- package/src/stories/HighlightRippleDot.stories.js +0 -15
- package/src/stories/Icon.stories.js +0 -21
- package/src/stories/InlineSelector.stories.js +0 -18
- package/src/stories/Input.stories.js +0 -240
- package/src/stories/InputSelect.stories.js +0 -30
- package/src/stories/InputTextArea.stories.js +0 -25
- package/src/stories/Introduction.mdx +0 -211
- package/src/stories/MiniTag.stories.js +0 -52
- package/src/stories/Playground.stories.js +0 -16
- package/src/stories/ProgressBar.stories.js +0 -23
- package/src/stories/RadioButton.stories.js +0 -40
- package/src/stories/RadioButtonSimple.stories.js +0 -43
- package/src/stories/SimpleAlert.stories.js +0 -21
- package/src/stories/Slider.stories.js +0 -75
- package/src/stories/Switch.stories.js +0 -39
- package/src/stories/TabHeader.stories.js +0 -52
- package/src/stories/TableResults.stories.js +0 -724
- package/src/stories/TagScope.stories.js +0 -17
- package/src/stories/TestimonialCard.stories.js +0 -27
- package/src/stories/Toast.stories.js +0 -52
- package/src/stories/Toggle.stories.js +0 -45
- package/src/stories/Tooltip.stories.js +0 -114
- package/src/stories/Typography.mdx +0 -212
- package/src/stories/assets/code-brackets.svg +0 -1
- package/src/stories/assets/colors.svg +0 -1
- package/src/stories/assets/comments.svg +0 -1
- package/src/stories/assets/direction.svg +0 -1
- package/src/stories/assets/flow.svg +0 -1
- package/src/stories/assets/plugin.svg +0 -1
- package/src/stories/assets/repo.svg +0 -1
- package/src/stories/assets/stackalt.svg +0 -1
- package/src/stories/button.css +0 -30
- package/src/stories/header.css +0 -32
- package/webpack.config.js +0 -22
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
class="psui-el-badge-with-icon"
|
|
4
4
|
:class="getComponentClass"
|
|
5
5
|
>
|
|
6
|
-
<i
|
|
7
|
-
v-if="icon"
|
|
6
|
+
<i
|
|
7
|
+
v-if="icon"
|
|
8
8
|
:class="iconClass"
|
|
9
9
|
class="psui-el-badge-with-icon-icon"
|
|
10
10
|
>{{ icon }}</i>
|
|
@@ -12,35 +12,33 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
</template>
|
|
14
14
|
|
|
15
|
-
<script>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
getComponentClass(){
|
|
41
|
-
return `layout-${this.layout}`
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
</script>
|
|
15
|
+
<script setup>
|
|
16
|
+
import { computed } from 'vue'
|
|
17
|
+
|
|
18
|
+
const props = defineProps({
|
|
19
|
+
icon: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: 'info',
|
|
22
|
+
},
|
|
23
|
+
/**
|
|
24
|
+
* It set any further css style that might be needed.
|
|
25
|
+
*/
|
|
26
|
+
iconClass: {
|
|
27
|
+
type: String,
|
|
28
|
+
default: '',
|
|
29
|
+
},
|
|
30
|
+
message: {
|
|
31
|
+
type: String,
|
|
32
|
+
default: 'Lorem ipsum',
|
|
33
|
+
},
|
|
34
|
+
layout: {
|
|
35
|
+
type: String,
|
|
36
|
+
default: 'grey',
|
|
37
|
+
validator: (value) => ['grey', 'blue', 'green', 'yellow'].includes(value),
|
|
38
|
+
},
|
|
39
|
+
})
|
|
46
40
|
|
|
41
|
+
const getComponentClass = computed(() => {
|
|
42
|
+
return `layout-${props.layout}`
|
|
43
|
+
})
|
|
44
|
+
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div
|
|
3
3
|
class="psui-el-card-infos"
|
|
4
4
|
@click="onClick()"
|
|
5
5
|
>
|
|
@@ -8,52 +8,50 @@
|
|
|
8
8
|
</h5>
|
|
9
9
|
<div class="psui-el-card-infos-content">
|
|
10
10
|
<span class="psui-el-card-infos-icon material-icons-round">{{ icon }}</span>
|
|
11
|
-
<h5 class="psui-text-gray-80">
|
|
12
|
-
{{ total }}
|
|
11
|
+
<h5 class="psui-text-gray-80">
|
|
12
|
+
{{ total }}
|
|
13
13
|
</h5>
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
16
|
</template>
|
|
17
17
|
|
|
18
|
-
<script>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
type: String,
|
|
34
|
-
default: '',
|
|
35
|
-
},
|
|
36
|
-
/**
|
|
37
|
-
* It sets the text key to get the svg icon in Google Fonts. Make sure to get the right description of your icon on https://fonts.google.com/.
|
|
38
|
-
*/
|
|
39
|
-
icon: {
|
|
40
|
-
type: String,
|
|
41
|
-
default: 'edit',
|
|
42
|
-
},
|
|
43
|
-
/**
|
|
44
|
-
* It sets the data that will show up when component is mounted.
|
|
45
|
-
*/
|
|
46
|
-
total: {
|
|
47
|
-
type: String,
|
|
48
|
-
default: '',
|
|
49
|
-
},
|
|
18
|
+
<script setup>
|
|
19
|
+
|
|
20
|
+
const emit = defineEmits(['click'])
|
|
21
|
+
|
|
22
|
+
defineProps({
|
|
23
|
+
title: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: 'Total',
|
|
26
|
+
},
|
|
27
|
+
/**
|
|
28
|
+
* It sets the subtitle of your card if needed.
|
|
29
|
+
*/
|
|
30
|
+
subtitle: {
|
|
31
|
+
type: String,
|
|
32
|
+
default: '',
|
|
50
33
|
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
34
|
+
/**
|
|
35
|
+
* It sets the text key to get the svg icon in Google Fonts. Make sure to get the right description of your icon on https://fonts.google.com/.
|
|
36
|
+
*/
|
|
37
|
+
icon: {
|
|
38
|
+
type: String,
|
|
39
|
+
default: 'edit',
|
|
40
|
+
},
|
|
41
|
+
/**
|
|
42
|
+
* It sets the data that will show up when component is mounted.
|
|
43
|
+
*/
|
|
44
|
+
total: {
|
|
45
|
+
type: String,
|
|
46
|
+
default: '',
|
|
47
|
+
},
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
const onClick = () => {
|
|
51
|
+
emit('click')
|
|
56
52
|
}
|
|
57
53
|
</script>
|
|
58
54
|
|
|
59
|
-
<style>
|
|
55
|
+
<style>
|
|
56
|
+
/* Please, use the file src/assets/scss/components/PsCardInfos.scss */
|
|
57
|
+
</style>
|
|
@@ -1,69 +1,64 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="psui-el-chart-legend">
|
|
3
3
|
<div class="psui-flex psui-flex-shrink-0">
|
|
4
|
-
<div
|
|
5
|
-
class="psui-el-chart-legend-dot"
|
|
6
|
-
:style="dotColor"
|
|
4
|
+
<div
|
|
5
|
+
class="psui-el-chart-legend-dot"
|
|
6
|
+
:style="dotColor"
|
|
7
7
|
/>
|
|
8
8
|
</div>
|
|
9
9
|
<div class="psui-flex-grow-1 flex psui-flex-col">
|
|
10
|
-
<div class="psui-el-chart-legend-text">
|
|
11
|
-
{{ text }}
|
|
10
|
+
<div class="psui-el-chart-legend-text">
|
|
11
|
+
{{ text }}
|
|
12
12
|
</div>
|
|
13
13
|
<div class="flex psui-items-center psui-flex-shrink-0 psui-gap-1">
|
|
14
|
-
<span
|
|
15
|
-
v-if="
|
|
16
|
-
class="psui-el-chart-legend-total"
|
|
14
|
+
<span
|
|
15
|
+
v-if="total"
|
|
16
|
+
class="psui-el-chart-legend-total"
|
|
17
17
|
>{{ total }}</span>
|
|
18
|
-
<span
|
|
19
|
-
class="psui-text-gray-30"
|
|
20
|
-
v-if="total && percentage"
|
|
18
|
+
<span
|
|
19
|
+
class="psui-text-gray-30"
|
|
20
|
+
v-if="total && percentage"
|
|
21
21
|
> | </span>
|
|
22
|
-
<span
|
|
23
|
-
class="psui-el-chart-legend-percentage"
|
|
24
|
-
v-if="percentage"
|
|
25
|
-
>
|
|
26
|
-
{{ percentage }}%
|
|
27
|
-
</span>
|
|
22
|
+
<span
|
|
23
|
+
class="psui-el-chart-legend-percentage"
|
|
24
|
+
v-if="percentage"
|
|
25
|
+
> {{ percentage }}% </span>
|
|
28
26
|
</div>
|
|
29
27
|
</div>
|
|
30
28
|
</div>
|
|
31
29
|
</template>
|
|
32
30
|
|
|
33
|
-
<script>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
*/
|
|
61
|
-
dotColor: {
|
|
62
|
-
type: Object,
|
|
63
|
-
default: null
|
|
64
|
-
},
|
|
31
|
+
<script setup>
|
|
32
|
+
|
|
33
|
+
defineProps({
|
|
34
|
+
text: {
|
|
35
|
+
type: [String, Number],
|
|
36
|
+
default: 'Climate Zone 10',
|
|
37
|
+
},
|
|
38
|
+
/**
|
|
39
|
+
* It sets the data that will show up when component is mounted.
|
|
40
|
+
*/
|
|
41
|
+
total: {
|
|
42
|
+
type: String,
|
|
43
|
+
default: null,
|
|
44
|
+
},
|
|
45
|
+
/**
|
|
46
|
+
* It sets the data that wull show up when component is mounted.
|
|
47
|
+
*/
|
|
48
|
+
percentage: {
|
|
49
|
+
type: String,
|
|
50
|
+
default: null,
|
|
51
|
+
},
|
|
52
|
+
/**
|
|
53
|
+
* It sets the color of the dot component.
|
|
54
|
+
*/
|
|
55
|
+
dotColor: {
|
|
56
|
+
type: Object,
|
|
57
|
+
default: null,
|
|
65
58
|
},
|
|
66
|
-
}
|
|
59
|
+
})
|
|
67
60
|
</script>
|
|
68
61
|
|
|
69
|
-
<style>
|
|
62
|
+
<style>
|
|
63
|
+
/* Please, use the file src/assets/scss/components/PsChartLegend.scss */
|
|
64
|
+
</style>
|
|
@@ -7,26 +7,20 @@
|
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|
|
9
9
|
|
|
10
|
-
<script>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
* It sets the text key to get the svg icon in Google Fonts. Make sure to get the right description of your icon on https://fonts.google.com/.
|
|
16
|
-
*/
|
|
17
|
-
icon: {
|
|
18
|
-
type: String,
|
|
19
|
-
default: 'area_chart',
|
|
20
|
-
},
|
|
21
|
-
/**
|
|
22
|
-
* It sets the content that will show up when the component is rendered.
|
|
23
|
-
*/
|
|
24
|
-
content: {
|
|
25
|
-
type: Number,
|
|
26
|
-
default: 10,
|
|
27
|
-
},
|
|
10
|
+
<script setup>
|
|
11
|
+
defineProps({
|
|
12
|
+
icon: {
|
|
13
|
+
type: String,
|
|
14
|
+
default: 'area_chart',
|
|
28
15
|
},
|
|
29
|
-
|
|
16
|
+
/**
|
|
17
|
+
* It sets the content that will show up when the component is rendered.
|
|
18
|
+
*/
|
|
19
|
+
content: {
|
|
20
|
+
type: Number,
|
|
21
|
+
default: 10,
|
|
22
|
+
},
|
|
23
|
+
})
|
|
30
24
|
</script>
|
|
31
25
|
|
|
32
26
|
<style>
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
<div class="psui-el-cost-effect-bar">
|
|
3
3
|
<div>
|
|
4
4
|
<span :style="breakEvenPosition" />
|
|
5
|
-
|
|
6
5
|
<PsProgressBar
|
|
7
6
|
:value="value"
|
|
8
7
|
:percentage-color="percentageColor"
|
|
@@ -12,68 +11,37 @@
|
|
|
12
11
|
</div>
|
|
13
12
|
</template>
|
|
14
13
|
|
|
15
|
-
<script>
|
|
14
|
+
<script setup>
|
|
16
15
|
import PsProgressBar from './PsProgressBar.vue'
|
|
17
|
-
|
|
18
|
-
name: 'PsCostEffectBar',
|
|
19
|
-
components: {
|
|
20
|
-
PsProgressBar,
|
|
21
|
-
},
|
|
16
|
+
import { computed } from 'vue'
|
|
22
17
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
type: Number,
|
|
29
|
-
required: true,
|
|
30
|
-
default: 0,
|
|
31
|
-
},
|
|
32
|
-
/**
|
|
33
|
-
* It sets the threshold of being effective or not effective within costeffectbar.
|
|
34
|
-
*/
|
|
35
|
-
breakEven: {
|
|
36
|
-
type: Number,
|
|
37
|
-
required: true,
|
|
38
|
-
default: 0,
|
|
39
|
-
},
|
|
18
|
+
const props = defineProps({
|
|
19
|
+
value: {
|
|
20
|
+
type: Number,
|
|
21
|
+
required: true,
|
|
22
|
+
default: 0,
|
|
40
23
|
},
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
24
|
+
/**
|
|
25
|
+
* It sets the threshold of being effective or not effective within costeffectbar.
|
|
26
|
+
*/
|
|
27
|
+
breakEven: {
|
|
28
|
+
type: Number,
|
|
29
|
+
required: true,
|
|
30
|
+
default: 0,
|
|
45
31
|
},
|
|
32
|
+
})
|
|
46
33
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
else if (this.value < 0) return 0
|
|
51
|
-
else return this.value
|
|
52
|
-
},
|
|
53
|
-
|
|
54
|
-
breakEvenPosition() {
|
|
55
|
-
return `left: ${this.breakEven >= 98 ? 98 : this.breakEven}px`
|
|
56
|
-
},
|
|
34
|
+
const breakEvenPosition = computed(() => {
|
|
35
|
+
return `left: ${props.breakEven >= 98 ? 98 : props.breakEven}px`
|
|
36
|
+
})
|
|
57
37
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
else return this.breakEven
|
|
62
|
-
},
|
|
38
|
+
const percentageColor = computed(() => {
|
|
39
|
+
return props.value >= props.breakEven ? 'psui-bg-blue-60' : 'psui-bg-red-20'
|
|
40
|
+
})
|
|
63
41
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
: 'psui-bg-red-20'
|
|
68
|
-
},
|
|
69
|
-
|
|
70
|
-
bgColor() {
|
|
71
|
-
return this.value >= this.breakEven
|
|
72
|
-
? 'psui-bg-blue-20'
|
|
73
|
-
: 'psui-bg-red-10'
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
}
|
|
42
|
+
const bgColor = computed(() => {
|
|
43
|
+
return props.value >= props.breakEven ? 'psui-bg-blue-20' : 'psui-bg-red-10'
|
|
44
|
+
})
|
|
77
45
|
</script>
|
|
78
46
|
|
|
79
47
|
<style>
|
|
@@ -9,23 +9,22 @@
|
|
|
9
9
|
</div>
|
|
10
10
|
</template>
|
|
11
11
|
|
|
12
|
-
<script>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
12
|
+
<script setup>
|
|
13
|
+
import { computed } from 'vue'
|
|
14
|
+
|
|
15
|
+
const props = defineProps({
|
|
16
|
+
date: {
|
|
17
|
+
type: [Date, String],
|
|
18
|
+
default: new Date(),
|
|
20
19
|
},
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
}
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
const getMonthAndDayFromDate = computed(() => {
|
|
23
|
+
const options = { month: 'short', day: '2-digit' }
|
|
24
|
+
return new Date(props.date)?.toLocaleString('default', options).replace('.', '')
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
const getYearFromDate = computed(() => {
|
|
28
|
+
return new Date(props.date)?.toLocaleString('default', { year: 'numeric' })
|
|
29
|
+
})
|
|
31
30
|
</script>
|
|
@@ -1,51 +1,49 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
class="psui-el-mini-tag"
|
|
4
|
-
:class="getComponentClass"
|
|
5
|
-
@click="
|
|
2
|
+
<div
|
|
3
|
+
class="psui-el-mini-tag"
|
|
4
|
+
:class="getComponentClass"
|
|
5
|
+
@click="emit('click', $event.target)"
|
|
6
6
|
>
|
|
7
7
|
<span>{{ message }}</span>
|
|
8
8
|
</div>
|
|
9
9
|
</template>
|
|
10
10
|
|
|
11
|
-
<script>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
default: 'info',
|
|
33
|
-
validator: (value) => typeOptions.indexOf(value) !== -1,
|
|
34
|
-
},
|
|
35
|
-
/**
|
|
36
|
-
* It sets the message that will show up within the minitag when component is rendered.
|
|
37
|
-
*/
|
|
38
|
-
message: {
|
|
39
|
-
type: String,
|
|
40
|
-
},
|
|
11
|
+
<script setup>
|
|
12
|
+
import { computed } from 'vue'
|
|
13
|
+
|
|
14
|
+
const emit = defineEmits(['click'])
|
|
15
|
+
|
|
16
|
+
const props = defineProps({
|
|
17
|
+
layout: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: 'info',
|
|
20
|
+
validator: (value) => [
|
|
21
|
+
'info',
|
|
22
|
+
'success',
|
|
23
|
+
'warning',
|
|
24
|
+
'error',
|
|
25
|
+
'default',
|
|
26
|
+
'solid-info',
|
|
27
|
+
'solid-success',
|
|
28
|
+
'solid-warning',
|
|
29
|
+
'solid-error',
|
|
30
|
+
'solid-default'
|
|
31
|
+
].indexOf(value) !== -1,
|
|
41
32
|
},
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
33
|
+
/**
|
|
34
|
+
* It sets the message that will show up within the minitag when component is rendered.
|
|
35
|
+
*/
|
|
36
|
+
message: {
|
|
37
|
+
type: String,
|
|
38
|
+
default: '',
|
|
46
39
|
},
|
|
47
|
-
}
|
|
48
|
-
</script>
|
|
40
|
+
})
|
|
49
41
|
|
|
50
|
-
|
|
42
|
+
const getComponentClass = computed(() => {
|
|
43
|
+
return `psui-el-mini-tag-layout-${props.layout}`
|
|
44
|
+
})
|
|
45
|
+
</script>
|
|
51
46
|
|
|
47
|
+
<style>
|
|
48
|
+
/* Please, use the file src/assets/scss/components/PsMiniTag.scss */
|
|
49
|
+
</style>
|