@policystudio/policy-studio-ui-vue 1.1.90-beta.3 → 1.1.90-beta.30

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 (147) hide show
  1. package/.eslintrc.js +13 -8
  2. package/.github/workflows/deploy-storybook.yml +4 -4
  3. package/.nvmrc +1 -0
  4. package/dist/css/psui_styles_output.css +6994 -0
  5. package/dist/index.d.ts +50 -0
  6. package/dist/index.js +104 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/util/GeneralFunctions.d.ts +3 -0
  9. package/dist/util/GeneralFunctions.js +35 -0
  10. package/dist/util/GeneralFunctions.js.map +1 -0
  11. package/dist/util/directives.d.ts +1 -0
  12. package/dist/util/directives.js +22 -0
  13. package/dist/util/directives.js.map +1 -0
  14. package/dist/util/imageLoader.d.ts +6 -0
  15. package/dist/util/imageLoader.js +52 -0
  16. package/dist/util/imageLoader.js.map +1 -0
  17. package/package.json +24 -37
  18. package/src/App.vue +30 -0
  19. package/src/assets/scss/components/PsDataTable.scss +1 -1
  20. package/src/assets/scss/components/PsDropdownList.scss +1 -1
  21. package/src/components/accordion/PsAccordionItem.vue +88 -74
  22. package/src/components/badges-and-tags/PsBadgeWithIcon.vue +31 -33
  23. package/src/components/badges-and-tags/PsCardInfos.vue +39 -41
  24. package/src/components/badges-and-tags/PsChartLegend.vue +46 -51
  25. package/src/components/badges-and-tags/PsClimateZoneBadge.vue +13 -19
  26. package/src/components/badges-and-tags/PsCostEffectBar.vue +24 -56
  27. package/src/components/badges-and-tags/PsDateCardInfo.vue +17 -18
  28. package/src/components/badges-and-tags/PsHighlightRippleDot.vue +3 -2
  29. package/src/components/badges-and-tags/PsMiniTag.vue +39 -41
  30. package/src/components/badges-and-tags/PsProgressBar.vue +72 -68
  31. package/src/components/badges-and-tags/PsTagScope.vue +17 -22
  32. package/src/components/badges-and-tags/PsTestimonialCard.vue +19 -26
  33. package/src/components/buttons/PsButton.vue +60 -61
  34. package/src/components/chips/PsChips.vue +98 -101
  35. package/src/components/controls/PsCheckbox.vue +84 -84
  36. package/src/components/controls/PsCheckboxSimple.vue +95 -95
  37. package/src/components/controls/PsDraggable.vue +53 -55
  38. package/src/components/controls/PsInlineSelector.vue +98 -99
  39. package/src/components/controls/PsRadioButton.vue +59 -58
  40. package/src/components/controls/PsRadioButtonSimple.vue +79 -75
  41. package/src/components/controls/PsSlider.vue +185 -176
  42. package/src/components/controls/PsSwitch.vue +51 -52
  43. package/src/components/controls/PsToggle.vue +52 -50
  44. package/src/components/data-graphics/PsBarChart.vue +18 -21
  45. package/src/components/datatable/PsDataTable.vue +56 -60
  46. package/src/components/datatable/PsDataTableItem.vue +13 -28
  47. package/src/components/forms/PsDropdown.vue +165 -162
  48. package/src/components/forms/PsDropdownList.vue +133 -130
  49. package/src/components/forms/PsInput.vue +154 -153
  50. package/src/components/forms/PsInputSelect.vue +91 -92
  51. package/src/components/forms/PsInputTextArea.vue +70 -71
  52. package/src/components/navigations/PsBreadcrumb.vue +25 -34
  53. package/src/components/notifications/PsDialog.vue +57 -56
  54. package/src/components/notifications/PsSimpleAlert.vue +27 -29
  55. package/src/components/notifications/PsToast.vue +40 -39
  56. package/src/components/table-results/PsTableResults.vue +456 -466
  57. package/src/components/table-results/PsTableResultsBody.vue +66 -67
  58. package/src/components/table-results/PsTableResultsHead.vue +67 -61
  59. package/src/components/table-results/PsTableResultsHeadComparison.vue +62 -56
  60. package/src/components/table-results/PsTableResultsHeadFlexible.vue +68 -61
  61. package/src/components/table-results/PsTableResultsRow.vue +55 -56
  62. package/src/components/tabs/PsTabHeader.vue +106 -100
  63. package/src/components/tooltip/PsDialogTooltip.vue +96 -101
  64. package/src/components/tooltip/PsRichTooltip.vue +41 -45
  65. package/src/components/tooltip/PsTooltip.vue +111 -116
  66. package/src/components/ui/PsDotLoader.vue +1 -5
  67. package/src/components/ui/PsIcon.vue +131 -129
  68. package/src/index.ts +156 -0
  69. package/src/tsconfig.json +12 -0
  70. package/src/types/index.d.ts +6 -0
  71. package/src/util/GeneralFunctions.js +16 -7
  72. package/src/util/directives.ts +24 -0
  73. package/src/util/imageLoader.js +14 -7
  74. package/tailwind.config.js +1 -1
  75. package/tsconfig.json +47 -0
  76. package/.storybook/PolicyStudio.js +0 -10
  77. package/.storybook/eventBus.js +0 -26
  78. package/.storybook/main.js +0 -21
  79. package/.storybook/manager.js +0 -6
  80. package/.storybook/preview.js +0 -17
  81. package/babel.config.js +0 -17
  82. package/dist/css/psui_styles.css +0 -4647
  83. package/postcss.config.js +0 -8
  84. package/src/assets/images/multifamily-units.svg +0 -10
  85. package/src/assets/images/policy-studio.svg +0 -15
  86. package/src/components/playground/PsScrollBar.vue +0 -320
  87. package/src/contents/ComparisonData.js +0 -378
  88. package/src/contents/FlexibleData.js +0 -502
  89. package/src/contents/ResultsData.js +0 -531
  90. package/src/index.js +0 -166
  91. package/src/stories/Accordion.stories.js +0 -59
  92. package/src/stories/BadgeWithIcon.stories.js +0 -31
  93. package/src/stories/BarChart.stories.js +0 -17
  94. package/src/stories/Breadcrumb.stories.js +0 -25
  95. package/src/stories/Button.stories.js +0 -48
  96. package/src/stories/Button.vue +0 -59
  97. package/src/stories/CardInfos.stories.js +0 -16
  98. package/src/stories/ChartLegend.stories.js +0 -16
  99. package/src/stories/Checkbox.stories.js +0 -45
  100. package/src/stories/CheckboxSimple.stories.js +0 -49
  101. package/src/stories/Chips.stories.js +0 -31
  102. package/src/stories/ClimateZoneBadge.stories.js +0 -17
  103. package/src/stories/Colors.mdx +0 -70
  104. package/src/stories/CostEffectBar.stories.js +0 -23
  105. package/src/stories/Datatable.stories.js +0 -50
  106. package/src/stories/DateCardInfo.stories.js +0 -24
  107. package/src/stories/Dialog.stories.js +0 -131
  108. package/src/stories/Draggable.stories.js +0 -22
  109. package/src/stories/Dropdown.stories.js +0 -99
  110. package/src/stories/DropdownList.stories.js +0 -211
  111. package/src/stories/ElevationSystem.mdx +0 -41
  112. package/src/stories/Header.stories.js +0 -41
  113. package/src/stories/Header.vue +0 -77
  114. package/src/stories/HighlightRippleDot.stories.js +0 -15
  115. package/src/stories/Icon.stories.js +0 -21
  116. package/src/stories/InlineSelector.stories.js +0 -18
  117. package/src/stories/Input.stories.js +0 -240
  118. package/src/stories/InputSelect.stories.js +0 -30
  119. package/src/stories/InputTextArea.stories.js +0 -25
  120. package/src/stories/Introduction.mdx +0 -211
  121. package/src/stories/MiniTag.stories.js +0 -52
  122. package/src/stories/Playground.stories.js +0 -16
  123. package/src/stories/ProgressBar.stories.js +0 -23
  124. package/src/stories/RadioButton.stories.js +0 -40
  125. package/src/stories/RadioButtonSimple.stories.js +0 -43
  126. package/src/stories/SimpleAlert.stories.js +0 -21
  127. package/src/stories/Slider.stories.js +0 -75
  128. package/src/stories/Switch.stories.js +0 -39
  129. package/src/stories/TabHeader.stories.js +0 -52
  130. package/src/stories/TableResults.stories.js +0 -724
  131. package/src/stories/TagScope.stories.js +0 -17
  132. package/src/stories/TestimonialCard.stories.js +0 -27
  133. package/src/stories/Toast.stories.js +0 -52
  134. package/src/stories/Toggle.stories.js +0 -45
  135. package/src/stories/Tooltip.stories.js +0 -114
  136. package/src/stories/Typography.mdx +0 -212
  137. package/src/stories/assets/code-brackets.svg +0 -1
  138. package/src/stories/assets/colors.svg +0 -1
  139. package/src/stories/assets/comments.svg +0 -1
  140. package/src/stories/assets/direction.svg +0 -1
  141. package/src/stories/assets/flow.svg +0 -1
  142. package/src/stories/assets/plugin.svg +0 -1
  143. package/src/stories/assets/repo.svg +0 -1
  144. package/src/stories/assets/stackalt.svg +0 -1
  145. package/src/stories/button.css +0 -30
  146. package/src/stories/header.css +0 -32
  147. package/webpack.config.js +0 -22
