@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
package/AGENTS.md ADDED
@@ -0,0 +1,59 @@
1
+ # AGENTS.md
2
+
3
+ This file provides context, development standards, and instructions for AI agents working in this repository.
4
+
5
+ ## Overview
6
+
7
+ `@mptw/skylens-ui` is a **Nuxt Layer** library designed to be extended by other Nuxt applications. The core UI components and reusable logic reside in the repository root (`/app`), while the `.playground` directory serves as a local implementation environment for development, testing, and previewing.
8
+
9
+ ## Technical Stack
10
+
11
+ - **Framework**: Nuxt 4 (`nuxt` v4.x) / Vue 3 Composition API (`vue` v3.5+)
12
+ - **Styling**: Tailwind CSS v4 (`tailwindcss` v4.x + `@tailwindcss/vite`)
13
+ - **Templating**: Pug (`pug` / `@vue/language-plugin-pug`) for Vue component templates
14
+ - **Data Visualization**: ECharts (`echarts` + `vue-echarts`)
15
+ - **Key Libraries**: GSAP, Swiper, V-Calendar, Date-fns, Lodash-es, RxJS, SortableJS, CommonMark, DOMPurify, ExcelJS
16
+
17
+ ## Architecture & File Structure
18
+
19
+ ```
20
+ .
21
+ ├── app/ # Core Nuxt Layer source code
22
+ │ ├── assets/ # Global styles and static design assets
23
+ │ ├── components/ # Reusable UI components (prefixed with `SL`, e.g., `SLButton.vue`)
24
+ │ ├── interface/ # TypeScript interface & type definitions
25
+ │ ├── models/ # Data models, domain logic, and state management
26
+ │ ├── plugins/ # Nuxt framework plugins
27
+ │ └── utils/ # Utility functions and shared helpers
28
+ ├── .playground/ # Sandbox Nuxt app used to test & demo layer components
29
+ ├── nuxt.config.ts # Main Nuxt layer configuration
30
+ ├── package.json # Package dependencies & scripts
31
+ └── eslint.config.js # ESLint configuration
32
+ ```
33
+
34
+ ## Development Commands
35
+
36
+ Execute development scripts using `npm` or `pnpm`:
37
+
38
+ - **Development Server** (boots `.playground`): `npm run dev`
39
+ - **Prepare Playground**: `npm run dev:prepare`
40
+ - **Production Build**: `npm run build`
41
+ - **Static Generation**: `npm run generate`
42
+ - **Preview Production Build**: `npm run preview`
43
+ - **Lint Codebase**: `npm run lint`
44
+
45
+ ## Code Guidelines & Best Practices
46
+
47
+ 1. **Component Conventions**:
48
+ - Write components using Vue 3 Composition API with `<script setup lang="ts">`.
49
+ - Use Pug for templates (`<template lang="pug">`).
50
+ - Name reusable UI components in `app/components/` with the `SL` prefix (e.g., `SLButton.vue`).
51
+
52
+ 2. **Styling**:
53
+ - Use Tailwind CSS v4 for styling.
54
+ - Maintain global design system tokens and assets inside `app/assets/`.
55
+
56
+ 3. **Development Workflow**:
57
+ - Implement reusable layer code inside `app/`.
58
+ - Verify features and component renders within the `.playground/` environment via `npm run dev`.
59
+ - Run `npm run lint` before committing code changes.
package/CLAUDE.md ADDED
@@ -0,0 +1,36 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Development Commands
6
+
7
+ - Dev server (boots .playground): `npm run dev`
8
+ - Prepare playground: `npm run dev:prepare`
9
+ - Build for production: `npm run build`
10
+ - Statically generate: `npm run generate`
11
+ - Preview production build: `npm run preview`
12
+ - Lint codebase: `npm run lint`
13
+
14
+ ## Architecture & Structure
15
+
16
+ This repository is a **Nuxt Layer**, designed to be extended by other Nuxt projects. The reusable logic and UI reside in the root, while the `.playground` directory serves as a local implementation for development and testing.
17
+
18
+ ### Core Layer Structure (`/app`)
19
+
20
+ - `components/`: UI components, mostly prefixed with `SL` (e.g., `SLButton.vue`).
21
+ - `interface/`: TypeScript interface definitions.
22
+ - `models/`: Data models and state definitions.
23
+ - `plugins/`: Nuxt plugins for extending framework functionality.
24
+ - `utils/`: Shared utility functions.
25
+ - `assets/`: Global styles and static assets.
26
+
27
+ ### Technical Stack
28
+
29
+ - **Framework**: Nuxt 4 / Vue 3
30
+ - **Styling**: Tailwind CSS v4
31
+ - **Templating**: Pug is used for Vue templates.
32
+ - **Visualization**: ECharts (`vue-echarts`) is used for charts and maps.
33
+
34
+ ### Development Workflow
35
+
36
+ When adding or modifying components, implement them in `app/components/` and verify their behavior by running the development server (`npm run dev`), which renders the layer within the `.playground` environment.
package/README.md CHANGED
@@ -10,15 +10,15 @@ Make sure to install the dependencies:
10
10
  pnpm install
