@avakhula/ui 0.1.20 → 0.1.22

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 (86) hide show
  1. package/dist/index.css +1 -0
  2. package/dist/index.js +13643 -12635
  3. package/dist/index.umd.cjs +91 -83
  4. package/package.json +6 -5
  5. package/src/assets/scss/mixins/dropdown-list-item.scss +3 -3
  6. package/src/assets/scss/mixins/tooltip-position.scss +7 -0
  7. package/src/assets/scss/mixins.scss +2 -2
  8. package/src/assets/scss/style.scss +4 -4
  9. package/src/components/Accordion/Accordion.scss +3 -3
  10. package/src/components/Accordion/Accordion.vue +2 -2
  11. package/src/components/Alert/Alert.vue +1 -1
  12. package/src/components/Alert/alert.scss +2 -2
  13. package/src/components/Avatar/Avatar.vue +2 -2
  14. package/src/components/Badge/Badge.vue +2 -2
  15. package/src/components/Breadcrumbs/Breadcrumbs.vue +7 -2
  16. package/src/components/Breadcrumbs/breadcrumbs.scss +5 -5
  17. package/src/components/Button/Button.vue +2 -2
  18. package/src/components/Button/button.scss +3 -3
  19. package/src/components/Chips/Chips.vue +3 -3
  20. package/src/components/Dropdown/Dropdown.spec.js +0 -0
  21. package/src/components/Dropdown/Dropdown.vue +104 -27
  22. package/src/components/Dropdown/DropdownDivider.vue +1 -1
  23. package/src/components/Dropdown/DropdownItem.vue +1 -1
  24. package/src/components/Dropdown/DropdownList.vue +11 -1
  25. package/src/components/Form/CharactersCount.vue +2 -2
  26. package/src/components/Form/Checkbox/Checkbox.scss +4 -4
  27. package/src/components/Form/Checkbox/Checkbox.vue +1 -1
  28. package/src/components/Form/DatePicker/DatePicker.scss +4 -4
  29. package/src/components/Form/DatePicker/DatePicker.vue +1 -1
  30. package/src/components/Form/FormGroup/FormGroup.vue +2 -2
  31. package/src/components/Form/FormGroup/FormGroupSet.vue +1 -1
  32. package/src/components/Form/Input/Input.vue +7 -4
  33. package/src/components/Form/Input/input.scss +3 -3
  34. package/src/components/Form/Label/Label.vue +2 -2
  35. package/src/components/Form/PhoneInput/PhoneInput.vue +56 -21
  36. package/src/components/Form/PhoneInput/phoneInput.scss +4 -4
  37. package/src/components/Form/Radio/Radio.vue +1 -1
  38. package/src/components/Form/Radio/radio.scss +3 -3
  39. package/src/components/Form/TextEditor/TextEditor.vue +27 -168
  40. package/src/components/Form/TextEditor/Toolbar.vue +723 -0
  41. package/src/components/Form/TextEditor/icons/toolbarIcons.js +8 -0
  42. package/src/components/Form/TextEditor/plugins/imageBlot.js +23 -0
  43. package/src/components/Form/TextEditor/setupTextEditor.js +71 -0
  44. package/src/components/Form/TextEditor/textEditor.scss +9 -357
  45. package/src/components/Form/Textarea/Textarea.spec.js +0 -0
  46. package/src/components/Form/Textarea/Textarea.vue +2 -1
  47. package/src/components/Form/Textarea/textarea.scss +3 -3
  48. package/src/components/Form/Toggle/Toggle.vue +1 -1
  49. package/src/components/Form/Toggle/toggle.scss +3 -3
  50. package/src/components/IconButton/IconButton.scss +2 -2
  51. package/src/components/IconButton/IconButton.vue +6 -4
  52. package/src/components/List.vue +1 -1
  53. package/src/components/Modal/Modal.vue +85 -49
  54. package/src/components/Pagination/Pagination.vue +28 -3
  55. package/src/components/Pagination/pagination.scss +20 -4
  56. package/src/components/Panel/Panel.vue +4 -4
  57. package/src/components/Popover/Popover.vue +7 -2
  58. package/src/components/Popover/popover.scss +3 -3
  59. package/src/components/ProgressBar/ProgressBar.vue +1 -1
  60. package/src/components/ProgressBar/progressBar.scss +1 -1
  61. package/src/components/Sorting/Sorting.vue +1 -1
  62. package/src/components/Sorting/sorting.scss +5 -5
  63. package/src/components/SplitButton/SplitButton.vue +1 -1
  64. package/src/components/SplitButton/SplitButtonItem.vue +1 -1
  65. package/src/components/SplitButton/splitButton.scss +3 -3
  66. package/src/components/StatusIndicator/StatusIndicator.vue +2 -2
  67. package/src/components/Table/Cells/Cell.vue +2 -2
  68. package/src/components/Table/Cells/CheckboxCell.vue +0 -0
  69. package/src/components/Table/Row.vue +1 -1
  70. package/src/components/Table/Table.stories.js +0 -0
  71. package/src/components/Table/Table.vue +0 -0
  72. package/src/components/Tabs/TabDropdown.vue +1 -1
  73. package/src/components/Tabs/Tabs.vue +9 -5
  74. package/src/components/Tabs/tabs.scss +4 -4
  75. package/src/components/TagPill/TagPill.vue +2 -2
  76. package/src/components/ToggleTip/ToggleTip.vue +1 -1
  77. package/src/components/ToggleTip/toggleTip.scss +5 -5
  78. package/src/components/Tooltip/Tooltip.vue +3 -3
  79. package/src/components/TreeSelect/Option.vue +16 -14
  80. package/src/components/TreeSelect/Select.vue +233 -134
  81. package/src/components/TreeSelect/scss/option.scss +6 -6
  82. package/src/components/TreeSelect/scss/select.scss +53 -4
  83. package/src/directives/tooltip/tooltip.js +46 -0
  84. package/src/index.js +6 -1
  85. package/vite.config.js +0 -0
  86. package/dist/style.css +0 -1
