@flux-ui/components 3.0.0-next.67 → 3.0.0-next.68

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/dist/vite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","names":[],"sources":["../src/vite/defineFilterMacro.ts"],"sourcesContent":["import type { Plugin } from 'vite';\n\nconst SCRIPT_SETUP_REGEX = /<script\\b([^>]*)\\bsetup\\b([^>]*)>([\\s\\S]*?)<\\/script>/gi;\n\nfunction defineFilterMacro(): Plugin {\n return {\n name: '@flux-ui/components/define-filter-macro',\n enforce: 'pre',\n\n transform(code, id) {\n if (!id.endsWith('.vue')) {\n return;\n }\n\n if (!code.includes('defineFilter')) {\n return;\n }\n\n let transformed = false;\n\n const newCode = code.replace(SCRIPT_SETUP_REGEX, (match, before, after, content) => {\n if (!content.includes('defineFilter')) {\n return match;\n }\n\n if (content.includes('__filterDefinitionFactory')) {\n return match;\n }\n\n if (containsTopLevelCall(content, 'defineOptions')) {\n return match;\n }\n\n const wrapped = wrapDefineFilter(content);\n\n if (wrapped === content) {\n return match;\n }\n\n transformed = true;\n return `<script${before}setup${after}>${wrapped}</script>`;\n });\n\n if (!transformed) {\n return;\n }\n\n return {\n code: newCode,\n map: null\n };\n }\n };\n}\n\nexport default defineFilterMacro;\n\nfunction wrapDefineFilter(content: string): string {\n const range = findTopLevelCall(content, 'defineFilter');\n\n if (!range) {\n return content;\n }\n\n const callExpression = content.slice(range.callStart, range.callEnd);\n const replacement = `defineOptions({\\n __filterDefinitionFactory: ${callExpression}\\n})`;\n\n return content.slice(0, range.callStart) + replacement + content.slice(range.callEnd);\n}\n\nfunction containsTopLevelCall(content: string, name: string): boolean {\n return findTopLevelCall(content, name) !== null;\n}\n\ntype CallRange = {\n readonly callStart: number;\n readonly callEnd: number;\n};\n\nfunction findTopLevelCall(content: string, name: string): CallRange | null {\n let parenDepth = 0;\n let braceDepth = 0;\n let bracketDepth = 0;\n let inString: string | null = null;\n let inComment: 'single' | 'multi' | null = null;\n\n let i = 0;\n\n while (i < content.length) {\n const c = content[i];\n const n = content[i + 1];\n\n if (inComment === 'single') {\n if (c === '\\n') {\n inComment = null;\n }\n\n i++;\n continue;\n }\n\n if (inComment === 'multi') {\n if (c === '*' && n === '/') {\n inComment = null;\n i += 2;\n continue;\n }\n\n i++;\n continue;\n }\n\n if (inString) {\n if (c === '\\\\') {\n i += 2;\n continue;\n }\n\n if (c === inString) {\n inString = null;\n }\n\n i++;\n continue;\n }\n\n if (c === '/' && n === '/') {\n inComment = 'single';\n i += 2;\n continue;\n }\n\n if (c === '/' && n === '*') {\n inComment = 'multi';\n i += 2;\n continue;\n }\n\n if (c === '\"' || c === '\\'' || c === '`') {\n inString = c;\n i++;\n continue;\n }\n\n if (c === '(') {\n parenDepth++;\n i++;\n continue;\n }\n\n if (c === ')') {\n parenDepth--;\n i++;\n continue;\n }\n\n if (c === '{') {\n braceDepth++;\n i++;\n continue;\n }\n\n if (c === '}') {\n braceDepth--;\n i++;\n continue;\n }\n\n if (c === '[') {\n bracketDepth++;\n i++;\n continue;\n }\n\n if (c === ']') {\n bracketDepth--;\n i++;\n continue;\n }\n\n const isTopLevel = parenDepth === 0 && braceDepth === 0 && bracketDepth === 0;\n\n if (!isTopLevel || !content.startsWith(name, i)) {\n i++;\n continue;\n }\n\n const prevChar = i > 0 ? content[i - 1] : '';\n\n if (/[A-Za-z0-9_$]/.test(prevChar)) {\n i++;\n continue;\n }\n\n const afterName = i + name.length;\n const nextChar = content[afterName];\n\n if (nextChar && /[A-Za-z0-9_$]/.test(nextChar)) {\n i++;\n continue;\n }\n\n const callOpen = skipGenericAndWhitespace(content, afterName);\n\n if (callOpen === -1 || content[callOpen] !== '(') {\n i++;\n continue;\n }\n\n const callClose = matchClosingParen(content, callOpen);\n\n if (callClose === -1) {\n return null;\n }\n\n return {\n callStart: i,\n callEnd: callClose + 1\n };\n }\n\n return null;\n}\n\nfunction skipGenericAndWhitespace(content: string, start: number): number {\n let i = start;\n\n while (i < content.length && /\\s/.test(content[i])) {\n i++;\n }\n\n if (content[i] !== '<') {\n return i;\n }\n\n let depth = 1;\n i++;\n\n while (i < content.length && depth > 0) {\n const c = content[i];\n\n if (c === '<') {\n depth++;\n } else if (c === '>') {\n depth--;\n }\n\n i++;\n }\n\n while (i < content.length && /\\s/.test(content[i])) {\n i++;\n }\n\n return i;\n}\n\nfunction matchClosingParen(content: string, openIndex: number): number {\n let depth = 1;\n let inString: string | null = null;\n let inComment: 'single' | 'multi' | null = null;\n\n let i = openIndex + 1;\n\n while (i < content.length) {\n const c = content[i];\n const n = content[i + 1];\n\n if (inComment === 'single') {\n if (c === '\\n') {\n inComment = null;\n }\n\n i++;\n continue;\n }\n\n if (inComment === 'multi') {\n if (c === '*' && n === '/') {\n inComment = null;\n i += 2;\n continue;\n }\n\n i++;\n continue;\n }\n\n if (inString) {\n if (c === '\\\\') {\n i += 2;\n continue;\n }\n\n if (c === inString) {\n inString = null;\n }\n\n i++;\n continue;\n }\n\n if (c === '/' && n === '/') {\n inComment = 'single';\n i += 2;\n continue;\n }\n\n if (c === '/' && n === '*') {\n inComment = 'multi';\n i += 2;\n continue;\n }\n\n if (c === '\"' || c === '\\'' || c === '`') {\n inString = c;\n i++;\n continue;\n }\n\n if (c === '(') {\n depth++;\n } else if (c === ')') {\n depth--;\n\n if (depth === 0) {\n return i;\n }\n }\n\n i++;\n }\n\n return -1;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"vite.js","names":[],"sources":["../src/vite/defineFilterMacro.ts"],"sourcesContent":["import type { Plugin } from 'vite';\n\nconst SCRIPT_SETUP_REGEX = /<script\\b([^>]*)\\bsetup\\b([^>]*)>([\\s\\S]*?)<\\/script>/gi;\n\nfunction defineFilterMacro(): Plugin {\n return {\n name: '@flux-ui/components/define-filter-macro',\n enforce: 'pre',\n\n transform(code, id) {\n if (!id.endsWith('.vue')) {\n return;\n }\n\n if (!code.includes('defineFilter')) {\n return;\n }\n\n let transformed = false;\n\n const newCode = code.replace(SCRIPT_SETUP_REGEX, (match, before, after, content) => {\n if (!content.includes('defineFilter')) {\n return match;\n }\n\n if (content.includes('__filterDefinitionFactory')) {\n return match;\n }\n\n if (containsTopLevelCall(content, 'defineOptions')) {\n return match;\n }\n\n const wrapped = wrapDefineFilter(content);\n\n if (wrapped === content) {\n return match;\n }\n\n transformed = true;\n return `<script${before}setup${after}>${wrapped}</script>`;\n });\n\n if (!transformed) {\n return;\n }\n\n return {\n code: newCode,\n map: null\n };\n }\n };\n}\n\nexport default defineFilterMacro;\n\nfunction wrapDefineFilter(content: string): string {\n const range = findTopLevelCall(content, 'defineFilter');\n\n if (!range) {\n return content;\n }\n\n const callExpression = content.slice(range.callStart, range.callEnd);\n const replacement = `defineOptions({\\n __filterDefinitionFactory: ${callExpression}\\n})`;\n\n return content.slice(0, range.callStart) + replacement + content.slice(range.callEnd);\n}\n\nfunction containsTopLevelCall(content: string, name: string): boolean {\n return findTopLevelCall(content, name) !== null;\n}\n\ntype CallRange = {\n readonly callStart: number;\n readonly callEnd: number;\n};\n\nfunction findTopLevelCall(content: string, name: string): CallRange | null {\n let parenDepth = 0;\n let braceDepth = 0;\n let bracketDepth = 0;\n let inString: string | null = null;\n let inComment: 'single' | 'multi' | null = null;\n\n let i = 0;\n\n while (i < content.length) {\n const c = content[i];\n const n = content[i + 1];\n\n if (inComment === 'single') {\n if (c === '\\n') {\n inComment = null;\n }\n\n i++;\n continue;\n }\n\n if (inComment === 'multi') {\n if (c === '*' && n === '/') {\n inComment = null;\n i += 2;\n continue;\n }\n\n i++;\n continue;\n }\n\n if (inString) {\n if (c === '\\\\') {\n i += 2;\n continue;\n }\n\n if (c === inString) {\n inString = null;\n }\n\n i++;\n continue;\n }\n\n if (c === '/' && n === '/') {\n inComment = 'single';\n i += 2;\n continue;\n }\n\n if (c === '/' && n === '*') {\n inComment = 'multi';\n i += 2;\n continue;\n }\n\n if (c === '\"' || c === '\\'' || c === '`') {\n inString = c;\n i++;\n continue;\n }\n\n if (c === '(') {\n parenDepth++;\n i++;\n continue;\n }\n\n if (c === ')') {\n parenDepth--;\n i++;\n continue;\n }\n\n if (c === '{') {\n braceDepth++;\n i++;\n continue;\n }\n\n if (c === '}') {\n braceDepth--;\n i++;\n continue;\n }\n\n if (c === '[') {\n bracketDepth++;\n i++;\n continue;\n }\n\n if (c === ']') {\n bracketDepth--;\n i++;\n continue;\n }\n\n const isTopLevel = parenDepth === 0 && braceDepth === 0 && bracketDepth === 0;\n\n if (!isTopLevel || !content.startsWith(name, i)) {\n i++;\n continue;\n }\n\n const prevChar = i > 0 ? content[i - 1] : '';\n\n if (/[A-Za-z0-9_$]/.test(prevChar)) {\n i++;\n continue;\n }\n\n const afterName = i + name.length;\n const nextChar = content[afterName];\n\n if (nextChar && /[A-Za-z0-9_$]/.test(nextChar)) {\n i++;\n continue;\n }\n\n const callOpen = skipGenericAndWhitespace(content, afterName);\n\n if (callOpen === -1 || content[callOpen] !== '(') {\n i++;\n continue;\n }\n\n const callClose = matchClosingParen(content, callOpen);\n\n if (callClose === -1) {\n return null;\n }\n\n return {\n callStart: i,\n callEnd: callClose + 1\n };\n }\n\n return null;\n}\n\nfunction skipGenericAndWhitespace(content: string, start: number): number {\n let i = start;\n\n while (i < content.length && /\\s/.test(content[i])) {\n i++;\n }\n\n if (content[i] !== '<') {\n return i;\n }\n\n let depth = 1;\n i++;\n\n while (i < content.length && depth > 0) {\n const c = content[i];\n\n if (c === '<') {\n depth++;\n } else if (c === '>') {\n depth--;\n }\n\n i++;\n }\n\n while (i < content.length && /\\s/.test(content[i])) {\n i++;\n }\n\n return i;\n}\n\nfunction matchClosingParen(content: string, openIndex: number): number {\n let depth = 1;\n let inString: string | null = null;\n let inComment: 'single' | 'multi' | null = null;\n\n let i = openIndex + 1;\n\n while (i < content.length) {\n const c = content[i];\n const n = content[i + 1];\n\n if (inComment === 'single') {\n if (c === '\\n') {\n inComment = null;\n }\n\n i++;\n continue;\n }\n\n if (inComment === 'multi') {\n if (c === '*' && n === '/') {\n inComment = null;\n i += 2;\n continue;\n }\n\n i++;\n continue;\n }\n\n if (inString) {\n if (c === '\\\\') {\n i += 2;\n continue;\n }\n\n if (c === inString) {\n inString = null;\n }\n\n i++;\n continue;\n }\n\n if (c === '/' && n === '/') {\n inComment = 'single';\n i += 2;\n continue;\n }\n\n if (c === '/' && n === '*') {\n inComment = 'multi';\n i += 2;\n continue;\n }\n\n if (c === '\"' || c === '\\'' || c === '`') {\n inString = c;\n i++;\n continue;\n }\n\n if (c === '(') {\n depth++;\n } else if (c === ')') {\n depth--;\n\n if (depth === 0) {\n return i;\n }\n }\n\n i++;\n }\n\n return -1;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@flux-ui/components",
3
3
  "description": "A set of opiniated UI components.",
4
- "version": "3.0.0-next.67",
4
+ "version": "3.0.0-next.68",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "funding": "https://github.com/sponsors/basmilius",
@@ -55,10 +55,10 @@
55
55
  "**/dist/index.css"
56
56
  ],
57
57
  "dependencies": {
58
- "@basmilius/common": "^3.30.0",
59
- "@basmilius/utils": "^3.30.0",
60
- "@flux-ui/internals": "3.0.0-next.67",
61
- "@flux-ui/types": "3.0.0-next.67",
58
+ "@basmilius/common": "^3.33.0",
59
+ "@basmilius/utils": "^3.33.0",
60
+ "@flux-ui/internals": "3.0.0-next.68",
61
+ "@flux-ui/types": "3.0.0-next.68",
62
62
  "@fortawesome/fontawesome-common-types": "^7.2.0",
63
63
  "clsx": "^2.1.1",
64
64
  "imask": "^7.6.1",
@@ -66,18 +66,18 @@
66
66
  },
67
67
  "peerDependencies": {
68
68
  "luxon": "^3.7.2",
69
- "vue": "^3.6.0-beta.11"
69
+ "vue": "^3.6.0-beta.12"
70
70
  },
71
71
  "devDependencies": {
72
- "@basmilius/vite-preset": "^3.30.0",
72
+ "@basmilius/vite-preset": "^3.33.0",
73
73
  "@types/lodash-es": "^4.17.12",
74
74
  "@types/luxon": "^3.7.1",
75
- "@types/node": "^25.6.0",
76
- "@vitejs/plugin-vue": "^6.0.6",
75
+ "@types/node": "^25.8.0",
76
+ "@vitejs/plugin-vue": "^6.0.7",
77
77
  "@vue/tsconfig": "^0.9.1",
78
78
  "sass-embedded": "^1.99.0",
79
79
  "typescript": "^6.0.3",
80
- "vite": "^8.0.11",
81
- "vue-tsc": "^3.2.8"
80
+ "vite": "^8.0.13",
81
+ "vue-tsc": "^3.2.9"
82
82
  }
83
83
  }
@@ -1,5 +1,13 @@
1
1
  <template>
2
- <div :class="$style.layerPane">
2
+ <div
3
+ :class="clsx(
4
+ color === 'gray' && $style.layerPaneGray,
5
+ color === 'primary' && $style.layerPanePrimary,
6
+ color === 'danger' && $style.layerPaneDanger,
7
+ color === 'info' && $style.layerPaneInfo,
8
+ color === 'success' && $style.layerPaneSuccess,
9
+ color === 'warning' && $style.layerPaneWarning
10
+ )">
3
11
  <slot/>
