@avakhula/ui 0.0.505 → 0.0.506-alpha-spa.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 (185) hide show
  1. package/.babelrc.json +0 -0
  2. package/.eslintrc.cjs +0 -0
  3. package/.nvmrc +0 -0
  4. package/.storybook/main.js +0 -0
  5. package/.storybook/preview-head.html +0 -0
  6. package/.storybook/preview.js +0 -0
  7. package/dist/index.css +1 -0
  8. package/dist/index.js +14352 -12501
  9. package/dist/index.umd.cjs +93 -82
  10. package/package.json +8 -7
  11. package/src/App.vue +7 -126
  12. package/src/assets/scss/mixins/dropdown-list-item.scss +6 -1
  13. package/src/assets/scss/mixins/tooltip-position.scss +0 -0
  14. package/src/assets/scss/mixins.scss +0 -0
  15. package/src/assets/scss/style.scss +0 -0
  16. package/src/assets/scss/typography.scss +3 -3
  17. package/src/assets/scss/variables/colors.json +0 -0
  18. package/src/assets/scss/variables/colors.scss +0 -0
  19. package/src/assets/scss/variables/shadows.json +0 -0
  20. package/src/assets/scss/variables/shadows.scss +0 -0
  21. package/src/components/Accordion/Accordion.scss +0 -0
  22. package/src/components/Accordion/Accordion.stories.js +0 -0
  23. package/src/components/Accordion/Accordion.vue +0 -0
  24. package/src/components/Accordion/Acordion.spec.js +0 -0
  25. package/src/components/Accordion/readme.mdx +0 -0
  26. package/src/components/Alert/Alert.spec.js +0 -0
  27. package/src/components/Alert/Alert.stories.js +0 -0
  28. package/src/components/Alert/Alert.vue +5 -0
  29. package/src/components/Alert/alert.scss +6 -1
  30. package/src/components/Alert/constants.js +0 -0
  31. package/src/components/Alert/readme.mdx +0 -0
  32. package/src/components/Avatar/Avatar.stories.js +5 -1
  33. package/src/components/Avatar/Avatar.vue +25 -2
  34. package/src/components/Avatar/constants.js +6 -0
  35. package/src/components/Badge/Badge.spec.js +0 -0
  36. package/src/components/Badge/Badge.vue +0 -0
  37. package/src/components/Badge/readme.mdx +0 -0
  38. package/src/components/Breadcrumbs/Breadcrumbs.vue +23 -8
  39. package/src/components/Breadcrumbs/breadcrumbs.scss +0 -0
  40. package/src/components/Breadcrumbs/breadcrumbs.stories.js +0 -0
  41. package/src/components/Button/Button.spec.js +0 -0
  42. package/src/components/Button/Button.vue +19 -3
  43. package/src/components/Button/button.scss +5 -0
  44. package/src/components/Button/readme.mdx +0 -0
  45. package/src/components/ButtonGroup/ButtonGroup.stories.js +0 -0
  46. package/src/components/ButtonGroup/readme.mdx +0 -0
  47. package/src/components/Chips/Chips.stories.js +30 -0
  48. package/src/components/Chips/Chips.vue +125 -0
  49. package/src/components/Dropdown/Dropdown.spec.js +0 -0
  50. package/src/components/Dropdown/Dropdown.stories.js +0 -0
  51. package/src/components/Dropdown/Dropdown.vue +93 -23
  52. package/src/components/Dropdown/DropdownDivider.vue +0 -0
  53. package/src/components/Dropdown/DropdownItem.vue +26 -4
  54. package/src/components/Dropdown/DropdownList.stories.js +0 -0
  55. package/src/components/Dropdown/DropdownList.vue +15 -1
  56. package/src/components/Dropdown/readme.mdx +0 -0
  57. package/src/components/Form/CharactersCount.vue +10 -7
  58. package/src/components/Form/Checkbox/Checkbox.scss +0 -0
  59. package/src/components/Form/Checkbox/Checkbox.stories.js +0 -0
  60. package/src/components/Form/Checkbox/Checkbox.vue +24 -11
  61. package/src/components/Form/Checkbox/readme.mdx +0 -0
  62. package/src/components/Form/CheckboxGroup/CheckboxGroup.stories.js +0 -0
  63. package/src/components/Form/CheckboxGroup/CheckboxGroup.vue +15 -0
  64. package/src/components/Form/CheckboxGroup/readme.mdx +2 -0
  65. package/src/components/Form/DatePicker/DatePicker.scss +352 -261
  66. package/src/components/Form/DatePicker/DatePicker.stories.js +0 -0
  67. package/src/components/Form/DatePicker/DatePicker.vue +72 -17
  68. package/src/components/Form/DatePicker/readme.mdx +0 -0
  69. package/src/components/Form/FormGroup/FormGroup.vue +3 -3
  70. package/src/components/Form/FormGroup/FormGroupSet.vue +0 -0
  71. package/src/components/Form/Input/Input.stories.js +0 -0
  72. package/src/components/Form/Input/Input.vue +119 -13
  73. package/src/components/Form/Input/constants.js +0 -0
  74. package/src/components/Form/Input/input.scss +61 -2
  75. package/src/components/Form/Input/readme.mdx +0 -0
  76. package/src/components/Form/Label/Label.stories.js +0 -0
  77. package/src/components/Form/Label/Label.vue +22 -10
  78. package/src/components/Form/Label/readme.mdx +0 -0
  79. package/src/components/Form/PhoneInput/PhoneInput.stories.js +0 -0
  80. package/src/components/Form/PhoneInput/PhoneInput.vue +76 -27
  81. package/src/components/Form/PhoneInput/phoneInput.scss +38 -6
  82. package/src/components/Form/PhoneInput/readme.mdx +0 -0
  83. package/src/components/Form/Radio/Radio.stories.js +0 -0
  84. package/src/components/Form/Radio/Radio.vue +16 -44
  85. package/src/components/Form/Radio/radio.scss +5 -2
  86. package/src/components/Form/Radio/readme.mdx +0 -0
  87. package/src/components/Form/TextEditor/TextEditor.stories.js +0 -0
  88. package/src/components/Form/TextEditor/TextEditor.vue +91 -137
  89. package/src/components/Form/TextEditor/Toolbar.vue +723 -0
  90. package/src/components/Form/TextEditor/icons/toolbarIcons.js +8 -0
  91. package/src/components/Form/TextEditor/plugins/imageBlot.js +23 -0
  92. package/src/components/Form/TextEditor/readme.mdx +0 -0
  93. package/src/components/Form/TextEditor/setupTextEditor.js +71 -0
  94. package/src/components/Form/TextEditor/textEditor.scss +11 -335
  95. package/src/components/Form/Textarea/Textarea.spec.js +0 -0
  96. package/src/components/Form/Textarea/Textarea.stories.js +0 -0
  97. package/src/components/Form/Textarea/Textarea.vue +20 -6
  98. package/src/components/Form/Textarea/readme.mdx +0 -0
  99. package/src/components/Form/Textarea/textarea.scss +30 -2
  100. package/src/components/Form/Toggle/Toggle.stories.js +0 -0
  101. package/src/components/Form/Toggle/Toggle.vue +0 -0
  102. package/src/components/Form/Toggle/readme.mdx +0 -0
  103. package/src/components/Form/Toggle/toggle.scss +0 -0
  104. package/src/components/IconButton/IconButton.scss +11 -0
  105. package/src/components/IconButton/IconButton.vue +10 -3
  106. package/src/components/IconButton/readme.mdx +0 -0
  107. package/src/components/List.vue +0 -0
  108. package/src/components/Modal/Modal.stories.js +0 -0
  109. package/src/components/Modal/Modal.vue +42 -9
  110. package/src/components/Modal/constants.js +0 -0
  111. package/src/components/Modal/readme.mdx +0 -0
  112. package/src/components/Pagination/LimitSelector.vue +5 -0
  113. package/src/components/Pagination/Pagination.vue +36 -4
  114. package/src/components/Pagination/pagination.scss +17 -1
  115. package/src/components/Panel/Panel.stories.js +0 -0
  116. package/src/components/Panel/Panel.vue +68 -2
  117. package/src/components/Popover/Popover.vue +25 -9
  118. package/src/components/Popover/constants.js +0 -0
  119. package/src/components/Popover/popover.scss +1 -1
  120. package/src/components/Popover/readme.mdx +0 -0
  121. package/src/components/ProgressBar/ProgressBar.vue +0 -0
  122. package/src/components/ProgressBar/constants.js +0 -0
  123. package/src/components/ProgressBar/progressBar.scss +0 -0
  124. package/src/components/ProgressBar/readme.mdx +0 -0
  125. package/src/components/Sorting/Sorting.stories.js +0 -0
  126. package/src/components/Sorting/Sorting.vue +24 -26
  127. package/src/components/Sorting/sorting.scss +0 -0
  128. package/src/components/SplitButton/SplitButton.stories.js +0 -0
  129. package/src/components/SplitButton/SplitButton.vue +51 -8
  130. package/src/components/SplitButton/SplitButtonItem.vue +13 -1
  131. package/src/components/SplitButton/readme.mdx +0 -0
  132. package/src/components/SplitButton/splitButton.scss +0 -0
  133. package/src/components/StatusIndicator/StatusIndicator.stories.js +0 -0
  134. package/src/components/StatusIndicator/StatusIndicator.vue +0 -0
  135. package/src/components/StatusIndicator/constants.js +0 -0
  136. package/src/components/StatusIndicator/icons.js +0 -0
  137. package/src/components/StatusIndicator/readme.mdx +0 -0
  138. package/src/components/Table/Cells/Cell.vue +0 -0
  139. package/src/components/Table/Cells/CheckboxCell.vue +0 -0
  140. package/src/components/Table/Row.vue +0 -0
  141. package/src/components/Table/Table.stories.js +0 -0
  142. package/src/components/Table/Table.vue +0 -0
  143. package/src/components/Tabs/Tab.vue +4 -0
  144. package/src/components/Tabs/TabDropdown.vue +0 -0
  145. package/src/components/Tabs/Tabs.stories.js +0 -0
  146. package/src/components/Tabs/Tabs.vue +20 -5
  147. package/src/components/Tabs/tabs.scss +8 -2
  148. package/src/components/TagPill/TagPill.stories.js +0 -0
  149. package/src/components/TagPill/TagPill.vue +6 -0
  150. package/src/components/TagPill/readme.mdx +0 -0
  151. package/src/components/ToggleTip/ToggleTip.vue +0 -0
  152. package/src/components/ToggleTip/constants.js +0 -0
  153. package/src/components/ToggleTip/readme.mdx +0 -0
  154. package/src/components/ToggleTip/toggleTip.scss +0 -0
  155. package/src/components/Tooltip/Tooltip.vue +1 -1
  156. package/src/components/Tooltip/readme.mdx +0 -0
  157. package/src/components/TreeSelect/Option.vue +58 -24
  158. package/src/components/TreeSelect/Select.stories.js +0 -0
  159. package/src/components/TreeSelect/Select.vue +281 -147
  160. package/src/components/TreeSelect/TreeSelect.stories.js +0 -0
  161. package/src/components/TreeSelect/mixins/InfinityLoaderMixin.js +40 -0
  162. package/src/components/TreeSelect/scss/option.scss +31 -0
  163. package/src/components/TreeSelect/scss/select.scss +93 -2
  164. package/src/constants/keyCodes.js +1 -0
  165. package/src/directives/outside/outside.stories.js +0 -0
  166. package/src/directives/outside/readme.mdx +0 -0
  167. package/src/directives/tooltip/TooltipController.js +2 -0
  168. package/src/directives/tooltip/readme.mdx +0 -0
  169. package/src/directives/tooltip/textOverflowTooltip.js +3 -1
  170. package/src/directives/tooltip/tooltip.js +61 -0
  171. package/src/directives/tooltip/tooltip.stories.js +0 -0
  172. package/src/helpers/debounce.js +23 -0
  173. package/src/helpers/removeEvents.js +0 -0
  174. package/src/helpers/stripHtml.js +4 -0
  175. package/src/index.js +7 -0
  176. package/src/main.js +0 -0
  177. package/src/mixins/expandAnimation.js +0 -0
  178. package/src/scripts/parseScssVariables.js +0 -0
  179. package/src/stories/link.readme.mdx +0 -0
  180. package/src/stories/variables/colors.stories.js +0 -0
  181. package/src/stories/variables/shadows.stories.js +0 -0
  182. package/static/docks/button.pdf +0 -0
  183. package/static/favicon.ico +0 -0
  184. package/vite.config.js +0 -0
  185. package/dist/style.css +0 -1
