@fileverse-dev/fortune-react 1.2.64-patch-6 → 1.2.64-patch-8

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.
@@ -7,10 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  require("./index.css");
10
+ var _ui = require("@fileverse/ui");
10
11
  var _fortuneCore = require("@fileverse-dev/fortune-core");
11
12
  var _helper = require("../SheetOverlay/helper");
13
+ require("./formating.css");
12
14
  var _immer = _interopRequireDefault(require("immer"));
13
- var _ui = require("@fileverse/ui");
14
15
  var _context = _interopRequireDefault(require("../../context"));
15
16
  var _useDialog = require("../../hooks/useDialog");
16
17
  var _getDisplayedRangeTxt = require("../DataVerification/getDisplayedRangeTxt");
@@ -27,6 +28,7 @@ var ConditionRules = function ConditionRules(_a) {
27
28
  var _c = (0, _react.useState)(false),
28
29
  create = _c[0],
29
30
  setCreate = _c[1];
31
+ var buttonClickCreateRef = (0, _react.useRef)(false);
30
32
  var _d = (0, _react.useState)([]),
31
33
  matchedConditionFormatKey = _d[0],
32
34
  setMatchedConditionFormatKey = _d[1];
@@ -46,27 +48,30 @@ var ConditionRules = function ConditionRules(_a) {
46
48
  }),
47
49
  colorRules = _g[0],
48
50
  setColorRules = _g[1];
