@g1cloud/bluesea 5.0.0-beta.2 → 5.0.0-beta.21

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 (78) hide show
  1. package/css/bluesea.css +171 -35
  2. package/dist/{BSAlertModal-BixCrZDD.js → BSAlertModal-CYU9CQls.js} +1 -1
  3. package/dist/{BSGridColumnSettingModal-CVVenSnr.js → BSGridColumnSettingModal-ZZsojFuF.js} +1 -1
  4. package/dist/{BSRichTextMaximizedModal-BqzE5__U.js → BSRichTextMaximizedModal-SyLzOqK2.js} +1 -1
  5. package/dist/{BSYesNoModal-B5lERw_k.js → BSYesNoModal-BnlBSnTl.js} +1 -1
  6. package/dist/{BSYoutubeInputModal-eRBqHjeW.js → BSYoutubeInputModal-DoEETszL.js} +7 -2
  7. package/dist/{ImageInsertModal-DvKLXL1n.js → ImageInsertModal-CB7nCYk5.js} +2 -2
  8. package/dist/{ImageProperties.vue_vue_type_script_setup_true_lang-DVUZuLfG.js → ImageProperties.vue_vue_type_script_setup_true_lang-D6zZgPOW.js} +1 -1
  9. package/dist/{ImagePropertiesModal-Dsg6BS63.js → ImagePropertiesModal-DhC1BIGM.js} +2 -2
  10. package/dist/{LinkPropertiesModal-Ct0ykD4j.js → LinkPropertiesModal-CiC7e3lM.js} +1 -1
  11. package/dist/{TableInsertModal-BhyzkcTU.js → TableInsertModal-D6pcuU2G.js} +1 -1
  12. package/dist/TablePropertiesModal-dyMd6ysL.js +353 -0
  13. package/dist/{VideoInsertModal-BAwRYBzU.js → VideoInsertModal-B1uHQRye.js} +2 -2
  14. package/dist/{VideoProperties.vue_vue_type_script_setup_true_lang-BfwBHyER.js → VideoProperties.vue_vue_type_script_setup_true_lang-CuzZ0FvR.js} +1 -1
  15. package/dist/{VideoPropertiesModal-B2FeEw4W.js → VideoPropertiesModal-CWq4UM9A.js} +2 -2
  16. package/dist/{YoutubeInsertModal-EU6G-021.js → YoutubeInsertModal-BrhwLQmb.js} +3 -3
  17. package/dist/{YoutubeProperties.vue_vue_type_script_setup_true_lang-Ci3ndkZR.js → YoutubeProperties.vue_vue_type_script_setup_true_lang-AiYZ7nOr.js} +1 -1
  18. package/dist/{YoutubePropertiesModal-CRy6zJwZ.js → YoutubePropertiesModal-BcDH9UvU.js} +2 -2
  19. package/dist/bluesea.css +143 -32
  20. package/dist/bluesea.js +218 -209
  21. package/dist/bluesea.umd.cjs +2299 -1275
  22. package/dist/component/grid/BSGrid.vue.d.ts +3 -3
  23. package/dist/component/grid/BSGridLookup.vue.d.ts +3 -1
  24. package/dist/component/grid/DateFilterModel.d.ts +15 -0
  25. package/dist/component/grid/GridLib.d.ts +2 -1
  26. package/dist/component/grid/GridModel.d.ts +8 -0
  27. package/dist/component/input/BSCheckboxGroup.vue.d.ts +3 -0
  28. package/dist/component/input/BSColorInput.vue.d.ts +2 -0
  29. package/dist/component/input/BSDateInput.vue.d.ts +2 -0
  30. package/dist/component/input/BSDateRange.vue.d.ts +2 -0
  31. package/dist/component/input/BSDateRangePresets.vue.d.ts +2 -2
  32. package/dist/component/input/BSFileUpload.vue.d.ts +76 -0
  33. package/dist/component/input/BSImageUpload.vue.d.ts +2 -0
  34. package/dist/component/input/BSMultiSelect.vue.d.ts +12 -6
  35. package/dist/component/input/BSNumberInput.vue.d.ts +7 -0
  36. package/dist/component/input/BSPercentInput.vue.d.ts +166 -0
  37. package/dist/component/input/BSPopupSelect.vue.d.ts +3 -3
  38. package/dist/component/input/BSPriceInput.vue.d.ts +7 -0
  39. package/dist/component/input/BSRadioButton.vue.d.ts +3 -3
  40. package/dist/component/input/BSRadioButtonGroup.vue.d.ts +3 -0
  41. package/dist/component/input/BSSelect.vue.d.ts +15 -6
  42. package/dist/component/input/BSSelectPopup.vue.d.ts +6 -6
  43. package/dist/component/input/BSTextArea.vue.d.ts +2 -0
  44. package/dist/component/input/BSTextInput.vue.d.ts +2 -0
  45. package/dist/component/input/BSTreeMultiSelect.vue.d.ts +12 -6
  46. package/dist/component/input/BSTreeSelect.vue.d.ts +12 -6
  47. package/dist/component/input/BSYesNoGroup.vue.d.ts +4 -0
  48. package/dist/component/input/BSYesNoSelect.vue.d.ts +4 -0
  49. package/dist/component/input/DateRangePresetModel.d.ts +2 -0
  50. package/dist/component/input/ImageUploadModel.d.ts +2 -0
  51. package/dist/component/layout/BSCardLayout.vue.d.ts +6 -10
  52. package/dist/component/layout/BSListLayout.vue.d.ts +3 -0
  53. package/dist/component/layout/BSListLayoutItem.vue.d.ts +3 -0
  54. package/dist/component/multilang/BSMultiLangTextArea.vue.d.ts +2 -0
  55. package/dist/component/multilang/BSMultiLangTextInput.vue.d.ts +2 -0
  56. package/dist/component/richtext/RichTextModel.d.ts +1 -0
  57. package/dist/component/richtext/richTextUtil.d.ts +1 -1
  58. package/dist/component/richtext/table/RichTextTableCell.d.ts +1 -0
  59. package/dist/component/richtext/table/RichTextTableLib.d.ts +7 -1
  60. package/dist/component/tree/BSTree.vue.d.ts +9 -3
  61. package/dist/component/tree/BSTreeRow.vue.d.ts +9 -6
  62. package/dist/component/tree/TreeLib.d.ts +20 -0
  63. package/dist/component/tree/TreeModel.d.ts +33 -1
  64. package/dist/config/config.d.ts +14 -6
  65. package/dist/directive/vT.d.ts +6 -0
  66. package/dist/frame/default/DefaultFrameModel.d.ts +2 -0
  67. package/dist/{index-CDwzpZX0.js → index-D3w5seMa.js} +2183 -1333
  68. package/dist/index.d.ts +4 -1
  69. package/dist/model/CommonTypes.d.ts +1 -1
  70. package/dist/util/formatUtil.d.ts +4 -4
  71. package/dist/validator/FormValidator.d.ts +5 -0
  72. package/package.json +3 -3
  73. package/text/bluesea_text_en.json +20 -0
  74. package/text/bluesea_text_fr.json +20 -0
  75. package/text/bluesea_text_ja.json +20 -0
  76. package/text/bluesea_text_ko.json +20 -0
  77. package/text/bluesea_text_zh.json +20 -0
  78. package/dist/TablePropertiesModal-BAxcByTD.js +0 -184
