@policystudio/policy-studio-ui-vue 1.1.90-beta.12 → 1.1.90-beta.18

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 (231) hide show
  1. package/.eslintrc.js +2 -1
  2. package/.github/workflows/deploy-storybook.yml +4 -4
  3. package/.nvmrc +1 -0
  4. package/dist/css/psui_styles_output.css +6986 -0
  5. package/dist/index.d.ts +50 -0
  6. package/dist/index.js +53 -63
  7. package/dist/index.js.map +1 -1
  8. package/dist/util/GeneralFunctions.d.ts +3 -0
  9. package/dist/util/GeneralFunctions.js.map +1 -1
  10. package/dist/util/directives.d.ts +1 -0
  11. package/dist/util/directives.js +22 -0
  12. package/dist/util/directives.js.map +1 -0
  13. package/dist/util/eventBus.d.ts +7 -0
  14. package/dist/util/eventBus.js +8 -0
  15. package/dist/util/eventBus.js.map +1 -0
  16. package/dist/util/imageLoader.d.ts +6 -0
  17. package/dist/util/imageLoader.js.map +1 -1
  18. package/package.json +9 -23
  19. package/src/assets/scss/components/PsDataTable.scss +1 -1
  20. package/src/components/accordion/PsAccordionItem.vue +75 -75
  21. package/src/components/badges-and-tags/PsBadgeWithIcon.vue +31 -34
  22. package/src/components/badges-and-tags/PsCardInfos.vue +40 -41
  23. package/src/components/badges-and-tags/PsChartLegend.vue +47 -51
  24. package/src/components/badges-and-tags/PsClimateZoneBadge.vue +14 -19
  25. package/src/components/badges-and-tags/PsCostEffectBar.vue +24 -56
  26. package/src/components/badges-and-tags/PsDateCardInfo.vue +17 -18
  27. package/src/components/badges-and-tags/PsHighlightRippleDot.vue +3 -2
  28. package/src/components/badges-and-tags/PsMiniTag.vue +39 -41
  29. package/src/components/badges-and-tags/PsProgressBar.vue +72 -68
  30. package/src/components/badges-and-tags/PsTagScope.vue +17 -22
  31. package/src/components/badges-and-tags/PsTestimonialCard.vue +20 -26
  32. package/src/components/buttons/PsButton.vue +61 -62
  33. package/src/components/chips/PsChips.vue +98 -101
  34. package/src/components/controls/PsCheckbox.vue +84 -84
  35. package/src/components/controls/PsCheckboxSimple.vue +95 -95
  36. package/src/components/controls/PsDraggable.vue +53 -55
  37. package/src/components/controls/PsInlineSelector.vue +99 -99
  38. package/src/components/controls/PsRadioButton.vue +59 -58
  39. package/src/components/controls/PsRadioButtonSimple.vue +79 -75
  40. package/src/components/controls/PsSlider.vue +185 -176
  41. package/src/components/controls/PsSwitch.vue +51 -52
  42. package/src/components/controls/PsToggle.vue +53 -50
  43. package/src/components/data-graphics/PsBarChart.vue +19 -21
  44. package/src/components/datatable/PsDataTable.vue +56 -60
  45. package/src/components/datatable/PsDataTableItem.vue +14 -28
  46. package/src/components/forms/PsDropdown.vue +164 -162
  47. package/src/components/forms/PsDropdownList.vue +132 -129
  48. package/src/components/forms/PsInput.vue +155 -153
  49. package/src/components/forms/PsInputSelect.vue +91 -92
  50. package/src/components/forms/PsInputTextArea.vue +71 -71
  51. package/src/components/navigations/PsBreadcrumb.vue +26 -34
  52. package/src/components/notifications/PsDialog.vue +57 -56
  53. package/src/components/notifications/PsSimpleAlert.vue +28 -29
  54. package/src/components/notifications/PsToast.vue +40 -39
  55. package/src/components/table-results/PsTableResults.vue +452 -458
  56. package/src/components/table-results/PsTableResultsBody.vue +66 -67
  57. package/src/components/table-results/PsTableResultsHead.vue +62 -56
  58. package/src/components/table-results/PsTableResultsHeadComparison.vue +62 -56
  59. package/src/components/table-results/PsTableResultsHeadFlexible.vue +63 -56
  60. package/src/components/table-results/PsTableResultsRow.vue +55 -56
  61. package/src/components/tabs/PsTabHeader.vue +106 -100
  62. package/src/components/tooltip/PsDialogTooltip.vue +96 -101
  63. package/src/components/tooltip/PsRichTooltip.vue +42 -45
  64. package/src/components/tooltip/PsTooltip.vue +111 -116
  65. package/src/components/ui/PsDotLoader.vue +1 -5
  66. package/src/components/ui/PsIcon.vue +126 -129
  67. package/src/index.ts +57 -71
  68. package/src/tsconfig.json +12 -0
  69. package/src/{shims-vue.d.ts → types/index.d.ts} +0 -5
  70. package/src/util/{GeneralFunctions.ts → GeneralFunctions.js} +0 -3
  71. package/src/util/directives.ts +24 -0
  72. package/src/util/eventBus.js +10 -0
  73. package/src/util/{imageLoader.ts → imageLoader.js} +7 -8
  74. package/tailwind.config.js +1 -1
  75. package/tsconfig.json +15 -17
  76. package/.storybook/PolicyStudio.ts +0 -11
  77. package/.storybook/eventBus.ts +0 -26
  78. package/.storybook/main.ts +0 -21
  79. package/.storybook/manager.ts +0 -7
  80. package/.storybook/preview.ts +0 -17
  81. package/dist/contents/ComparisonData.js +0 -376
  82. package/dist/contents/ComparisonData.js.map +0 -1
  83. package/dist/contents/FlexibleData.js +0 -501
  84. package/dist/contents/FlexibleData.js.map +0 -1
  85. package/dist/contents/ResultsData.js +0 -530
  86. package/dist/contents/ResultsData.js.map +0 -1
  87. package/dist/css/psui_styles.css +0 -4647
  88. package/dist/stories/Accordion.stories.js +0 -56
  89. package/dist/stories/Accordion.stories.js.map +0 -1
  90. package/dist/stories/BadgeWithIcon.stories.js +0 -28
  91. package/dist/stories/BadgeWithIcon.stories.js.map +0 -1
  92. package/dist/stories/BarChart.stories.js +0 -16
  93. package/dist/stories/BarChart.stories.js.map +0 -1
  94. package/dist/stories/Breadcrumb.stories.js +0 -21
  95. package/dist/stories/Breadcrumb.stories.js.map +0 -1
  96. package/dist/stories/Button.stories.js +0 -44
  97. package/dist/stories/Button.stories.js.map +0 -1
  98. package/dist/stories/CardInfos.stories.js +0 -13
  99. package/dist/stories/CardInfos.stories.js.map +0 -1
  100. package/dist/stories/ChartLegend.stories.js +0 -13
  101. package/dist/stories/ChartLegend.stories.js.map +0 -1
  102. package/dist/stories/Checkbox.stories.js +0 -44
  103. package/dist/stories/Checkbox.stories.js.map +0 -1
  104. package/dist/stories/CheckboxSimple.stories.js +0 -48
  105. package/dist/stories/CheckboxSimple.stories.js.map +0 -1
  106. package/dist/stories/Chips.stories.js +0 -27
  107. package/dist/stories/Chips.stories.js.map +0 -1
  108. package/dist/stories/ClimateZoneBadge.stories.js +0 -15
  109. package/dist/stories/ClimateZoneBadge.stories.js.map +0 -1
  110. package/dist/stories/CostEffectBar.stories.js +0 -21
  111. package/dist/stories/CostEffectBar.stories.js.map +0 -1
  112. package/dist/stories/Datatable.stories.js +0 -45
  113. package/dist/stories/Datatable.stories.js.map +0 -1
  114. package/dist/stories/DateCardInfo.stories.js +0 -18
  115. package/dist/stories/DateCardInfo.stories.js.map +0 -1
  116. package/dist/stories/Dialog.stories.js +0 -127
  117. package/dist/stories/Dialog.stories.js.map +0 -1
  118. package/dist/stories/Draggable.stories.js +0 -20
  119. package/dist/stories/Draggable.stories.js.map +0 -1
  120. package/dist/stories/Dropdown.stories.js +0 -98
  121. package/dist/stories/Dropdown.stories.js.map +0 -1
  122. package/dist/stories/DropdownList.stories.js +0 -208
  123. package/dist/stories/DropdownList.stories.js.map +0 -1
  124. package/dist/stories/Header.stories.js +0 -39
  125. package/dist/stories/Header.stories.js.map +0 -1
  126. package/dist/stories/HighlightRippleDot.stories.js +0 -13
  127. package/dist/stories/HighlightRippleDot.stories.js.map +0 -1
  128. package/dist/stories/Icon.stories.js +0 -19
  129. package/dist/stories/Icon.stories.js.map +0 -1
  130. package/dist/stories/InlineSelector.stories.js +0 -16
  131. package/dist/stories/InlineSelector.stories.js.map +0 -1
  132. package/dist/stories/Input.stories.js +0 -235
  133. package/dist/stories/Input.stories.js.map +0 -1
  134. package/dist/stories/InputSelect.stories.js +0 -28
  135. package/dist/stories/InputSelect.stories.js.map +0 -1
  136. package/dist/stories/InputTextArea.stories.js +0 -23
  137. package/dist/stories/InputTextArea.stories.js.map +0 -1
  138. package/dist/stories/MiniTag.stories.js +0 -44
  139. package/dist/stories/MiniTag.stories.js.map +0 -1
  140. package/dist/stories/Playground.stories.js +0 -14
  141. package/dist/stories/Playground.stories.js.map +0 -1
  142. package/dist/stories/ProgressBar.stories.js +0 -21
  143. package/dist/stories/ProgressBar.stories.js.map +0 -1
  144. package/dist/stories/RadioButton.stories.js +0 -36
  145. package/dist/stories/RadioButton.stories.js.map +0 -1
  146. package/dist/stories/RadioButtonSimple.stories.js +0 -40
  147. package/dist/stories/RadioButtonSimple.stories.js.map +0 -1
  148. package/dist/stories/SimpleAlert.stories.js +0 -19
  149. package/dist/stories/SimpleAlert.stories.js.map +0 -1
  150. package/dist/stories/Slider.stories.js +0 -70
  151. package/dist/stories/Slider.stories.js.map +0 -1
  152. package/dist/stories/Switch.stories.js +0 -35
  153. package/dist/stories/Switch.stories.js.map +0 -1
  154. package/dist/stories/TabHeader.stories.js +0 -48
  155. package/dist/stories/TabHeader.stories.js.map +0 -1
  156. package/dist/stories/TableResults.stories.js +0 -717
  157. package/dist/stories/TableResults.stories.js.map +0 -1
  158. package/dist/stories/TagScope.stories.js +0 -16
  159. package/dist/stories/TagScope.stories.js.map +0 -1
  160. package/dist/stories/TestimonialCard.stories.js +0 -24
  161. package/dist/stories/TestimonialCard.stories.js.map +0 -1
  162. package/dist/stories/Toast.stories.js +0 -51
  163. package/dist/stories/Toast.stories.js.map +0 -1
  164. package/dist/stories/Toggle.stories.js +0 -42
  165. package/dist/stories/Toggle.stories.js.map +0 -1
  166. package/dist/stories/Tooltip.stories.js +0 -108
  167. package/dist/stories/Tooltip.stories.js.map +0 -1
  168. package/postcss.config.js +0 -8
  169. package/src/assets/images/multifamily-units.svg +0 -10
  170. package/src/assets/images/policy-studio.svg +0 -15
  171. package/src/components/playground/PsScrollBar.vue +0 -320
  172. package/src/contents/ComparisonData.ts +0 -378
  173. package/src/contents/FlexibleData.ts +0 -502
  174. package/src/contents/ResultsData.ts +0 -531
  175. package/src/stories/Accordion.stories.ts +0 -59
  176. package/src/stories/BadgeWithIcon.stories.ts +0 -31
  177. package/src/stories/BarChart.stories.ts +0 -17
  178. package/src/stories/Breadcrumb.stories.ts +0 -22
  179. package/src/stories/Button.stories.ts +0 -48
  180. package/src/stories/Button.vue +0 -59
  181. package/src/stories/CardInfos.stories.ts +0 -15
  182. package/src/stories/ChartLegend.stories.ts +0 -15
  183. package/src/stories/Checkbox.stories.ts +0 -45
  184. package/src/stories/CheckboxSimple.stories.ts +0 -49
  185. package/src/stories/Chips.stories.ts +0 -33
  186. package/src/stories/ClimateZoneBadge.stories.ts +0 -18
  187. package/src/stories/Colors.mdx +0 -70
  188. package/src/stories/CostEffectBar.stories.ts +0 -24
  189. package/src/stories/Datatable.stories.ts +0 -53
  190. package/src/stories/DateCardInfo.stories.ts +0 -20
  191. package/src/stories/Dialog.stories.ts +0 -131
  192. package/src/stories/Draggable.stories.ts +0 -23
  193. package/src/stories/Dropdown.stories.ts +0 -100
  194. package/src/stories/DropdownList.stories.ts +0 -213
  195. package/src/stories/ElevationSystem.mdx +0 -41
  196. package/src/stories/Header.stories.ts +0 -42
  197. package/src/stories/Header.vue +0 -77
  198. package/src/stories/HighlightRippleDot.stories.ts +0 -16
  199. package/src/stories/Icon.stories.ts +0 -23
  200. package/src/stories/InlineSelector.stories.ts +0 -18
  201. package/src/stories/Input.stories.ts +0 -243
  202. package/src/stories/InputSelect.stories.ts +0 -31
  203. package/src/stories/InputTextArea.stories.ts +0 -25
  204. package/src/stories/Introduction.mdx +0 -211
  205. package/src/stories/MiniTag.stories.ts +0 -59
  206. package/src/stories/Playground.stories.ts +0 -16
  207. package/src/stories/ProgressBar.stories.ts +0 -24
  208. package/src/stories/RadioButton.stories.ts +0 -40
  209. package/src/stories/RadioButtonSimple.stories.ts +0 -43
  210. package/src/stories/SimpleAlert.stories.ts +0 -22
  211. package/src/stories/Slider.stories.ts +0 -79
  212. package/src/stories/Switch.stories.ts +0 -39
  213. package/src/stories/TabHeader.stories.ts +0 -57
  214. package/src/stories/TableResults.stories.ts +0 -728
  215. package/src/stories/TagScope.stories.ts +0 -17
  216. package/src/stories/TestimonialCard.stories.ts +0 -27
  217. package/src/stories/Toast.stories.ts +0 -52
  218. package/src/stories/Toggle.stories.ts +0 -48
  219. package/src/stories/Tooltip.stories.ts +0 -114
  220. package/src/stories/Typography.mdx +0 -212
  221. package/src/stories/assets/code-brackets.svg +0 -1
  222. package/src/stories/assets/colors.svg +0 -1
  223. package/src/stories/assets/comments.svg +0 -1
  224. package/src/stories/assets/direction.svg +0 -1
  225. package/src/stories/assets/flow.svg +0 -1
  226. package/src/stories/assets/plugin.svg +0 -1
  227. package/src/stories/assets/repo.svg +0 -1
  228. package/src/stories/assets/stackalt.svg +0 -1
  229. package/src/stories/button.css +0 -30
  230. package/src/stories/header.css +0 -32
  231. package/webpack.config.js +0 -36
