@policystudio/policy-studio-ui-vue 1.0.19 → 1.0.23

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 (68) hide show
  1. package/.eslintrc.js +1 -2
  2. package/.storybook/main.js +10 -2
  3. package/.storybook/preview.js +1 -1
  4. package/README.md +8 -0
  5. package/babel.config.js +3 -0
  6. package/backup-package-lock.json +37194 -0
  7. package/dist/css/psui_styles.css +15709 -14658
  8. package/package.json +32 -21
  9. package/postcss.config.js +2 -0
  10. package/src/assets/scss/base.scss +9 -29
  11. package/src/assets/scss/components/PsAccordion.scss +63 -0
  12. package/src/assets/scss/components/PsButton.scss +145 -0
  13. package/src/assets/scss/components/PsInput.scss +104 -0
  14. package/src/components/accordion/PsAccordion.vue +30 -21
  15. package/src/components/accordion/PsAccordionItem.vue +29 -67
  16. package/src/components/badges-and-tags/PsCardInfos.vue +38 -0
  17. package/src/components/badges-and-tags/PsChartLegend.vue +43 -0
  18. package/src/components/badges-and-tags/PsClimateZoneBadge.vue +18 -0
  19. package/src/components/badges-and-tags/PsCostEffectBar.vue +114 -0
  20. package/src/components/badges-and-tags/PsHighlightRippleDot.vue +78 -0
  21. package/src/components/badges-and-tags/PsMiniTag.vue +46 -0
  22. package/src/components/badges-and-tags/PsProgressBar.vue +0 -0
  23. package/src/components/buttons/PsButton.vue +43 -75
  24. package/src/components/chips/PsChips.vue +46 -38
  25. package/src/components/controls/PsCheckbox.vue +29 -16
  26. package/src/components/controls/PsDraggable.vue +174 -3
  27. package/src/components/controls/PsRadioButton.vue +74 -43
  28. package/src/components/controls/PsSwitch.vue +75 -76
  29. package/src/components/controls/PsToggle.vue +1 -1
  30. package/src/components/datatable/PsDataTable.vue +25 -29
  31. package/src/components/datatable/PsDataTableItem.vue +2 -2
  32. package/src/components/forms/PsInput.vue +122 -102
  33. package/src/components/notifications/PsDialog.vue +37 -18
  34. package/src/components/tabs/PsTabHeader.vue +3 -2
  35. package/src/components/tooltip/PsDialogTooltip.vue +79 -0
  36. package/src/components/tooltip/PsRichTooltip.vue +44 -0
  37. package/src/components/tooltip/PsTooltip.vue +118 -0
  38. package/src/components/ui/PsIcon.vue +87 -24
  39. package/src/index.js +29 -9
  40. package/src/stories/Accordion.stories.js +88 -28
  41. package/src/stories/Button.stories.js +86 -38
  42. package/src/stories/CardInfos.stories.js +16 -0
  43. package/src/stories/ChartLegend.stories.js +16 -0
  44. package/src/stories/Checkbox.stories.js +6 -6
  45. package/src/stories/Chips.stories.js +14 -8
  46. package/src/stories/ClimateZoneBadge.stories.js +24 -0
  47. package/src/stories/Colors.stories.mdx +35 -35
  48. package/src/stories/CostEffectBar.stories.js +23 -0
  49. package/src/stories/Datatable.stories.js +15 -8
  50. package/src/stories/Dialog.stories.js +150 -17
  51. package/src/stories/Draggable.stories.js +22 -0
  52. package/src/stories/Dropdown.stories.js +8 -10
  53. package/src/stories/HighlightRippleDot.stories.js +16 -0
  54. package/src/stories/Input.stories.js +71 -19
  55. package/src/stories/MiniTag.stories.js +46 -0
  56. package/src/stories/ProgressBar.stories.js +23 -0
  57. package/src/stories/RadioButton.stories.js +15 -15
  58. package/src/stories/Slider.stories.js +9 -9
  59. package/src/stories/Swith.stories.js +10 -10
  60. package/src/stories/TabHeader.stories.js +9 -9
  61. package/src/stories/Toast.stories.js +13 -13
  62. package/src/stories/Toggle.stories.js +12 -13
  63. package/src/stories/Tooltip.stories.js +114 -0
  64. package/src/util/GeneralFunctions.js +11 -12
  65. package/src/util/imageLoader.js +50 -0
  66. package/tailwind.config.js +71 -47
  67. package/src/assets/scss/tailwind.css +0 -70643
  68. package/src/assets/scss/tailwind.scss +0 -61088