package/dist/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export { default as BSCalendar } from './component/basic/BSCalendar.vue';
16
16
  export { default as BSCalendarRange } from './component/basic/BSCalendarRange.vue';
17
17
  export { default as BSNumberInput } from './component/input/BSNumberInput.vue';
18
18
  export { default as BSPriceInput } from './component/input/BSPriceInput.vue';
19
+ export { default as BSPercentInput } from './component/input/BSPercentInput.vue';
19
20
  export { default as BSColorInput } from './component/input/BSColorInput.vue';
20
21
  export { default as BSDateInput } from './component/input/BSDateInput.vue';
21
22
  export { default as BSDateRange } from './component/input/BSDateRange.vue';
@@ -39,6 +40,7 @@ export * from './component/input/ImageUploadModel';
39
40
  export { default as BSImageUpload } from './component/input/BSImageUpload.vue';
40
41
  export { default as BSMultiImageUpload } from './component/input/BSMultiImageUpload.vue';
41
42
  export { default as BSPositionedImageUpload } from './component/input/BSPositionedImageUpload.vue';
43
+ export { default as BSFileUpload } from './component/input/BSFileUpload.vue';
42
44
  export { default as BSGrid } from './component/grid/BSGrid.vue';
43
45
  export * from './component/grid/GridModel';
