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

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 (134) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +74 -67
  3. package/.github/workflows/deploy-storybook.yml +1 -1
  4. package/.storybook/PolicyStudio.ts +11 -0
  5. package/.storybook/eventBus.ts +26 -0
  6. package/.storybook/main.ts +21 -0
  7. package/.storybook/manager.ts +7 -0
  8. package/dist/css/psui_styles.css +4028 -110346
  9. package/package.json +50 -34
  10. package/postcss.config.js +1 -1
  11. package/scripts/kill-port.sh +12 -0
  12. package/src/App.vue +30 -0
  13. package/src/assets/scss/base.scss +27 -23
  14. package/src/assets/scss/components/PsAccordion.scss +1 -1
  15. package/src/assets/scss/components/PsChips.scss +3 -3
  16. package/src/assets/scss/components/PsCostEffectBar.scss +4 -4
  17. package/src/assets/scss/components/PsProgressBar.scss +4 -4
  18. package/src/assets/scss/components/PsTabHeader.scss +1 -1
  19. package/src/assets/scss/components/PsTableResults.scss +2 -63
  20. package/src/assets/scss/components/PsTestimonialCard.scss +1 -1
  21. package/src/components/accordion/PsAccordion.vue +20 -21
  22. package/src/components/accordion/PsAccordionItem.vue +30 -8
  23. package/src/components/badges-and-tags/PsBadgeWithIcon.vue +8 -4
  24. package/src/components/badges-and-tags/PsCardInfos.vue +3 -1
  25. package/src/components/badges-and-tags/PsChartLegend.vue +19 -5
  26. package/src/components/badges-and-tags/PsCostEffectBar.vue +4 -5
  27. package/src/components/badges-and-tags/PsHighlightRippleDot.vue +1 -1
  28. package/src/components/badges-and-tags/PsProgressBar.vue +1 -1
  29. package/src/components/badges-and-tags/PsTestimonialCard.vue +6 -4
  30. package/src/components/buttons/PsButton.vue +85 -88
  31. package/src/components/chips/PsChips.vue +5 -2
  32. package/src/components/controls/PsCheckbox.vue +5 -2
  33. package/src/components/controls/PsCheckboxSimple.vue +4 -4
  34. package/src/components/controls/PsDraggable.vue +70 -67
  35. package/src/components/controls/PsInlineSelector.vue +13 -14
  36. package/src/components/controls/PsRadioButton.vue +10 -5
  37. package/src/components/controls/PsRadioButtonSimple.vue +3 -3
  38. package/src/components/controls/PsSlider.vue +6 -6
  39. package/src/components/controls/PsSwitch.vue +13 -3
  40. package/src/components/controls/PsToggle.vue +14 -11
  41. package/src/components/data-graphics/PsBarChart.vue +4 -2
  42. package/src/components/datatable/PsDataTable.vue +14 -5
  43. package/src/components/datatable/PsDataTableItem.vue +17 -4
  44. package/src/components/forms/PsDropdown.vue +8 -5
  45. package/src/components/forms/PsDropdownList.vue +1 -1
  46. package/src/components/forms/PsInput.vue +30 -14
  47. package/src/components/forms/PsInputSelect.vue +33 -11
  48. package/src/components/forms/PsInputTextArea.vue +15 -4
  49. package/src/components/navigations/PsBreadcrumb.vue +1 -1
  50. package/src/components/notifications/PsDialog.vue +11 -5
  51. package/src/components/notifications/PsSimpleAlert.vue +22 -10
  52. package/src/components/notifications/PsToast.vue +8 -3
  53. package/src/components/playground/PsScrollBar.vue +122 -50
  54. package/src/components/table-results/PsTableResults.vue +67 -51
  55. package/src/components/table-results/PsTableResultsBody.vue +3 -1
  56. package/src/components/table-results/PsTableResultsHead.vue +27 -8
  57. package/src/components/table-results/PsTableResultsHeadComparison.vue +24 -8
  58. package/src/components/table-results/PsTableResultsHeadFlexible.vue +18 -6
  59. package/src/components/table-results/PsTableResultsRow.vue +6 -2
  60. package/src/components/tabs/PsTabHeader.vue +19 -16
  61. package/src/components/tooltip/PsDialogTooltip.vue +18 -8
  62. package/src/components/tooltip/PsRichTooltip.vue +12 -5
  63. package/src/components/tooltip/PsTooltip.vue +17 -9
  64. package/src/components/ui/PsDotLoader.vue +5 -5
  65. package/src/components/ui/PsIcon.vue +6 -2
  66. package/src/{index.js → index.ts} +4 -5
  67. package/src/shims-vue.d.ts +11 -0
  68. package/src/stories/{Accordion.stories.js → Accordion.stories.ts} +2 -2
  69. package/src/stories/{BadgeWithIcon.stories.js → BadgeWithIcon.stories.ts} +1 -1
  70. package/src/stories/{BarChart.stories.js → BarChart.stories.ts} +1 -1
  71. package/src/stories/{Breadcrumb.stories.js → Breadcrumb.stories.ts} +1 -4
  72. package/src/stories/Button.stories.ts +48 -0
  73. package/src/stories/Button.vue +59 -0
  74. package/src/stories/{CardInfos.stories.js → CardInfos.stories.ts} +1 -2
  75. package/src/stories/{ChartLegend.stories.js → ChartLegend.stories.ts} +1 -2
  76. package/src/stories/{Checkbox.stories.js → Checkbox.stories.ts} +1 -1
  77. package/src/stories/{CheckboxSimple.stories.js → CheckboxSimple.stories.ts} +1 -1
  78. package/src/stories/{Chips.stories.js → Chips.stories.ts} +24 -22
  79. package/src/stories/ClimateZoneBadge.stories.ts +28 -0
  80. package/src/stories/CostEffectBar.stories.ts +26 -0
  81. package/src/stories/{Datatable.stories.js → Datatable.stories.ts} +5 -2
  82. package/src/stories/{DateCardInfo.stories.js → DateCardInfo.stories.ts} +1 -5
  83. package/src/stories/{Dialog.stories.js → Dialog.stories.ts} +1 -1
  84. package/src/stories/Draggable.stories.ts +32 -0
  85. package/src/stories/{Dropdown.stories.js → Dropdown.stories.ts} +1 -11
  86. package/src/stories/{DropdownList.stories.js → DropdownList.stories.ts} +3 -1
  87. package/src/stories/{ElevationSystem.stories.mdx → ElevationSystem.mdx} +1 -1
  88. package/src/stories/Header.stories.ts +42 -0
  89. package/src/stories/Header.vue +77 -0
  90. package/src/stories/{HighlightRippleDot.stories.js → HighlightRippleDot.stories.ts} +2 -1
  91. package/src/stories/{Icon.stories.js → Icon.stories.ts} +2 -1
  92. package/src/stories/{InlineSelector.stories.js → InlineSelector.stories.ts} +1 -1
  93. package/src/stories/{Input.stories.js → Input.stories.ts} +6 -2
  94. package/src/stories/{InputSelect.stories.js → InputSelect.stories.ts} +2 -1
  95. package/src/stories/{InputTextArea.stories.js → InputTextArea.stories.ts} +1 -1
  96. package/src/stories/{Introduction.stories.mdx → Introduction.mdx} +101 -101
  97. package/src/stories/{MiniTag.stories.js → MiniTag.stories.ts} +8 -1
  98. package/src/stories/{Playground.stories.js → Playground.stories.ts} +1 -1
  99. package/src/stories/{ProgressBar.stories.js → ProgressBar.stories.ts} +2 -1
  100. package/src/stories/{RadioButton.stories.js → RadioButton.stories.ts} +1 -0
  101. package/src/stories/{RadioButtonSimple.stories.js → RadioButtonSimple.stories.ts} +1 -1
  102. package/src/stories/{SimpleAlert.stories.js → SimpleAlert.stories.ts} +2 -1
  103. package/src/stories/{Slider.stories.js → Slider.stories.ts} +5 -1
  104. package/src/stories/{Switch.stories.js → Switch.stories.ts} +1 -1
  105. package/src/stories/{TabHeader.stories.js → TabHeader.stories.ts} +4 -0
  106. package/src/stories/{TableResults.stories.js → TableResults.stories.ts} +5 -1
  107. package/src/stories/{TagScope.stories.js → TagScope.stories.ts} +1 -1
  108. package/src/stories/{TestimonialCard.stories.js → TestimonialCard.stories.ts} +2 -2
  109. package/src/stories/{Toast.stories.js → Toast.stories.ts} +1 -1
  110. package/src/stories/{Toggle.stories.js → Toggle.stories.ts} +6 -3
  111. package/src/stories/{Tooltip.stories.js → Tooltip.stories.ts} +3 -3
  112. package/src/stories/{Typography.stories.mdx → Typography.mdx} +107 -105
  113. package/src/stories/button.css +30 -0
  114. package/src/stories/header.css +32 -0
  115. package/src/util/{GeneralFunctions.js → GeneralFunctions.ts} +7 -7
  116. package/src/util/{imageLoader.js → imageLoader.ts} +15 -9
  117. package/tailwind.config.js +11 -2
  118. package/tsconfig.json +47 -0
  119. package/webpack.config.js +36 -0
  120. package/.storybook/PolicyStudio.js +0 -10
  121. package/.storybook/eventBus.js +0 -3
  122. package/.storybook/main.js +0 -25
  123. package/.storybook/manager.js +0 -6
  124. package/babel.config.js +0 -3
  125. package/backup-package-lock.json +0 -37194
  126. package/src/stories/Button.stories.js +0 -130
  127. package/src/stories/ClimateZoneBadge.stories.js +0 -17
  128. package/src/stories/CostEffectBar.stories.js +0 -23
  129. package/src/stories/Draggable.stories.js +0 -22
  130. /package/.storybook/{preview.js → preview.ts} +0 -0
  131. /package/src/contents/{ComparisonData.js → ComparisonData.ts} +0 -0
  132. /package/src/contents/{FlexibleData.js → FlexibleData.ts} +0 -0
  133. /package/src/contents/{ResultsData.js → ResultsData.ts} +0 -0
  134. /package/src/stories/{Colors.stories.mdx → Colors.mdx} +0 -0