@@ -0,0 +1,50 @@
1
+ import PsButton from '../src/components/buttons/PsButton.vue';
2
+ import PsCheckbox from '../src/components/controls/PsCheckbox.vue';
3
+ import PsRadioButton from '../src/components/controls/PsRadioButton.vue';
4
+ import PsSlider from '../src/components/controls/PsSlider.vue';
5
+ import PsSwitch from '../src/components/controls/PsSwitch.vue';
6
+ import PsToggle from '../src/components/controls/PsToggle.vue';
7
+ import PsInput from '../src/components/forms/PsInput.vue';
8
+ import PsDropdown from '../src/components/forms/PsDropdown.vue';
9
+ import PsDropdownList from '../src/components/forms/PsDropdownList.vue';
10
+ import PsInputTextArea from '../src/components/forms/PsInputTextArea.vue';
11
+ import PsInputSelect from '../src/components/forms/PsInputSelect.vue';
12
+ import PsDialog from '../src/components/notifications/PsDialog.vue';
13
+ import PsToast from '../src/components/notifications/PsToast.vue';
14
+ import PsTabHeader from '../src/components/tabs/PsTabHeader.vue';
15
+ import PsAccordion from '../src/components/accordion/PsAccordion.vue';
16
+ import PsAccordionItem from '../src/components/accordion/PsAccordionItem.vue';
17
+ import PsChips from '../src/components/chips/PsChips.vue';
18
+ import PsDataTable from '../src/components/datatable/PsDataTable.vue';
19
+ import PsDataTableItem from '../src/components/datatable/PsDataTableItem.vue';
20
+ import PsTableResults from '../src/components/table-results/PsTableResults.vue';
21
+ import PsTableResultsBody from '../src/components/table-results/PsTableResultsBody.vue';
22
+ import PsTableResultsHead from '../src/components/table-results/PsTableResultsHead.vue';
23
+ import PsTableResultsHeadComparison from '../src/components/table-results/PsTableResultsHeadComparison.vue';
24
+ import PsTableResultsHeadFlexible from '../src/components/table-results/PsTableResultsHeadFlexible.vue';
25
+ import PsTableResultsRow from '../src/components/table-results/PsTableResultsRow.vue';
26
+ import PsIcon from '../src/components/ui/PsIcon.vue';
27
+ import PsDotLoader from '../src/components/ui/PsDotLoader.vue';
28
+ import PsTooltip from '../src/components/tooltip/PsTooltip.vue';
29
+ import PsRichTooltip from '../src/components/tooltip/PsRichTooltip.vue';
30
+ import PsDialogTooltip from '../src/components/tooltip/PsDialogTooltip.vue';
31
+ import PsDraggable from '../src/components/controls/PsDraggable.vue';
32
+ import PsCardInfos from '../src/components/badges-and-tags/PsCardInfos.vue';
33
+ import PsChartLegend from '../src/components/badges-and-tags/PsChartLegend.vue';
34
+ import PsInlineSelector from '../src/components/controls/PsInlineSelector.vue';
35
+ import PsMiniTag from '../src/components/badges-and-tags/PsMiniTag.vue';
36
+ import PsCheckboxSimple from '../src/components/controls/PsCheckboxSimple.vue';
37
+ import PsBadgeWithIcon from '../src/components/badges-and-tags/PsBadgeWithIcon.vue';
38
+ import PsProgressBar from '../src/components/badges-and-tags/PsProgressBar.vue';
39
+ import PsRadioButtonSimple from '../src/components/controls/PsRadioButtonSimple.vue';
40
+ import PsTestimonialCard from '../src/components/badges-and-tags/PsTestimonialCard.vue';
41
+ import PsDateCardInfo from '../src/components/badges-and-tags/PsDateCardInfo.vue';
42
+ import PsTagScope from '../src/components/badges-and-tags/PsTagScope.vue';
43
+ import PsBarChart from '../src/components/data-graphics/PsBarChart.vue';
44
+ import PsSimpleAlert from '../src/components/notifications/PsSimpleAlert.vue';
45
+ import PsBreadcrumb from '../src/components/navigations/PsBreadcrumb.vue';
46
+ declare const _default: {
47
+ install(Vue: any): void;
48
+ };
49
+ export default _default;
50
+ export { PsButton, PsCheckbox, PsRadioButton, PsSlider, PsSwitch, PsToggle, PsInput, PsDialog, PsToast, PsTabHeader, PsAccordion, PsAccordionItem, PsChips, PsDataTable, PsDataTableItem, PsTableResultsHead, PsTableResultsBody, PsTableResultsHeadFlexible, PsTableResultsHeadComparison, PsIcon, PsDotLoader, PsTooltip, PsRichTooltip, PsDialogTooltip, PsDraggable, PsCardInfos, PsChartLegend, PsInlineSelector, PsInputTextArea, PsInputSelect, PsDropdown, PsDropdownList, PsMiniTag, PsCheckboxSimple, PsBadgeWithIcon, PsProgressBar, PsRadioButtonSimple, PsTestimonialCard, PsDateCardInfo, PsTagScope, PsBarChart, PsSimpleAlert, PsBreadcrumb, PsTableResults, PsTableResultsRow };
package/dist/index.js ADDED
@@ -0,0 +1,104 @@
1
+ /**
2
+ * General Components
3
+ */
4
+ import { directives } from './util/directives';
5
+ import PsButton from '../src/components/buttons/PsButton.vue';
6
+ import PsCheckbox from '../src/components/controls/PsCheckbox.vue';
7
+ import PsRadioButton from '../src/components/controls/PsRadioButton.vue';
8
+ import PsSlider from '../src/components/controls/PsSlider.vue';
9
+ import PsSwitch from '../src/components/controls/PsSwitch.vue';
10
+ import PsToggle from '../src/components/controls/PsToggle.vue';
11
+ import PsInput from '../src/components/forms/PsInput.vue';
12
+ import PsDropdown from '../src/components/forms/PsDropdown.vue';
13
+ import PsDropdownList from '../src/components/forms/PsDropdownList.vue';
14
+ import PsInputTextArea from '../src/components/forms/PsInputTextArea.vue';
15
+ import PsInputSelect from '../src/components/forms/PsInputSelect.vue';
16
+ import PsDialog from '../src/components/notifications/PsDialog.vue';
17
+ import PsToast from '../src/components/notifications/PsToast.vue';
18
+ import PsTabHeader from '../src/components/tabs/PsTabHeader.vue';
19
+ import PsAccordion from '../src/components/accordion/PsAccordion.vue';
20
+ import PsAccordionItem from '../src/components/accordion/PsAccordionItem.vue';
21
+ import PsChips from '../src/components/chips/PsChips.vue';
22
+ import PsDataTable from '../src/components/datatable/PsDataTable.vue';
23
+ import PsDataTableItem from '../src/components/datatable/PsDataTableItem.vue';
24
+ import PsTableResults from '../src/components/table-results/PsTableResults.vue';
25
+ import PsTableResultsBody from '../src/components/table-results/PsTableResultsBody.vue';
26
+ import PsTableResultsHead from '../src/components/table-results/PsTableResultsHead.vue';
27
+ import PsTableResultsHeadComparison from '../src/components/table-results/PsTableResultsHeadComparison.vue';
28
+ import PsTableResultsHeadFlexible from '../src/components/table-results/PsTableResultsHeadFlexible.vue';
29
+ import PsTableResultsRow from '../src/components/table-results/PsTableResultsRow.vue';
30
+ import PsIcon from '../src/components/ui/PsIcon.vue';
31
+ import PsDotLoader from '../src/components/ui/PsDotLoader.vue';
32
+ import PsTooltip from '../src/components/tooltip/PsTooltip.vue';
33
+ import PsRichTooltip from '../src/components/tooltip/PsRichTooltip.vue';
34
+ import PsDialogTooltip from '../src/components/tooltip/PsDialogTooltip.vue';
35
+ import PsDraggable from '../src/components/controls/PsDraggable.vue';
36
+ import PsCardInfos from '../src/components/badges-and-tags/PsCardInfos.vue';
37
+ import PsChartLegend from '../src/components/badges-and-tags/PsChartLegend.vue';
38
+ import PsInlineSelector from '../src/components/controls/PsInlineSelector.vue';
39
+ import PsMiniTag from '../src/components/badges-and-tags/PsMiniTag.vue';
40
+ import PsCheckboxSimple from '../src/components/controls/PsCheckboxSimple.vue';
41
+ import PsBadgeWithIcon from '../src/components/badges-and-tags/PsBadgeWithIcon.vue';
42
+ import PsProgressBar from '../src/components/badges-and-tags/PsProgressBar.vue';
43
+ import PsRadioButtonSimple from '../src/components/controls/PsRadioButtonSimple.vue';
44
+ import PsTestimonialCard from '../src/components/badges-and-tags/PsTestimonialCard.vue';
45
+ import PsDateCardInfo from '../src/components/badges-and-tags/PsDateCardInfo.vue';
46
+ import PsTagScope from '../src/components/badges-and-tags/PsTagScope.vue';
47
+ import PsBarChart from '../src/components/data-graphics/PsBarChart.vue';
48
+ import PsSimpleAlert from '../src/components/notifications/PsSimpleAlert.vue';
49
+ import PsBreadcrumb from '../src/components/navigations/PsBreadcrumb.vue';
50
+ export default {
51
+ install(Vue) {
52
+ Vue.component('PsButton', PsButton);
53
+ Vue.component('PsCheckbox', PsCheckbox);
54
+ Vue.component('PsDialog', PsDialog);
55
+ Vue.component('PsToast', PsToast);
56
+ Vue.component('PsTabHeader', PsTabHeader);
57
+ Vue.component('PsRadioButton', PsRadioButton);
58
+ Vue.component('PsSlider', PsSlider);
59
+ Vue.component('PsSwitch', PsSwitch);
60
+ Vue.component('PsInput', PsInput);
61
+ Vue.component('PsToggle', PsToggle);
62
+ Vue.component('PsAccordion', PsAccordion);
63
+ Vue.component('PsAccordionItem', PsAccordionItem);
64
+ Vue.component('PsChips', PsChips);
65
+ Vue.component('PsDataTable', PsDataTable);
66
+ Vue.component('PsDataTableItem', PsDataTableItem);
67
+ Vue.component('PsTableResultsHead', PsTableResultsHead);
68
+ Vue.component('PsTableResultsHeadComparison', PsTableResultsHeadComparison);
69
+ Vue.component('PsTableResults', PsTableResults);
70
+ Vue.component('PsTableResultsRow', PsTableResultsRow);
71
+ Vue.component('PsTableResultsBody', PsTableResultsBody);
72
+ Vue.component('PsTableResultsHeadFlexible', PsTableResultsHeadFlexible);
73
+ Vue.component('PsIcon', PsIcon);
74
+ Vue.component('PsDotLoader', PsDotLoader);
75
+ Vue.component('PsTooltip', PsTooltip);
76
+ Vue.component('PsRichTooltip', PsRichTooltip);
77
+ Vue.component('PsDialogTooltip', PsDialogTooltip);
78
+ Vue.component('PsDraggable', PsDraggable);
79
+ Vue.component('PsCardInfos', PsCardInfos);
80
+ Vue.component('PsChartLegend', PsChartLegend);
81
+ Vue.component('PsInlineSelector', PsInlineSelector);
82
+ Vue.component('PsInputTextArea', PsInputTextArea);
83
+ Vue.component('PsInputSelect', PsInputSelect);
84
+ Vue.component('PsDropdown', PsDropdown);
85
+ Vue.component('PsDropdownList', PsDropdownList);
86
+ Vue.component('PsMiniTag', PsMiniTag);
87
+ Vue.component('PsCheckboxSimple', PsCheckboxSimple);
88
+ Vue.component('PsBadgeWithIcon', PsBadgeWithIcon);
89
+ Vue.component('PsProgressBar', PsProgressBar);
90
+ Vue.component('PsRadioButtonSimple', PsRadioButtonSimple);
91
+ Vue.component('PsTestimonialCard', PsTestimonialCard);
92
+ Vue.component('PsDateCardInfo', PsDateCardInfo);
93
+ Vue.component('PsTagScope', PsTagScope);
94
+ Vue.component('PsBarChart', PsBarChart);
95
+ Vue.component('PsSimpleAlert', PsSimpleAlert);
96
+ Vue.component('PsBreadcrumb', PsBreadcrumb);
97
+ /**
98
+ * Initialize directives
99
+ */
100
+ directives(Vue);
101
+ },
102
+ };
103
+ export { PsButton, PsCheckbox, PsRadioButton, PsSlider, PsSwitch, PsToggle, PsInput, PsDialog, PsToast, PsTabHeader, PsAccordion, PsAccordionItem, PsChips, PsDataTable, PsDataTableItem, PsTableResultsHead, PsTableResultsBody, PsTableResultsHeadFlexible, PsTableResultsHeadComparison, PsIcon, PsDotLoader, PsTooltip, PsRichTooltip, PsDialogTooltip, PsDraggable, PsCardInfos, PsChartLegend, PsInlineSelector, PsInputTextArea, PsInputSelect, PsDropdown, PsDropdownList, PsMiniTag, PsCheckboxSimple, PsBadgeWithIcon, PsProgressBar, PsRadioButtonSimple, PsTestimonialCard, PsDateCardInfo, PsTagScope, PsBarChart, PsSimpleAlert, PsBreadcrumb, PsTableResults, PsTableResultsRow };
104
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export function randomString(length: any): string;
2
+ export function getParentScrollableEl(node: any): any;
3
+ export function getParentVueComponentByName(comp: any, name: any): any;
@@ -0,0 +1,35 @@
1
+ export const randomString = (length) => {
2
+ let result = '';
3
+ const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
4
+ const charactersLength = characters.length;
5
+ for (let i = 0; i < length; i++) {
6
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
7
+ }
8
+ return result;
9
+ };
10
+ export const getParentScrollableEl = (node) => {
11
+ if (node == null) {
12
+ return null;
13
+ }
14
+ if (node.scrollHeight > node.clientHeight) {
15
+ return node;
16
+ }
17
+ else {
18
+ return getParentScrollableEl(node.parentNode);
19
+ }
20
+ };
21
+ export const getParentVueComponentByName = (comp, name) => {
22
+ if (!comp)
23
+ return null;
24
+ if (comp?.appContext?.components[name]) {
25
+ return comp.appContext.components[name];
26
+ }
27
+ if (comp.$options && comp.$options.name === name) {
28
+ return comp;
29
+ }
30
+ if (comp.$parent) {
31
+ return getParentVueComponentByName(comp.$parent, name);
32
+ }
33
+ return null;
34
+ };
35
+ //# sourceMappingURL=GeneralFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeneralFunctions.js","sourceRoot":"","sources":["../../src/util/GeneralFunctions.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE;IACrC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,UAAU,GACd,gEAAgE,CAAA;IAClE,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAA;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAA;KAC1E;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,EAAE;IAC5C,IAAI,IAAI,IAAI,IAAI,EAAE;QAChB,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE;QACzC,OAAO,IAAI,CAAA;KACZ;SAAM;QACL,OAAO,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;KAC9C;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACxD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAEtB,IAAI,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;KACxC;IAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;QAChD,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,IAAI,CAAC,OAAO,EAAE;QAChB,OAAO,2BAA2B,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;KACvD;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const directives: (Vue: any) => void;
@@ -0,0 +1,22 @@
1
+ export const directives = (Vue) => {
2
+ Vue.directive('click-outside', {
3
+ bind(el, binding, vnode) {
4
+ // Define a function to handle click events outside the element
5
+ const handler = (event) => {
6
+ if (binding?.value && !(el === event.target || el.contains(event.target))) {
7
+ // Call the method provided in the directive value
8
+ binding.value(event);
9
+ }
10
+ };
11
+ // Store the handler function on the element
12
+ el.__clickOutsideHandler__ = handler;
13
+ // Add a click event listener to the body
14
+ document.body.addEventListener('click', handler);
15
+ },
16
+ unbind(el) {
17
+ // Remove the click event listener when the element is unbound
18
+ document.body.removeEventListener('click', el.__clickOutsideHandler__);
19
+ },
20
+ });
21
+ };
22
+ //# sourceMappingURL=directives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/util/directives.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE;IACrC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE;QAC7B,IAAI,CAAC,EAAO,EAAE,OAAY,EAAE,KAAU;YACpC,+DAA+D;YAC/D,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;gBAC7B,IAAI,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;oBACzE,kDAAkD;oBAClD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;iBACrB;YACH,CAAC,CAAA;YAED,4CAA4C;YAC5C,EAAE,CAAC,uBAAuB,GAAG,OAAO,CAAA;YAEpC,yCAAyC;YACzC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,CAAC,EAAO;YACZ,8DAA8D;YAC9D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAA;QACxE,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare function _default({ imageUrl, onProgress, returnsBase64 }: {
2
+ imageUrl: any;
3
+ onProgress?: null | undefined;
4
+ returnsBase64?: boolean | undefined;
5
+ }): Promise<any>;
6
+ export default _default;
@@ -0,0 +1,52 @@
1
+ export default ({ imageUrl, onProgress = null, returnsBase64 = true }) => {
2
+ return new Promise((resolve, reject) => {
3
+ const xhr = new XMLHttpRequest();
4
+ let notifiedNotComputable = false;
5
+ xhr.open('GET', imageUrl, true);
6
+ xhr.responseType = 'arraybuffer';
7
+ xhr.onprogress = (ev) => {
8
+ if (ev.lengthComputable) {
9
+ const progress = parseInt((ev.loaded / ev.total) * 100);
10
+ if (onProgress)
11
+ onProgress(progress);
12
+ }
13
+ else {
14
+ if (!notifiedNotComputable) {
15
+ notifiedNotComputable = true;
16
+ if (onProgress)
17
+ onProgress(-1);
18
+ }
19
+ }
20
+ };
21
+ xhr.onloadend = () => {
22
+ const contentType = xhr.getResponseHeader('Content-Type');
23
+ if (!contentType.includes('image')) {
24
+ reject(xhr);
25
+ }
26
+ else {
27
+ if (!notifiedNotComputable) {
28
+ if (onProgress)
29
+ onProgress(100);
30
+ }
31
+ if (!returnsBase64) {
32
+ resolve();
33
+ }
34
+ else {
35
+ const options = {};
36
+ const headers = xhr.getAllResponseHeaders();
37
+ const mime = headers.match(/^Content-Type\\:\s*(.*?)$/mi);
38
+ if (mime && mime[1])
39
+ options.type = mime[1];
40
+ const blob = new Blob([xhr.response], options);
41
+ resolve(window.URL.createObjectURL(blob));
42
+ }
43
+ }
44
+ };
45
+ xhr.onerror = () => {
46
+ console.log('asd');
47
+ reject();
48
+ };
49
+ xhr.send();
50
+ });
51
+ };
52
+ //# sourceMappingURL=imageLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageLoader.js","sourceRoot":"","sources":["../../src/util/imageLoader.js"],"names":[],"mappings":"AAAA,eAAe,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI,EAAE,aAAa,GAAG,IAAI,EAAE,EAAE,EAAE;IACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAA;QAChC,IAAI,qBAAqB,GAAG,KAAK,CAAA;QAEjC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC/B,GAAG,CAAC,YAAY,GAAG,aAAa,CAAA;QAEhC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE;YACtB,IAAI,EAAE,CAAC,gBAAgB,EAAE;gBAEvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;gBAEvD,IAAG,UAAU;oBAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;aACpC;iBAAM;gBACL,IAAI,CAAC,qBAAqB,EAAE;oBAC1B,qBAAqB,GAAG,IAAI,CAAA;oBAE5B,IAAG,UAAU;wBAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC9B;aACF;QACH,CAAC,CAAA;QAED,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE;YACnB,MAAM,WAAW,GAAG,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;YAEzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAClC,MAAM,CAAC,GAAG,CAAC,CAAA;aACZ;iBAAM;gBACL,IAAI,CAAC,qBAAqB,EAAE;oBAE1B,IAAG,UAAU;wBAAE,UAAU,CAAC,GAAG,CAAC,CAAA;iBAC/B;gBAED,IAAG,CAAC,aAAa,EAAE;oBAEjB,OAAO,EAAE,CAAA;iBACV;qBAAM;oBACL,MAAM,OAAO,GAAG,EAAE,CAAA;oBAClB,MAAM,OAAO,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAA;oBAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;oBAEzD,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;wBAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;oBAC3C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;oBAC9C,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;iBAC1C;aACF;QACH,CAAC,CAAA;QAED,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAClB,MAAM,EAAE,CAAA;QACV,CAAC,CAAA;QAED,GAAG,CAAC,IAAI,EAAE,CAAA;IACZ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,28 +1,18 @@
1
1
  {
2
2
  "name": "@policystudio/policy-studio-ui-vue",
3
- "version": "1.1.90-beta.3",
3
+ "version": "1.1.90-beta.30",
4
4
  "description": "Policy Studio UI",
5
- "main": "src/index.js",
6
5
  "author": "Policy Studio Team",
7
- "url": "https://github.com/Policy-Studio/policy-studio-ui-vue",
8
- "license": "MIT",
9
- "keywords": [
10
- "vue",
11
- "ui"
12
- ],
13
6
  "scripts": {
14
7
  "lint": "vue-cli-service lint",
15
- "build-storybook": "storybook build",
16
- "build-tailwind": "postcss src/assets/scss/base.scss -o dist/css/psui_styles.css",
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 && npm run build-storybook && npm publish --tag beta",
19
- "serve": "concurrently --kill-others \"npm run watch-storybook\" \"npm run watch-tailwind\"",
20
- "serve-prod": "concurrently --kill-others \"npm run watch-storybook\" \"npm run watch-prod-tailwind\"",
21
- "watch-prod-tailwind": "watch 'npm run build-tailwind' ./src/assets",
22
- "watch-tailwind": "watch 'npm run build-temp-tailwind' ./src/assets",
8
+ "build": "tsc -p tsconfig.json && npm run build:tailwind",
9
+ "full-publish": "npm run lint && npm run build && npm publish --tag beta",
23
10
  "kill-port": "sh ./scripts/kill-port.sh",
24
- "storybook": "concurrently \"npm run kill-port\" \"npm run watch-prod-tailwind\" \"storybook dev -p 6006\""
11
+ "build:tailwind": "tailwindcss build -i src/assets/scss/base.scss -o dist/css/psui_styles_output.css -c tailwind.config.js",
12
+ "watch:tailwind": "watch 'npm run build:tailwind' dist/css"
25
13
  },
14
+ "main": "dist/index.js",
15
+ "types": "src/types/index.d.ts",
26
16
  "dependencies": {
27
17
  "@vue/compat": "^3.4.5",
28
18
  "core-js": "^3.6.5",
@@ -30,41 +20,38 @@
30
20
  "vue": "^3.4.5"
31
21
  },
32
22
  "devDependencies": {
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",
23
+ "@typescript-eslint/eslint-plugin": "^5.4.0",
24
+ "@typescript-eslint/parser": "^5.4.0",
44
25
  "@vue/cli-plugin-eslint": "^5.0.8",
26
+ "@vue/cli-plugin-typescript": "~5.0.0",
45
27
  "@vue/cli-service": "~5.0.8",
46
28
  "@vue/compiler-sfc": "^3.4.5",
47
29
  "@vue/eslint-config-prettier": "^9.0.0",
48
- "babel-eslint": "^10.1.0",
30
+ "@vue/eslint-config-typescript": "^9.1.0",
49
31
  "concurrently": "^7.0.0",
50
32
  "eslint": "^8.56.0",
51
33
  "eslint-plugin-prettier": "^5.1.2",
52
- "eslint-plugin-storybook": "^0.6.15",
53
- "eslint-plugin-vue": "^9.19.2",
34
+ "eslint-plugin-vue": "^8.7.1",
54
35
  "postcss": "^8.3.11",
55
36
  "postcss-cli": "^9.0.2",
56
37
  "postcss-import": "^14.0.2",
57
38
  "postcss-nested": "^5.0.6",
58
39
  "prettier": "^3.1.1",
59
- "react": "^18.2.0",
60
- "react-dom": "^18.2.0",
61
- "storybook": "^7.6.7",
62
40
  "tailwindcss": "^3.4.1",
41
+ "ts-loader": "^9.5.1",
42
+ "typescript": "~4.5.5",
63
43
  "vue-eslint-parser": "^9.3.2",
64
44
  "vue-loader": "^17.4.2",
65
- "watch": "^1.0.2"
45
+ "watch": "^1.0.2",
46
+ "webpack": "^5.89.0"
66
47
  },
67
48
  "engines": {
68
- "node": "18.19.0"
69
- }
49
+ "node": "20.11.0"
50
+ },
51
+ "keywords": [
52
+ "vue",
53
+ "ui"
54
+ ],
55
+ "license": "MIT",
56
+ "url": "https://github.com/Policy-Studio/policy-studio-ui-vue"
70
57
  }