File without changes
@@ -0,0 +1,40 @@
1
+ export default {
2
+ props: {
3
+ infiniteLoader: {
4
+ type: Boolean,
5
+ default: true,
6
+ },
7
+ },
8
+ watch: {
9
+ infiniteLoader(newValue) {
10
+ if (!newValue) {
11
+ infiniteLoaderObserver.disconnect();
12
+ }
13
+ }
14
+ },
15
+ data() {
16
+ return {
17
+ infiniteLoaderObserver: null,
18
+ }
19
+ },
20
+ mounted() {
21
+ if (this.infiniteLoader) {
22
+
23
+ this.infiniteLoaderObserver = new IntersectionObserver((entries) => {
24
+ entries.forEach(entry => {
25
+ if (entry.isIntersecting) {
26
+ this.$emit('loadMoreOptions');
27
+ }
28
+ });
29
+ });
30
+
31
+ this.infiniteLoaderObserver.observe(this.$refs.infinityLoader);
32
+ }
33
+ },
34
+ beforeDestroy() {
35
+ if (this.infiniteLoader) {
36
+ infiniteLoaderObserver?.disconnect();
37
+ }
38
+ },
39
+ emits: ['loadMoreOptions'],
40
+ };
@@ -89,6 +89,14 @@ $option-checked-hover-bg: $blue-50;
89
89
  }
