@weni/unnnic-system 3.12.3-alpha-teleports.1 → 3.12.3-alpha.1

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 (97) hide show
  1. package/dist/components/ChartFunnel/DefaultFunnel/ChartDefaultFunnelBase.vue.d.ts.map +1 -1
  2. package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
  3. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts.map +1 -1
  4. package/dist/components/DateFilter/DateFilter.vue.d.ts +81 -2
  5. package/dist/components/Drawer/Drawer.vue.d.ts.map +1 -1
  6. package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
  7. package/dist/components/Input/BaseInput.vue.d.ts +22 -0
  8. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  9. package/dist/components/Input/Input.vue.d.ts +81 -2
  10. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  11. package/dist/components/Input/TextInput.vue.d.ts +52 -1
  12. package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
  13. package/dist/components/InputNext/InputNext.vue.d.ts +1 -1
  14. package/dist/components/ModalNext/ModalNext.vue.d.ts +81 -2
  15. package/dist/components/MultiSelect/MultSelectOption.vue.d.ts +17 -0
  16. package/dist/components/MultiSelect/MultSelectOption.vue.d.ts.map +1 -0
  17. package/dist/components/MultiSelect/index.vue.d.ts +44 -0
  18. package/dist/components/MultiSelect/index.vue.d.ts.map +1 -0
  19. package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
  20. package/dist/components/Select/index.vue.d.ts +44 -0
  21. package/dist/components/Select/index.vue.d.ts.map +1 -0
  22. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +52 -1
  23. package/dist/components/SelectTime/index.vue.d.ts +52 -1
  24. package/dist/components/Switch/Switch.vue.d.ts.map +1 -1
  25. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts.map +1 -1
  26. package/dist/components/Toast/Toast.vue.d.ts.map +1 -1
  27. package/dist/components/index.d.ts +23720 -0
  28. package/dist/components/index.d.ts.map +1 -0
  29. package/dist/components/ui/popover/PopoverOption.vue.d.ts +18 -0
  30. package/dist/components/ui/popover/PopoverOption.vue.d.ts.map +1 -0
  31. package/dist/components/ui/popover/index.d.ts +1 -0
  32. package/dist/components/ui/popover/index.d.ts.map +1 -1
  33. package/dist/{es-4aa88754.mjs → es-239c29c2.mjs} +1 -1
  34. package/dist/{index-ec96f88a.mjs → index-40e176e4.mjs} +9498 -9233
  35. package/dist/lib/layer-manager.d.ts.map +1 -1
  36. package/dist/locales/en.json.d.ts +2 -1
  37. package/dist/locales/es.json.d.ts +2 -1
  38. package/dist/locales/pt_br.json.d.ts +2 -1
  39. package/dist/{pt-br-ec1ec185.mjs → pt-br-5004a35e.mjs} +1 -1
  40. package/dist/style.css +1 -1
  41. package/dist/unnnic.mjs +176 -172
  42. package/dist/unnnic.umd.js +33 -33
  43. package/package.json +1 -1
  44. package/src/assets/scss/scheme-colors.scss +223 -223
  45. package/src/components/ChartFunnel/DefaultFunnel/ChartDefaultFunnelBase.vue +1 -2
  46. package/src/components/ChartFunnel/SvgFunnel/ChartFunnelTwoRows.vue +60 -61
  47. package/src/components/Checkbox/Checkbox.vue +9 -3
  48. package/src/components/CheckboxGroup/CheckboxGroup.vue +7 -5
  49. package/src/components/Chip/Chip.vue +1 -1
  50. package/src/components/Drawer/Drawer.vue +20 -9
  51. package/src/components/Drawer/__tests__/Drawer.spec.js +11 -9
  52. package/src/components/Drawer/__tests__/__snapshots__/Drawer.spec.js.snap +9 -9
  53. package/src/components/FormElement/FormElement.vue +96 -87
  54. package/src/components/Input/BaseInput.vue +21 -2
  55. package/src/components/Input/Input.scss +2 -3
  56. package/src/components/Input/Input.vue +21 -3
  57. package/src/components/Input/TextInput.vue +58 -22
  58. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +5 -1
  59. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +7 -1
  60. package/src/components/ModalDialog/ModalDialog.vue +2 -2
  61. package/src/components/MultiSelect/MultSelectOption.vue +49 -0
  62. package/src/components/MultiSelect/__tests__/MultiSelect.spec.js +556 -0
  63. package/src/components/MultiSelect/__tests__/MultiSelectOption.spec.js +229 -0
  64. package/src/components/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +81 -0
  65. package/src/components/MultiSelect/__tests__/__snapshots__/MultiSelectOption.spec.js.snap +51 -0
  66. package/src/components/MultiSelect/index.vue +224 -0
  67. package/src/components/Radio/Radio.vue +12 -6
  68. package/src/components/Radio/__test__/Radio.spec.js +3 -1
  69. package/src/components/RadioGroup/RadioGroup.vue +18 -10
  70. package/src/components/Select/__tests__/Select.spec.js +422 -0
  71. package/src/components/Select/__tests__/SelectItem.spec.js +330 -0
  72. package/src/components/Select/__tests__/__snapshots__/Popover.spec.js.snap +8 -0
  73. package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +65 -0
  74. package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +15 -0
  75. package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +25 -0
  76. package/src/components/Select/__tests__/__snapshots__/SelectPopover.spec.js.snap +8 -0
  77. package/src/components/Select/index.vue +261 -0
  78. package/src/components/Switch/Switch.vue +10 -3
  79. package/src/components/TemplatePreview/TemplatePreview.vue +28 -25
  80. package/src/components/TemplatePreview/TemplatePreviewModal.vue +10 -10
  81. package/src/components/TemplatePreview/types.d.ts +3 -3
  82. package/src/components/Toast/Toast.vue +12 -8
  83. package/src/components/index.ts +7 -7
  84. package/src/components/ui/dialog/DialogClose.vue +3 -3
  85. package/src/components/ui/drawer/DrawerClose.vue +9 -3
  86. package/src/components/ui/popover/PopoverOption.vue +4 -0
  87. package/src/lib/layer-manager.ts +12 -20
  88. package/src/locales/en.json +2 -1
  89. package/src/locales/es.json +2 -1
  90. package/src/locales/pt_br.json +2 -1
  91. package/src/stories/MultiSelect.stories.js +142 -46
  92. package/src/stories/Select.stories.js +158 -0
  93. package/src/stories/TemplatePreview.stories.js +27 -27
  94. package/src/stories/TemplatePreviewModal.stories.js +31 -31
  95. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +0 -163
  96. package/dist/components/MultiSelect/MultiSelect.vue.d.ts.map +0 -1
  97. package/src/components/MultiSelect/MultiSelect.vue +0 -297