51
+ var _h = (0, _react.useState)(false),
52
+ bold = _h[0],
53
+ setBold = _h[1];
54
+ var _j = (0, _react.useState)(false),
55
+ italic = _j[0],
56
+ setItalic = _j[1];
57
+ var _k = (0, _react.useState)(false),
58
+ underline = _k[0],
59
+ setUnderline = _k[1];
60
+ var _l = (0, _react.useState)(false),
61
+ strikethrough = _l[0],
62
+ setStrikethrough = _l[1];
49
63
  (0, _react.useEffect)(function () {
50
- console.log("c=======why", context);
51
- var index = (0, _fortuneCore.getSheetIndex)(context, context === null || context === void 0 ? void 0 : context.currentSheetId) || 0;
52
- var allCondition = context.luckysheetfile[index].luckysheet_conditionformat_save;
53
- console.log("====whyallCondition", allCondition);
54
- }, [context]);
55
- (0, _react.useEffect)(function () {
56
- var _a, _b, _c, _d;
64
+ var _a, _b, _c;
57
65
  var index = (0, _fortuneCore.getSheetIndex)(context, context === null || context === void 0 ? void 0 : context.currentSheetId) || 0;
58
66
  var allCondition = context.luckysheetfile[index].luckysheet_conditionformat_save;
59
67
  setAllConditionFormats(allCondition);
60
- console.log("allConditionFormats", allCondition, (_a = context.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[0], context);
61
- console.log("typed", context);
62
- var selectionColumn = (_b = context.luckysheet_select_save) === null || _b === void 0 ? void 0 : _b[0].column;
63
- var selectionRow = (_c = context.luckysheet_select_save) === null || _c === void 0 ? void 0 : _c[0].row;
68
+ var selectionColumn = (_a = context.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[0].column;
69
+ var selectionRow = (_b = context.luckysheet_select_save) === null || _b === void 0 ? void 0 : _b[0].row;
64
70
  var matchedCondition = [];
65
71
  if (allCondition) {
66
72
  for (var key in allCondition) {
67
73
  var conditionFormat = allCondition[key];
68
- var range = (_d = conditionFormat.cellrange) === null || _d === void 0 ? void 0 : _d[0];
69
- console.log("rangeObj", conditionFormat, range);
74
+ var range = (_c = conditionFormat.cellrange) === null || _c === void 0 ? void 0 : _c[0];
70
75
  if (!range || !selectionColumn || !selectionRow) continue;
71
76
  var rangeColumns = range.column;
72
77
  var rangeRows = range.row;
@@ -78,9 +83,8 @@ var ConditionRules = function ConditionRules(_a) {
78
83
  }
79
84
  setMatchedConditionFormatKey(matchedCondition);
80
85
  }
81
- console.log("kkkkk", matchedConditionFormatKey, matchedCondition);
86
+ if (buttonClickCreateRef.current) return;
82
87
  if (matchedCondition.length === 0) {
83
- console.log('whyyyyyyy');
84
88
  setCreate(true);
85
89
  } else if (matchedCondition.length > 0) {
86
90
  setCreate(false);
@@ -99,15 +103,26 @@ var ConditionRules = function ConditionRules(_a) {
99
103
  }, [colorRules.cellColor, colorRules.textColor, hideDialog, setContext]);
100
104
  var close = (0, _react.useCallback)(function (closeType) {
101
105
  if (closeType === "confirm") {
106
+ buttonClickCreateRef.current = false;
107
+ setCreate(false);
102
108
  setContext(function (ctx) {
103
109
  ctx.conditionRules.textColor.color = colorRules.textColor;
104
110
  ctx.conditionRules.cellColor.color = colorRules.cellColor;
111
+ ctx.conditionRules.font = {
112
+ bold: bold,
113
+ italic: italic,
114
+ underline: underline,
115
+ strikethrough: strikethrough
116
+ };
105
117
  (0, _fortuneCore.setConditionRules)(ctx, protection, generalDialog, conditionformat, ctx.conditionRules);
106
118
  });
119
+ } else {
120
+ buttonClickCreateRef.current = true;
121
+ setCreate(false);
107
122
  }
108
123
  setContext(function (ctx) {
109
124
  ctx.conditionRules = {
110
- rulesType: "",
125
+ rulesType: "greaterThan",
111
126
  rulesValue: "",
112
127
  textColor: {
113
128
  check: true,
@@ -117,6 +132,12 @@ var ConditionRules = function ConditionRules(_a) {
117
132
  check: true,
118
133
  color: "#000000"
119
134
  },
135
+ font: {
136
+ bold: false,
137
+ italic: false,
138
+ underline: false,
139
+ strikethrough: false
140
+ },
120
141
  betweenValue: {
121
142
  value1: "",
122
143
  value2: ""
@@ -127,16 +148,7 @@ var ConditionRules = function ConditionRules(_a) {
127
148
  };
128
149
  });
129
150
  hideDialog();
130
- }, [colorRules, conditionformat, generalDialog, hideDialog, protection, setContext]);
131
- (0, _react.useEffect)(function () {
132
- console.log("add mouseDown listener", window);
133
- window.addEventListener("mouseDown", function (e) {
134
- var _a, _b;
135
- var selectionColumn = (_a = context.luckysheet_select_save) === null || _a === void 0 ? void 0 : _a[0].column;
136
- var selectionRow = (_b = context.luckysheet_select_save) === null || _b === void 0 ? void 0 : _b[0].row;
137
- console.log("mouseDown", selectionColumn, selectionRow, context);
138
- });
139
- }, [type]);
151
+ }, [colorRules, conditionformat, generalDialog, hideDialog, protection, setContext, bold, italic, underline, strikethrough]);
140
152
  (0, _react.useEffect)(function () {
141
153
  setContext(function (ctx) {
142
154
  ctx.conditionRules.rulesType = type;
@@ -161,6 +173,12 @@ var ConditionRules = function ConditionRules(_a) {
161
173
  check: true,
162
174
  color: "#000000"
163
175
  },
176
+ font: {
177
+ bold: false,
178
+ italic: false,
179
+ underline: false,
180
+ strikethrough: false
181
+ },
164
182
  betweenValue: {
165
183
  value1: "",
166
184
  value2: ""
@@ -237,46 +255,122 @@ var ConditionRules = function ConditionRules(_a) {
237
255
  var titleType = type === "top10_percent" ? "top10" : type === "last10_percent" ? "last10" : type;
238
256
  return /*#__PURE__*/_react.default.createElement("div", {
239
257
  className: "condition-rules"
240
- }, !create ? (/*#__PURE__*/_react.default.createElement("div", null, matchedConditionFormatKey.map(function (key) {
258
+ }, !create ? (/*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
259
+ style: {
260
+ marginBottom: "16px"
261
+ }
262
+ }, matchedConditionFormatKey.map(function (key) {
241
263
  var _a, _b;
242
264
  return /*#__PURE__*/_react.default.createElement("div", {
243
- className: "flex items-center gap-6 py-6 border-b border-gray-200 last:border-b-0",
265
+ className: "group flex items-center border-b border-gray-200 condition-list-parent",
244
266
  key: key
245
267
  }, /*#__PURE__*/_react.default.createElement("div", {
246
- className: "flex items-center justify-center !w-40 !h-40 rounded-3xl !bg-[".concat(allConditionFormats[key].format.cellColor || "", "]"),
268
+ className: "condition-list-pill",
247
269
  style: {
248
- backgroundColor: allConditionFormats[key].format.cellColor || "",
249
- width: '44px',
250
- height: '56px'
270
+ backgroundColor: allConditionFormats[key].format.cellColor || ""
251
271
  }
252
272
  }, /*#__PURE__*/_react.default.createElement("span", {
253
- className: "text-6xl font-bold !text-[".concat(allConditionFormats[key].format.textColor || "", "] pb-1")
273
+ className: "condition-list-text",
274
+ style: {
275
+ color: allConditionFormats[key].format.textColor || ""
276
+ }
254
277
  }, "123")), /*#__PURE__*/_react.default.createElement("div", {
255
- className: "flex flex-col"
278
+ className: "flex flex-col",
279
+ style: {
280
+ width: '200px',
281
+ padding: '8px 0px'
282
+ }
256
283
  }, /*#__PURE__*/_react.default.createElement("h3", {
257
- className: "text-4xl font-normal text-gray-900 mb-2"
284
+ className: "condition-list-type"
258
285
  }, conditionformat[allConditionFormats[key].conditionName], ' ', (_a = allConditionFormats[key].conditionValue) === null || _a === void 0 ? void 0 : _a[0]), /*#__PURE__*/_react.default.createElement("p", {
259
- className: "text-3xl text-gray-400"
286
+ className: "condition-list-range"
260
287
  }, (_b = allConditionFormats[key].cellrange) === null || _b === void 0 ? void 0 : _b.map(function (range) {
261
288
  var startCol = (0, _helper.numberToColumn)(range.column[0] + 1);
262
289
  var endCol = (0, _helper.numberToColumn)(range.column[1] + 1);
263
290
  var startRow = range.row[0] + 1;
264
291
  var endRow = range.row[1] + 1;
265
292
  return "".concat(startCol).concat(startRow, ":").concat(endCol).concat(endRow);
266
- }).join(", "))));
267
- }), /*#__PURE__*/_react.default.createElement(_ui.Button, {
293
+ }).join(", "))), /*#__PURE__*/_react.default.createElement("div", {
294
+ className: "opacity-0 group-hover:opacity-100 transition-opacity"
295
+ }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
296
+ elevation: 1,
297
+ icon: "Trash2",
298
+ size: "md",
299
+ variant: "secondary",
300
+ style: {
301
+ border: '0px',
302
+ boxShadow: 'none',
303
+ color: 'hsl(var(--color-icon-secondary))'
304
+ },
305
+ onClick: function onClick() {
306
+ setContext(function (ctx) {
307
+ var index = (0, _fortuneCore.getSheetIndex)(ctx, ctx.currentSheetId);
308
+ var ruleArr = ctx.luckysheetfile[index].luckysheet_conditionformat_save || [];
309
+ console.log(matchedConditionFormatKey, ruleArr, allConditionFormats);
310
+ ruleArr.splice(Number(key), 1);
311
+ ctx.luckysheetfile[index].luckysheet_conditionformat_save = ruleArr;
312
+ return ctx;
313
+ });
314
+ }
315
+ })));
316
+ })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
268
317
  size: "md",
269
318
  variant: "secondary",
270
319
  onClick: function onClick() {
271
320
  setCreate(true);
321
+ buttonClickCreateRef.current = true;
272
322
  }
273
- }, "Create New Condition Format"))) : (/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !["aboveAverage", "belowAverage"].includes(type) && (/*#__PURE__*/_react.default.createElement("div", {
323
+ }, "Create New Condition Format"))) : (/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
274
324
  className: "flex flex-col"
275
325
  }, /*#__PURE__*/_react.default.createElement("div", {
276
326
  className: "condition-rules-value text-heading-xsm"
277
- }, conditionformat["conditionformat_".concat(titleType, "_title")]), (type === "greaterThan" || type === "greaterThanOrEqual" || type === "lessThan" || type === "lessThanOrEqual" || type === "equal" || type === "textContains") && (/*#__PURE__*/_react.default.createElement("div", {
327
+ }, conditionformat.applyRange, " range"), /*#__PURE__*/_react.default.createElement(_ui.TextField, {
328
+ rightIcon: /*#__PURE__*/_react.default.createElement(_ui.LucideIcon, {
329
+ name: "Grid2x2",
330
+ size: "sm",
331
+ onClick: function onClick() {
332
+ dataSelectRange("conditionRules".concat(type));
333
+ }
334
+ }),
335
+ "aria-hidden": "true",
336
+ readOnly: true,
337
+ placeholder: conditionformat.selectRange,
338
+ value: (0, _getDisplayedRangeTxt.getDisplayedRangeTxt)(context),
339
+ onClick: function onClick() {
340
+ dataSelectRange("conditionRules".concat(type));
341
+ }
342
+ })), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
343
+ className: "condition-rules-value text-heading-xsm"
344
+ }, "Format cells if"), /*#__PURE__*/_react.default.createElement(_ui.Select, {
345
+ value: type,
346
+ onValueChange: function onValueChange(value) {
347
+ setType(value);
348
+ }
349
+ }, /*#__PURE__*/_react.default.createElement(_ui.SelectTrigger, null, /*#__PURE__*/_react.default.createElement(_ui.SelectValue, null, /*#__PURE__*/_react.default.createElement("div", {
350
+ className: "flex items-center gap-2"
351
+ }, /*#__PURE__*/_react.default.createElement("span", null, conditionformat[type])))), /*#__PURE__*/_react.default.createElement(_ui.SelectContent, {
352
+ position: "popper",
353
+ side: "bottom",
354
+ align: "start",
355
+ sideOffset: 4,
356
+ className: "z-[100]",
357
+ "data-dropdown-content": "true"
358
+ }, conditionList.map(function (option) {
359
+ return /*#__PURE__*/_react.default.createElement(_ui.SelectItem, {
360
+ key: option.value,
361
+ value: option.text
362
+ }, /*#__PURE__*/_react.default.createElement("div", {
363
+ className: "flex items-center gap-2"
364
+ }, /*#__PURE__*/_react.default.createElement("span", null, conditionformat[option.text])));
365
+ })))), !["aboveAverage", "belowAverage"].includes(type) && (/*#__PURE__*/_react.default.createElement("div", {
366
+ className: "flex flex-col"
367
+ }, (type === "greaterThan" || type === "greaterThanOrEqual" || type === "lessThan" || type === "lessThanOrEqual" || type === "equal" || type === "textContains") && (/*#__PURE__*/_react.default.createElement("div", {
278
368
  className: "w-full"
279
369
  }, /*#__PURE__*/_react.default.createElement(_ui.TextField, {
370
+ placeholder: "Value",
371
+ onKeyDown: function onKeyDown(e) {
372
+ e.stopPropagation();
373
+ },
280
374
  value: context.conditionRules.rulesValue,
281
375
  onChange: function onChange(e) {
282
376
  var value = e.target.value;
@@ -289,6 +383,9 @@ var ConditionRules = function ConditionRules(_a) {
289
383
  }, /*#__PURE__*/_react.default.createElement("div", {
290
384
  className: "w-full"
291
385
  }, /*#__PURE__*/_react.default.createElement(_ui.TextField, {
386
+ onKeyDown: function onKeyDown(e) {
387
+ e.stopPropagation();
388
+ },
292
389
  placeholder: "From",
293
390
  value: context.conditionRules.betweenValue.value1,
294
391
  onChange: function onChange(e) {
@@ -300,6 +397,9 @@ var ConditionRules = function ConditionRules(_a) {
300
397
  })), /*#__PURE__*/_react.default.createElement("div", {
301
398
  className: "w-full"
302
399
  }, /*#__PURE__*/_react.default.createElement(_ui.TextField, {
400
+ onKeyDown: function onKeyDown(e) {
401
+ e.stopPropagation();
402
+ },
303
403
  placeholder: "To",
304
404
  value: context.conditionRules.betweenValue.value2,
305
405
  onChange: function onChange(e) {
@@ -351,6 +451,10 @@ var ConditionRules = function ConditionRules(_a) {
351
451
  });
352
452
  }
353
453
  }), /*#__PURE__*/_react.default.createElement(_ui.TextField, {
454
+ placeholder: "Value",
455
+ onKeyDown: function onKeyDown(e) {
456
+ e.stopPropagation();
457
+ },
354
458
  className: "condition-rules-project-input pr-0",
355
459
  type: "number",
356
460
  min: 1,
@@ -378,74 +482,99 @@ var ConditionRules = function ConditionRules(_a) {
378
482
  ctx.conditionRules.projectValue = String(current + 1);
379
483
  });
380
484
  }
381
- })))))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
382
- className: "condition-rules-value text-heading-xsm"
383
- }, "Cell(s) format if"), /*#__PURE__*/_react.default.createElement(_ui.Select, {
384
- value: type,
385
- onValueChange: function onValueChange(value) {
386
- console.log(value);
387
- setType(value);
388
- }
389
- }, /*#__PURE__*/_react.default.createElement(_ui.SelectTrigger, null, /*#__PURE__*/_react.default.createElement(_ui.SelectValue, null, /*#__PURE__*/_react.default.createElement("div", {
390
- className: "flex items-center gap-2"
391
- }, /*#__PURE__*/_react.default.createElement("span", null, conditionformat[type])))), /*#__PURE__*/_react.default.createElement(_ui.SelectContent, {
392
- position: "popper",
393
- side: "bottom",
394
- align: "start",
395
- sideOffset: 4,
396
- className: "z-[100]",
397
- "data-dropdown-content": "true"
398
- }, conditionList.map(function (option) {
399
- return /*#__PURE__*/_react.default.createElement(_ui.SelectItem, {
400
- key: option.value,
401
- value: option.text
402
- }, /*#__PURE__*/_react.default.createElement("div", {
403
- className: "flex items-center gap-2"
404
- }, /*#__PURE__*/_react.default.createElement("span", null, conditionformat[option.text])));
405
- })))), /*#__PURE__*/_react.default.createElement("div", {
406
- className: "flex flex-col"
407
- }, /*#__PURE__*/_react.default.createElement("div", {
408
- className: "condition-rules-value text-heading-xsm"
409
- }, conditionformat.applyRange), /*#__PURE__*/_react.default.createElement(_ui.TextField, {
410
- rightIcon: /*#__PURE__*/_react.default.createElement(_ui.LucideIcon, {
411
- name: "Grid2x2",
412
- size: "sm",
413
- onClick: function onClick() {
414
- dataSelectRange("conditionRules".concat(type));
415
- }
416
- }),
417
- "aria-hidden": "true",
418
- readOnly: true,
419
- placeholder: conditionformat.selectRange,
420
- value: (0, _getDisplayedRangeTxt.getDisplayedRangeTxt)(context),
421
- onClick: function onClick() {
422
- dataSelectRange("conditionRules".concat(type));
423
- }
424
- })), /*#__PURE__*/_react.default.createElement("div", {
485
+ })))))), /*#__PURE__*/_react.default.createElement("div", {
425
486
  className: "flex flex-col"
426
487
  }, /*#__PURE__*/_react.default.createElement("div", {
427
488
  className: "condition-rules-set-title text-heading-xsm"
428
- }, "".concat(conditionformat.setAs, "\uFF1A")), /*#__PURE__*/_react.default.createElement("div", {
429
- className: "condition-rules-setbox"
489
+ }, "Formatting styles"), /*#__PURE__*/_react.default.createElement("div", {
490
+ className: "toolbar-container"
430
491
  }, /*#__PURE__*/_react.default.createElement("div", {
431
- className: "condition-rules-set"
492
+ className: "toolbar-header"
493
+ }, /*#__PURE__*/_react.default.createElement("h2", {
494
+ className: "toolbar-title"
495
+ }, "Formatting styles preview")), /*#__PURE__*/_react.default.createElement("div", {
496
+ className: "toolbar-content"
497
+ }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
498
+ variant: "ghost",
499
+ onClick: function onClick() {
500
+ return setBold(!bold);
501
+ },
502
+ className: (0, _ui.cn)("fortune-toolbar-combo-button !min-w-fit !px-0", {}),
503
+ style: {
504
+ width: 30,
505
+ height: 30,
506
+ backgroundColor: bold ? "hsl(var(--color-bg-default-selected))" : ""
507
+ }
508
+ }, /*#__PURE__*/_react.default.createElement(_ui.LucideIcon, {
509
+ name: "Bold"
510
+ })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
511
+ variant: "ghost",
512
+ onClick: function onClick() {
513
+ return setItalic(!italic);
514
+ },
515
+ className: (0, _ui.cn)("fortune-toolbar-combo-button !min-w-fit !px-0", {}),
516
+ style: {
517
+ width: 30,
518
+ height: 30
519
+ }
520
+ }, /*#__PURE__*/_react.default.createElement(_ui.LucideIcon, {
521
+ name: "Italic"
522
+ })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
523
+ variant: "ghost",
524
+ onClick: function onClick() {
525
+ return setUnderline(!underline);
526
+ },
527
+ className: (0, _ui.cn)("fortune-toolbar-combo-button !min-w-fit !px-0", {}),
528
+ style: {
529
+ width: 30,
530
+ height: 30
531
+ }
532
+ }, /*#__PURE__*/_react.default.createElement(_ui.LucideIcon, {
533
+ name: "Underline"
534
+ })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
535
+ variant: "ghost",
536
+ onClick: function onClick() {
537
+ return setStrikethrough(!strikethrough);
538
+ },
539
+ className: (0, _ui.cn)("fortune-toolbar-combo-button !min-w-fit !px-0", {}),
540
+ style: {
541
+ width: 30,
542
+ height: 30
543
+ }
544
+ }, /*#__PURE__*/_react.default.createElement(_ui.LucideIcon, {
545
+ name: "Strikethrough"
546
+ })), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
547
+ variant: "ghost",
548
+ className: (0, _ui.cn)("fortune-toolbar-combo-button !min-w-fit !px-0", {}),
549
+ style: {
550
+ width: 30,
551
+ height: 30
552
+ }
432
553
  }, /*#__PURE__*/_react.default.createElement("div", {
433
- className: "condition-rules-color"
434
- }, /*#__PURE__*/_react.default.createElement("span", {
435
- id: "checkTextColor"
436
- }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
437
- className: "border-2",
438
- checked: context.conditionRules.textColor.check,
439
- onCheckedChange: function onCheckedChange(e) {
440
- var checked = e.target.checked;
441
- setContext(function (ctx) {
442
- ctx.conditionRules.textColor.check = checked;
443
- });
554
+ style: {
555
+ display: 'flex',
556
+ flexDirection: 'column',
557
+ alignItems: 'center'
444
558
  }
445
- })), /*#__PURE__*/_react.default.createElement("label", {
446
- htmlFor: "checkTextColor",
447
- className: "condition-rules-label"
448
- }, conditionformat.textColor), /*#__PURE__*/_react.default.createElement("input", {
559
+ }, /*#__PURE__*/_react.default.createElement("svg", {
560
+ xmlns: "http://www.w3.org/2000/svg",
561
+ width: "24",
562
+ height: "24",
563
+ viewBox: "0 0 24 24",
564
+ fill: "none",
565
+ stroke: "currentColor",
566
+ "stroke-width": "2",
567
+ "stroke-linecap": "round",
568
+ "stroke-linejoin": "round",
569
+ className: "lucide lucide-spell-check2-icon lucide-spell-check-2"
570
+ }, /*#__PURE__*/_react.default.createElement("path", {
571
+ d: "m5 18 6-12 6 12"
572
+ }), /*#__PURE__*/_react.default.createElement("path", {
573
+ d: "M7 14h8"
574
+ })), /*#__PURE__*/_react.default.createElement("input", {
575
+ style: {
576
+ marginBottom: "4px"
577
+ },
449
578
  type: "color",
450
579
  className: "condition-rules-select-color",
451
580
  value: colorRules.textColor,
@@ -455,25 +584,21 @@ var ConditionRules = function ConditionRules(_a) {
455
584
  draft.textColor = value;
456
585
  }));
457
586
  }