@@ -0,0 +1,50 @@
1
+ export default ({ imageUrl, onProgress = null, returnsBase64 = true }) => {
2
+ return new Promise((resolve, reject) => {
3
+ var xhr = new XMLHttpRequest()
4
+ var notifiedNotComputable = false
5
+
6
+ xhr.open('GET', imageUrl, true)
7
+ xhr.responseType = 'arraybuffer'
8
+
9
+ xhr.onprogress = (ev) => {
10
+ if (ev.lengthComputable) {
11
+ let progress = parseInt((ev.loaded / ev.total) * 100)
12
+ if(onProgress) onProgress(progress)
13
+ } else {
14
+ if (!notifiedNotComputable) {
15
+ notifiedNotComputable = true
16
+ if(onProgress) onProgress(-1)
17
+ }
18
+ }
19
+ }
20
+
21
+ xhr.onloadend = () => {
22
+ const contentType = xhr.getResponseHeader("Content-Type")
23
+ if (!contentType.includes('image')) {
24
+ reject(xhr)
25
+ } else {
26
+ if (!notifiedNotComputable) {
27
+ if(onProgress) onProgress(100)
28
+ }
29
+
30
+ if(!returnsBase64) {
31
+ resolve()
32
+ } else {
33
+ var options = {}
34
+ var headers = xhr.getAllResponseHeaders()
35
+ var mime = headers.match(/^Content-Type\\:\s*(.*?)$/mi)
36
+ if (mime && mime[1]) options.type = mime[1]
37
+ var blob = new Blob([xhr.response], options)
38
+ resolve(window.URL.createObjectURL(blob))
39
+ }
40
+ }
41
+ }
42
+
43
+ xhr.onerror = () => {
44
+ console.log('asd')
45
+ reject()
46
+ }
47
+
48
+ xhr.send()
49
+ })
50
+ }
@@ -15,40 +15,42 @@ module.exports = {
15
15
  'gray-80': '#28323B',
16
16
 
17
17
  'blue': '#5094D3',
18
- 'blue-10':'#ECF7FB',
19
- 'blue-20':'#E0EFF6',
20
- 'blue-50':'#64B5CE',
21
- 'blue-60':'#318FAC',
22
- 'blue-70':'#00465F',
23
- 'blue-80':'#002A3A',
18
+ 'blue-10': '#ECF7FB',
19
+ 'blue-20': '#E0EFF6',
20
+ 'blue-50': '#64B5CE',
21
+ 'blue-60': '#318FAC',
22
+ 'blue-70': '#00465F',
23
+ 'blue-80': '#002A3A',
24
24
 
25
- 'green-10':'#DEF8E8',
26
- 'green-20':'#5DB883',
27
- 'green-70':'#44A06A',
28
- 'green-80':'#286943',
25
+ 'green-10': '#DEF8E8',
26
+ 'green-20': '#5DB883',
27
+ 'green-70': '#44A06A',
28
+ 'green-80': '#286943',
29
29
 
30
- 'yellow-10':'#FDF3E3',
31
- 'yellow-20':'#EDAB3E',
32
- 'yellow-70':'#B87305',
33
- 'yellow-80':'#834C0D',
30
+ 'yellow-10': '#FDF3E3',
31
+ 'yellow-20': '#EDAB3E',
32
+ 'yellow-70': '#B87305',
33
+ 'yellow-80': '#834C0D',
34
34
 
35
- 'red-10':'#FCEBEB',
36
- 'red-20':'#D65C5A',
37
- 'red-70':'#AA3937',
38
- 'red-80':'#832F2E',
39
-
40
- 'sky': '#518BE2',
41
- 'teal': '#57C0BA',
42
- 'emerald': '#8CCA82',
43
- 'mustard': '#E9CF74',
44
- 'orange': '#FF906D',
45
- 'pink': '#FF77B8',
46
- 'purple': '#9278C9'
35
+ 'red-10': '#FCEBEB',
36
+ 'red-20': '#D65C5A',
37
+ 'red-70': '#AA3937',
38
+ 'red-80': '#832F2E',
39
+
40
+ sky: '#518BE2',
41
+ teal: '#57C0BA',
42
+ emerald: '#8CCA82',
43
+ mustard: '#E9CF74',
44
+ orange: '#FF906D',
45
+ pink: '#FF77B8',
46
+ purple: '#9278C9',
47
+ transparent: 'transparent',
47
48
  },
48
49
  fontFamily: {
49
- 'sans': ['Lato'],
50
+ sans: ['Lato'],
50
51
  },
