@avakhula/ui 0.1.19 → 0.1.21

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 (89) hide show
  1. package/dist/index.css +1 -0
  2. package/dist/index.js +13657 -12664
  3. package/dist/index.umd.cjs +92 -84
  4. package/package.json +6 -5
  5. package/src/App.vue +6 -2
  6. package/src/assets/scss/mixins/dropdown-list-item.scss +3 -3
  7. package/src/assets/scss/mixins/tooltip-position.scss +7 -0
  8. package/src/assets/scss/mixins.scss +2 -2
  9. package/src/assets/scss/style.scss +4 -4
  10. package/src/assets/scss/typography.scss +3 -3
  11. package/src/components/Accordion/Accordion.scss +3 -3
  12. package/src/components/Accordion/Accordion.vue +2 -2
  13. package/src/components/Alert/Alert.vue +1 -1
  14. package/src/components/Alert/alert.scss +2 -2
  15. package/src/components/Avatar/Avatar.vue +2 -2
  16. package/src/components/Badge/Badge.vue +2 -2
  17. package/src/components/Breadcrumbs/Breadcrumbs.vue +7 -2
  18. package/src/components/Breadcrumbs/breadcrumbs.scss +5 -5
  19. package/src/components/Button/Button.vue +2 -2
  20. package/src/components/Button/button.scss +3 -3
  21. package/src/components/Chips/Chips.vue +3 -3
  22. package/src/components/Dropdown/Dropdown.spec.js +0 -0
  23. package/src/components/Dropdown/Dropdown.vue +104 -27
  24. package/src/components/Dropdown/DropdownDivider.vue +1 -1
  25. package/src/components/Dropdown/DropdownItem.vue +1 -1
  26. package/src/components/Dropdown/DropdownList.vue +16 -2
  27. package/src/components/Form/CharactersCount.vue +2 -2
  28. package/src/components/Form/Checkbox/Checkbox.scss +4 -4
  29. package/src/components/Form/Checkbox/Checkbox.vue +1 -1
  30. package/src/components/Form/DatePicker/DatePicker.scss +4 -4
  31. package/src/components/Form/DatePicker/DatePicker.vue +1 -1
  32. package/src/components/Form/FormGroup/FormGroup.vue +2 -2
  33. package/src/components/Form/FormGroup/FormGroupSet.vue +1 -1
  34. package/src/components/Form/Input/Input.vue +7 -4
  35. package/src/components/Form/Input/input.scss +3 -3
  36. package/src/components/Form/Label/Label.vue +2 -2
  37. package/src/components/Form/PhoneInput/PhoneInput.vue +56 -21
  38. package/src/components/Form/PhoneInput/phoneInput.scss +4 -4
  39. package/src/components/Form/Radio/Radio.vue +1 -1
  40. package/src/components/Form/Radio/radio.scss +3 -3
  41. package/src/components/Form/TextEditor/TextEditor.vue +27 -168
  42. package/src/components/Form/TextEditor/Toolbar.vue +723 -0
  43. package/src/components/Form/TextEditor/icons/toolbarIcons.js +8 -0
  44. package/src/components/Form/TextEditor/plugins/imageBlot.js +23 -0
  45. package/src/components/Form/TextEditor/setupTextEditor.js +71 -0
  46. package/src/components/Form/TextEditor/textEditor.scss +9 -357
  47. package/src/components/Form/Textarea/Textarea.spec.js +0 -0
  48. package/src/components/Form/Textarea/Textarea.vue +2 -1
  49. package/src/components/Form/Textarea/textarea.scss +3 -3
  50. package/src/components/Form/Toggle/Toggle.vue +1 -1
  51. package/src/components/Form/Toggle/toggle.scss +3 -3
  52. package/src/components/IconButton/IconButton.scss +2 -2
  53. package/src/components/IconButton/IconButton.vue +6 -4
  54. package/src/components/List.vue +1 -1
  55. package/src/components/Modal/Modal.vue +85 -49
  56. package/src/components/Pagination/Pagination.vue +28 -3
  57. package/src/components/Pagination/pagination.scss +20 -4
  58. package/src/components/Panel/Panel.vue +4 -4
  59. package/src/components/Popover/Popover.vue +7 -2
  60. package/src/components/Popover/popover.scss +3 -3
  61. package/src/components/ProgressBar/ProgressBar.vue +1 -1
  62. package/src/components/ProgressBar/progressBar.scss +1 -1
  63. package/src/components/Sorting/Sorting.vue +1 -1
  64. package/src/components/Sorting/sorting.scss +5 -5
  65. package/src/components/SplitButton/SplitButton.vue +1 -1
  66. package/src/components/SplitButton/SplitButtonItem.vue +1 -1
  67. package/src/components/SplitButton/splitButton.scss +3 -3
  68. package/src/components/StatusIndicator/StatusIndicator.vue +2 -2
  69. package/src/components/Table/Cells/Cell.vue +2 -2
  70. package/src/components/Table/Cells/CheckboxCell.vue +0 -0
  71. package/src/components/Table/Row.vue +1 -1
  72. package/src/components/Table/Table.stories.js +0 -0
  73. package/src/components/Table/Table.vue +0 -0
  74. package/src/components/Tabs/Tab.vue +0 -0
  75. package/src/components/Tabs/TabDropdown.vue +1 -1
  76. package/src/components/Tabs/Tabs.vue +9 -5
  77. package/src/components/Tabs/tabs.scss +4 -4
  78. package/src/components/TagPill/TagPill.vue +2 -2
  79. package/src/components/ToggleTip/ToggleTip.vue +1 -1
  80. package/src/components/ToggleTip/toggleTip.scss +5 -5
  81. package/src/components/Tooltip/Tooltip.vue +3 -3
  82. package/src/components/TreeSelect/Option.vue +16 -14
  83. package/src/components/TreeSelect/Select.vue +200 -132
  84. package/src/components/TreeSelect/scss/option.scss +6 -6
  85. package/src/components/TreeSelect/scss/select.scss +53 -4
  86. package/src/directives/tooltip/tooltip.js +46 -0
  87. package/src/index.js +6 -1
  88. package/vite.config.js +0 -0
  89. package/dist/style.css +0 -1