package/src/App.vue ADDED
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <img
3
+ alt="Vue logo"
4
+ src="./assets/logo.png"
5
+ >
6
+ <HelloWorld msg="Welcome to Your Vue.js + TypeScript App" />
7
+ </template>
8
+
9
+ <script lang="ts">
10
+ import { defineComponent } from 'vue'
11
+ import HelloWorld from './components/HelloWorld.vue'
12
+
13
+ export default defineComponent({
14
+ name: 'App',
15
+ components: {
16
+ HelloWorld
17
+ }
18
+ })
19
+ </script>
20
+
21
+ <style>
22
+ #app {
23
+ font-family: Avenir, Helvetica, Arial, sans-serif;
24
+ -webkit-font-smoothing: antialiased;
25
+ -moz-osx-font-smoothing: grayscale;
26
+ text-align: center;
27
+ color: #2c3e50;
28
+ margin-top: 60px;
29
+ }
30
+ </style>
@@ -58,7 +58,7 @@
58
58
  td,
59
59
  tr {
60
60
  padding: 7px 16px;
61
- @apply .psui-text-gray-80;
61
+ @apply psui-text-gray-80;
62
62
  }
63
63
  }
64
64
  }
@@ -3,7 +3,7 @@
3
3
  @apply psui-w-full psui-flex psui-flex-col psui-font-medium psui-my-4;