4
12
  </div>
5
13
  </template>
@@ -7,9 +15,17 @@
7
15
  <script
8
16
  lang="ts"
9
17
  setup>
18
+ import type { FluxColor } from '@flux-ui/types';
19
+ import { clsx } from 'clsx';
10
20
  import type { VNode } from 'vue';
11
21
  import $style from '~flux/components/css/component/LayerPane.module.scss';
12
22
 
23
+ const {
24
+ color = 'gray'
25
+ } = defineProps<{
26
+ readonly color?: FluxColor;
27
+ }>();
28
+
13
29
  defineSlots<{
14
30
  default(): VNode[];
15
31
  }>();
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  &.isOpening {
35
- animation: open 210ms var(--deceleration-curve) both;
35
+ animation: open 210ms var(--swift-out) both;
36
36
  }
37
37
  }
38
38
 
@@ -1,23 +1,85 @@
1
1
  .layerPane {
2
2
  display: flex;
3
3
  flex-flow: column;
4
- border: 1px solid var(--surface-stroke-out);
5
- border-radius: var(--radius);
6
- background: var(--gray-50);
7
4
  background-clip: padding-box;
5
+ border: 1px solid;
6
+ border-radius: var(--radius);
7
+ contain: paint;
8
+
9
+ > :local(.basePaneStructure) {
10
+ border-color: inherit;
11
+ }
12
+ }
13
+
14
+ .layerPaneGray {
15
+ composes: layerPane;
16
+
17
+ background-color: var(--gray-50);
18
+ border-color: var(--surface-stroke-out);
19
+ }
20
+
21
+ .layerPanePrimary {
22
+ composes: layerPane;
23
+
24
+ background-color: var(--primary-100);
25
+ border-color: var(--primary-200);
26
+ }
27
+
28
+ .layerPaneDanger {
29
+ composes: layerPane;
30
+
31
+ background-color: var(--danger-100);
32
+ border-color: var(--danger-200);
33
+
34
+ :local(.paneHeaderIcon) {
35
+ color: var(--danger-600);
36
+ }
37
+ }
38
+
39
+ .layerPaneInfo {
40
+ composes: layerPane;
41
+
42
+ background-color: var(--info-100);
43
+ border-color: var(--info-200);
44
+
45
+ :local(.paneHeaderIcon) {
46
+ color: var(--info-600);
47
+ }
48
+ }
49
+
50
+ .layerPaneSuccess {
51
+ composes: layerPane;
52
+
53
+ background-color: var(--success-100);
54
+ border-color: var(--success-200);
55
+
56
+ :local(.paneHeaderIcon) {
57
+ color: var(--success-600);
58
+ }
59
+ }
60
+
61
+ .layerPaneWarning {
62
+ composes: layerPane;
63
+
64
+ background-color: var(--warning-100);
65
+ border-color: var(--warning-200);
66
+
67
+ :local(.paneHeaderIcon) {
68
+ color: var(--warning-600);
69
+ }
8
70
  }
