seat-editor 3.1.15 → 3.1.16

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.
@@ -157,6 +157,7 @@ export declare const test1: {
157
157
  value: string;
158
158
  }[];
159
159
  direction: string;
160
+ fontSize: string;
160
161
  offsetX?: undefined;
161
162
  offsetY?: undefined;
162
163
  } | {
@@ -169,6 +170,7 @@ export declare const test1: {
169
170
  offsetX: string;
170
171
  offsetY: string;
171
172
  direction: string;
173
+ fontSize?: undefined;
172
174
  })[];
173
175
  shape: string;
174
176
  width: number;
@@ -206,10 +208,7 @@ export declare const test1: {
206
208
  src?: undefined;
207
209
  image?: undefined;
208
210
  })[];
209
- upcomings: {
210
- time: string;
211
- uuid: string;
212
- }[];
211
+ upcomings: any[];
213
212
  areas: {
214
213
  name: string;
215
214
  uuid: string;
@@ -3064,160 +3064,145 @@ export const data3 = [
3064
3064
  ];
3065
3065
  export const test1 = [
3066
3066
  {
3067
- "uuid": "d088bba0-e990-410e-aea9-08548175a0b9",
3068
- "uuid_rsvp": "3cf2c40b-4741-417b-ae39-5c1e648f2c02",
3069
- "code": "V1",
3070
- "name": "VIP 1",
3071
- "capacity": 8,
3072
- "pax": {
3073
- "adults": 2
3074
- },
3075
- "req_pax": {
3076
- "adults": 8
3077
- },
3078
- "total_pax": 2,
3079
- "total_req_pax": 8,
3080
- "status_bg_color": "#F6F6F6",
3081
- "status_name": "Booked",
3082
- "status_color": "#F9D500",
3083
- "status_icon": "check",
3084
- "title": "Mr",
3085
- "firstname": "Mail",
3086
- "lastname": "",
3087
- "ranks": [
3067
+ uuid: "d088bba0-e990-410e-aea9-08548175a0b9",
3068
+ uuid_rsvp: "9a7b8a78-631f-41ad-8e01-25966ec8bf16",
3069
+ code: "V1",
3070
+ name: "VIP 1",
3071
+ capacity: 8,
3072
+ pax: {
3073
+ adults: 2,
3074
+ },
3075
+ req_pax: {
3076
+ adults: 8,
3077
+ },
3078
+ total_pax: 2,
3079
+ total_req_pax: 8,
3080
+ status_bg_color: "#F6F6F6",
3081
+ status_name: "Booked",
3082
+ status_color: "#F9D500",
3083
+ status_icon: "check",
3084
+ title: "Mr",
3085
+ firstname: "Mail",
3086
+ lastname: "",
3087
+ ranks: [
3088
3088
  {
3089
- "name": "Reg",
3090
- "image": "/5bf923de-2366-4a11-9b8b-e92de0afbf05/3a65cb36-7d85-4c38-9403-a15f94641920/rsvp/1755064935470041622_regular.png"
3091
- }
3089
+ name: "Reg",
3090
+ image: "/5bf923de-2366-4a11-9b8b-e92de0afbf05/3a65cb36-7d85-4c38-9403-a15f94641920/rsvp/1755064935470041622_regular.png",
3091
+ },
3092
3092
  ],
3093
- "tags": null,
3094
- "rank_sp": "25",
3095
- "rank_ts": "20",
3096
- "start_date": "2026-02-05",
3097
- "end_date": "2026-02-05",
3098
- "start_time": "2000-01-01T15:00:00Z",
3099
- "end_time": "2000-01-01T18:00:00Z",
3100
- "walk_in": 0,
3101
- "dp_amount": "0",
3102
- "dp_status": 0,
3103
- "online_payment": 0,
3104
- "rsvp_type": 0,
3105
- "rsvp_input": 2,
3106
- "is_reserved": 0,
3107
- "is_hold": 0,
3108
- "is_overtime": 0,
3109
- "is_upcoming": 1,
3110
- "conflicted": 1,
3111
- "is_late": 1,
3112
- "properties": {
3113
- "x": 359.7921676635742,
3114
- "y": 109.07066345214844,
3115
- "id": 1753965738978,
3116
- "fill": "#bca16a",
3117
- "tags": [
3118
- {
3119
- "gap": "2",
3120
- "key": "table",
3121
- "items": [
3093
+ tags: null,
3094
+ rank_sp: "25",
3095
+ rank_ts: "20",
3096
+ start_date: "2026-02-06",
3097
+ end_date: "2026-02-06",
3098
+ start_time: "2000-01-01T14:30:00Z",
3099
+ end_time: "2000-01-01T17:30:00Z",
3100
+ walk_in: 0,
3101
+ dp_amount: "0",
3102
+ dp_status: 0,
3103
+ online_payment: 0,
3104
+ rsvp_type: 0,
3105
+ rsvp_input: 2,
3106
+ is_reserved: 0,
3107
+ is_hold: 0,
3108
+ is_overtime: 0,
3109
+ is_upcoming: 1,
3110
+ conflicted: 0,
3111
+ is_late: 1,
3112
+ properties: {
3113
+ x: 460.7938358701509,
3114
+ y: 126.90873770878233,
3115
+ id: 1753965865493,
3116
+ fill: "#bca16a",
3117
+ tags: [
3118
+ {
3119
+ gap: "8",
3120
+ key: "table",
3121
+ items: [
3122
3122
  {
3123
- "type": "text",
3124
- "value": "VIP 1"
3123
+ type: "text",
3124
+ value: "VIP 1",
3125
3125
  },
3126
3126
  {
3127
- "type": "icon",
3128
- "value": "check"
3129
- }
3127
+ type: "icon",
3128
+ value: "chair",
3129
+ },
3130
3130
  ],
3131
- "direction": "column"
3131
+ direction: "column",
3132
+ fontSize: "10"
3132
3133
  },
3133
3134
  {
3134
- "gap": "8",
3135
- "key": "pax",
3136
- "items": [
3135
+ gap: "8",
3136
+ key: "pax",
3137
+ items: [
3137
3138
  {
3138
- "type": "text",
3139
- "value": "8/2"
3139
+ type: "text",
3140
+ value: "1/1",
3140
3141
  },
3141
3142
  {
3142
- "type": "icon",
3143
- "value": "trash"
3144
- }
3143
+ type: "icon",
3144
+ value: "user",
3145
+ },
3145
3146
  ],
3146
- "offsetX": "3",
3147
- "offsetY": "1",
3148
- "direction": "flex"
3147
+ offsetX: "3",
3148
+ offsetY: "1",
3149
+ direction: "flex",
3149
3150
  },
3151
+ ],
3152
+ shape: "square",
3153
+ width: 50,
3154
+ height: 80,
3155
+ labels: [
3150
3156
  {
3151
- "gap": "2",
3152
- "key": "rsvp_time",
3153
- "items": [
3154
- {
3155
- "type": "text",
3156
- "value": "21:30"
3157
- }
3158
- ],
3159
- "direction": "column"
3160
- }
3161
- ],
3162
- "shape": "square",
3163
- "width": 50,
3164
- "height": 80,
3165
- "labels": [
3166
- {
3167
- "x": 0,
3168
- "y": 4,
3169
- "label": "V 1",
3170
- "fontSize": 12,
3171
- "fontColor": "#0d0c0c"
3172
- }
3173
- ],
3174
- "opacity": 0.5,
3175
- "rotation": 0,
3176
- "seatCount": 0,
3177
- "uuid_table": "d088bba0-e990-410e-aea9-08548175a0b9"
3178
- },
3179
- "image_mapping": [
3157
+ x: 0,
3158
+ y: 8,
3159
+ label: "V 1",
3160
+ fontSize: 12,
3161
+ fontColor: "#0d0c0c",
3162
+ },
3163
+ ],
3164
+ opacity: 0.5,
3165
+ rotation: 0,
3166
+ seatCount: 0,
3167
+ uuid_table: "d088bba0-e990-410e-aea9-08548175a0b9",
3168
+ },
3169
+ image_mapping: [
3180
3170
  {
3181
- "x": 102.2516241245301,
3182
- "y": 56.33927640274972,
3183
- "id": 1753965911529,
3184
- "src": "https://cdn.table.link/prod/5bf923de-2366-4a11-9b8b-e92de0afbf05/3a65cb36-7d85-4c38-9403-a15f94641920/68d45207-d66b-4bb5-92a2-4e5a87715e98/rsvp/1753965909936935262_BOI HT.png",
3185
- "image": "/5bf923de-2366-4a11-9b8b-e92de0afbf05/3a65cb36-7d85-4c38-9403-a15f94641920/68d45207-d66b-4bb5-92a2-4e5a87715e98/rsvp/1753965909936935262_BOI HT.png",
3186
- "shape": "background",
3187
- "width": 1080.4444427490234,
3188
- "height": 719
3171
+ x: 368,
3172
+ y: 77.54706573486328,
3173
+ id: 1753965986410,
3174
+ src: "https://cdn.table.link/prod/5bf923de-2366-4a11-9b8b-e92de0afbf05/3a65cb36-7d85-4c38-9403-a15f94641920/68d45207-d66b-4bb5-92a2-4e5a87715e98/rsvp/1753965985769725756_BOI Reg.png",
3175
+ image: "/5bf923de-2366-4a11-9b8b-e92de0afbf05/3a65cb36-7d85-4c38-9403-a15f94641920/68d45207-d66b-4bb5-92a2-4e5a87715e98/rsvp/1753965985769725756_BOI Reg.png",
3176
+ shape: "background",
3177
+ width: 751.9405198530717,
3178
+ height: 715.6363664106889,
3189
3179
  },
3190
3180
  {
3191
- "x": 0,
3192
- "y": 0,
3193
- "id": 1766992965422,
3194
- "fill": "#ffffff",
3195
- "shape": "backgroundColor",
3196
- "width": 0,
3197
- "height": 0
3198
- }
3181
+ x: 0,
3182
+ y: 0,
3183
+ id: 1769502386215,
3184
+ fill: "#ffffff",
3185
+ shape: "backgroundColor",
3186
+ width: 0,
3187
+ height: 0,
3188
+ },
3199
3189
  ],
3200
- "upcomings": [
3190
+ upcomings: [],
3191
+ areas: [
3201
3192
  {
3202
- "time": "21:30",
3203
- "uuid": "6ed56ef9-37c3-4442-8fc3-05b74875e504"
3204
- }
3193
+ name: "Floor",
3194
+ uuid: "549cefc4-6581-4bfc-974b-ba395c28fc18",
3195
+ },
3205
3196
  ],
3206
- "areas": [
3197
+ sections: [
3207
3198
  {
3208
- "name": "Floor",
3209
- "uuid": "549cefc4-6581-4bfc-974b-ba395c28fc18"
3210
- }
3199
+ icon: "",
3200
+ name: "Dining Only",
3201
+ uuid: "4cf5b676-e77e-43d6-943a-22446a7f02dd",
3202
+ image: null,
3203
+ },
3211
3204
  ],
3212
- "sections": [
3213
- {
3214
- "icon": "",
3215
- "name": "Dining Only",
3216
- "uuid": "4cf5b676-e77e-43d6-943a-22446a7f02dd",
3217
- "image": null
3218
- }
3219
- ]
3220
- }
3205
+ },
3221
3206
  ];
