@pisell/materials 6.11.18 → 6.11.19

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 (205) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +2 -2
  6. package/build/lowcode/preview.js +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +13 -13
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +13 -13
  11. package/es/components/PisellCards/index.d.ts +1 -0
  12. package/es/components/PisellFields/index.d.ts +1 -0
  13. package/es/components/PisellLayouts/index.d.ts +1 -0
  14. package/es/components/PisellMetrics/index.d.ts +1 -0
  15. package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
  16. package/es/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +1 -0
  17. package/es/components/dataSourceComponents/dataSourceTable/hooks/useDataSourceKey.d.ts +1 -0
  18. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +2 -2
  19. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +1 -0
  20. package/es/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +1 -1
  21. package/es/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  22. package/es/components/dataSourceComponents/fields/Tabs/index.d.ts +2 -1
  23. package/es/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  24. package/es/components/dataSourceComponents/fields/index.d.ts +16 -15
  25. package/es/components/date-picker/index.d.ts +1 -0
  26. package/es/components/pisellDataSourceContainer/hooks/useDataSourceKey.d.ts +1 -0
  27. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.js +12 -8
  28. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.js +4 -2
  29. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +1 -1
  30. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +4 -3
  31. package/es/components/pisellFloorMapLayout/components/FloorMapImageElement.js +4 -2
  32. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.js +16 -13
  33. package/es/components/pisellFloorMapLayout/components/ViewControls.js +8 -6
  34. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +2 -1
  35. package/es/components/pisellFloorMapLayout/locales-ja.d.ts +104 -0
  36. package/es/components/pisellFloorMapLayout/locales-ja.js +103 -0
  37. package/es/components/pisellFloorMapLayout/locales-pt.d.ts +104 -0
  38. package/es/components/pisellFloorMapLayout/locales-pt.js +103 -0
  39. package/es/components/pisellFloorMapLayout/locales.d.ts +314 -0
  40. package/es/components/pisellFloorMapLayout/locales.js +123 -4
  41. package/es/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.d.ts +2 -3
  42. package/es/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.js +3 -12
  43. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +4 -3
  44. package/es/components/pisellModal/components/index.d.ts +1 -0
  45. package/es/components/pisellRecordBoard/utils/recordBoardColumns.js +3 -2
  46. package/es/components/productCard/cartSkuCard/components/packages/utils.d.ts +1 -1
  47. package/es/components/productCard/components/Packages/utils.d.ts +1 -1
  48. package/es/components/table/Table/fields/date/index.d.ts +1 -0
  49. package/es/components/table/Table/fields/index.d.ts +3 -2
  50. package/es/components/table/Table/fields/link/index.d.ts +1 -0
  51. package/es/components/table/Table/fields/number/index.d.ts +1 -0
  52. package/es/components/table/Table/fields/numberRange/index.d.ts +1 -0
  53. package/es/components/table/Table/fields/oldRangePicker/index.d.ts +1 -0
  54. package/es/components/table/Table/fields/rangePicker/index.d.ts +1 -0
  55. package/es/components/table/Table/fields/search/index.d.ts +1 -0
  56. package/es/components/table/Table/fields/select/index.d.ts +1 -0
  57. package/es/components/table/Table/fields/text/index.d.ts +1 -0
  58. package/es/components/table/Table/fields/treeSelect/index.d.ts +1 -0
  59. package/es/components/table/Table/utils.d.ts +1 -1
  60. package/es/hooks/useResponsive.d.ts +1 -1
  61. package/es/locales/en-US.d.ts +1 -0
  62. package/es/locales/en-US.js +1 -0
  63. package/es/locales/ja.d.ts +8 -0
  64. package/es/locales/ja.js +25 -7
  65. package/es/locales/pt.d.ts +8 -0
  66. package/es/locales/pt.js +21 -3
  67. package/es/locales/zh-CN.d.ts +1 -0
  68. package/es/locales/zh-CN.js +1 -0
  69. package/es/locales/zh-TW.d.ts +1 -0
  70. package/es/locales/zh-TW.js +1 -0
  71. package/lib/components/PisellCards/index.d.ts +1 -0
  72. package/lib/components/PisellFields/index.d.ts +1 -0
  73. package/lib/components/PisellLayouts/index.d.ts +1 -0
  74. package/lib/components/PisellMetrics/index.d.ts +1 -0
  75. package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
  76. package/lib/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +1 -0
  77. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDataSourceKey.d.ts +1 -0
  78. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +2 -2
  79. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +1 -0
  80. package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +1 -1
  81. package/lib/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  82. package/lib/components/dataSourceComponents/fields/Tabs/index.d.ts +2 -1
  83. package/lib/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  84. package/lib/components/dataSourceComponents/fields/index.d.ts +16 -15
  85. package/lib/components/date-picker/index.d.ts +1 -0
  86. package/lib/components/pisellDataSourceContainer/hooks/useDataSourceKey.d.ts +1 -0
  87. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.js +13 -9
  88. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.js +4 -2
  89. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +5 -1
  90. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +4 -3
  91. package/lib/components/pisellFloorMapLayout/components/FloorMapImageElement.js +4 -2
  92. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.js +24 -13
  93. package/lib/components/pisellFloorMapLayout/components/ViewControls.js +12 -6
  94. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +2 -1
  95. package/lib/components/pisellFloorMapLayout/locales-ja.d.ts +104 -0
  96. package/lib/components/pisellFloorMapLayout/locales-ja.js +124 -0
  97. package/lib/components/pisellFloorMapLayout/locales-pt.d.ts +104 -0
  98. package/lib/components/pisellFloorMapLayout/locales-pt.js +124 -0
  99. package/lib/components/pisellFloorMapLayout/locales.d.ts +314 -0
  100. package/lib/components/pisellFloorMapLayout/locales.js +132 -4
  101. package/lib/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.d.ts +2 -3
  102. package/lib/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.js +1 -7
  103. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +6 -3
  104. package/lib/components/pisellModal/components/index.d.ts +1 -0
  105. package/lib/components/pisellRecordBoard/utils/recordBoardColumns.js +11 -1
  106. package/lib/components/productCard/cartSkuCard/components/packages/utils.d.ts +1 -1
  107. package/lib/components/productCard/components/Packages/utils.d.ts +1 -1
  108. package/lib/components/table/Table/fields/date/index.d.ts +1 -0
  109. package/lib/components/table/Table/fields/index.d.ts +3 -2
  110. package/lib/components/table/Table/fields/link/index.d.ts +1 -0
  111. package/lib/components/table/Table/fields/number/index.d.ts +1 -0
  112. package/lib/components/table/Table/fields/numberRange/index.d.ts +1 -0
  113. package/lib/components/table/Table/fields/oldRangePicker/index.d.ts +1 -0
  114. package/lib/components/table/Table/fields/rangePicker/index.d.ts +1 -0
  115. package/lib/components/table/Table/fields/search/index.d.ts +1 -0
  116. package/lib/components/table/Table/fields/select/index.d.ts +1 -0
  117. package/lib/components/table/Table/fields/text/index.d.ts +1 -0
  118. package/lib/components/table/Table/fields/treeSelect/index.d.ts +1 -0
  119. package/lib/components/table/Table/utils.d.ts +1 -1
  120. package/lib/hooks/useResponsive.d.ts +1 -1
  121. package/lib/locales/en-US.d.ts +1 -0
  122. package/lib/locales/en-US.js +1 -0
  123. package/lib/locales/ja.d.ts +8 -0
  124. package/lib/locales/ja.js +22 -1
  125. package/lib/locales/pt.d.ts +8 -0
  126. package/lib/locales/pt.js +22 -1
  127. package/lib/locales/zh-CN.d.ts +1 -0
  128. package/lib/locales/zh-CN.js +1 -0
  129. package/lib/locales/zh-TW.d.ts +1 -0
  130. package/lib/locales/zh-TW.js +1 -0
  131. package/package.json +3 -3
  132. package/es/components/PisellCards/components/GraphicTextCard/types.d.ts +0 -290
  133. package/es/components/PisellCards/components/TextCard/TextCard.d.ts +0 -8
  134. package/es/components/PisellCards/components/TextCard/components/BadgeWrapper.d.ts +0 -26
  135. package/es/components/PisellCards/components/TextCard/components/TextContent.d.ts +0 -21
  136. package/es/components/PisellCards/components/TextCard/types.d.ts +0 -270
  137. package/es/components/PisellSteps/PisellSteps.d.ts +0 -14
  138. package/es/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -4
  139. package/es/components/dataSourceComponents/dataSourceTable/type.d.ts +0 -84
  140. package/es/components/drag-sort-tree/index.d.ts +0 -5
  141. package/es/components/iconfont/index.d.ts +0 -8
  142. package/es/components/login-and-register/index.d.ts +0 -82
  143. package/es/components/pisell-config-provider/index.d.ts +0 -13
  144. package/es/components/pisellEmpty/index.d.ts +0 -19
  145. package/es/components/pisellFloorMapLayout/components/ItemLayer.d.ts +0 -48
  146. package/es/components/pisellGridPro/index.d.ts +0 -4
  147. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.d.ts +0 -10
  148. package/es/components/pisellHierarchicalSummaryList/components/index.d.ts +0 -1
  149. package/es/components/pisellHierarchicalSummaryList/hooks/index.d.ts +0 -2
  150. package/es/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.d.ts +0 -15
  151. package/es/components/pisellHierarchicalSummaryList/index.d.ts +0 -5
  152. package/es/components/pisellHierarchicalSummaryList/types.d.ts +0 -248
  153. package/es/components/pisellLookup/components/LookupTrigger.d.ts +0 -3
  154. package/es/components/pisellTimeNavigator/components/BackgroundLayer.d.ts +0 -14
  155. package/es/components/pisellTimeNavigator/hooks/useDragInertia.d.ts +0 -14
  156. package/es/components/pisellTimeNavigator/hooks/useRealtime.d.ts +0 -5
  157. package/es/components/pisellTimeNavigator/hooks/useTimeAxis.d.ts +0 -27
  158. package/es/components/pisellTimeNavigator/types.d.ts +0 -160
  159. package/es/components/pisellTimeNavigator/utils/index.d.ts +0 -30
  160. package/es/components/productCard/cartSkuCard/components/Gift/types.d.ts +0 -29
  161. package/es/components/productCard/cartSkuCard/components/Promotion/index.d.ts +0 -7
  162. package/es/components/productCard/cartSkuCard/locales.d.ts +0 -178
  163. package/es/components/productCard/components/Header/DeleteButton/index.d.ts +0 -4
  164. package/es/components/productCard/status.d.ts +0 -32
  165. package/es/components/productCard/types.d.ts +0 -95
  166. package/es/components/table/Actions/component/ViewMode/index.d.ts +0 -9
  167. package/es/components/table/types.d.ts +0 -268
  168. package/es/components/versionModal/index.d.ts +0 -23
  169. package/lib/components/PisellCards/components/GraphicTextCard/types.d.ts +0 -290
  170. package/lib/components/PisellCards/components/TextCard/TextCard.d.ts +0 -8
  171. package/lib/components/PisellCards/components/TextCard/components/BadgeWrapper.d.ts +0 -26
  172. package/lib/components/PisellCards/components/TextCard/components/TextContent.d.ts +0 -21
  173. package/lib/components/PisellCards/components/TextCard/types.d.ts +0 -270
  174. package/lib/components/PisellSteps/PisellSteps.d.ts +0 -14
  175. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -4
  176. package/lib/components/dataSourceComponents/dataSourceTable/type.d.ts +0 -84
  177. package/lib/components/drag-sort-tree/index.d.ts +0 -5
  178. package/lib/components/iconfont/index.d.ts +0 -8
  179. package/lib/components/login-and-register/index.d.ts +0 -82
  180. package/lib/components/pisell-config-provider/index.d.ts +0 -13
  181. package/lib/components/pisellEmpty/index.d.ts +0 -19
  182. package/lib/components/pisellFloorMapLayout/components/ItemLayer.d.ts +0 -48
  183. package/lib/components/pisellGridPro/index.d.ts +0 -4
  184. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.d.ts +0 -10
  185. package/lib/components/pisellHierarchicalSummaryList/components/index.d.ts +0 -1
  186. package/lib/components/pisellHierarchicalSummaryList/hooks/index.d.ts +0 -2
  187. package/lib/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.d.ts +0 -15
  188. package/lib/components/pisellHierarchicalSummaryList/index.d.ts +0 -5
  189. package/lib/components/pisellHierarchicalSummaryList/types.d.ts +0 -248
  190. package/lib/components/pisellLookup/components/LookupTrigger.d.ts +0 -3
  191. package/lib/components/pisellTimeNavigator/components/BackgroundLayer.d.ts +0 -14
  192. package/lib/components/pisellTimeNavigator/hooks/useDragInertia.d.ts +0 -14
  193. package/lib/components/pisellTimeNavigator/hooks/useRealtime.d.ts +0 -5
  194. package/lib/components/pisellTimeNavigator/hooks/useTimeAxis.d.ts +0 -27
  195. package/lib/components/pisellTimeNavigator/types.d.ts +0 -160
  196. package/lib/components/pisellTimeNavigator/utils/index.d.ts +0 -30
  197. package/lib/components/productCard/cartSkuCard/components/Gift/types.d.ts +0 -29
  198. package/lib/components/productCard/cartSkuCard/components/Promotion/index.d.ts +0 -7
  199. package/lib/components/productCard/cartSkuCard/locales.d.ts +0 -178
  200. package/lib/components/productCard/components/Header/DeleteButton/index.d.ts +0 -4
  201. package/lib/components/productCard/status.d.ts +0 -32
  202. package/lib/components/productCard/types.d.ts +0 -95
  203. package/lib/components/table/Actions/component/ViewMode/index.d.ts +0 -9
  204. package/lib/components/table/types.d.ts +0 -268
  205. package/lib/components/versionModal/index.d.ts +0 -23