@@ -1,163 +0,0 @@
1
- declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
- isOpen: {
3
- default: boolean;
4
- };
5
- expand: {
6
- default: boolean;
7
- };
8
- label: {
9
- type: StringConstructor;
10
- default: string;
11
- };
12
- modelValue: {
13
- type: ArrayConstructor;
14
- default: () => never[];
15
- };
16
- inputTitle: {
17
- type: StringConstructor;
18
- default: string;
19
- };
20
- hideRadio: {
21
- type: BooleanConstructor;
22
- default: boolean;
23
- };
24
- hideGroupTitle: {
25
- type: BooleanConstructor;
26
- default: boolean;
27
- };
28
- unselectable: {
29
- type: BooleanConstructor;
30
- default: boolean;
31
- };
32
- }>, {}, {
33
- active: boolean;
34
- }, {}, {
35
- handleIsOpenKeyboard(event: any): void;
36
- onClickOutside(): void;
37
- change(indexGroup: any, indexSelected: any): void;
38
- }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
39
- isOpen: {
40
- default: boolean;
41
- };
42
- expand: {
43
- default: boolean;
44
- };
45
- label: {
46
- type: StringConstructor;
47
- default: string;
48
- };
49
- modelValue: {
50
- type: ArrayConstructor;
51
- default: () => never[];
52
- };
53
- inputTitle: {
54
- type: StringConstructor;
55
- default: string;
56
- };
57
- hideRadio: {
58
- type: BooleanConstructor;
59
- default: boolean;
60
- };
61
- hideGroupTitle: {
62
- type: BooleanConstructor;
63
- default: boolean;
64
- };
65
- unselectable: {
66
- type: BooleanConstructor;
67
- default: boolean;
68
- };
69
- }>> & Readonly<{}>, {
70
- label: string;
71
- modelValue: unknown[];
72
- isOpen: boolean;
73
- expand: boolean;
74
- inputTitle: string;
75
- hideRadio: boolean;
76
- hideGroupTitle: boolean;
77
- unselectable: boolean;
78
- }, {}, {
79
- UnnnicIcon: import('vue').DefineComponent<import('../Icon.vue').IconProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
80
- click: (event: Event) => any;
81
- mousedown: (event: Event) => any;
82
- mouseup: (event: Event) => any;
83
- }, string, import('vue').PublicProps, Readonly<import('../Icon.vue').IconProps> & Readonly<{
84
- onClick?: ((event: Event) => any) | undefined;
85
- onMousedown?: ((event: Event) => any) | undefined;
86
- onMouseup?: ((event: Event) => any) | undefined;
87
- }>, {
88
- size: import('../Icon.vue').IconSize;
89
- filled: boolean;
90
- icon: string | null;
91
- clickable: boolean;
92
- scheme: import('../Icon.vue').SchemeColor;
93
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
94
- UnnnicRadio: {
95
- new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {
96
- $emit: (event: "update:modelValue", ...args: any[]) => void;
97
- disabled: boolean;
98
- label: string;
99
- name: string;
100
- modelValue: string | number;
101
- value: string | number;
102
- helper: string;
103
- $props: {
104
- readonly disabled?: boolean | undefined;
105
- readonly label?: string | undefined;
106
- readonly name?: string | undefined;
107
- readonly modelValue?: string | number | undefined;
108
- readonly value?: string | number | undefined;
109
- readonly helper?: string | undefined;
110
- };
111
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLElement, import('vue').ComponentProvideOptions, {
112
- P: {};
113
- B: {};
114
- D: {};
115
- C: {};
116
- M: {};
117
- Defaults: {};
118
- }, Readonly<{}> & Readonly<{}>, {
119
- $emit: (event: "update:modelValue", ...args: any[]) => void;
120
- disabled: boolean;
121
- label: string;
122
- name: string;
123
- modelValue: string | number;
124
- value: string | number;
125
- helper: string;
126
- $props: {
127
- readonly disabled?: boolean | undefined;
128
- readonly label?: string | undefined;
129
- readonly name?: string | undefined;
130
- readonly modelValue?: string | number | undefined;
131
- readonly value?: string | number | undefined;
132
- readonly helper?: string | undefined;
133
- };
134
- }, {}, {}, {}, {}>;
135
- __isFragment?: never;
136
- __isTeleport?: never;
137
- __isSuspense?: never;
138
- } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {
139
- $emit: (event: "update:modelValue", ...args: any[]) => void;
140
- disabled: boolean;
141
- label: string;
142
- name: string;
143
- modelValue: string | number;
144
- value: string | number;
145
- helper: string;
146
- $props: {
147
- readonly disabled?: boolean | undefined;
148
- readonly label?: string | undefined;
149
- readonly name?: string | undefined;
150
- readonly modelValue?: string | number | undefined;
151
- readonly value?: string | number | undefined;
152
- readonly helper?: string | undefined;
153
- };
154
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
155
- $slots: {
156
- default?(_: {}): any;
157
- };
158
- });
159
- }, {
160
- onClickOutside: any;
161
- }, string, import('vue').ComponentProvideOptions, true, {}, any>;
162
- export default _default;
163
- //# sourceMappingURL=MultiSelect.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiSelect.vue.d.ts","sourceRoot":"","sources":["../../../src/components/MultiSelect/MultiSelect.vue"],"names":[],"mappings":"AA6EA;"}
@@ -1,297 +0,0 @@
1
- <template>
2
- <div
3
- :class="expand ? 'expand-multiselect' : 'normal-multiselect'"
4
- tabindex="-1"
5
- >
6
- <span
7
- v-if="label"
8
- class="select-permission-label"
9
- >{{ label }}</span
10
- >
11
- <div
12
- class="select-permission"
13
- tabindex="0"
14
- @keypress="handleIsOpenKeyboard"
15
- @click="active = !active"
16
- >
17
- <h6 class="title noselect">{{ inputTitle }}</h6>
18
- <UnnnicIcon
19
- :icon="active ? 'arrow-button-up-1' : 'arrow-button-down-1'"
20
- size="sm"
21
- scheme="neutral-dark"
22
- />
23
- </div>
24
- <div
25
- v-if="active"
26
- v-on-click-outside="onClickOutside"
27
- class="select-content"
28
- tabindex="0"
29
- >
30
- <div>
31
- <template
32
- v-for="(group, indexGroup) in modelValue"
33
- :key="`group-${indexGroup}`"
34
- >
35
- <h6
36
- v-if="!hideGroupTitle"
37
- :key="`title-${indexGroup}`"
38
- class="title"
39
- >
40
- {{ group.title }}
41
- </h6>
42
- <section>
43
- <template
44
- v-for="(item, indexItem) in group.items"
45
- :key="`item-${indexItem}`"
46
- >
47
- <div
48
- v-if="hideRadio"
49
- :key="indexItem + 'input'"
50
- class="unnnic-radio-container unnnic-radio-container--sm"
51
- style="cursor: pointer"
52
- @click="change(indexGroup, indexItem)"
53
- >
54
- <strong>{{ item.title }}</strong>
55
- <span>{{ item.description }}</span>
56
- </div>
57
- <UnnnicRadio
58
- v-else
59
- id=""
60
- :key="'else' + indexItem + 'input'"
61
- name=""
62
- :modelValue="group.selected"
63
- :value="indexItem"
64
- size="sm"
65
- class=""
66
- @update:model-value="change(indexGroup, $event)"
67
- >
68
- <strong>{{ item.title }}</strong>
69
- <span>{{ item.description }}</span>
70
- </UnnnicRadio>
71
- </template>
72
- </section>
73
- </template>
74
- </div>
75
- </div>
76
- </div>
77
- </template>
78
-
79
- <script>
80
- import { vOnClickOutside } from '@vueuse/components';
81
- import UnnnicIcon from '../Icon.vue';
82
- import UnnnicRadio from '../Radio/Radio.vue';
83
-
84
- export default {
85
- name: 'UnnnicMultiSelect',
86
- components: {
87
- UnnnicIcon,
88
- UnnnicRadio,
89
- },
90
- directives: {
91
- onClickOutside: vOnClickOutside,
92
- },
93
- props: {
94
- isOpen: {
95
- default: false,
96
- },
97
- expand: {
98
- default: false,
99
- },
100
- label: {
101
- type: String,
102
- default: '',
103
- },
104
- modelValue: {
105
- type: Array,
106
- default: () => [],
107
- },
108
- inputTitle: {
109
- type: String,
110
- default: 'Teste',
111
- },
112
- hideRadio: {
113
- type: Boolean,
114
- default: false,
115
- },
116
- hideGroupTitle: {
117
- type: Boolean,
118
- default: false,
119
- },
120
- unselectable: {
121
- type: Boolean,
122
- default: false,
123
- },
124
- },
125
-
126
- data() {
127
- return {
128
- active: false,
129
- };
130
- },
131
-
132
- watch: {
133
- isOpen() {
134
- this.active = this.open;
135
- },
136
- },
137
- methods: {
138
- handleIsOpenKeyboard(event) {
139
- if (
140
- document.querySelector('.select-permission:focus-visible') &&
141
- event.keyCode === 32
142
- ) {
143
- this.active = !this.active;
144
- }
145
- },
146
-
147
- onClickOutside() {
148
- if (!this.active) return;
149
- this.active = false;
150
- },
151
-
152
- change(indexGroup, indexSelected) {
153
- this.$emit(
154
- 'update:model-value',
155
- this.modelValue.map((item, index) => {
156
- if (index === indexGroup) {
157
- let selected = indexSelected;
158
- if (this.unselectable && item.selected === indexSelected) {
159
- selected = -1;
160
- }
161
- return { ...item, selected };
162
- }
163
-
164
- return item;
165
- }),
166
- );
167
- },
168
- },
169
- };
170
- </script>
171
-
172
- <style lang="scss" scoped>
173
- @use '@/assets/scss/unnnic' as *;
174
-
175
- .normal-multiselect,
176
- .expand-multiselect {
177
- user-select: none;
178
- }
179
-
180
- .normal-multiselect {
181
- position: relative;
182
- max-width: 319px;
183
-
184
- .select-content {
185
- max-width: 319px;
186
- }
187
- }
188
-
189
- .expand-multiselect {
190
- position: relative;
191
- width: 100%;
192
-
193
- .select-content {
194
- width: 100%;
195
- }
196
- }
197
-
198
- .noselect {
199
- -webkit-touch-callout: none; /* iOS Safari */
200
- -webkit-user-select: none; /* Safari */
201
- -khtml-user-select: none; /* Konqueror HTML */
202
- -moz-user-select: none; /* Old versions of Firefox */
203
- -ms-user-select: none; /* Internet Explorer/Edge */
204
- user-select: none; /* Non-prefixed version, currently
205
- supported by Chrome, Edge, Opera and Firefox */
206
- }
207
-
208
- .select-permission,
209
- .select-content > div {
210
- padding: $unnnic-squish-xs;
211
- background-color: $unnnic-color-neutral-snow;
212
-
213
- border-radius: $unnnic-border-radius-sm;
214
- border: $unnnic-border-width-thinner solid $unnnic-color-neutral-soft;
215
- }
216
- .select-permission {
217
- display: flex;
218
- flex-direction: row;
219
- justify-content: space-between;
220
- align-items: center;
221
- line-height: $unnnic-font-size-body-gt + $unnnic-line-height-medium;
222
-
223
- cursor: pointer;
224
- .icon {
225
- margin-left: $unnnic-spacing-inline-xs;
226
- }
227
- }
228
- .select-permission-label {
229
- display: block;
230
-
231
- color: $unnnic-color-neutral-cloudy;
232
- margin-bottom: $unnnic-spacing-stack-xs;
233
-
234
- font-family: $unnnic-font-family-secondary;
235
- font-size: $unnnic-font-size-body-gt;
236
- line-height: $unnnic-font-size-body-gt + $unnnic-line-height-medium;
237
- }
238
-
239
- .title {
240
- font-family: $unnnic-font-family-secondary;
241
- font-size: $unnnic-font-size-body-gt;
242
- margin: 0;
243
- font-weight: $unnnic-font-weight-regular;
244
- color: $unnnic-color-neutral-dark;
245
- }
246
-
247
- .select-content {
248
- position: absolute;
249
- margin-top: $unnnic-spacing-stack-xs;
250
-
251
- > div {
252
- box-shadow: $unnnic-shadow-level-near;
253
- .title {
254
- margin-bottom: $unnnic-spacing-stack-sm;
255
- }
256
-
257
- & section {
258
- display: flex;
259
- flex-direction: column;
260
-
261
- & + h6 {
262
- margin-top: $unnnic-spacing-stack-sm;
263
- padding-top: $unnnic-spacing-stack-sm;
264
- border-top: $unnnic-border-width-thinner solid
265
- $unnnic-color-neutral-darkest;
266
- }
267
-
268
- strong,
269
- span {
270
- display: block;
271
- font-family: $unnnic-font-family-secondary;
272
- font-size: $unnnic-font-size-body-gt;
273
- }
274
-
275
- strong {
276
- font-weight: $unnnic-font-weight-regular;
277
- }
278
- span {
279
- font-weight: $unnnic-font-weight-light;
280
- }
281
-
282
- .unnnic-radio-container {
283
- & + .unnnic-radio-container {
284
- margin-top: $unnnic-spacing-stack-sm;
285
- padding-top: $unnnic-spacing-stack-sm;
286
- border-top: $unnnic-border-width-thinner solid
287
- $unnnic-color-neutral-lightest;
288
- }
289
-
290
- :deep(.unnnic-icon) {
291
- margin-right: $unnnic-inline-xs;
292
- }
293
- }
294
- }
295
- }
296
- }
297
- </style>