@appscode/design-system 1.1.0-beta.6 → 1.1.0-beta.60

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 (98) hide show
  1. package/base/utilities/_colors.scss +45 -114
  2. package/base/utilities/_global.scss +25 -19
  3. package/base/utilities/_typography.scss +2 -2
  4. package/base/utilities/dark-theme.scss +2 -8
  5. package/components/_ac-alert-box.scss +2 -2
  6. package/components/_ac-code-highlight.scss +9 -12
  7. package/components/_ac-drag.scss +4 -4
  8. package/components/_ac-modal.scss +2 -2
  9. package/components/_ac-select-box.scss +5 -5
  10. package/components/_ac-table.scss +7 -7
  11. package/components/_ac-tabs.scss +29 -26
  12. package/components/_all.scss +8 -5
  13. package/components/_buttons.scss +10 -10
  14. package/components/_getkeeper.scss +110 -0
  15. package/components/_graph.scss +10 -10
  16. package/components/_image-upload.scss +4 -4
  17. package/components/_input-card.scss +232 -0
  18. package/components/{_ac-input.scss → _input.scss} +53 -7
  19. package/components/_left-sidebar-menu.scss +9 -13
  20. package/components/_monaco-editor.scss +2 -2
  21. package/components/_multi-select.scss +589 -0
  22. package/components/_navbar.scss +7 -7
  23. package/components/_nested-list.scss +2 -2
  24. package/components/_overview-info.scss +3 -3
  25. package/components/_pricing-table.scss +5 -5
  26. package/components/_progress-bar.scss +61 -74
  27. package/components/_subscription-card.scss +8 -10
  28. package/components/_table-of-content.scss +4 -4
  29. package/components/{_ac-terminal.scss → _terminal.scss} +63 -74
  30. package/components/_widget-menu.scss +7 -12
  31. package/components/_wizard.scss +13 -286
  32. package/components/bbum/_information-center.scss +8 -10
  33. package/components/bbum/_mobile-desktop.scss +9 -14
  34. package/components/bbum/_single-post-preview.scss +9 -9
  35. package/components/ui-builder/_ui-builder.scss +194 -10
  36. package/components/ui-builder/_vue-open-api.scss +58 -13
  37. package/icons/close-icon.svg +3 -0
  38. package/layouts/_code-preview.scss +6 -7
  39. package/package.json +1 -1
  40. package/vue-components/types/importFlow.ts +16 -0
  41. package/vue-components/types/notification.ts +3 -3
  42. package/vue-components/types/table.ts +1 -0
  43. package/vue-components/v2/banner/Banner.vue +1 -1
  44. package/vue-components/v2/editor/FilteredFileEditor.vue +2 -2
  45. package/vue-components/v2/modal/Modal.vue +1 -1
  46. package/vue-components/v2/pagination/Pagination.vue +1 -0
  47. package/vue-components/v3/alert/Alert.vue +2 -2
  48. package/vue-components/v3/banner/Banner.vue +2 -2
  49. package/vue-components/v3/breadcrumbs/Breadcrumb.vue +66 -4
  50. package/vue-components/v3/button/Button.vue +33 -11
  51. package/vue-components/v3/cards/Cluster.vue +6 -2
  52. package/vue-components/v3/cards/FeatureCard.vue +1 -1
  53. package/vue-components/v3/cards/FeatureCards.vue +1 -1
  54. package/vue-components/v3/cards/InfoCard.vue +1 -2
  55. package/vue-components/v3/cards/OverviewCard.vue +4 -0
  56. package/vue-components/v3/cards/OverviewCards.vue +10 -2
  57. package/vue-components/v3/cards/Vendor.vue +10 -5
  58. package/vue-components/v3/content/ContentTable.vue +1 -1
  59. package/vue-components/v3/editor/FilteredFileEditor.vue +5 -1
  60. package/vue-components/v3/footer/FooterArea.vue +8 -2
  61. package/vue-components/v3/footer/Info.vue +10 -8
  62. package/vue-components/v3/footer/Status.vue +24 -23
  63. package/vue-components/v3/footer/Usage.vue +20 -30
  64. package/vue-components/v3/form/Form.vue +0 -3
  65. package/vue-components/v3/form-fields/AcSingleInput.vue +3 -8
  66. package/vue-components/v3/header/Header.vue +2 -2
  67. package/vue-components/v3/loaders/InfoCardLoader.vue +18 -60
  68. package/vue-components/v3/loaders/SingleInfoCardLoader.vue +24 -0
  69. package/vue-components/v3/modal/Modal.vue +6 -11
  70. package/vue-components/v3/navbar/NavbarItemContent.vue +1 -1
  71. package/vue-components/v3/navbar/User.vue +4 -4
  72. package/vue-components/v3/notification/AlertBox.vue +233 -3
  73. package/vue-components/v3/notification/Notification.vue +2 -2
  74. package/vue-components/v3/option-dots/Options.vue +3 -2
  75. package/vue-components/v3/pagination/Pagination.vue +2 -1
  76. package/vue-components/v3/preloader/Preloader.vue +1 -1
  77. package/vue-components/v3/sidebar/ClusterSwitcher.vue +1 -761
  78. package/vue-components/v3/sidebar/Sidebar.vue +2 -29
  79. package/vue-components/v3/sidebar/SidebarFooter.vue +6 -3
  80. package/vue-components/v3/sidebar/SidebarHeader.vue +1 -1
  81. package/vue-components/v3/sidebar/Steps.vue +55 -51
  82. package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabs.vue +78 -2
  83. package/vue-components/v3/sidebar/sidebar-tabs/SidebarTabsLayout.vue +12 -3
  84. package/vue-components/v3/table/InfoTable.vue +1 -1
  85. package/vue-components/v3/table/Table.vue +47 -21
  86. package/vue-components/v3/table/TableRow.vue +2 -2
  87. package/vue-components/v3/table/table-cell/ArrayCell.vue +2 -2
  88. package/vue-components/v3/table/table-cell/CellValue.vue +1 -1
  89. package/vue-components/v3/table/table-cell/ObjectCell.vue +3 -3
  90. package/vue-components/v3/tag/Tag.vue +1 -0
  91. package/components/_ac-card.scss +0 -0
  92. package/components/_ac-multi-select.scss +0 -780
  93. package/vue-components/types/longRunningTasks.ts +0 -20
  94. package/vue-components/v3/long-running-tasks/LongRunningTaskItem.vue +0 -94
  95. package/vue-components/v3/modals/LongRunningTasksModal.vue +0 -402
  96. package/vue-components/v3/terminal/LongRunningTaskTerminal.vue +0 -151
  97. /package/components/{_ac-accordion.scss → _accordion.scss} +0 -0
  98. /package/components/{_ac-report.scss → _report.scss} +0 -0
