@weni/unnnic-system 3.12.6 → 3.12.7-alpha-teleports.0

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 (77) hide show
  1. package/README.md +9 -1
  2. package/dist/{es-e7dc92a2.mjs → es-95214495.mjs} +1 -1
  3. package/dist/{index-84ade580.mjs → index-edacc4d7.mjs} +99452 -96558
  4. package/dist/index.d.ts +5043 -1561
  5. package/dist/{pt-br-51fd679a.mjs → pt-br-fb80e803.mjs} +1 -1
  6. package/dist/style.css +1 -1
  7. package/dist/unnnic.mjs +234 -204
  8. package/dist/unnnic.umd.js +48 -44
  9. package/package.json +3 -2
  10. package/src/assets/scss/tailwind.scss +8 -0
  11. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +1 -1
  12. package/src/components/ChartFunnel/DefaultFunnel/ChartDefaultFunnelBase.vue +2 -1
  13. package/src/components/ChartFunnel/SvgFunnel/ChartFunnelTwoRows.vue +61 -60
  14. package/src/components/Checkbox/Checkbox.vue +2 -8
  15. package/src/components/CheckboxGroup/CheckboxGroup.vue +5 -7
  16. package/src/components/Chip/Chip.vue +1 -1
  17. package/src/components/Drawer/Drawer.vue +180 -270
  18. package/src/components/Drawer/__tests__/Drawer.spec.js +32 -43
  19. package/src/components/Drawer/__tests__/__snapshots__/Drawer.spec.js.snap +18 -19
  20. package/src/components/FormElement/FormElement.vue +87 -96
  21. package/src/components/Input/Input.vue +2 -2
  22. package/src/components/ModalDialog/ModalDialog.vue +63 -154
  23. package/src/components/ModalDialog/__tests__/ModalDialog.spec.js +11 -221
  24. package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -22
  25. package/src/components/Radio/Radio.vue +6 -12
  26. package/src/components/Radio/__test__/Radio.spec.js +1 -3
  27. package/src/components/RadioGroup/RadioGroup.vue +10 -18
  28. package/src/components/Switch/Switch.vue +3 -10
  29. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +3 -1
  30. package/src/components/TemplatePreview/TemplatePreview.vue +25 -28
  31. package/src/components/TemplatePreview/TemplatePreviewModal.vue +10 -10
  32. package/src/components/TemplatePreview/types.d.ts +3 -3
  33. package/src/components/Toast/Toast.vue +4 -1
  34. package/src/components/Toast/ToastManager.ts +4 -1
  35. package/src/components/Toast/__tests__/ToastManager.spec.js +10 -6
  36. package/src/components/ToolTip/ToolTip.vue +25 -177
  37. package/src/components/ToolTip/__tests__/ToolTip.spec.js +339 -61
  38. package/src/components/index.ts +60 -0
  39. package/src/components/ui/dialog/Dialog.vue +19 -0
  40. package/src/components/ui/dialog/DialogClose.vue +29 -0
  41. package/src/components/ui/dialog/DialogContent.vue +140 -0
  42. package/src/components/ui/dialog/DialogFooter.vue +50 -0
  43. package/src/components/ui/dialog/DialogHeader.vue +83 -0
  44. package/src/components/ui/dialog/DialogTitle.vue +38 -0
  45. package/src/components/ui/dialog/DialogTrigger.vue +16 -0
  46. package/src/components/ui/dialog/index.ts +7 -0
  47. package/src/components/ui/drawer/Drawer.vue +27 -0
  48. package/src/components/ui/drawer/DrawerClose.vue +31 -0
  49. package/src/components/ui/drawer/DrawerContent.vue +113 -0
  50. package/src/components/ui/drawer/DrawerDescription.vue +40 -0
  51. package/src/components/ui/drawer/DrawerFooter.vue +38 -0
  52. package/src/components/ui/drawer/DrawerHeader.vue +57 -0
  53. package/src/components/ui/drawer/DrawerOverlay.vue +33 -0
  54. package/src/components/ui/drawer/DrawerTitle.vue +37 -0
  55. package/src/components/ui/drawer/DrawerTrigger.vue +31 -0
  56. package/src/components/ui/drawer/index.ts +10 -0
  57. package/src/components/ui/popover/PopoverContent.vue +7 -3
  58. package/src/components/ui/popover/PopoverTrigger.vue +5 -1
  59. package/src/components/ui/tooltip/Tooltip.vue +21 -0
  60. package/src/components/ui/tooltip/TooltipContent.vue +77 -0
  61. package/src/components/ui/tooltip/TooltipTrigger.vue +24 -0
  62. package/src/components/ui/tooltip/index.ts +3 -0
  63. package/src/index.ts +9 -2
  64. package/src/lib/__tests__/teleport-target.spec.ts +73 -0
  65. package/src/lib/layer-manager.ts +64 -0
  66. package/src/lib/teleport-target.ts +46 -0
  67. package/src/stories/Dialog.stories.js +832 -0
  68. package/src/stories/Drawer.stories.js +1 -1
  69. package/src/stories/DrawerNext.stories.js +611 -0
  70. package/src/stories/LayerManager.docs.mdx +40 -0
  71. package/src/stories/LayerManager.stories.js +407 -0
  72. package/src/stories/ModalDialog.mdx +3 -0
  73. package/src/stories/ModalDialog.stories.js +1 -1
  74. package/src/stories/TemplatePreview.stories.js +27 -27
  75. package/src/stories/TemplatePreviewModal.stories.js +31 -31
  76. package/.vscode/extensions.json +0 -3
  77. package/CHANGELOG.md +0 -1074