4
4
 
5
5
  .psui-el-dropdown-menu-list-item {
6
- @apply psui-flex psui-items-end psui-justify-between psui-mx-0 psui-text-small psui-text-gray-60 psui-cursor-pointer psui-transition-all psui-show-childrens-on-hover;
6
+ @apply psui-flex psui-items-end psui-justify-between psui-mx-0 psui-text-small psui-text-gray-60 psui-cursor-pointer psui-transition-all;
7
7
  padding: 7px 20px;
8
8
 
9
9
  &-left-label {
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  class="psui-el-accordion-item"
4
- :class="{'status-opened':isOpen, 'disabled':disabled}"
4
+ :class="{ 'status-opened': isOpen, disabled: disabled }"
5
5
  >
6
6
  <div class="psui-el-accordion-item-header">
7
7
  <slot
@@ -24,7 +24,7 @@
24
24
  <i
25
25
  v-if="!disabled"
26
26
  class="psui-el-accordion-item-icon"
27
- >{{ getIcon }}</i>
27
+ >{{ getIcon }}</i>
28
28
  </div>
29
29
  </slot>
30
30
  </div>
@@ -45,84 +45,98 @@
45
45
  </div>
46
46
  </template>
47
47
 
48
- <script>
49
- import { getParentVueComponentByName } from '../../util/GeneralFunctions'
48
+ <script setup>
49
+ import { getParentVueComponentByName } from '../../util/GeneralFunctions.js'
50
+ import { ref, computed, getCurrentInstance } from 'vue'
50
51
 
51
- export default {
52
- name: 'PsAccordionItem',
53
- props: {
54
- /**
55
- * It sets the title of the accordion item.
56
- */
57
- title: {
58
- type: String,
59
- },
60
- /**
61
- * It sets the status of the accordion item when mounted.
62
- */
63
- opened: {
64
- type: [Boolean],
65
- default: false
66
- },
67
- /**
68
- * It sets the text key to get the svg icon in Google Fonts. Make sure to get the correct description of your icon on https://fonts.google.com/.
69
- */
70
- icon: {
71
- type: String
72
- },
73
- /**
74
- * It sets if it has a custom header.
75
- */
76
- hasCustomHeader: {
77
- type: Boolean,
78
- default: false
79
- },
80
- /**
81
- * It sets the disabled status.
82
- */
83
- disabled: {
84
- type: Boolean,
85
- default: false
86
- }
52
+ const localOpened = ref(null)
53
+
54
+ const props = defineProps({
55
+ /**
56
+ * It sets the title of the accordion item.
57
+ */
58
+ title: {
59
+ type: String,
60
+ default: '',
61
+ },
62
+ /**
63
+ * It sets the status of the accordion item when mounted.
64
+ */
65
+ opened: {
66
+ type: [Boolean],
67
+ default: false,
68
+ },
69
+ /**
70
+ * It sets the text key to get the svg icon in Google Fonts. Make sure to get the correct description of your icon on https://fonts.google.com/.
71
+ */
72
+ icon: {
73
+ type: String,
74
+ default: '',
87
75
  },
88
- data() {
89
- return {
90
- localOpened: null,
91
- }
76
+ /**
77
+ * It sets if it has a custom header.
78
+ */
79
+ hasCustomHeader: {
80
+ type: Boolean,
81
+ default: false,
92
82
  },
93
- computed: {
94
- isOpen() {
95
- return this.localOpened !== null ? this.localOpened : this.opened
96
- },
97
- getParent() {
98
- return getParentVueComponentByName(this,'PsAccordion')
99
- },
100
- getIcon(){
101
- if(this.getParent._props.layout === 'medium') return 'expand_more'
102
- if(this.getParent._props.layout === 'big' && this.isOpen === false) return 'add'
103
- if(this.getParent._props.layout === 'big' && this.isOpen === true) return 'remove'
104
- return `${this.icon}`
105
- }
83
+ /**
84
+ * It sets the disabled status.
85
+ */
86
+ disabled: {
87
+ type: Boolean,
88
+ default: false,
106
89
  },
107
- methods: {
108
- toggle() {
109
- if (this.localOpened === null) {
110
- this.localOpened = !this.opened
111
- } else {
112
- this.localOpened = !this.localOpened
113
- }
114
- },
115
- start(el) {
116
- el.style.height = el.scrollHeight + 'px'
117
- el.style.padding = el.srcollPaddingBottom + 'px'
118
- },
119
- end(el) {
120
- el.style.height = ''
121
- el.style.padding = ''
122
- }
90
+ })
91
+
92
+ const isOpen = computed(() => {
93
+ return localOpened.value !== null ? localOpened.value : props.opened
94
+ })
95
+
96
+ const getParent = computed(() => {
97
+ const instance = getCurrentInstance()
98
+
99
+ if (instance?.parent) {
100
+ return getParentVueComponentByName(instance.parent, 'PsAccordion')
101
+ }
102
+
103
+ if (instance.proxy && instance.proxy.$parent) {
104
+ return getParentVueComponentByName(instance.proxy.$parent, 'PsAccordion')
105
+ }
106
+
107
+ return null
108
+ })
109
+
110
+ const getIcon = computed(() => {
111
+ if (!getParent.value) return
112
+
113
+ const layout = getParent.value._props ? getParent.value._props.layout : getParent?.value?.props.layout.default
114
+ if (layout === 'medium') return 'expand_more'
115
+ if (layout === 'big' && isOpen.value === false) return 'add'
116
+ if (layout === 'big' && isOpen.value === true) return 'remove'
117
+ return `${props.icon}`
118
+ })
119
+
120
+ const toggle = () => {
121
+ if (localOpened.value === null) {
122
+ localOpened.value = !props.opened
123
+ } else {
124
+ localOpened.value = !localOpened.value
123
125
  }
124
126
  }
127
+ const start = (el) => {
128
+ el.style.height = el.scrollHeight + 'px'
129
+ el.style.padding = el.srcollPaddingBottom + 'px'
130
+ }
131
+ const end = (el) => {
132
+ el.style.height = ''
133
+ el.style.padding = ''
134
+ }
125
135
  </script>
126
136
 
127
- <style> /* Please, use the file src/assets/scss/components/PsAccordion.scss */</style>
137
+ <style>
138
+ /* Please, use the file src/assets/scss/components/PsAccordion.scss */
139
+ </style>
140
+
141
+
128
142