hazo_ui 6.11.2 → 6.12.3
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.
- package/CHANGE_LOG.md +78 -0
- package/SETUP_CHECKLIST.md +2 -2
- package/dist/index.cjs +157 -137
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +156 -136
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.cjs
CHANGED
|
@@ -16,6 +16,7 @@ var SelectPrimitive = require('@radix-ui/react-select');
|
|
|
16
16
|
var TooltipPrimitive = require('@radix-ui/react-tooltip');
|
|
17
17
|
var reactDayPicker = require('react-day-picker');
|
|
18
18
|
var dateFns = require('date-fns');
|
|
19
|
+
var i18n = require('hazo_core/i18n');
|
|
19
20
|
var core$1 = require('@dnd-kit/core');
|
|
20
21
|
var sortable = require('@dnd-kit/sortable');
|
|
21
22
|
var utilities = require('@dnd-kit/utilities');
|
|
@@ -181,8 +182,8 @@ var require_extends = __commonJS({
|
|
|
181
182
|
function _extends11() {
|
|
182
183
|
return module.exports = _extends11 = Object.assign ? Object.assign.bind() : function(n) {
|
|
183
184
|
for (var e = 1; e < arguments.length; e++) {
|
|
184
|
-
var
|
|
185
|
-
for (var r in
|
|
185
|
+
var t14 = arguments[e];
|
|
186
|
+
for (var r in t14) ({}).hasOwnProperty.call(t14, r) && (n[r] = t14[r]);
|
|
186
187
|
}
|
|
187
188
|
return n;
|
|
188
189
|
}, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends11.apply(null, arguments);
|
|
@@ -196,12 +197,12 @@ var require_objectWithoutPropertiesLoose = __commonJS({
|
|
|
196
197
|
"../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports, module) {
|
|
197
198
|
function _objectWithoutPropertiesLoose10(r, e) {
|
|
198
199
|
if (null == r) return {};
|
|
199
|
-
var
|
|
200
|
+
var t14 = {};
|
|
200
201
|
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
201
202
|
if (-1 !== e.indexOf(n)) continue;
|
|
202
|
-
|
|
203
|
+
t14[n] = r[n];
|
|
203
204
|
}
|
|
204
|
-
return
|
|
205
|
+
return t14;
|
|
205
206
|
}
|
|
206
207
|
module.exports = _objectWithoutPropertiesLoose10, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
207
208
|
}
|
|
@@ -712,47 +713,6 @@ function Calendar({
|
|
|
712
713
|
);
|
|
713
714
|
}
|
|
714
715
|
Calendar.displayName = "Calendar";
|
|
715
|
-
var hazo_i18n_module = null;
|
|
716
|
-
void client$1.optional_import("hazo_i18n").then((mod) => {
|
|
717
|
-
hazo_i18n_module = mod;
|
|
718
|
-
}).catch(() => {
|
|
719
|
-
hazo_i18n_module = null;
|
|
720
|
-
});
|
|
721
|
-
function interpolate(template, vars) {
|
|
722
|
-
if (!vars) return template;
|
|
723
|
-
return template.replace(
|
|
724
|
-
/\{\{\s*(\w+)\s*\}\}/g,
|
|
725
|
-
(whole, name) => Object.prototype.hasOwnProperty.call(vars, name) ? vars[name] : whole
|
|
726
|
-
);
|
|
727
|
-
}
|
|
728
|
-
function createPackageT(namespace, fallbackCatalog) {
|
|
729
|
-
return function t4(key, vars) {
|
|
730
|
-
const mod = hazo_i18n_module;
|
|
731
|
-
if (mod && typeof mod.t === "function") {
|
|
732
|
-
try {
|
|
733
|
-
const translated = mod.t(`${namespace}.${key}`, vars);
|
|
734
|
-
if (typeof translated === "string" && translated.length > 0) {
|
|
735
|
-
return translated;
|
|
736
|
-
}
|
|
737
|
-
} catch {
|
|
738
|
-
}
|
|
739
|
-
}
|
|
740
|
-
const template = fallbackCatalog[key];
|
|
741
|
-
if (template === void 0) return key;
|
|
742
|
-
return interpolate(template, vars);
|
|
743
|
-
};
|
|
744
|
-
}
|
|
745
|
-
function resolvePackageLocale(defaultLocale) {
|
|
746
|
-
const mod = hazo_i18n_module;
|
|
747
|
-
if (mod && typeof mod.getStaticLocale === "function") {
|
|
748
|
-
try {
|
|
749
|
-
const locale = mod.getStaticLocale();
|
|
750
|
-
if (typeof locale === "string" && locale.length > 0) return locale;
|
|
751
|
-
} catch {
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
|
-
return defaultLocale;
|
|
755
|
-
}
|
|
756
716
|
|
|
757
717
|
// src/locales/en.json
|
|
758
718
|
var en_default = {
|
|
@@ -825,9 +785,41 @@ var en_default = {
|
|
|
825
785
|
"filter.no_fields_available": "No fields available.",
|
|
826
786
|
"filter.clear_all": "Clear all",
|
|
827
787
|
"filter.cancel": "Cancel",
|
|
828
|
-
"filter.apply": "Apply"
|
|
788
|
+
"filter.apply": "Apply",
|
|
789
|
+
"sort.title": "Sort",
|
|
790
|
+
"sort.description": "Add fields to sort by, drag to reorder, toggle ascending or descending.",
|
|
791
|
+
"sort.search_fields": "Search fields...",
|
|
792
|
+
"sort.open_dialog_aria": "Open sort dialog",
|
|
793
|
+
"sort.clear_all": "Clear all",
|
|
794
|
+
"sort.cancel": "Cancel",
|
|
795
|
+
"sort.apply": "Apply",
|
|
796
|
+
"canvas_toolbar.bold": "Bold",
|
|
797
|
+
"canvas_toolbar.italic": "Italic",
|
|
798
|
+
"canvas_toolbar.underline": "Underline",
|
|
799
|
+
"canvas_toolbar.align_left": "Align left",
|
|
800
|
+
"canvas_toolbar.align_center": "Align center",
|
|
801
|
+
"canvas_toolbar.align_right": "Align right",
|
|
802
|
+
"canvas_toolbar.text_color": "Text color",
|
|
803
|
+
"canvas_toolbar.font_family": "Font family",
|
|
804
|
+
"canvas_toolbar.align_top": "Align top",
|
|
805
|
+
"canvas_toolbar.align_middle": "Align middle",
|
|
806
|
+
"canvas_toolbar.align_bottom": "Align bottom",
|
|
807
|
+
"canvas_toolbar.bullet_list": "Bullet list",
|
|
808
|
+
"toast.permission_required": "Permission required",
|
|
809
|
+
"toast.permission_denied_message": "You do not have permission to perform this action.",
|
|
810
|
+
"error.something_went_wrong": "Something went wrong",
|
|
811
|
+
"error.dismiss": "Dismiss",
|
|
812
|
+
"loading.taking_longer": "This is taking longer than expected",
|
|
813
|
+
"notification.loading": "Loading notifications",
|
|
814
|
+
"notification.mark_all_read": "Mark all as read",
|
|
815
|
+
"notification.unread": "Unread",
|
|
816
|
+
"confirm.cancel": "Cancel",
|
|
817
|
+
"icon_picker.search_placeholder": "Search icons...",
|
|
818
|
+
"common.loading": "Loading...",
|
|
819
|
+
"common.cancel": "Cancel",
|
|
820
|
+
"common.search": "Search..."
|
|
829
821
|
};
|
|
830
|
-
var t = createPackageT("hazo_ui", en_default);
|
|
822
|
+
var t = i18n.createPackageT("hazo_ui", en_default);
|
|
831
823
|
function FilterFieldItem({
|
|
832
824
|
filterConfig,
|
|
833
825
|
fieldConfig,
|
|
@@ -1274,6 +1266,7 @@ function HazoUiMultiFilterDialog({
|
|
|
1274
1266
|
] })
|
|
1275
1267
|
] });
|
|
1276
1268
|
}
|
|
1269
|
+
var t2 = i18n.createPackageT("hazo_ui", en_default);
|
|
1277
1270
|
function SortableSortFieldItem({
|
|
1278
1271
|
sortConfig,
|
|
1279
1272
|
fieldLabel,
|
|
@@ -1384,8 +1377,8 @@ function HazoUiMultiSortDialog({
|
|
|
1384
1377
|
availableFields,
|
|
1385
1378
|
onSortChange,
|
|
1386
1379
|
initialSortFields = [],
|
|
1387
|
-
title = "
|
|
1388
|
-
description = "
|
|
1380
|
+
title = t2("sort.title"),
|
|
1381
|
+
description = t2("sort.description"),
|
|
1389
1382
|
headerBackgroundColor,
|
|
1390
1383
|
headerTextColor,
|
|
1391
1384
|
submitButtonBackgroundColor,
|
|
@@ -1503,7 +1496,7 @@ function HazoUiMultiSortDialog({
|
|
|
1503
1496
|
variant: "outline",
|
|
1504
1497
|
size: "sm",
|
|
1505
1498
|
className: "cls_sort_button",
|
|
1506
|
-
"aria-label": "
|
|
1499
|
+
"aria-label": t2("sort.open_dialog_aria"),
|
|
1507
1500
|
children: [
|
|
1508
1501
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1509
1502
|
lucideReact.ArrowUpDown,
|
|
@@ -1576,7 +1569,7 @@ function HazoUiMultiSortDialog({
|
|
|
1576
1569
|
}
|
|
1577
1570
|
) }),
|
|
1578
1571
|
/* @__PURE__ */ jsxRuntime.jsx(PopoverContent, { className: "cls_combobox_popover w-[var(--radix-popover-trigger-width)] p-0", align: "start", children: /* @__PURE__ */ jsxRuntime.jsxs(Command, { children: [
|
|
1579
|
-
/* @__PURE__ */ jsxRuntime.jsx(CommandInput, { placeholder: "
|
|
1572
|
+
/* @__PURE__ */ jsxRuntime.jsx(CommandInput, { placeholder: t2("sort.search_fields"), className: "cls_command_input" }),
|
|
1580
1573
|
/* @__PURE__ */ jsxRuntime.jsx(CommandList, { children: availableFieldsToAdd.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(CommandEmpty, { children: "No fields available." }) : /* @__PURE__ */ jsxRuntime.jsx(CommandGroup, { children: availableFieldsToAdd.map((field) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1581
1574
|
CommandItem,
|
|
1582
1575
|
{
|
|
@@ -1599,7 +1592,7 @@ function HazoUiMultiSortDialog({
|
|
|
1599
1592
|
onClick: handleClearAll,
|
|
1600
1593
|
className: "cls_clear_all_btn text-muted-foreground hover:text-foreground",
|
|
1601
1594
|
style: clearButtonStyles,
|
|
1602
|
-
children: "
|
|
1595
|
+
children: t2("sort.clear_all")
|
|
1603
1596
|
}
|
|
1604
1597
|
) }),
|
|
1605
1598
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cls_footer_right flex items-center gap-2", children: [
|
|
@@ -1611,7 +1604,7 @@ function HazoUiMultiSortDialog({
|
|
|
1611
1604
|
onClick: handleCancel,
|
|
1612
1605
|
className: "cls_cancel_btn",
|
|
1613
1606
|
style: cancelButtonStyles,
|
|
1614
|
-
children: "
|
|
1607
|
+
children: t2("sort.cancel")
|
|
1615
1608
|
}
|
|
1616
1609
|
),
|
|
1617
1610
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1621,7 +1614,7 @@ function HazoUiMultiSortDialog({
|
|
|
1621
1614
|
onClick: handleApply,
|
|
1622
1615
|
className: "cls_apply_btn",
|
|
1623
1616
|
style: submitButtonStyles,
|
|
1624
|
-
children: "
|
|
1617
|
+
children: t2("sort.apply")
|
|
1625
1618
|
}
|
|
1626
1619
|
)
|
|
1627
1620
|
] })
|
|
@@ -2040,6 +2033,7 @@ var TabsContent = React27__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
2040
2033
|
}
|
|
2041
2034
|
));
|
|
2042
2035
|
TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
|
|
2036
|
+
var t3 = i18n.createPackageT("hazo_ui", en_default);
|
|
2043
2037
|
function isLucideValue(value) {
|
|
2044
2038
|
return value.startsWith("lucide:");
|
|
2045
2039
|
}
|
|
@@ -2305,7 +2299,7 @@ function HazoUiIconPicker({
|
|
|
2305
2299
|
type: "text",
|
|
2306
2300
|
value: search,
|
|
2307
2301
|
onChange: (e) => set_search(e.target.value),
|
|
2308
|
-
placeholder: "
|
|
2302
|
+
placeholder: t3("icon_picker.search_placeholder"),
|
|
2309
2303
|
className: cn(
|
|
2310
2304
|
"cls_hazo_ui_icon_picker_search",
|
|
2311
2305
|
"mb-2 flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm",
|
|
@@ -3751,10 +3745,10 @@ var BLOCK_TYPE_LABEL_KEYS = {
|
|
|
3751
3745
|
"code-block": "rte.block_type.code_block",
|
|
3752
3746
|
blockquote: "rte.block_type.blockquote"
|
|
3753
3747
|
};
|
|
3754
|
-
function get_translated_block_types(
|
|
3748
|
+
function get_translated_block_types(t14) {
|
|
3755
3749
|
return BLOCK_TYPES.map((type) => ({
|
|
3756
3750
|
...type,
|
|
3757
|
-
label:
|
|
3751
|
+
label: t14(BLOCK_TYPE_LABEL_KEYS[type.value])
|
|
3758
3752
|
}));
|
|
3759
3753
|
}
|
|
3760
3754
|
|
|
@@ -3801,7 +3795,7 @@ function get_file_extension(filename) {
|
|
|
3801
3795
|
function is_image_file(mime_type) {
|
|
3802
3796
|
return mime_type.startsWith("image/");
|
|
3803
3797
|
}
|
|
3804
|
-
var
|
|
3798
|
+
var t4 = i18n.createPackageT("hazo_ui", en_default);
|
|
3805
3799
|
var ALL_ON = {
|
|
3806
3800
|
undo_redo: true,
|
|
3807
3801
|
block_type: true,
|
|
@@ -3856,7 +3850,7 @@ var Toolbar = ({
|
|
|
3856
3850
|
}
|
|
3857
3851
|
const tb = { ...ALL_ON, ...toolbar };
|
|
3858
3852
|
const font_family_options = font_families && font_families.length > 0 ? font_families : FONT_FAMILIES;
|
|
3859
|
-
const block_type_options = get_translated_block_types(
|
|
3853
|
+
const block_type_options = get_translated_block_types(t4);
|
|
3860
3854
|
const get_current_font_size = () => {
|
|
3861
3855
|
const attrs = editor.getAttributes("textStyle");
|
|
3862
3856
|
return attrs.fontSize || FONT_SIZE_CONFIG.default;
|
|
@@ -4000,7 +3994,7 @@ var Toolbar = ({
|
|
|
4000
3994
|
{
|
|
4001
3995
|
onClick: () => editor.chain().focus().undo().run(),
|
|
4002
3996
|
disabled: !editor.can().undo(),
|
|
4003
|
-
tooltip:
|
|
3997
|
+
tooltip: t4("rte.undo"),
|
|
4004
3998
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuUndo2, { className: "h-4 w-4" })
|
|
4005
3999
|
},
|
|
4006
4000
|
"undo"
|
|
@@ -4010,7 +4004,7 @@ var Toolbar = ({
|
|
|
4010
4004
|
{
|
|
4011
4005
|
onClick: () => editor.chain().focus().redo().run(),
|
|
4012
4006
|
disabled: !editor.can().redo(),
|
|
4013
|
-
tooltip:
|
|
4007
|
+
tooltip: t4("rte.redo"),
|
|
4014
4008
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuRedo2, { className: "h-4 w-4" })
|
|
4015
4009
|
},
|
|
4016
4010
|
"redo"
|
|
@@ -4051,7 +4045,7 @@ var Toolbar = ({
|
|
|
4051
4045
|
ToolbarButton,
|
|
4052
4046
|
{
|
|
4053
4047
|
onClick: () => handle_font_size_change(-2),
|
|
4054
|
-
tooltip:
|
|
4048
|
+
tooltip: t4("rte.decrease_font_size"),
|
|
4055
4049
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuMinus, { className: "h-3 w-3" })
|
|
4056
4050
|
}
|
|
4057
4051
|
),
|
|
@@ -4060,7 +4054,7 @@ var Toolbar = ({
|
|
|
4060
4054
|
ToolbarButton,
|
|
4061
4055
|
{
|
|
4062
4056
|
onClick: () => handle_font_size_change(FONT_SIZE_CONFIG.step),
|
|
4063
|
-
tooltip:
|
|
4057
|
+
tooltip: t4("rte.increase_font_size"),
|
|
4064
4058
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuPlus, { className: "h-3 w-3" })
|
|
4065
4059
|
}
|
|
4066
4060
|
)
|
|
@@ -4078,7 +4072,7 @@ var Toolbar = ({
|
|
|
4078
4072
|
{
|
|
4079
4073
|
onClick: () => editor.chain().focus().toggleBold().run(),
|
|
4080
4074
|
is_active: editor.isActive("bold"),
|
|
4081
|
-
tooltip:
|
|
4075
|
+
tooltip: t4("rte.bold"),
|
|
4082
4076
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuBold, { className: "h-4 w-4" })
|
|
4083
4077
|
},
|
|
4084
4078
|
"bold"
|
|
@@ -4092,7 +4086,7 @@ var Toolbar = ({
|
|
|
4092
4086
|
{
|
|
4093
4087
|
onClick: () => editor.chain().focus().toggleItalic().run(),
|
|
4094
4088
|
is_active: editor.isActive("italic"),
|
|
4095
|
-
tooltip:
|
|
4089
|
+
tooltip: t4("rte.italic"),
|
|
4096
4090
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuItalic, { className: "h-4 w-4" })
|
|
4097
4091
|
},
|
|
4098
4092
|
"italic"
|
|
@@ -4106,7 +4100,7 @@ var Toolbar = ({
|
|
|
4106
4100
|
{
|
|
4107
4101
|
onClick: () => editor.chain().focus().toggleUnderline().run(),
|
|
4108
4102
|
is_active: editor.isActive("underline"),
|
|
4109
|
-
tooltip:
|
|
4103
|
+
tooltip: t4("rte.underline"),
|
|
4110
4104
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuUnderline, { className: "h-4 w-4" })
|
|
4111
4105
|
},
|
|
4112
4106
|
"underline"
|
|
@@ -4120,7 +4114,7 @@ var Toolbar = ({
|
|
|
4120
4114
|
{
|
|
4121
4115
|
onClick: () => editor.chain().focus().toggleStrike().run(),
|
|
4122
4116
|
is_active: editor.isActive("strike"),
|
|
4123
|
-
tooltip:
|
|
4117
|
+
tooltip: t4("rte.strikethrough"),
|
|
4124
4118
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuStrikethrough, { className: "h-4 w-4" })
|
|
4125
4119
|
},
|
|
4126
4120
|
"strike"
|
|
@@ -4134,7 +4128,7 @@ var Toolbar = ({
|
|
|
4134
4128
|
{
|
|
4135
4129
|
onClick: () => editor.chain().focus().toggleSubscript().run(),
|
|
4136
4130
|
is_active: editor.isActive("subscript"),
|
|
4137
|
-
tooltip:
|
|
4131
|
+
tooltip: t4("rte.subscript"),
|
|
4138
4132
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuSubscript, { className: "h-4 w-4" })
|
|
4139
4133
|
},
|
|
4140
4134
|
"sub"
|
|
@@ -4148,7 +4142,7 @@ var Toolbar = ({
|
|
|
4148
4142
|
{
|
|
4149
4143
|
onClick: () => editor.chain().focus().toggleSuperscript().run(),
|
|
4150
4144
|
is_active: editor.isActive("superscript"),
|
|
4151
|
-
tooltip:
|
|
4145
|
+
tooltip: t4("rte.superscript"),
|
|
4152
4146
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuSuperscript, { className: "h-4 w-4" })
|
|
4153
4147
|
},
|
|
4154
4148
|
"super"
|
|
@@ -4162,7 +4156,7 @@ var Toolbar = ({
|
|
|
4162
4156
|
if (tb.link) {
|
|
4163
4157
|
items.push(
|
|
4164
4158
|
/* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: link_popover_open, onOpenChange: set_link_popover_open, children: [
|
|
4165
|
-
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { is_active: editor.isActive("link"), tooltip:
|
|
4159
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { is_active: editor.isActive("link"), tooltip: t4("rte.link"), children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuLink, { className: "h-4 w-4" }) }) }),
|
|
4166
4160
|
/* @__PURE__ */ jsxRuntime.jsx(PopoverContent, { className: "w-80 p-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
4167
4161
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4168
4162
|
Input,
|
|
@@ -4198,7 +4192,7 @@ var Toolbar = ({
|
|
|
4198
4192
|
ToolbarButton,
|
|
4199
4193
|
{
|
|
4200
4194
|
onClick: () => editor.chain().focus().unsetAllMarks().clearNodes().run(),
|
|
4201
|
-
tooltip:
|
|
4195
|
+
tooltip: t4("rte.clear_formatting"),
|
|
4202
4196
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuRemoveFormatting, { className: "h-4 w-4" })
|
|
4203
4197
|
},
|
|
4204
4198
|
"clear"
|
|
@@ -4212,7 +4206,7 @@ var Toolbar = ({
|
|
|
4212
4206
|
if (tb.text_color) {
|
|
4213
4207
|
items.push(
|
|
4214
4208
|
/* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: text_color_open, onOpenChange: set_text_color_open, children: [
|
|
4215
|
-
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { tooltip:
|
|
4209
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { tooltip: t4("rte.text_color"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
|
|
4216
4210
|
/* @__PURE__ */ jsxRuntime.jsx(lu.LuPalette, { className: "h-4 w-4" }),
|
|
4217
4211
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4218
4212
|
"div",
|
|
@@ -4255,7 +4249,7 @@ var Toolbar = ({
|
|
|
4255
4249
|
if (tb.highlight_color) {
|
|
4256
4250
|
items.push(
|
|
4257
4251
|
/* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: highlight_color_open, onOpenChange: set_highlight_color_open, children: [
|
|
4258
|
-
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { tooltip:
|
|
4252
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { tooltip: t4("rte.highlight_color"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
|
|
4259
4253
|
/* @__PURE__ */ jsxRuntime.jsx(lu.LuHighlighter, { className: "h-4 w-4" }),
|
|
4260
4254
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4261
4255
|
"div",
|
|
@@ -4298,7 +4292,7 @@ var Toolbar = ({
|
|
|
4298
4292
|
{
|
|
4299
4293
|
onClick: () => editor.chain().focus().setTextAlign("left").run(),
|
|
4300
4294
|
is_active: editor.isActive({ textAlign: "left" }),
|
|
4301
|
-
tooltip:
|
|
4295
|
+
tooltip: t4("rte.align_left"),
|
|
4302
4296
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuAlignLeft, { className: "h-4 w-4" })
|
|
4303
4297
|
},
|
|
4304
4298
|
"align-left"
|
|
@@ -4308,7 +4302,7 @@ var Toolbar = ({
|
|
|
4308
4302
|
{
|
|
4309
4303
|
onClick: () => editor.chain().focus().setTextAlign("center").run(),
|
|
4310
4304
|
is_active: editor.isActive({ textAlign: "center" }),
|
|
4311
|
-
tooltip:
|
|
4305
|
+
tooltip: t4("rte.align_center"),
|
|
4312
4306
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuAlignCenter, { className: "h-4 w-4" })
|
|
4313
4307
|
},
|
|
4314
4308
|
"align-center"
|
|
@@ -4318,7 +4312,7 @@ var Toolbar = ({
|
|
|
4318
4312
|
{
|
|
4319
4313
|
onClick: () => editor.chain().focus().setTextAlign("right").run(),
|
|
4320
4314
|
is_active: editor.isActive({ textAlign: "right" }),
|
|
4321
|
-
tooltip:
|
|
4315
|
+
tooltip: t4("rte.align_right"),
|
|
4322
4316
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuAlignRight, { className: "h-4 w-4" })
|
|
4323
4317
|
},
|
|
4324
4318
|
"align-right"
|
|
@@ -4328,7 +4322,7 @@ var Toolbar = ({
|
|
|
4328
4322
|
{
|
|
4329
4323
|
onClick: () => editor.chain().focus().setTextAlign("justify").run(),
|
|
4330
4324
|
is_active: editor.isActive({ textAlign: "justify" }),
|
|
4331
|
-
tooltip:
|
|
4325
|
+
tooltip: t4("rte.justify"),
|
|
4332
4326
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuAlignJustify, { className: "h-4 w-4" })
|
|
4333
4327
|
},
|
|
4334
4328
|
"align-justify"
|
|
@@ -4344,7 +4338,7 @@ var Toolbar = ({
|
|
|
4344
4338
|
{
|
|
4345
4339
|
onClick: () => editor.chain().focus().toggleBulletList().run(),
|
|
4346
4340
|
is_active: editor.isActive("bulletList"),
|
|
4347
|
-
tooltip:
|
|
4341
|
+
tooltip: t4("rte.bullet_list"),
|
|
4348
4342
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuList, { className: "h-4 w-4" })
|
|
4349
4343
|
},
|
|
4350
4344
|
"bullet"
|
|
@@ -4358,7 +4352,7 @@ var Toolbar = ({
|
|
|
4358
4352
|
{
|
|
4359
4353
|
onClick: () => editor.chain().focus().toggleOrderedList().run(),
|
|
4360
4354
|
is_active: editor.isActive("orderedList"),
|
|
4361
|
-
tooltip:
|
|
4355
|
+
tooltip: t4("rte.ordered_list"),
|
|
4362
4356
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuListOrdered, { className: "h-4 w-4" })
|
|
4363
4357
|
},
|
|
4364
4358
|
"ordered"
|
|
@@ -4372,7 +4366,7 @@ var Toolbar = ({
|
|
|
4372
4366
|
{
|
|
4373
4367
|
onClick: () => editor.chain().focus().toggleTaskList().run(),
|
|
4374
4368
|
is_active: editor.isActive("taskList"),
|
|
4375
|
-
tooltip:
|
|
4369
|
+
tooltip: t4("rte.checklist"),
|
|
4376
4370
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuListChecks, { className: "h-4 w-4" })
|
|
4377
4371
|
},
|
|
4378
4372
|
"task"
|
|
@@ -4394,7 +4388,7 @@ var Toolbar = ({
|
|
|
4394
4388
|
}
|
|
4395
4389
|
},
|
|
4396
4390
|
disabled: !editor.can().liftListItem("listItem") && !editor.can().liftListItem("taskItem"),
|
|
4397
|
-
tooltip:
|
|
4391
|
+
tooltip: t4("rte.decrease_indent"),
|
|
4398
4392
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuIndentDecrease, { className: "h-4 w-4" })
|
|
4399
4393
|
},
|
|
4400
4394
|
"indent-dec"
|
|
@@ -4410,7 +4404,7 @@ var Toolbar = ({
|
|
|
4410
4404
|
}
|
|
4411
4405
|
},
|
|
4412
4406
|
disabled: !editor.can().sinkListItem("listItem") && !editor.can().sinkListItem("taskItem"),
|
|
4413
|
-
tooltip:
|
|
4407
|
+
tooltip: t4("rte.increase_indent"),
|
|
4414
4408
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuIndentIncrease, { className: "h-4 w-4" })
|
|
4415
4409
|
},
|
|
4416
4410
|
"indent-inc"
|
|
@@ -4421,7 +4415,7 @@ var Toolbar = ({
|
|
|
4421
4415
|
const items = [];
|
|
4422
4416
|
if (tb.horizontal_rule) {
|
|
4423
4417
|
items.push(
|
|
4424
|
-
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { onClick: handle_hr_insert, tooltip:
|
|
4418
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { onClick: handle_hr_insert, tooltip: t4("rte.horizontal_rule"), children: /* @__PURE__ */ jsxRuntime.jsx(rx.RxDividerHorizontal, { className: "h-4 w-4" }) }, "hr")
|
|
4425
4419
|
);
|
|
4426
4420
|
}
|
|
4427
4421
|
if (tb.image) {
|
|
@@ -4430,7 +4424,7 @@ var Toolbar = ({
|
|
|
4430
4424
|
ToolbarButton,
|
|
4431
4425
|
{
|
|
4432
4426
|
onClick: () => image_input_ref.current?.click(),
|
|
4433
|
-
tooltip:
|
|
4427
|
+
tooltip: t4("rte.insert_image"),
|
|
4434
4428
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuImage, { className: "h-4 w-4" })
|
|
4435
4429
|
},
|
|
4436
4430
|
"image"
|
|
@@ -4444,7 +4438,7 @@ var Toolbar = ({
|
|
|
4444
4438
|
ToolbarButton,
|
|
4445
4439
|
{
|
|
4446
4440
|
is_active: editor.isActive("table"),
|
|
4447
|
-
tooltip:
|
|
4441
|
+
tooltip: t4("rte.table"),
|
|
4448
4442
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuTable, { className: "h-4 w-4" })
|
|
4449
4443
|
}
|
|
4450
4444
|
) }),
|
|
@@ -4616,7 +4610,7 @@ var Toolbar = ({
|
|
|
4616
4610
|
if (tb.variables && variables.length > 0) {
|
|
4617
4611
|
items.push(
|
|
4618
4612
|
/* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: variables_menu_open, onOpenChange: set_variables_menu_open, children: [
|
|
4619
|
-
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { tooltip:
|
|
4613
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { tooltip: t4("rte.insert_variable"), children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuVariable, { className: "h-4 w-4" }) }) }),
|
|
4620
4614
|
/* @__PURE__ */ jsxRuntime.jsx(PopoverContent, { className: "w-64 p-0", align: "start", children: /* @__PURE__ */ jsxRuntime.jsxs(Command, { children: [
|
|
4621
4615
|
/* @__PURE__ */ jsxRuntime.jsx(CommandInput, { placeholder: "Search variables...", className: "h-8 text-xs" }),
|
|
4622
4616
|
/* @__PURE__ */ jsxRuntime.jsxs(CommandList, { children: [
|
|
@@ -4645,7 +4639,7 @@ var Toolbar = ({
|
|
|
4645
4639
|
ToolbarButton,
|
|
4646
4640
|
{
|
|
4647
4641
|
onClick: () => file_input_ref.current?.click(),
|
|
4648
|
-
tooltip:
|
|
4642
|
+
tooltip: t4("rte.attach_file"),
|
|
4649
4643
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuPaperclip, { className: "h-4 w-4" })
|
|
4650
4644
|
},
|
|
4651
4645
|
"attach"
|
|
@@ -5166,6 +5160,7 @@ var HazoUiRte = ({
|
|
|
5166
5160
|
);
|
|
5167
5161
|
};
|
|
5168
5162
|
HazoUiRte.displayName = "HazoUiRte";
|
|
5163
|
+
var t5 = i18n.createPackageT("hazo_ui", en_default);
|
|
5169
5164
|
function CanvasTextToolbar({
|
|
5170
5165
|
bold,
|
|
5171
5166
|
italic,
|
|
@@ -5196,14 +5191,14 @@ function CanvasTextToolbar({
|
|
|
5196
5191
|
),
|
|
5197
5192
|
style,
|
|
5198
5193
|
children: [
|
|
5199
|
-
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { is_active: bold, onClick: onBold, tooltip: "
|
|
5200
|
-
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { is_active: italic, onClick: onItalic, tooltip: "
|
|
5194
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { is_active: bold, onClick: onBold, tooltip: t5("canvas_toolbar.bold"), children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuBold, { className: "h-4 w-4" }) }),
|
|
5195
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { is_active: italic, onClick: onItalic, tooltip: t5("canvas_toolbar.italic"), children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuItalic, { className: "h-4 w-4" }) }),
|
|
5201
5196
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5202
5197
|
ToolbarButton,
|
|
5203
5198
|
{
|
|
5204
5199
|
is_active: underline,
|
|
5205
5200
|
onClick: onUnderline,
|
|
5206
|
-
tooltip: "
|
|
5201
|
+
tooltip: t5("canvas_toolbar.underline"),
|
|
5207
5202
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuUnderline, { className: "h-4 w-4" })
|
|
5208
5203
|
}
|
|
5209
5204
|
),
|
|
@@ -5213,7 +5208,7 @@ function CanvasTextToolbar({
|
|
|
5213
5208
|
{
|
|
5214
5209
|
is_active: align === "left",
|
|
5215
5210
|
onClick: () => onAlign?.("left"),
|
|
5216
|
-
tooltip: "
|
|
5211
|
+
tooltip: t5("canvas_toolbar.align_left"),
|
|
5217
5212
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuAlignLeft, { className: "h-4 w-4" })
|
|
5218
5213
|
}
|
|
5219
5214
|
),
|
|
@@ -5222,7 +5217,7 @@ function CanvasTextToolbar({
|
|
|
5222
5217
|
{
|
|
5223
5218
|
is_active: align === "center",
|
|
5224
5219
|
onClick: () => onAlign?.("center"),
|
|
5225
|
-
tooltip: "
|
|
5220
|
+
tooltip: t5("canvas_toolbar.align_center"),
|
|
5226
5221
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuAlignCenter, { className: "h-4 w-4" })
|
|
5227
5222
|
}
|
|
5228
5223
|
),
|
|
@@ -5231,7 +5226,7 @@ function CanvasTextToolbar({
|
|
|
5231
5226
|
{
|
|
5232
5227
|
is_active: align === "right",
|
|
5233
5228
|
onClick: () => onAlign?.("right"),
|
|
5234
|
-
tooltip: "
|
|
5229
|
+
tooltip: t5("canvas_toolbar.align_right"),
|
|
5235
5230
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuAlignRight, { className: "h-4 w-4" })
|
|
5236
5231
|
}
|
|
5237
5232
|
),
|
|
@@ -5240,7 +5235,7 @@ function CanvasTextToolbar({
|
|
|
5240
5235
|
"label",
|
|
5241
5236
|
{
|
|
5242
5237
|
className: "relative flex h-8 w-8 cursor-pointer items-center justify-center rounded-md hover:bg-accent",
|
|
5243
|
-
title: "
|
|
5238
|
+
title: t5("canvas_toolbar.text_color"),
|
|
5244
5239
|
children: [
|
|
5245
5240
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
|
|
5246
5241
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold text-muted-foreground", children: "A" }),
|
|
@@ -5270,7 +5265,7 @@ function CanvasTextToolbar({
|
|
|
5270
5265
|
{
|
|
5271
5266
|
is_active: verticalAlign === "top",
|
|
5272
5267
|
onClick: () => onVerticalAlign?.("top"),
|
|
5273
|
-
tooltip: "
|
|
5268
|
+
tooltip: t5("canvas_toolbar.align_top"),
|
|
5274
5269
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuAlignVerticalJustifyStart, { className: "h-4 w-4" })
|
|
5275
5270
|
}
|
|
5276
5271
|
),
|
|
@@ -5279,7 +5274,7 @@ function CanvasTextToolbar({
|
|
|
5279
5274
|
{
|
|
5280
5275
|
is_active: verticalAlign === "middle",
|
|
5281
5276
|
onClick: () => onVerticalAlign?.("middle"),
|
|
5282
|
-
tooltip: "
|
|
5277
|
+
tooltip: t5("canvas_toolbar.align_middle"),
|
|
5283
5278
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuAlignVerticalJustifyCenter, { className: "h-4 w-4" })
|
|
5284
5279
|
}
|
|
5285
5280
|
),
|
|
@@ -5288,7 +5283,7 @@ function CanvasTextToolbar({
|
|
|
5288
5283
|
{
|
|
5289
5284
|
is_active: verticalAlign === "bottom",
|
|
5290
5285
|
onClick: () => onVerticalAlign?.("bottom"),
|
|
5291
|
-
tooltip: "
|
|
5286
|
+
tooltip: t5("canvas_toolbar.align_bottom"),
|
|
5292
5287
|
children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuAlignVerticalJustifyEnd, { className: "h-4 w-4" })
|
|
5293
5288
|
}
|
|
5294
5289
|
),
|
|
@@ -5299,7 +5294,7 @@ function CanvasTextToolbar({
|
|
|
5299
5294
|
value: font,
|
|
5300
5295
|
onChange: (e) => onFont?.(e.target.value),
|
|
5301
5296
|
className: "h-8 text-xs rounded-md border border-border bg-background px-1 text-foreground focus:outline-none",
|
|
5302
|
-
title: "
|
|
5297
|
+
title: t5("canvas_toolbar.font_family"),
|
|
5303
5298
|
children: [
|
|
5304
5299
|
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "sans-serif", children: "Sans" }),
|
|
5305
5300
|
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "serif", children: "Serif" }),
|
|
@@ -5311,7 +5306,7 @@ function CanvasTextToolbar({
|
|
|
5311
5306
|
}
|
|
5312
5307
|
),
|
|
5313
5308
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-1 h-6 w-px bg-border" }),
|
|
5314
|
-
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { is_active: bullet, onClick: onBullet, tooltip: "
|
|
5309
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToolbarButton, { is_active: bullet, onClick: onBullet, tooltip: t5("canvas_toolbar.bullet_list"), children: /* @__PURE__ */ jsxRuntime.jsx(lu.LuList, { className: "h-4 w-4" }) })
|
|
5315
5310
|
]
|
|
5316
5311
|
}
|
|
5317
5312
|
) });
|
|
@@ -7689,6 +7684,7 @@ function HazoUiDialog({
|
|
|
7689
7684
|
)
|
|
7690
7685
|
] }) });
|
|
7691
7686
|
}
|
|
7687
|
+
var t6 = i18n.createPackageT("hazo_ui", en_default);
|
|
7692
7688
|
function HazoUiConfirmDialog({
|
|
7693
7689
|
open,
|
|
7694
7690
|
onOpenChange,
|
|
@@ -7697,7 +7693,7 @@ function HazoUiConfirmDialog({
|
|
|
7697
7693
|
children,
|
|
7698
7694
|
variant = "default",
|
|
7699
7695
|
confirmLabel,
|
|
7700
|
-
cancelLabel = "
|
|
7696
|
+
cancelLabel = t6("confirm.cancel"),
|
|
7701
7697
|
showCancelButton = true,
|
|
7702
7698
|
onConfirm,
|
|
7703
7699
|
onCancel,
|
|
@@ -8602,6 +8598,7 @@ function EmptyState({
|
|
|
8602
8598
|
}
|
|
8603
8599
|
);
|
|
8604
8600
|
}
|
|
8601
|
+
var t7 = i18n.createPackageT("hazo_ui", en_default);
|
|
8605
8602
|
function ErrorBanner({
|
|
8606
8603
|
severity = "error",
|
|
8607
8604
|
title,
|
|
@@ -8636,7 +8633,7 @@ function ErrorBanner({
|
|
|
8636
8633
|
{
|
|
8637
8634
|
type: "button",
|
|
8638
8635
|
onClick: onDismiss,
|
|
8639
|
-
"aria-label": "
|
|
8636
|
+
"aria-label": t7("error.dismiss"),
|
|
8640
8637
|
className: "flex-shrink-0 rounded p-1 hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2 dark:hover:bg-white/5",
|
|
8641
8638
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4", "aria-hidden": "true" })
|
|
8642
8639
|
}
|
|
@@ -8645,8 +8642,9 @@ function ErrorBanner({
|
|
|
8645
8642
|
}
|
|
8646
8643
|
);
|
|
8647
8644
|
}
|
|
8645
|
+
var t8 = i18n.createPackageT("hazo_ui", en_default);
|
|
8648
8646
|
function ErrorPage({
|
|
8649
|
-
title = "
|
|
8647
|
+
title = t8("error.something_went_wrong"),
|
|
8650
8648
|
description,
|
|
8651
8649
|
errorCode,
|
|
8652
8650
|
correlationId,
|
|
@@ -8677,6 +8675,7 @@ function ErrorPage({
|
|
|
8677
8675
|
}
|
|
8678
8676
|
);
|
|
8679
8677
|
}
|
|
8678
|
+
var t9 = i18n.createPackageT("hazo_ui", en_default);
|
|
8680
8679
|
function LoadingTimeout({
|
|
8681
8680
|
active,
|
|
8682
8681
|
children,
|
|
@@ -8686,7 +8685,7 @@ function LoadingTimeout({
|
|
|
8686
8685
|
label = "content",
|
|
8687
8686
|
className
|
|
8688
8687
|
}) {
|
|
8689
|
-
const
|
|
8688
|
+
const timeouts = {
|
|
8690
8689
|
gentle: thresholds?.gentle ?? 5e3,
|
|
8691
8690
|
firm: thresholds?.firm ?? 15e3,
|
|
8692
8691
|
expired: thresholds?.expired ?? 3e4
|
|
@@ -8698,15 +8697,15 @@ function LoadingTimeout({
|
|
|
8698
8697
|
return;
|
|
8699
8698
|
}
|
|
8700
8699
|
setPhase("silent");
|
|
8701
|
-
const gentleTimer = window.setTimeout(() => setPhase("gentle"),
|
|
8702
|
-
const firmTimer = window.setTimeout(() => setPhase("firm"),
|
|
8703
|
-
const expiredTimer = window.setTimeout(() => setPhase("expired"),
|
|
8700
|
+
const gentleTimer = window.setTimeout(() => setPhase("gentle"), timeouts.gentle);
|
|
8701
|
+
const firmTimer = window.setTimeout(() => setPhase("firm"), timeouts.firm);
|
|
8702
|
+
const expiredTimer = window.setTimeout(() => setPhase("expired"), timeouts.expired);
|
|
8704
8703
|
return () => {
|
|
8705
8704
|
window.clearTimeout(gentleTimer);
|
|
8706
8705
|
window.clearTimeout(firmTimer);
|
|
8707
8706
|
window.clearTimeout(expiredTimer);
|
|
8708
8707
|
};
|
|
8709
|
-
}, [active,
|
|
8708
|
+
}, [active, timeouts.gentle, timeouts.firm, timeouts.expired]);
|
|
8710
8709
|
if (!active) {
|
|
8711
8710
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
8712
8711
|
}
|
|
@@ -8715,7 +8714,7 @@ function LoadingTimeout({
|
|
|
8715
8714
|
ErrorBanner,
|
|
8716
8715
|
{
|
|
8717
8716
|
severity: "error",
|
|
8718
|
-
title: "
|
|
8717
|
+
title: t9("loading.taking_longer"),
|
|
8719
8718
|
message: `We're still trying to load the ${label}. The connection may be slow.`,
|
|
8720
8719
|
action: onRetry ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
8721
8720
|
"button",
|
|
@@ -8817,6 +8816,7 @@ function NotificationCountBadge({
|
|
|
8817
8816
|
}
|
|
8818
8817
|
);
|
|
8819
8818
|
}
|
|
8819
|
+
var t10 = i18n.createPackageT("hazo_ui", en_default);
|
|
8820
8820
|
function NotificationItem({
|
|
8821
8821
|
isRead,
|
|
8822
8822
|
timestamp,
|
|
@@ -8847,7 +8847,7 @@ function NotificationItem({
|
|
|
8847
8847
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "cls_notification_item_dot_col flex-shrink-0 pt-1.5", children: !isRead ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
8848
8848
|
"span",
|
|
8849
8849
|
{
|
|
8850
|
-
"aria-label": "
|
|
8850
|
+
"aria-label": t10("notification.unread"),
|
|
8851
8851
|
className: "cls_notification_item_dot block w-2 h-2 rounded-full bg-primary"
|
|
8852
8852
|
}
|
|
8853
8853
|
) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block w-2 h-2", "aria-hidden": "true" }) }),
|
|
@@ -8871,12 +8871,13 @@ function NotificationItem({
|
|
|
8871
8871
|
}
|
|
8872
8872
|
);
|
|
8873
8873
|
}
|
|
8874
|
+
var t11 = i18n.createPackageT("hazo_ui", en_default);
|
|
8874
8875
|
function LoadingSkeletons() {
|
|
8875
8876
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8876
8877
|
"div",
|
|
8877
8878
|
{
|
|
8878
8879
|
"aria-busy": "true",
|
|
8879
|
-
"aria-label": "
|
|
8880
|
+
"aria-label": t11("notification.loading"),
|
|
8880
8881
|
className: "cls_notification_panel_loading space-y-0",
|
|
8881
8882
|
children: [0, 1, 2].map((i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8882
8883
|
"div",
|
|
@@ -8935,6 +8936,7 @@ function NotificationPanel({
|
|
|
8935
8936
|
}
|
|
8936
8937
|
);
|
|
8937
8938
|
}
|
|
8939
|
+
var t12 = i18n.createPackageT("hazo_ui", en_default);
|
|
8938
8940
|
function HazoUiToaster({
|
|
8939
8941
|
position = "bottom-right",
|
|
8940
8942
|
closeButton = true,
|
|
@@ -8980,12 +8982,12 @@ function permissionToast({
|
|
|
8980
8982
|
action,
|
|
8981
8983
|
duration = 5e3
|
|
8982
8984
|
}) {
|
|
8983
|
-
const description = missingPermissions.length === 0 ? "
|
|
8985
|
+
const description = missingPermissions.length === 0 ? t12("toast.permission_denied_message") : `Missing: ${missingPermissions.map((key) => {
|
|
8984
8986
|
const label = descriptions?.[key];
|
|
8985
8987
|
return label ? `\`${key}\` \u2014 ${label}` : `\`${key}\``;
|
|
8986
8988
|
}).join("; ")}`;
|
|
8987
8989
|
return errorToast({
|
|
8988
|
-
title: "
|
|
8990
|
+
title: t12("toast.permission_required"),
|
|
8989
8991
|
description,
|
|
8990
8992
|
action,
|
|
8991
8993
|
duration
|
|
@@ -9180,41 +9182,55 @@ function useWakeLock() {
|
|
|
9180
9182
|
}
|
|
9181
9183
|
function useFullscreen(elementRef) {
|
|
9182
9184
|
const [is_fullscreen, set_is_fullscreen] = React27.useState(false);
|
|
9185
|
+
const supported = typeof document !== "undefined" && typeof document.documentElement.requestFullscreen === "function";
|
|
9183
9186
|
React27.useEffect(() => {
|
|
9184
|
-
if (typeof document === "undefined") return;
|
|
9187
|
+
if (typeof document === "undefined" || !supported) return;
|
|
9185
9188
|
const handle_change = () => {
|
|
9186
9189
|
set_is_fullscreen(!!document.fullscreenElement);
|
|
9187
9190
|
};
|
|
9188
9191
|
document.addEventListener("fullscreenchange", handle_change);
|
|
9189
9192
|
set_is_fullscreen(!!document.fullscreenElement);
|
|
9190
9193
|
return () => document.removeEventListener("fullscreenchange", handle_change);
|
|
9191
|
-
}, []);
|
|
9194
|
+
}, [supported]);
|
|
9192
9195
|
const get_target = React27.useCallback(() => {
|
|
9193
9196
|
return elementRef?.current ?? document.documentElement;
|
|
9194
9197
|
}, [elementRef]);
|
|
9195
9198
|
const enter = React27.useCallback(async () => {
|
|
9196
|
-
if (typeof document === "undefined"
|
|
9199
|
+
if (typeof document === "undefined") return;
|
|
9200
|
+
if (!supported) {
|
|
9201
|
+
set_is_fullscreen(true);
|
|
9202
|
+
return;
|
|
9203
|
+
}
|
|
9197
9204
|
if (document.fullscreenElement) return;
|
|
9198
9205
|
try {
|
|
9199
9206
|
await get_target().requestFullscreen();
|
|
9200
9207
|
} catch {
|
|
9201
9208
|
}
|
|
9202
|
-
}, [get_target]);
|
|
9209
|
+
}, [supported, get_target]);
|
|
9203
9210
|
const exit = React27.useCallback(async () => {
|
|
9204
9211
|
if (typeof document === "undefined") return;
|
|
9212
|
+
if (!supported) {
|
|
9213
|
+
set_is_fullscreen(false);
|
|
9214
|
+
return;
|
|
9215
|
+
}
|
|
9205
9216
|
if (!document.fullscreenElement) return;
|
|
9206
9217
|
try {
|
|
9207
9218
|
await document.exitFullscreen();
|
|
9208
9219
|
} catch {
|
|
9209
9220
|
}
|
|
9210
|
-
}, []);
|
|
9221
|
+
}, [supported]);
|
|
9211
9222
|
const toggle = React27.useCallback(async () => {
|
|
9223
|
+
if (!supported) {
|
|
9224
|
+
if (is_fullscreen) await exit();
|
|
9225
|
+
else await enter();
|
|
9226
|
+
return;
|
|
9227
|
+
}
|
|
9212
9228
|
if (document.fullscreenElement) {
|
|
9213
9229
|
await exit();
|
|
9214
9230
|
} else {
|
|
9215
9231
|
await enter();
|
|
9216
9232
|
}
|
|
9217
|
-
}, [enter, exit]);
|
|
9233
|
+
}, [supported, is_fullscreen, enter, exit]);
|
|
9218
9234
|
return { isFullscreen: is_fullscreen, enter, exit, toggle };
|
|
9219
9235
|
}
|
|
9220
9236
|
function use_wake_lock(active) {
|
|
@@ -10834,7 +10850,7 @@ function serializeFilter(filter) {
|
|
|
10834
10850
|
const fields = (filter.fields ?? []).map((f) => `${f.field}:${f.operator ?? ""}:${String(f.value)}`).join(",");
|
|
10835
10851
|
return `${filter.search ?? ""}|${fields}`;
|
|
10836
10852
|
}
|
|
10837
|
-
var
|
|
10853
|
+
var t13 = i18n.createPackageT("hazo_ui", en_default);
|
|
10838
10854
|
function HazoUiTable(props) {
|
|
10839
10855
|
const state = useTableState(props);
|
|
10840
10856
|
const { columns, rows, getRowKey, className, caption } = props;
|
|
@@ -10869,12 +10885,12 @@ function HazoUiTable(props) {
|
|
|
10869
10885
|
) }) : state.serverError != null ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cls_hazo_ui_table_mobile_error py-6", children: renderErrorState(props.error, state.serverError) }) : state.displayed.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cls_hazo_ui_table_mobile_empty py-6", children: noActiveFilters(state.filter) && rows.length === 0 ? typeof props.empty === "string" || props.empty === void 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10870
10886
|
EmptyState,
|
|
10871
10887
|
{
|
|
10872
|
-
title: typeof props.empty === "string" && props.empty ||
|
|
10888
|
+
title: typeof props.empty === "string" && props.empty || t13("table.empty")
|
|
10873
10889
|
}
|
|
10874
10890
|
) : props.empty : typeof props.noResults === "string" || props.noResults === void 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10875
10891
|
EmptyState,
|
|
10876
10892
|
{
|
|
10877
|
-
title: typeof props.noResults === "string" && props.noResults ||
|
|
10893
|
+
title: typeof props.noResults === "string" && props.noResults || t13("table.no_results")
|
|
10878
10894
|
}
|
|
10879
10895
|
) : props.noResults }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
10880
10896
|
TableMobileCards,
|
|
@@ -10897,7 +10913,7 @@ function HazoUiTable(props) {
|
|
|
10897
10913
|
{
|
|
10898
10914
|
type: "button",
|
|
10899
10915
|
onClick: (e) => state.cycleHeaderSort(c.key, e.shiftKey),
|
|
10900
|
-
title:
|
|
10916
|
+
title: t13("table.sort_tooltip"),
|
|
10901
10917
|
className: "cls_hazo_ui_table_sort_btn inline-flex items-center gap-1 hover:text-foreground",
|
|
10902
10918
|
children: [
|
|
10903
10919
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: c.label }),
|
|
@@ -10929,12 +10945,12 @@ function HazoUiTable(props) {
|
|
|
10929
10945
|
children: noActiveFilters(state.filter) && rows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cls_hazo_ui_table_empty_wrap py-6", children: typeof props.empty === "string" || props.empty === void 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10930
10946
|
EmptyState,
|
|
10931
10947
|
{
|
|
10932
|
-
title: typeof props.empty === "string" && props.empty ||
|
|
10948
|
+
title: typeof props.empty === "string" && props.empty || t13("table.empty")
|
|
10933
10949
|
}
|
|
10934
10950
|
) : props.empty }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "cls_hazo_ui_table_no_results_wrap py-6", children: typeof props.noResults === "string" || props.noResults === void 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10935
10951
|
EmptyState,
|
|
10936
10952
|
{
|
|
10937
|
-
title: typeof props.noResults === "string" && props.noResults ||
|
|
10953
|
+
title: typeof props.noResults === "string" && props.noResults || t13("table.no_results")
|
|
10938
10954
|
}
|
|
10939
10955
|
) : props.noResults })
|
|
10940
10956
|
}
|
|
@@ -10973,7 +10989,7 @@ function renderCell(c, row, i) {
|
|
|
10973
10989
|
var DEFAULT_NUMBER_LOCALE = "en-US";
|
|
10974
10990
|
function formatValue(value, formatter, currency, locale) {
|
|
10975
10991
|
if (value === null || value === void 0 || value === "") return "\u2014";
|
|
10976
|
-
const lc = locale ?? resolvePackageLocale(DEFAULT_NUMBER_LOCALE);
|
|
10992
|
+
const lc = locale ?? i18n.resolvePackageLocale(DEFAULT_NUMBER_LOCALE);
|
|
10977
10993
|
switch (formatter) {
|
|
10978
10994
|
case "date": {
|
|
10979
10995
|
const d = value instanceof Date ? value : new Date(value);
|
|
@@ -11048,7 +11064,7 @@ function PaginationFooter({
|
|
|
11048
11064
|
const end = Math.min((page + 1) * pageSize, total);
|
|
11049
11065
|
const lastPage = Math.max(0, Math.ceil(total / pageSize) - 1);
|
|
11050
11066
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "cls_hazo_ui_table_pagination flex items-center justify-between gap-3 pt-2 text-sm", children: [
|
|
11051
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cls_hazo_ui_table_page_counter text-muted-foreground", children:
|
|
11067
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "cls_hazo_ui_table_page_counter text-muted-foreground", children: t13("table.showing", {
|
|
11052
11068
|
start: String(start),
|
|
11053
11069
|
end: String(end),
|
|
11054
11070
|
total: String(total)
|
|
@@ -11061,8 +11077,8 @@ function PaginationFooter({
|
|
|
11061
11077
|
size: "sm",
|
|
11062
11078
|
onClick: () => onPageChange(Math.max(0, page - 1)),
|
|
11063
11079
|
disabled: page === 0,
|
|
11064
|
-
"aria-label":
|
|
11065
|
-
children:
|
|
11080
|
+
"aria-label": t13("table.prev_aria"),
|
|
11081
|
+
children: t13("table.prev")
|
|
11066
11082
|
}
|
|
11067
11083
|
),
|
|
11068
11084
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -11072,8 +11088,8 @@ function PaginationFooter({
|
|
|
11072
11088
|
size: "sm",
|
|
11073
11089
|
onClick: () => onPageChange(Math.min(lastPage, page + 1)),
|
|
11074
11090
|
disabled: page >= lastPage,
|
|
11075
|
-
"aria-label":
|
|
11076
|
-
children:
|
|
11091
|
+
"aria-label": t13("table.next_aria"),
|
|
11092
|
+
children: t13("table.next")
|
|
11077
11093
|
}
|
|
11078
11094
|
)
|
|
11079
11095
|
] })
|
|
@@ -11117,7 +11133,7 @@ function Toolbar2(props) {
|
|
|
11117
11133
|
setSearchValue(v);
|
|
11118
11134
|
onSearchChange(v);
|
|
11119
11135
|
},
|
|
11120
|
-
placeholder: searchPlaceholder ??
|
|
11136
|
+
placeholder: searchPlaceholder ?? t13("table.search_placeholder"),
|
|
11121
11137
|
className: "cls_hazo_ui_table_search w-full sm:max-w-xs"
|
|
11122
11138
|
}
|
|
11123
11139
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", {}),
|
|
@@ -11165,8 +11181,8 @@ function renderErrorState(error, serverError) {
|
|
|
11165
11181
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11166
11182
|
EmptyState,
|
|
11167
11183
|
{
|
|
11168
|
-
title:
|
|
11169
|
-
description: msg ||
|
|
11184
|
+
title: t13("table.error_title"),
|
|
11185
|
+
description: msg || t13("table.error_description")
|
|
11170
11186
|
}
|
|
11171
11187
|
);
|
|
11172
11188
|
}
|
|
@@ -11952,8 +11968,8 @@ function computeEta(durationWindow, unitCount, concurrency = 1, fallbackUnitMs =
|
|
|
11952
11968
|
}
|
|
11953
11969
|
function easeToward(elapsed, eta, maxCap = 0.95) {
|
|
11954
11970
|
if (eta <= 0 || elapsed <= 0) return 0;
|
|
11955
|
-
const
|
|
11956
|
-
return maxCap * (1 - Math.exp(-1.5 *
|
|
11971
|
+
const t14 = elapsed / eta;
|
|
11972
|
+
return maxCap * (1 - Math.exp(-1.5 * t14));
|
|
11957
11973
|
}
|
|
11958
11974
|
function HazoUiProgressBar({
|
|
11959
11975
|
value,
|
|
@@ -11984,7 +12000,7 @@ function HazoUiProgressBar({
|
|
|
11984
12000
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11985
12001
|
"div",
|
|
11986
12002
|
{
|
|
11987
|
-
className: "h-full rounded-full bg-
|
|
12003
|
+
className: "h-full rounded-full bg-primary transition-[width] duration-200 ease-out motion-reduce:transition-none",
|
|
11988
12004
|
style: { width: `${pct}%` }
|
|
11989
12005
|
}
|
|
11990
12006
|
)
|
|
@@ -12071,6 +12087,8 @@ function HazoUiEtaProgress({
|
|
|
12071
12087
|
fallbackUnitMs = 5e3,
|
|
12072
12088
|
level = "global",
|
|
12073
12089
|
label,
|
|
12090
|
+
showPercent,
|
|
12091
|
+
size,
|
|
12074
12092
|
endpoint,
|
|
12075
12093
|
handleRef,
|
|
12076
12094
|
className
|
|
@@ -12105,6 +12123,8 @@ function HazoUiEtaProgress({
|
|
|
12105
12123
|
{
|
|
12106
12124
|
value: handle.value,
|
|
12107
12125
|
label,
|
|
12126
|
+
showPercent,
|
|
12127
|
+
size,
|
|
12108
12128
|
className
|
|
12109
12129
|
}
|
|
12110
12130
|
);
|