@policystudio/policy-studio-ui-vue 1.1.89 → 1.1.90-beta.2

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.
Files changed (76) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +70 -67
  3. package/.github/workflows/deploy-storybook.yml +1 -1
  4. package/.storybook/eventBus.js +25 -2
  5. package/.storybook/main.js +17 -21
  6. package/babel.config.js +17 -3
  7. package/dist/css/psui_styles.css +4028 -110346
  8. package/package.json +37 -24
  9. package/postcss.config.js +1 -1
  10. package/scripts/kill-port.sh +12 -0
  11. package/src/assets/scss/base.scss +27 -23
  12. package/src/assets/scss/components/PsAccordion.scss +1 -1
  13. package/src/assets/scss/components/PsChips.scss +3 -3
  14. package/src/assets/scss/components/PsCostEffectBar.scss +4 -4
  15. package/src/assets/scss/components/PsProgressBar.scss +4 -4
  16. package/src/assets/scss/components/PsTabHeader.scss +1 -1
  17. package/src/assets/scss/components/PsTableResults.scss +2 -63
  18. package/src/assets/scss/components/PsTestimonialCard.scss +1 -1
  19. package/src/components/accordion/PsAccordion.vue +20 -21
  20. package/src/components/accordion/PsAccordionItem.vue +30 -8
  21. package/src/components/badges-and-tags/PsBadgeWithIcon.vue +6 -3
  22. package/src/components/badges-and-tags/PsCardInfos.vue +3 -1
  23. package/src/components/badges-and-tags/PsChartLegend.vue +19 -5
  24. package/src/components/badges-and-tags/PsCostEffectBar.vue +4 -5
  25. package/src/components/badges-and-tags/PsHighlightRippleDot.vue +1 -1
  26. package/src/components/badges-and-tags/PsTestimonialCard.vue +6 -4
  27. package/src/components/buttons/PsButton.vue +30 -11
  28. package/src/components/chips/PsChips.vue +5 -2
  29. package/src/components/controls/PsCheckbox.vue +5 -2
  30. package/src/components/controls/PsCheckboxSimple.vue +4 -4
  31. package/src/components/controls/PsDraggable.vue +70 -67
  32. package/src/components/controls/PsInlineSelector.vue +13 -14
  33. package/src/components/controls/PsRadioButton.vue +10 -5
  34. package/src/components/controls/PsRadioButtonSimple.vue +3 -3
  35. package/src/components/controls/PsSlider.vue +6 -6
  36. package/src/components/controls/PsSwitch.vue +13 -3
  37. package/src/components/controls/PsToggle.vue +14 -11
  38. package/src/components/data-graphics/PsBarChart.vue +4 -2
  39. package/src/components/datatable/PsDataTable.vue +14 -5
  40. package/src/components/datatable/PsDataTableItem.vue +17 -4
  41. package/src/components/forms/PsDropdown.vue +8 -5
  42. package/src/components/forms/PsDropdownList.vue +1 -1
  43. package/src/components/forms/PsInput.vue +30 -14
  44. package/src/components/forms/PsInputSelect.vue +33 -11
  45. package/src/components/forms/PsInputTextArea.vue +15 -4
  46. package/src/components/navigations/PsBreadcrumb.vue +1 -1
  47. package/src/components/notifications/PsDialog.vue +11 -5
  48. package/src/components/notifications/PsSimpleAlert.vue +22 -10
  49. package/src/components/notifications/PsToast.vue +8 -3
  50. package/src/components/playground/PsScrollBar.vue +122 -50
  51. package/src/components/table-results/PsTableResults.vue +67 -51
  52. package/src/components/table-results/PsTableResultsBody.vue +3 -1
  53. package/src/components/table-results/PsTableResultsHead.vue +27 -8
  54. package/src/components/table-results/PsTableResultsHeadComparison.vue +24 -8
  55. package/src/components/table-results/PsTableResultsHeadFlexible.vue +18 -6
  56. package/src/components/table-results/PsTableResultsRow.vue +6 -2
  57. package/src/components/tabs/PsTabHeader.vue +19 -16
  58. package/src/components/tooltip/PsDialogTooltip.vue +18 -8
  59. package/src/components/tooltip/PsRichTooltip.vue +12 -5
  60. package/src/components/tooltip/PsTooltip.vue +17 -9
  61. package/src/components/ui/PsDotLoader.vue +5 -5
  62. package/src/components/ui/PsIcon.vue +6 -2
  63. package/src/index.js +0 -1
  64. package/src/stories/Button.stories.js +48 -130
  65. package/src/stories/Button.vue +59 -0
  66. package/src/stories/{ElevationSystem.stories.mdx → ElevationSystem.mdx} +1 -1
  67. package/src/stories/Header.stories.js +41 -0
  68. package/src/stories/Header.vue +77 -0
  69. package/src/stories/{Introduction.stories.mdx → Introduction.mdx} +101 -101
  70. package/src/stories/{Typography.stories.mdx → Typography.mdx} +107 -105
  71. package/src/stories/button.css +30 -0
  72. package/src/stories/header.css +32 -0
  73. package/tailwind.config.js +11 -2
  74. package/webpack.config.js +22 -0
  75. package/backup-package-lock.json +0 -37194
  76. /package/src/stories/{Colors.stories.mdx → Colors.mdx} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@policystudio/policy-studio-ui-vue",