11
11
  ```
12
12
 
13
- ## Working on your theme
13
+ ## Working on your layer
14
14
 
15
- Your theme is at the root of this repository, it is exactly like a regular Nuxt project, except you can publish it on NPM.
15
+ Your layer is at the root of this repository, it is exactly like a regular Nuxt project, except you can publish it on NPM.
16
16
 
17
- The `.playground` directory should help you on trying your theme during development.
17
+ The `.playground` directory should help you on trying your layer during development.
18
18
 
19
- Running `pnpm dev` will prepare and boot `.playground` directory, which imports your theme itself.
19
+ Running `pnpm dev` will prepare and boot `.playground` directory, which imports your layer itself.
20
20
 
21
- ## Distributing your theme
21
+ ## Distributing your layer
22
22
 
23
23
  Your Nuxt layer is shaped exactly the same as any other Nuxt project, except you can publish it on NPM.
24
24
 
@@ -31,14 +31,14 @@ npm publish --access public
31
31
  Once done, your users will only have to run:
32
32
 
33
33
  ```bash
34
- npm install --save your-theme
34
+ npm install --save your-layer
35
35
  ```
36
36
 
37
37
  Then add the dependency to their `extends` in `nuxt.config`:
38
38
 
39
39
  ```ts
40
40
  defineNuxtConfig({
41
- extends: 'your-theme'
41
+ extends: 'your-layer'
42
42
  })