@@ -1,113 +1,110 @@
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>
20
39
 
21
- <script>
22
- export default {
23
- props: {
24
- /**
25
- * It set de label of the button when component is rendered.
26
- */
40
+ <script setup lang="ts">
41
+ import { PropType, computed, ref } from 'vue'
42
+
43
+ const isHover = ref(false)
44
+
45
+ const emit = defineEmits(['click'])
46
+
47
+ const props = defineProps({
27
48
  label: {
28
49
  type: String,
50
+ default: ''
29
51
  },
30
- /**
31
- * It set the layout of the button. eg: solid, outline, ghost, onlytext and caution.
32
- */
33
- layout: {
34
- type: String,
52
+ layout:{
53
+ type: String as PropType<'solid' | 'outline' | 'ghost' | 'onlytext' | 'caution'>,
35
54
  default: 'solid',
36
- validator: (value) => ['solid','outline','ghost','onlytext','caution'].includes(value)
55
+ validator: (value:string) => ['solid','outline','ghost','onlytext','caution'].includes(value)
37
56
  },
38
- /**
39
- * It sets the text key which will retrieve a icon from Google Fonts. Make sure to get the correct description of your icon on https://fonts.google.com/.
40
- */
41
57
  icon: {
42
58
  type: String,
59
+ default: ''
43
60
  },
44
- /**
45
- * It sets the position of the icon. eg: left or right.
46
- */
47
- iconPosition:{
61
+ iconPosition: {
48
62
  type: String,
49
63
  default: 'left',
50
- validator: (value) => ['left','right'].includes(value)
64
+ validator: (value:string) => ['left','right'].includes(value)
51
65
  },
52
- /**
53
- * It sets the size of the icon. eg: small, medium and big.
54
- */
55
66
  size: {
56
- type: String,
57
- default: 'big',
58
- validator: (value) => ['small','medium','big'].includes(value)
59
- },
60
- /**
61
- * It disable the button. All mouse event are disabled.
62
- */
63
- disabled: {
64
- type: Boolean,
65
- default: false
66
- },
67
- /**
68
- * It disable and add a spin icon to the button. All mouse event are disabled.
69
- */
70
- loading: {
71
- type: Boolean,
72
- default: false
73
- },
74
- /**
75
- * It set any further css style that might be needed.
76
- */
77
- iconClass:{
78
- type: String
79
- }
80
- },
81
- data(){
82
- return {
83
- isHover: false,
84
- }
85
- },
86
- computed: {
87
- getComponentClass(){
88
- if(this.icon){
89
- return `layout-${this.layout} size-${this.size} icon-${this.iconPosition}`
90
- } else {
91
- return `layout-${this.layout} size-${this.size}`
92
- }
93
- },
94
- },
95
- methods: {
96
- onClick() {
97
- if (this.disabled) return
98
- this.$emit('click')
99
- },
100
- onMouseEnter(){
101
- if(!this.disabled){
102
- this.isHover = true
103
- }
104
- },
105
- onMouseLeave(){
106
- if(!this.disabled){
107
- this.isHover = false
108
- }
67
+ type: String,
68
+ default: 'big',
69
+ validator: (value:string) => ['small','medium','big'].includes(value)
70
+ },
71
+ disabled: {
72
+ type: Boolean,
73
+ default: false
74
+ },
75
+ loading: {
76
+ type: Boolean,
77
+ default: false
78
+ },
79
+ iconClass:{
80
+ type: String,
81
+ default: ''
82
+ }
83
+ })
84
+
85
+ const getComponentClass = computed(()=>{
86
+ if(props.icon){
87
+ return `layout-${props.layout} size-${props.size} icon-${props.iconPosition}`
88
+ } else {
89
+ return `layout-${props.layout} size-${props.size}`
90
+ }
91
+ })
92
+
93
+ const onClick = () => {
94
+ if (props.disabled) return
95
+ emit('click')
96
+ }
97
+ const onMouseEnter = () => {
98
+ if(!props.disabled){
99
+ isHover.value = true
100
+ }
101
+ }
102
+
103
+ const onMouseLeave = () => {
104
+ if(!props.disabled){
105
+ isHover.value = false
109
106
  }
110
107
  }
111
- }
108
+
112
109
  </script>
113
110
 
@@ -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"
@@ -1,12 +1,15 @@
1
1
  <template>
2
- <div class='psui-el-checkbox' :class="[getComponentClass, {'disabled':disabled}]" >
2
+ <div
3
+ class="psui-el-checkbox"
4
+ :class="[getComponentClass, {'disabled':disabled}]"
5
+ >
3
6
  <input
4
7
  :id="getInputId"
5
8
  type="checkbox"
6
9
  :value="inputValue"
7
10
  v-model="model"
8
11
  :disabled="disabled"
9
- />
12
+ >
10
13
  <label
11
14
  :for="getInputId"
12
15
  class="psui-el-checkmark"
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  v-if="withPrevent"
4
- class='psui-el-checkbox'
4
+ class="psui-el-checkbox"
5
5
  :class="[getComponentClass, {'disabled':disabled}]"
6
6
  v-bind="getComponentAttrs"
7
7
  @click.prevent="$emit('click', $event)"
@@ -14,7 +14,7 @@
14
14
  :id="getInputId"
15
15
  v-bind="inputAttrs"
16
16
  @change="$emit('change', $event)"
17
- />
17
+ >
18
18
  <label
19
19
  :for="getInputId"
20
20
  class="psui-el-checkmark"
@@ -26,7 +26,7 @@
26
26
  </div>
27
27
  <div
28
28
  v-else
29
- class='psui-el-checkbox'
29
+ class="psui-el-checkbox"
30
30
  :class="[getComponentClass, {'disabled':disabled}]"
31
31
  v-bind="getComponentAttrs"
32
32
  >
@@ -38,7 +38,7 @@
38
38
  :id="getInputId"
39
39
  v-bind="inputAttrs"
40
40
  @change="$emit('change', $event)"
41
- />
41
+ >
42
42
  <label
43
43
  :for="getInputId"
44
44
  class="psui-el-checkmark"
@@ -1,86 +1,89 @@
1
1
  <template>
2
2
  <div class="psui-el-draggable">
3
- <div class="psui-el-draggable-wrapper"
3
+ <div
4
+ class="psui-el-draggable-wrapper"
4
5
  v-for="(columnGroup, indexColumnGroup) in getColumns.columnGroups"
5
6
  :key="indexColumnGroup"
6
7
  :ref="indexColumnGroup"
7
8
  :id="`edit-group-${indexColumnGroup}`"
8
9
  >
9
- <PsTooltip
10
- position="top"
11
- :ignoreDialog="!columnGroup.disabled"
12
- class="w-full"
13
- >
14
- <template v-slot:trigger>
15
- <div
16
- class="psui-el-draggable-wrapper-title"
17
- :class="{'psui-opacity-50 psui-pointer-events-none':columnGroup.disabled}"
18
- draggable="true"
19
- @dragstart="$emit('drag-start-group', indexColumnGroup)"
20
- @dragend="$emit('drag-end-group', indexColumnGroup)"
21
- @dragover="$emit('drag-over-group', indexColumnGroup)"
22
- >
23
- <span class="flex psui-items-center">
24
- <p>{{ columnGroup.title }}</p>
25
- <PsIcon
26
- class="psui-el-draggable-wrapper-title-icon"
27
- v-if="columnGroup.hasHelper && columnGroup.hasHelper.showOnEditHideColumns"
28
- icon="info"
29
- size="16"
30
- :icon-classes="columnGroup.disabled ? 'psui-ml-2 psui-text-gray-50':'psui-ml-2 psui-text-blue-50 psui-cursor-pointer'"
31
- @click.native="$emit('column-group-helper', columnGroup.hasHelper)"
32
- />
33
- </span>
34
- <i class="material-icons-round">drag_indicator</i>
35
- </div>
36
-
37
- <div
38
- class="psui-el-draggable-wrapper-list"
39
- :class="{'psui-opacity-50 psui-pointer-events-none':columnGroup.disabled}"
10
+ <PsTooltip
11
+ position="top"
12
+ :ignore-dialog="!columnGroup.disabled"
13
+ class="w-full"
40
14
  >
41
- <div
42
- v-for="(column, indexColumn) in columnGroup.columns"
43
- :key="`edit-columns-column-${indexColumnGroup}-${indexColumn}`"
44
- :id="`edit-columns-column-${indexColumnGroup}-${indexColumn}`"
45
- class="psui-el-draggable-item"
46
- draggable="true"
47
- @dragstart="$emit('drag-start-item', { indexColumnGroup, indexColumn }, $event)"
48
- @dragover="$emit('drag-over-item', { indexColumnGroup, indexColumn }, $event)"
49
- @dragend="$emit('drag-end-item', $event)"
50
- v-tooltip="column.tooltip || undefined"
51
- >
52
- <div
53
- class="psui-w-full psui-flex psui-items-center"
15
+ <template #trigger>
16
+ <div
17
+ class="psui-el-draggable-wrapper-title"
18
+ :class="{'psui-opacity-50 psui-pointer-events-none':columnGroup.disabled}"
19
+ draggable="true"
20
+ @dragstart="$emit('drag-start-group', indexColumnGroup)"
21
+ @dragend="$emit('drag-end-group', indexColumnGroup)"
22
+ @dragover="$emit('drag-over-group', indexColumnGroup)"
54
23
  >
55
- <span class="psui-el-draggable-item-title psui-flex psui-flex-row psui-items-center">
56
- <PsCheckboxSimple
57
- size="small"
58
- :label="column.title"
59
- :class="{'active' : column.isActive}"
60
- :checked="column.isActive"
61
- :disabled="column.isDisabled"
62
- class="psui-el-draggable-item-checkbox"
63
- @change="$emit('on-select-item', { studyKey: getColumns.key, indexColumnGroup, indexColumn, columnGroupKey: columnGroup.key })"
64
- />
24
+ <span class="flex psui-items-center">
25
+ <p>{{ columnGroup.title }}</p>
65
26
  <PsIcon
66
- class="psui-el-draggable-item-title-icon"
67
- v-if="column.hasHelper && column.hasHelper.showOnEditHideColumns"
27
+ class="psui-el-draggable-wrapper-title-icon"
28
+ v-if="columnGroup.hasHelper && columnGroup.hasHelper.showOnEditHideColumns"
68
29
  icon="info"
69
30
  size="16"
70
31
  :icon-classes="columnGroup.disabled ? 'psui-ml-2 psui-text-gray-50':'psui-ml-2 psui-text-blue-50 psui-cursor-pointer'"
71
- @click.native="$emit('column-helper', column.hasHelper)"
32
+ @click="$emit('column-group-helper', columnGroup.hasHelper)"
72
33
  />
73
34
  </span>
74
- <span class="psui-el-draggable-item-append">
75
- <i class="psui-icon">drag_indicator</i>
76
- </span>
35
+ <i class="material-icons-round">drag_indicator</i>
77
36
  </div>
78
- </div>
79
- </div>
80
- </template>
81
- <template v-slot:content class="!psui-opacity-0">
82
- {{columnGroup.disabledTitle}}
83
- </template>
37
+
38
+ <div
39
+ class="psui-el-draggable-wrapper-list"
40
+ :class="{'psui-opacity-50 psui-pointer-events-none':columnGroup.disabled}"
41
+ >
42
+ <div
43
+ v-for="(column, indexColumn) in columnGroup.columns"
44
+ :key="`edit-columns-column-${indexColumnGroup}-${indexColumn}`"
45
+ :id="`edit-columns-column-${indexColumnGroup}-${indexColumn}`"
46
+ class="psui-el-draggable-item"
47
+ draggable="true"
48
+ @dragstart="$emit('drag-start-item', { indexColumnGroup, indexColumn }, $event)"
49
+ @dragover="$emit('drag-over-item', { indexColumnGroup, indexColumn }, $event)"
50
+ @dragend="$emit('drag-end-item', $event)"
51
+ v-tooltip="column.tooltip || undefined"
52
+ >
53
+ <div
54
+ class="psui-w-full psui-flex psui-items-center"
55
+ >
56
+ <span class="psui-el-draggable-item-title psui-flex psui-flex-row psui-items-center">
57
+ <PsCheckboxSimple
58
+ size="small"
59
+ :label="column.title"
60
+ :class="{'active' : column.isActive}"
61
+ :checked="column.isActive"
62
+ :disabled="column.isDisabled"
63
+ class="psui-el-draggable-item-checkbox"
64
+ @change="$emit('on-select-item', { studyKey: getColumns.key, indexColumnGroup, indexColumn, columnGroupKey: columnGroup.key })"
65
+ />
66
+ <PsIcon
67
+ class="psui-el-draggable-item-title-icon"
68
+ v-if="column.hasHelper && column.hasHelper.showOnEditHideColumns"
69
+ icon="info"
70
+ size="16"
71
+ :icon-classes="columnGroup.disabled ? 'psui-ml-2 psui-text-gray-50':'psui-ml-2 psui-text-blue-50 psui-cursor-pointer'"
72
+ @click="$emit('column-helper', column.hasHelper)"
73
+ />
74
+ </span>
75
+ <span class="psui-el-draggable-item-append">
76
+ <i class="psui-icon">drag_indicator</i>
77
+ </span>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </template>
82
+ <template
83
+ #content
84
+ >
85
+ {{ columnGroup.disabledTitle }}
86
+ </template>
84
87
  </PsTooltip>
85
88
  </div>
86
89
  </div>
@@ -8,8 +8,7 @@
8
8
  @keydown.esc="$emit('keydown-esc',$event)"
9
9
  @mouseleave="$emit('mouse-leave',$event)"
10
10
  >
11
-
12
- <div class='psui-el-inline-selector-input-wrapper'>
11
+ <div class="psui-el-inline-selector-input-wrapper">
13
12
  <span> {{ search ? search : placeholder }} </span>
14
13
  <input
15
14
  ref="input"
@@ -22,23 +21,23 @@
22
21
  autocorrect="off"
23
22
  autocapitalize="off"
24
23
  spellcheck="false"
25
- />
24
+ >
26
25
  </div>
27
26
  <transition
28
- enter-active-class="transition ease-out duration-100 transform"
29
- enter-class="opacity-0 scale-95"
30
- enter-to-class="opacity-100 scale-100"
31
- leave-active-class="transition ease-in duration-100 transform"
32
- leave-class="opacity-100 scale-100"
33
- leave-to-class="opacity-0 scale-95"
34
- >
27
+ enter-active-class="transition ease-out duration-100 transform"
28
+ enter-class="opacity-0 scale-95"
29
+ enter-to-class="opacity-100 scale-100"
30
+ leave-active-class="transition ease-in duration-100 transform"
31
+ leave-class="opacity-100 scale-100"
32
+ leave-to-class="opacity-0 scale-95"
33
+ >
35
34
  <div
36
35
  v-if="search"
37
36
  role="menu"
38
37
  aria-orientation="vertical"
39
38
  class="psui-el-inline-selector-dropdown-wrapper"
40
39
  >
41
- <slot name='loader'></slot>
40
+ <slot name="loader" />
42
41
  <div class="psui-el-inline-selector-dropdown">
43
42
  <div v-if="requestFetched && !jurisdictions.length">
44
43
  <h3>Hmmmm</h3>
@@ -53,9 +52,9 @@
53
52
  @click="$emit('click', $event)"
54
53
  @mouseover="('mouse-over', $event)"
55
54
  >
56
- <span >
57
- <h3>{{jurisdiction.title}}</h3>
58
- <h3 >{{jurisdiction.type}}</h3>
55
+ <span>
56
+ <h3>{{ jurisdiction.title }}</h3>
57
+ <h3>{{ jurisdiction.type }}</h3>
59
58
  </span>
60
59
  </li>
61
60
  </ul>
@@ -1,15 +1,20 @@
1
1
  <template>
2
- <div class='psui-el-radio' :class="[getComponentClass, {'disabled':disabled}]" >
2
+ <div
3
+ class="psui-el-radio"
4
+ :class="[getComponentClass, {'disabled':disabled}]"
5
+ >
3
6
  <input
4
7
  :id="inputId"
5
8
  type="radio"
6
9
  :value="inputValue"
7
10
  v-model="model"
8
- :disabled='disabled'
9
- />
10
- <label :for="inputId" class="psui-el-checkmark"><span>{{ label }}</span></label>
11
+ :disabled="disabled"
12
+ >
13
+ <label
14
+ :for="inputId"
15
+ class="psui-el-checkmark"
16
+ ><span>{{ label }}</span></label>
11
17
  </div>
12
-
13
18
  </template>
14
19
 
15
20
  <script>
@@ -1,9 +1,9 @@
1
1
  <template>
2
2
  <div
3
- class='psui-el-radio'
3
+ class="psui-el-radio"
4
4
  :class="[getComponentClass, {'disabled':disabled}]"
5
5
  v-bind="getComponentAttrs"
6
- >
6
+ >
7
7
  <input
8
8
  type="radio"
9
9
  :checked="checked"
@@ -13,7 +13,7 @@
13
13
  :id="getInputId"
14
14
  v-bind="inputAttrs"
15
15
  @change="$emit('change')"
16
- />
16
+ >
17
17
  <label
18
18
  :for="getInputId"
19
19
  class="psui-el-checkmark"
@@ -26,21 +26,21 @@
26
26
  <div
27
27
  class="slider-bar"
28
28
  :style="{ width: progressWidth }"
29
- ></div>
29
+ />
30
30
 
31
31
  <div
32
32
  v-for="(barStyle, index) in bgBarStyles"
33
33
  :key="index"
34
34
  class="slider-bar-bg"
35
35
  :style="bgBarStyles[index]"
36
- ></div>
36
+ />
37
37
 
38
38
  <div
39
39
  v-for="(bar, index) in barStyles"
40
40
  :key="index"
41
41
  class="slider-bar-dynamic"
42
42
  :style="barStyles[index]"
43
- ></div>
43
+ />
44
44
 
45
45
  <input
46
46
  ref="slider"
@@ -51,7 +51,7 @@
51
51
  class="psui-el-slider-input psui-float-left"
52
52
  v-model="sliderValue"
53
53
  @input="updateSlider($event)"
54
- />
54
+ >
55
55
  </div>
56
56
 
57
57
  <div
@@ -63,7 +63,7 @@
63
63
  :key="index"
64
64
  class="line"
65
65
  :style="{ left: `${grid}%` }"
66
- ></div>
66
+ />
67
67
 
68
68
  <span class="info info-min">{{ min }}</span>
69
69
  <span class="info info-max">{{ max }}</span>
@@ -203,7 +203,7 @@ export default {
203
203
  created() {
204
204
  window.addEventListener('resize', this.resizeHandler)
205
205
  },
206
- destroyed() {
206
+ unmounted() {
207
207
  window.removeEventListener('resize', this.resizeHandler)
208
208
  },
209
209
  mounted() {
@@ -1,7 +1,17 @@
1
1
  <template>
2
- <div class='psui-el-switch' :class="[getComponentClass, {'disabled':disabled}]" @click="change()">
3
- <input type="checkbox" :checked="value" />
4
- <label class='psui-el-switch-button' :class="[getToggleClass]" />
2
+ <div
3
+ class="psui-el-switch"
4
+ :class="[getComponentClass, {'disabled':disabled}]"
5
+ @click="change()"
6
+ >
7
+ <input
8
+ type="checkbox"
9
+ :checked="value"
10
+ >
11
+ <label
12
+ class="psui-el-switch-button"
13
+ :class="[getToggleClass]"
14
+ />
5
15
  </div>
6
16
  </template>
7
17
 
@@ -1,15 +1,18 @@
1
1
  <template>
2
- <div class="psui-el-toggle" role="group">
3
- <button
4
- type="button"
5
- v-for="(item, index) in items"
6
- :key="getKeyValue(item) + index"
7
- @click="selectOption(item)"
8
- :class="{ 'status-active': selected == item }"
9
- >
10
- {{ getKeyLabel(item) }}
11
- </button>
12
- </div>
2
+ <div
3
+ class="psui-el-toggle"
4
+ role="group"
5
+ >
6
+ <button
7
+ type="button"
8
+ v-for="(item, index) in items"
9
+ :key="getKeyValue(item) + index"
10
+ @click="selectOption(item)"
11
+ :class="{ 'status-active': selected == item }"
12
+ >
13
+ {{ getKeyLabel(item) }}
14
+ </button>
15
+ </div>
13
16
  </template>
14
17
 
15
18
  <script>
@@ -3,12 +3,14 @@
3
3
  <p
4
4
  v-if="showNumber"
5
5
  class="psui-el-bar-chart-total"
6
- >{{ total }}</p>
6
+ >
7
+ {{ total }}
8
+ </p>
7
9
 
8
10
  <div
9
11
  class="psui-el-bar-chart-bar"
10
12
  :style="{width: `${fillWidth}%`}"
11
- ></div>
13
+ />
12
14
  </div>
13
15
  </template>
14
16