@@ -36,8 +36,10 @@ module.exports = __toCommonJS(FloorMapDataForm_exports);
36
36
  var import_react = __toESM(require("react"));
37
37
  var import_classnames = __toESM(require("classnames"));
38
38
  var import_antd = require("antd");
39
+ var import_utils = require("@pisell/utils");
39
40
  var import_FloorMapDataForm = require("./FloorMapDataForm.less");
40
41
  var PREFIX = "pisell-floor-map-layout";
42
+ var I18N_DF = "pisell-floor-map-layout.data-form";
41
43
  function renderFormControl(col, value) {
42
44
  var _a;
43
45
  const type = col.type ?? "string";
@@ -83,7 +85,7 @@ function FloorMapDataForm(props) {
83
85
  }, [recordId, record, form]);
84
86
  const fieldsToRender = columns ? columns.filter((col) => col.key !== "id") : Object.entries(record).filter(([k]) => k !== "id").map(([key]) => ({ key, label: key, type: "string" }));
85
87
  if (fieldsToRender.length === 0) {
86
- return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(`${PREFIX}-data-form`, className) }, /* @__PURE__ */ import_react.default.createElement("p", { className: `${PREFIX}-data-form-empty` }, "无额外字段可编辑"));
88
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(`${PREFIX}-data-form`, className) }, /* @__PURE__ */ import_react.default.createElement("p", { className: `${PREFIX}-data-form-empty` }, import_utils.locales.getText(`${I18N_DF}.empty`)));
87
89
  }
