@mptw/skylens-ui 1.4.109 → 1.5.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 (130) hide show
  1. package/AGENTS.md +59 -0
  2. package/CLAUDE.md +36 -0
  3. package/README.md +7 -7
  4. package/app/app.config.ts +14 -0
  5. package/app/app.vue +5 -0
  6. package/app/assets/css/layout.css +134 -0
  7. package/app/assets/css/main.css +189 -0
  8. package/{components → app/components}/SLAlertModal.vue +24 -16
  9. package/{components → app/components}/SLBreadcrumbs.vue +12 -8
  10. package/app/components/SLButton.vue +370 -0
  11. package/{components → app/components}/SLCalendarButton.vue +40 -34
  12. package/{components → app/components}/SLCalendarPopup.vue +79 -53
  13. package/{components → app/components}/SLCard.vue +57 -41
  14. package/{components → app/components}/SLChart.vue +6 -3
  15. package/{components → app/components}/SLCheckbox.vue +92 -49
  16. package/{components → app/components}/SLCircleButton.vue +25 -16
  17. package/{components → app/components}/SLCollapsableBlock.vue +44 -33
  18. package/{components → app/components}/SLCollapsableMulitPillSelect.vue +20 -15
  19. package/{components → app/components}/SLConfirmModal.vue +9 -6
  20. package/{components → app/components}/SLContextMenu.vue +88 -48
  21. package/{components → app/components}/SLDateInput.vue +109 -92
  22. package/{components → app/components}/SLDatePicker.vue +9 -7
  23. package/{components → app/components}/SLDistributor.vue +1 -1
  24. package/{components → app/components}/SLDownloadButton.vue +39 -29
  25. package/{components → app/components}/SLDraggable.vue +2 -2
  26. package/{components → app/components}/SLDropdown.vue +33 -25
  27. package/{components → app/components}/SLDropdownItem.vue +9 -5
  28. package/{components → app/components}/SLElementWithTitle.vue +12 -7
  29. package/{components → app/components}/SLEyeCheckbox.vue +44 -31
  30. package/{components → app/components}/SLFileInput.vue +23 -16
  31. package/{components → app/components}/SLGenderAgeSelect.vue +52 -36
  32. package/{components → app/components}/SLHourRangeInput.vue +45 -32
  33. package/{components → app/components}/SLIOSSwitch.vue +81 -60
  34. package/{components → app/components}/SLIcon.vue +4 -3
  35. package/{components → app/components}/SLIconButton.vue +31 -29
  36. package/{components → app/components}/SLInfoTip.vue +51 -40
  37. package/{components → app/components}/SLInsightSitePage.vue +12 -7
  38. package/{components → app/components}/SLLegend.vue +19 -12
  39. package/app/components/SLLinearProgressBar.vue +22 -0
  40. package/{components → app/components}/SLLink.vue +12 -8
  41. package/{components → app/components}/SLLoading.vue +34 -31
  42. package/{components → app/components}/SLMapChart.vue +5 -4
  43. package/{components → app/components}/SLModal.vue +90 -66
  44. package/{components → app/components}/SLMonthCalendarButton.vue +91 -45
  45. package/{components → app/components}/SLMonthPicker.vue +42 -37
  46. package/{components → app/components}/SLMultiEmailInput.vue +163 -113
  47. package/{components → app/components}/SLMultiSelect.vue +37 -26
  48. package/{components → app/components}/SLNoData.vue +16 -11
  49. package/app/components/SLNotification.vue +155 -0
  50. package/{components → app/components}/SLPageModal.vue +14 -9
  51. package/{components → app/components}/SLPagination.vue +45 -33
  52. package/{components → app/components}/SLPillCheckbox.vue +50 -42
  53. package/{components → app/components}/SLPillLabel.vue +43 -28
  54. package/{components → app/components}/SLPopupMenuButton.vue +26 -17
  55. package/{components → app/components}/SLProfileButton.vue +28 -20
  56. package/{components → app/components}/SLProjectShareItem.vue +30 -17
  57. package/{components → app/components}/SLRadioButton.vue +41 -33
  58. package/{components → app/components}/SLRadioButtonGroup.vue +28 -23
  59. package/app/components/SLRadioGroup.vue +221 -0
  60. package/{components → app/components}/SLRangeInput.vue +53 -38
  61. package/{components → app/components}/SLRegionsMapChart.vue +5 -4
  62. package/{components → app/components}/SLRightSider.vue +50 -40
  63. package/{components → app/components}/SLSearchInput.vue +24 -19
  64. package/{components → app/components}/SLSelect.vue +114 -87
  65. package/{components → app/components}/SLSelectAllToggle.vue +52 -37
  66. package/app/components/SLSidebarNav.vue +487 -0
  67. package/{components → app/components}/SLSidebarNavGroupItem.vue +13 -10
  68. package/{components → app/components}/SLSidebarNavGroupItemSection.vue +240 -179
  69. package/{components → app/components}/SLSidebarNavLinkItem.vue +131 -109
  70. package/{components → app/components}/SLSidebarNavSectionItem.vue +21 -18
  71. package/{components → app/components}/SLSitePage.vue +35 -24
  72. package/{components → app/components}/SLSkyInsightSitePage.vue +13 -8
  73. package/{components → app/components}/SLSortByDropdown.vue +35 -22
  74. package/{components → app/components}/SLSpinIcon.vue +6 -3
  75. package/{components → app/components}/SLStayRangeInput.vue +47 -36
  76. package/{components → app/components}/SLTab.vue +7 -2
  77. package/app/components/SLTable.vue +472 -0
  78. package/{components → app/components}/SLTableTooltip.vue +44 -30
  79. package/app/components/SLTabs.vue +528 -0
  80. package/{components → app/components}/SLTextInput.vue +162 -134
  81. package/{components → app/components}/SLTextarea.vue +40 -29
  82. package/{components → app/components}/SLToast.vue +19 -11
  83. package/{components → app/components}/SLToggleButton.vue +18 -11
  84. package/{components → app/components}/SLTwoLayerMultiSelect.vue +180 -85
  85. package/{components → app/components}/SLTwoLayerSelect.vue +47 -37
  86. package/{components → app/components}/SLTwoLayerSingleSelect.vue +52 -33
  87. package/{components → app/components}/SLWarnModal.vue +9 -7
  88. package/app/interface/commons.ts +7 -0
  89. package/{utils → app/utils}/index.ts +213 -146
  90. package/eslint.config.js +3 -0
  91. package/nuxt.config.ts +17 -14
  92. package/package.json +10 -9
  93. package/skills-lock.json +59 -0
  94. package/tsconfig.json +1 -6
  95. package/.eslintrc.cjs +0 -4
  96. package/app.config.ts +0 -5
  97. package/assets/css/layout.styl +0 -98
  98. package/assets/css/tailwind.css +0 -3
  99. package/components/SLButton.vue +0 -337
  100. package/components/SLLinearProgressBar.vue +0 -35
  101. package/components/SLNotification.vue +0 -151
  102. package/components/SLRadioGroup.vue +0 -209
  103. package/components/SLSidebarNav.vue +0 -427
  104. package/components/SLTable.vue +0 -455
  105. package/components/SLTabs.vue +0 -475
  106. package/interface/commons.ts +0 -7
  107. package/pages/index.vue +0 -15
  108. package/tailwind.config.js +0 -271
  109. /package/{assets → app/assets}/css/fonts/MEShPlus-font-icon.eot +0 -0
  110. /package/{assets → app/assets}/css/fonts/MEShPlus-font-icon.svg +0 -0
  111. /package/{assets → app/assets}/css/fonts/MEShPlus-font-icon.ttf +0 -0
  112. /package/{assets → app/assets}/css/fonts/MEShPlus-font-icon.woff +0 -0
  113. /package/{assets → app/assets}/css/icons.css +0 -0
  114. /package/{assets → app/assets}/images/commons/app-logo-white.png +0 -0
  115. /package/{assets → app/assets}/images/commons/app-logo.png +0 -0
  116. /package/{assets → app/assets}/images/commons/empty-box.png +0 -0
  117. /package/{interface → app/interface}/IDateRange.ts +0 -0
  118. /package/{interface → app/interface}/IHourRange.ts +0 -0
  119. /package/{interface → app/interface}/IInputOption.ts +0 -0
  120. /package/{interface → app/interface}/ILegendItem.ts +0 -0
  121. /package/{interface → app/interface}/IOrganization.ts +0 -0
  122. /package/{interface → app/interface}/IPopupMenuButton.ts +0 -0
  123. /package/{interface → app/interface}/IStayRange.ts +0 -0
  124. /package/{interface → app/interface}/ITableField.ts +0 -0
  125. /package/{interface → app/interface}/IWeb.ts +0 -0
  126. /package/{interface → app/interface}/NavConfigType.ts +0 -0
  127. /package/{models → app/models}/DateRange.ts +0 -0
  128. /package/{plugins → app/plugins}/v-calendar.ts +0 -0
  129. /package/{utils → app/utils}/constants.ts +0 -0
  130. /package/{utils → app/utils}/generateSheet.ts +0 -0