3
- "version": "1.1.89",
3
+ "version": "1.1.90-beta.2",
4
4
  "description": "Policy Studio UI",
5
5
  "main": "src/index.js",
6
6
  "author": "Policy Studio Team",
@@ -12,46 +12,59 @@
12
12
  ],
13
13
  "scripts": {
14
14
  "lint": "vue-cli-service lint",
15
- "build-storybook": "STORYBOOK_ENV=production build-storybook",
15
+ "build-storybook": "storybook build",
16
16
  "build-tailwind": "postcss src/assets/scss/base.scss -o dist/css/psui_styles.css",
17
17
  "build-temp-tailwind": "postcss src/assets/scss/base.scss -o temp/css/psui_styles.css",
18
- "full-publish": "npm run lint && npm run build-tailwind && build-storybook && npm publish",
18
+ "full-publish": "npm run lint && npm run build-tailwind && npm run build-storybook && npm publish --tag beta",
19
19
  "serve": "concurrently --kill-others \"npm run watch-storybook\" \"npm run watch-tailwind\"",
20
20
  "serve-prod": "concurrently --kill-others \"npm run watch-storybook\" \"npm run watch-prod-tailwind\"",
21
- "watch-storybook": "start-storybook -p 6006",
22
21
  "watch-prod-tailwind": "watch 'npm run build-tailwind' ./src/assets",
23
- "watch-tailwind": "watch 'npm run build-temp-tailwind' ./src/assets"
22
+ "watch-tailwind": "watch 'npm run build-temp-tailwind' ./src/assets",
23
+ "kill-port": "sh ./scripts/kill-port.sh",
24
+ "storybook": "concurrently \"npm run kill-port\" \"npm run watch-prod-tailwind\" \"storybook dev -p 6006\""
24
25
  },
25
26
  "dependencies": {
27
+ "@vue/compat": "^3.4.5",
26
28
  "core-js": "^3.6.5",
27
29
  "v-tooltip": "^2.1.3",
28
- "vue": "^2.6.11"
30
+ "vue": "^3.4.5"
29
31
  },
