@citizenplane/pimp 6.4.0 → 7.0.4

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 (70) hide show
  1. package/.eslintrc.js +3 -6
  2. package/.lintstagedrc.json +4 -0
  3. package/dist/favicon.ico +0 -0
  4. package/dist/pimp.es.js +10617 -0
  5. package/dist/pimp.umd.js +9 -35597
  6. package/dist/style.css +1 -0
  7. package/jest.config.js +11 -11
  8. package/package-lock.json +7966 -13664
  9. package/package.json +37 -41
  10. package/src/App.vue +12 -17
  11. package/src/assets/styles/base/_base.scss +3 -16
  12. package/src/assets/styles/helpers/_keyframes.scss +26 -29
  13. package/src/components/buttons/CpButton.vue +10 -6
  14. package/src/components/core/BaseInputLabel/index.vue +2 -2
  15. package/src/components/core/playground-sections/SectionAtomicElements.vue +1 -1
  16. package/src/components/core/playground-sections/SectionButtons.vue +14 -11
  17. package/src/components/core/playground-sections/SectionDatePickers.vue +31 -17
  18. package/src/components/core/playground-sections/SectionFeedbackIndicators.vue +1 -1
  19. package/src/components/core/playground-sections/SectionInputs.vue +3 -3
  20. package/src/components/core/playground-sections/SectionListsAndTables.vue +2 -2
  21. package/src/components/core/playground-sections/SectionSelectMenus.vue +13 -13
  22. package/src/components/core/playground-sections/SectionSelects.vue +1 -1
  23. package/src/components/core/playground-sections/SectionSimpleInputs.vue +20 -18
  24. package/src/components/core/playground-sections/SectionToasters.vue +1 -1
  25. package/src/components/core/playground-sections/SectionToggles.vue +23 -36
  26. package/src/components/core/playground-sections/SectionTypography.vue +1 -1
  27. package/src/components/date-pickers/CpCalendar.vue +60 -14
  28. package/src/components/date-pickers/CpDate.vue +11 -13
  29. package/src/components/date-pickers/CpDatepicker.vue +55 -8
  30. package/src/components/feedback-indicators/CpAlert.vue +5 -15
  31. package/src/components/feedback-indicators/CpToaster.vue +299 -86
  32. package/src/components/helpers-utilities/TransitionExpand.vue +52 -58
  33. package/src/components/index.js +38 -73
  34. package/src/components/inputs/CpInput.vue +20 -55
  35. package/src/components/inputs/CpTextarea.vue +8 -9
  36. package/src/components/lists-and-table/CpTable/CpTableEmptyState/index.vue +1 -6
  37. package/src/components/lists-and-table/CpTable/index.scss +16 -9
  38. package/src/components/lists-and-table/CpTable/index.vue +6 -5
  39. package/src/components/selects/CpSelect.vue +10 -11
  40. package/src/components/selects/CpSelectMenu/index.vue +13 -23
  41. package/src/components/toggles/CpCheckbox/index.scss +8 -5
  42. package/src/components/toggles/CpCheckbox/index.vue +3 -7
  43. package/src/components/toggles/CpRadio/index.scss +14 -11
  44. package/src/components/toggles/CpRadio/index.vue +34 -47
  45. package/src/components/toggles/CpSwitch/index.vue +18 -17
  46. package/src/components/typography/CpHeading/index.vue +2 -2
  47. package/src/components/visual/CpIcon.vue +156 -0
  48. package/src/directives/ClickOutside.js +13 -0
  49. package/src/directives/ResizeSelect.js +1 -1
  50. package/src/libs/CoreDatepicker.vue +127 -133
  51. package/src/main.js +16 -10
  52. package/src/plugins/toaster.js +69 -0
  53. package/src/utils/constants/src/Intent.js +4 -4
  54. package/vite.config.js +45 -0
  55. package/dist/demo.html +0 -10
  56. package/dist/img/chevron-down-icon.dd31db33.svg +0 -3
  57. package/dist/pimp.common.js +0 -35587
  58. package/dist/pimp.common.js.map +0 -1
  59. package/dist/pimp.css +0 -1
  60. package/dist/pimp.umd.js.map +0 -1
  61. package/dist/pimp.umd.min.js +0 -2
  62. package/dist/pimp.umd.min.js.map +0 -1
  63. package/public/index.html +0 -17
  64. package/src/components/core/playground-sections/SectionMultiSelects.vue +0 -57
  65. package/src/components/selects/CpMultiselect.vue +0 -211
  66. package/src/helpers/multiselectMixin.js +0 -765
  67. package/src/helpers/pointerMixin.js +0 -135
  68. package/src/libs/CoreMultiSelect.vue +0 -618
  69. package/src/libs/CoreToaster.vue +0 -269
  70. package/vue.config.js +0 -20