@@ -1,100 +1,100 @@
1
1
  <template>
2
- <div
3
- class="psui-el-checkbox"
4
- :class="[getComponentClass, {'disabled':disabled}]"
2
+ <div
3
+ class="psui-el-checkbox"
4
+ :class="[getComponentClass, { disabled: disabled }]"
5
5
  >
6
- <input
7
- :id="getInputId"
8
- type="checkbox"
6
+ <input
7
+ :id="getInputId"
8
+ type="checkbox"
9
9
  :value="inputValue"
10
10
  v-model="model"
11
- :disabled="disabled"
11
+ :disabled="disabled"
12
12
  >
13
- <label
14
- :for="getInputId"
13
+ <label
14
+ :for="getInputId"
15
15
  class="psui-el-checkmark"
16
16
  :class="[labelClasses, 'psui-el-checkmark']"
17
17
  >
18
18
  <span>{{ label }}</span>
19
- </label>
19
+ </label>
20
20
  </div>
21
21
  </template>
22
22
 
23
- <script>
24
- //FIGMA CONTROLS & SELECTORS https://www.figma.com/file/Tto8hrNlSfuPcwd1pfqogF/%E2%9A%A1%EF%B8%8F-Design-System?node-id=1768%3A64852
25
- import { randomString } from '../../util/GeneralFunctions'
23
+ <script setup>
24
+ import { computed, defineEmits } from 'vue'
25
+ import { randomString } from '../../util/GeneralFunctions.js'
26
26
 