44
46
  export * from './component/grid/GridExtension';
@@ -97,6 +99,7 @@ export * from './model/SearchModel';
97
99
  export type * from './model/SearchModel';
98
100
  export * from './model/FieldContext';
99
101
  export type * from './model/FieldContext';
102
+ export * from './model/MoneySerializer';
100
103
  export { default as BSModalContainer } from './modal/BSModalContainer.vue';
101
104
  export { default as BSModalFrame } from './modal/BSModalFrame.vue';
102
105
  export * from './modal/modalPlugin';
@@ -117,7 +120,7 @@ export * from './frame/default/DefaultFrameModel';
117
120
  export * from './frame/ShortcutKeyHandler';
118
121
  export * from './text/i18n';
119
122
  export { default as vClickOutside } from './directive/vClickOutside';
120
- export { default as vT, interpretMultiLangText } from './directive/vT';
123
+ export { default as vT, t, interpretMultiLangText } from './directive/vT';
121
124
  export { default as vTooltip } from './directive/vTooltip';
122
125
  export { default as vFocusOnLoad } from './directive/vFocusOnLoad';
123
126
  export { default as vFocusJump } from './directive/vFocusJump';
@@ -5,7 +5,7 @@ export type IconProvider<T> = (item: T) => string | undefined;
5
5
  export type TooltipProvider<T> = (item: T) => MultiLangText | undefined;
6
6
  export type LocaleName = string;
7
7
  export type TimeZone = string;
8
- export type DateResolution = 'DAY' | 'HOUR' | 'MINUTE_10' | 'MINUTE';
8
+ export type DateResolution = 'DAY' | 'HOUR' | 'MINUTE_30' | 'MINUTE_10' | 'MINUTE' | 'SECOND';
9
9
  export type DisplayDateResolution = 'DAY' | 'MINUTE' | 'SECOND';
10
10
  /**
11
11
  * {ko:'버튼', en:'Button'} 처럼, 언어코드별로 텍스트를 갖고있는 타입
@@ -1,4 +1,4 @@
1
- import { DisplayDateResolution, TimeZone } from '../model/CommonTypes.ts';
1
+ import { DisplayDateResolution, Money, TimeZone } from '../model/CommonTypes.ts';
2
2
 
3
3
  export declare const formatUtil: {
4
4
  /**
@@ -40,11 +40,11 @@ export declare const formatUtil: {
40
40
  formatNumberByCode(value?: number | string | null, locale?: string | 'ko-KR'): string | null;
41
41
  /**
42
42
  * 통화단위와 표시위치를 받아 출력한다
43
- * @param value 값
44
- * @param currencyUnit 통화단위
43
+ * @param value 값 또는 Money 객체
44
+ * @param currencyUnit 통화단위 (Money 객체인 경우 무시됨)
45
45
  * @param prefix true 이면 withUnit을 앞에 붙이고, false 이면 뒤에 붙인다.
46
46
  */
47
- formatPrice(value?: number | string | null, currencyUnit?: string | '', prefix?: boolean): string | null;
47
+ formatPrice(value?: number | string | Money | null, currencyUnit?: string | '', prefix?: boolean): string | null;
48
48
  /**
49
49
  * rate 를 받아 percent 를 출력한다.
50
50
  * * 0.1 -> 10%
@@ -22,6 +22,11 @@ export type FormValidator = {
22
22
  * Form 안의 FieldValidator 를 모두 가져온다.
23
23
  */