88
90
  return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(`${PREFIX}-data-form`, className) }, /* @__PURE__ */ import_react.default.createElement(
89
91
  import_antd.Form,
@@ -106,7 +108,7 @@ function FloorMapDataForm(props) {
106
108
  loading: saving,
107
109
  disabled: !changed
108
110
  },
109
- "保存记录"
111
+ import_utils.locales.getText(`${I18N_DF}.save-record`)
110
112
  ))
111
113
  ));
112
114
  }
@@ -131,7 +131,11 @@ function FloorMapEditTopBar(props) {
131
131
  return /* @__PURE__ */ import_react.default.createElement(
132
132
  "div",
133
133
  {
134
- className: (0, import_classnames.default)(`${PREFIX}-edit-top-bar`, className),
134
+ className: (0, import_classnames.default)(
135
+ `${PREFIX}-edit-top-bar`,
136
+ `${PREFIX}-edit-top-bar--full-chrome`,
137
+ className
138
+ ),
135
139
  role: "toolbar",
136
140
  "aria-label": topBarLabels.aria
137
141
  },
@@ -129,12 +129,13 @@
129
129
  }
130
130
 
131
131
  /**
132
- * 只读顶栏(`edit-top-bar` + `read-canvas-tabs-bar` 并列)与编辑态 compact
133
- * 与左侧 Tab 同一浅灰底,去掉右侧白底与竖线分割。
132
+ * 只读顶栏(`edit-top-bar` + `read-canvas-tabs-bar` 并列)、编辑态 compact
133
+ * 以及全屏/locked 时的 full 顶栏:与左侧 Tab 同一浅灰底,去掉右侧大块白底与竖线分割。
134
134
  */
135
135
 
136
136
  &.pisell-floor-map-layout-read-canvas-tabs-bar,
137
- &--compact {
137
+ &--compact,
138
+ &--full-chrome {
138
139
  background: rgba(0, 0, 0, 0.04);
139
140
 
140
141
  .pisell-floor-map-layout-edit-top-bar-actions {
@@ -33,7 +33,9 @@ __export(FloorMapImageElement_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(FloorMapImageElement_exports);
35
35
  var import_react = __toESM(require("react"));
36
+ var import_utils = require("@pisell/utils");
36
37
  var PREFIX = "pisell-floor-map-layout";
38
+ var I18N_IMG = "pisell-floor-map-layout.image-element";
37
39
  function FloorMapImageElement(props) {
38
40
  const { imageUrl, name } = props;
39
41
  const [broken, setBroken] = (0, import_react.useState)(false);
@@ -41,7 +43,7 @@ function FloorMapImageElement(props) {
41
43
  (0, import_react.useEffect)(() => {
42
44
  setBroken(false);
43
45
  }, [trimmed]);
44
- const label = name != null && String(name).trim() ? String(name).trim() : "图片图元";
46
+ const label = name != null && String(name).trim() ? String(name).trim() : import_utils.locales.getText(`${I18N_IMG}.default-name`);
45
47
  if (!trimmed || broken) {
46
48
  return /* @__PURE__ */ import_react.default.createElement(
47
49
  "div",
@@ -67,7 +69,7 @@ function FloorMapImageElement(props) {
67
69
  }
68
70
  },
69
71
  /* @__PURE__ */ import_react.default.createElement("span", { style: { fontWeight: 600, color: "#595959", marginBottom: 4 } }, label),
70
- /* @__PURE__ */ import_react.default.createElement("span", null, !trimmed ? "在侧栏填写图片地址;可调层级置于桌位下方作底图" : "图片加载失败,请检查地址")
72
+ /* @__PURE__ */ import_react.default.createElement("span", null, !trimmed ? import_utils.locales.getText(`${I18N_IMG}.hint-no-url`) : import_utils.locales.getText(`${I18N_IMG}.hint-load-fail`))
71
73
  );
72
74
  }
73
75
  return /* @__PURE__ */ import_react.default.createElement(
@@ -40,8 +40,11 @@ var import_types = require("../types");
40
40
  var import_floorMapElementKindUtils = require("../utils/floorMapElementKindUtils");
41
41
  var import_floorMapDropUtils = require("../utils/floorMapDropUtils");
42
42
  var import_floorMapDataRecordLabel = require("../utils/floorMapDataRecordLabel");
43
+ var import_utils = require("@pisell/utils");
43
44
  var import_FloorMapToolbar = require("./FloorMapToolbar.less");
44
45
  var PREFIX = "pisell-floor-map-layout";
46
+ var I18N_TB = "pisell-floor-map-layout.toolbar";
47
+ var I18N_EP_DS = "pisell-floor-map-layout.edit-panel.ph-data-source";
45
48
  var DEFAULT_PLACEMENT_SIZE = { width: 180, height: 120 };
46
49
  var DEFAULT_DECORATION_SIZE = 48;
47
50
  function getUnplacedRecordsForKey(dataSourceKey, dataSources, elements) {
@@ -110,7 +113,13 @@ function FloorMapToolbar(props) {
110
113
  const categories = (0, import_react.useMemo)(() => {
111
114
  const raw = config.elementKindCategories ?? [];
112
115
  const sorted = [...raw].sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
113
- return sorted.length ? sorted : [{ id: "_uncat", label: "图元", order: 0 }];
116
+ return sorted.length ? sorted : [
117
+ {
118
+ id: "_uncat",
119
+ label: import_utils.locales.getText(`${I18N_TB}.category-fallback`),
120
+ order: 0
121
+ }
122
+ ];
114
123
  }, [config.elementKindCategories]);
115
124
  const kindsByCategory = (0, import_react.useMemo)(() => {
116
125
  var _a;
@@ -205,7 +214,7 @@ function FloorMapToolbar(props) {
205
214
  );
206
215
  e.dataTransfer.effectAllowed = "copy";
207
216
  },
208
- title: `点击后画布落点,或拖拽到画布生成「${k.label}」`
217
+ title: import_utils.locales.getText(`${I18N_TB}.palette-card-title`).replace(/\{name\}/g, k.label)
209
218
  },
210
219
  /* @__PURE__ */ import_react.default.createElement(
211
220
  "div",
@@ -233,10 +242,10 @@ function FloorMapToolbar(props) {
233
242
  ) : /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-toolbar-preview-fallback` }, k.label)
234
243
  ),
235
244
  /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-toolbar-preview-card-label` }, k.label)
236
- ), isActive && policy !== "none" && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, allowedKeys.length >= 1 && /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-pick` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-pick-label` }, "数据绑定(可选)"), /* @__PURE__ */ import_react.default.createElement(
245
+ ), isActive && policy !== "none" && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, allowedKeys.length >= 1 && /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-pick` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-pick-label` }, import_utils.locales.getText(`${I18N_TB}.data-binding-optional`)), /* @__PURE__ */ import_react.default.createElement(
237
246
  import_antd.Select,
238
247
  {
239
- placeholder: "选择数据源",
248
+ placeholder: import_utils.locales.getText(I18N_EP_DS),
240
249
  allowClear: true,
241
250
  value: placeMode.type === "scene" ? placeMode.dataSourceKey : void 0,
242
251
  options: allowedKeys.map((key) => ({
@@ -254,7 +263,7 @@ function FloorMapToolbar(props) {
254
263
  const mode = (placeMode == null ? void 0 : placeMode.type) === "scene" ? placeMode : null;
255
264
  const key = mode == null ? void 0 : mode.dataSourceKey;
256
265
  if (!key) {
257
- return /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-pick-hint` }, "选择数据源后可选绑定数据行,或直接落点占位。");
266
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-pick-hint` }, import_utils.locales.getText(`${I18N_TB}.hint-after-select-ds`));
258
267
  }
259
268
  const unplaced = getUnplacedRecordsForKey(
260
269
  key,
@@ -262,14 +271,16 @@ function FloorMapToolbar(props) {
262
271
  sceneElements
263
272
  );
264
273
  if (unplaced.length === 0) {
265
- return /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-pick-hint` }, "当前数据源无未绑定记录,或列表为空;可直接在画布落点占位。");
274
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-pick-hint` }, import_utils.locales.getText(`${I18N_TB}.hint-no-unplaced-rows`));
266
275
  }
267
276
  const recordValue = (mode == null ? void 0 : mode.recordIds) && mode.recordIds.length > 0 ? mode.recordIds : (mode == null ? void 0 : mode.recordId) ? [mode.recordId] : void 0;
268
277
  return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
269
278
  import_antd.Select,
270
279
  {
271
280
  mode: "multiple",
272
- placeholder: "选择要展示的记录(可选,可多选)",
281
+ placeholder: import_utils.locales.getText(
282
+ `${I18N_TB}.ph-select-records`
283
+ ),
273
284
  allowClear: true,
274
285
  maxTagCount: "responsive",
275
286
  value: recordValue,
@@ -283,15 +294,15 @@ function FloorMapToolbar(props) {
283
294
  size: "large",
284
295
  style: { width: "100%", marginTop: 4 }
285
296
  }
286
- ), /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-pick-hint` }, "可选多条,在画布点击一次将按阶梯偏移落多条;留空则先占位,稍后在侧栏绑定。"));
287
- })()), allowedKeys.length === 0 && /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-hint` }, "无可用数据源"), /* @__PURE__ */ import_react.default.createElement(
297
+ ), /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-pick-hint` }, import_utils.locales.getText(`${I18N_TB}.hint-multi-drop`)));
298
+ })()), allowedKeys.length === 0 && /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-record-hint` }, import_utils.locales.getText(`${I18N_TB}.no-data-sources`)), /* @__PURE__ */ import_react.default.createElement(
288
299
  "button",
289
300
  {
290
301
  type: "button",
291
302
  className: `${PREFIX}-toolbar-btn cancel-inline`,
292
303
  onClick: cancelPlaceMode
293
304
  },
294
- "取消新建"
305
+ import_utils.locales.getText(`${I18N_TB}.cancel-place`)
295
306
  )), isActive && policy === "none" && /* @__PURE__ */ import_react.default.createElement(
296
307
  "button",
297
308
  {
@@ -299,7 +310,7 @@ function FloorMapToolbar(props) {
299
310
  className: `${PREFIX}-toolbar-btn cancel-inline`,
300
311
  onClick: cancelPlaceMode
301
312
  },
302
- "取消新建"
313
+ import_utils.locales.getText(`${I18N_TB}.cancel-place`)
303
314
  ));
304
315
  };