90
90
  }
91
91
 
92
+ &.alphabetic-option {
93
+ max-width: 65px;
94
+ width: 65px;
95
+ &.tree-select-option-checked {
96
+ background-color: white;
97
+ }
98
+ }
99
+
92
100
  .tree-select-option-label {
93
101
  &:hover {
94
102
  background-color: $option-hover-bg;
@@ -110,6 +118,19 @@ $option-checked-hover-bg: $blue-50;
110
118
  }
111
119
  }
112
120
 
121
+ &.has-icon {
122
+ border-top: 1px solid $gray-200;
123
+
124
+ .option-label {
125
+ display: flex;
126
+ align-items: center;
127
+
128
+ ion-icon {
129
+ margin-right: 15px;
130
+ }
131
+ }
132
+ }
133
+
113
134
  .tree-select-option {
114
135
  .toggle-children,
115
136
  .option-label,
@@ -128,6 +149,12 @@ $option-checked-hover-bg: $blue-50;
128
149
  transform: translateX(50px);
129
150
  }
130
151
 
152
+ .bookmarkable-option-content {
153
+ .option-label {
154
+ width: calc(100% - 85px);
155
+ }
156
+ }
157
+
131
158
  .option-label {
132
159
  width: calc(100% - 75px);
133
160
  }