51
52
  fontSize: {
53
+ big: ['16px', '130%'],
52
54
  small: ['14px', '130%'],
53
55
  xsmall: ['12px', '130%'],
54
56
  accent: ['14px', '130%', { letterSpacing: '0.6px' }],
@@ -60,46 +62,68 @@ module.exports = {
60
62
  h4: ['20px', '120%'],
61
63
  h5: ['18px', '120%'],
62
64
  h6: ['17px', '120%'],
63
- },
65
+ },
64
66
  boxShadow: {
65
- 'elevation--5': '0px 1px 0px #FFFFFF, inset 0px 1px 2px rgba(0, 0, 0, 0.1)',
66
- 'elevation-5': '0px 0px 4px rgba(0, 0, 0, 0.03), 0px 1px 2px rgba(0, 0, 0, 0.1)',
67
- 'elevation-10': '0px 0px 8px rgba(0, 0, 0, 0.04), 0px 2px 5px rgba(0, 0, 0, 0.08)',
68
- 'elevation-20': '0px 0px 8px rgba(0, 0, 0, 0.04), 0px 5px 6px rgba(0, 0, 0, 0.1)',
69
- 'elevation-30': '0px 0px 8px rgba(0, 0, 0, 0.05), 0px 10px 15px rgba(0, 0, 0, 0.15)',
70
- 'elevation-40': '0px 0px 20px rgba(0, 0, 0, 0.05), 0px 30px 60px rgba(0, 0, 0, 0.2)',
67
+ 'elevation--5':
68
+ '0px 1px 0px #FFFFFF, inset 0px 1px 2px rgba(0, 0, 0, 0.1)',
69
+ 'elevation-5':
70
+ '0px 0px 4px rgba(0, 0, 0, 0.03), 0px 1px 2px rgba(0, 0, 0, 0.1)',
71
+ 'elevation-10':
72
+ '0px 0px 8px rgba(0, 0, 0, 0.04), 0px 2px 5px rgba(0, 0, 0, 0.08)',
73
+ 'elevation-20':
74
+ '0px 0px 8px rgba(0, 0, 0, 0.04), 0px 5px 6px rgba(0, 0, 0, 0.1)',
75
+ 'elevation-30':
76
+ '0px 0px 8px rgba(0, 0, 0, 0.05), 0px 10px 15px rgba(0, 0, 0, 0.15)',
77
+ 'elevation-40':
78
+ '0px 0px 20px rgba(0, 0, 0, 0.05), 0px 30px 60px rgba(0, 0, 0, 0.2)',
71
79
  sm: '0px 0px 4px rgba(0, 0, 0, 0.03), 0px 1px 2px rgba(0, 0, 0, 0.1)',
72
- default: '0px 0px 8px rgba(0, 0, 0, 0.04), 0px 2px 5px rgba(0, 0, 0, 0.08)',
80
+ default:
81
+ '0px 0px 8px rgba(0, 0, 0, 0.04), 0px 2px 5px rgba(0, 0, 0, 0.08)',
73
82
  md: '0px 0px 8px rgba(0, 0, 0, 0.04), 0px 5px 6px rgba(0, 0, 0, 0.1)',
74
83
  lg: '0px 0px 8px rgba(0, 0, 0, 0.05), 0px 10px 15px rgba(0, 0, 0, 0.15)',
75
84
  xl: '0px 0px 20px rgba(0, 0, 0, 0.05), 0px 30px 60px rgba(0, 0, 0, 0.2)',
76
85
  inner: '0px 1px 0px #FFFFFF, inset 0px 1px 2px rgba(0, 0, 0, 0.1)',
77
86
  none: 'none',
78
87
  },
79
- borderColor: theme => ({
88
+ borderColor: (theme) => ({
80
89
  ...theme('colors'),
81
90
  DEFAULT: theme('colors.blue-70', 'currentColor'),
82
91
  }),
83
- divideColor: theme => ({
92
+ divideColor: (theme) => ({
84
93
  ...theme('colors'),
85
94
  }),
86
95
  extend: {
87
96
  divideOpacity: {
88
- '10': '0.1',
89
- '20': '0.2',
90
- '95': '0.95',
91
- }
97
+ 10: '0.1',
98
+ 20: '0.2',
99
+ 95: '0.95',
100
+ },
92
101
  },
93
102
  },
94
103
  variants: {
95
104
  boxShadow: ['active'],
96
105
  borderRadius: ['last', 'first'],
97
- backgroundColor: ['responsive', 'hover', 'active', 'focus', 'group-hover', 'even', 'first', 'disabled'],
98
- textColor: ['responsive', 'hover', 'active', 'focus', 'group-hover', 'first', 'disabled'],
106
+ backgroundColor: [
107
+ 'responsive',
108
+ 'hover',
109
+ 'active',
110
+ 'focus',
111
+ 'group-hover',
112
+ 'even',
113
+ 'first',
114
+ 'disabled',
115
+ ],
116
+ textColor: [
117
+ 'responsive',
118
+ 'hover',
119
+ 'active',
120
+ 'focus',
121
+ 'group-hover',
122
+ 'first',
123
+ 'disabled',
124
+ ],
99
125
  borderColor: ['disabled'],
100
- extend: {
101
- },
126
+ extend: {},
102
127
  },
103
- plugins: [
104
- ],
128
+ plugins: [],
105
129
  }