@@ -1,135 +0,0 @@
1
- export default {
2
- data() {
3
- return {
4
- pointer: 0,
5
- pointerDirty: false,
6
- }
7
- },
8
- props: {
9
- /**
10
- * Enable/disable highlighting of the pointed value.
11
- * @type {Boolean}
12
- * @default true
13
- */
14
- showPointer: {
15
- type: Boolean,
16
- default: true,
17
- },
18
- optionHeight: {
19
- type: Number,
20
- default: 50,
21
- },
22
- },
23
- computed: {
24
- pointerPosition() {
25
- return this.pointer * this.optionHeight
26
- },
27
- visibleElements() {
28
- return this.optimizedHeight / this.optionHeight
29
- },
30
- },
31
- watch: {
32
- filteredOptions() {
33
- this.pointerAdjust()
34
- },
35
- isOpen() {
36
- this.pointerDirty = false
37
- },
38
- pointer() {
39
- this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString())
40
- },
41
- },
42
- methods: {
43
- optionHighlight(index, option) {
44
- return {
45
- 'multiselect__option--highlight': index === this.pointer && this.showPointer,
46
- 'multiselect__option--selected': this.isSelected(option),
47
- }
48
- },
49
- groupHighlight(index, selectedGroup) {
50
- if (!this.groupSelect) {
51
- return ['multiselect__option--group', 'multiselect__option--disabled']
52
- }
53
-
54
- const group = this.options.find((option) => {
55
- return option['group'][this.groupLabel] === selectedGroup.$groupLabel
56
- })
57
-
58
- let isSelected = false
59
- if (this.value && this.value.length) {
60
- this.value.forEach((val) => {
61
- if (selectedGroup.$groupValue === val.code) isSelected = true
62
- })
63
- }
64
-
65
- return group && !this.wholeGroupDisabled(group)
66
- ? [
67
- 'multiselect__option--group',
68
- { 'multiselect__option--highlight': index === this.pointer && this.showPointer },
69
- { 'multiselect__option--group-selected': this.wholeGroupSelected(group) || isSelected },
70
- ]
71
- : 'multiselect__option--disabled'
72
- },
73
- addPointerElement({ key } = 'Enter') {
74
- /* istanbul ignore else */
75
- if (this.filteredOptions.length > 0) {
76
- this.select(this.filteredOptions[this.pointer], key)
77
- }
78
- this.pointerReset()
79
- },
80
- pointerForward() {
81
- /* istanbul ignore else */
82
- if (this.pointer < this.filteredOptions.length - 1) {
83
- this.pointer++
84
- /* istanbul ignore next */
85
- if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {
86
- this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight
87
- }
88
- /* istanbul ignore else */
89
- if (this.filteredOptions[this.pointer] && this.filteredOptions[this.pointer].$isLabel && !this.groupSelect)
90
- this.pointerForward()
91
- }
92
- this.pointerDirty = true
93
- },
94
- pointerBackward() {
95
- if (this.pointer > 0) {
96
- this.pointer--
97
- /* istanbul ignore else */
98
- if (this.$refs.list.scrollTop >= this.pointerPosition) {
99
- this.$refs.list.scrollTop = this.pointerPosition
100
- }
101
- /* istanbul ignore else */
102
- if (this.filteredOptions[this.pointer] && this.filteredOptions[this.pointer].$isLabel && !this.groupSelect)
103
- this.pointerBackward()
104
- } else {
105
- /* istanbul ignore else */
106
- if (this.filteredOptions[this.pointer] && this.filteredOptions[0].$isLabel && !this.groupSelect)
107
- this.pointerForward()
108
- }
109
- this.pointerDirty = true
110
- },
111
- pointerReset() {
112
- /* istanbul ignore else */
113
- if (!this.closeOnSelect) return
114
- this.pointer = 0
115
- /* istanbul ignore else */
116
- if (this.$refs.list) {
117
- this.$refs.list.scrollTop = 0
118
- }
119
- },
120
- pointerAdjust() {
121
- /* istanbul ignore else */
122
- if (this.pointer >= this.filteredOptions.length - 1) {
123
- this.pointer = this.filteredOptions.length ? this.filteredOptions.length - 1 : 0
124
- }
125
-
126
- if (this.filteredOptions.length > 0 && this.filteredOptions[this.pointer].$isLabel && !this.groupSelect) {
127
- this.pointerForward()
128
- }
129
- },
130
- pointerSet(index) {
131
- this.pointer = index
132
- this.pointerDirty = true
133
- },
134
- },
135
- }