458
- }))), /*#__PURE__*/_react.default.createElement("div", {
459
- className: "condition-rules-set"
587
+ })))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
588
+ variant: "ghost",
589
+ className: (0, _ui.cn)("fortune-toolbar-combo-button !min-w-fit !px-0", {}),
590
+ style: {
591
+ width: 30,
592
+ height: 30
593
+ }
460
594
  }, /*#__PURE__*/_react.default.createElement("div", {
461
- className: "condition-rules-color"
462
- }, /*#__PURE__*/_react.default.createElement("span", {
463
- id: "checkCellColor"
464
- }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
465
- className: "border-2",
466
- checked: context.conditionRules.cellColor.check,
467
- onCheckedChange: function onCheckedChange(e) {
468
- var checked = e.target.checked;
469
- setContext(function (ctx) {
470
- ctx.conditionRules.cellColor.check = checked;
471
- });
595
+ style: {
596
+ display: 'flex',
597
+ flexDirection: 'column'
472
598
  }
473
- })), /*#__PURE__*/_react.default.createElement("label", {
474
- htmlFor: "checkCellColor",
475
- className: "condition-rules-label"
476
- }, conditionformat.cellColor), /*#__PURE__*/_react.default.createElement("input", {
599
+ }, /*#__PURE__*/_react.default.createElement(_ui.LucideIcon, {
600
+ name: "PaintBucket"
601
+ }), /*#__PURE__*/_react.default.createElement("input", {
477
602
  type: "color",
478
603
  className: "condition-rules-select-color",
479
604
  value: colorRules.cellColor,
@@ -483,10 +608,11 @@ var ConditionRules = function ConditionRules(_a) {
483
608
  draft.cellColor = value;
484
609
  }));
485
610
  }