@@ -205,4 +232,8 @@ $option-checked-hover-bg: $blue-50;
205
232
  }
206
233
  }
207
234
  }
235
+
236
+ .disabled {
237
+ color: $neutral-500 !important;
238
+ }
208
239
  }
@@ -20,6 +20,14 @@ $choice-opened-icon-color: $blue-900;
20
20
  $choice-border-error-color: $red-800;
21
21
  $tree-search-border-color: $gray-600;
22
22
 
23
+ .disable {
24
+ .tree-choice {
25
+ background-color: $gray-100 !important;
26
+ color: $neutral-500 !important;
27
+ border-bottom: 1px solid $neutral-500 !important;
28
+ }
29
+ }
30
+
23
31
  .tree-select-error {
24
32
  margin-bottom: 5px;
25
33
  }
@@ -156,7 +164,7 @@ $tree-search-border-color: $gray-600;
156
164
 
157
165
  .ib-input-wrapper {
158
166
  margin-bottom: 6.5px;
159
-
167
+
160
168
  & > div {
161
169
  overflow: visible;
162
170
  }
@@ -166,9 +174,36 @@ $tree-search-border-color: $gray-600;
166
174
  margin: 0;
167
175
  overflow: auto;
168
176
  max-height: 360px;
177
+
178
+ .ib-list {
179
+ max-height: fit-content;
180
+ }
169
181
  }