9
71
 
10
72
  .layerPane > .basePaneStructure {
11
- border-right-width: 0;
12
- border-left-width: 0;
73
+ margin-left: -1px;
74
+ margin-right: -1px;
13
75
  }
14
76
 
15
77
  .layerPane > .basePaneStructure:first-child {
16
- border-top-width: 0;
78
+ margin-top: -1px;
17
79
  }
18
80
 
19
81
  .layerPane > .basePaneStructure:last-child {
20
- border-bottom-width: 0;
82
+ margin-bottom: -1px;
21
83
  }
22
84
 
23
85
  .layerPane > .basePaneStructure + .basePaneStructure {
@@ -16,7 +16,7 @@
16
16
  composes: overlayView;
17
17
 
18
18
  background: var(--overlay);
19
- backdrop-filter: blur(3px) saturate(180%);
19
+ backdrop-filter: blur(3px) grayscale(.5) saturate(180%);
20
20
  pointer-events: none;
21
21
  transition: opacity 600ms var(--swift-out);
22
22
  }
@@ -58,8 +58,8 @@
58
58
  background: var(--overlay-secondary);
59
59
  opacity: 0;
60
60
  pointer-events: none;
61
- transition: opacity 420ms var(--swift-out);
62
- z-index: 1;
61
+ transition: opacity 600ms var(--swift-out);
62
+ z-index: 1000;
63
63
  }