@@ -1,7 +1,7 @@
1
- @import "../../../assets/scss/variables/shadows.scss";
2
- @import "../../../assets/scss/variables/colors.scss";
3
- @import "../../../assets/scss/typography.scss";
4
- @import "../../../assets/scss/mixins.scss";
1
+ @use "../../../assets/scss/variables/shadows.scss" as *;
2
+ @use "../../../assets/scss/variables/colors.scss" as *;
3
+ @use "../../../assets/scss/typography.scss" as *;
4
+ @use "../../../assets/scss/mixins.scss" as *;
5
5
 
6
6
  $choice-bg: $gray-100;
7
7
  $choice-border-color: $gray-500;
@@ -35,6 +35,10 @@ $tree-search-border-color: $gray-600;
35
35
  .tree-select {
36
36
  width: 100%;
37
37
 
38
+ .ib-dropdown-menu {
39
+ min-width: 100%;
40
+ }
41
+
38
42
  &.tree-select-custom-trigger-content {
39
43
  width: fit-content;
40
44
  }
@@ -251,4 +255,49 @@ $tree-search-border-color: $gray-600;
251
255
  flex-wrap: wrap;
252
256
  flex-direction: row;
253
257
  }
258
+
259
+ &.disabled-parent-autocheck {
260
+ .tree-select-option {
261
+ &.tree-select-option-indeterminate {
262
+ .ib-checkbox-input {
263
+ background-color: transparent;
264
+
265
+ ion-icon {
266
+ color: $blue-900;
267
+ }
268
+ }
269
+
270
+ .ib-checkbox-body:hover .ib-checkbox-input {
271
+ background-color: transparent!important;
272
+ border-color: #a6ceff !important;
273
+ }
274
+ }
275
+
276
+ &.tree-select-option-checked {
277
+ .ib-checkbox-input {
278
+ border-color: #0060D6;
279
+ background-color: #0060D6;
280
+
281
+ ion-icon {
282
+ color: white;
283
+ }
284
+ }
285
+
286
+ .ib-checkbox-body:hover .ib-checkbox-input {
287
+ background-color: $blue-700 !important;
288
+ border-color: $blue-700 !important;
289
+ }
290
+
291
+ .ib-list {
292
+ .ib-checkbox:not(.ib-checkbox-filled) .ib-checkbox-input {
293
+ background-color: transparent;
294
+
295
+ ion-icon {
296
+ color: $blue-900;
297
+ }
298
+ }
299
+ }
300
+ }
301
+ }
302
+ }
254
303
  }