170
182
  }
171
183
 
184
+ .bookmarkable-option-content {
185
+ display: flex;
186
+ align-items: center;
187
+ width: 100%;
188
+ justify-content: space-between;
189
+
190
+ .option-label {
191
+ width: calc(100% - 65px);
192
+
193
+ ion-icon {
194
+ color: $blue-900;
195
+ }
196
+ }
197
+ }
198
+
199
+ .tree-select-option-label {
200
+ width: 99.5%;
201
+ }
202
+
203
+ .bookmarkable-option-title {
204
+ width: inherit;
205
+ }
206
+
172
207
  .ib-dropdown-menu {
173
208
  position: inherit;
174
209
  }
@@ -178,10 +213,11 @@ $tree-search-border-color: $gray-600;
178
213
  cursor: move;
179
214
  background: transparent;
180
215
  z-index: 2;
216
+ width: 3px;
217
+ transition: background 0.3s;
181
218
 
182
219
  &.ib-dropdown-resizer-left,
183
220
  &.ib-dropdown-resizer-right {
184
- width: 3px;
185
221
  top: 0;
186
222
  bottom: 0;
187
223
  }
@@ -195,6 +231,10 @@ $tree-search-border-color: $gray-600;
195
231
  right: 0;
196
232
  cursor: e-resize;
197
233
  }
234
+
235
+ &:hover {
236
+ background-color: $blue-700;
237
+ }
198
238
  }
199
239
 