486
- }))))), /*#__PURE__*/_react.default.createElement(_ui.Divider, {
487
- className: "w-full border-t-[1px]"
488
- }), /*#__PURE__*/_react.default.createElement("div", {
489
- className: "flex gap-2 justify-end"
611
+ }))))))), /*#__PURE__*/_react.default.createElement("div", {
612
+ className: "flex gap-2 justify-end",
613
+ style: {
614
+ marginTop: "8px"
615
+ }
490
616
  }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
491
617
  variant: "secondary",
492
618
  style: {
@@ -505,6 +631,6 @@ var ConditionRules = function ConditionRules(_a) {
505
631
  close("confirm");
506
632
  },
507
633
  tabIndex: 0
508
- }, button.apply)))));
634
+ }, "Create rule")))));
509
635
  };
510
636
  var _default = exports.default = ConditionRules;
@@ -0,0 +1,103 @@
1
+ .toolbar-container {
2
+ width: 100%;
3
+ max-width: 896px;
4
+ background-color: white;
5
+ border-radius: 4px;
6
+ border: 1px solid hsl(var(--color-border-default, #E8EBEC));
7
+ overflow: hidden;
8
+ }
9
+
10
+ .toolbar-header {
11
+ background-color: #dcfce7;
12
+ padding: 4px 16px;
13
+ border-radius: var(--border-radius-sm, 4px) var(--border-radius-sm, 4px) var(--border-radius-none, 0) var(--border-radius-none, 0);
14
+ border-bottom: 1px solid hsl(var(--color-border-default, #E8EBEC));
15
+ background: hsl(var(--color-bg-success-light, #DDFBDF));
16
+ }
17
+
18
+ .toolbar-title {
19
+ color: hsl(var(--color-text-success, #177E23));
20
+ font-family: "Helvetica Neue";
21
+ font-size: 14px;
22
+ font-style: normal;
23
+ font-weight: 400;
24
+ line-height: 20px;
25
+ }
26
+
27
+ .toolbar-content {
28
+ padding: 4px;
29
+ display: flex;
30
+ gap: 16px;
31
+ align-items: center;
32
+ }
33
+
34
+ .toolbar-button {
35
+ width: 48px;
36
+ height: 48px;
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+ background-color: white;
41
+ border: 1px solid #e5e7eb;
42
+ border-radius: 6px;
43
+ cursor: pointer;
44
+ transition: all 0.2s ease;
45
+ padding: 0;
46
+ }
47
+
48
+ .toolbar-button:hover {
49
+ background-color: #f9fafb;
50
+ border-color: #d1d5db;
51
+ }
52
+
53
+ .toolbar-button:active {
54
+ transform: scale(0.95);
55
+ }
56
+
57
+ .button-text {
58
+ font-size: 24px;
59
+ color: #1f2937;
60
+ font-weight: 500;
61
+ }
62
+
63
+ .button-text.bold {
64
+ font-weight: 700;
65
+ }
66
+
67
+ .button-text.italic {
68
+ font-style: italic;
69
+ font-family: Georgia, serif;
70
+ }
71
+
72
+ .button-text.underline {
73
+ text-decoration: underline;
74
+ text-decoration-thickness: 2px;
75
+ text-underline-offset: 2px;
76
+ }
77
+
78
+ .button-text.strikethrough {
79
+ text-decoration: line-through;
80
+ text-decoration-thickness: 2px;
81
+ }
82
+
83
+ .button-text.color-button {
84
+ position: relative;
85
+ color: #16a34a;
86
+ }
87
+
88
+ .button-text.color-button::after {
89
+ content: "";
90
+ position: absolute;
91
+ bottom: -4px;
92
+ left: 0;
93
+ right: 0;
94
+ height: 3px;
95
+ background-color: #16a34a;
96
+ border-radius: 2px;
97
+ }
98
+
99
+ .button-icon {
100
+ width: 24px;
101
+ height: 24px;
102
+ color: #1f2937;
103
+ }