43
43
  ```
44
44
 
@@ -0,0 +1,14 @@
1
+ export default defineAppConfig({
2
+ myLayer: {
3
+ name: 'Hello from Nuxt layer'
4
+ }
5
+ })
6
+
7
+ declare module '@nuxt/schema' {
8
+ interface AppConfigInput {
9
+ myLayer?: {
10
+ /** Project name */
11
+ name?: string
12
+ }
13
+ }
14
+ }
package/app/app.vue ADDED
@@ -0,0 +1,5 @@
1
+ <template>
2
+ <div>
3
+ <SLCheckbox />
4
+ </div>
5
+ </template>
@@ -0,0 +1,134 @@
1
+ @reference '~ui/app/assets/css/main.css';
2
+
3
+ @layer base {
4
+ body {
5
+ font-family:
6
+ "微軟正黑體",
7
+ "Microsoft JhengHei",
8
+ ui-sans-serif,
9
+ system-ui,
10
+ -apple-system,
11
+ BlinkMacSystemFont,
12
+ "Segoe UI",
13
+ Roboto,
14
+ "Helvetica Neue",
15
+ Arial,
16
+ "Noto Sans",
17
+ sans-serif,
18
+ "Apple Color Emoji",
19
+ "Segoe UI Emoji",
20
+ "Segoe UI Symbol",
21
+ "Noto Color Emoji";
22
+ background-color: #f3f4f8;
23
+ }
24
+
25
+ label {
26
+ @apply inline-block;
27
+ }
28
+ }
29
+
30
+ @layer components {
31
+ .vc-skylens-purple {
32
+ --vc-accent-200: var(--color-primary-100);
33
+ --vc-accent-600: var(--color-primary);
34
+ --vc-accent-500: var(--color-primary-300);
35
+ --vc-accent-700: var(--color-primary-600);
36
+ --vc-accent-900: var(--color-primary-800);
37
+ }
38
+
39
+ .vc-skylens-gray {
40
+ --vc-accent-200: var(--color-pgray-5);
41
+ --vc-accent-500: var(--color-pgray-4);
42
+ --vc-accent-600: var(--color-pgray-3);
43
+ --vc-accent-700: var(--color-pgray-3);
44
+ --vc-accent-900: var(--color-pgray-2);
45
+ }
46
+
47
+ .vc-container .vc-weeks {
48
+ @apply px-0;
49
+ }
50
+
51
+ .scrollbar-y {
52
+ @apply absolute top-0 right-0 bottom-0 w-1 rounded-full;
53
+ }
54
+
55
+ .scrollbar-y .indicator {
56
+ @apply w-full h-12 bg-primary-300 rounded-full;
57
+ }
58
+
59
+ .markdown-content {
60
+ @apply text-base leading-relaxed;
61
+ }
62
+
63
+ .markdown-content ol {
64
+ @apply list-decimal list-inside;
65
+ }
66
+
67
+ .markdown-content ol li {
68
+ @apply font-bold;
69
+ }
70
+
71
+ .markdown-content ol li ul {
72
+ @apply ml-3 list-disc list-inside;
73
+ }
74
+
75
+ .markdown-content ol li ul li {
76
+ @apply font-normal;
77
+ }
78
+
79
+ .markdown-content ol li ul li ul {
80
+ @apply ml-5 list-none;
81
+ }
82
+
83
+ .custom-scrollbar-y {
84
+ @apply overflow-x-hidden overflow-y-auto;
85
+ -webkit-overflow-scrolling: touch;
86
+ }
87
+
88
+ .custom-scrollbar-y::-webkit-scrollbar {
89
+ @apply w-1;
90
+ }
91
+
92
+ .custom-scrollbar-y::-webkit-scrollbar-track {
93
+ @apply bg-transparent;
94
+ }
95
+
96
+ .custom-scrollbar-y::-webkit-scrollbar-thumb {
97
+ @apply bg-primary-300 rounded;
98
+ }
99
+
100
+ .custom-scrollbar-y::-webkit-scrollbar-thumb:hover {
101
+ @apply bg-primary-500;
102
+ }
103
+
104
+ .custom-scrollbar-x {
105
+ @apply overflow-x-auto overflow-y-hidden;
106
+ -webkit-overflow-scrolling: touch;
107
+ }
108
+
109
+ .custom-scrollbar-x::-webkit-scrollbar {
110
+ @apply h-1;
111
+ }
112
+
113
+ .custom-scrollbar-x::-webkit-scrollbar-track {
114
+ @apply bg-transparent;
115
+ }
116
+
117
+ .custom-scrollbar-x::-webkit-scrollbar-thumb {
118
+ @apply bg-secondary rounded;
119
+ }
120
+
121
+ .custom-scrollbar-x::-webkit-scrollbar-thumb:hover {
122
+ @apply bg-secondary;
123
+ }
124
+
125
+ .fade-enter-active,
126
+ .fade-leave-active {
127
+ @apply transition-opacity;
128
+ }
129
+
130
+ .fade-enter,
131
+ .fade-leave-to {
132
+ @apply opacity-0;
133
+ }
134
+ }
@@ -0,0 +1,189 @@
1
+ @import "tailwindcss";
2
+
3
+ @theme {
4
+ --font-login-title: "Roboto";
5
+
6
+ --color-primary: "#626493";
7
+ --color-primary-15: "#FAFAFD";
8
+ --color-primary-25: "#F9F9FF";
9
+ --color-primary-50: "#F3F4F8";
10
+ --color-primary-100: "#E8EAF2";
11
+ --color-primary-200: "#DDE1F3";
12
+ --color-primary-300: "#BABBE1";
13
+ --color-primary-400: "#A1A3D0";
14
+ --color-primary-500: "#9193C1";
15
+ --color-primary-600: "#8486B4";
16
+ --color-primary-700: "#626493";
17
+ --color-primary-800: "#4E5076";
18
+ --color-primary-900: "#3B3C58";
19
+
20
+ --color-secondary: "#6182C3";
21
+ --color-secondary-50: "#F1F5FC";
22
+ --color-secondary-200: "#EAF1FF";
23
+ --color-secondary-400: "#A9BADB";
24
+ --color-secondary-500: "#90A8D7";
25
+ --color-secondary-600: "#7996CF";
26
+ --color-secondary-700: "#6182C3";
27
+ --color-secondary-800: "#4E689C";
28
+ --color-secondary-new-dark: "#445B89";
29
+
30
+ --color-third: "#4C8098";
31
+ --color-third-50: "#F9FFF1";
32
+ --color-third-100: "#E8F2EB";
33
+ --color-third-400: "#B3D9C7";
34
+ --color-third-500: "#82CDDB";
35
+ --color-third-600: "#4EA3B6";
36
+ --color-third-700: "#4C8098";
37
+
38
+ --color-four-100: "#FAE7F0";
39
+ --color-four-400: "#FEABBF";
40
+ --color-four-500: "#EC6F8D";
41
+
42
+ --color-highlight: "#EEB13C";
43
+ --color-highlight-50: "#FFFBF1";
44
+ --color-highlight-100: "#F2EFE8";
45
+ --color-highlight-300: "#F6D79D";
46
+ --color-highlight-400: "#FFD874";
47
+ --color-highlight-500: "#FBBE21";
48
+ --color-highlight-600: "#FDB242";
49
+ --color-highlight-700: "#EEB13C";
50
+
51
+ --color-poi: "#D35092";
52
+ --color-poi-100: "#F1AFCE";
53
+ --color-poi-300: "#EB8CB9";
54
+ --color-poi-700: "#D35092";
55
+ --color-poi-900: "#AA5488";
56
+ --color-poi-1000: "#7E4E77";
57
+
58
+ --color-danger: "#F35A5A";
59
+ --color-danger-700: "#F35A5A";
60
+ --color-danger-light: "#FE8678";
61
+
62
+ --color-red: "#EB5757";
63
+ --color-red-2: "#F34141";
64
+ --color-red-700: "#EB5757";
65
+
66
+ --color-pgray-1: "#2C2D31";
67
+ --color-pgray-2: "#4D4F55";
68
+ --color-pgray-3: "#858792";
69
+ --color-pgray-4: "#BCBFCF";
70
+ --color-pgray-4p5: "#C7C5D0";
71
+ --color-pgray-5: "#DFE1E9";
72
+ --color-pgray-6: "#ECECF2";
73
+
74
+ --color-gray-1: "#333333";
75
+ --color-gray-2: "#4F4F4F";
76
+ --color-gray-3: "#828282";
77
+ --color-gray-4: "#BDBDBD";
78
+ --color-gray-5: "#E0E0E0";
79
+ --color-gray-6: "#F2F2F2";
80
+
81
+ --color-green: "#27AE60";
82
+ --color-green-2: "#6EC393";
83
+ --color-green-700: "#27AE60";
84
+
85
+ --color-blue-1: "#2F80ED";
86
+ --color-blue-2: "#110DFB";
87
+ --color-blue-3: "#332FED";
88
+
89
+ --color-orange: "#F48A28";
90
+ --color-orange-700: "#F48A28";
91
+
92
+ --color-edit: "#6E6BDD";
93
+ --color-edit-700: "#6E6BDD";
94
+
95
+ --color-card-lightpr-bg: "#FBFCFF";
96
+
97
+ --color-insight-title: "#696CBA";
98
+ --color-insight-title-line: "#9B74DA";
99
+ --color-insight-hint-line: "#ADB4F5";
100
+ --color-insight-web-title-start: "#39BBE4";
101
+ --color-insight-web-title-end: "rgb(144 128 241/0.74)";
102
+ --color-insight-poi-title-start: "rgb(255 131 92/0.7)";
103
+ --color-insight-poi-title-end: "rgb(120 91 207/0.74)";
104
+
105
+ --color-mask: "#47485A";
106
+ --color-mask-700: "#47485A";
107
+
108
+ --color-login-bg: "#fefefe";
109
+ --color-login-bg-700: "#fefefe";
110
+
111
+ --color-nav-color-switch-bg: "#2D2F57";
112
+ --color-nav-color-switch-bg-700: "#2D2F57";
113
+
114
+ --color-linear-progress-bar: linear-gradient(
115
+ 270deg,
116
+ rgba(211, 211, 211, 0.62) 0.08%,
117
+ #e1e1e1 46.69%,
118
+ rgba(211, 211, 211, 0.62) 100%
119
+ );
120
+
121
+ --shadow-default: "0px 2px 4px rgba(111, 111, 111, 0.2)";
122
+ --shadow-md: "0px 2px 8px rgba(88, 82, 103, 0.25)";
123
+ --shadow-inline: "inset 0px -1px 0px rgba(186, 187, 225, 0.8)";
124
+ --shadow-second-inline: "inset 0px -1px 0px rgba(238, 177, 60, 0.8)";
125
+ --shadow-header-drop: "0px 5px 12px rgba(88, 82, 103, 0.45)";
126
+ --shadow-popup-sm: "0px 5px 5px -3px rgba(88, 82, 103, 0.2), 0px 3px 14px 2px rgba(88, 82, 103, 0.12)";
127
+ --shadow-popup-lg: "0px 5px 12px rgba(88, 82, 103, 0.45)";
128
+ --shadow-login: "2px 5px 20px rgba(107, 91, 141, 0.45)";
129
+ --shadow-insight-layer: "0px 4px 4px rgba(70, 56, 107, 0.25)";
130
+ --shadow-insight-comment: "0px 4px 12px rgba(37, 35, 143, 0.25)";
131
+ --shadow-insight-card: "0px 4px 12px rgba(77, 45, 147, 0.25)";
132
+ --shadow-insight-card-lg: "0px 4px 20px 0px rgba(0, 0, 0, 0.10)";
133
+ --shadow-small-card: "2px 2px 4px rgba(0, 0, 0, 0.1)";
134
+ --shadow-float-actions: "0px -6px 12px 0px rgba(90, 92, 133, 0.10)";
135
+
136
+ --text-sm: "0.875rem";
137
+ --text-sm--line-height: "1.1875rem";
138
+ --text-md: "0.9375rem";
139
+ --text-md--line-height: "1.25rem";
140
+ --text-base: "1rem";
141
+ --text-base--line-height: "1.3125rem";
142
+ --text-lg: "1.25rem";
143
+ --text-lg--line-height: "1.6875rem";
144
+ --text-0p75xl: "1.0625rem";
145
+ --text-0p75xl--line-height: "1.75rem";
146
+ --text-2p25xl: "1.5625rem";
147
+ --text-2p25xl--line-height: "1.8125rem";
148
+ --text-2p67xl: "1.75rem";
149
+ --text-2p67xl--line-height: "2rem";
150
+ --text-3p33xl: "2rem";
151
+ --text-3p33xl--line-height: "2.6875rem";
152
+ --text-3p67xl: "2.125rem";
153
+ --text-3p67xl--line-height: "2.4175rem";
154
+ --text-7p17xl: "4.75rem";
155
+ --text-16xl: "4rem";
156
+ --text-16xl--line-height: "4.625rem";
157
+ --text-18xl: "4.5rem";
158
+ --text-18xl--line-height: "6rem";
159
+
160
+ --transition-input-focus: "margin, padding, color, font-size, line-height, background-color";
161
+ --transition-app-header: "margin, width";
162
+
163
+ --text-shadow-default: "0px 4px 4px rgba(0, 0, 0, 0.25)";
164
+ --text-shadow-md: "0px 2px 8px rgba(88, 82, 103, 0.25)";
165
+
166
+ --animate-indeterminate: indeterminateAnimation 1s infinite linear;
167
+ --animate-loading: loading 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
168
+
169
+ @keyframes indeterminateAnimation {
170
+ 0% {
171
+ transform: translateX(0) scaleX(0);
172
+ }
173
+ 40% {
174
+ transform: translateX(0) scaleX(0.4);
175
+ }
176
+ 100% {
177
+ transform: translateX(100%) scaleX(0.5);
178
+ }
179
+ }
180
+
181
+ @keyframes loading {
182
+ 0% {
183
+ transform: rotate(0deg);
184
+ }
185
+ 100% {
186
+ transform: rotate(360deg);
187
+ }
188
+ }
189
+ }
@@ -74,26 +74,34 @@ export default defineComponent({
74
74
  });
75
75
  </script>
76
76
 
77
- <style lang="stylus">
78
- .alert-modal
79
- @apply z-60
77
+ <style>
78
+ @reference '~ui/app/assets/css/main.css';
80
79
 
81
- .modal-backdrop
82
- @apply s('bg-white/40') backdrop-blur-5
80
+ .alert-modal {
81
+ @apply z-60;
82
+ }
83
83
 
84
- &.show
85
- @apply s('bg-white/40')
84
+ .alert-modal .modal-backdrop {
85
+ @apply bg-white/40 backdrop-blur-[5px];
86
+ }
86
87
 
87
- .modal-body
88
- &-content
89
- @apply text-base leading-6 text-pgray-2 text-center space-y-4
88
+ .alert-modal .modal-backdrop.show {
89
+ @apply bg-white/40;
90
+ }
90
91
 
91
- .icon
92
- @apply s('text-7.17xl')
92
+ .alert-modal .modal-body-content {
93
+ @apply text-base leading-6 text-pgray-2 text-center space-y-4;
94
+ }
93
95
 
94
- p
95
- @apply whitespace-pre-wrap
96
+ .alert-modal .modal-body-content .icon {
97
+ @apply text-7.17xl;
98
+ }
96
99
 
97
- .modal-footer
98
- @apply flex justify-center
100
+ .alert-modal .modal-body-content p {
101
+ @apply whitespace-pre-wrap;
102
+ }
103
+
104
+ .alert-modal .modal-footer {
105
+ @apply flex justify-center;
106
+ }
99
107
  </style>
@@ -29,14 +29,18 @@ export default defineComponent({
29
29
  });
30
30
  </script>
31
31
 
32
- <style lang="stylus">
33
- .breadcrumbs
34
- @apply flex flex-wrap items-center justify-start text-lg text-primary font-bold
32
+ <style>
33
+ @reference '~ui/app/assets/css/main.css';
34
+
35
+ .breadcrumbs {
36
+ @apply flex flex-wrap items-center justify-start text-lg text-primary font-bold;
37
+ }
35
38
 
36
- &-container
37
- .breadcrumb-item:not(:last-child)
38
- @apply text-base font-normal
39
+ .breadcrumbs-container .breadcrumb-item:not(:last-child) {
40
+ @apply text-base font-normal;
41
+ }
39
42
 
40
- &-notice
41
- @apply inline-flex items-center
43
+ .breadcrumbs-notice {
44
+ @apply inline-flex items-center;
45
+ }
42
46
  </style>