200
240
  .tree-select-default-empty {
@@ -205,4 +245,55 @@ $tree-search-border-color: $gray-600;
205
245
  .tree-select-empty {
206
246
  padding: 15px;
207
247
  }
248
+
249
+ .alphabetic-list {
250
+ display: flex;
251
+ flex-wrap: wrap;
252
+ flex-direction: row;
253
+ }
254
+
255
+ &.disabled-parent-autocheck {
256
+ .tree-select-option {
257
+ &.tree-select-option-indeterminate {
258
+ .ib-checkbox-input {
259
+ background-color: transparent;
260
+
261
+ ion-icon {
262
+ color: $blue-900;
263
+ }
264
+ }
265
+
266
+ .ib-checkbox-body:hover .ib-checkbox-input {
267
+ background-color: transparent!important;
268
+ border-color: #a6ceff !important;
269
+ }
270
+ }
271
+
272
+ &.tree-select-option-checked {
273
+ .ib-checkbox-input {
274
+ border-color: #0060D6;
275
+ background-color: #0060D6;
276
+
277
+ ion-icon {
278
+ color: white;
279
+ }
280
+ }
281
+
282
+ .ib-checkbox-body:hover .ib-checkbox-input {
283
+ background-color: $blue-700 !important;
284
+ border-color: $blue-700 !important;
285
+ }
286
+
287
+ .ib-list {
288
+ .ib-checkbox:not(.ib-checkbox-filled) .ib-checkbox-input {
289
+ background-color: transparent;
290
+
291
+ ion-icon {
292
+ color: $blue-900;
293
+ }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ }
208
299
  }
@@ -6,3 +6,4 @@ export const ARROW_UP_KEY_CODE = 38;
6
6
  export const ARROW_LEFT_KEY_CODE = 37;
7
7
  export const ARROW_RIGHT_KEY_CODE = 39;
8
8
  export const ARROW_DOWN_KEY_CODE = 40;
9
+ export const BACKSPACE_KEY_CODE = 8;
File without changes
File without changes
@@ -37,6 +37,7 @@ export default class Tooltip {
37
37
  position: absolute;
38
38
  top: 0px;
39
39
  left: 0px;
40
+ opacity: 0;
40
41
  `;
41
42
 
42
43
  this.tooltipContainer = document.createElement("div");
@@ -59,6 +60,7 @@ export default class Tooltip {
59
60
 
60
61
  const tooltipStyles = this.getPositionStyle(el, position);
61
62
  this.tooltipContainer.firstChild.setAttribute("style", tooltipStyles);
63
+ this.tooltipContainer.setAttribute("style", {'opacity': 1});
62
64
  }
63
65
  }, 100);
64
66
  }
File without changes
@@ -6,12 +6,14 @@ const tooltip = new Tooltip();
6
6
  const createTooltip = (el, binding) => {
7
7
  if (multiLineOverflows(el)) {
8
8
 
9
+ const position = Object.keys(binding.modifiers)[0] || binding.arg;
10
+
9
11
  const content = {
10
12
  title: binding.value.title || '',
11
13
  text: typeof(binding.value) === 'object' ? binding.value.text : binding.value,
12
14
  }
13
15
 
14
- tooltip.createTooltip(el, content);
16
+ tooltip.createTooltip(el, content, position);
15
17
  }
16
18
  };
17
19
 
@@ -24,6 +24,15 @@ const destroyTooltip = (event, el) => {
24
24
 
25
25
  const tooltipContainer = tooltip.getTooltipContainer();
26
26
 
27
+ if(event.type === "blur") {
28
+ if(!el.contains(event.relatedTarget)) {
29
+ tooltip.destroyTooltip(el);
30
+ }
31
+
32
+ return;
33
+ }
34
+
35
+ // Remove Hover
27
36
  const isMouseOverEl = el !== event.target && !el.contains(event.target);
28
37
  const isMouseOverTooltip =
29
38
  tooltipContainer !== event.target &&
@@ -34,18 +43,70 @@ const destroyTooltip = (event, el) => {
34
43
  }
35
44
  };
36
45
 
46
+ const handleScroll = (el, binding) => {
47
+ tooltip.destroyTooltip(el);
48
+
49
+ if (el.__tooltip_scroll_timeout) {
50
+ clearTimeout(el.__tooltip_scroll_timeout);
51
+ }
52
+
53
+ el.__tooltip_scroll_timeout = setTimeout(() => {
54
+ const rect = el.getBoundingClientRect();
55
+ const mouseEvent = el.__tooltip_last_mouse_event;
56
+
57
+ if (mouseEvent) {
58
+ const { clientX, clientY } = mouseEvent;
59
+ const isOverElement =
60
+ clientX >= rect.left &&
61
+ clientX <= rect.right &&
62
+ clientY >= rect.top &&
63
+ clientY <= rect.bottom;
64
+
65
+ if (isOverElement) {
66
+ createTooltip(el, binding);
67
+ }
68
+ }
69
+ }, 250);
70
+ };
71
+
72
+ const trackMousePosition = (el) => {
73
+ return (e) => {
74
+ el.__tooltip_last_mouse_event = e;
75
+ };
76
+ };
77
+
37
78
  const attachTooltipListeners = (el, binding) => {
79
+
38
80
  el.__tooltip_create = () => createTooltip(el, binding);
39
81
  el.__tooltip_destroy = (e) => destroyTooltip(e, el);
82
+ el.__tooltip_scroll = () => handleScroll(el, binding);
83
+ el.__tooltip_track_mouse = trackMousePosition(el);
40
84
 
41
85
  el.addEventListener("mouseenter", el.__tooltip_create);
42
86
  document.addEventListener("mousemove", el.__tooltip_destroy);
87
+ document.addEventListener("mousemove", el.__tooltip_track_mouse);
88
+ document.addEventListener("scroll", el.__tooltip_scroll, true);
89
+
90
+ el.addEventListener("focus", el.__tooltip_create);
91
+ el.addEventListener("blur", el.__tooltip_destroy, true);
43
92
  };
44
93
 
45
94
  const removeTooltipListeners = (el) => {
95
+ if (el.__tooltip_scroll_timeout) {
96
+ clearTimeout(el.__tooltip_scroll_timeout);
97
+ }
98
+
46
99
  tooltip.destroyTooltip(el);
47
100
  el.removeEventListener("mouseenter", el.__tooltip_create);
48
101
  document.removeEventListener("mousemove", el.__tooltip_destroy);
102
+ document.removeEventListener("mousemove", el.__tooltip_track_mouse);
103
+ document.removeEventListener("scroll", el.__tooltip_scroll, true);
104
+
105
+ el.removeEventListener("focus", el.__tooltip_create);
106
+ el.removeEventListener("blur", el.__tooltip_destroy, true);
107
+
108
+ delete el.__tooltip_last_mouse_event;
109
+ delete el.__tooltip_scroll_timeout;
49
110
  };
50
111
 
51
112
  export const TooltipDirective = {
File without changes
@@ -0,0 +1,23 @@
1
+ export default function debounce(f, ms) {
2
+ let timer = null;
3
+
4
+ function debounced(...args) {
5
+ if (timer) {
6
+ clearTimeout(timer);
7
+ }
8
+
9
+ timer = setTimeout(() => {
10
+ f.apply(this, args);
11
+ timer = null;
12
+ }, ms);
13
+ }
14
+
15
+ debounced.cancel = function() {
16
+ if (timer) {
17
+ clearTimeout(timer);
18
+ timer = null;
19
+ }
20
+ };
21
+
22
+ return debounced;
23
+ }
File without changes
@@ -0,0 +1,4 @@
1
+ export function stripHtml(html) {
2
+ let doc = new DOMParser().parseFromString(html, 'text/html');
3
+ return doc.body.textContent || "";
4
+ };
package/src/index.js CHANGED
@@ -26,6 +26,7 @@ export { default as IbLimitSelector } from "./components/Pagination/LimitSelecto
26
26
  export { default as IbProgressBar } from "./components/ProgressBar/ProgressBar.vue";
27
27
  export { default as IbStatusIndicator } from "./components/StatusIndicator/StatusIndicator.vue";
28
28
  export { default as IbPanel } from "./components/Panel/Panel.vue";
29
+ export { default as IbChips } from "./components/Chips/Chips.vue";
29
30
 
30
31
  // FORM
31
32
  export { default as IbInput } from "./components/Form/Input/Input.vue";
@@ -37,9 +38,15 @@ export { default as IbRadio } from "./components/Form/Radio/Radio.vue";
37
38
  export { default as IbToggle } from "./components/Form/Toggle/Toggle.vue";
38
39
  export { default as IbTextarea } from "./components/Form/Textarea/Textarea.vue";
39
40
  export { default as IbTreeSelect } from "./components/TreeSelect/Select.vue";
41
+ export { default as IbSelect } from "./components/TreeSelect/Select.vue";
40
42
  export { default as IbDatePicker } from "./components/Form/DatePicker/DatePicker.vue";
41
43
  export { default as IbPhoneInput } from "./components/Form/PhoneInput/PhoneInput.vue";
44
+
45
+ // Text Editor
42
46
  export { default as IbTextEditor } from "./components/Form/TextEditor/TextEditor.vue";
47
+ export { default as IbTextEditorToolbar } from "./components/Form/TextEditor/Toolbar.vue";
48
+ export { setupTextEditor } from "./components/Form/TextEditor/setupTextEditor.js";
49
+ export { default as IbCharactersCount } from "./components/Form/CharactersCount.vue";
43
50
 
44
51
  // Table
45
52
  export { default as IbTable } from "./components/Table/Table.vue";
package/src/main.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/vite.config.js CHANGED
File without changes