@@ -1,23 +1,22 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
3
  exports[`Drawer.vue > Component Rendering > Component Rendering > matches the snapshot 1`] = `
4
- "<aside data-v-196de012="" class="unnnic-drawer" data-testid="drawer">
5
- <section data-v-196de012="" class="unnnic-drawer__overlay" data-testid="overlay"></section>
6
- <transition-stub data-v-196de012="" name="drawer" appear="true" persisted="false" css="true">
7
- <section data-v-196de012="" data-testid="drawer-container" class="unnnic-drawer__container unnnic-drawer__container--md">
8
- <header data-v-196de012="" class="unnnic-drawer__header">
9
- <section data-v-196de012="" class="unnnic-drawer__title-container">
10
- <h1 data-v-196de012="" class="unnnic-drawer__title" data-testid="drawer-title">Test Title</h1>
11
- <p data-v-196de012="" class="unnnic-drawer__description" data-testid="drawer-description">Test Description</p>
12
- </section>
13
- <unnnic-icon-stub data-v-196de012="" filled="false" icon="arrow_back" clickable="true" size="avatar-nano" scheme="neutral-darkest" class="unnnic-drawer__close" data-testid="close-icon"></unnnic-icon-stub>
14
- </header>
15
- <section data-v-196de012="" class="unnnic-drawer__content"></section>
16
- <footer data-v-196de012="" class="unnnic-drawer__footer" data-testid="footer">
17
- <unnnic-button-stub data-v-196de012="" size="large" text="Secondary Action" type="tertiary" float="false" iconleft="" iconright="" iconcenter="" iconsfilled="false" disabled="false" loading="false" data-testid="secondary-button"></unnnic-button-stub>
18
- <unnnic-button-stub data-v-196de012="" size="large" text="Primary Action" type="primary" float="false" iconleft="" iconright="" iconcenter="" iconsfilled="false" disabled="false" loading="false" data-testid="primary-button"></unnnic-button-stub>
19
- </footer>
20
- </section>
21
- </transition-stub>
22
- </aside>"
4
+ "<div data-v-196de012="" class="unnnic-drawer" data-testid="drawer" open="true">
5
+ <div data-v-196de012="" showoverlay="true" data-testid="drawer-container" size="medium" class="unnnic-drawer__container unnnic-drawer__container--md">
6
+ <header data-v-39d0dfb8="" data-v-196de012="" class="unnnic-drawer__header unnnic-drawer__header">
7
+ <section data-v-196de012="" class="unnnic-drawer__title-container">
8
+ <div data-v-196de012="" class="unnnic-drawer__title" data-testid="drawer-title">Test Title</div>
9
+ <div data-v-196de012="" class="unnnic-drawer__description" data-testid="drawer-description">Test Description</div>
10
+ </section>
11
+ <div data-v-196de012="">
12
+ <unnnic-button-stub data-v-196de012="" size="small" text="" type="tertiary" float="false" iconleft="" iconright="" iconcenter="arrow_forward" iconsfilled="false" disabled="false" loading="false" class="unnnic-drawer__close-icon" data-testid="close-icon"></unnnic-button-stub>
13
+ </div>
14
+ </header>
15
+ <section data-v-196de012="" class="unnnic-drawer__content"></section>
16
+ <div data-v-196de012="" class="unnnic-drawer__footer" data-testid="footer">
17
+ <unnnic-button-stub data-v-196de012="" size="large" text="Secondary Action" type="tertiary" float="false" iconleft="" iconright="" iconcenter="" iconsfilled="false" disabled="false" loading="false" data-testid="secondary-button"></unnnic-button-stub>
18
+ <unnnic-button-stub data-v-196de012="" size="large" text="Primary Action" type="primary" float="false" iconleft="" iconright="" iconcenter="" iconsfilled="false" disabled="false" loading="false" data-testid="primary-button"></unnnic-button-stub>
19
+ </div>
20
+ </div>
21
+ </div>"
23
22
  `;