@@ -109,3 +109,11 @@ export const LIST_ALPHABET = `
109
109
  <rect x="7" y="14.5" width="11" height="2" rx="1" class="fill" fill="#1A1A1A"/>
110
110
  </svg>
111
111
  `;
112
+
113
+ export const IMAGE = `
114
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
115
+ <path d="M16.25 3.125H3.75C2.71447 3.125 1.875 3.96447 1.875 5V15C1.875 16.0355 2.71447 16.875 3.75 16.875H16.25C17.2855 16.875 18.125 16.0355 18.125 15V5C18.125 3.96447 17.2855 3.125 16.25 3.125Z" stroke="#1A1A1A" stroke-width="1.25" stroke-linejoin="round"/>
116
+ <path d="M13.125 8.125C13.8154 8.125 14.375 7.56536 14.375 6.875C14.375 6.18464 13.8154 5.625 13.125 5.625C12.4346 5.625 11.875 6.18464 11.875 6.875C11.875 7.56536 12.4346 8.125 13.125 8.125Z" stroke="#1A1A1A" stroke-width="1.25" stroke-miterlimit="10"/>
117
+ <path d="M8.75 16.8741L13.568 12.0561C13.7883 11.8353 14.0832 11.7049 14.3948 11.6904C14.7064 11.676 15.0121 11.7785 15.252 11.978L18.125 14.3741M11.875 13.1159L8.33359 9.58111C8.10824 9.35581 7.80535 9.22508 7.48684 9.21564C7.16832 9.2062 6.85822 9.31876 6.61992 9.53032L1.875 13.7491L11.875 13.1159Z" stroke="#1A1A1A" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
118
+ </svg>
119
+ `;
@@ -0,0 +1,23 @@
1
+ import { Quill } from "@vueup/vue-quill";
2
+
3
+ const ImageBlot = Quill.import('formats/image');
4
+
5
+ class CustomImageBlot extends ImageBlot {
6
+ static create(value) {
7
+ const node = super.create(value);
8
+
9
+ node.setAttribute('data-supernova-id', value);
10
+
11
+ node.setAttribute('src', '#');
12
+ return node;
13
+ }
14
+
15
+ static value(node) {
16
+ return node.getAttribute('data-supernova-id');
17
+ }
18
+ }
19
+
20
+ CustomImageBlot.blotName = 'custom-image';
21
+ CustomImageBlot.tagName = 'img';
22
+
23
+ export default CustomImageBlot;
@@ -0,0 +1,71 @@
1
+ import { Quill } from "@vueup/vue-quill";
2
+ import { AlphabetList, AlphabetListItem } from "./plugins/alphabetList.js";
3
+ import CustomImageBlot from "./plugins/imageBlot.js";
4
+ import {
5
+ ALIGN_CENTER,
6
+ ALIGN_JUSTIFY,
7
+ ALIGN_LEFT,
8
+ ALIGN_RIGHT,
9
+ BOLD,
10
+ CODE,
11
+ ITALIC,
12
+ LINK,
13
+ LIST_ALPHABET,
14
+ LIST_BULLET,
15
+ LIST_ORDERED,
16
+ STRIKE,
17
+ UNDERLINE,
18
+ IMAGE,
19
+ } from "./icons/toolbarIcons.js";
20
+
21
+ // Custom size class for pixel values
22
+ const SizeClass = Quill.import('attributors/class/size');
23
+ SizeClass.whitelist = ['12px', '14px', '16px', '20px', '24px', '36px', '48px'];
24
+
25
+ const SizeStyle = Quill.import('attributors/style/size');
26
+ SizeStyle.whitelist = ['12px', '14px', '16px', '20px', '24px', '36px', '48px'];
27
+
28
+ export function setupTextEditor() {
29
+ Quill.register(Quill.import('attributors/attribute/direction'), true);
30
+ Quill.register(Quill.import('attributors/class/align'), true);
31
+ Quill.register(Quill.import('attributors/class/direction'), true);
32
+ Quill.register(Quill.import('attributors/class/font'), true);
33
+ Quill.register(SizeClass, true);
34
+ Quill.register(Quill.import('attributors/style/align'), true);
35
+ Quill.register(Quill.import('attributors/style/background'), true);
36
+ Quill.register(Quill.import('attributors/style/color'), true);
37
+ Quill.register(Quill.import('attributors/style/direction'), true);
38
+ Quill.register(Quill.import('attributors/style/font'), true);
39
+ Quill.register(SizeStyle, true);
40
+
41
+ setupTextEditorIcons();
42
+ setupTextEditorPlugins();
43
+ }
44
+
45
+ export function setupTextEditorIcons() {
46
+ const icons = Quill.import("ui/icons");
47
+ icons.bold = BOLD;
48
+ icons.italic = ITALIC;
49
+ icons.underline = UNDERLINE;
50
+ icons.strike = STRIKE;
51
+ icons["code-block"] = CODE;
52
+ icons.link = LINK;
53
+ icons.align[""] = ALIGN_LEFT;
54
+ icons.align.center = ALIGN_CENTER;
55
+ icons.align.right = ALIGN_RIGHT;
56
+ icons.align.justify = ALIGN_JUSTIFY;
57
+ icons.list.ordered = LIST_ORDERED;
58
+ icons.list.bullet = LIST_BULLET;
59
+ icons["alphabet-list"] = LIST_ALPHABET;
60
+ icons.image = IMAGE;
61
+
62
+ Quill.register(icons);
63
+ }
64
+
65
+ export function setupTextEditorPlugins() {
66
+ Quill.register({
67
+ "formats/alphabet-list": AlphabetList,
68
+ "formats/alphabet-list/item": AlphabetListItem,
69
+ "formats/custom-image": CustomImageBlot,
70
+ });
71
+ }
@@ -1,7 +1,7 @@
1
- @import "../../../assets/scss/variables/colors.scss";
2
- @import "../../../assets/scss/variables/shadows.scss";
3
- @import "../../../assets/scss/mixins.scss";
4
- @import "../../../assets/scss/typography.scss";
1
+ @use "../../../assets/scss/variables/colors.scss" as *;
2
+ @use "../../../assets/scss/variables/shadows.scss" as *;
3
+ @use "../../../assets/scss/mixins.scss" as *;
4
+ @use "../../../assets/scss/typography.scss" as *;
5
5
 