27
- export default {
28
- name: 'PsCheckbox',
29
- props: {
30
- /**
31
- * It sets the label of the checkbox input.
32
- */
33
- label: {
34
- type: String,
35
- default: '',
36
- },
37
- /**
38
- * It sets the label classes.
39
- */
40
- labelClasses: {
41
- type: String,
42
- default: ''
43
- },
44
- /**
45
- * It sets the value which should be monitored.
46
- */
47
- inputValue: {
48
- type: [String, Boolean],
49
- },
50
- value:{
51
- type: [Array, Boolean]
52
- },
53
- /**
54
- * It disables the checkbox input.
55
- */
56
- disabled: {
57
- type: Boolean,
58
- default: false,
59
- },
60
- /**
61
- * It set the of the checkbox input. eg: big and small.
62
- */
63
- size: {
64
- type: String,
65
- default: 'big',
66
- validator: (value)=> ['big', 'small'].includes(value)
67
- },
68
- /**
69
- * It set the layout of the checkbox input. eg: default and mixed.
70
- */
71
- layout:{
72
- type: String,
73
- default: 'default',
74
- validator: (value)=> ['default','mixed'].includes(value)
75
- }
27
+ const props = defineProps({
28
+ /**
29
+ * It sets the label of the checkbox input.
30
+ */
31
+ label: {
32
+ type: String,
33
+ default: '',
76
34
  },
77
- computed:{
78
- getComponentClass(){
79
- return `size-${this.size} layout-${this.layout}`
80
- },
81
- getInputId() {
82
- if (this?.inputAttrs?.id) {
83
- return this.inputAttrs.id
84
- } else if (this?.$attrs?.id) {
85
- return this.$attrs.id
86
- } else {
87
- return randomString(16)
88
- }
89
- },
90
- model: {
91
- get(){
92
- return this.value
93
- },
94
- set(value){
95
- this.$emit('input', value)
96
- }
97
- }
35
+ /**
36
+ * It sets the label classes.
37
+ */
38
+ labelClasses: {
39
+ type: String,
40
+ default: '',
98
41
  },
99
- }
42
+ /**
43
+ * It sets the value which should be monitored.
44
+ */
45
+ inputValue: {
46
+ type: [String, Boolean],
47
+ default: '',
48
+ },
49
+ value: {
50
+ type: [Array, Boolean],
51
+ default: false,
52
+ },
53
+ /**
54
+ * It disables the checkbox input.
55
+ */
56
+ disabled: {
57
+ type: Boolean,
58
+ default: false,
59
+ },
60
+ /**
61
+ * It set the of the checkbox input. eg: big and small.
62
+ */
63
+ size: {
64
+ type: String,
65
+ default: 'big',
66
+ validator: (value) => ['big', 'small'].includes(value),
67
+ },
68
+ /**
69
+ * It set the layout of the checkbox input. eg: default and mixed.
70
+ */
71
+ layout: {
72
+ type: String,
73
+ default: 'default',
74
+ validator: (value) => ['default', 'mixed'].includes(value),
75
+ },
76
+ })
77
+
78
+ const emit = defineEmits(['input'])
79
+
80
+ const getInputId = computed(() => {
81
+ if (props.inputAttrs?.id) {
82
+ return props.inputAttrs.id
83
+ } else if (props.$attrs?.id) {
84
+ return props.$attrs.id
85
+ } else {
86
+ return randomString(16)
87
+ }
88
+ })
89
+
90
+ const getComponentClass = computed(() => `size-${props.size} layout-${props.layout}`)
91
+
92
+ const model = computed({
93
+ get() {
94
+ return props.value
95
+ },
96
+ set(newValue) {
97
+ emit('input', newValue)
98
+ },
99
+ })
100
100
  </script>
@@ -1,45 +1,45 @@
1
1
  <template>
2
- <div
2
+ <div
3
3
  v-if="withPrevent"
4
- class="psui-el-checkbox"
5
- :class="[getComponentClass, {'disabled':disabled}]"
4
+ class="psui-el-checkbox"
5
+ :class="[getComponentClass, { disabled: disabled }]"
6
6
  v-bind="getComponentAttrs"
7
- @click.prevent="$emit('click', $event)"
7
+ @click.prevent="emit('click', $event)"
8
8
  >
9
- <input
10
- type="checkbox"
11
- :checked="checked"
9
+ <input
10
+ type="checkbox"
11
+ :checked="checked"
12
12
  :disabled="disabled"
13
13
  :name="label"
14
14
  :id="getInputId"
15
15
  v-bind="inputAttrs"
16
- @change="$emit('change', $event)"
16
+ @change="emit('change', $event)"
17
17
  >
18
- <label
18
+ <label
19
19
  :for="getInputId"
20
20
  class="psui-el-checkmark"
21
21
  >
22
22
  <slot name="content">
23
23
  <span>{{ label }}</span>
24
24
  </slot>
25
- </label>
25
+ </label>
26
26
  </div>
27
- <div
27
+ <div
28
28
  v-else
29
- class="psui-el-checkbox"
30
- :class="[getComponentClass, {'disabled':disabled}]"
29
+ class="psui-el-checkbox"
30
+ :class="[getComponentClass, { disabled: disabled }]"
31
31
  v-bind="getComponentAttrs"
32
32
  >
33
- <input
34
- type="checkbox"
35
- :checked="checked"
33
+ <input
34
+ type="checkbox"
35
+ :checked="checked"
36
36
  :disabled="disabled"
37
37
  :name="label"
38
38
  :id="getInputId"
39
39
  v-bind="inputAttrs"
40
- @change="$emit('change', $event)"
40
+ @change="emit('change', $event)"
41
41
  >
42
- <label
42
+ <label
43
43
  :for="getInputId"
44
44
  class="psui-el-checkmark"
45
45
  :title="showLabelTitle ? label : ''"
@@ -47,89 +47,89 @@
47
47
  <slot name="content">
48
48
  <span>{{ label }}</span>
49
49
  </slot>
50
- </label>
50
+ </label>
51
51
  </div>
52
52
  </template>
53
53
 
54
- <script>
54
+ <script setup>
55
55
  //FIGMA CONTROLS & SELECTORS https://www.figma.com/file/Tto8hrNlSfuPcwd1pfqogF/%E2%9A%A1%EF%B8%8F-Design-System?node-id=1768%3A64852
56
- import { randomString } from '../../util/GeneralFunctions'
56
+ import { randomString } from '../../util/GeneralFunctions.js'
57
+ import { defineProps, defineEmits, computed, useAttrs } from 'vue'
57
58
 
58
- export default {
59
- name: 'PsCheckboxSimple',
60
- props: {
61
- /**
62
- * It sets the label of the checkbox input.
63
- */
64
- label: {
65
- type: String,
66
- },
67
- /**
68
- * It disables the checkbox input.
69
- */
70
- withPrevent: {
71
- type: Boolean,
72
- default: false,
73
- },
59
+ const emit = defineEmits(['change', 'click'])
74
60
 
75
- disabled: {
76
- type: Boolean,
77
- default: false,
78
- },
79
- /**
80
- * Sets the input as checked
81
- */
82
- checked: {
83
- type: Boolean,
84
- default: false
85
- },
86
- /**
87
- * Add html attributes to the element input
88
- */
89
- inputAttrs: {
90
- type: Object,
91
- default: () => ({})
92
- },
93
- /**
94
- * It set the of the checkbox input. eg: big and small.
95
- */
96
- size: {
97
- type: String,
98
- default: 'big',
99
- validator: (value)=> ['big', 'small'].includes(value)
100
- },
101
- /**
102
- * It set the layout of the checkbox input. eg: default and mixed.
103
- */
104
- layout:{
105
- type: String,
106
- default: 'default',
107
- validator: (value)=> ['default','mixed'].includes(value)
108
- },
109
- showLabelTitle: {
110
- type: Boolean,
111
- default: true
112
- }
61
+ const props = defineProps({
62
+ label: {
63
+ type: String,
64
+ default: '',
113
65
  },
114
- inheritAttrs: false,
115
- computed:{
116
- getComponentClass(){
117
- return `size-${this.size} layout-${this.layout}`
118
- },
119
- getInputId() {
120
- if (this?.inputAttrs?.id) {
121
- return this.inputAttrs.id
122
- } else if (this?.$attrs?.id) {
123
- return this.$attrs.id
124
- } else {
125
- return randomString(16)
126
- }
127
- },
128
- getComponentAttrs() {
129
- let componentAttrs = { ... this.$attrs }
130
- delete componentAttrs.id
131
- return componentAttrs
132
- }
66
+ /**
67
+ * It disables the checkbox input.
68
+ */
69
+ withPrevent: {
70
+ type: Boolean,
71
+ default: false,
133
72
  },
134
- }
73
+
74
+ disabled: {
75
+ type: Boolean,
76
+ default: false,
77
+ },
78
+ /**
79
+ * Sets the input as checked
80
+ */
81
+ checked: {
82
+ type: Boolean,
83
+ default: false,
84
+ },
85
+ /**
86
+ * Add html attributes to the element input
87
+ */
88
+ inputAttrs: {
89
+ type: Object,
90
+ default: () => ({}),
91
+ },
92
+ /**
93
+ * It set the of the checkbox input. eg: big and small.
94
+ */
95
+ size: {
96
+ type: String,
97
+ default: 'big',
98
+ validator: (value) => ['big', 'small'].includes(value),
99
+ },
100
+ /**
101
+ * It set the layout of the checkbox input. eg: default and mixed.
102
+ */
103
+ layout: {
104
+ type: String,
105
+ default: 'default',
106
+ validator: (value) => ['default', 'mixed'].includes(value),
107
+ },
108
+ showLabelTitle: {
109
+ type: Boolean,
110
+ default: true,
111
+ },
112
+ })
113
+ const attrs = useAttrs()
114
+
115
+ const getComponentClass = computed(() => {
116
+ return `size-${props.size} layout-${props.layout}`
117
+ })
118
+
119
+
120
+ const getInputId = computed(() => {
121
+ if (props?.inputAttrs?.id) {
122
+ return props.inputAttrs.id
123
+ } else if (attrs?.id) {
124
+ return attrs.id
125
+ } else {
126
+ return randomString(16)
127
+ }
128
+ })
129
+
130
+ const getComponentAttrs = computed(() => {
131
+ let componentAttrs = { ...attrs }
132
+ delete componentAttrs.id
133
+ return componentAttrs
134
+ })
135
135
  </script>
@@ -13,13 +13,13 @@
13
13
  class="w-full"
14
14
  >
15
15
  <template #trigger>
16
- <div
16
+ <div
17
17
  class="psui-el-draggable-wrapper-title"
18
- :class="{'psui-opacity-50 psui-pointer-events-none':columnGroup.disabled}"
18
+ :class="{ 'psui-opacity-50 psui-pointer-events-none': columnGroup.disabled }"
19
19
  draggable="true"
20
- @dragstart="$emit('drag-start-group', indexColumnGroup)"
21
- @dragend="$emit('drag-end-group', indexColumnGroup)"
22
- @dragover="$emit('drag-over-group', indexColumnGroup)"
20
+ @dragstart="emit('drag-start-group', indexColumnGroup)"
21
+ @dragend="emit('drag-end-group', indexColumnGroup)"
22
+ @dragover="emit('drag-over-group', indexColumnGroup)"
23
23
  >
24
24
  <span class="flex psui-items-center">
25
25
  <p>{{ columnGroup.title }}</p>
@@ -28,16 +28,16 @@
28
28
  v-if="columnGroup.hasHelper && columnGroup.hasHelper.showOnEditHideColumns"
29
29
  icon="info"
30
30
  size="16"
31
- :icon-classes="columnGroup.disabled ? 'psui-ml-2 psui-text-gray-50':'psui-ml-2 psui-text-blue-50 psui-cursor-pointer'"
32
- @click="$emit('column-group-helper', columnGroup.hasHelper)"
31
+ :icon-classes="columnGroup.disabled ? 'psui-ml-2 psui-text-gray-50' : 'psui-ml-2 psui-text-blue-50 psui-cursor-pointer'"
32
+ @click="emit('column-group-helper', columnGroup.hasHelper)"
33
33
  />
34
34
  </span>
35
35
  <i class="material-icons-round">drag_indicator</i>
36
36
  </div>
37
37
 
38
- <div
39
- class="psui-el-draggable-wrapper-list"
40
- :class="{'psui-opacity-50 psui-pointer-events-none':columnGroup.disabled}"
38
+ <div
39
+ class="psui-el-draggable-wrapper-list"
40
+ :class="{ 'psui-opacity-50 psui-pointer-events-none': columnGroup.disabled }"
41
41
  >
42
42
  <div
43
43
  v-for="(column, indexColumn) in columnGroup.columns"
@@ -45,31 +45,29 @@
45
45
  :id="`edit-columns-column-${indexColumnGroup}-${indexColumn}`"
46
46
  class="psui-el-draggable-item"
47
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)"
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
51
  v-tooltip="column.tooltip || undefined"
52
52
  >
53
- <div
54
- class="psui-w-full psui-flex psui-items-center"
55
- >
53
+ <div class="psui-w-full psui-flex psui-items-center">
56
54
  <span class="psui-el-draggable-item-title psui-flex psui-flex-row psui-items-center">
57
55
  <PsCheckboxSimple
58
56
  size="small"
59
57
  :label="column.title"
60
- :class="{'active' : column.isActive}"
58
+ :class="{ active: column.isActive }"
61
59
  :checked="column.isActive"
62
60
  :disabled="column.isDisabled"
63
61
  class="psui-el-draggable-item-checkbox"
64
- @change="$emit('on-select-item', { studyKey: getColumns.key, indexColumnGroup, indexColumn, columnGroupKey: columnGroup.key })"
62
+ @change="emit('on-select-item', { studyKey: getColumns.key, indexColumnGroup, indexColumn, columnGroupKey: columnGroup.key })"
65
63
  />
66
64
  <PsIcon
67
65
  class="psui-el-draggable-item-title-icon"
68
66
  v-if="column.hasHelper && column.hasHelper.showOnEditHideColumns"
69
67
  icon="info"
70
68
  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)"
69
+ :icon-classes="columnGroup.disabled ? 'psui-ml-2 psui-text-gray-50' : 'psui-ml-2 psui-text-blue-50 psui-cursor-pointer'"
70
+ @click="emit('column-helper', column.hasHelper)"
73
71
  />
74
72
  </span>
75
73
  <span class="psui-el-draggable-item-append">
@@ -79,9 +77,7 @@
79
77
  </div>
80
78
  </div>
81
79
  </template>
82
- <template
83
- #content
84
- >
80
+ <template #content>
85
81
  {{ columnGroup.disabledTitle }}
86
82
  </template>
87
83
  </PsTooltip>
@@ -89,40 +85,42 @@
89
85
  </div>
90
86
  </template>
91
87
 
92
- <script>
88
+ <script setup>
89
+ import { defineProps, defineEmits } from 'vue'
93
90
 
94
- export default {
95
- name: 'PsDraggable',
96
- props: {
97
- /**
98
- * It sets the data that will be used.
99
- */
100
- getColumns: {
101
- type: Object,
102
- },
103
- /**
104
- * It sets the module which will be used to set getters and actions.
105
- */
106
- module:{
107
- type: String
108
- },
91
+ const emit = defineEmits([
92
+ 'drag-start-group',
93
+ 'drag-end-group',
94
+ 'drag-over-group',
95
+ 'drag-start-item',
96
+ 'drag-over-item',
97
+ 'drag-end-item',
98
+ 'column-helper',
99
+ 'on-select-item',
100
+ 'column-group-helper',
101
+ ])
109
102
 
110
- /**
111
- * It disables the input. All mouse events are disabled.
112
- */
113
- disabled: {
114
- type: Boolean,
115
- default: false
116
- },
103
+ defineProps({
104
+ /**
105
+ * It sets the data that will be used.
106
+ */
107
+ getColumns: {
108
+ type: Object,
117
109
  },
118
- computed: {
119
- getStatus() {
120
- if (this.column.key == 'compliance_margin') {
121
- return true
122
- } else {
123
- return false
124
- }
125
- },
110
+ /**
111
+ * It sets the module which will be used to set getters and actions.
112
+ */
113
+ module: {
114
+ type: String,
115
+ default: '',
126
116
  },
127
- }
117
+
118
+ /**
119
+ * It disables the input. All mouse events are disabled.
120
+ */
121
+ disabled: {
122
+ type: Boolean,
123
+ default: false,
124
+ },
125
+ })
128
126
  </script>