30
32
  "devDependencies": {
31
- "@babel/core": "^7.16.7",
32
- "@storybook/addon-actions": "^6.4.13",
33
- "@storybook/addon-essentials": "^6.4.13",
34
- "@storybook/addon-links": "^6.4.13",
35
- "@storybook/addon-postcss": "^2.0.0",
36
- "@storybook/vue": "^6.4.13",
37
- "@vue/cli-plugin-babel": "~4.5.0",
38
- "@vue/cli-plugin-eslint": "~4.5.0",
39
- "@vue/cli-service": "~4.5.0",
40
- "@vue/eslint-config-prettier": "^6.0.0",
33
+ "@babel/cli": "^7.23.4",
34
+ "@babel/core": "^7.23.7",
35
+ "@babel/eslint-parser": "^7.23.3",
36
+ "@babel/preset-env": "^7.23.7",
37
+ "@storybook/addon-essentials": "^7.6.7",
38
+ "@storybook/addon-interactions": "^7.6.7",
39
+ "@storybook/addon-links": "^7.6.7",
40
+ "@storybook/blocks": "^7.6.7",
41
+ "@storybook/test": "^7.6.7",
42
+ "@storybook/vue3": "^7.6.7",
43
+ "@storybook/vue3-webpack5": "^7.6.7",
44
+ "@vue/cli-plugin-eslint": "^5.0.8",
45
+ "@vue/cli-service": "~5.0.8",
46
+ "@vue/compiler-sfc": "^3.4.5",
47
+ "@vue/eslint-config-prettier": "^9.0.0",
41
48
  "babel-eslint": "^10.1.0",
42
- "babel-loader": "^8.2.3",
43
49
  "concurrently": "^7.0.0",
44
- "eslint": "^6.7.2",
45
- "eslint-plugin-prettier": "^3.3.1",
46
- "eslint-plugin-vue": "^6.2.2",
50
+ "eslint": "^8.56.0",
51
+ "eslint-plugin-prettier": "^5.1.2",
52
+ "eslint-plugin-storybook": "^0.6.15",
53
+ "eslint-plugin-vue": "^9.19.2",
47
54
  "postcss": "^8.3.11",
48
55
  "postcss-cli": "^9.0.2",
49
56
  "postcss-import": "^14.0.2",
50
57
  "postcss-nested": "^5.0.6",
51
- "prettier": "^2.2.1",
52
- "tailwindcss": "^1.9.6",
53
- "vue-loader": "^15.9.8",
54
- "vue-template-compiler": "^2.6.11",
58
+ "prettier": "^3.1.1",
59
+ "react": "^18.2.0",
60
+ "react-dom": "^18.2.0",
61
+ "storybook": "^7.6.7",
62
+ "tailwindcss": "^3.4.1",
63
+ "vue-eslint-parser": "^9.3.2",
64
+ "vue-loader": "^17.4.2",
55
65
  "watch": "^1.0.2"
66
+ },
67
+ "engines": {
68
+ "node": "18.19.0"
56
69
  }
57
70
  }
