@mptw/skylens-ui 1.5.0 → 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.
- package/AGENTS.md +59 -0
- package/CLAUDE.md +36 -0
- package/README.md +7 -7
- package/app/app.config.ts +11 -2
- package/app/app.vue +5 -0
- package/app/assets/css/layout.css +134 -0
- package/app/assets/css/main.css +189 -0
- package/app/components/SLAlertModal.vue +24 -16
- package/app/components/SLBreadcrumbs.vue +12 -8
- package/app/components/SLButton.vue +196 -163
- package/app/components/SLCalendarButton.vue +40 -34
- package/app/components/SLCalendarPopup.vue +79 -53
- package/app/components/SLCard.vue +57 -41
- package/app/components/SLChart.vue +6 -3
- package/app/components/SLCheckbox.vue +92 -49
- package/app/components/SLCircleButton.vue +25 -16
- package/app/components/SLCollapsableBlock.vue +44 -33
- package/app/components/SLCollapsableMulitPillSelect.vue +20 -15
- package/app/components/SLConfirmModal.vue +9 -6
- package/app/components/SLContextMenu.vue +88 -48
- package/app/components/SLDateInput.vue +109 -92
- package/app/components/SLDatePicker.vue +9 -7
- package/app/components/SLDistributor.vue +1 -1
- package/app/components/SLDownloadButton.vue +39 -29
- package/app/components/SLDraggable.vue +2 -2
- package/app/components/SLDropdown.vue +33 -25
- package/app/components/SLDropdownItem.vue +9 -5
- package/app/components/SLElementWithTitle.vue +12 -7
- package/app/components/SLEyeCheckbox.vue +44 -31
- package/app/components/SLFileInput.vue +23 -16
- package/app/components/SLGenderAgeSelect.vue +52 -36
- package/app/components/SLHourRangeInput.vue +45 -32
- package/app/components/SLIOSSwitch.vue +81 -60
- package/app/components/SLIcon.vue +4 -3
- package/app/components/SLIconButton.vue +31 -29
- package/app/components/SLInfoTip.vue +51 -40
- package/app/components/SLInsightSitePage.vue +12 -7
- package/app/components/SLLegend.vue +19 -12
- package/app/components/SLLinearProgressBar.vue +7 -20
- package/app/components/SLLink.vue +12 -8
- package/app/components/SLLoading.vue +34 -31
- package/app/components/SLMapChart.vue +5 -4
- package/app/components/SLModal.vue +90 -66
- package/app/components/SLMonthCalendarButton.vue +91 -45
- package/app/components/SLMonthPicker.vue +42 -37
- package/app/components/SLMultiEmailInput.vue +163 -113
- package/app/components/SLMultiSelect.vue +37 -26
- package/app/components/SLNoData.vue +16 -11
- package/app/components/SLNotification.vue +133 -129
- package/app/components/SLPageModal.vue +14 -9
- package/app/components/SLPagination.vue +45 -33
- package/app/components/SLPillCheckbox.vue +50 -42
- package/app/components/SLPillLabel.vue +43 -28
- package/app/components/SLPopupMenuButton.vue +26 -17
- package/app/components/SLProfileButton.vue +28 -20
- package/app/components/SLProjectShareItem.vue +30 -17
- package/app/components/SLRadioButton.vue +41 -33
- package/app/components/SLRadioButtonGroup.vue +28 -23
- package/app/components/SLRadioGroup.vue +90 -78
- package/app/components/SLRangeInput.vue +53 -38
- package/app/components/SLRegionsMapChart.vue +5 -4
- package/app/components/SLRightSider.vue +50 -40
- package/app/components/SLSearchInput.vue +24 -19
- package/app/components/SLSelect.vue +114 -87
- package/app/components/SLSelectAllToggle.vue +52 -37
- package/app/components/SLSidebarNav.vue +253 -193
- package/app/components/SLSidebarNavGroupItem.vue +13 -10
- package/app/components/SLSidebarNavGroupItemSection.vue +240 -179
- package/app/components/SLSidebarNavLinkItem.vue +131 -109
- package/app/components/SLSidebarNavSectionItem.vue +21 -18
- package/app/components/SLSitePage.vue +35 -24
- package/app/components/SLSkyInsightSitePage.vue +13 -8
- package/app/components/SLSortByDropdown.vue +35 -22
- package/app/components/SLSpinIcon.vue +6 -3
- package/app/components/SLStayRangeInput.vue +47 -36
- package/app/components/SLTab.vue +7 -2
- package/app/components/SLTable.vue +330 -313
- package/app/components/SLTableTooltip.vue +44 -30
- package/app/components/SLTabs.vue +333 -280
- package/app/components/SLTextInput.vue +162 -134
- package/app/components/SLTextarea.vue +40 -29
- package/app/components/SLToast.vue +19 -11
- package/app/components/SLToggleButton.vue +18 -11
- package/app/components/SLTwoLayerMultiSelect.vue +180 -85
- package/app/components/SLTwoLayerSelect.vue +47 -37
- package/app/components/SLTwoLayerSingleSelect.vue +52 -33
- package/app/components/SLWarnModal.vue +9 -7
- package/app/interface/commons.ts +7 -0
- package/app/utils/index.ts +213 -146
- package/eslint.config.js +3 -0
- package/nuxt.config.ts +17 -14
- package/package.json +9 -8
- package/skills-lock.json +59 -0
- package/tsconfig.json +1 -6
- package/.eslintrc.cjs +0 -4
- package/app/assets/css/layout.styl +0 -98
- package/app/assets/css/tailwind.css +0 -3
- package/app/pages/index.vue +0 -15
- package/interface/commons.ts +0 -7
- package/tailwind.config.js +0 -271
- /package/{interface → app/interface}/IDateRange.ts +0 -0
- /package/{interface → app/interface}/IHourRange.ts +0 -0
- /package/{interface → app/interface}/IInputOption.ts +0 -0
- /package/{interface → app/interface}/ILegendItem.ts +0 -0
- /package/{interface → app/interface}/IOrganization.ts +0 -0
- /package/{interface → app/interface}/IPopupMenuButton.ts +0 -0
- /package/{interface → app/interface}/IStayRange.ts +0 -0
- /package/{interface → app/interface}/ITableField.ts +0 -0
- /package/{interface → app/interface}/IWeb.ts +0 -0
- /package/{interface → app/interface}/NavConfigType.ts +0 -0
- /package/{models → app/models}/DateRange.ts +0 -0
|
@@ -79,14 +79,17 @@
|
|
|
79
79
|
</template>
|
|
80
80
|
|
|
81
81
|
<script lang="ts">
|
|
82
|
-
import { fromEvent, Subscription } from
|
|
83
|
-
import gsap from
|
|
84
|
-
import { createPopper } from
|
|
85
|
-
import type { Instance as PopperInstance } from
|
|
86
|
-
import {
|
|
82
|
+
import { fromEvent, Subscription } from "rxjs";
|
|
83
|
+
import gsap from "gsap";
|
|
84
|
+
import { createPopper } from "@popperjs/core";
|
|
85
|
+
import type { Instance as PopperInstance } from "@popperjs/core";
|
|
86
|
+
import {
|
|
87
|
+
NavItemStatus,
|
|
88
|
+
type NavItemSection,
|
|
89
|
+
} from "~ui/app/interface/NavConfigType";
|
|
87
90
|
|
|
88
91
|
export default defineComponent({
|
|
89
|
-
name:
|
|
92
|
+
name: "SLSidebarNavGroupItemSection",
|
|
90
93
|
props: {
|
|
91
94
|
navCollapsed: {
|
|
92
95
|
type: Boolean,
|
|
@@ -101,7 +104,7 @@ export default defineComponent({
|
|
|
101
104
|
required: true,
|
|
102
105
|
},
|
|
103
106
|
},
|
|
104
|
-
emits: [
|
|
107
|
+
emits: ["click:item"],
|
|
105
108
|
setup(props, { emit }) {
|
|
106
109
|
const route = useRoute();
|
|
107
110
|
|
|
@@ -126,10 +129,14 @@ export default defineComponent({
|
|
|
126
129
|
const isLinkExactActive = computed(() => {
|
|
127
130
|
if (!itemConfig.value.to) return false;
|
|
128
131
|
|
|
129
|
-
if (itemConfig.value.code ===
|
|
130
|
-
return [
|
|
131
|
-
|
|
132
|
-
|
|
132
|
+
if (itemConfig.value.code === "M01") {
|
|
133
|
+
return ["/application/web", "/application/web/create"].includes(
|
|
134
|
+
route.path,
|
|
135
|
+
);
|
|
136
|
+
} else if (itemConfig.value.code === "M02") {
|
|
137
|
+
return ["/application/poi", "/application/poi/create"].includes(
|
|
138
|
+
route.path,
|
|
139
|
+
);
|
|
133
140
|
}
|
|
134
141
|
|
|
135
142
|
return route.path === itemConfig.value.to;
|
|
@@ -138,11 +145,12 @@ export default defineComponent({
|
|
|
138
145
|
function onClickedSectionItem() {
|
|
139
146
|
if (itemConfig.value.to || !itemConfig.value.emit) return;
|
|
140
147
|
|
|
141
|
-
emit(
|
|
148
|
+
emit("click:item", itemConfig.value.emit);
|
|
142
149
|
}
|
|
143
150
|
|
|
144
151
|
function onClickedToggle() {
|
|
145
|
-
if (!collapsed.value && isLinkActive.value && !isLinkExactActive.value)
|
|
152
|
+
if (!collapsed.value && isLinkActive.value && !isLinkExactActive.value)
|
|
153
|
+
return;
|
|
146
154
|
collapsed.value = !collapsed.value;
|
|
147
155
|
}
|
|
148
156
|
|
|
@@ -162,7 +170,7 @@ export default defineComponent({
|
|
|
162
170
|
|
|
163
171
|
function onClickedLinkItem(emitEvent?: string) {
|
|
164
172
|
if (emitEvent) {
|
|
165
|
-
emit(
|
|
173
|
+
emit("click:item", emitEvent);
|
|
166
174
|
}
|
|
167
175
|
}
|
|
168
176
|
|
|
@@ -183,7 +191,9 @@ export default defineComponent({
|
|
|
183
191
|
function onCollapse() {
|
|
184
192
|
clearTween();
|
|
185
193
|
|
|
186
|
-
const bodyWrapper = bodyEl.value?.querySelector(
|
|
194
|
+
const bodyWrapper = bodyEl.value?.querySelector(
|
|
195
|
+
".sidebar-nav-group-item-section-body-wrapper",
|
|
196
|
+
);
|
|
187
197
|
if (!bodyEl.value || !bodyWrapper) return;
|
|
188
198
|
|
|
189
199
|
const wrapperRect = bodyWrapper.getBoundingClientRect();
|
|
@@ -191,19 +201,21 @@ export default defineComponent({
|
|
|
191
201
|
height: 0,
|
|
192
202
|
alpha: 0,
|
|
193
203
|
duration: 0.3,
|
|
194
|
-
ease:
|
|
204
|
+
ease: "power2.out",
|
|
195
205
|
onStart: () => {
|
|
196
206
|
if (!bodyEl.value) return;
|
|
197
207
|
bodyEl.value.style.height = `${wrapperRect.height + 4}px`;
|
|
198
|
-
bodyEl.value.style.opacity =
|
|
208
|
+
bodyEl.value.style.opacity = "1";
|
|
199
209
|
},
|
|
200
210
|
});
|
|
201
211
|
}
|
|
202
212
|
|
|
203
213
|
function onExpand() {
|
|
204
214
|
clearTween();
|
|
205
|
-
|
|
206
|
-
const bodyWrapper = bodyEl.value?.querySelector(
|
|
215
|
+
|
|
216
|
+
const bodyWrapper = bodyEl.value?.querySelector(
|
|
217
|
+
".sidebar-nav-group-item-section-body-wrapper",
|
|
218
|
+
);
|
|
207
219
|
if (!bodyEl.value || !bodyWrapper) return;
|
|
208
220
|
|
|
209
221
|
const wrapperRect = bodyWrapper.getBoundingClientRect();
|
|
@@ -211,10 +223,10 @@ export default defineComponent({
|
|
|
211
223
|
height: wrapperRect.height + 4,
|
|
212
224
|
alpha: 1,
|
|
213
225
|
duration: 0.3,
|
|
214
|
-
ease:
|
|
226
|
+
ease: "power2.out",
|
|
215
227
|
onComplete: () => {
|
|
216
228
|
if (!bodyEl.value) return;
|
|
217
|
-
bodyEl.value.removeAttribute(
|
|
229
|
+
bodyEl.value.removeAttribute("style");
|
|
218
230
|
},
|
|
219
231
|
});
|
|
220
232
|
}
|
|
@@ -223,17 +235,17 @@ export default defineComponent({
|
|
|
223
235
|
if (
|
|
224
236
|
!headerEl.value ||
|
|
225
237
|
!popupEl.value ||
|
|
226
|
-
popupEl.value.hasAttribute(
|
|
238
|
+
popupEl.value.hasAttribute("data-show") ||
|
|
227
239
|
!popperInstance
|
|
228
240
|
)
|
|
229
241
|
return;
|
|
230
242
|
|
|
231
|
-
popupEl.value.setAttribute(
|
|
243
|
+
popupEl.value.setAttribute("data-show", "");
|
|
232
244
|
popperInstance.setOptions((options) => ({
|
|
233
245
|
...options,
|
|
234
246
|
modifiers: [
|
|
235
247
|
...(options.modifiers || []),
|
|
236
|
-
{ name:
|
|
248
|
+
{ name: "eventListeners", enabled: true },
|
|
237
249
|
],
|
|
238
250
|
}));
|
|
239
251
|
popperInstance.update();
|
|
@@ -248,7 +260,7 @@ export default defineComponent({
|
|
|
248
260
|
|
|
249
261
|
function onIconMouseEnter() {
|
|
250
262
|
clearDisappearTimeout();
|
|
251
|
-
|
|
263
|
+
|
|
252
264
|
if (!navCollapsed.value) return;
|
|
253
265
|
|
|
254
266
|
showPopup();
|
|
@@ -257,12 +269,12 @@ export default defineComponent({
|
|
|
257
269
|
function hidePopup() {
|
|
258
270
|
if (!popupEl.value || !popperInstance) return;
|
|
259
271
|
|
|
260
|
-
popupEl.value.removeAttribute(
|
|
272
|
+
popupEl.value.removeAttribute("data-show");
|
|
261
273
|
popperInstance.setOptions((options) => ({
|
|
262
274
|
...options,
|
|
263
275
|
modifiers: [
|
|
264
276
|
...(options.modifiers || []),
|
|
265
|
-
{ name:
|
|
277
|
+
{ name: "eventListeners", enabled: false },
|
|
266
278
|
],
|
|
267
279
|
}));
|
|
268
280
|
}
|
|
@@ -281,16 +293,16 @@ export default defineComponent({
|
|
|
281
293
|
nextTick(() => {
|
|
282
294
|
if (!headerEl.value || !popupEl.value) return;
|
|
283
295
|
popperInstance = createPopper(headerEl.value, popupEl.value, {
|
|
284
|
-
placement:
|
|
285
|
-
strategy:
|
|
296
|
+
placement: "right-start",
|
|
297
|
+
strategy: "fixed",
|
|
286
298
|
modifiers: [
|
|
287
299
|
{
|
|
288
|
-
name:
|
|
300
|
+
name: "offset",
|
|
289
301
|
options: {
|
|
290
302
|
offset: [0, 12],
|
|
291
303
|
},
|
|
292
304
|
},
|
|
293
|
-
{ name:
|
|
305
|
+
{ name: "eventListeners", enabled: false },
|
|
294
306
|
],
|
|
295
307
|
});
|
|
296
308
|
});
|
|
@@ -310,7 +322,7 @@ export default defineComponent({
|
|
|
310
322
|
}
|
|
311
323
|
|
|
312
324
|
onExpand();
|
|
313
|
-
})
|
|
325
|
+
});
|
|
314
326
|
|
|
315
327
|
watch(isLinkActive, () => {
|
|
316
328
|
if (navCollapsed.value) return;
|
|
@@ -331,9 +343,11 @@ export default defineComponent({
|
|
|
331
343
|
collapsed.value = !isLinkActive.value;
|
|
332
344
|
|
|
333
345
|
destroyWindowDragEndSubscription();
|
|
334
|
-
windowDragEndSubscription = fromEvent(window,
|
|
335
|
-
|
|
336
|
-
|
|
346
|
+
windowDragEndSubscription = fromEvent(window, "dragend").subscribe(
|
|
347
|
+
(e) => {
|
|
348
|
+
actived.value = false;
|
|
349
|
+
},
|
|
350
|
+
);
|
|
337
351
|
|
|
338
352
|
setupPopper();
|
|
339
353
|
});
|
|
@@ -366,155 +380,202 @@ export default defineComponent({
|
|
|
366
380
|
});
|
|
367
381
|
</script>
|
|
368
382
|
|
|
369
|
-
<style
|
|
370
|
-
.
|
|
371
|
-
.sidebar-nav-group-item-section
|
|
372
|
-
@apply items-center
|
|
373
|
-
|
|
374
|
-
&-header
|
|
375
|
-
@apply s('lg:p-2') s('lg:rounded-full') s('lg:text-lg')
|
|
376
|
-
|
|
377
|
-
&-left
|
|
378
|
-
@apply s('lg:inline-flex')
|
|
379
|
-
|
|
380
|
-
&-right
|
|
381
|
-
@apply s('lg:hidden')
|
|
382
|
-
|
|
383
|
-
.sidebar.dark
|
|
384
|
-
.sidebar-nav-group-item-section
|
|
385
|
-
&-header
|
|
386
|
-
@apply bg-primary-900 text-white
|
|
387
|
-
@apply s('hover:bg-primary')
|
|
388
|
-
|
|
389
|
-
&.active, &.router-link-exact-active
|
|
390
|
-
@apply bg-primary-600
|
|
391
|
-
@apply s('hover:bg-primary-600')
|
|
392
|
-
|
|
393
|
-
&-body
|
|
394
|
-
&-wrapper
|
|
395
|
-
.sidebar-nav-group-item-section-link
|
|
396
|
-
@apply bg-primary-900 text-white
|
|
397
|
-
@apply s('hover:bg-primary-800') s('active:bg-primary-600')
|
|
398
|
-
|
|
399
|
-
&.router-link-exact-active
|
|
400
|
-
@apply bg-primary-600
|
|
401
|
-
@apply s('hover:bg-primary-600')
|
|
402
|
-
|
|
403
|
-
.sidebar-nav-group-item-section
|
|
404
|
-
@apply flex flex-col
|
|
405
|
-
|
|
406
|
-
&.collapsed
|
|
407
|
-
.sidebar-nav-group-item-section-header
|
|
408
|
-
&-right
|
|
409
|
-
.sidebar-nav-group-item-section-status
|
|
410
|
-
.sidebar-nav-group-item-section-toggle-btn
|
|
411
|
-
@apply rotate-0
|
|
412
|
-
|
|
413
|
-
&-header
|
|
414
|
-
@apply flex items-center flex-nowrap py-2 pr-1 pl-2 bg-primary-50 rounded-lg text-base text-primary
|
|
415
|
-
@apply s('hover:bg-primary-200') s('hover:font-bold')
|
|
416
|
-
|
|
417
|
-
&:hover
|
|
418
|
-
.sidebar-nav-group-item-section-header-right
|
|
419
|
-
.sidebar-nav-group-item-section-status
|
|
420
|
-
.sidebar-nav-group-item-section-add-btn
|
|
421
|
-
@apply text-primary
|
|
422
|
-
|
|
423
|
-
&.active, &.router-link-exact-active
|
|
424
|
-
@apply bg-primary-600 text-white font-bold
|
|
425
|
-
@apply s('hover:bg-primary-600') s('hover:text-white') s('hover:font-bold')
|
|
426
|
-
|
|
427
|
-
.sidebar-nav-group-item-section-header-right
|
|
428
|
-
.sidebar-nav-group-item-section-status
|
|
429
|
-
.sidebar-nav-group-item-section-add-btn
|
|
430
|
-
@apply text-white
|
|
431
|
-
|
|
432
|
-
&.router-link-exact-active
|
|
433
|
-
.sidebar-nav-group-item-section-header-right
|
|
434
|
-
.sidebar-nav-group-item-section-status
|
|
435
|
-
.sidebar-nav-group-item-section-add-btn
|
|
436
|
-
@apply hidden
|
|
437
|
-
|
|
438
|
-
&-left
|
|
439
|
-
@apply flex-grow-0 flex-shrink-0 inline-flex
|
|
440
|
-
|
|
441
|
-
&-right
|
|
442
|
-
@apply flex-grow flex items-center justify-between flex-nowrap space-x-1
|
|
443
|
-
|
|
444
|
-
.sidebar-nav-group-section-title
|
|
445
|
-
@apply flex-grow inline-flex items-center h-6 pl-1 whitespace-nowrap
|
|
446
|
-
|
|
447
|
-
.sidebar-nav-group-item-section-status
|
|
448
|
-
@apply flex-grow-0 flex-shrink-0
|
|
449
|
-
|
|
450
|
-
.sidebar-nav-group-item-section-toggle-btn
|
|
451
|
-
@apply flex items-center justify-center w-4 h-4 text-sm rotate-180 transition-transform origin-center
|
|
383
|
+
<style>
|
|
384
|
+
@reference '~ui/app/assets/css/main.css';
|
|
452
385
|
|
|
453
|
-
|
|
454
|
-
|
|
386
|
+
.sidebar.closure .sidebar-nav-group-item-section {
|
|
387
|
+
@apply items-center;
|
|
388
|
+
}
|
|
455
389
|
|
|
456
|
-
|
|
457
|
-
|
|
390
|
+
.sidebar.closure .sidebar-nav-group-item-section-header {
|
|
391
|
+
@apply lg:p-2 lg:rounded-full lg:text-lg;
|
|
392
|
+
}
|
|
458
393
|
|
|
459
|
-
|
|
460
|
-
|
|
394
|
+
.sidebar.closure .sidebar-nav-group-item-section-header-left {
|
|
395
|
+
@apply lg:inline-flex;
|
|
396
|
+
}
|
|
461
397
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
398
|
+
.sidebar.closure .sidebar-nav-group-item-section-header-right {
|
|
399
|
+
@apply lg:hidden;
|
|
400
|
+
}
|
|
465
401
|
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
402
|
+
.sidebar.dark .sidebar-nav-group-item-section-header {
|
|
403
|
+
@apply bg-primary-900 text-white hover:bg-primary;
|
|
404
|
+
}
|
|
469
405
|
|
|
470
|
-
.sidebar-nav-group-item-section-
|
|
471
|
-
|
|
406
|
+
.sidebar.dark .sidebar-nav-group-item-section-header.active,
|
|
407
|
+
.sidebar.dark .sidebar-nav-group-item-section-header.router-link-exact-active {
|
|
408
|
+
@apply bg-primary-600 hover:bg-primary-600;
|
|
409
|
+
}
|
|
472
410
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
&:hover
|
|
479
|
-
.sidebar-nav-group-item-section-popup-link-icon
|
|
480
|
-
@apply text-primary-500
|
|
481
|
-
|
|
482
|
-
&.router-link-exact-active, &:active
|
|
483
|
-
.sidebar-nav-group-item-section-popup-link-icon
|
|
484
|
-
@apply text-primary
|
|
485
|
-
|
|
486
|
-
&-icon
|
|
487
|
-
@apply text-primary-500
|
|
488
|
-
|
|
489
|
-
.sidebar-nav-group-item-section-popup-link
|
|
490
|
-
@apply bg-primary-900 text-white
|
|
491
|
-
@apply s('hover:bg-primary') s('active:bg-primary-600')
|
|
492
|
-
|
|
493
|
-
&.router-link-exact-active
|
|
494
|
-
@apply bg-primary-600
|
|
495
|
-
@apply s('hover:bg-primary-600')
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
&[data-show]
|
|
499
|
-
@apply flex
|
|
500
|
-
|
|
501
|
-
&.single
|
|
502
|
-
@apply p-0
|
|
503
|
-
|
|
504
|
-
.sidebar-nav-group-item-section-popup-link
|
|
505
|
-
@apply py-2 pr-1 pl-2
|
|
506
|
-
|
|
507
|
-
&-link
|
|
508
|
-
@apply flex items-center justify-between flex-nowrap py-1 px-2 space-x-4 bg-white rounded-lg text-sm text-primary
|
|
509
|
-
@apply s('hover:bg-primary-200') s('hover:font-bold') s('active:bg-primary-600') s('active:text-white') s('active:font-bold')
|
|
510
|
-
|
|
511
|
-
&.router-link-exact-active
|
|
512
|
-
@apply bg-primary-600 text-white font-bold
|
|
513
|
-
@apply s('hover:bg-primary-600') s('hover:text-white') s('hover:font-bold')
|
|
514
|
-
|
|
515
|
-
&-icon
|
|
516
|
-
@apply inline-flex origin-center rotate-180
|
|
411
|
+
.sidebar.dark
|
|
412
|
+
.sidebar-nav-group-item-section-body-wrapper
|
|
413
|
+
.sidebar-nav-group-item-section-link {
|
|
414
|
+
@apply bg-primary-900 text-white hover:bg-primary-800 active:bg-primary-600;
|
|
415
|
+
}
|
|
517
416
|
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
417
|
+
.sidebar.dark
|
|
418
|
+
.sidebar-nav-group-item-section-body-wrapper
|
|
419
|
+
.sidebar-nav-group-item-section-link.router-link-exact-active {
|
|
420
|
+
@apply bg-primary-600 hover:bg-primary-600;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.sidebar-nav-group-item-section {
|
|
424
|
+
@apply flex flex-col;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.sidebar-nav-group-item-section.collapsed
|
|
428
|
+
.sidebar-nav-group-item-section-header-right
|
|
429
|
+
.sidebar-nav-group-item-section-status
|
|
430
|
+
.sidebar-nav-group-item-section-toggle-btn {
|
|
431
|
+
@apply rotate-0;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.sidebar-nav-group-item-section-header {
|
|
435
|
+
@apply flex items-center flex-nowrap py-2 pr-1 pl-2 bg-primary-50 rounded-lg text-base text-primary hover:bg-primary-200 hover:font-bold;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
.sidebar-nav-group-item-section-header:hover
|
|
439
|
+
.sidebar-nav-group-item-section-header-right
|
|
440
|
+
.sidebar-nav-group-item-section-status
|
|
441
|
+
.sidebar-nav-group-item-section-add-btn {
|
|
442
|
+
@apply text-primary;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
.sidebar-nav-group-item-section-header.active,
|
|
446
|
+
.sidebar-nav-group-item-section-header.router-link-exact-active {
|
|
447
|
+
@apply bg-primary-600 text-white font-bold hover:bg-primary-600 hover:text-white hover:font-bold;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
.sidebar-nav-group-item-section-header.active
|
|
451
|
+
.sidebar-nav-group-item-section-header-right
|
|
452
|
+
.sidebar-nav-group-item-section-status
|
|
453
|
+
.sidebar-nav-group-item-section-add-btn,
|
|
454
|
+
.sidebar-nav-group-item-section-header.router-link-exact-active
|
|
455
|
+
.sidebar-nav-group-item-section-header-right
|
|
456
|
+
.sidebar-nav-group-item-section-status
|
|
457
|
+
.sidebar-nav-group-item-section-add-btn {
|
|
458
|
+
@apply text-white;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.sidebar-nav-group-item-section-header.router-link-exact-active
|
|
462
|
+
.sidebar-nav-group-item-section-header-right
|
|
463
|
+
.sidebar-nav-group-item-section-status
|
|
464
|
+
.sidebar-nav-group-item-section-add-btn {
|
|
465
|
+
@apply hidden;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
.sidebar-nav-group-item-section-header-left {
|
|
469
|
+
@apply grow-0 shrink-0 inline-flex;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
.sidebar-nav-group-item-section-header-right {
|
|
473
|
+
@apply grow flex items-center justify-between flex-nowrap space-x-1;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
.sidebar-nav-group-item-section-header-right .sidebar-nav-group-section-title {
|
|
477
|
+
@apply grow inline-flex items-center h-6 pl-1 whitespace-nowrap;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
.sidebar-nav-group-item-section-header-right
|
|
481
|
+
.sidebar-nav-group-item-section-status {
|
|
482
|
+
@apply grow-0 shrink-0;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
.sidebar-nav-group-item-section-header-right
|
|
486
|
+
.sidebar-nav-group-item-section-status
|
|
487
|
+
.sidebar-nav-group-item-section-toggle-btn {
|
|
488
|
+
@apply flex items-center justify-center w-4 h-4 text-sm rotate-180 transition-transform origin-center;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
.sidebar-nav-group-item-section-header-right
|
|
492
|
+
.sidebar-nav-group-item-section-status
|
|
493
|
+
.sidebar-nav-group-item-section-add-btn {
|
|
494
|
+
@apply flex items-center justify-center w-4 h-4 text-sm text-primary-400;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
.sidebar-nav-group-item-section-body {
|
|
498
|
+
@apply overflow-hidden transition-[height];
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
.sidebar-nav-group-item-section-body-wrapper {
|
|
502
|
+
@apply pl-3;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
.sidebar-nav-group-item-section-body-wrapper
|
|
506
|
+
.sidebar-nav-group-item-section-link {
|
|
507
|
+
@apply block py-1 px-2 bg-primary-50 rounded-lg text-sm text-primary whitespace-nowrap hover:bg-primary-200 hover:font-bold active:bg-primary-600 active:text-white active:font-bold;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
.sidebar-nav-group-item-section-body-wrapper
|
|
511
|
+
.sidebar-nav-group-item-section-link.router-link-exact-active {
|
|
512
|
+
@apply bg-primary-600 text-white font-bold hover:bg-primary-600 hover:text-white hover:font-bold;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
.sidebar-nav-group-item-section-popup {
|
|
516
|
+
@apply flex-col min-w-[142px] p-2 space-y-1 bg-white rounded-lg overflow-hidden shadow-md hidden;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
.sidebar-nav-group-item-section-popup.dark {
|
|
520
|
+
@apply bg-primary-900;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
.sidebar-nav-group-item-section-popup.dark.single
|
|
524
|
+
.sidebar-nav-group-item-section-popup-link:hover
|
|
525
|
+
.sidebar-nav-group-item-section-popup-link-icon {
|
|
526
|
+
@apply text-primary-500;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
.sidebar-nav-group-item-section-popup.dark.single
|
|
530
|
+
.sidebar-nav-group-item-section-popup-link.router-link-exact-active
|
|
531
|
+
.sidebar-nav-group-item-section-popup-link-icon,
|
|
532
|
+
.sidebar-nav-group-item-section-popup.dark.single
|
|
533
|
+
.sidebar-nav-group-item-section-popup-link:active
|
|
534
|
+
.sidebar-nav-group-item-section-popup-link-icon {
|
|
535
|
+
@apply text-primary;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
.sidebar-nav-group-item-section-popup.dark.single
|
|
539
|
+
.sidebar-nav-group-item-section-popup-link-icon {
|
|
540
|
+
@apply text-primary-500;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
.sidebar-nav-group-item-section-popup.dark
|
|
544
|
+
.sidebar-nav-group-item-section-popup-link {
|
|
545
|
+
@apply bg-primary-900 text-white hover:bg-primary active:bg-primary-600;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
.sidebar-nav-group-item-section-popup.dark
|
|
549
|
+
.sidebar-nav-group-item-section-popup-link.router-link-exact-active {
|
|
550
|
+
@apply bg-primary-600 hover:bg-primary-600;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
.sidebar-nav-group-item-section-popup[data-show] {
|
|
554
|
+
@apply flex;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
.sidebar-nav-group-item-section-popup.single {
|
|
558
|
+
@apply p-0;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
.sidebar-nav-group-item-section-popup.single
|
|
562
|
+
.sidebar-nav-group-item-section-popup-link {
|
|
563
|
+
@apply py-2 pr-1 pl-2;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
.sidebar-nav-group-item-section-popup-link {
|
|
567
|
+
@apply flex items-center justify-between flex-nowrap py-1 px-2 space-x-4 bg-white rounded-lg text-sm text-primary hover:bg-primary-200 hover:font-bold active:bg-primary-600 active:text-white active:font-bold;
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
.sidebar-nav-group-item-section-popup-link.router-link-exact-active {
|
|
571
|
+
@apply bg-primary-600 text-white font-bold hover:bg-primary-600 hover:text-white hover:font-bold;
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
.sidebar-nav-group-item-section-popup-link-icon {
|
|
575
|
+
@apply inline-flex origin-center rotate-180;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
.sidebar-nav-group-item-section-popup-divide {
|
|
579
|
+
@apply h-px bg-primary-200;
|
|
580
|
+
}
|
|
581
|
+
</style>
|