@g1cloud/bluesea 5.0.0-beta.3 → 5.0.0-beta.30

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 (87) hide show
  1. package/README.md +21 -0
  2. package/bin/install-claude-skill.mjs +74 -0
  3. package/css/bluesea.css +231 -36
  4. package/dist/{BSAlertModal-xBi30_WT.js → BSAlertModal-DulqxsTV.js} +1 -1
  5. package/dist/{BSGridColumnSettingModal-CGOmNxYg.js → BSGridColumnSettingModal-BN6Vj68A.js} +1 -1
  6. package/dist/{BSRichTextMaximizedModal-bwfs_ETq.js → BSRichTextMaximizedModal-CIAHu7mO.js} +1 -1
  7. package/dist/{BSYesNoModal-g_jspSyV.js → BSYesNoModal-Dyn0eiZN.js} +1 -1
  8. package/dist/{BSYoutubeInputModal-gxqSatHw.js → BSYoutubeInputModal-DvZGT4dE.js} +7 -2
  9. package/dist/{ImageInsertModal-BjQMX1aF.js → ImageInsertModal-DxWDiQqF.js} +2 -2
  10. package/dist/{ImageProperties.vue_vue_type_script_setup_true_lang-DngZdEN7.js → ImageProperties.vue_vue_type_script_setup_true_lang-Dw56sBEs.js} +1 -1
  11. package/dist/{ImagePropertiesModal-BVMSRdqN.js → ImagePropertiesModal-C1w8G5aD.js} +2 -2
  12. package/dist/{LinkPropertiesModal-CjQMdxnd.js → LinkPropertiesModal-Iaj5Zq08.js} +1 -1
  13. package/dist/{TableInsertModal-W9oMIgb_.js → TableInsertModal-Bwv292s8.js} +1 -1
  14. package/dist/{TablePropertiesModal-rKhKzzYG.js → TablePropertiesModal-CAj9cBv4.js} +1 -1
  15. package/dist/{VideoInsertModal-DMtZM5vy.js → VideoInsertModal-BBOCUIsN.js} +2 -2
  16. package/dist/{VideoProperties.vue_vue_type_script_setup_true_lang-CbE-PZdm.js → VideoProperties.vue_vue_type_script_setup_true_lang-B5E8cj0N.js} +1 -1
  17. package/dist/{VideoPropertiesModal-CLkvzq3Y.js → VideoPropertiesModal-DynwQU29.js} +2 -2
  18. package/dist/{YoutubeInsertModal-4_qANoY5.js → YoutubeInsertModal-EZ3bANQG.js} +2 -2
  19. package/dist/{YoutubeProperties.vue_vue_type_script_setup_true_lang-B-LT9GYf.js → YoutubeProperties.vue_vue_type_script_setup_true_lang-C_dg08zX.js} +1 -1
  20. package/dist/{YoutubePropertiesModal-BKwZsK6d.js → YoutubePropertiesModal-BCID3YkI.js} +2 -2
  21. package/dist/bluesea.css +194 -33
  22. package/dist/bluesea.js +218 -209
  23. package/dist/bluesea.umd.cjs +2240 -1217
  24. package/dist/component/grid/BSGrid.vue.d.ts +3 -3
  25. package/dist/component/grid/BSGridLookup.vue.d.ts +3 -1
  26. package/dist/component/grid/DateFilterModel.d.ts +15 -0
  27. package/dist/component/grid/GridLib.d.ts +2 -1
  28. package/dist/component/grid/GridModel.d.ts +9 -1
  29. package/dist/component/input/BSCheckboxGroup.vue.d.ts +3 -0
  30. package/dist/component/input/BSColorInput.vue.d.ts +2 -0
  31. package/dist/component/input/BSDateInput.vue.d.ts +2 -0
  32. package/dist/component/input/BSDateRange.vue.d.ts +2 -0
  33. package/dist/component/input/BSDateRangePresets.vue.d.ts +2 -2
  34. package/dist/component/input/BSFileUpload.vue.d.ts +76 -0
  35. package/dist/component/input/BSImageUpload.vue.d.ts +6 -0
  36. package/dist/component/input/BSMediaPreview.vue.d.ts +2 -0
  37. package/dist/component/input/BSMediaPreviewOverlay.vue.d.ts +44 -0
  38. package/dist/component/input/BSMultiImageUpload.vue.d.ts +4 -0
  39. package/dist/component/input/BSMultiSelect.vue.d.ts +10 -1
  40. package/dist/component/input/BSNumberInput.vue.d.ts +7 -0
  41. package/dist/component/input/BSPercentInput.vue.d.ts +166 -0
  42. package/dist/component/input/BSPopupSelect.vue.d.ts +3 -3
  43. package/dist/component/input/BSPositionedImageUpload.vue.d.ts +2 -0
  44. package/dist/component/input/BSPriceInput.vue.d.ts +9 -0
  45. package/dist/component/input/BSRadioButton.vue.d.ts +3 -3
  46. package/dist/component/input/BSRadioButtonGroup.vue.d.ts +3 -0
  47. package/dist/component/input/BSSelect.vue.d.ts +13 -1
  48. package/dist/component/input/BSSelectPopup.vue.d.ts +4 -1
  49. package/dist/component/input/BSTextArea.vue.d.ts +2 -0
  50. package/dist/component/input/BSTextInput.vue.d.ts +2 -0
  51. package/dist/component/input/BSTreeMultiSelect.vue.d.ts +6 -0
  52. package/dist/component/input/BSTreeSelect.vue.d.ts +6 -0
  53. package/dist/component/input/BSYesNoGroup.vue.d.ts +4 -0
  54. package/dist/component/input/BSYesNoSelect.vue.d.ts +4 -0
  55. package/dist/component/input/DateRangePresetModel.d.ts +2 -0
  56. package/dist/component/input/ImageUploadModel.d.ts +2 -0
  57. package/dist/component/layout/BSCardLayout.vue.d.ts +6 -10
  58. package/dist/component/layout/BSListLayout.vue.d.ts +3 -0
  59. package/dist/component/layout/BSListLayoutItem.vue.d.ts +3 -0
  60. package/dist/component/layout/BSTabSheet.vue.d.ts +2 -0
  61. package/dist/component/multilang/BSMultiLangHtmlEditor.vue.d.ts +2 -0
  62. package/dist/component/multilang/BSMultiLangTextArea.vue.d.ts +2 -0
  63. package/dist/component/multilang/BSMultiLangTextInput.vue.d.ts +2 -0
  64. package/dist/component/tree/BSTree.vue.d.ts +6 -0
  65. package/dist/component/tree/BSTreeRow.vue.d.ts +6 -3
  66. package/dist/component/tree/TreeLib.d.ts +20 -0
  67. package/dist/component/tree/TreeModel.d.ts +33 -1
  68. package/dist/config/config.d.ts +14 -6
  69. package/dist/directive/vT.d.ts +6 -1
  70. package/dist/frame/default/DefaultFrameModel.d.ts +2 -0
  71. package/dist/{index-BQZ3zTp7.js → index-DUGkQHsb.js} +2354 -1336
  72. package/dist/index.d.ts +4 -1
  73. package/dist/model/CommonTypes.d.ts +1 -1
  74. package/dist/text/i18n.d.ts +2 -1
  75. package/dist/util/formatUtil.d.ts +4 -4
  76. package/dist/validator/FormValidator.d.ts +5 -0
  77. package/package.json +6 -1
  78. package/skills/bluesea-ui/SKILL.md +312 -0
  79. package/skills/bluesea-ui/references/components.md +189 -0
  80. package/skills/bluesea-ui/references/grid.md +159 -0
  81. package/skills/bluesea-ui/references/i18n.md +126 -0
  82. package/skills/bluesea-ui/references/validation.md +176 -0
  83. package/text/bluesea_text_en.json +248 -956
  84. package/text/bluesea_text_fr.json +248 -956
  85. package/text/bluesea_text_ja.json +248 -956
  86. package/text/bluesea_text_ko.json +248 -956
  87. package/text/bluesea_text_zh.json +248 -956