3222
3207
  export const test4 = [
3223
3208
  {
@@ -7,7 +7,7 @@ const Layers = ({ components, selectedTable, iconTags, eventMatchTable, onHighli
7
7
  const { id, x, y, width, height, fill, opacity, rotate = 0, rotation, shape, text, stroke, strokeWidth, labels, fontSize, fontColor, seatFill, src, tags, gapTags, label, points, seatPositions, radius, } = item;
8
8
  const renderTags = (tags) => {
9
9
  var _a;
10
- const gapBetweenTags = Number(gapTags || 0);
10
+ const gapBetweenTags = Number(gapTags || 20);
11
11
  const defaultFontSize = Number(fontSize || 12);
12
12
  // Hitung total tinggi semua grup tag (buat center vertikal)
13
13
  const totalTagHeight = (tags === null || tags === void 0 ? void 0 : tags.reduce((sum, tag) => {
@@ -20,7 +20,7 @@ const Layers = ({ components, selectedTable, iconTags, eventMatchTable, onHighli
20
20
  : defaultFontSize; // horizontal = 1 line
21
21
  return sum + tagHeight + gapBetweenTags;
22
22
  }, 0)) - gapBetweenTags;
23
- const startY = Number(height) / 2 - totalTagHeight / 2; // titik awal supaya semua di tengah
23
+ const startY = Number(height) / 3 - totalTagHeight / 2; // titik awal supaya semua di tengah
24
24
  let currentY = startY;
25
25
  return (_a = tags.filter((tag) => privilegedTags === null || privilegedTags === void 0 ? void 0 : privilegedTags.includes(tag.key))) === null || _a === void 0 ? void 0 : _a.map((tag, tagIndex) => {
26
26
  var _a;
@@ -98,7 +98,7 @@ const Layers = ({ components, selectedTable, iconTags, eventMatchTable, onHighli
98
98
  </g>);
99
99
  }
100
100
  if (item.type === "text") {
101
- return (<text {...item} key={`text-${tagIndex}-${i}`} x={posX} y={posY} textAnchor="middle" dominantBaseline="middle" transform={`rotate(${rotate} ${posX} ${posY})`}>
101
+ return (<text {...item} key={`text-${tagIndex}-${i}`} x={posX} y={posY} textAnchor="middle" dominantBaseline="middle" fontSize={Number(defaultFontSize) * 3 / 4}>
102
102
  {item.value} {renderSymbol(item === null || item === void 0 ? void 0 : item.symbol)}
103
103
  </text>);
104
104
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "seat-editor",
3
- "version": "3.1.15",
3
+ "version": "3.1.16",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",