6
6
  $textarea-error-outline-color: $red-800;
7
7
  // TODO: it's duplicate from /components/Button/button.scss
@@ -84,6 +84,7 @@ ol[type="a"] li {
84
84
  color: $neutral-500;
85
85
  }
86
86
  }
87
+
87
88
  .ql-header.ql-picker {
88
89
  .ql-picker-label:hover,
89
90
  .ql-picker-label {
@@ -178,6 +179,10 @@ ol[type="a"] li {
178
179
 
179
180
  .ql-editor {
180
181
  padding: 0 0 10px 0;
182
+
183
+ img {
184
+ display: inline-block;
185
+ }
181
186
  }
182
187
  }
183
188
 
@@ -244,359 +249,6 @@ ol[type="a"] li {
244
249
  flex-wrap: wrap;
245
250
  margin: 0 -10px;
246
251
  transition: background-color 0.3s;
247
- .toolbar-group {
248
- position: relative;
249
- display: flex;
250
- padding: 0 10px;
251
-
252
- &__label {
253
- display: none;
254
- }
255
-
256
- &:last-child {
257
- &::before {
258
- display: none;
259
- }
260
- }
261
-
262
- &::before {
263
- content: "";
264
- height: 16px;
265
- width: 2px;
266
- background-color: $gray-300;
267
- position: absolute;
268
- right: -1px;
269
- top: 50%;
270
- transform: translateY(-50%);
271
- }
272
-
273
- button {
274
- &:not(:last-child) {
275
- margin-right: 4px;
276
- }
277
- }
278
- }
279
- }
280
-
281
- .ql-picker.ql-placeholder {
282
- width: 118px;
283
-
284
- .ql-picker-options {
285
- [data-value='default'] {
286
- display: none;
287
- }
288
- }
289
- }
290
-
291
- .ql-picker.ql-placeholder > span.ql-picker-label::before {
292
- content: 'Placeholders';
293
- }
294
-
295
- .ql-picker.ql-placeholder > span.ql-picker-options > span.ql-picker-item::before {
296
- content: attr(data-label);
297
- }
298
-
299
- // Headings dropdown
300
- .ql-snow .ql-picker.ql-header .ql-picker-item {
301
- &::before {
302
- @include Ib-H4-regular;
303
- }
304
-
305
- &[data-value="1"]::before {
306
- @include Ib-H1-medium;
307
- }
308
-
309
- &[data-value="2"]::before {
310
- @include Ib-H2-medium;
311
- }
312
-
313
- &[data-value="3"]::before {
314
- @include Ib-H3-medium;
315
- }
316
-
317
- &[data-value="4"]::before {
318
- @include Ib-H4-medium;
319
- }
320
-
321
- &[data-value="5"]::before {
322
- @include Ib-H5-medium;
323
- }
324
-
325
- &[data-value="6"]::before {
326
- @include Ib-H6-medium;
327
- }
328
- }
329
-
330
- .ql-header.ql-picker {
331
- width: 98px;
332
- border-radius: 4px;
333
-
334
- // Is Open
335
- &.ql-expanded {
336
- .ql-picker-label {
337
- background-color: $blue-200;
338
- border-color: transparent;
339
-
340
- &:after {
341
- // Transform color from $neutral-900(#1A1A1A) to $blue-900(#0057C2)
342
- filter: invert(23%) sepia(50%) saturate(4320%) hue-rotate(204deg)
343
- brightness(87%) contrast(101%);
344
- transform: translateY(-50%) rotate(180deg);
345
- }
346
-
347
- &::before {
348
- color: $blue-900;
349
- }
350
- }
351
- }
352
-
353
- .ql-picker-label {
354
- padding: 2.5px 3px;
355
- border: 2px solid transparent;
356
- border-radius: 4px;
357
- overflow: hidden;
358
- transition: border-color 0.3s, background-color 0.3s;
359
-
360
- &::after {
361
- content: "";
362
- background-image: url(./icons/svg/chevron-down.svg);
363
- width: 16px;
364
- height: 16px;
365
- position: absolute;
366
- top: 50%;
367
- transform: translateY(-50%);
368
- right: 0;
369
- transition: transform 0.3s;
370
- }
371
-
372
- &:before {
373
- color: $neutral-900;
374
- @include Ib-H4-regular;
375
- line-height: 15px;
376
- transition: color 0.3s;
377
- }
378
-
379
- &:focus {
380
- border-radius: 4px;
381
- @include focus(4px);
382
- }
383
-
384
- svg {
385
- display: none;
386
- }
387
-
388
- &:hover {
389
- border-color: $blue-300;
390
- background-color: $blue-100;
391
-
392
- &:before {
393
- color: $blue-800;
394
- }
395
-
396
- &::after {
397
- // Transform color from $neutral-900(#1A1A1A) to $blue-800(#0060D6)
398
- filter: invert(76%) sepia(94%) saturate(5659%) hue-rotate(215deg)
399
- brightness(101%) contrast(100%);
400
- }
401
- }
402
-
403
- &:active {
404
- border-color: transparent;
405
- background-color: $blue-200;
406
-
407
- &:before {
408
- color: $blue-900;
409
- }
410
-
411
- &::after {
412
- // Transform color from $neutral-900(#1A1A1A) to $blue-900(#0057C2)
413
- filter: invert(23%) sepia(50%) saturate(4320%) hue-rotate(204deg)
414
- brightness(87%) contrast(101%);
415
- }
416
- }
417
- }
418
- }
419
-
420
- .ql-snow {
421
- .ql-picker-options {
422
- left: -2px;
423
- margin-top: 5px !important;
424
- border-radius: 4px;
425
- padding: 6.5px 0;
426
- background-color: $white;
427
- box-shadow: $ib-shadow-4;
428
-
429
- .ql-picker-item {
430
- height: 36px;
431
- padding: 0px 15px 0px 13px;
432
- display: flex;
433
- align-items: center;
434
- border-left: 2px solid transparent;
435
- transition: border-color 0.3s, background-color 0.3s;
436
- @include focus();
437
-
438
- &:before {
439
- color: $neutral-900;
440
- }
441
-
442
- &:hover {
443
- background-color: $gray-100;
444
- }
445
-
446
- &.ql-selected {
447
- border-color: $blue-900;
448
- background-color: $gray-100;
449
-
450
- &:hover {
451
- background-color: $blue-50;
452
- }
453
- }
454
- }
455
- }
456
- }
457
-
458
- .ql-color-picker {
459
- .ql-picker-label {
460
- padding: 0;
461
- width: 24px;
462
- height: 24px;
463
- max-width: 24px;
464
- max-height: 24px;
465
- min-width: 24px;
466
- min-height: 24px;
467
- line-height: 1px;
468
- display: flex;
469
- align-items: center;
470
- justify-content: center;
471
- border: 2px solid transparent;
472
-
473
- &:hover {
474
- background-color: $blue-100;
475
- border-color: $blue-300;
476
- border-radius: 4px;
477
-
478
- svg {
479
- .ql-stroke {
480
- stroke: $blue-800;
481
- }
482
- }
483
- }
484
-
485
- &:active {
486
- border-color: transparent;
487
- background-color: $blue-200;
488
-
489
- svg {
490
- .ql-stroke {
491
- stroke: $blue-900;
492
- }
493
- }
494
- }
495
-
496
- &:focus {
497
- border-radius: 4px;
498
- @include focus(2px);
499
- }
500
-
501
- svg {
502
- width: 20px;
503
- height: 20px;
504
-
505
- .ql-stroke {
506
- transition: stroke 0.3s;
507
- stroke: $neutral-900;
508
- }
509
- }
510
- }
511
-
512
- &.ql-expanded {
513
- .ql-picker-label {
514
- border-radius: 4px;
515
- background-color: $blue-200;
516
-
517
- svg {
518
- .ql-stroke {
519
- stroke: $blue-900;
520
- }
521
- }
522
- }
523
- }
524
-
525
- &.ql-background {
526
- .ql-picker-item {
527
- &:not([data-value]) {
528
- border: 1px solid $gray-600;
529
- background-color: $white!important;
530
- position: relative;
531
-
532
- &::after {
533
- content: "";
534
- width: 14px;
535
- height: 1px;
536
- background-color: $gray-600;
537
- position: absolute;
538
- top: 50%;
539
- left: 50%;
540
- transform: translate(-50%, -50%) rotate(-45deg);
541
- border-radius: 10px;
542
- }
543
-
544
- &:hover {
545
- background-color: $white!important;
546
- }
547
- }
548
- }
549
- }
550
-
551
- .ql-picker-options {
552
- padding: 7.5px;
553
- width: 162px;
554
-
555
- .ql-picker-item {
556
- width: 16px;
557
- height: 16px;
558
- padding: 0;
559
- border: none;
560
- border-radius: 4px;
561
- margin: 2.5px;
562
- transition: transform 0.2s;
563
-
564
- &[data-value="#ffffff"] {
565
- border: 1px solid $gray-600;
566
- position: relative;
567
- }
568
-
569
- &:hover {
570
- transform: scale(1.2);
571
- }
572
-
573
- &:focus {
574
- @include focus(1px);
575
- }
576
-
577
- &.ql-selected {
578
- position: relative;
579
-
580
- &:first-child {
581
- background-color: black;
582
- }
583
-
584
- &::before {
585
- content: "";
586
- width: calc(100% + 5px);
587
- height: calc(100% + 5px);
588
- border-radius: 4px;
589
- background-color: transparent;
590
- border: 1px solid $gray-600;
591
- position: absolute;
592
- top: -2.5px;
593
- bottom: -2.5px;
594
- right: -2.5px;
595
- left: -2.5px;
596
- }
597
- }
598
- }
599
- }
600
252
  }
601
253
 
602
254
  // Link tooltip
File without changes
@@ -14,6 +14,7 @@
14
14
  <textarea
15
15
  v-bind="$attrs"
16
16
  v-model="val"
17
+ :id="id"
17
18
  @input="onInput"
18
19
  @blur="onBlur"
19
20
  class="ib-textarea"
@@ -111,5 +112,5 @@ export default {
111
112
  </script>
112
113
 
113
114
  <style lang="scss" scoped>
114
- @import "./textarea.scss";
115
+ @use "./textarea.scss" as *;
115
116
  </style>
@@ -1,6 +1,6 @@
1
- @import "../../../assets/scss/variables/colors.scss";
2
- @import "../../../assets/scss/mixins.scss";
3
- @import "../../../assets/scss/typography.scss";
1
+ @use "../../../assets/scss/variables/colors.scss" as *;
2
+ @use "../../../assets/scss/mixins.scss" as *;
3
+ @use "../../../assets/scss/typography.scss" as *;
4
4
 
5
5
  $textarea-bg: $gray-100;
6
6
  $textarea-text-color: $neutral-900;
@@ -122,5 +122,5 @@ export default {
122
122
  </script>
123
123
 
124
124
  <style lang="scss">
125
- @import "./toggle.scss";
125
+ @use "./toggle.scss" as *;
126
126
  </style>
@@ -1,6 +1,6 @@
1
- @import "../../../assets/scss/variables/colors.scss";
2
- @import "../../../assets/scss/typography.scss";
3
- @import "../../../assets/scss/mixins.scss";
1
+ @use "../../../assets/scss/variables/colors.scss" as *;
2
+ @use "../../../assets/scss/typography.scss" as *;
3
+ @use "../../../assets/scss/mixins.scss" as *;
4
4
 
5
5
  $switcher-slider-on: $blue-800;
6
6
  $switcher-slider-on-hover: $blue-700;
@@ -1,5 +1,5 @@
1
- @import "../../assets/scss/variables/colors.scss";
2
- @import "../../assets/scss/mixins.scss";
1
+ @use "../../assets/scss/variables/colors.scss" as *;
2
+ @use "../../assets/scss/mixins.scss" as *;
3
3
 
4
4
  // Disabled button colors
5
5
  $disabled-btn-background: $gray-100;
@@ -6,15 +6,15 @@
6
6
  :kind="kind"
7
7
  :disabled="disabled"
8
8
  :prevent-default="preventDefault"
9
+ v-tooltip="helpText"
9
10
  >
10
11
  <slot></slot>
11
- <ib-tooltip v-if="helpText.length" :text="helpText" />
12
12
  </ib-button>
13
13
  </template>
14
14
 
15
15
  <script>
16
16
  import IbButton from "../Button/Button.vue";
17
- import IbTooltip from "../Tooltip/Tooltip.vue";
17
+ import { TooltipDirective as Tooltip } from "../../directives/tooltip/tooltip"
18
18
  import { iconButtonKindOptions, iconButtonSize } from "./constants.js";
19
19
 
20
20
  export default {
@@ -95,12 +95,14 @@ export default {
95
95
  },
96
96
  components: {
97
97
  IbButton,
98
- IbTooltip,
98
+ },
99
+ directives: {
100
+ Tooltip,
99
101
  },
100
102
  inheritAttrs: false,
101
103
  };
102
104
  </script>
103
105
 
104
106
  <style lang="scss">
105
- @import "./IconButton.scss";
107
+ @use "./IconButton.scss" as *;
106
108
  </style>
@@ -86,7 +86,7 @@ export default {
86
86
  </script>
87
87
 
88
88
  <style lang="scss">
89
- @import "../assets/scss/variables/colors.scss";
89
+ @use "../assets/scss/variables/colors.scss" as *;
90
90
 
91
91
  $item-checked-bg: $gray-100;
92
92
  $item-hover-bg: $gray-100;