64
64
  }
65
65
 
@@ -111,6 +111,7 @@
111
111
  max-height: calc(100% - 18px);
112
112
  width: min(100dvw, 720px);
113
113
  contain: paint;
114
+ transition-duration: 600ms;
114
115
  overflow: auto;
115
116
 
116
117
  > .paneHeader,
@@ -154,10 +155,10 @@
154
155
 
155
156
  .overlayTransitionEnterActive,
156
157
  .overlayTransitionLeaveActive {
157
- transition: opacity 420ms var(--swift-out);
158
+ transition: opacity 300ms var(--swift-out);
158
159
 
159
160
  > .basePaneStructure {
160
- transition: 420ms var(--swift-out);
161
+ transition: 300ms var(--swift-out);
161
162
  transition-property: opacity, scale;
162
163
  }
163
164
  }
@@ -182,10 +183,10 @@
182
183
 
183
184
  .slideOverTransitionEnterActive,
184
185
  .slideOverTransitionLeaveActive {
185
- transition: opacity 600ms var(--swift-out);
186
+ transition: opacity 480ms var(--swift-out);
186
187
 
187
188
  > .basePaneStructure {
188
- transition: 600ms var(--swift-out);
189
+ transition: 480ms var(--swift-out);
189
190
  transition-property: opacity, transform;
190
191
  }
191
192
  }
