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

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 (75) hide show
  1. package/dist/css/psui_styles_output.css +116 -20
  2. package/dist/index.d.ts +2 -1
  3. package/dist/index.js +3 -1
  4. package/dist/index.js.map +1 -1
  5. package/doc/.nvmrc +1 -0
  6. package/doc/.storybook/PolicyStudio.ts +11 -0
  7. package/doc/.storybook/main.ts +27 -0
  8. package/doc/.storybook/manager.ts +7 -0
  9. package/doc/.storybook/preview.ts +16 -0
  10. package/doc/package-lock.json +22653 -0
  11. package/doc/package.json +71 -0
  12. package/doc/shims-vue.d.ts +6 -0
  13. package/doc/src/assets/images/multifamily-units.svg +10 -0
  14. package/doc/src/assets/images/policy-studio.svg +15 -0
  15. package/doc/src/contents/ComparisonData.ts +378 -0
  16. package/doc/src/contents/FlexibleData.ts +502 -0
  17. package/doc/src/contents/ResultsData.ts +531 -0
  18. package/doc/src/stories/Accordion.stories.ts +58 -0
  19. package/doc/src/stories/BadgeWithIcon.stories.ts +31 -0
  20. package/doc/src/stories/BarChart.stories.ts +17 -0
  21. package/doc/src/stories/Breadcrumb.stories.ts +22 -0
  22. package/doc/src/stories/Button.stories.ts +130 -0
  23. package/doc/src/stories/CardInfos.stories.ts +15 -0
  24. package/doc/src/stories/ChartLegend.stories.ts +15 -0
  25. package/doc/src/stories/Checkbox.stories.ts +45 -0
  26. package/doc/src/stories/CheckboxSimple.stories.ts +49 -0
  27. package/doc/src/stories/Chips.stories.ts +30 -0
  28. package/doc/src/stories/ClimateZoneBadge.stories.ts +18 -0
  29. package/doc/src/stories/Collapse.stories.ts +46 -0
  30. package/doc/src/stories/Colors.mdx +70 -0
  31. package/doc/src/stories/CostEffectBar.stories.ts +24 -0
  32. package/doc/src/stories/Datatable.stories.ts +53 -0
  33. package/doc/src/stories/DateCardInfo.stories.ts +20 -0
  34. package/doc/src/stories/Dialog.stories.ts +131 -0
  35. package/doc/src/stories/Draggable.stories.ts +23 -0
  36. package/doc/src/stories/Dropdown.stories.ts +100 -0
  37. package/doc/src/stories/DropdownList.stories.ts +213 -0
  38. package/doc/src/stories/ElevationSystem.mdx +41 -0
  39. package/doc/src/stories/HighlightRippleDot.stories.ts +16 -0
  40. package/doc/src/stories/Icon.stories.ts +23 -0
  41. package/doc/src/stories/InlineSelector.stories.ts +18 -0
  42. package/doc/src/stories/Input.stories.ts +243 -0
  43. package/doc/src/stories/InputSelect.stories.ts +31 -0
  44. package/doc/src/stories/InputTextArea.stories.ts +25 -0
  45. package/doc/src/stories/Introduction.mdx +211 -0
  46. package/doc/src/stories/MiniTag.stories.ts +59 -0
  47. package/doc/src/stories/ProgressBar.stories.ts +24 -0
  48. package/doc/src/stories/RadioButton.stories.ts +40 -0
  49. package/doc/src/stories/RadioButtonSimple.stories.ts +43 -0
  50. package/doc/src/stories/SimpleAlert.stories.ts +22 -0
  51. package/doc/src/stories/Slider.stories.ts +79 -0
  52. package/doc/src/stories/Switch.stories.ts +39 -0
  53. package/doc/src/stories/TabHeader.stories.ts +57 -0
  54. package/doc/src/stories/TableResults.stories.ts +728 -0
  55. package/doc/src/stories/TagScope.stories.ts +18 -0
  56. package/doc/src/stories/TestimonialCard.stories.ts +27 -0
  57. package/doc/src/stories/Toast.stories.ts +52 -0
  58. package/doc/src/stories/Toggle.stories.ts +48 -0
  59. package/doc/src/stories/Tooltip.stories.ts +114 -0
  60. package/doc/src/stories/Typography.mdx +212 -0
  61. package/doc/src/stories/assets/code-brackets.svg +1 -0
  62. package/doc/src/stories/assets/colors.svg +1 -0
  63. package/doc/src/stories/assets/comments.svg +1 -0
  64. package/doc/src/stories/assets/direction.svg +1 -0
  65. package/doc/src/stories/assets/flow.svg +1 -0
  66. package/doc/src/stories/assets/plugin.svg +1 -0
  67. package/doc/src/stories/assets/repo.svg +1 -0
  68. package/doc/src/stories/assets/stackalt.svg +1 -0
  69. package/doc/tsconfig.json +17 -0
  70. package/package.json +1 -1
  71. package/src/assets/scss/base.scss +3 -34
  72. package/src/assets/scss/components/PsAccordion.scss +1 -1
  73. package/src/assets/scss/components/PsCollapse.css +74 -0
  74. package/src/components/collapse/PsCollapse.vue +121 -0
  75. package/src/index.ts +4 -1