@@ -19,7 +19,7 @@
19
19
 
20
20
  <script lang="ts">
21
21
  import type { PropType } from "vue";
22
- import type IInputOption from "~ui/interface/IInputOption";
22
+ import type IInputOption from "~ui/app/interface/IInputOption";
23
23
 
24
24
  export default defineComponent({
25
25
  name: "SLRadioButtonGroup",
@@ -82,33 +82,38 @@ export default defineComponent({
82
82
  });
83
83
  </script>
84
84
 
85
- <style lang="stylus">
86
- .radio-button-group
87
- .is-invalid
88
- .invalid-feedback
89
- @apply block
85
+ <style>
86
+ @reference '~ui/app/assets/css/main.css';
87
+
88
+ .radio-button-group .is-invalid .invalid-feedback {
89
+ @apply block;
90
+ }
90
91
 
91
- & > label
92
- @apply mb-2 text-base text-pgray-2 align-top
92
+ .radio-button-group > label {
93
+ @apply mb-2 text-base text-pgray-2 align-top;
94
+ }
93
95
 
94
- .form-control
95
- @apply flex flex-col space-y-1
96
+ .radio-button-group .form-control {
97
+ @apply flex flex-col space-y-1;
98
+ }
96
99
 
97
- &.inline
98
- @apply flex flex-row flex-wrap space-x-6 space-y-0
100
+ .radio-button-group .form-control.inline {
101
+ @apply flex flex-row flex-wrap space-x-6 space-y-0;
102
+ }
99
103
 
100
- .invalid-feedback
101
- @apply hidden text-danger text-xs
104
+ .radio-button-group .invalid-feedback {
105
+ @apply hidden text-danger text-xs;
106
+ }
102
107
 
103
- &--lg
104
- .form-control
105
- &.inline
106
- @apply space-x-8
108
+ .radio-button-group--lg .form-control.inline {
109
+ @apply space-x-8;
110
+ }
107
111
 
108
- .radio-button
109
- label
110
- @apply text-sm
112
+ .radio-button-group--lg .form-control .radio-button label {
113
+ @apply text-sm;
114
+ }
111
115
 
112
- span
113
- @apply ml-2 text-sm
116
+ .radio-button-group--lg .form-control .radio-button label span {
117
+ @apply ml-2 text-sm;
118
+ }
114
119
  </style>
@@ -0,0 +1,221 @@
1
+ <template lang="pug">
2
+ SLElementWithTitle(:title='disabled ? disabledHint : ""')
3
+ .radio-group(:class='sizeClass')
4
+ .radio(v-for="option, i in options")
5
+ input(
6
+ type="radio"
7
+ :id="uids[i]"
8
+ :checked="modelValue === option.value"
9
+ :disabled="disabled"
10
+ )
11
+ SLElementWithTitle(:title='option.desc')
12
+ label(@click="onClickedRadio(option.value)")
13
+ span(v-if='option.label') {{ option.label }}
14
+ SLIcon(v-if='option.icon' :icon='option.icon')
15
+ </template>
16
+
17
+ <script lang="ts">
18
+ import type { PropType } from "vue";
19
+ import { getUID } from "~ui/app/utils";
20
+ import type IInputOption from "~ui/app/interface/IInputOption";
21
+
22
+ export default defineComponent({
23
+ name: "SLRadioGroup",
24
+ props: {
25
+ modelValue: {
26
+ type: [Number, String, Boolean],
27
+ default: null,
28
+ },
29
+ options: {
30
+ type: Array as PropType<Array<IInputOption>>,
31
+ default: () => [],
32
+ },
33
+ disabled: {
34
+ type: Boolean,
35
+ default: false,
36
+ },
37
+ disabledHint: {
38
+ type: String,
39
+ default: "",
40
+ },
41
+ size: {
42
+ type: String,
43
+ default: "",
44
+ validator: (val: string) =>
45
+ ["", "md", "sm", "xs", "xxs", "3xs"].includes(val),
46
+ },
47
+ color: {
48
+ type: String,
49
+ default: "",
50
+ },
51
+ colorInvert: {
52
+ type: Boolean,
53
+ default: false,
54
+ },
55
+ },
56
+ emits: ["update:modelValue"],
57
+ setup(props, { emit }) {
58
+ const { size, color, colorInvert, options, disabled } = toRefs(props);
59
+
60
+ const uids = ref<Array<string>>([]);
61
+
62
+ const sizeClass = computed(() => {
63
+ const classes = [];
64
+ if (size.value !== "") {
65
+ classes.push(`radio-group--${size.value}`);
66
+ }
67
+ if (color.value !== "") {
68
+ classes.push(`radio-group--${color.value}`);
69
+ }
70
+ if (colorInvert.value) {
71
+ classes.push("color-invert");
72
+ }
73
+ if (disabled.value) {
74
+ classes.push("disabled");
75
+ }
76
+
77
+ return classes.join(" ");
78
+ });
79
+
80
+ function onChanged(e: Event, targetValue: any) {
81
+ const { target } = e;
82
+ if ((target as HTMLInputElement).checked) {
83
+ emit("update:modelValue", targetValue);
84
+ }
85
+ }
86
+
87
+ function onClickedRadio(targetValue: any) {
88
+ if (disabled.value) return;
89
+
90
+ emit("update:modelValue", targetValue);
91
+ }
92
+
93
+ onMounted(() => {
94
+ uids.value = options.value.map(() => getUID());
95
+ });
96
+
97
+ return {
98
+ uids,
99
+ sizeClass,
100
+ onChanged,
101
+ onClickedRadio,
102
+ };
103
+ },
104
+ });
105
+ </script>
106
+
107
+ <style>
108
+ @reference '~ui/app/assets/css/main.css';
109
+
110
+ .radio-group {
111
+ @apply inline-flex p-0.5 bg-primary-100 border border-primary-200 rounded;
112
+ }
113
+
114
+ .radio-group.radio-group--sm .radio label {
115
+ @apply px-2 py-1.5;
116
+ }
117
+
118
+ .radio-group.radio-group--xs .radio label {
119
+ @apply px-4 py-0.5 text-sm;
120
+ }
121
+
122
+ .radio-group.radio-group--xxs {
123
+ @apply p-0.75;
124
+ }
125
+
126
+ .radio-group.radio-group--xxs .radio label {
127
+ @apply px-2 py-0.75 text-sm;
128
+ }
129
+
130
+ .radio-group.radio-group--3xs {
131
+ @apply p-0.75;
132
+ }
133
+
134
+ .radio-group.radio-group--3xs .radio label {
135
+ @apply px-2 py-px text-sm;
136
+ }
137
+
138
+ .radio-group.radio-group--third-600 {
139
+ @apply bg-third-600 border-third-500;
140
+ }
141
+
142
+ .radio-group.radio-group--third-600 .radio label {
143
+ @apply bg-third-600 text-white;
144
+ }
145
+
146
+ .radio-group.radio-group--third-600 .radio input:checked + .element-with-title label {
147
+ @apply text-third;
148
+ }
149
+
150
+ .radio-group.radio-group--edit {
151
+ @apply bg-edit border-primary;
152
+ }
153
+
154
+ .radio-group.radio-group--edit.color-invert {
155
+ @apply bg-card-lightpr-bg border-primary-300;
156
+ }
157
+
158
+ .radio-group.radio-group--edit.color-invert .radio label {
159
+ @apply bg-card-lightpr-bg text-primary-600;
160
+ }
161
+
162
+ .radio-group.radio-group--edit.color-invert .radio input:checked + .element-with-title label {
163
+ @apply bg-edit text-white;
164
+ }
165
+
166
+ .radio-group.radio-group--edit .radio label {
167
+ @apply bg-edit text-white;
168
+ }
169
+
170
+ .radio-group.radio-group--edit .radio input:checked + .element-with-title label {
171
+ @apply text-primary;
172
+ }
173
+
174
+ .radio-group.radio-group--insight-title {
175
+ @apply bg-primary-100 border-primary-100;
176
+ }
177
+
178
+ .radio-group.radio-group--insight-title.color-invert {
179
+ @apply bg-card-lightpr-bg border-primary-300;
180
+ }
181
+
182
+ .radio-group.radio-group--insight-title.color-invert .radio label {
183
+ @apply bg-card-lightpr-bg text-primary-600;
184
+ }
185
+
186
+ .radio-group.radio-group--insight-title.color-invert .radio input:checked + .element-with-title label {
187
+ @apply bg-edit text-white;
188
+ }
189
+
190
+ .radio-group.radio-group--insight-title .radio label {
191
+ @apply bg-primary-100 text-primary;
192
+ }
193
+
194
+ .radio-group.radio-group--insight-title .radio input:checked + .element-with-title label {
195
+ @apply bg-insight-title text-white;
196
+ }
197
+
198
+ .radio-group.disabled {
199
+ @apply bg-pgray-6 border-pgray-6;
200
+ }
201
+
202
+ .radio-group .radio {
203
+ @apply relative inline-flex;
204
+ }
205
+
206
+ .radio-group .radio input {
207
+ @apply absolute left-1/2 top-1/2 transform -translate-x-1/2 -translate-y-1/2;
208
+ }
209
+
210
+ .radio-group .radio label {
211
+ @apply inline-flex justify-center items-center relative px-3 py-1.25 bg-primary-100 rounded text-base leading-[1.3125] text-primary-600 cursor-pointer transition;
212
+ }
213
+
214
+ .radio-group .radio input:checked + .element-with-title label {
215
+ @apply bg-white text-primary shadow-default;
216
+ }
217
+
218
+ .radio-group .radio input:disabled + .element-with-title label {
219
+ @apply bg-pgray-6 text-pgray-4 cursor-default;
220
+ }
221
+ </style>
@@ -163,47 +163,62 @@ export default defineComponent({
163
163
  });
164
164
  </script>
165
165
 
166
- <style lang="stylus">
167
- .range-input
168
- &.inline
169
- @apply flex
166
+ <style>
167
+ @reference '~ui/app/assets/css/main.css';
170
168
 
171
- & > label
172
- @apply flex-grow-0 flex-shrink-0 mb-0 mr-2 py-2 border-t border-b border-transparent
169
+ .range-input.inline {
170
+ @apply flex;
171
+ }
173
172
 
174
- .form-control
175
- @apply flex-grow
176
-
177
- &.disabled, &.readonly
178
- .input-group
179
- .input-range-group
180
- .range-input-accept-values
181
- @apply text-pgray-4
182
-
183
- input[type=text]
184
- @apply border-primary-600 bg-primary-100
185
-
186
- & > label
187
- @apply mb-2 text-base leading-normal text-pgray-2
188
-
189
- .is-invalid
190
- .invalid-feedback
191
- @apply block
173
+ .range-input.inline > label {
174
+ @apply grow-0 shrink-0 mb-0 mr-2 py-2 border-t border-b border-transparent;
175
+ }
192
176
 
177
+ .range-input.inline .form-control {
178
+ @apply grow;
179
+ }
193
180
 
181
+ .range-input.disabled
194
182
  .input-group
195
- @apply flex flex-nowrap text-base leading-normal space-x-4
196
-
197
- .input-range-group
198
- @apply flex-grow
199
-
200
- .range-input-accept-values
201
- @apply flex justify-between mb-1 text-sm text-pgray-3
202
-
203
- input[type=text]
204
- @apply flex-grow-0 flex-shrink-0 w-11 bg-white border border-primary-600 rounded text-base text-center text-pgray-2
205
- @apply s('focus:outline-none')
206
-
207
- .invalid-feedback
208
- @apply hidden text-danger text-xs
183
+ .input-range-group
184
+ .range-input-accept-values,
185
+ .range-input.readonly
186
+ .input-group
187
+ .input-range-group
188
+ .range-input-accept-values {
189
+ @apply text-pgray-4;
190
+ }
191
+
192
+ .range-input.disabled .input-group input[type="text"],
193
+ .range-input.readonly .input-group input[type="text"] {
194
+ @apply border-primary-600 bg-primary-100;
195
+ }
196
+
197
+ .range-input > label {
198
+ @apply mb-2 text-base leading-[1.3125] text-pgray-2;
199
+ }
200
+
201
+ .range-input .is-invalid .invalid-feedback {
202
+ @apply block;
203
+ }
204
+
205
+ .range-input .input-group {
206
+ @apply flex flex-nowrap text-base leading-[1.3125] space-x-4;
207
+ }
208
+
209
+ .range-input .input-group .input-range-group {
210
+ @apply grow;
211
+ }
212
+
213
+ .range-input .input-group .input-range-group .range-input-accept-values {
214
+ @apply flex justify-between mb-1 text-sm text-pgray-3;
215
+ }
216
+
217
+ .range-input .input-group input[type="text"] {
218
+ @apply grow-0 shrink-0 w-11 bg-white border border-primary-600 rounded text-base text-center text-pgray-2 focus:outline-none;
219
+ }
220
+
221
+ .range-input .invalid-feedback {
222
+ @apply hidden text-danger text-xs;
223
+ }
209
224
  </style>
@@ -1,5 +1,5 @@
1
1
  <template lang="pug">
2
- .chart
2
+ .region-map-chart
3
3
  ECharts(
4
4
  :loading="loading"
5
5
  :option="formatedOption"
@@ -144,7 +144,8 @@ export default defineComponent({
144
144
  });
145
145
  </script>
146
146
 
147
- <style lang="stylus">
148
- .chart
149
- @apply h-52
147
+ <style>
148
+ .region-map-chart {
149
+ @apply h-52;
150
+ }
150
151
  </style>
@@ -199,44 +199,54 @@ export default defineComponent({
199
199
  });
200
200
  </script>
201
201
 
202
- <style lang="stylus">
203
- .right-sider
204
- @apply fixed top-0 right-0 h-full
205
- z-index 9
206
-
207
- &.show, &.hover
208
- @apply z-50
209
-
210
- &.show
211
- .right-sider-modal
212
- @apply block
213
-
214
- &-modal
215
- @apply fixed top-0 left-0 w-full h-full s('bg-mask/70') hidden
216
-
217
- &-content
218
- @apply absolute top-4 left-0 flex p-6 bg-white border-t border-l border-b border-primary-600 rounded-l-lg shadow-popup-lg transition-margin
219
- max-width calc(100vw - 16px)
220
- max-height calc(100% - theme('spacing.8'))
221
-
222
- .sider-toggle
223
- @apply absolute top-0 left-0 inline-flex p-3 rounded-l-full text-lg text-white
224
- margin-top 123px
225
- margin-left -44px
226
-
227
- &-third
228
- @apply bg-third-600
229
-
230
- &-purple
231
- @apply bg-edit
232
-
233
- &-wrapper
234
- @apply flex max-w-full overflow-hidden
235
-
236
- .sider-close-button
237
- @apply absolute top-0 right-0 inline-flex mt-6 mr-6 text-base text-primary
238
-
239
- &-addition-content
240
- @apply absolute top-4 right-0 flex bg-white border border-primary-600 rounded-lg overflow-hidden shadow-popup-lg transition-margin
241
- max-height calc(100% - theme('spacing.8'))
202
+ <style>
203
+ @reference '~ui/app/assets/css/main.css';
204
+
205
+ .right-sider {
206
+ @apply z-9 fixed top-0 right-0 h-full;
207
+ }
208
+
209
+ .right-sider.show,
210
+ .right-sider.hover {
211
+ @apply z-50;
212
+ }
213
+
214
+ .right-sider.show .right-sider-modal {
215
+ @apply block;
216
+ }
217
+
218
+ .right-sider-modal {
219
+ @apply fixed top-0 left-0 w-full h-full bg-mask/70 hidden;
220
+ }
221
+
222
+ .right-sider-content {
223
+ @apply absolute top-4 left-0 flex p-6 bg-white border-t border-l border-b border-primary-600 rounded-l-lg shadow-popup-lg transition-[margin];
224
+ max-width: calc(100vw - var(--spacing) * 4);
225
+ max-height: calc(100% - var(--spacing) * 8);
226
+ }
227
+
228
+ .right-sider-content .sider-toggle {
229
+ @apply absolute top-0 left-0 inline-flex mt-30.75 -ml-11 p-3 rounded-l-full text-lg text-white;
230
+ }
231
+
232
+ .right-sider-content .sider-toggle.sider-toggle-third {
233
+ @apply bg-third-600;
234
+ }
235
+
236
+ .right-sider-content .sider-toggle.sider-toggle-purple {
237
+ @apply bg-edit;
238
+ }
239
+
240
+ .right-sider-content-wrapper {
241
+ @apply flex max-w-full overflow-hidden;
242
+ }
243
+
244
+ .right-sider-content .sider-close-button {
245
+ @apply absolute top-0 right-0 inline-flex mt-6 mr-6 text-base text-primary;
246
+ }
247
+
248
+ .right-sider-addition-content {
249
+ @apply absolute top-4 right-0 flex bg-white border border-primary-600 rounded-lg overflow-hidden shadow-popup-lg transition-[margin];
250
+ max-height: calc(100% - var(--spacing) * 8);
251
+ }
242
252
  </style>
@@ -71,29 +71,34 @@ export default defineComponent({
71
71
  });
72
72
  </script>
73
73
 
74
- <style lang="stylus">
75
- .search-input
76
- .is-focus
77
- .button-group
78
- @apply border-primary
74
+ <style>
75
+ @reference '~ui/app/assets/css/main.css';
79
76
 
80
- &.search-input--sm
81
- .button-group
82
- @apply s('py-0.75')
77
+ .search-input .is-focus .button-group {
78
+ @apply border-primary;
79
+ }
80
+
81
+ .search-input.search-input--sm .button-group {
82
+ @apply py-0.75;
83
+ }
83
84
 
84
- .btn
85
- @apply text-sm
85
+ .search-input.search-input--sm .button-group .btn {
86
+ @apply text-sm;
87
+ }
86
88
 
87
- .input-group-append
88
- @apply inline-flex border-t border-r border-b border-primary-600 rounded-r bg-white
89
+ .search-input .input-group-append {
90
+ @apply inline-flex border-t border-r border-b border-primary-600 rounded-r bg-white;
91
+ }
89
92
 
90
- .button-group
91
- @apply inline-flex items-center s('py-1.75') s('pr-1.75') s('space-x-1.75')
93
+ .search-input .button-group {
94
+ @apply inline-flex items-center py-1.75 pr-1.75 space-x-1.75;
95
+ }
92
96
 
93
- &-divider
94
- @apply w-px h-full my-px bg-primary-600
97
+ .search-input .button-group-divider {
98
+ @apply w-px h-full my-px bg-primary-600;
99
+ }
95
100
 
96
- .btn
97
- @apply p-0 border-0 text-pgray-3 s('focus:outline-none') s('active:outline-none')
101
+ .search-input .button-group .btn {
102
+ @apply p-0 border-0 text-pgray-3 focus:outline-none active:outline-none;
103
+ }
98
104
  </style>
99
-