fantasia-ui 0.2.31 → 0.2.32

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shuster
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.en.md CHANGED
@@ -303,7 +303,7 @@ Or add to `src/env.d.ts`:
303
303
 
304
304
  ## 📄 License
305
305
 
306
- [MIT](./LICENSE) License © 2024 Shuster
306
+ [MIT](./LICENSE) License © 2026 Shuster
307
307
 
308
308
  ## 🤝 Contributing
309
309
 
package/README.md CHANGED
@@ -299,11 +299,11 @@ const buttonProps: FButtonProps = {
299
299
  - [更新日志(中文)](./CHANGELOG.zh-CN.md)
300
300
  - [更新日志(English)](./CHANGELOG.md)
301
301
  - [优化报告](./OPTIMIZATION.md)
302
- - [问题反馈](https://github.com/shuster/fantasia-ui/issues)
302
+ - [问题反馈](https://github.com/ShusterLi/fantasia-ui/issues)
303
303
 
304
304
  ## 📄 开源协议
305
305
 
306
- [MIT](./LICENSE) License © 2024 Shuster
306
+ [MIT](./LICENSE) License © 2026 Shuster
307
307
 
308
308
  ## 🤝 贡献
309
309
 
@@ -5990,14 +5990,14 @@ to {
5990
5990
  .f-editor__textarea[data-v-6d590649]::placeholder {
5991
5991
  color: #475569;
5992
5992
  opacity: 0.7;
5993
- }.f-table[data-v-22daf8be] {
5993
+ }.f-table[data-v-01724962] {
5994
5994
  position: relative;
5995
5995
  border: 1px solid #e2e8f0;
5996
5996
  border-radius: 6px;
5997
5997
  overflow: hidden;
5998
5998
  min-height: 14rem;
5999
5999
  }
6000
- .f-table__loading[data-v-22daf8be] {
6000
+ .f-table__loading[data-v-01724962] {
6001
6001
  position: absolute;
6002
6002
  inset: 0;
6003
6003
  background: rgba(255, 255, 255, 0.7);
@@ -6009,12 +6009,13 @@ to {
6009
6009
  gap: 0.625rem;
6010
6010
  z-index: 10;
6011
6011
  }
6012
- .f-table__scroll[data-v-22daf8be] {
6012
+ .f-table__scroll[data-v-01724962] {
6013
+ position: relative;
6013
6014
  width: 100%;
6014
6015
  height: 100%;
6015
6016
  overflow: auto;
6016
6017
  }
6017
- .f-table__inner[data-v-22daf8be] {
6018
+ .f-table__inner[data-v-01724962] {
6018
6019
  width: 100%;
6019
6020
  border-collapse: collapse;
6020
6021
  font-size: 0.75rem;
@@ -6022,67 +6023,67 @@ to {
6022
6023
  table-layout: auto;
6023
6024
  min-width: 100%;
6024
6025
  }
6025
- .f-table__inner th[data-v-22daf8be],
6026
- .f-table__inner td[data-v-22daf8be] {
6026
+ .f-table__inner th[data-v-01724962],
6027
+ .f-table__inner td[data-v-01724962] {
6027
6028
  padding: 0.625rem;
6028
6029
  border-right: 1px solid #e2e8f0;
6029
6030
  }
6030
- .f-table__inner th[data-v-22daf8be]:last-child,
6031
- .f-table__inner td[data-v-22daf8be]:last-child {
6031
+ .f-table__inner th[data-v-01724962]:last-child,
6032
+ .f-table__inner td[data-v-01724962]:last-child {
6032
6033
  border-right: none;
6033
6034
  }
6034
- .f-table__col--index[data-v-22daf8be] {
6035
+ .f-table__col--index[data-v-01724962] {
6035
6036
  width: 3rem;
6036
6037
  }
6037
- .f-table__head[data-v-22daf8be] {
6038
+ .f-table__head[data-v-01724962] {
6038
6039
  position: sticky;
6039
6040
  top: 0;
6040
6041
  z-index: 2;
6041
6042
  background: #1e293b;
6042
6043
  color: #ffffff;
6043
6044
  }
6044
- .f-table__th[data-v-22daf8be] {
6045
+ .f-table__th[data-v-01724962] {
6045
6046
  font-weight: 700;
6046
6047
  text-align: center;
6047
6048
  }
6048
- .f-table__th--index[data-v-22daf8be] {
6049
+ .f-table__th--index[data-v-01724962] {
6049
6050
  background: #0f172a;
6050
6051
  width: 3rem;
6051
6052
  }
6052
- .f-table__th-inner[data-v-22daf8be] {
6053
+ .f-table__th-inner[data-v-01724962] {
6053
6054
  display: flex;
6054
6055
  flex-direction: column;
6055
6056
  align-items: center;
6056
6057
  gap: 0.25rem;
6057
6058
  }
6058
- .f-table__row[data-v-22daf8be] {
6059
+ .f-table__row[data-v-01724962] {
6059
6060
  border-bottom: 1px solid #e2e8f0;
6060
6061
  }
6061
- .f-table__row[data-v-22daf8be]:hover {
6062
+ .f-table__row[data-v-01724962]:hover {
6062
6063
  background: rgba(248, 250, 252, 0.7);
6063
6064
  }
6064
- .f-table__td[data-v-22daf8be] {
6065
+ .f-table__td[data-v-01724962] {
6065
6066
  text-align: center;
6066
6067
  font-size: 0.6875rem;
6067
6068
  overflow: hidden;
6068
6069
  text-overflow: ellipsis;
6069
6070
  white-space: nowrap;
6070
6071
  }
6071
- .f-table__td--muted[data-v-22daf8be] {
6072
+ .f-table__td--muted[data-v-01724962] {
6072
6073
  color: #94a3b8;
6073
6074
  text-decoration: line-through;
6074
6075
  opacity: 0.6;
6075
6076
  }
6076
- .f-table__td--index[data-v-22daf8be] {
6077
+ .f-table__td--index[data-v-01724962] {
6077
6078
  background: rgba(248, 250, 252, 0.5);
6078
6079
  font-weight: 800;
6079
6080
  color: #64748b;
6080
6081
  }
6081
- .f-table__spacer td[data-v-22daf8be] {
6082
+ .f-table__spacer td[data-v-01724962] {
6082
6083
  padding: 0;
6083
6084
  border: none;
6084
6085
  }
6085
- .f-table__empty[data-v-22daf8be] {
6086
+ .f-table__empty[data-v-01724962] {
6086
6087
  padding: 3rem 0;
6087
6088
  text-align: center;
6088
6089
  color: #94a3b8;
@@ -6178,50 +6179,50 @@ to {
6178
6179
  overflow: hidden;
6179
6180
  text-overflow: ellipsis;
6180
6181
  white-space: nowrap;
6181
- }.f-button-group[data-v-15cf49dc] {
6182
+ }.f-button-group[data-v-62561657] {
6182
6183
  display: inline-flex;
6183
6184
  vertical-align: middle;
6184
6185
  }
6185
- .f-button-group[data-v-15cf49dc]:last-child {
6186
+ .f-button-group[data-v-62561657]:last-child {
6186
6187
  margin-right: 0;
6187
6188
  }
6188
- .f-button-group[data-v-15cf49dc] > * {
6189
+ .f-button-group[data-v-62561657] > * {
6189
6190
  position: relative;
6190
6191
  display: inline-flex;
6191
6192
  }
6192
- .f-button-group[data-v-15cf49dc] > * .f-button {
6193
+ .f-button-group[data-v-62561657] > * .f-button {
6193
6194
  border-radius: 0;
6194
6195
  }
6195
- .f-button-group[data-v-15cf49dc] > *:not(:first-child) {
6196
+ .f-button-group[data-v-62561657] > *:not(:first-child) {
6196
6197
  margin-left: -1px;
6197
6198
  }
6198
- .f-button-group[data-v-15cf49dc] > *:first-child .f-button {
6199
+ .f-button-group[data-v-62561657] > *:first-child .f-button {
6199
6200
  border-top-left-radius: 4px;
6200
6201
  border-bottom-left-radius: 4px;
6201
6202
  }
6202
- .f-button-group[data-v-15cf49dc] > *:last-child .f-button {
6203
+ .f-button-group[data-v-62561657] > *:last-child .f-button {
6203
6204
  border-top-right-radius: 4px;
6204
6205
  border-bottom-right-radius: 4px;
6205
6206
  }
6206
- .f-button-group[data-v-15cf49dc] > *:hover {
6207
+ .f-button-group[data-v-62561657] > *:hover {
6207
6208
  z-index: 1;
6208
6209
  }
6209
- .f-button-group[data-v-15cf49dc] > * .is-active {
6210
+ .f-button-group[data-v-62561657] > * .is-active {
6210
6211
  z-index: 2;
6211
6212
  }
6212
- .f-button-group--vertical[data-v-15cf49dc] {
6213
+ .f-button-group--vertical[data-v-62561657] {
6213
6214
  flex-direction: column;
6214
6215
  margin-right: 0;
6215
6216
  margin-bottom: 12px;
6216
6217
  }
6217
- .f-button-group--vertical[data-v-15cf49dc] > *:not(:first-child) {
6218
+ .f-button-group--vertical[data-v-62561657] > *:not(:first-child) {
6218
6219
  margin-left: 0;
6219
6220
  margin-top: -1px;
6220
6221
  }
6221
- .f-button-group--vertical[data-v-15cf49dc] > *:first-child .f-button {
6222
+ .f-button-group--vertical[data-v-62561657] > *:first-child .f-button {
6222
6223
  border-radius: 4px 4px 0 0;
6223
6224
  }
6224
- .f-button-group--vertical[data-v-15cf49dc] > *:last-child .f-button {
6225
+ .f-button-group--vertical[data-v-62561657] > *:last-child .f-button {
6225
6226
  border-radius: 0 0 4px 4px;
6226
6227
  }:root {
6227
6228
  --f-collapse-border-color: #333338;
@@ -6877,4 +6878,217 @@ to {
6877
6878
  .f-result__content[data-v-c8f97d09] {
6878
6879
  margin-top: 24px;
6879
6880
  width: 100%;
6881
+ }.f-message[data-v-3aba692f] {
6882
+ --f-bg: #1f1f1f;
6883
+ --f-border: rgba(255, 255, 255, 0.08);
6884
+ --f-text: #e8e4f0;
6885
+ --f-text-muted: #7c7a8a;
6886
+ --f-shadow: rgba(0, 0, 0, 0.35);
6887
+ --f-info: #60a5fa;
6888
+ --f-success: #34d399;
6889
+ --f-warning: #fb923c;
6890
+ --f-error: #f87171;
6891
+ position: fixed;
6892
+ left: 50%;
6893
+ transform: translateX(-50%);
6894
+ display: inline-flex;
6895
+ align-items: center;
6896
+ gap: 8px;
6897
+ max-width: min(480px, 100vw - 32px);
6898
+ padding: 10px 16px;
6899
+ border-radius: 4px;
6900
+ font-size: 14px;
6901
+ line-height: 1.5;
6902
+ color: var(--f-text);
6903
+ background: var(--f-bg);
6904
+ border: 1px solid var(--f-border);
6905
+ box-shadow: 0 2px 6px var(--f-shadow);
6906
+ z-index: 3000;
6907
+ pointer-events: auto;
6908
+ transition: top 0.3s cubic-bezier(0.34, 0.69, 0.1, 1);
6909
+ }
6910
+ .f-message__icon[data-v-3aba692f] {
6911
+ flex-shrink: 0;
6912
+ font-size: 16px;
6913
+ }
6914
+ .f-message__content[data-v-3aba692f] {
6915
+ flex: 1;
6916
+ word-break: break-word;
6917
+ }
6918
+ .f-message__close[data-v-3aba692f] {
6919
+ flex-shrink: 0;
6920
+ display: inline-flex;
6921
+ align-items: center;
6922
+ justify-content: center;
6923
+ padding: 0;
6924
+ border: none;
6925
+ background: transparent;
6926
+ color: var(--f-text-muted);
6927
+ cursor: pointer;
6928
+ transition: color 0.2s ease;
6929
+ }
6930
+ .f-message__close[data-v-3aba692f]:hover {
6931
+ color: var(--f-text);
6932
+ }
6933
+ .f-message--info .f-message__icon[data-v-3aba692f] {
6934
+ color: var(--f-info);
6935
+ }
6936
+ .f-message--success .f-message__icon[data-v-3aba692f] {
6937
+ color: var(--f-success);
6938
+ }
6939
+ .f-message--warning .f-message__icon[data-v-3aba692f] {
6940
+ color: var(--f-warning);
6941
+ }
6942
+ .f-message--error .f-message__icon[data-v-3aba692f] {
6943
+ color: var(--f-error);
6944
+ }
6945
+ :root.light .f-message[data-v-3aba692f] {
6946
+ --f-bg: #ffffff;
6947
+ --f-border: rgba(0, 0, 0, 0.08);
6948
+ --f-text: #1e293b;
6949
+ --f-text-muted: #94a3b8;
6950
+ --f-shadow: rgba(0, 0, 0, 0.12);
6951
+ --f-info: #2563eb;
6952
+ --f-success: #059669;
6953
+ --f-warning: #ea580c;
6954
+ --f-error: #dc2626;
6955
+ }
6956
+ .f-message-fade-enter-active[data-v-3aba692f] {
6957
+ transition: opacity 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
6958
+ }
6959
+ .f-message-fade-leave-active[data-v-3aba692f] {
6960
+ transition: opacity 0.2s ease-in, transform 0.2s ease-in;
6961
+ }
6962
+ .f-message-fade-enter-from[data-v-3aba692f],
6963
+ .f-message-fade-leave-to[data-v-3aba692f] {
6964
+ opacity: 0;
6965
+ transform: translate(-50%, -12px);
6966
+ }.f-notification[data-v-7600a501] {
6967
+ --f-bg: #000000;
6968
+ --f-border: rgba(255, 255, 255, 0.08);
6969
+ --f-text: #e8e4f0;
6970
+ --f-text-muted: #7c7a8a;
6971
+ --f-shadow: rgba(0, 0, 0, 0.35);
6972
+ --f-info: #60a5fa;
6973
+ --f-success: #34d399;
6974
+ --f-warning: #fb923c;
6975
+ --f-error: #f87171;
6976
+ position: fixed;
6977
+ display: flex;
6978
+ align-items: flex-start;
6979
+ gap: 12px;
6980
+ width: 340px;
6981
+ max-width: calc(100vw - 32px);
6982
+ padding: 16px;
6983
+ border-radius: 4px;
6984
+ color: var(--f-text);
6985
+ background: var(--f-bg);
6986
+ border: 1px solid var(--f-border);
6987
+ box-shadow: 0 3px 8px var(--f-shadow);
6988
+ z-index: 3000;
6989
+ pointer-events: auto;
6990
+ cursor: default;
6991
+ transition: top 0.3s cubic-bezier(0.34, 0.69, 0.1, 1), bottom 0.3s cubic-bezier(0.34, 0.69, 0.1, 1);
6992
+ }
6993
+ .f-notification__icon[data-v-7600a501] {
6994
+ flex-shrink: 0;
6995
+ margin-top: 1px;
6996
+ font-size: 18px;
6997
+ }
6998
+ .f-notification__body[data-v-7600a501] {
6999
+ flex: 1;
7000
+ min-width: 0;
7001
+ }
7002
+ .f-notification__title[data-v-7600a501] {
7003
+ margin: 0 0 4px;
7004
+ font-size: 14px;
7005
+ font-weight: 600;
7006
+ line-height: 1.4;
7007
+ color: var(--f-text);
7008
+ }
7009
+ .f-notification__content[data-v-7600a501] {
7010
+ margin: 0;
7011
+ font-size: 13px;
7012
+ line-height: 1.5;
7013
+ color: var(--f-text-muted);
7014
+ word-break: break-word;
7015
+ }
7016
+ .f-notification__close[data-v-7600a501] {
7017
+ flex-shrink: 0;
7018
+ display: inline-flex;
7019
+ align-items: center;
7020
+ justify-content: center;
7021
+ margin: -2px -4px 0 0;
7022
+ padding: 2px;
7023
+ border: none;
7024
+ background: transparent;
7025
+ color: var(--f-text-muted);
7026
+ cursor: pointer;
7027
+ transition: color 0.2s ease;
7028
+ }
7029
+ .f-notification__close[data-v-7600a501]:hover {
7030
+ color: var(--f-text);
7031
+ }
7032
+ .f-notification--info .f-notification__icon[data-v-7600a501] {
7033
+ color: var(--f-info);
7034
+ }
7035
+ .f-notification--success .f-notification__icon[data-v-7600a501] {
7036
+ color: var(--f-success);
7037
+ }
7038
+ .f-notification--warning .f-notification__icon[data-v-7600a501] {
7039
+ color: var(--f-warning);
7040
+ }
7041
+ .f-notification--error .f-notification__icon[data-v-7600a501] {
7042
+ color: var(--f-error);
7043
+ }
7044
+ :root.light .f-notification[data-v-7600a501] {
7045
+ --f-bg: #ffffff;
7046
+ --f-border: rgba(0, 0, 0, 0.08);
7047
+ --f-text: #1e293b;
7048
+ --f-text-muted: #64748b;
7049
+ --f-shadow: rgba(0, 0, 0, 0.12);
7050
+ --f-info: #2563eb;
7051
+ --f-success: #059669;
7052
+ --f-warning: #ea580c;
7053
+ --f-error: #dc2626;
7054
+ }
7055
+ .f-notification-top-right-enter-active[data-v-7600a501] {
7056
+ transition: opacity 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
7057
+ }
7058
+ .f-notification-top-right-leave-active[data-v-7600a501] {
7059
+ transition: opacity 0.2s ease-in, transform 0.2s ease-in;
7060
+ }
7061
+ .f-notification-top-right-enter-from[data-v-7600a501], .f-notification-top-right-leave-to[data-v-7600a501] {
7062
+ opacity: 0;
7063
+ transform: translateX(24px);
7064
+ }
7065
+ .f-notification-bottom-right-enter-active[data-v-7600a501] {
7066
+ transition: opacity 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
7067
+ }
7068
+ .f-notification-bottom-right-leave-active[data-v-7600a501] {
7069
+ transition: opacity 0.2s ease-in, transform 0.2s ease-in;
7070
+ }
7071
+ .f-notification-bottom-right-enter-from[data-v-7600a501], .f-notification-bottom-right-leave-to[data-v-7600a501] {
7072
+ opacity: 0;
7073
+ transform: translateX(24px);
7074
+ }
7075
+ .f-notification-top-left-enter-active[data-v-7600a501] {
7076
+ transition: opacity 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
7077
+ }
7078
+ .f-notification-top-left-leave-active[data-v-7600a501] {
7079
+ transition: opacity 0.2s ease-in, transform 0.2s ease-in;
7080
+ }
7081
+ .f-notification-top-left-enter-from[data-v-7600a501], .f-notification-top-left-leave-to[data-v-7600a501] {
7082
+ opacity: 0;
7083
+ transform: translateX(-24px);
7084
+ }
7085
+ .f-notification-bottom-left-enter-active[data-v-7600a501] {
7086
+ transition: opacity 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
7087
+ }
7088
+ .f-notification-bottom-left-leave-active[data-v-7600a501] {
7089
+ transition: opacity 0.2s ease-in, transform 0.2s ease-in;
7090
+ }
7091
+ .f-notification-bottom-left-enter-from[data-v-7600a501], .f-notification-bottom-left-leave-to[data-v-7600a501] {
7092
+ opacity: 0;
7093
+ transform: translateX(-24px);
6880
7094
  }