@@ -0,0 +1,74 @@
1
+ @layer components {
2
+
3
+ .psui-el-collapse {
4
+
5
+ .psui-el-collapse-item-content {
6
+ @apply psui-relative psui-pl-4;
7
+
8
+ &::before {
9
+ @apply psui-bg-gray-30 psui-ml-2;
10
+ content: "";
11
+ position: absolute;
12
+ top: 0;
13
+ left: 0;
14
+ width: 1px;
15
+ height: 100%;
16
+ transform: translateX(-50%);
17
+ }
18
+ }
19
+
20
+
21
+ &.disabled {
22
+ .psui-el-collapse-item-header {
23
+ .psui-el-collapse-item-header-wrapper {
24
+ @apply psui-text-gray-50 hover:psui-text-gray-50;
25
+ }
26
+ }
27
+ }
28
+
29
+ .psui-el-collapse-item-header {
30
+ @apply psui-flex psui-items-center psui-cursor-pointer;
31
+
32
+ .psui-el-collapse-item-icon {
33
+ @apply psui-text-gray-50 psui-transition-all;
34
+ transition-duration: 0.4s;
35
+ font-size: 16px;
36
+ }
37
+
38
+ .psui-el-collapse-item-header-wrapper {
39
+ @apply psui-flex psui-items-center psui-py-2 psui-text-small psui-w-full psui-text-gray-70 hover:psui-text-blue-60;
40
+
41
+ .psui-el-collapse-item-title {
42
+ @apply psui-ml-1;
43
+
44
+ }
45
+
46
+ .psui-el-collapse-item-header-action {
47
+ @apply psui-invisible psui-ml-auto;
48
+ }
49
+ }
50
+
51
+ &:hover {
52
+ .psui-el-collapse-item-header-wrapper {
53
+ .psui-el-collapse-item-header-action {
54
+ @apply psui-visible;
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+
61
+ .collapse-fade-enter-active,
62
+ .collapse-fade-leave-active {
63
+ will-change: height, margin-bottom;
64
+ transition: height 0.4s ease-in-out, margin-bottom 0.4s ease-in-out;
65
+ overflow: hidden;
66
+ }
67
+
68
+ .collapse-fade-enter-from,
69
+ .collapse-fade-leave-to {
70
+ height: 0 !important;
71
+ margin-bottom: 0 !important;
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,121 @@
1
+ <template>
2
+ <div
3
+ class="psui-el-collapse"
4
+ :class="{ 'status-opened': isOpen, disabled: disabled }"
5
+ >
6
+ <div
7
+ class="psui-el-collapse-item-header"
8
+ @click="toggle"
9
+ >
10
+ <i
11
+ class="psui-el-collapse-item-icon psui-icon"
12
+ :class="{'psui-rotate-90':isOpen}"
13
+ >chevron_right</i>
14
+ <slot
15
+ name="header"
16
+ :is-open="isOpen"
17
+ >
18
+ <div
19
+ class="psui-el-collapse-item-header-wrapper"
20
+
21
+ v-if="!hasCustomHeader"
22
+ >
23
+ <span
24
+ v-if="title"
25
+ class="psui-el-collapse-item-title"
26
+ >
27
+ {{ title }}
28
+ </span>
29
+ <div class="psui-el-collapse-item-header-action">
30
+ <slot name="header-action" />
31
+ </div>
32
+ </div>
33
+ </slot>
34
+ </div>
35
+ <transition
36
+ name="collapse-fade"
37
+ @enter="start"
38
+ @after-enter="end"
39
+ @before-leave="start"
40
+ @after-leave="end"
41
+ >
42
+ <div
43
+ v-if="isOpen"
44
+ class="psui-el-collapse-item-content"
45
+ >
46
+ <slot name="content" />
47
+ </div>
48
+ </transition>
49
+ </div>
50
+ </template>
51
+
52
+ <script setup>
53
+ import { ref, computed } from 'vue'
54
+
55
+ const localOpened = ref(null)
56
+
57
+ const props = defineProps({
58
+ /**
59
+ * It sets the title of the accordion item.
60
+ */
61
+ title: {
62
+ type: String,
63
+ default: '',
64
+ },
65
+ /**
66
+ * It sets the status of the accordion item when mounted.
67
+ */
68
+ opened: {
69
+ type: [Boolean],
70
+ default: false,
71
+ },
72
+ /**
73
+ * 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/.
74
+ */
75
+ icon: {
76
+ type: String,
77
+ default: '',
78
+ },
79
+ /**
80
+ * It sets if it has a custom header.
81
+ */
82
+ hasCustomHeader: {
83
+ type: Boolean,
84
+ default: false,
85
+ },
86
+ /**
87
+ * It sets the disabled status.
88
+ */
89
+ disabled: {
90
+ type: Boolean,
91
+ default: false,
92
+ },
93
+ })
94
+
95
+ const isOpen = computed(() => {
96
+ return localOpened.value !== null ? localOpened.value : props.opened
97
+ })
98
+
99
+ const toggle = () => {
100
+ if (localOpened.value === null) {
101
+ localOpened.value = !props.opened
102
+ } else {
103
+ localOpened.value = !localOpened.value
104
+ }
105
+ }
106
+ const start = (el) => {
107
+ el.style.height = el.scrollHeight + 'px'
108
+ el.style.padding = el.srcollPaddingBottom + 'px'
109
+ }
110
+ const end = (el) => {
111
+ el.style.height = ''
112
+ el.style.padding = ''
113
+ }
114
+ </script>
115
+
116
+ <style>
117
+ /* Please, use the file src/assets/scss/components/PsCollapse.scss */
118
+ </style>
119
+
120
+
121
+
package/src/index.ts CHANGED
@@ -48,6 +48,7 @@ import PsTagScope from '../src/components/badges-and-tags/PsTagScope.vue'
48
48
  import PsBarChart from '../src/components/data-graphics/PsBarChart.vue'
49
49
  import PsSimpleAlert from '../src/components/notifications/PsSimpleAlert.vue'
50
50
  import PsBreadcrumb from '../src/components/navigations/PsBreadcrumb.vue'
51
+ import PsCollapse from '../src/components/collapse/PsCollapse.vue'
51
52
 
52
53
 
53
54
  export default {
@@ -97,6 +98,7 @@ export default {
97
98
  Vue.component('PsBarChart',PsBarChart)
98
99
  Vue.component('PsSimpleAlert',PsSimpleAlert)
99
100
  Vue.component('PsBreadcrumb', PsBreadcrumb)
101
+ Vue.component('PsCollapse', PsCollapse)
100
102
 
101
103
  /**
102
104
  * Initialize directives
@@ -151,6 +153,7 @@ export {
151
153
  PsSimpleAlert,
152
154
  PsBreadcrumb,
153
155
  PsTableResults,
154
- PsTableResultsRow
156
+ PsTableResultsRow,
157
+ PsCollapse
155
158
  }
156
159