@@ -43,24 +43,70 @@ const destroyTooltip = (event, el) => {
43
43
  }
44
44
  };
45
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
+
46
78
  const attachTooltipListeners = (el, binding) => {
79
+
47
80
  el.__tooltip_create = () => createTooltip(el, binding);
48
81
  el.__tooltip_destroy = (e) => destroyTooltip(e, el);
82
+ el.__tooltip_scroll = () => handleScroll(el, binding);
83
+ el.__tooltip_track_mouse = trackMousePosition(el);
49
84
 
50
85
  el.addEventListener("mouseenter", el.__tooltip_create);
51
86
  document.addEventListener("mousemove", el.__tooltip_destroy);
87
+ document.addEventListener("mousemove", el.__tooltip_track_mouse);
88
+ document.addEventListener("scroll", el.__tooltip_scroll, true);
52
89
 
53
90
  el.addEventListener("focus", el.__tooltip_create);
54
91
  el.addEventListener("blur", el.__tooltip_destroy, true);
55
92
  };
56
93
 
57
94
  const removeTooltipListeners = (el) => {
95
+ if (el.__tooltip_scroll_timeout) {
96
+ clearTimeout(el.__tooltip_scroll_timeout);
97
+ }
98
+
58
99
  tooltip.destroyTooltip(el);
59
100
  el.removeEventListener("mouseenter", el.__tooltip_create);
60
101
  document.removeEventListener("mousemove", el.__tooltip_destroy);
102
+ document.removeEventListener("mousemove", el.__tooltip_track_mouse);
103
+ document.removeEventListener("scroll", el.__tooltip_scroll, true);
61
104
 
62
105
  el.removeEventListener("focus", el.__tooltip_create);
63
106
  el.removeEventListener("blur", el.__tooltip_destroy, true);
107
+
108
+ delete el.__tooltip_last_mouse_event;
109
+ delete el.__tooltip_scroll_timeout;
64
110
  };
65
111
 
66
112
  export const TooltipDirective = {
package/src/index.js CHANGED
@@ -38,10 +38,15 @@ export { default as IbRadio } from "./components/Form/Radio/Radio.vue";
38
38
  export { default as IbToggle } from "./components/Form/Toggle/Toggle.vue";
39
39
  export { default as IbTextarea } from "./components/Form/Textarea/Textarea.vue";
40
40
  export { default as IbTreeSelect } from "./components/TreeSelect/Select.vue";
41
+ export { default as IbSelect } from "./components/TreeSelect/Select.vue";
41
42
  export { default as IbDatePicker } from "./components/Form/DatePicker/DatePicker.vue";
42
43
  export { default as IbPhoneInput } from "./components/Form/PhoneInput/PhoneInput.vue";
44
+
45
+ // Text Editor
43
46
  export { default as IbTextEditor } from "./components/Form/TextEditor/TextEditor.vue";
44
- export {default as IbCharactersCount } from "./components/Form/CharactersCount.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";
45
50
 
46
51
  // Table
47
52
  export { default as IbTable } from "./components/Table/Table.vue";
package/vite.config.js CHANGED
File without changes