@@ -95,13 +95,13 @@
95
95
  .verticalWindowTransitionEnterActive,
96
96
  .verticalWindowTransitionBackEnterActive {
97
97
  contain: paint;
98
- transition: 120ms var(--deceleration-curve);
98
+ transition: 105ms var(--deceleration-curve);
99
99
  transition-property: opacity, transform;
100
100
  }
101
101
 
102
102
  .verticalWindowTransitionLeaveActive,
103
103
  .verticalWindowTransitionBackLeaveActive {
104
- transition: 120ms var(--acceleration-curve);
104
+ transition: 105ms var(--acceleration-curve);
105
105
  transition-property: opacity, transform;
106
106
  }
107
107
 
@@ -119,13 +119,13 @@
119
119
 
120
120
  .windowTransitionEnterActive,
121
121
  .windowTransitionBackEnterActive {
122
- transition: 120ms var(--deceleration-curve);
122
+ transition: 105ms var(--deceleration-curve);
123
123
  transition-property: height, opacity, transform;
124
124
  }
125
125
 
126
126
  .windowTransitionLeaveActive,
127
127
  .windowTransitionBackLeaveActive {
128
- transition: 120ms var(--acceleration-curve);
128
+ transition: 105ms var(--acceleration-curve);
129
129
  transition-property: height, opacity, transform;
130
130
  }
131
131
 
package/src/index.ts CHANGED
@@ -6,6 +6,7 @@ export * from './transition';
6
6
 
7
7
  export {
8
8
  fluxRegisterIcons,
9
+ iconRegistry,
9
10
  isFluxFormSelectGroup,
10
11
  isFluxFormSelectOption,
11
12
  showAlert,