package/dist/bluesea.css CHANGED
@@ -1553,6 +1553,16 @@
1553
1553
  .bs-popup-button .bs-context-menu {
1554
1554
  position: absolute;
1555
1555
  min-width: 100%;
1556
+ }
1557
+ .bs-popup-button.icon-only > button {
1558
+ border: 0 !important;
1559
+ padding: 4px 0;
1560
+ }
1561
+ .bs-popup-button.icon-only > button > .font-icon {
1562
+ font-size: 1.2rem;
1563
+ }
1564
+ .bs-popup-button.icon-only > button > .font-icon.right {
1565
+ display: none;
1556
1566
  }.bs-box-component-wrap, .bs-select-wrap, .bs-input-wrap, .bs-text-input {
1557
1567
  display: inline-flex;
1558
1568
  flex-direction: column;
@@ -3885,10 +3895,10 @@ to {
3885
3895
  border-radius: 0 2px 2px 0;
3886
3896
  }
3887
3897
  .bs-color-input.error input[type=color] {
3888
- border-color: var(--error);
3898
+ border-color: var(--danger);
3889
3899
  }
3890
3900
  .bs-color-input.error .bs-text-input .input-area {
3891
- border-color: var(--error);
3901
+ border-color: var(--danger);
3892
3902
  }
3893
3903
  .bs-color-input.modified input[type=color] {
3894
3904
  border-color: var(--purple);
@@ -3896,6 +3906,11 @@ to {
3896
3906
  .bs-color-input.modified .bs-text-input .input-area {
3897
3907
  border-color: var(--purple);
3898
3908
  }
3909
+ .bs-color-input.disabled input[type=color] {
3910
+ border-color: var(--border) !important;
3911
+ background-color: var(--gray-100) !important;
3912
+ color: var(--gray-400) !important;
3913
+ }
3899
3914
  .bs-color-input .view-mode {
3900
3915
  line-height: 1;
3901
3916
  }
@@ -7095,21 +7110,28 @@ to {
7095
7110
  position: relative;
7096
7111
  align-items: center;
7097
7112
  height: 28px;
7098
- padding: 0 4px;
7113
+ padding: 0 3px;
7099
7114
  border-radius: 4px;
7100
7115
  cursor: pointer;
7116
+ border: 1px solid transparent;
7117
+ }
7118
+ .bs-tree-row .row-caption.selected {
7119
+ background-color: var(--blue-bg);
7120
+ }
7121
+ .bs-tree-row .row-caption.selected .caption {
7122
+ color: var(--blue);
7123
+ font-weight: bold;
7124
+ }
7125
+ .bs-tree-row .row-caption.focused {
7126
+ border: 1px solid var(--blue);
7101
7127
  }
7102
7128
  .bs-tree-row .row-caption .caption {
7103
- padding: 4px;
7129
+ padding: 3px;
7104
7130
  cursor: pointer;
7105
7131
  user-select: none;
7106
7132
  flex-grow: 1;
7107
7133
  white-space: nowrap;
7108
7134
  }
7109
- .bs-tree-row .row-caption .caption.selected {
7110
- color: var(--blue);
7111
- font-weight: bold;
7112
- }
7113
7135
  .bs-tree-row .row-caption > .expand-icon {
7114
7136
  transform: rotate(-90deg);
7115
7137
  transition: transform 300ms ease;
@@ -7161,6 +7183,7 @@ to {
7161
7183
  }.bs-tree {
7162
7184
  overflow: auto;
7163
7185
  position: relative;
7186
+ outline: 0;
7164
7187
  }
7165
7188
  .bs-tree > .tree-wrap {
7166
7189
  min-width: max-content;
@@ -8053,7 +8076,7 @@ to {
8053
8076
  }
8054
8077
  .bs-multi-tree-select .bs-popup {
8055
8078
  min-width: 200px;
8056
- }.bs-popup-select[data-v-70cc785c] {
8079
+ }.bs-popup-select[data-v-d74fd89c] {
8057
8080
  column-gap: 8px !important;
8058
8081
  }.bs-box-component-wrap, .bs-select-wrap, .bs-input-wrap, .bs-text-area {
8059
8082
  display: inline-flex;
@@ -8521,17 +8544,17 @@ input[data-v-ef5774f0] {
8521
8544
  border-right: 1px solid var(--border);
8522
8545
  background-color: var(--body-bg);
8523
8546
  color: var(--body-text);
8524
- }input[data-v-8648edf8] {
8547
+ }input[data-v-d556d8eb] {
8525
8548
  width: 48px;
8526
8549
  height: 26px;
8527
8550
  padding: 2px 4px;
8528
8551
  border: 1px solid var(--border);
8529
8552
  border-radius: 2px;
8530
8553
  background-color: var(--body-bg);
8531
- }span.table-property[data-v-96d890f0] {
8554
+ }span.table-property[data-v-537f70be] {
8532
8555
  position: relative;
8533
8556
  }
8534
- span.table-property[data-v-96d890f0]:after {
8557
+ span.table-property[data-v-537f70be]:after {
8535
8558
  content: "settings";
8536
8559
  position: absolute;
8537
8560
  font-size: 0.5em;
@@ -9062,6 +9085,52 @@ span.table-property[data-v-96d890f0]:after {
9062
9085
  }
9063
9086
  .bs-media-preview:hover .show-on-hover {
9064
9087
  display: block;
9088
+ }.bs-media-overlay {
9089
+ position: fixed;
9090
+ inset: 0;
9091
+ z-index: 250;
9092
+ background-color: rgba(0, 0, 0, 0.9);
9093
+ display: flex;
9094
+ align-items: center;
9095
+ justify-content: center;
9096
+ }
9097
+ .bs-media-overlay .bs-media-overlay-media {
9098
+ max-width: 95vw;
9099
+ max-height: 95vh;
9100
+ object-fit: contain;
9101
+ }
9102
+ .bs-media-overlay .bs-media-overlay-close {
9103
+ position: absolute;
9104
+ top: 12px;
9105
+ right: 12px;
9106
+ color: var(--white);
9107
+ font-size: 1.8em;
9108
+ background-color: rgba(0, 0, 0, 0.5);
9109
+ border-radius: 4px;
9110
+ padding: 4px;
9111
+ line-height: 1;
9112
+ }
9113
+ .bs-media-overlay .bs-media-overlay-nav {
9114
+ position: absolute;
9115
+ top: 50%;
9116
+ transform: translateY(-50%);
9117
+ color: var(--white);
9118
+ font-size: 3em;
9119
+ background-color: rgba(0, 0, 0, 0.5);
9120
+ border-radius: 4px;
9121
+ padding: 8px 4px;
9122
+ line-height: 1;
9123
+ user-select: none;
9124
+ }
9125
+ .bs-media-overlay .bs-media-overlay-prev {
9126
+ left: 12px;
9127
+ }
9128
+ .bs-media-overlay .bs-media-overlay-next {
9129
+ right: 12px;
9130
+ }
9131
+ .bs-media-overlay .bs-media-overlay-nav-disabled {
9132
+ opacity: 0.25;
9133
+ cursor: default;
9065
9134
  }.bs-image-upload {
9066
9135
  display: inline-block;
9067
9136
  }
@@ -9114,19 +9183,19 @@ span.table-property[data-v-96d890f0]:after {
9114
9183
  }
9115
9184
  .bs-image-upload .disabled .image-box {
9116
9185
  border-color: var(--border) !important;
9117
- }.image-upload-move[data-v-872f4521],
9118
- .image-upload-enter-active[data-v-872f4521],
9119
- .image-upload-leave-active[data-v-872f4521] {
9186
+ }.image-upload-move[data-v-e57e268c],
9187
+ .image-upload-enter-active[data-v-e57e268c],
9188
+ .image-upload-leave-active[data-v-e57e268c] {
9120
9189
  transition: all 0.3s ease;
9121
9190
  }
9122
- .image-upload-leave-from[data-v-872f4521],
9123
- .image-upload-leave-to[data-v-872f4521] {
9191
+ .image-upload-leave-from[data-v-e57e268c],
9192
+ .image-upload-leave-to[data-v-e57e268c] {
9124
9193
  display: none;
9125
9194
  }
9126
- .image-upload-enter-from[data-v-872f4521] {
9195
+ .image-upload-enter-from[data-v-e57e268c] {
9127
9196
  opacity: 0;
9128
9197
  }
9129
- .image-upload-leave-active[data-v-872f4521] {
9198
+ .image-upload-leave-active[data-v-e57e268c] {
9130
9199
  position: absolute;
9131
9200
  }.bs-positioned-image-upload .image-box {
9132
9201
  border: 1px solid var(--border);
@@ -9148,6 +9217,82 @@ span.table-property[data-v-96d890f0]:after {
9148
9217
  .bs-positioned-image-upload .upload-btn {
9149
9218
  background-color: var(--gray-100);
9150
9219
  color: #999;
9220
+ }.bs-file-upload {
9221
+ display: inline-block;
9222
+ }
9223
+ .bs-file-upload.modified .file-box {
9224
+ border-color: var(--purple) !important;
9225
+ }
9226
+ .bs-file-upload.error .file-box {
9227
+ border-color: var(--red) !important;
9228
+ }
9229
+ .bs-file-upload .file-box {
9230
+ border: 1px solid var(--border);
9231
+ border-radius: 4px;
9232
+ padding: 8px 12px;
9233
+ display: flex;
9234
+ align-items: center;
9235
+ gap: 8px;
9236
+ min-height: 40px;
9237
+ }
9238
+ .bs-file-upload .file-box .file-icon {
9239
+ color: var(--gray-500);
9240
+ font-size: 1.2em;
9241
+ }
9242
+ .bs-file-upload .file-box .file-name {
9243
+ flex: 1;
9244
+ overflow: hidden;
9245
+ text-overflow: ellipsis;
9246
+ white-space: nowrap;
9247
+ }
9248
+ .bs-file-upload .file-box a.file-name {
9249
+ color: var(--primary);
9250
+ text-decoration: none;
9251
+ }
9252
+ .bs-file-upload .file-box a.file-name:hover {
9253
+ text-decoration: underline;
9254
+ }
9255
+ .bs-file-upload .file-box .remove-btn {
9256
+ border: none;
9257
+ background: none;
9258
+ padding: 4px;
9259
+ color: var(--gray-500);
9260
+ display: flex;
9261
+ align-items: center;
9262
+ justify-content: center;
9263
+ }
9264
+ .bs-file-upload .file-box .remove-btn:hover {
9265
+ color: var(--red);
9266
+ }
9267
+ .bs-file-upload .upload-btn-wrapper {
9268
+ width: 100%;
9269
+ display: flex;
9270
+ align-items: center;
9271
+ justify-content: center;
9272
+ }
9273
+ .bs-file-upload .upload-btn-wrapper .upload-btn {
9274
+ display: flex;
9275
+ align-items: center;
9276
+ gap: 4px;
9277
+ color: var(--gray-500);
9278
+ padding: 4px 8px;
9279
+ border-radius: 4px;
9280
+ }
9281
+ .bs-file-upload .upload-btn-wrapper .upload-btn:hover:not(.disabled) {
9282
+ background-color: var(--gray-100);
9283
+ color: var(--color-text);
9284
+ }
9285
+ .bs-file-upload .upload-btn-wrapper .no-file {
9286
+ color: var(--gray-400);
9287
+ }
9288
+ .bs-file-upload .upload-btn-wrapper.dropping {
9289
+ background-color: var(--primary-200);
9290
+ border: 2px dashed var(--primary);
9291
+ border-radius: 4px;
9292
+ }
9293
+ .bs-file-upload .disabled .file-box {
9294
+ opacity: 0.5;
9295
+ border-color: var(--border) !important;
9151
9296
  }.resize-handle[data-v-f4cd842f] {
9152
9297
  position: absolute;
9153
9298
  width: 5px;
@@ -10755,6 +10900,10 @@ span.table-property[data-v-96d890f0]:after {
10755
10900
  width: 100%;
10756
10901
  overflow-x: auto;
10757
10902
  overflow-y: hidden;
10903
+ scrollbar-width: none;
10904
+ }
10905
+ .bs-tab-sheet .tab-bar::-webkit-scrollbar {
10906
+ display: none;
10758
10907
  }
10759
10908
  .bs-tab-sheet .tab-bar .tabs {
10760
10909
  padding-top: 8px;
@@ -10769,7 +10918,7 @@ span.table-property[data-v-96d890f0]:after {
10769
10918
  margin-bottom: -1px;
10770
10919
  white-space: nowrap;
10771
10920
  cursor: pointer;
10772
- overflow-x: auto;
10921
+ overflow-x: hidden;
10773
10922
  }
10774
10923
  .bs-tab-sheet .tab-bar .tabs .tab + .tab:before {
10775
10924
  content: "|";
@@ -10851,14 +11000,9 @@ span.table-property[data-v-96d890f0]:after {
10851
11000
  border-bottom: 0;
10852
11001
  }.bs-list-layout-item {
10853
11002
  position: relative;
10854
- border: 1px solid var(--gray-200);
10855
- margin-top: -1px;
10856
- }
10857
- .bs-list-layout-item:nth-child(odd) .list-item-title {
10858
11003
  background-color: var(--body-bg);
10859
- }
10860
- .bs-list-layout-item:nth-child(even) .list-item-title {
10861
- background-color: var(--gray-100);
11004
+ border: 1px solid var(--gray-300);
11005
+ margin-top: -1px;
10862
11006
  }
10863
11007
  .bs-list-layout-item.selected {
10864
11008
  border-color: var(--primary);
@@ -10871,21 +11015,38 @@ span.table-property[data-v-96d890f0]:after {
10871
11015
  color: var(--primary);
10872
11016
  }
10873
11017
  .bs-list-layout-item > .list-item-title {
10874
- padding: 4px 8px;
11018
+ padding: 8px;
11019
+ background-color: var(--gray-200);
10875
11020
  }
10876
- .bs-list-layout-item > .list-item-title > .title-text {
10877
- font-size: 1.2em;
11021
+ .bs-list-layout-item:first-child {
11022
+ border-top-left-radius: 8px;
11023
+ border-top-right-radius: 8px;
11024
+ }
11025
+ .bs-list-layout-item:first-child > .list-item-title {
11026
+ border-top-left-radius: 7px;
11027
+ border-top-right-radius: 7px;
11028
+ }
11029
+ .bs-list-layout-item:last-child {
11030
+ border-bottom-left-radius: 8px;
11031
+ border-bottom-right-radius: 8px;
11032
+ }
11033
+ .bs-list-layout-item:last-child:not(.expanded) > .list-item-title {
11034
+ border-bottom-left-radius: 7px;
11035
+ border-bottom-right-radius: 7px;
11036
+ }
11037
+ .bs-list-layout-item.expanded > .list-item-title {
11038
+ border-bottom: 1px solid var(--gray-300);
10878
11039
  }
10879
11040
  .bs-list-layout-item .bs-checkbox.checked input::before {
10880
11041
  font-variation-settings: "FILL" 1, "wght" 700, "GRAD" 0, "opsz" 48;
10881
11042
  }
10882
11043
  .bs-list-layout-item > .list-item-content {
10883
- padding: 8px 8px 8px 42px;
10884
- }.bs-button[data-v-0f28f6a6] {
11044
+ padding: 8px;
11045
+ }.bs-button[data-v-6e4e4dbf] {
10885
11046
  padding: 3px;
10886
11047
  height: auto;
10887
11048
  }
10888
- .bs-button[data-v-0f28f6a6] .font-icon {
11049
+ .bs-button[data-v-6e4e4dbf] .font-icon {
10889
11050
  font-size: 12px;
10890
11051
  }.bs-horizontal-layout-resizer {
10891
11052
  cursor: ew-resize;