@@ -1,37 +1,28 @@
1
1
  <template>
2
- <section
3
- class="unnnic-form-element"
4
- :class="{ 'unnnic-form-element--disabled': disabled }"
5
- >
6
- <UnnnicLabel
7
- v-if="label"
8
- :label="label"
2
+ <section class="unnnic-form-element" :class="{ 'unnnic-form-element--disabled': disabled }">
3
+ <UnnnicLabel
4
+ v-if="label"
5
+ :label="label"
9
6
  :tooltip="tooltip"
10
7
  :class="[
11
8
  'unnnic-form-element__label',
12
9
  {
13
10
  'unnnic-form-element__label--fixed': fixedLabel,
14
11
  },
15
- ]"
12
+ ]"
16
13
  />
17
14
 
18
15
  <slot></slot>
19
16
 
20
- <section
17
+ <section
21
18
  class="unnnic-form-element__hints-container"
22
19
  v-if="message || error || !!$slots.rightMessage"
23
20
  >
24
21
  <section class="unnnic-form-element__message-container">
25
- <p
26
- v-if="message"
27
- class="unnnic-form-element__message"
28
- >
22
+ <p v-if="message" class="unnnic-form-element__message">
29
23
  {{ fullySanitize(message) }}
30
24
  </p>
31
- <p
32
- v-if="!!error?.length"
33
- class="unnnic-form-element__message error"
34
- >
25
+ <p v-if="!!error?.length" class="unnnic-form-element__message error">
35
26
  {{ Array.isArray(error) ? error.join(', ') : error }}
36
27
  </p>
37
28
  </section>
@@ -43,104 +34,104 @@
43
34
  </template>
44
35
 
45
36
  <script lang="js">