305
316
  return /* @__PURE__ */ import_react.default.createElement(
@@ -316,7 +327,7 @@ function FloorMapToolbar(props) {
316
327
  if (!kinds.length) return null;
317
328
  return /* @__PURE__ */ import_react.default.createElement("section", { key: cat.id, className: `${PREFIX}-toolbar-section` }, /* @__PURE__ */ import_react.default.createElement("h3", { className: `${PREFIX}-toolbar-section-title` }, cat.label), /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-preview-list` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-preview-group` }, kinds.map((k) => renderKindCard(k)))));
318
329
  }))),
319
- onSave && config.canvasUi.canEdit && /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-footer` }, layoutDirty ? /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-toolbar-dirty-hint`, role: "status" }, "布局已修改,请点击「保存」持久化。") : null, saveError && /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-toolbar-error` }, typeof saveError === "string" ? saveError : saveError == null ? void 0 : saveError.message), /* @__PURE__ */ import_react.default.createElement(
330
+ onSave && config.canvasUi.canEdit && /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-footer` }, layoutDirty ? /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-toolbar-dirty-hint`, role: "status" }, import_utils.locales.getText(`${I18N_TB}.layout-dirty-hint`)) : null, saveError && /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-toolbar-error` }, typeof saveError === "string" ? saveError : saveError == null ? void 0 : saveError.message), /* @__PURE__ */ import_react.default.createElement(
320
331
  "button",
321
332
  {
322
333
  type: "button",
@@ -326,7 +337,7 @@ function FloorMapToolbar(props) {
326
337
  disabled: saving,
327
338
  onClick: onSave
328
339
  },
329
- saving ? "保存中..." : "保存"
340
+ saving ? import_utils.locales.getText(`${I18N_TB}.saving`) : import_utils.locales.getText(`${I18N_TB}.save`)
330
341
  ))