24
24
  getFieldValidators: () => FieldValidator<unknown>[];
25
+ /**
26
+ * name 속성으로 FieldValidator 를 가져온다.
27
+ * @param name
28
+ */
29
+ getFieldValidator: (name: string) => FieldValidator<unknown> | undefined;
25
30
  /**
26
31
  * validation result 를 모두 제거하고, validation 을 수행하지 않은 상태로 돌아간다.
27
32
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@g1cloud/bluesea",
3
3
  "private": false,
4
- "version": "5.0.0-beta.2",
4
+ "version": "5.0.0-beta.21",
5
5
  "description": "Ui Library for g1cloud BackOffice.",
6
6
  "type": "module",
7
7
  "engines": {
@@ -54,13 +54,13 @@
54
54
  "@vitest/coverage-v8": "^1.5.3",
55
55
  "@vue/test-utils": "^2.4.6",
56
56
  "jsdom": "^26.1.0",
57
+ "sass": "^1.86.3",
57
58
  "typescript": "^5.4.5",
58
59
  "vite": "^6.3.2",
59
60
  "vite-plugin-dts": "^3.9.0",
60
61
  "vitest": "^3.1.1",
61
62
  "vitest-canvas-mock": "^0.3.3",
62
- "vue-tsc": "^2.2.8",
63
- "sass": "^1.86.3"
63
+ "vue-tsc": "^2.2.8"
64
64
  },
65
65
  "peerDependencies": {
66
66
  "dayjs": "^1.11.11",
@@ -7,6 +7,10 @@
7
7
  "key": "bs.addYoutubeUrl",
8
8
  "text": "Add YouTube URL"
9
9
  },
10
+ {
11
+ "key": "bs.align",
12
+ "text": "Align"
13
+ },
10
14
  {
11
15
  "key": "bs.am",
12
16
  "text": "AM"
@@ -35,6 +39,10 @@
35
39
  "key": "bs.clear",
36
40
  "text": "Clear"
37
41
  },
42
+ {
43
+ "key": "bs.clearAll",
44
+ "text": "Clear All"
45
+ },
38
46
  {
39
47
  "key": "bs.cleared",
40
48
  "text": "It has been cleared."
@@ -312,6 +320,14 @@
312
320
  "key": "bs.expandAll",
313
321
  "text": "Expand All"
314
322
  },
323
+ {
324
+ "key": "bs.fileUpload.noFile",
325
+ "text": "No file"
326
+ },
327
+ {
328
+ "key": "bs.fileUpload.selectFile",
329
+ "text": "Select file"
330
+ },
315
331
  {
316
332
  "key": "bs.fileupload.action",
317
333
  "text": "Delete"
@@ -765,6 +781,10 @@
765
781
  "key": "bs.richtext.table",
766
782
  "text": "Table"
767
783
  },
784
+ {
785
+ "key": "bs.richtext.tableColumnInfo",
786
+ "text": "Column Info."
787
+ },
768
788
  {
769
789
  "key": "bs.richtext.tableProperties",
770
790
  "text": "Table Properties"
@@ -7,6 +7,10 @@
7
7
  "key": "bs.addYoutubeUrl",
8
8
  "text": "Ajouter une URL YouTube"
9
9
  },
10
+ {
11
+ "key": "bs.align",
12
+ "text": "Aligner"
13
+ },
10
14
  {
11
15
  "key": "bs.am",
12
16
  "text": "SUIS"
@@ -35,6 +39,10 @@
35
39
  "key": "bs.clear",
36
40
  "text": "Clair"
37
41
  },
42
+ {
43
+ "key": "bs.clearAll",
44
+ "text": "Tout effacer"
45
+ },
38
46
  {
39
47
  "key": "bs.cleared",
40
48
  "text": "Cela a été effacé."
@@ -312,6 +320,14 @@
312
320
  "key": "bs.expandAll",
313
321
  "text": "Développer tout"
314
322
  },
323
+ {
324
+ "key": "bs.fileUpload.noFile",
325
+ "text": "Aucun fichier"
326
+ },
327
+ {
328
+ "key": "bs.fileUpload.selectFile",
329
+ "text": "Sélectionner un fichier"
330
+ },
315
331
  {
316
332
  "key": "bs.fileupload.action",
317
333
  "text": "Supprimer"
@@ -765,6 +781,10 @@
765
781
  "key": "bs.richtext.table",
766
782
  "text": "Tableau"
767
783
  },
784
+ {
785
+ "key": "bs.richtext.tableColumnInfo",
786
+ "text": "Info. sur la colonne"
787
+ },
768
788
  {
769
789
  "key": "bs.richtext.tableProperties",
770
790
  "text": "Propriétés du tableau"
@@ -7,6 +7,10 @@
7
7
  "key": "bs.addYoutubeUrl",
8
8
  "text": "YouTube動画登録"
9
9
  },
10
+ {
11
+ "key": "bs.align",
12
+ "text": "並べ替え"
13
+ },
10
14
  {
11
15
  "key": "bs.am",
12
16
  "text": "午前"
@@ -35,6 +39,10 @@
35
39
  "key": "bs.clear",
36
40
  "text": "クリア"
37
41
  },
42
+ {
43
+ "key": "bs.clearAll",
44
+ "text": "全体初期化"
45
+ },
38
46
  {
39
47
  "key": "bs.cleared",
40
48
  "text": "初期化されました。"
@@ -312,6 +320,14 @@
312
320
  "key": "bs.expandAll",
313
321
  "text": "フルオープン"
314
322
  },
323
+ {
324
+ "key": "bs.fileUpload.noFile",
325
+ "text": "ファイルなし"
326
+ },
327
+ {
328
+ "key": "bs.fileUpload.selectFile",
329
+ "text": "ファイル選択"
330
+ },
315
331
  {
316
332
  "key": "bs.fileupload.action",
317
333
  "text": "削除"
@@ -765,6 +781,10 @@
765
781
  "key": "bs.richtext.table",
766
782
  "text": "テーブル"
767
783
  },
784
+ {
785
+ "key": "bs.richtext.tableColumnInfo",
786
+ "text": "コラム情報"
787
+ },
768
788
  {
769
789
  "key": "bs.richtext.tableProperties",
770
790
  "text": "テーブル属性"
@@ -7,6 +7,10 @@
7
7
  "key": "bs.addYoutubeUrl",
8
8
  "text": "YouTube 동영상 등록"
9
9
  },
10
+ {
11
+ "key": "bs.align",
12
+ "text": "정렬"
13
+ },
10
14
  {
11
15
  "key": "bs.am",
12
16
  "text": "오전"
@@ -35,6 +39,10 @@
35
39
  "key": "bs.clear",
36
40
  "text": "초기화"
37
41
  },
42
+ {
43
+ "key": "bs.clearAll",
44
+ "text": "전체 초기화"
45
+ },
38
46
  {
39
47
  "key": "bs.cleared",
40
48
  "text": "초기화 되었습니다."
@@ -312,6 +320,14 @@
312
320
  "key": "bs.expandAll",
313
321
  "text": "전체열기"
314
322
  },
323
+ {
324
+ "key": "bs.fileUpload.noFile",
325
+ "text": "파일 없음"
326
+ },
327
+ {
328
+ "key": "bs.fileUpload.selectFile",
329
+ "text": "파일 선택"
330
+ },
315
331
  {
316
332
  "key": "bs.fileupload.action",
317
333
  "text": "삭제"
@@ -765,6 +781,10 @@
765
781
  "key": "bs.richtext.table",
766
782
  "text": "테이블"
767
783
  },
784
+ {
785
+ "key": "bs.richtext.tableColumnInfo",
786
+ "text": "칼럼 정보"
787
+ },
768
788
  {
769
789
  "key": "bs.richtext.tableProperties",
770
790
  "text": "테이블 속성"
@@ -7,6 +7,10 @@
7
7
  "key": "bs.addYoutubeUrl",
8
8
  "text": "YouTube 视频注册"
9
9
  },
10
+ {
11
+ "key": "bs.align",
12
+ "text": "對齊"
13
+ },
10
14
  {
11
15
  "key": "bs.am",
12
16
  "text": "早晨"
@@ -35,6 +39,10 @@
35
39
  "key": "bs.clear",
36
40
  "text": "清除"
37
41
  },
42
+ {
43
+ "key": "bs.clearAll",
44
+ "text": "完全擦拭"
45
+ },
38
46
  {
39
47
  "key": "bs.cleared",
40
48
  "text": "已初始化。"
@@ -312,6 +320,14 @@
312
320
  "key": "bs.expandAll",
313
321
  "text": "全开"
314
322
  },
323
+ {
324
+ "key": "bs.fileUpload.noFile",
325
+ "text": "无文件"
326
+ },
327
+ {
328
+ "key": "bs.fileUpload.selectFile",
329
+ "text": "选择文件"
330
+ },
315
331
  {
316
332
  "key": "bs.fileupload.action",
317
333
  "text": "删除"
@@ -765,6 +781,10 @@
765
781
  "key": "bs.richtext.table",
766
782
  "text": "桌子"
767
783
  },
784
+ {
785
+ "key": "bs.richtext.tableColumnInfo",
786
+ "text": "欄位資訊"
787
+ },
768
788
  {
769
789
  "key": "bs.richtext.tableProperties",
770
790
  "text": "表格屬性"
@@ -1,184 +0,0 @@
1
- import { defineComponent, computed, ref, onMounted, useTemplateRef, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode, withDirectives, createTextVNode, unref } from "vue";
2
- import { k as componentUtil, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, v as vT, l as formValidator } from "./index-CDwzpZX0.js";
3
- const findTableNode = (selection, type) => {
4
- const head = selection.$head;
5
- let depth = head.depth;
6
- let node = head.node(depth);
7
- while (depth > 0 && node && node.type.name !== type) {
8
- node = head.node(--depth);
9
- }
10
- if (node && node.type.name === type) {
11
- const nodePos = head.start(depth);
12
- return { node, nodePos };
13
- } else {
14
- return {};
15
- }
16
- };
17
- const tableInfoNumberToPixel = (data) => {
18
- return {
19
- ...data,
20
- width: componentUtil.numberToPixel(data.width),
21
- height: componentUtil.numberToPixel(data.height),
22
- maxWidth: componentUtil.numberToPixel(data.maxWidth),
23
- maxHeight: componentUtil.numberToPixel(data.maxHeight),
24
- marginLeft: componentUtil.numberToPixel(data.marginLeft),
25
- marginTop: componentUtil.numberToPixel(data.marginTop),
26
- marginRight: componentUtil.numberToPixel(data.marginRight),
27
- marginBottom: componentUtil.numberToPixel(data.marginBottom)
28
- };
29
- };
30
- const _hoisted_1 = { class: "title" };
31
- const _hoisted_2 = { class: "title" };
32
- const _hoisted_3 = { class: "bs-layout-horizontal justify-content-end gap-8" };
33
- const _sfc_main = /* @__PURE__ */ defineComponent({
34
- __name: "TablePropertiesModal",
35
- props: {
36
- editor: {}
37
- },
38
- setup(__props) {
39
- const props = __props;
40
- const disabled = computed(() => !props.editor.isEditable);
41
- const data = ref();
42
- onMounted(() => {
43
- const selection = props.editor.state.selection;
44
- const { node } = findTableNode(selection, "table");
45
- if (node) {
46
- data.value = {
47
- ...node.attrs
48
- };
49
- }
50
- });
51
- const modalHandle = useModalHandle();
52
- const form = useTemplateRef("form");
53
- const validator = formValidator({ element: form });
54
- const save = async () => {
55
- await validator.validate();
56
- props.editor.chain().focus().command(({ tr }) => {
57
- const { node, nodePos } = findTableNode(tr.selection, "table");
58
- if (node && nodePos && data.value) {
59
- tr.setNodeMarkup(nodePos - 1, null, {
60
- ...node.attrs,
61
- ...tableInfoNumberToPixel(data.value)
62
- });
63
- }
64
- return true;
65
- }).run();
66
- modalHandle.close();
67
- };
68
- const close = () => {
69
- modalHandle.close();
70
- };
71
- modalHandle.setDefaultStyle({
72
- width: "500px",
73
- height: "400px"
74
- });
75
- return (_ctx, _cache) => {
76
- return openBlock(), createBlock(_sfc_main$1, { title: { key: "bs.richtext.table" } }, {
77
- default: withCtx(() => [
78
- data.value ? (openBlock(), createElementBlock("div", {
79
- key: 0,
80
- ref_key: "form",
81
- ref: form,
82
- class: "bs-layout-form title-w-8"
83
- }, [
84
- createElementVNode("div", null, [
85
- createElementVNode("div", _hoisted_1, [
86
- createVNode(_sfc_main$2, { label: { key: "bs.size" } })
87
- ]),
88
- createElementVNode("div", null, [
89
- withDirectives(createVNode(_sfc_main$3, {
90
- modelValue: data.value.width,
91
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data.value.width = $event),
92
- disabled: disabled.value,
93
- name: "width",
94
- prefix: "W",
95
- width: "100px"
96
- }, null, 8, ["modelValue", "disabled"]), [
97
- [
98
- unref(vT),
99
- { key: "bs.width" },
100
- void 0,
101
- { title: true }
102
- ]
103
- ]),
104
- _cache[4] || (_cache[4] = createTextVNode(" x ")),
105
- withDirectives(createVNode(_sfc_main$3, {
106
- modelValue: data.value.height,
107
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => data.value.height = $event),
108
- disabled: disabled.value,
109
- name: "height",
110
- prefix: "H",
111
- width: "100px"
112
- }, null, 8, ["modelValue", "disabled"]), [
113
- [
114
- unref(vT),
115
- { key: "bs.height" },
116
- void 0,
117
- { title: true }
118
- ]
119
- ])
120
- ])
121
- ]),
122
- createElementVNode("div", null, [
123
- createElementVNode("div", _hoisted_2, [
124
- createVNode(_sfc_main$2, { label: { key: "bs.maxSize" } })
125
- ]),
126
- createElementVNode("div", null, [
127
- withDirectives(createVNode(_sfc_main$3, {
128
- modelValue: data.value.maxWidth,
129
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => data.value.maxWidth = $event),
130
- disabled: disabled.value,
131
- name: "maxWidth",
132
- prefix: "W",
133
- width: "100px"
134
- }, null, 8, ["modelValue", "disabled"]), [
135
- [
136
- unref(vT),
137
- { key: "bs.maxWidth" },
138
- void 0,
139
- { title: true }
140
- ]
141
- ]),
142
- _cache[5] || (_cache[5] = createTextVNode(" x ")),
143
- withDirectives(createVNode(_sfc_main$3, {
144
- modelValue: data.value.maxHeight,
145
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => data.value.maxHeight = $event),
146
- disabled: disabled.value,
147
- name: "maxHeight",
148
- prefix: "H",
149
- width: "100px"
150
- }, null, 8, ["modelValue", "disabled"]), [
151
- [
152
- unref(vT),
153
- { key: "bs.maxHeight" },
154
- void 0,
155
- { title: true }
156
- ]
157
- ])
158
- ])
159
- ])
160
- ], 512)) : createCommentVNode("", true)
161
- ]),
162
- buttons: withCtx(() => [
163
- createElementVNode("div", _hoisted_3, [
164
- createVNode(BSButton, {
165
- caption: { key: "bs.ok" },
166
- "button-color": "blue",
167
- "data-id": "okBtn",
168
- onClick: save
169
- }),
170
- createVNode(BSButton, {
171
- caption: { key: "bs.cancel" },
172
- "data-id": "cancelBtn",
173
- onClick: close
174
- })
175
- ])
176
- ]),
177
- _: 1
178
- });
179
- };
180
- }
181
- });
182
- export {
183
- _sfc_main as default
184
- };