package/postcss.config.js CHANGED
@@ -1,7 +1,7 @@
1
1
  module.exports = {
2
2
  plugins: {
3
- 'postcss-nested': {},
4
3
  'postcss-import': {},
4
+ 'tailwindcss/nesting': {},
5
5
  tailwindcss: {},
6
6
  autoprefixer: {},
7
7
  },
@@ -0,0 +1,12 @@
1
+ #!/bin/bash
2
+
3
+ # Find the process using port 3000
4
+ PROCESS_ID=$(lsof -t -i:6006)
5
+
6
+ # Check if a process is using the port
7
+ if [ -n "$PROCESS_ID" ]; then
8
+ echo "Killing process on port 6006 (PID: $PROCESS_ID)"
9
+ kill -9 $PROCESS_ID
10
+ else
11
+ echo "Port 6006 is not in use"
12
+ fi
@@ -67,35 +67,39 @@ html {
67
67
  -webkit-font-smoothing: antialiased;
68
68
  }
69
69
 
70
- .psui-card {
71
- @apply .psui-w-full .psui-bg-white .psui-rounded-lg .psui-px-6 .psui-py-4 .psui-shadow-elevation-5;
72
70
 
73
- &-header {
74
- @apply .psui-flex .psui-items-center .psui-justify-between .psui-mb-4;
75
-
76
- h4 {
77
- @apply .psui-text-h6 .psui-font-bold .psui-text-gray-80;
71
+ @layer components {
72
+ .psui-card {
73
+ @apply .psui-w-full .psui-bg-white .psui-rounded-lg .psui-px-6 .psui-py-4 .psui-shadow-elevation-5;
74
+
75
+ &-header {
76
+ @apply .psui-flex .psui-items-center .psui-justify-between .psui-mb-4;
77
+
78
+ h4 {
79
+ @apply .psui-text-h6 .psui-font-bold .psui-text-gray-80;
80
+ }
78
81
  }
79
82
  }
80
- }
81
83
 
82
- .psui-show-childrens-on-hover {
83
- &:hover {
84
- * {
85
- opacity: 1 !important;
84
+ .psui-show-childrens-on-hover {
85
+ &:hover {
86
+ * {
87
+ opacity: 1 !important;
88
+ }
86
89
  }
87
- }
88
-
89
- &.absolute-childrens {
90
- @apply psui-relative;
91
-
92
- .helper {
93
- @apply psui-absolute psui-top-0;
94
- right: -18px;
90
+
91
+ &.absolute-childrens {
92
+ @apply psui-relative;
93
+
94
+ .helper {
95
+ @apply psui-absolute psui-top-0;
96
+ right: -18px;
97
+ }
95
98
  }
96
99
  }
100
+
101
+ .psui-transition {
102
+ @apply psui-transition-all psui-ease-in-out psui-duration-150;
103
+ }
97
104
  }
98
105
 
99
- .psui-transition {
100
- @apply psui-transition-all psui-ease-in-out psui-duration-150;
101
- }
@@ -8,7 +8,7 @@
8
8
  &.disabled {
9
9
  .psui-el-accordion-item-header {
10
10
  .psui-el-accordion-item-header-wrapper {
11
- @apply psui-text-gray-50 pointer-events-none;
11
+ @apply psui-text-gray-50 psui-pointer-events-none;
12
12
 
13
13
  }
14
14
  }
@@ -1,4 +1,4 @@
1
- @layer components{
1
+ @layer components {
2
2
 
3
3
  .psui-el-chips {
4
4
  @apply psui-inline-flex psui-relative;
@@ -126,7 +126,7 @@
126
126
 
127
127
  &,
128
128
  .psui-el-chips-close {
129
- @apply .psui-text-gray-50;
129
+ @apply psui-text-gray-50;
130
130
  }
131
131
 
132
132
  .psui-el-chips-icon-prepend {
@@ -140,7 +140,7 @@
140
140
 
141
141
  &,
142
142
  .psui-el-chips-close {
143
- @apply .psui-text-blue-60;
143
+ @apply psui-text-blue-60;
144
144
  }
145
145
 
146
146
  .psui-el-chips-icon-prepend {
@@ -1,13 +1,13 @@
1
1
  @layer components {
2
2
  .psui-el-cost-effect-bar {
3
- @apply .psui-overflow-visible;
3
+ @apply psui-overflow-visible;
4
4
 
5
5
  div {
6
- @apply .psui-relative .psui-h-2 .psui-rounded-2xl;
6
+ @apply psui-relative psui-h-2 psui-rounded-2xl;
7
7
  width: 100px;
8
8
 
9
9
  span {
10
- @apply .psui-absolute .psui-rounded-sm .psui-z-10;
10
+ @apply psui-absolute psui-rounded-sm psui-z-10;
11
11
  background-color: #d6dde5;
12
12
  width: 2px;
13
13
  height: 14px;
@@ -15,7 +15,7 @@
15
15
  }
16
16
 
17
17
  .psui-el-simple-progress-bar {
18
- @apply .psui-overflow-hidden;
18
+ @apply psui-overflow-hidden;
19
19
 
20
20
  &-percentage {
21
21
  border-radius: unset;
@@ -1,10 +1,10 @@
1
1
  @layer components {
2
2
  .psui-el-progress-bar {
3
- @apply .psui-relative .psui-h-2 .psui-rounded-full .psui-bg-red-10;
3
+ @apply psui-relative psui-h-2 psui-rounded-full psui-bg-red-10;
4
4
  width: 100px;
5
5
 
6
6
  &.is-breakeven {
7
- @apply .psui-bg-blue-20;
7
+ @apply psui-bg-blue-20;
8
8
  }
9
9
 
10
10
  &-percentage {
@@ -16,13 +16,13 @@
16
16
  }
17
17
 
18
18
  &-divider {
19
- @apply .psui-absolute .psui-rounded-full .psui-z-auto .psui-bg-gray-30;
19
+ @apply psui-absolute psui-rounded-full psui-z-auto psui-bg-gray-30;
20
20
  width: 2px; height: 14px;
21
21
  top: -3px;
22
22
  }
23
23
 
24
24
  &-value {
25
- @apply .psui-h-2 .psui-rounded-tl-full .psui-rounded-bl-full;
25
+ @apply psui-h-2 psui-rounded-tl-full psui-rounded-bl-full;
26
26
  }
27
27
 
28
28
  @keyframes animate-stripes {
@@ -6,7 +6,7 @@
6
6
  button {
7
7
  @apply transition-default psui-text-small;
8
8
  &.status-disabled {
9
- @apply cursor-not-allowed;
9
+ @apply psui-cursor-not-allowed;
10
10
  }
11
11
 
12
12
  &:focus {
@@ -1,9 +1,9 @@
1
1
  @layer components{
2
2
  .psui-el-table-results-wrapper {
3
- @apply psui-w-full psui-whitespace-no-wrap psui-flex psui-overflow-auto;
3
+ @apply psui-w-full psui-whitespace-nowrap psui-flex psui-overflow-auto;
4
4
 
5
5
  &.table-flexible {
6
- @apply psui-pr-4 psui-pb-2;
6
+ @apply psui-pr-4;
7
7
  }
8
8
  }
9
9
 
@@ -481,20 +481,6 @@
481
481
  }
482
482
  }
483
483
 
484
- &.combined_measure_margin_aux {
485
-
486
- td {
487
- content: '' !important;
488
- background-color: white !important;
489
- max-height: 10px;
490
- visibility: hidden;
491
-
492
- &:nth-child(3) {
493
- visibility: visible;
494
- }
495
-
496
- }
497
- }
498
484
 
499
485
  &.is-disabled {
500
486
  td {
@@ -506,53 +492,6 @@
506
492
  }
507
493
  }
508
494
 
509
- &.visible {
510
- display: none
511
- }
512
-
513
- &.appended-row {
514
- @apply psui-bg-blue-10 psui-border psui-rounded-md;
515
- height: 36px;
516
-
517
- td {
518
- @apply psui-bg-gray-10 psui-text-gray-70;
519
- transition: background-color 0.5s ease;
520
-
521
- .title {
522
- margin-left: 6px;
523
- }
524
-
525
- &:first-child {
526
- @apply psui-sticky;
527
- min-width: 330px;
528
-
529
- &:after,&:before {
530
- content: '';
531
- @apply psui-absolute psui-top-0;
532
- }
533
-
534
- &:before {
535
- @apply psui-bg-gray-10 psui-rounded-bl-full ;
536
- box-shadow: -3px 3px 0px 0px #ffffff;
537
- z-index: 30;
538
- top: 25px;
539
- left: 0;
540
- width: 10px;
541
- height: 10px;
542
- }
543
-
544
- &:after {
545
- @apply psui-bg-gray-10 psui-rounded-tl-full ;
546
- box-shadow: -3px -3px 0px 0px #ffffff;
547
- z-index: 30;
548
- top: 0;
549
- left: 0;
550
- width: 10px;
551
- height: 10px;
552
- }
553
- }
554
- }
555
- }
556
495
 
557
496
  td {
558
497
  @apply psui-text-gray-70 psui-h-10 psui-text-right psui-text-small;
@@ -1,6 +1,6 @@
1
1
  @layer components {
2
2
  .psui-el-testimonial {
3
- @apply psui-relative psui-bg-white psui-shadow-elevation-5 psui-flex psui-flex-col psui-rounded-lg w-full;
3
+ @apply psui-relative psui-bg-white psui-shadow-elevation-5 psui-flex psui-flex-col psui-rounded-lg psui-w-full;
4
4
  padding: 56px 42px 40px 32px;
5
5
 
6
6
  &-icon {
@@ -1,28 +1,27 @@
1
1
  <template>
2
- <div class="psui-el-accordion" :class="getComponentClass">
3
- <slot></slot>
2
+ <div
3
+ class="psui-el-accordion"
4
+ :class="getComponentClass"
5
+ >
6
+ <slot />
4
7
  </div>
5
8
  </template>
6
9
 
7
- <script>
8
- export const layouts = ['big', 'medium']
9
- export default {
10
- name: 'PsAccordion',
11
- props: {
12
- /**
13
- * It defines the size of the accordion items. eg: text size and font.
14
- */
15
- layout: {
16
- type: String,
17
- default: 'medium',
18
- validator: (value) => ['medium','big'].includes(value),
19
- },
10
+ <script setup>
11
+ import { computed } from 'vue'
12
+
13
+ const props = defineProps({
14
+ layout:{
15
+ type: String,
16
+ default: 'medium',
17
+ validator: (value) => ['big', 'medium'].includes(value)
20
18
  },
21
- computed: {
22
- getComponentClass() {
23
- return `layout-${this.layout}`
24
- }
25
- }
26
- }
19
+ })
20
+
21
+ const getComponentClass = computed(() => {
22
+ return `layout-${props.layout}`
23
+ })
24
+
27
25
  </script>
26
+
28
27
  <style> /* Please, use the file src/assets/scss/components/PsAccordion.scss */</style>
@@ -1,11 +1,30 @@
1
1
  <template>
2
- <div class="psui-el-accordion-item" :class="{'status-opened':isOpen, 'disabled':disabled}">
2
+ <div
3
+ class="psui-el-accordion-item"
4
+ :class="{'status-opened':isOpen, 'disabled':disabled}"
5
+ >
3
6
  <div class="psui-el-accordion-item-header">
4
- <slot name='custom-header' :toggle="toggle" :isOpen="isOpen">
5
- <div @click="toggle" class="psui-el-accordion-item-header-wrapper" v-if="!hasCustomHeader">
6
- <h2 v-if="title" class="psui-el-accordion-item-title">{{ title }}</h2>
7
- <slot name='header-additionals'></slot>
8
- <i v-if="!disabled" class="psui-el-accordion-item-icon">{{ getIcon }}</i>
7
+ <slot
8
+ name="custom-header"
9
+ :toggle="toggle"
10
+ :is-open="isOpen"
11
+ >
12
+ <div
13
+ @click="toggle"
14
+ class="psui-el-accordion-item-header-wrapper"
15
+ v-if="!hasCustomHeader"
16
+ >
17
+ <h2
18
+ v-if="title"
19
+ class="psui-el-accordion-item-title"
20
+ >
21
+ {{ title }}
22
+ </h2>
23
+ <slot name="header-additionals" />
24
+ <i
25
+ v-if="!disabled"
26
+ class="psui-el-accordion-item-icon"
27
+ >{{ getIcon }}</i>
9
28
  </div>
10
29
  </slot>
11
30
  </div>
@@ -16,8 +35,11 @@
16
35
  @before-leave="start"
17
36
  @after-leave="end"
18
37
  >
19
- <div v-if="isOpen" class="psui-el-accordion-item-content">
20
- <slot></slot>
38
+ <div
39
+ v-if="isOpen"
40
+ class="psui-el-accordion-item-content"
41
+ >
42
+ <slot />
21
43
  </div>
22
44
  </transition>
23
45
  </div>
@@ -1,11 +1,14 @@
1
1
  <template>
2
- <div class="psui-el-badge-with-icon" :class="getComponentClass">
2
+ <div
3
+ class="psui-el-badge-with-icon"
4
+ :class="getComponentClass"
5
+ >
3
6
  <i
4
7
  v-if="icon"
5
8
  :class="iconClass"
6
9
  class="psui-el-badge-with-icon-icon"
7
- >{{icon}}</i>
8
- <span class="psui-el-badge-with-icon-message">{{message}}</span>
10
+ >{{ icon }}</i>
11
+ <span class="psui-el-badge-with-icon-message">{{ message }}</span>
9
12
  </div>
10
13
  </template>
11
14
 
@@ -8,7 +8,9 @@
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">{{ total }}</h5>
11
+ <h5 class="psui-text-gray-80">
12
+ {{ total }}
13
+ </h5>
12
14
  </div>
13
15
  </div>
14
16
  </template>
@@ -1,14 +1,28 @@
1
1
  <template>
2
2
  <div class="psui-el-chart-legend">
3
3
  <div class="psui-flex psui-flex-shrink-0">
4
- <div class="psui-el-chart-legend-dot" :style="dotColor"/>
4
+ <div
5
+ class="psui-el-chart-legend-dot"
6
+ :style="dotColor"
7
+ />
5
8
  </div>
6
9
  <div class="psui-flex-grow-1 flex psui-flex-col">
7
- <div class="psui-el-chart-legend-text">{{ text }}</div>
10
+ <div class="psui-el-chart-legend-text">
11
+ {{ text }}
12
+ </div>
8
13
  <div class="flex psui-items-center psui-flex-shrink-0 psui-gap-1">
9
- <span v-if="this.total" class="psui-el-chart-legend-total">{{ total }}</span>
10
- <span class="psui-text-gray-30" v-if="total && percentage"> | </span>
11
- <span class="psui-el-chart-legend-percentage" v-if="percentage">
14
+ <span
15
+ v-if="this.total"
16
+ class="psui-el-chart-legend-total"
17
+ >{{ total }}</span>
18
+ <span
19
+ class="psui-text-gray-30"
20
+ v-if="total && percentage"
21
+ > | </span>
22
+ <span
23
+ class="psui-el-chart-legend-percentage"
24
+ v-if="percentage"
25
+ >
12
26
  {{ percentage }}%
13
27
  </span>
14
28
  </div>
@@ -1,14 +1,13 @@
1
1
  <template>
2
2
  <div class="psui-el-cost-effect-bar">
3
3
  <div>
4
- <span :style="breakEvenPosition"> </span>
4
+ <span :style="breakEvenPosition" />
5
5
 
6
6
  <PsProgressBar
7
7
  :value="value"
8
- :percentageColor="percentageColor"
9
- :bgColor="bgColor"
10
- >
11
- </PsProgressBar>
8
+ :percentage-color="percentageColor"
9
+ :bg-color="bgColor"
10
+ />
12
11
  </div>
13
12
  </div>
14
13
  </template>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="psui-el-highlight-ripple-icon">
3
- <div class="psui-el-icon"></div>
3
+ <div class="psui-el-icon" />
4
4
  </div>
5
5
  </template>
6
6
 
@@ -8,11 +8,13 @@
8
8
  display="flex"
9
9
  />
10
10
  </div>
11
- <p class="psui-el-testimonial-description">{{description}}</p>
11
+ <p class="psui-el-testimonial-description">
12
+ {{ description }}
13
+ </p>
12
14
  <div class="psui-el-testimonial-info">
13
- <span class="psui-el-testimonial-info-user" >{{user}}</span>
14
- <span class="psui-el-testimonial-info-position">{{position}}</span>
15
- <span class="psui-el-testimonial-info-jurisdiction">{{jurisdiction}}</span>
15
+ <span class="psui-el-testimonial-info-user">{{ user }}</span>
16
+ <span class="psui-el-testimonial-info-position">{{ position }}</span>
17
+ <span class="psui-el-testimonial-info-jurisdiction">{{ jurisdiction }}</span>
16
18
  </div>
17
19
  </div>
18
20
  </template>
@@ -1,19 +1,38 @@
1
1
  <template>
2
2
  <button
3
- @click="onClick()"
4
- @mouseenter="onMouseEnter"
5
- @mouseleave="onMouseLeave"
6
- class='psui-el-button'
7
- :class="[getComponentClass, {'hover': isHover}, {'disabled': disabled || loading }]"
8
- >
9
- <svg v-if="loading"
3
+ @click="onClick()"
4
+ @mouseenter="onMouseEnter"
5
+ @mouseleave="onMouseLeave"
6
+ class="psui-el-button"
7
+ :class="[getComponentClass, {'hover': isHover}, {'disabled': disabled || loading }]"
8
+ >
9
+ <svg
10
+ v-if="loading"
10
11
  class="psui-animate-spin psui-mr-3 psui-h-5 psui-w-5 psui-text-black"
11
12
  :class="`${iconPosition == 'left' ? 'psui-mr-3' : 'psui-ml-3 psui--mr-1'}`"
12
- xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
13
- <circle class="psui-opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
14
- <path class="psui-opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ fill="none"
15
+ viewBox="0 0 24 24"
16
+ >
17
+ <circle
18
+ class="psui-opacity-25"
19
+ cx="12"
20
+ cy="12"
21
+ r="10"
22
+ stroke="currentColor"
23
+ stroke-width="4"
24
+ />
25
+ <path
26
+ class="psui-opacity-75"
27
+ fill="currentColor"
28
+ d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
29
+ />
15
30
  </svg>
16
- <i v-else-if="icon" :class='iconClass' class='material-icons-round'>{{icon}}</i>
31
+ <i
32
+ v-else-if="icon"
33
+ :class="iconClass"
34
+ class="material-icons-round"
35
+ >{{ icon }}</i>
17
36
  <span v-if="label">{{ label }}</span>
18
37
  </button>
19
38
  </template>
@@ -10,13 +10,16 @@
10
10
  :type="type"
11
11
  :id="getInputId"
12
12
  :checked="checked"
13
- />
13
+ >
14
14
  <label
15
15
  :disabled="disabled"
16
16
  :for="getInputId"
17
17
  :class="{'checked':checked && type === 'button'}"
18
18
  >
19
- <i v-if="icon" class="psui-el-chips-icon psui-el-chips-icon-prepend">{{ icon }}</i>
19
+ <i
20
+ v-if="icon"
21
+ class="psui-el-chips-icon psui-el-chips-icon-prepend"
22
+ >{{ icon }}</i>
20
23
  {{ label }}
21
24
  <button
22
25
  @click="onClose"