331
342
  );
332
343
  }
@@ -36,8 +36,10 @@ module.exports = __toCommonJS(ViewControls_exports);
36
36
  var import_react = __toESM(require("react"));
37
37
  var import_classnames = __toESM(require("classnames"));
38
38
  var import_icons = require("@ant-design/icons");
39
+ var import_utils = require("@pisell/utils");
39
40
  var import_ViewControls = require("./ViewControls.less");
40
41
  var PREFIX = "pisell-floor-map-layout";
42
+ var I18N_VC = "pisell-floor-map-layout.view-controls";
41
43
  function ViewControls(props) {
42
44
  const {
43
45
  api,
@@ -61,7 +63,7 @@ function ViewControls(props) {
61
63
  type: "button",
62
64
  className: `${PREFIX}-view-controls-zoom-stepper-btn`,
63
65
  onClick: () => api.zoomOut(),
64
- "aria-label": "缩小"
66
+ "aria-label": import_utils.locales.getText(`${I18N_VC}.zoom-out-aria`)
65
67
  },
66
68
  /* @__PURE__ */ import_react.default.createElement(import_icons.MinusOutlined, null)
67
69
  ), /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-view-controls-zoom-stepper-value` }, scalePercent, "%"), /* @__PURE__ */ import_react.default.createElement(
@@ -70,7 +72,7 @@ function ViewControls(props) {
70
72
  type: "button",
71
73
  className: `${PREFIX}-view-controls-zoom-stepper-btn`,
72
74
  onClick: () => api.zoomIn(),
73
- "aria-label": "放大"
75
+ "aria-label": import_utils.locales.getText(`${I18N_VC}.zoom-in-aria`)
74
76
  },
75
77
  /* @__PURE__ */ import_react.default.createElement(import_icons.PlusOutlined, null)
76
78
  )), showToolsCapsule && /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-view-controls-tools-capsule` }, showReset && /* @__PURE__ */ import_react.default.createElement(
@@ -79,7 +81,7 @@ function ViewControls(props) {
79
81
  type: "button",
80
82
  className: `${PREFIX}-view-controls-tool-btn`,
81
83
  onClick: () => api.resetTransform(),
82
- "aria-label": "复位"
84
+ "aria-label": import_utils.locales.getText(`${I18N_VC}.reset-aria`)
83
85
  },
84
86
  "⟲"
85
87
  ), showFitBounds && api.fitBounds && /* @__PURE__ */ import_react.default.createElement(
@@ -88,7 +90,7 @@ function ViewControls(props) {
88
90
  type: "button",
89
91
  className: `${PREFIX}-view-controls-tool-btn`,
90
92
  onClick: () => api.fitBounds(),
91
- "aria-label": "区域定位"
93
+ "aria-label": import_utils.locales.getText(`${I18N_VC}.fit-bounds-aria`)
92
94
  },
93
95
  "⊞"
94
96
  ), showGridToggle && /* @__PURE__ */ import_react.default.createElement(
@@ -100,7 +102,9 @@ function ViewControls(props) {
100
102
  }),
101
103
  onClick: () => onToggleMapGrid(),
102
104
  "aria-pressed": mapGridVisible,
103
- "aria-label": mapGridVisible ? "隐藏网格" : "显示网格"
105
+ "aria-label": import_utils.locales.getText(
106
+ mapGridVisible ? `${I18N_VC}.grid-hide-aria` : `${I18N_VC}.grid-show-aria`
107
+ )
104
108
  },
105
109
  /* @__PURE__ */ import_react.default.createElement(import_icons.BorderInnerOutlined, null)
106
110
  ), showFullscreen && api.toggleFullscreen && /* @__PURE__ */ import_react.default.createElement(
@@ -109,7 +113,9 @@ function ViewControls(props) {
109
113
  type: "button",
110
114
  className: `${PREFIX}-view-controls-tool-btn`,
111
115
  onClick: () => api.toggleFullscreen(),
112
- "aria-label": isFullscreen ? "退出全屏" : "全屏"
116
+ "aria-label": import_utils.locales.getText(
117
+ isFullscreen ? `${I18N_VC}.fullscreen-exit-aria` : `${I18N_VC}.fullscreen-aria`
118
+ )
113
119
  },
114
120
  isFullscreen ? /* @__PURE__ */ import_react.default.createElement(import_icons.FullscreenExitOutlined, null) : /* @__PURE__ */ import_react.default.createElement(import_icons.FullscreenOutlined, null)
115
121
  )));
@@ -45,6 +45,7 @@ var import_layoutMeasurements = require("../utils/layoutMeasurements");
45
45
  var import_floorMapCanvasDisplay = require("../utils/floorMapCanvasDisplay");
46
46
  var import_types = require("../types");
47
47
  var IMAGE_PLACE_DEFAULT = { width: 400, height: 240 };
48
+ var I18N_PLACEMENT_FALLBACK_IMAGE = "pisell-floor-map-layout.placement.fallback-image-name";
48
49
  var GRID_VIS_STORAGE_PREFIX = "pisell-floor-map-layout.grid-visible";