@@ -1,6 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  interface Props {
3
3
  type?: string;
4
+ isCollapsible?: boolean;
4
5
  }
5
6
 
6
7
  withDefaults(defineProps<Props>(), {
@@ -49,7 +50,7 @@ withDefaults(defineProps<Props>(), {
49
50
  height: calc(100vh - 80px);
50
51
  overflow-y: auto;
51
52
  padding-top: 4px;
52
- scrollbar-color: $white-100-light transparent;
53
+ scrollbar-color: $white-100 transparent;
53
54
 
54
55
  /* width */
55
56
  &::-webkit-scrollbar {
@@ -196,34 +197,6 @@ withDefaults(defineProps<Props>(), {
196
197
  }
197
198
  }
198
199
  }
199
-
200
- // .ac-options.is-right {
201
- // .option-dots {
202
- // transition: 0.3s;
203
-
204
- // i.fa {
205
- // &.fa-angle-left {
206
- // font-size: 18px;
207
- // }
208
- // }
209
-
210
- // &:active {
211
- // i.fa {
212
- // background-color: $white-100-lighter;
213
- // width: 25px;
214
- // height: 25px;
215
- // text-align: center;
216
- // line-height: 25px;
217
- // border-radius: 50%;
218
- // }
219
- // }
220
-
221
- // &:hover {
222
- // color: $primary !important;
223
- // transform: scale(1.2);
224
- // }
225
- // }
226
- // }
227
200
  }
228
201
 
229
202
  .sidebar-collapsed {
@@ -16,7 +16,7 @@ const AccentColorPicker = defineAsyncComponent(
16
16
  <template>
17
17
  <div class="sidebar-footer">
18
18
  <!-- back button -->
19
- <button class="back-button is-transparent" @click="$emit('toggleSidebar')">
19
+ <button class="back-button is-transparent" data-testid = "sidebar-footer-back-button" @click="$emit('toggleSidebar')">
20
20
  <svg
21
21
  width="18"
22
22
  height="18"
@@ -73,8 +73,11 @@ const AccentColorPicker = defineAsyncComponent(
73
73
  .accent-color-picker {
74
74
  display: none;
75
75
  }
76
- .sidebar-footer .back-button {
77
- width: 100%;
76
+ .sidebar-footer {
77
+ .back-button {
78
+ width: 100%;
79
+ transform: rotate(180deg);
80
+ }
78
81
  }
79
82
  }
80
83
  </style>
@@ -18,7 +18,7 @@ withDefaults(defineProps<Props>(), {
18
18
  <template>
19
19
  <div class="sidebar-header">
20
20
  <!-- hamburger icon -->
21
- <div class="icon hamburger-icon mr-16" @click="$emit('toggleSidebar')">
21
+ <div class="icon hamburger-icon mr-16" data-testid="sidebar-menu-button" @click="$emit('toggleSidebar')">
22
22
  <svg
23
23
  width="18"
24
24
  height="18"
@@ -1,65 +1,69 @@
1
1
  <script lang="ts" setup>
2
2
  import FeCheck from "~icons/fe/check";
3
+ import type { Step } from "../../types/importFlow";
4
+
5
+ interface Props {
6
+ steps?: Step[];
7
+ activeStepIdentifier?: number;
8
+ activeSubStepIdentifier?: number;
9
+ }
10
+
11
+ withDefaults(defineProps<Props>(), {
12
+ steps: () => [],
13
+ activeStepIdentifier: 1,
14
+ activeSubStepIdentifier: 1,
15
+ });
3
16
  </script>
4
17
 
5
18
  <template>
6
- <!-- steps 01-->
7
- <li>
19
+ <li
20
+ v-for="step in steps"
21
+ :key="step.identifier"
22
+ :class="{
23
+ 'is-hidden': !step.isVisible,
24
+ }"
25
+ >
8
26
  <strong
9
- ><span class="step-count is-active">1</span>
10
- <span class="label-text">CLUSTER SELECTION</span></strong
27
+ :class="{
28
+ 'is-active': step.identifier <= activeStepIdentifier,
29
+ }"
11
30
  >
12
- <ul>
13
- <li class="is-active">
14
- <strong
15
- ><span class="step-count"><FeCheck /></span>
16
- <span class="label-text">Select Provider</span></strong
17
- >
18
- </li>
19
- <li>
20
- <strong
21
- ><span class="step-count"><FeCheck /></span>
22
- <span class="label-text">Select Credential</span></strong
23
- >
24
- </li>
25
- <li>
26
- <strong
27
- ><span class="step-count"> <FeCheck /> </span>
28
- <span class="label-text">Select Cluster</span></strong
29
- >
30
- </li>
31
- </ul>
32
- </li>
33
- <!-- steps 01-->
34
-
35
- <!-- steps 02-->
36
- <li>
37
- <strong
38
- ><span class="step-count">2</span>
39
- <span class="label-text">IMPORT</span></strong
31
+ <span
32
+ :class="{
33
+ 'step-count': true,
34
+ 'is-active': step.identifier <= activeStepIdentifier,
35
+ }"
36
+ >{{ step.identifier }}</span
37
+ >
38
+ <span class="label-text">{{ step.title }}</span>
39
+ </strong>
40
+ <ul
41
+ :class="{
42
+ 'is-hidden': step.identifier !== activeStepIdentifier,
43
+ }"
40
44
  >
41
- <ul>
42
- <li>
43
- <strong
44
- ><span class="step-count"><FeCheck /></span>
45
- <span class="label-text">Select Provider</span></strong
46
- >
47
- </li>
48
- <li>
49
- <strong
50
- ><span class="step-count"><FeCheck /></span>
51
- <span class="label-text">Select Credential</span></strong
52
- >
53
- </li>
54
- <li>
55
- <strong
56
- ><span class="step-count"> <FeCheck /> </span>
57
- <span class="label-text">Select Cluster</span></strong
58
- >
45
+ <li
46
+ v-for="substep in step.substeps"
47
+ :key="substep?.identifier"
48
+ :class="{
49
+ 'is-hidden': !substep.isVisible,
50
+ 'is-active': substep.identifier < activeSubStepIdentifier,
51
+ }"
52
+ >
53
+ <strong>
54
+ <span class="step-count"><FeCheck /></span>
55
+ <span
56
+ :class="{
57
+ 'label-text': true,
58
+ 'has-text-weight-semibold':
59
+ substep.identifier <= activeSubStepIdentifier,
60
+ }"
61
+ >{{ substep.title }}</span
62
+ >
63
+ </strong>
59
64
  </li>
60
65
  </ul>
61
66
  </li>
62
- <!-- steps 02-->
63
67
  </template>
64
68
 
65
69
  <style lang="scss" scoped>
@@ -16,7 +16,7 @@
16
16
  a {
17
17
  display: flex;
18
18
  align-items: center;
19
- color: $black-40;
19
+ color: $primary-10;
20
20
  position: relative;
21
21
  z-index: 1;
22
22
  padding: 8px 16px;
@@ -59,8 +59,84 @@
59
59
  opacity: 1;
60
60
  visibility: visible;
61
61
  }
62
+ &.is-danger {
63
+ color: $danger;
64
+ &:hover {
65
+ &::after {
66
+ background-color: $red-90;
67
+ }
68
+ }
69
+ &:after {
70
+ opacity: 1;
71
+ visibility: visible;
72
+ background-color: $red-95;
73
+ }
74
+ }
75
+ &.is-success {
76
+ color: $success;
77
+ &:hover {
78
+ &::after {
79
+ background-color: $green-90;
80
+ }
81
+ }
82
+ &:after {
83
+ opacity: 1;
84
+ visibility: visible;
85
+ background-color: $green-95;
86
+ }
87
+ }
88
+ &.is-warning {
89
+ color: $warning;
90
+ &:hover {
91
+ &::after {
92
+ background-color: $yellow-90;
93
+ }
94
+ }
95
+ &:after {
96
+ opacity: 1;
97
+ visibility: visible;
98
+ background-color: $yellow-95;
99
+ }
100
+ }
62
101
  }
63
- span {
102
+ &.is-danger {
103
+ color: $danger;
104
+ &:hover {
105
+ &::after {
106
+ background-color: $red-90;
107
+ }
108
+ }
109
+ &:after {
110
+ opacity: 1;
111
+ visibility: visible;
112
+ background-color: transparent;
113
+ }
114
+ }
115
+ &.is-success {
116
+ color: $success;
117
+ &:hover {
118
+ &::after {
119
+ background-color: $green-90;
120
+ }
121
+ }
122
+ &:after {
123
+ opacity: 1;
124
+ visibility: visible;
125
+ background-color: transparent;
126
+ }
127
+ }
128
+ &.is-warning {
129
+ color: $warning;
130
+ &:hover {
131
+ &::after {
132
+ background-color: $yellow-90;
133
+ }
134
+ }
135
+ &:after {
136
+ opacity: 1;
137
+ visibility: visible;
138
+ background-color: transparent;
139
+ }
64
140
  }
65
141
  }
66
142
  &.is-open {
@@ -1,4 +1,11 @@
1
- <script lang="ts" setup></script>
1
+ <script lang="ts" setup>
2
+ interface Props {
3
+ isSidebarVisible?: boolean;
4
+ }
5
+ withDefaults(defineProps<Props>(), {
6
+ isSidebarVisible: true,
7
+ });
8
+ </script>
2
9
 
3
10
  <template>
4
11
  <div class="sidebar-tabs-layout is-flex">
@@ -8,7 +15,7 @@
8
15
  </div>
9
16
  <!-- sidebar tabs -->
10
17
 
11
- <div class="content-wrapper">
18
+ <div class="content-wrapper" :class="isSidebarVisible ? 'pl-220' : 'pl-0'">
12
19
  <!-- sidebar content -->
13
20
  <slot name="tabs-content" />
14
21
  <!-- sidebar content -->
@@ -21,8 +28,10 @@
21
28
  position: fixed;
22
29
  background-color: $white-100;
23
30
  }
24
- .content-wrapper {
31
+ .pl-220 {
25
32
  padding-left: 220px;
33
+ }
34
+ .content-wrapper {
26
35
  padding-bottom: 40px;
27
36
  width: 100%;
28
37
  }
@@ -91,7 +91,7 @@ const isFullTableLoaderActive = computed(() => {
91
91
  // INFO TABLE START
92
92
  .table.ac-info-table {
93
93
  background-color: transparent;
94
- border-top: 1px solid $primary-95;
94
+ border-top: 1px solid $primary-93;
95
95
 
96
96
  &.is-fullwidth {
97
97
  tbody {
@@ -77,6 +77,9 @@ const handleScroller = (value: number) => {
77
77
  emit("scroller", value);
78
78
  };
79
79
 
80
+ const headerWidths = ref<number[]>([]);
81
+ const totalWidth = ref<number>(0);
82
+
80
83
  const onWindowResize = () => {
81
84
  if (ac_table.value && props.isDynamicWidthTable) {
82
85
  const tableWidth = ac_table.value.clientWidth;
@@ -108,6 +111,26 @@ const emitSortEvent = (index: number) => {
108
111
  watch(
109
112
  () => props.tableHeaders,
110
113
  (n) => {
114
+ // calculated column width based on percentages
115
+ headerWidths.value = n.map((th) => th.width || 1);
116
+ totalWidth.value = headerWidths.value.reduce((p, c) => p + c, 0);
117
+ let collapsibleWidth = 0;
118
+ let actionsWidth = 0;
119
+ const collapsibleWidthPercent = 70 / (ac_table.value?.clientWidth || 0);
120
+ const actionsWidthPercent = 140 / (ac_table.value?.clientWidth || 0);
121
+ if (props.collapsible) {
122
+ collapsibleWidth =
123
+ (totalWidth.value * collapsibleWidthPercent) /
124
+ (1 - collapsibleWidthPercent);
125
+ headerWidths.value = [collapsibleWidth, ...headerWidths.value];
126
+ }
127
+ if (props.actionable) {
128
+ actionsWidth =
129
+ (totalWidth.value * actionsWidthPercent) / (1 - actionsWidthPercent);
130
+ headerWidths.value = [...headerWidths.value, actionsWidth];
131
+ }
132
+ totalWidth.value += collapsibleWidth + actionsWidth;
133
+
111
134
  if (headerSortables.value.length === n.length) {
112
135
  n.forEach((th, idx) => {
113
136
  if (headerSortables.value[idx].enabled !== !!th?.sort?.enable) {
@@ -156,6 +179,13 @@ onUpdated(() => {
156
179
  // 'is-bordered': columnStriped,
157
180
  }"
158
181
  >
182
+ <colgroup>
183
+ <col
184
+ v-for="(hw, idx) in headerWidths"
185
+ :key="`${hw}-${idx}`"
186
+ :width="`${(hw / totalWidth) * 100}%`"
187
+ />
188
+ </colgroup>
159
189
  <thead>
160
190
  <table-row v-if="isFullTableLoaderActive">
161
191
  <th v-for="i in loaderCols" :key="i">
@@ -199,11 +229,7 @@ onUpdated(() => {
199
229
  <i class="fa fa-exclamation-triangle" />
200
230
  </span>
201
231
  </th>
202
- <th
203
- ref="action-section"
204
- v-if="actionable"
205
- style="min-width: 100px"
206
- ></th>
232
+ <th ref="action-section" v-if="actionable"></th>
207
233
  <fake-table-cell
208
234
  v-if="fakeCellWidth > 0"
209
235
  :is-header-cell="true"
@@ -272,7 +298,7 @@ onUpdated(() => {
272
298
  margin-bottom: 0;
273
299
 
274
300
  thead {
275
- background-color: $white-100-lighter;
301
+ background-color: $primary-90;
276
302
  font-size: 13px;
277
303
  line-height: initial;
278
304
 
@@ -334,11 +360,11 @@ onUpdated(() => {
334
360
  box-shadow: inset 0 0 0 1px $primary;
335
361
  border-radius: 4px;
336
362
  border-bottom: none;
337
- color: $ac-black;
363
+ color: $black-5;
338
364
  }
339
365
 
340
366
  tr {
341
- border-bottom: 1px solid var(--ac-white-light);
367
+ border-bottom: 1px solid $primary-90;
342
368
  &.is-link {
343
369
  cursor: pointer;
344
370
  }
@@ -348,10 +374,10 @@ onUpdated(() => {
348
374
  box-shadow: inset 0 0 0 1.2px $primary;
349
375
  border-radius: 4px;
350
376
  border-bottom: none;
351
- color: $ac-black;
377
+ color: $black-5;
352
378
  transition: 0.3s ease-in-out;
353
379
  .tag {
354
- background-color: $primary-90;
380
+ background-color: $primary;
355
381
  }
356
382
  &:hover {
357
383
  background-color: $primary-95 !important;
@@ -466,15 +492,15 @@ onUpdated(() => {
466
492
  width: 36px;
467
493
 
468
494
  .increase-innner {
469
- border-bottom: 1px solid var(--ac-white-light);
470
- border-top: 1px solid var(--ac-white-light);
495
+ border-bottom: 1px solid $primary-90;
496
+ border-top: 1px solid $primary-90;
471
497
  bottom: -1px;
472
498
  left: 0;
473
499
  position: absolute;
474
500
  right: -451px;
475
501
  top: -1px;
476
502
  visibility: visible;
477
- background-color: $white-100-lighter;
503
+ background-color: $primary-90;
478
504
  }
479
505
  }
480
506
 
@@ -490,9 +516,9 @@ onUpdated(() => {
490
516
  thead {
491
517
  tr {
492
518
  th {
493
- border-top: 1px solid $primary-95;
494
- border-bottom: 1px solid $primary-95;
495
- border-right: 1px solid $primary-95;
519
+ border-top: 1px solid $primary-93;
520
+ border-bottom: 1px solid $primary-93;
521
+ border-right: 1px solid $primary-93;
496
522
  background-color: $primary-97;
497
523
 
498
524
  &:first-child {
@@ -515,8 +541,8 @@ onUpdated(() => {
515
541
  font-size: 13px;
516
542
  color: $primary-20;
517
543
  background-color: transparent;
518
- border-bottom: 1px solid $primary-95;
519
- border-right: 1px solid $primary-95;
544
+ border-bottom: 1px solid $primary-93;
545
+ border-right: 1px solid $primary-93;
520
546
  &:last-child {
521
547
  border-right: 1px solid transparent;
522
548
  }
@@ -536,7 +562,7 @@ onUpdated(() => {
536
562
  .ac-single-checkbox {
537
563
  .is-checkradio[type="checkbox"] {
538
564
  &.ac-checkbox + label {
539
- color: $ac-link-black;
565
+ color: $primary-20;
540
566
 
541
567
  &::before {
542
568
  height: 16px;
@@ -559,7 +585,7 @@ onUpdated(() => {
559
585
  }
560
586
 
561
587
  &:checked + label::after {
562
- border-color: $white-100-lighter;
588
+ border-color: $primary-90;
563
589
  }
564
590
  }
565
591
  }
@@ -652,7 +678,7 @@ onUpdated(() => {
652
678
  // table inner shadow
653
679
  .table-inner-shadow {
654
680
  border-radius: 0px;
655
- background: $white-100-lighter;
681
+ background: $primary-90;
656
682
  box-shadow: inset 5px 5px 10px #e3e6e9, inset -5px -5px 10px #ffffff;
657
683
  }
658
684
 
@@ -77,7 +77,7 @@ const toggleCollapse = () => {
77
77
  >
78
78
  <table-cell v-if="collapsible">
79
79
  <collapsible-button
80
- modifier-classes="is-square is-light height-20 width-20 is-rounded is-size-7"
80
+ modifier-classes="is-square is-light height-20 width-20 is-rounded is-size-7 p-0"
81
81
  :icon-class="isCollapsed ? 'chevron-right' : 'chevron-down'"
82
82
  @click.stop="toggleCollapse"
83
83
  />
@@ -102,7 +102,7 @@ const toggleCollapse = () => {
102
102
  >
103
103
  <table-cell v-if="collapsible">
104
104
  <collapsible-button
105
- modifier-classes="is-square is-light height-20 width-20 is-rounded is-size-7"
105
+ modifier-classes="is-square is-light height-20 width-20 is-rounded is-size-7 p-0"
106
106
  :icon-class="isCollapsed ? 'chevron-right' : 'chevron-down'"
107
107
  @click.stop="toggleCollapse"
108
108
  />
@@ -53,8 +53,8 @@ const indexOfCharacterLengthExceed = computed(() => {
53
53
  let idx = -1;
54
54
  let cumulativeLen = 0;
55
55
  for (const [index, po] of printableStringObjs.value.entries()) {
56
- const newLen = cumulativeLen + po.print.length;
57
- if (newLen > props.maxCharacterLength) {
56
+ const newLen = cumulativeLen + po.print.length + 2;
57
+ if (newLen + 2 > props.maxCharacterLength) {
58
58
  idx = index;
59
59
  break;
60
60
  }
@@ -50,7 +50,7 @@ const valueType = computed(() => {
50
50
  });
51
51
 
52
52
  const maxCharacterLength = computed(() => {
53
- return Math.ceil(computedCellWidth.value / 8);
53
+ return Math.ceil(computedCellWidth.value / 10);
54
54
  });
55
55
 
56
56
  const primaryColor = computed(() => {
@@ -48,8 +48,8 @@ const indexOfCharacterLengthExceed = computed(() => {
48
48
  let idx = -1;
49
49
  let cumulativeLen = 0;
50
50
  for (const [index, po] of printableStringObjs.value.entries()) {
51
- const newLen = cumulativeLen + po.print.length;
52
- if (newLen > props.maxCharacterLength) {
51
+ const newLen = cumulativeLen + po.print.length + 2;
52
+ if (newLen + 2 > props.maxCharacterLength) {
53
53
  idx = index;
54
54
  break;
55
55
  }
@@ -68,7 +68,7 @@ const indexOfCharacterLengthExceed = computed(() => {
68
68
  indexOfCharacterLengthExceed
69
69
  )"
70
70
  :key="printableStringOb.key"
71
- modifierClasses="is-info is-light"
71
+ modifierClasses="is-primary is-light"
72
72
  >
73
73
  <value-with-modal
74
74
  v-if="printableStringOb.exceededLength"
@@ -16,5 +16,6 @@ withDefaults(defineProps<Props>(), {
16
16
  <style lang="scss" scoped>
17
17
  .tag {
18
18
  line-height: 1;
19
+ font-size: 11px;
19
20
  }
20
21
  </style>
File without changes