46
- import { fullySanitize } from '../../utils/sanitize';
47
- import UnnnicLabel from '../Label/Label.vue';
48
-
49
- export default {
50
- components: {
51
- UnnnicLabel,
52
- },
53
- props: {
54
- size: {
55
- type: String,
56
- default: 'md',
57
- validator: (size) => ['md', 'sm'].includes(size),
37
+ import { fullySanitize } from '../../utils/sanitize';
38
+ import UnnnicLabel from '../Label/Label.vue';
39
+
40
+ export default {
41
+ components: {
42
+ UnnnicLabel,
58
43
  },
44
+ props: {
45
+ size: {
46
+ type: String,
47
+ default: 'md',
48
+ validator: (size) => ['md', 'sm'].includes(size),
49
+ },
59
50
 
60
- label: { type: String, default: '' },
51
+ label: { type: String, default: '' },
61
52
 
62
- fixedLabel: { type: Boolean, default: false },
53
+ fixedLabel: { type: Boolean, default: false },
63
54
 
64
- error: {
65
- type: [Boolean, String],
66
- default: false,
67
- },
55
+ error: {
56
+ type: [Boolean, String],
57
+ default: false,
58
+ },
68
59
 
69
- message: { type: String, default: '' },
60
+ message: { type: String, default: '' },
70
61
 
71
- disabled: { type: Boolean, default: false },
62
+ disabled: { type: Boolean, default: false },
72
63
 
73
- tooltip: { type: String, default: '' },
74
- },
75
- methods: {
76
- fullySanitize,
77
- },
78
- };
64
+ tooltip: { type: String, default: '' },
65
+ },
66
+ methods: {
67
+ fullySanitize,
68
+ },
69
+ };
79
70
  </script>
80
71
 
81
72
  <style lang="scss" scoped>
82
- @use '@/assets/scss/unnnic' as *;
83
-
84
- * {
85
- margin: $unnnic-space-0;
86
- padding: $unnnic-space-0;
87
- box-sizing: border-box;
88
- }
89
-
90
- .unnnic-form-element {
91
- &__label {
92
- font: $unnnic-font-body;
93
- color: $unnnic-color-neutral-cloudy;
94
- margin-bottom: $unnnic-space-1;
95
- display: flex;
96
- align-items: center;
97
- gap: $unnnic-space-2;
98
-
99
- &--fixed {
100
- margin-top: -$unnnic-font-size-body-gt - $unnnic-space-2 + $unnnic-space-1;
101
- }
73
+ @use '@/assets/scss/unnnic' as *;
74
+
75
+ * {
76
+ margin: $unnnic-space-0;
77
+ padding: $unnnic-space-0;
78
+ box-sizing: border-box;
79
+ }
102
80
 
103
- &--fixed {
104
- margin-bottom: $unnnic-space-0;
105
- position: absolute;
106
- padding: $unnnic-space-0 $unnnic-space-1;
107
- margin-left: $unnnic-space-2;
81
+ .unnnic-form-element {
82
+ &__label {
83
+ font: $unnnic-font-body;
84
+ color: $unnnic-color-neutral-cloudy;
85
+ margin-bottom: $unnnic-space-1;
86
+ display: flex;
87
+ align-items: center;
88
+ gap: $unnnic-space-2;
89
+
90
+ &--fixed {
91
+ margin-top: -$unnnic-font-size-body-gt - $unnnic-space-2 + $unnnic-space-1;
92
+ }
108
93
 
109
- &:after {
110
- content: ' ';
94
+ &--fixed {
95
+ margin-bottom: $unnnic-space-0;
111
96
  position: absolute;
112
- left: $unnnic-space-0;
113
- bottom: $unnnic-space-1 - $unnnic-border-width-thinner;
114
- width: 100%;
115
- height: $unnnic-border-width-thinner;
116
- background-color: $unnnic-color-white;
97
+ padding: $unnnic-space-0 $unnnic-space-1;
98
+ margin-left: $unnnic-space-2;
99
+
100
+ &:after {
101
+ content: ' ';
102
+ position: absolute;
103
+ left: $unnnic-space-0;
104
+ bottom: $unnnic-space-1 - $unnnic-border-width-thinner;
105
+ width: 100%;
106
+ height: $unnnic-border-width-thinner;
107
+ background-color: $unnnic-color-white;
108
+ }
117
109
  }
118
110
  }
119
- }
120
111
 
121
- &__message {
122
- &.error {
123
- color: $unnnic-color-fg-critical;
112
+ &__message {
113
+ &.error {
114
+ color: $unnnic-color-fg-critical;
115
+ }
124
116
  }
125
- }
126
117
 
127
- &__hints-container {
128
- display: flex;
129
- justify-content: space-between;
130
- margin-top: $unnnic-space-1;
131
- font: $unnnic-font-caption-2;
132
- color: $unnnic-color-fg-base;
133
- }
118
+ &__hints-container {
119
+ display: flex;
120
+ justify-content: space-between;
121
+ margin-top: $unnnic-space-1;
122
+ font: $unnnic-font-caption-2;
123
+ color: $unnnic-color-fg-base;
124
+ }
134
125
 
135
- &__message-container {
136
- display: flex;
137
- flex-direction: column;
138
- gap: $unnnic-space-1;
139
- }
126
+ &__message-container {
127
+ display: flex;
128
+ flex-direction: column;
129
+ gap: $unnnic-space-1;
130
+ }
140
131
 
141
- &--disabled .unnnic-form-element__label,
142
- &--disabled .unnnic-form-element__message {
143
- user-select: none;
132
+ &--disabled .unnnic-form-element__label,
133
+ &--disabled .unnnic-form-element__message {
134
+ user-select: none;
135
+ }
144
136
  }
145
- }
146
137
  </style>
@@ -43,8 +43,8 @@ import UnnnicFormElement from '../FormElement/FormElement.vue';
43
43
 
44
44
  export default {
45
45
  name: 'UnnnicInput',
46
- components: {
47
- TextInput,
46
+ components: {
47
+ TextInput,
48
48
  UnnnicFormElement,
49
49
  },
50
50
  props: {
@@ -1,64 +1,47 @@
1
1
  <template>
2
- <section
3
- v-if="modelValue"
4
- class="unnnic-modal-dialog"
5
- data-testid="modal-dialog"
2
+ <UnnnicDialog
3
+ :open="modelValue"
4
+ @update:open="$emit('update:modelValue', $event)"
6
5
  >
7
- <section
8
- class="unnnic-modal-dialog__overlay"
9
- data-testid="modal-overlay"
10
- @click.stop="!persistent && close()"
11
- />
12
- <section
13
- :class="[
14
- 'unnnic-modal-dialog__container',
15
- `unnnic-modal-dialog__container--${size}`,
16
- ]"
17
- data-testid="modal-container"
6
+ <UnnnicDialogContent
7
+ v-bind="$attrs"
8
+ :size="size === 'sm' ? 'small' : size === 'lg' ? 'large' : 'medium'"
9
+ :parentClass="['unnnic-modal-dialog', $attrs.class]"
10
+ class="unnnic-modal-dialog__container"
11
+ data-testid="modal-dialog"
12
+ @escape-key-down="persistentHandler"
13
+ @pointer-down-outside="persistentHandler"
18
14
  >
19
15
  <section
20
- v-if="$slots.leftSidebar"
21
- class="unnnic-modal-dialog__container__left-sidebar"
16
+ :class="[
17
+ 'unnnic-modal-dialog__container__body',
18
+ {
19
+ 'unnnic-modal-dialog__container__body--left-sidebar':
20
+ $slots.leftSidebar,
21
+ },
22
+ ]"
22
23
  >
23
- <slot name="leftSidebar" />
24
- </section>
25
-
26
- <section class="unnnic-modal-dialog__container__body">
27
- <header
24
+ <section
25
+ v-if="$slots.leftSidebar"
26
+ class="unnnic-modal-dialog__container__left-sidebar"
27
+ >
28
+ <slot name="leftSidebar" />
29
+ </section>
30
+ <UnnnicDialogHeader
28
31
  v-if="title"
29
- class="unnnic-modal-dialog__container__header"
32
+ :closeButton="showCloseIcon"
33
+ :type="type"
30
34
  >
31
- <section class="unnnic-modal-dialog__container__title-container">
32
- <UnnnicIcon
33
- v-if="icon || type"
34
- data-testid="title-icon"
35
- class="unnnic-modal-dialog__container__title-icon"
36
- :icon="icon || iconsMapper[type]?.icon"
37
- :scheme="iconScheme || iconsMapper[type]?.scheme"
38
- size="md"
39
- />
40
- <h1
41
- class="unnnic-modal-dialog__container__title-text"
42
- data-testid="title-text"
43
- >
44
- {{ title }}
45
- </h1>
46
- </section>
47
- <UnnnicIcon
48
- v-if="showCloseIcon"
49
- data-testid="close-icon"
50
- icon="close"
51
- clickable
52
- scheme="neutral-cloudy"
53
- @click="close()"
54
- />
55
- </header>
35
+ <UnnnicDialogTitle>
36
+ {{ title }}
37
+ </UnnnicDialogTitle>
38
+ </UnnnicDialogHeader>
56
39
  <section class="unnnic-modal-dialog__container__content">
57
40
  <slot></slot>
58
41
  </section>
59
- <section
42
+
43
+ <UnnnicDialogFooter
60
44
  v-if="primaryButtonProps.text"
61
- data-testid="actions-section"
62
45
  :class="[
63
46
  'unnnic-modal-dialog__container__actions',
64
47
  {
@@ -66,6 +49,8 @@
66
49
  showActionsDivider,
67
50
  },
68
51
  ]"
52
+ :divider="showActionsDivider"
53
+ data-testid="actions-section"
69
54
  >
70
55
  <UnnnicButton
71
56
  v-if="!hideSecondaryButton"
@@ -92,23 +77,32 @@
92
77
  class="unnnic-modal-dialog__container__actions__primary-button"
93
78
  @click.stop="$emit('primaryButtonClick')"
94
79
  />
80
+ </UnnnicDialogFooter>
95
81
  </section>
96
- </section>
97
- </section>
98
- </section>
82
+ </UnnnicDialogContent>
83
+ </UnnnicDialog>
99
84
  </template>
100
85
 
101
86
  <script>
102
- import UnnnicIcon from '../Icon.vue';
103
87
  import UnnnicButton from '../Button/Button.vue';
104
88
  import UnnnicI18n from '../../mixins/i18n';
89
+ import UnnnicDialog from '../ui/dialog/Dialog.vue';
90
+ import UnnnicDialogContent from '../ui/dialog/DialogContent.vue';
91
+ import UnnnicDialogHeader from '../ui/dialog/DialogHeader.vue';
92
+ import UnnnicDialogTitle from '../ui/dialog/DialogTitle.vue';
93
+ import UnnnicDialogFooter from '../ui/dialog/DialogFooter.vue';
105
94
 
106
95
  export default {
107
96
  name: 'UnnnicModalDialog',
108
97
  components: {
109
- UnnnicIcon,
110
98
  UnnnicButton,
99
+ UnnnicDialog,
100
+ UnnnicDialogContent,
101
+ UnnnicDialogHeader,
102
+ UnnnicDialogTitle,
103
+ UnnnicDialogFooter,
111
104
  },
105
+ inheritAttrs: false,
112
106
  mixins: [UnnnicI18n],
113
107
  props: {
114
108
  modelValue: {
@@ -177,11 +171,6 @@ export default {
177
171
  es: 'Cancelar',
178
172
  },
179
173
  },
180
- iconsMapper: {
181
- success: { icon: 'check_circle', scheme: 'aux-green-500' },
182
- warning: { icon: 'warning', scheme: 'aux-red-500' },
183
- attention: { icon: 'error', scheme: 'aux-yellow-500' },
184
- },
185
174
  primaryButtonTypeMapper: {
186
175
  success: 'primary',
187
176
  warning: 'warning',
@@ -189,17 +178,14 @@ export default {
189
178
  },
190
179
  };
191
180
  },
192
- watch: {
193
- modelValue(value) {
194
- this.updateBodyOverflow(value);
195
- },
196
- },
197
181
  methods: {
198
182
  close() {
199
183
  this.$emit('update:modelValue', false);
200
184
  },
201
- updateBodyOverflow(isHidden) {
202
- document.body.style.overflow = isHidden ? 'hidden' : '';
185
+ persistentHandler(event) {
186
+ if (this.persistent) {
187
+ event.preventDefault();
188
+ }
203
189
  },
204
190
  },
205
191
  };
@@ -207,85 +193,29 @@ export default {
207
193
 
208
194
  <style lang="scss" scoped>
209
195
  @use '@/assets/scss/unnnic' as *;
210
- * {
211
- margin: 0;
212
- padding: 0;
213
- box-sizing: border-box;
214
- }
215
- .unnnic-modal-dialog {
216
- width: 100vw;
217
- height: 100vh;
218
- position: fixed;
219
- left: 0;
220
- top: 0;
221
- display: flex;
222
- justify-content: center;
223
- align-items: center;
224
- z-index: 9999;
225
-
226
- &__overlay {
227
- position: absolute;
228
- width: 100%;
229
- height: 100%;
230
- background-color: rgba(0, 0, 0, 0.4);
231
- }
232
- }
233
196
 
234
197
  .unnnic-modal-dialog__container {
235
- display: flex;
236
- background: $unnnic-color-neutral-white;
237
- border-radius: $unnnic-spacing-xs;
238
- box-shadow: $unnnic-shadow-level-near;
239
- position: fixed;
240
- max-height: calc(100vh - $unnnic-spacing-giant);
241
- overflow: hidden;
242
-
243
- &--sm {
244
- width: 400px;
245
- }
246
- &--md {
247
- width: 600px;
248
- }
249
- &--lg {
250
- width: 800px;
251
- }
252
-
253
198
  &__left-sidebar {
254
199
  background-color: $unnnic-color-neutral-black;
255
200
  color: $unnnic-color-neutral-white;
201
+
202
+ grid-area: left-sidebar;
203
+ grid-row: span 3;
256
204
  }
257
205
 
258
206
  &__body {
259
207
  flex: 1;
260
208
  display: flex;
261
209
  flex-direction: column;
262
- }
263
-
264
- &__header {
265
- display: flex;
266
- justify-content: space-between;
267
- align-items: center;
268
- border-bottom: 1px solid $unnnic-color-neutral-soft;
269
- padding: $unnnic-spacing-md;
270
- flex-shrink: 0;
271
- }
272
210
 
273
- &__title-container {
274
- display: flex;
275
- align-items: center;
276
- gap: $unnnic-spacing-ant;
277
- }
278
-
279
- &__title-icon {
280
- font-size: 28px;
281
- }
211
+ overflow-y: auto;
282
212
 
283
- &__title-text {
284
- font-family: $unnnic-font-family-secondary;
285
- font-size: $unnnic-font-size-title-sm;
286
- font-weight: $unnnic-font-weight-black;
287
- line-height: 28px;
288
- color: $unnnic-color-neutral-darkest;
213
+ &--left-sidebar {
214
+ border-radius: $unnnic-radius-4 0 0 $unnnic-radius-4;
215
+ display: grid;
216
+ grid-template-columns: auto 1fr;
217
+ grid-template-areas: 'left-sidebar content';
218
+ }
289
219
  }
290
220
 
291
221
  &__content {
@@ -309,26 +239,5 @@ export default {
309
239
  border-radius: $unnnic-border-radius-pill;
310
240
  }
311
241
  }
312
-
313
- &__actions {
314
- display: grid;
315
- grid-template-columns: 1fr 1fr;
316
- grid-template-areas: 'secondary-button primary-button';
317
- gap: $unnnic-spacing-sm;
318
- padding: $unnnic-spacing-md;
319
- flex-shrink: 0;
320
-
321
- &--divider {
322
- border-top: 1px solid $unnnic-color-neutral-soft;
323
- }
324
-
325
- &__secondary-button {
326
- grid-area: secondary-button;
327
- }
328
-
329
- &__primary-button {
330
- grid-area: primary-button;
331
- }
332
- }
333
242
  }
334
243
  </style>