49
50
  function getGridVisStorageKey(canvasId) {
50
51
  return `${GRID_VIS_STORAGE_PREFIX}:${canvasId}`;
@@ -382,7 +383,7 @@ function useFloorMapEditState(params) {
382
383
  const placementName = (() => {
383
384
  var _a3, _b2;
384
385
  if (isStage) return import_floorMapStageDefaults.STAGE_DECO_DEFAULT.name;
385
- if (isImage) return "底图";
386
+ if (isImage) return import_utils.locales.getText(I18N_PLACEMENT_FALLBACK_IMAGE);
386
387
  const db = dataBinding;
387
388
  const rid = recordIdsToPlace[0];
388
389
  if (db && rid) {
@@ -0,0 +1,104 @@
1
+ /**
2
+ * PisellFloorMapLayout — 日本語
3
+ */
4
+ declare const _default: {
5
+ 'pisell-floor-map-layout.loading': string;
6
+ 'pisell-floor-map-layout.read-canvas-tabs.aria': string;
7
+ 'pisell-floor-map-layout.edit-top-bar.aria': string;
8
+ 'pisell-floor-map-layout.edit-top-bar.fullscreen-enter-aria': string;
9
+ 'pisell-floor-map-layout.edit-top-bar.fullscreen-enter-title': string;
10
+ 'pisell-floor-map-layout.edit-top-bar.fullscreen-exit-aria': string;
11
+ 'pisell-floor-map-layout.edit-top-bar.fullscreen-exit-title': string;
12
+ 'pisell-floor-map-layout.edit-top-bar.unsaved': string;
13
+ 'pisell-floor-map-layout.edit-top-bar.save': string;
14
+ 'pisell-floor-map-layout.edit-top-bar.saving': string;
15
+ 'pisell-floor-map-layout.canvas-tabs.empty': string;
16
+ 'pisell-floor-map-layout.canvas-tabs.add': string;
17
+ 'pisell-floor-map-layout.canvas-tabs.add-title': string;
18
+ 'pisell-floor-map-layout.canvas-tabs.hint': string;
19
+ 'pisell-floor-map-layout.canvas-tabs.rename-aria': string;
20
+ 'pisell-floor-map-layout.canvas-tabs.remove-aria': string;
21
+ 'pisell-floor-map-layout.canvas-tabs.rename-title': string;
22
+ 'pisell-floor-map-layout.canvas-tabs.rename-button-aria': string;
23
+ 'pisell-floor-map-layout.canvas-tabs.rename-button-title': string;
24
+ 'pisell-floor-map-layout.canvas-tabs.default-new-canvas-name': string;
25
+ 'pisell-floor-map-layout.canvas-tabs.rename-modal-title': string;
26
+ 'pisell-floor-map-layout.canvas-tabs.rename-modal-ok': string;
27
+ 'pisell-floor-map-layout.canvas-tabs.rename-modal-cancel': string;
28
+ 'pisell-floor-map-layout.edit-panel.element-props': string;
29
+ 'pisell-floor-map-layout.edit-panel.close-aria': string;
30
+ 'pisell-floor-map-layout.edit-panel.hint-apply': string;
31
+ 'pisell-floor-map-layout.edit-panel.hint-save': string;
32
+ 'pisell-floor-map-layout.edit-panel.section-layout': string;
33
+ 'pisell-floor-map-layout.edit-panel.lock-on': string;
34
+ 'pisell-floor-map-layout.edit-panel.lock-off': string;
35
+ 'pisell-floor-map-layout.edit-panel.label-x': string;
36
+ 'pisell-floor-map-layout.edit-panel.label-y': string;
37
+ 'pisell-floor-map-layout.edit-panel.label-z': string;
38
+ 'pisell-floor-map-layout.edit-panel.label-width': string;
39
+ 'pisell-floor-map-layout.edit-panel.label-height': string;
40
+ 'pisell-floor-map-layout.edit-panel.label-name': string;
41
+ 'pisell-floor-map-layout.edit-panel.label-name-stage': string;
42
+ 'pisell-floor-map-layout.edit-panel.ph-name-stage': string;
43
+ 'pisell-floor-map-layout.edit-panel.ph-name': string;
44
+ 'pisell-floor-map-layout.edit-panel.label-image-url': string;
45
+ 'pisell-floor-map-layout.edit-panel.extra-image-url': string;
46
+ 'pisell-floor-map-layout.edit-panel.ph-https': string;
47
+ 'pisell-floor-map-layout.edit-panel.label-canvas': string;
48
+ 'pisell-floor-map-layout.edit-panel.label-element-kind': string;
49
+ 'pisell-floor-map-layout.edit-panel.hint-kind-binding-cleared': string;
50
+ 'pisell-floor-map-layout.edit-panel.apply': string;
51
+ 'pisell-floor-map-layout.edit-panel.data-binding': string;
52
+ 'pisell-floor-map-layout.edit-panel.data-binding-note': string;
53
+ 'pisell-floor-map-layout.edit-panel.label-data-source': string;
54
+ 'pisell-floor-map-layout.edit-panel.ph-data-source': string;
55
+ 'pisell-floor-map-layout.edit-panel.label-pick-row': string;
56
+ 'pisell-floor-map-layout.edit-panel.ph-pick-row': string;
57
+ 'pisell-floor-map-layout.edit-panel.ph-no-rows': string;
58
+ 'pisell-floor-map-layout.edit-panel.hint-unbound': string;
59
+ 'pisell-floor-map-layout.edit-panel.record-title': string;
60
+ 'pisell-floor-map-layout.edit-panel.pop-title': string;
61
+ 'pisell-floor-map-layout.edit-panel.pop-desc': string;
62
+ 'pisell-floor-map-layout.edit-panel.btn-delete': string;
63
+ 'pisell-floor-map-layout.edit-panel.btn-cancel': string;
64
+ 'pisell-floor-map-layout.edit-panel.btn-ok-delete': string;
65
+ 'pisell-floor-map-layout.toolbar.category-fallback': string;
66
+ 'pisell-floor-map-layout.toolbar.palette-card-title': string;
67
+ 'pisell-floor-map-layout.toolbar.data-binding-optional': string;
68
+ 'pisell-floor-map-layout.toolbar.hint-after-select-ds': string;
69
+ 'pisell-floor-map-layout.toolbar.hint-no-unplaced-rows': string;
70
+ 'pisell-floor-map-layout.toolbar.ph-select-records': string;
71
+ 'pisell-floor-map-layout.toolbar.hint-multi-drop': string;
72
+ 'pisell-floor-map-layout.toolbar.no-data-sources': string;
73
+ 'pisell-floor-map-layout.toolbar.cancel-place': string;
74
+ 'pisell-floor-map-layout.toolbar.layout-dirty-hint': string;
75
+ 'pisell-floor-map-layout.toolbar.save': string;
76
+ 'pisell-floor-map-layout.toolbar.saving': string;
77
+ 'pisell-floor-map-layout.view-controls.zoom-out-aria': string;
78
+ 'pisell-floor-map-layout.view-controls.zoom-in-aria': string;
79
+ 'pisell-floor-map-layout.view-controls.reset-aria': string;
80
+ 'pisell-floor-map-layout.view-controls.fit-bounds-aria': string;
81
+ 'pisell-floor-map-layout.view-controls.grid-hide-aria': string;
82
+ 'pisell-floor-map-layout.view-controls.grid-show-aria': string;
83
+ 'pisell-floor-map-layout.view-controls.fullscreen-aria': string;
84
+ 'pisell-floor-map-layout.view-controls.fullscreen-exit-aria': string;
85
+ 'pisell-floor-map-layout.image-element.default-name': string;
86
+ 'pisell-floor-map-layout.placement.fallback-image-name': string;
87
+ 'pisell-floor-map-layout.image-element.hint-no-url': string;
88
+ 'pisell-floor-map-layout.image-element.hint-load-fail': string;
89
+ 'pisell-floor-map-layout.data-form.empty': string;
90
+ 'pisell-floor-map-layout.data-form.save-record': string;
91
+ 'pisell-floor-map-layout.binding-error.required-row': string;
92
+ 'pisell-floor-map-layout.binding-error.ds-not-allowed': string;
93
+ 'pisell-floor-map-layout.binding-error.missing-field': string;
94
+ 'pisell-floor-map-layout.card-placeholder.hint-select-row': string;
95
+ 'pisell-floor-map-layout.card-placeholder.hint-bind-datasource': string;
96
+ 'pisell-floor-map-layout.card-placeholder.hint-new-slot': string;
97
+ 'pisell-floor-map-layout.card-placeholder.hint-row-not-found': string;
98
+ 'pisell-floor-map-layout.figma-card.kind-round-table': string;
99
+ 'pisell-floor-map-layout.figma-card.kind-square-table': string;
100
+ 'pisell-floor-map-layout.figma-card.default-table': string;
101
+ 'pisell-floor-map-layout.figma-card.capacity-seats': string;
102
+ 'pisell-floor-map-layout.figma-card.guests-count': string;
103
+ };
104
+ export default _default;
@@ -0,0 +1,124 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/pisellFloorMapLayout/locales-ja.ts
20
+ var locales_ja_exports = {};
21
+ __export(locales_ja_exports, {
22
+ default: () => locales_ja_default
23
+ });
24
+ module.exports = __toCommonJS(locales_ja_exports);
25
+ var locales_ja_default = {
26
+ "pisell-floor-map-layout.loading": "読み込み中…",
27
+ "pisell-floor-map-layout.read-canvas-tabs.aria": "平面図キャンバスを切り替え",
28
+ "pisell-floor-map-layout.edit-top-bar.aria": "平面図編集ツールバー",
29
+ "pisell-floor-map-layout.edit-top-bar.fullscreen-enter-aria": "全画面",
30
+ "pisell-floor-map-layout.edit-top-bar.fullscreen-enter-title": "全画面(保存・表示範囲に合わせるなどを含む上部バー)",
31
+ "pisell-floor-map-layout.edit-top-bar.fullscreen-exit-aria": "全画面を終了",
32
+ "pisell-floor-map-layout.edit-top-bar.fullscreen-exit-title": "全画面を終了",
33
+ "pisell-floor-map-layout.edit-top-bar.unsaved": "未保存",
34
+ "pisell-floor-map-layout.edit-top-bar.save": "保存",
35
+ "pisell-floor-map-layout.edit-top-bar.saving": "保存中…",
36
+ "pisell-floor-map-layout.canvas-tabs.empty": "キャンバスがありません",
37
+ "pisell-floor-map-layout.canvas-tabs.add": "+ フロアを追加",
38
+ "pisell-floor-map-layout.canvas-tabs.add-title": "フロアを追加",
39
+ "pisell-floor-map-layout.canvas-tabs.hint": "右側の「フロアを追加」からキャンバスを作成してください",
40
+ "pisell-floor-map-layout.canvas-tabs.rename-aria": "名前を変更",
41
+ "pisell-floor-map-layout.canvas-tabs.remove-aria": "削除",
42
+ "pisell-floor-map-layout.canvas-tabs.rename-title": "ダブルクリックで名前変更。タッチ端末はタブ右の鉛筆アイコンから",
43
+ "pisell-floor-map-layout.canvas-tabs.rename-button-aria": "キャンバスの名前を変更",
44
+ "pisell-floor-map-layout.canvas-tabs.rename-button-title": "名前を変更",
45
+ "pisell-floor-map-layout.canvas-tabs.default-new-canvas-name": "新しいフロア",
46
+ "pisell-floor-map-layout.canvas-tabs.rename-modal-title": "キャンバスの名前を変更",
47
+ "pisell-floor-map-layout.canvas-tabs.rename-modal-ok": "OK",
48
+ "pisell-floor-map-layout.canvas-tabs.rename-modal-cancel": "キャンセル",
49
+ "pisell-floor-map-layout.edit-panel.element-props": "要素のプロパティ",
50
+ "pisell-floor-map-layout.edit-panel.close-aria": "閉じる",
51
+ "pisell-floor-map-layout.edit-panel.hint-apply": "位置・サイズが変更されました。「適用」でキャンバスに反映してください。",
52
+ "pisell-floor-map-layout.edit-panel.hint-save": "下書きはまだ保存されていません。「編集完了」で保存してください。",
53
+ "pisell-floor-map-layout.edit-panel.section-layout": "位置 · 重なり順 · サイズ",
54
+ "pisell-floor-map-layout.edit-panel.lock-on": "ロック中:キャンバスのドラッグ・リサイズは無効。クリックで解除",
55
+ "pisell-floor-map-layout.edit-panel.lock-off": "ロックするとキャンバスのドラッグとサイズ変更ができなくなります",
56
+ "pisell-floor-map-layout.edit-panel.label-x": "X",
57
+ "pisell-floor-map-layout.edit-panel.label-y": "Y",
58
+ "pisell-floor-map-layout.edit-panel.label-z": "重なり順",
59
+ "pisell-floor-map-layout.edit-panel.label-width": "幅",
60
+ "pisell-floor-map-layout.edit-panel.label-height": "高さ",
61
+ "pisell-floor-map-layout.edit-panel.label-name": "名前",
62
+ "pisell-floor-map-layout.edit-panel.label-name-stage": "表示名(キャンバス上)",
63
+ "pisell-floor-map-layout.edit-panel.ph-name-stage": "例:ステージ、DJ ブース、ダンスフロア",
64
+ "pisell-floor-map-layout.edit-panel.ph-name": "要素名",
65
+ "pisell-floor-map-layout.edit-panel.label-image-url": "画像 URL",
66
+ "pisell-floor-map-layout.edit-panel.extra-image-url": "ネットワーク上の画像 URL を指定。重なり順を下げるとテーブルの下に配置できます。",
67
+ "pisell-floor-map-layout.edit-panel.ph-https": "https://...",
68
+ "pisell-floor-map-layout.edit-panel.label-canvas": "キャンバス",
69
+ "pisell-floor-map-layout.edit-panel.label-element-kind": "要素タイプ",
70
+ "pisell-floor-map-layout.edit-panel.hint-kind-binding-cleared": "新しいタイプでは以前のデータ連携が使えないため、連携を解除しました。",
71
+ "pisell-floor-map-layout.edit-panel.apply": "適用",
72
+ "pisell-floor-map-layout.edit-panel.data-binding": "データ連携",
73
+ "pisell-floor-map-layout.edit-panel.data-binding-note": "データソースまたは行の変更は下書きに即反映されます。確定は上部の「保存」から。",
74
+ "pisell-floor-map-layout.edit-panel.label-data-source": "データソース",
75
+ "pisell-floor-map-layout.edit-panel.ph-data-source": "データソースを選択",
76
+ "pisell-floor-map-layout.edit-panel.label-pick-row": "行を選択",
77
+ "pisell-floor-map-layout.edit-panel.ph-pick-row": "データ表の 1 行を紐付け",
78
+ "pisell-floor-map-layout.edit-panel.ph-no-rows": "このデータソースに利用可能な行がありません",
79
+ "pisell-floor-map-layout.edit-panel.hint-unbound": "未連携のときは空欄のまま、またはクリア。連携後は「データレコード」の項目を編集できます。",
80
+ "pisell-floor-map-layout.edit-panel.record-title": "データレコード",
81
+ "pisell-floor-map-layout.edit-panel.pop-title": "この要素を削除しますか?",
82
+ "pisell-floor-map-layout.edit-panel.pop-desc": "平面図の下書きから削除されます。確定は上部の「保存」から行ってください。",
83
+ "pisell-floor-map-layout.edit-panel.btn-delete": "削除",
84
+ "pisell-floor-map-layout.edit-panel.btn-cancel": "キャンセル",
85
+ "pisell-floor-map-layout.edit-panel.btn-ok-delete": "削除",
86
+ "pisell-floor-map-layout.toolbar.category-fallback": "要素",
87
+ "pisell-floor-map-layout.toolbar.palette-card-title": "クリックでキャンバスに配置、またはドラッグで「{name}」を追加",
88
+ "pisell-floor-map-layout.toolbar.data-binding-optional": "データ連携(任意)",
89
+ "pisell-floor-map-layout.toolbar.hint-after-select-ds": "データソースを選んだら、行を紐付けるか、そのままプレースホルダーを置けます。",
90
+ "pisell-floor-map-layout.toolbar.hint-no-unplaced-rows": "未配置の行がないか、一覧が空です。プレースホルダーのみキャンバスに置けます。",
91
+ "pisell-floor-map-layout.toolbar.ph-select-records": "表示するレコードを選択(任意・複数可)",
92
+ "pisell-floor-map-layout.toolbar.hint-multi-drop": "複数選択すると 1 回のクリックでずらして複数配置できます。空欄のままならプレースホルダーにし、後からサイドバーで紐付けできます。",
93
+ "pisell-floor-map-layout.toolbar.no-data-sources": "利用できるデータソースがありません",
94
+ "pisell-floor-map-layout.toolbar.cancel-place": "キャンセル",
95
+ "pisell-floor-map-layout.toolbar.layout-dirty-hint": "レイアウトが変更されました。「保存」で確定してください。",
96
+ "pisell-floor-map-layout.toolbar.save": "保存",
97
+ "pisell-floor-map-layout.toolbar.saving": "保存中…",
98
+ "pisell-floor-map-layout.view-controls.zoom-out-aria": "縮小",
99
+ "pisell-floor-map-layout.view-controls.zoom-in-aria": "拡大",
100
+ "pisell-floor-map-layout.view-controls.reset-aria": "表示をリセット",
101
+ "pisell-floor-map-layout.view-controls.fit-bounds-aria": "全体を表示",
102
+ "pisell-floor-map-layout.view-controls.grid-hide-aria": "グリッドを非表示",
103
+ "pisell-floor-map-layout.view-controls.grid-show-aria": "グリッドを表示",
104
+ "pisell-floor-map-layout.view-controls.fullscreen-aria": "全画面",
105
+ "pisell-floor-map-layout.view-controls.fullscreen-exit-aria": "全画面を終了",
106
+ "pisell-floor-map-layout.image-element.default-name": "画像要素",
107
+ "pisell-floor-map-layout.placement.fallback-image-name": "背景",
108
+ "pisell-floor-map-layout.image-element.hint-no-url": "サイドバーで画像 URL を入力。重なり順を下げるとテーブル下の背景にできます。",
109
+ "pisell-floor-map-layout.image-element.hint-load-fail": "画像の読み込みに失敗しました。URL を確認してください。",
110
+ "pisell-floor-map-layout.data-form.empty": "編集できる追加フィールドはありません",
111
+ "pisell-floor-map-layout.data-form.save-record": "レコードを保存",
112
+ "pisell-floor-map-layout.binding-error.required-row": "この要素にはデータ行の連携が必要です。",
113
+ "pisell-floor-map-layout.binding-error.ds-not-allowed": "データソース「{key}」はこの要素タイプでは使用できません。",
114
+ "pisell-floor-map-layout.binding-error.missing-field": "行に必須フィールドがありません:{field}",
115
+ "pisell-floor-map-layout.card-placeholder.hint-select-row": "データソースは選択済みです。サイドバーで行を選択してください。",
116
+ "pisell-floor-map-layout.card-placeholder.hint-bind-datasource": "行が未連携です。サイドバーでデータソースとレコードを選択してください。",
117
+ "pisell-floor-map-layout.card-placeholder.hint-new-slot": "新しい{kind}のプレースホルダーです。サイドバーでレコードを紐付けられます。",
118
+ "pisell-floor-map-layout.card-placeholder.hint-row-not-found": "レコードが見つかりません。連携とデータ一覧を確認してください。",
119
+ "pisell-floor-map-layout.figma-card.kind-round-table": "丸テーブル",
120
+ "pisell-floor-map-layout.figma-card.kind-square-table": "テーブル",
121
+ "pisell-floor-map-layout.figma-card.default-table": "テーブル",
122
+ "pisell-floor-map-layout.figma-card.capacity-seats": "着席 {n} 名",
123
+ "pisell-floor-map-layout.figma-card.guests-count": "{n} 名"
124
+ };