@almadar/ui 5.147.0 → 5.148.0
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/dist/avl/index.cjs +97 -2
- package/dist/avl/index.js +97 -2
- package/dist/components/index.cjs +97 -2
- package/dist/components/index.d.cts +9 -3
- package/dist/components/index.d.ts +9 -3
- package/dist/components/index.js +97 -2
- package/dist/providers/index.cjs +97 -2
- package/dist/providers/index.js +97 -2
- package/dist/runtime/index.cjs +97 -2
- package/dist/runtime/index.js +97 -2
- package/package.json +4 -4
package/dist/avl/index.cjs
CHANGED
|
@@ -15328,7 +15328,10 @@ var init_LearningCanvas = __esm({
|
|
|
15328
15328
|
ctx.fillRect(0, 0, width, height);
|
|
15329
15329
|
}
|
|
15330
15330
|
for (const shape of shapes) {
|
|
15331
|
-
drawShape(ctx, shape, width, height);
|
|
15331
|
+
if (shape.type !== "text") drawShape(ctx, shape, width, height);
|
|
15332
|
+
}
|
|
15333
|
+
for (const shape of shapes) {
|
|
15334
|
+
if (shape.type === "text") drawShape(ctx, shape, width, height);
|
|
15332
15335
|
}
|
|
15333
15336
|
}, [width, height, backgroundColor, shapes]);
|
|
15334
15337
|
React94.useEffect(() => {
|
|
@@ -16891,7 +16894,7 @@ var init_AlgorithmCanvas = __esm({
|
|
|
16891
16894
|
DEFAULT_CELL_COLOR = "#e5e7eb";
|
|
16892
16895
|
DEFAULT_POINTER_COLOR = "#dc2626";
|
|
16893
16896
|
POINTER_BAND = 34;
|
|
16894
|
-
TOP_PAD =
|
|
16897
|
+
TOP_PAD = 26;
|
|
16895
16898
|
AlgorithmCanvas = ({
|
|
16896
16899
|
className,
|
|
16897
16900
|
width = 600,
|
|
@@ -27670,6 +27673,7 @@ var init_FilterGroup = __esm({
|
|
|
27670
27673
|
init_Badge();
|
|
27671
27674
|
init_Stack();
|
|
27672
27675
|
init_Icon();
|
|
27676
|
+
init_RangeSlider();
|
|
27673
27677
|
init_useEventBus();
|
|
27674
27678
|
init_useQuerySingleton();
|
|
27675
27679
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
@@ -27864,6 +27868,35 @@ var init_FilterGroup = __esm({
|
|
|
27864
27868
|
onClear: () => handleFilterSelect(`${filter.field}_to`, null)
|
|
27865
27869
|
}
|
|
27866
27870
|
)
|
|
27871
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
27872
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
27873
|
+
RangeSlider,
|
|
27874
|
+
{
|
|
27875
|
+
min: filter.min ?? 0,
|
|
27876
|
+
max: filter.max ?? 100,
|
|
27877
|
+
step: filter.step ?? 1,
|
|
27878
|
+
value: Number(
|
|
27879
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
27880
|
+
),
|
|
27881
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
27882
|
+
showTooltip: true,
|
|
27883
|
+
"aria-label": t("filterGroup.from")
|
|
27884
|
+
}
|
|
27885
|
+
),
|
|
27886
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
27887
|
+
RangeSlider,
|
|
27888
|
+
{
|
|
27889
|
+
min: filter.min ?? 0,
|
|
27890
|
+
max: filter.max ?? 100,
|
|
27891
|
+
step: filter.step ?? 1,
|
|
27892
|
+
value: Number(
|
|
27893
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
27894
|
+
),
|
|
27895
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
27896
|
+
showTooltip: true,
|
|
27897
|
+
"aria-label": t("filterGroup.to")
|
|
27898
|
+
}
|
|
27899
|
+
)
|
|
27867
27900
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
27868
27901
|
Input,
|
|
27869
27902
|
{
|
|
@@ -27946,6 +27979,36 @@ var init_FilterGroup = __esm({
|
|
|
27946
27979
|
className: "text-sm min-w-[100px]"
|
|
27947
27980
|
}
|
|
27948
27981
|
)
|
|
27982
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
27983
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
27984
|
+
RangeSlider,
|
|
27985
|
+
{
|
|
27986
|
+
min: filter.min ?? 0,
|
|
27987
|
+
max: filter.max ?? 100,
|
|
27988
|
+
step: filter.step ?? 1,
|
|
27989
|
+
value: Number(
|
|
27990
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
27991
|
+
),
|
|
27992
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
27993
|
+
className: "min-w-[100px]",
|
|
27994
|
+
"aria-label": t("filterGroup.from")
|
|
27995
|
+
}
|
|
27996
|
+
),
|
|
27997
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
27998
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
27999
|
+
RangeSlider,
|
|
28000
|
+
{
|
|
28001
|
+
min: filter.min ?? 0,
|
|
28002
|
+
max: filter.max ?? 100,
|
|
28003
|
+
step: filter.step ?? 1,
|
|
28004
|
+
value: Number(
|
|
28005
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
28006
|
+
),
|
|
28007
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
28008
|
+
className: "min-w-[100px]",
|
|
28009
|
+
"aria-label": t("filterGroup.to")
|
|
28010
|
+
}
|
|
28011
|
+
)
|
|
27949
28012
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
27950
28013
|
Input,
|
|
27951
28014
|
{
|
|
@@ -28064,6 +28127,38 @@ var init_FilterGroup = __esm({
|
|
|
28064
28127
|
className: "min-w-[130px]"
|
|
28065
28128
|
}
|
|
28066
28129
|
)
|
|
28130
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
28131
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
28132
|
+
RangeSlider,
|
|
28133
|
+
{
|
|
28134
|
+
min: filter.min ?? 0,
|
|
28135
|
+
max: filter.max ?? 100,
|
|
28136
|
+
step: filter.step ?? 1,
|
|
28137
|
+
value: Number(
|
|
28138
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
28139
|
+
),
|
|
28140
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
28141
|
+
showTooltip: true,
|
|
28142
|
+
className: "min-w-[130px]",
|
|
28143
|
+
"aria-label": t("filterGroup.from")
|
|
28144
|
+
}
|
|
28145
|
+
),
|
|
28146
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
28147
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
28148
|
+
RangeSlider,
|
|
28149
|
+
{
|
|
28150
|
+
min: filter.min ?? 0,
|
|
28151
|
+
max: filter.max ?? 100,
|
|
28152
|
+
step: filter.step ?? 1,
|
|
28153
|
+
value: Number(
|
|
28154
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
28155
|
+
),
|
|
28156
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
28157
|
+
showTooltip: true,
|
|
28158
|
+
className: "min-w-[130px]",
|
|
28159
|
+
"aria-label": t("filterGroup.to")
|
|
28160
|
+
}
|
|
28161
|
+
)
|
|
28067
28162
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
28068
28163
|
Input,
|
|
28069
28164
|
{
|
package/dist/avl/index.js
CHANGED
|
@@ -15252,7 +15252,10 @@ var init_LearningCanvas = __esm({
|
|
|
15252
15252
|
ctx.fillRect(0, 0, width, height);
|
|
15253
15253
|
}
|
|
15254
15254
|
for (const shape of shapes) {
|
|
15255
|
-
drawShape(ctx, shape, width, height);
|
|
15255
|
+
if (shape.type !== "text") drawShape(ctx, shape, width, height);
|
|
15256
|
+
}
|
|
15257
|
+
for (const shape of shapes) {
|
|
15258
|
+
if (shape.type === "text") drawShape(ctx, shape, width, height);
|
|
15256
15259
|
}
|
|
15257
15260
|
}, [width, height, backgroundColor, shapes]);
|
|
15258
15261
|
useEffect(() => {
|
|
@@ -16815,7 +16818,7 @@ var init_AlgorithmCanvas = __esm({
|
|
|
16815
16818
|
DEFAULT_CELL_COLOR = "#e5e7eb";
|
|
16816
16819
|
DEFAULT_POINTER_COLOR = "#dc2626";
|
|
16817
16820
|
POINTER_BAND = 34;
|
|
16818
|
-
TOP_PAD =
|
|
16821
|
+
TOP_PAD = 26;
|
|
16819
16822
|
AlgorithmCanvas = ({
|
|
16820
16823
|
className,
|
|
16821
16824
|
width = 600,
|
|
@@ -27594,6 +27597,7 @@ var init_FilterGroup = __esm({
|
|
|
27594
27597
|
init_Badge();
|
|
27595
27598
|
init_Stack();
|
|
27596
27599
|
init_Icon();
|
|
27600
|
+
init_RangeSlider();
|
|
27597
27601
|
init_useEventBus();
|
|
27598
27602
|
init_useQuerySingleton();
|
|
27599
27603
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
@@ -27788,6 +27792,35 @@ var init_FilterGroup = __esm({
|
|
|
27788
27792
|
onClear: () => handleFilterSelect(`${filter.field}_to`, null)
|
|
27789
27793
|
}
|
|
27790
27794
|
)
|
|
27795
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
27796
|
+
/* @__PURE__ */ jsx(
|
|
27797
|
+
RangeSlider,
|
|
27798
|
+
{
|
|
27799
|
+
min: filter.min ?? 0,
|
|
27800
|
+
max: filter.max ?? 100,
|
|
27801
|
+
step: filter.step ?? 1,
|
|
27802
|
+
value: Number(
|
|
27803
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
27804
|
+
),
|
|
27805
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
27806
|
+
showTooltip: true,
|
|
27807
|
+
"aria-label": t("filterGroup.from")
|
|
27808
|
+
}
|
|
27809
|
+
),
|
|
27810
|
+
/* @__PURE__ */ jsx(
|
|
27811
|
+
RangeSlider,
|
|
27812
|
+
{
|
|
27813
|
+
min: filter.min ?? 0,
|
|
27814
|
+
max: filter.max ?? 100,
|
|
27815
|
+
step: filter.step ?? 1,
|
|
27816
|
+
value: Number(
|
|
27817
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
27818
|
+
),
|
|
27819
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
27820
|
+
showTooltip: true,
|
|
27821
|
+
"aria-label": t("filterGroup.to")
|
|
27822
|
+
}
|
|
27823
|
+
)
|
|
27791
27824
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
27792
27825
|
Input,
|
|
27793
27826
|
{
|
|
@@ -27870,6 +27903,36 @@ var init_FilterGroup = __esm({
|
|
|
27870
27903
|
className: "text-sm min-w-[100px]"
|
|
27871
27904
|
}
|
|
27872
27905
|
)
|
|
27906
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
27907
|
+
/* @__PURE__ */ jsx(
|
|
27908
|
+
RangeSlider,
|
|
27909
|
+
{
|
|
27910
|
+
min: filter.min ?? 0,
|
|
27911
|
+
max: filter.max ?? 100,
|
|
27912
|
+
step: filter.step ?? 1,
|
|
27913
|
+
value: Number(
|
|
27914
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
27915
|
+
),
|
|
27916
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
27917
|
+
className: "min-w-[100px]",
|
|
27918
|
+
"aria-label": t("filterGroup.from")
|
|
27919
|
+
}
|
|
27920
|
+
),
|
|
27921
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
27922
|
+
/* @__PURE__ */ jsx(
|
|
27923
|
+
RangeSlider,
|
|
27924
|
+
{
|
|
27925
|
+
min: filter.min ?? 0,
|
|
27926
|
+
max: filter.max ?? 100,
|
|
27927
|
+
step: filter.step ?? 1,
|
|
27928
|
+
value: Number(
|
|
27929
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
27930
|
+
),
|
|
27931
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
27932
|
+
className: "min-w-[100px]",
|
|
27933
|
+
"aria-label": t("filterGroup.to")
|
|
27934
|
+
}
|
|
27935
|
+
)
|
|
27873
27936
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
27874
27937
|
Input,
|
|
27875
27938
|
{
|
|
@@ -27988,6 +28051,38 @@ var init_FilterGroup = __esm({
|
|
|
27988
28051
|
className: "min-w-[130px]"
|
|
27989
28052
|
}
|
|
27990
28053
|
)
|
|
28054
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
28055
|
+
/* @__PURE__ */ jsx(
|
|
28056
|
+
RangeSlider,
|
|
28057
|
+
{
|
|
28058
|
+
min: filter.min ?? 0,
|
|
28059
|
+
max: filter.max ?? 100,
|
|
28060
|
+
step: filter.step ?? 1,
|
|
28061
|
+
value: Number(
|
|
28062
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
28063
|
+
),
|
|
28064
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
28065
|
+
showTooltip: true,
|
|
28066
|
+
className: "min-w-[130px]",
|
|
28067
|
+
"aria-label": t("filterGroup.from")
|
|
28068
|
+
}
|
|
28069
|
+
),
|
|
28070
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
28071
|
+
/* @__PURE__ */ jsx(
|
|
28072
|
+
RangeSlider,
|
|
28073
|
+
{
|
|
28074
|
+
min: filter.min ?? 0,
|
|
28075
|
+
max: filter.max ?? 100,
|
|
28076
|
+
step: filter.step ?? 1,
|
|
28077
|
+
value: Number(
|
|
28078
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
28079
|
+
),
|
|
28080
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
28081
|
+
showTooltip: true,
|
|
28082
|
+
className: "min-w-[130px]",
|
|
28083
|
+
"aria-label": t("filterGroup.to")
|
|
28084
|
+
}
|
|
28085
|
+
)
|
|
27991
28086
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
27992
28087
|
Input,
|
|
27993
28088
|
{
|
|
@@ -8690,7 +8690,10 @@ var init_LearningCanvas = __esm({
|
|
|
8690
8690
|
ctx.fillRect(0, 0, width, height);
|
|
8691
8691
|
}
|
|
8692
8692
|
for (const shape of shapes) {
|
|
8693
|
-
drawShape(ctx, shape, width, height);
|
|
8693
|
+
if (shape.type !== "text") drawShape(ctx, shape, width, height);
|
|
8694
|
+
}
|
|
8695
|
+
for (const shape of shapes) {
|
|
8696
|
+
if (shape.type === "text") drawShape(ctx, shape, width, height);
|
|
8694
8697
|
}
|
|
8695
8698
|
}, [width, height, backgroundColor, shapes]);
|
|
8696
8699
|
React77.useEffect(() => {
|
|
@@ -8771,7 +8774,7 @@ var init_AlgorithmCanvas = __esm({
|
|
|
8771
8774
|
DEFAULT_CELL_COLOR = "#e5e7eb";
|
|
8772
8775
|
DEFAULT_POINTER_COLOR = "#dc2626";
|
|
8773
8776
|
POINTER_BAND = 34;
|
|
8774
|
-
TOP_PAD =
|
|
8777
|
+
TOP_PAD = 26;
|
|
8775
8778
|
exports.AlgorithmCanvas = ({
|
|
8776
8779
|
className,
|
|
8777
8780
|
width = 600,
|
|
@@ -23756,6 +23759,7 @@ var init_FilterGroup = __esm({
|
|
|
23756
23759
|
init_Badge();
|
|
23757
23760
|
init_Stack();
|
|
23758
23761
|
init_Icon();
|
|
23762
|
+
init_RangeSlider();
|
|
23759
23763
|
init_useEventBus();
|
|
23760
23764
|
init_useQuerySingleton();
|
|
23761
23765
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
@@ -23950,6 +23954,35 @@ var init_FilterGroup = __esm({
|
|
|
23950
23954
|
onClear: () => handleFilterSelect(`${filter.field}_to`, null)
|
|
23951
23955
|
}
|
|
23952
23956
|
)
|
|
23957
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
23958
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23959
|
+
exports.RangeSlider,
|
|
23960
|
+
{
|
|
23961
|
+
min: filter.min ?? 0,
|
|
23962
|
+
max: filter.max ?? 100,
|
|
23963
|
+
step: filter.step ?? 1,
|
|
23964
|
+
value: Number(
|
|
23965
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
23966
|
+
),
|
|
23967
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
23968
|
+
showTooltip: true,
|
|
23969
|
+
"aria-label": t("filterGroup.from")
|
|
23970
|
+
}
|
|
23971
|
+
),
|
|
23972
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23973
|
+
exports.RangeSlider,
|
|
23974
|
+
{
|
|
23975
|
+
min: filter.min ?? 0,
|
|
23976
|
+
max: filter.max ?? 100,
|
|
23977
|
+
step: filter.step ?? 1,
|
|
23978
|
+
value: Number(
|
|
23979
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
23980
|
+
),
|
|
23981
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
23982
|
+
showTooltip: true,
|
|
23983
|
+
"aria-label": t("filterGroup.to")
|
|
23984
|
+
}
|
|
23985
|
+
)
|
|
23953
23986
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
23954
23987
|
exports.Input,
|
|
23955
23988
|
{
|
|
@@ -24032,6 +24065,36 @@ var init_FilterGroup = __esm({
|
|
|
24032
24065
|
className: "text-sm min-w-[100px]"
|
|
24033
24066
|
}
|
|
24034
24067
|
)
|
|
24068
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "xs", align: "center", children: [
|
|
24069
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24070
|
+
exports.RangeSlider,
|
|
24071
|
+
{
|
|
24072
|
+
min: filter.min ?? 0,
|
|
24073
|
+
max: filter.max ?? 100,
|
|
24074
|
+
step: filter.step ?? 1,
|
|
24075
|
+
value: Number(
|
|
24076
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
24077
|
+
),
|
|
24078
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
24079
|
+
className: "min-w-[100px]",
|
|
24080
|
+
"aria-label": t("filterGroup.from")
|
|
24081
|
+
}
|
|
24082
|
+
),
|
|
24083
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
24084
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24085
|
+
exports.RangeSlider,
|
|
24086
|
+
{
|
|
24087
|
+
min: filter.min ?? 0,
|
|
24088
|
+
max: filter.max ?? 100,
|
|
24089
|
+
step: filter.step ?? 1,
|
|
24090
|
+
value: Number(
|
|
24091
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
24092
|
+
),
|
|
24093
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
24094
|
+
className: "min-w-[100px]",
|
|
24095
|
+
"aria-label": t("filterGroup.to")
|
|
24096
|
+
}
|
|
24097
|
+
)
|
|
24035
24098
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
24036
24099
|
exports.Input,
|
|
24037
24100
|
{
|
|
@@ -24150,6 +24213,38 @@ var init_FilterGroup = __esm({
|
|
|
24150
24213
|
className: "min-w-[130px]"
|
|
24151
24214
|
}
|
|
24152
24215
|
)
|
|
24216
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "xs", align: "center", children: [
|
|
24217
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24218
|
+
exports.RangeSlider,
|
|
24219
|
+
{
|
|
24220
|
+
min: filter.min ?? 0,
|
|
24221
|
+
max: filter.max ?? 100,
|
|
24222
|
+
step: filter.step ?? 1,
|
|
24223
|
+
value: Number(
|
|
24224
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
24225
|
+
),
|
|
24226
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
24227
|
+
showTooltip: true,
|
|
24228
|
+
className: "min-w-[130px]",
|
|
24229
|
+
"aria-label": t("filterGroup.from")
|
|
24230
|
+
}
|
|
24231
|
+
),
|
|
24232
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
24233
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24234
|
+
exports.RangeSlider,
|
|
24235
|
+
{
|
|
24236
|
+
min: filter.min ?? 0,
|
|
24237
|
+
max: filter.max ?? 100,
|
|
24238
|
+
step: filter.step ?? 1,
|
|
24239
|
+
value: Number(
|
|
24240
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
24241
|
+
),
|
|
24242
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
24243
|
+
showTooltip: true,
|
|
24244
|
+
className: "min-w-[130px]",
|
|
24245
|
+
"aria-label": t("filterGroup.to")
|
|
24246
|
+
}
|
|
24247
|
+
)
|
|
24153
24248
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
24154
24249
|
exports.Input,
|
|
24155
24250
|
{
|
|
@@ -3934,12 +3934,18 @@ type FilterGroupLook = "toolbar" | "chips" | "pills" | "popover-trigger" | "inli
|
|
|
3934
3934
|
interface FilterDefinition {
|
|
3935
3935
|
field: string;
|
|
3936
3936
|
label: string;
|
|
3937
|
-
/** Filter type - 'text' free-text input, 'date' renders a date picker, 'date-range'/'daterange' renders two date pickers */
|
|
3938
|
-
filterType?: "text" | "select" | "toggle" | "checkbox" | "date" | "daterange" | "date-range";
|
|
3937
|
+
/** Filter type - 'text' free-text input, 'date' renders a date picker, 'date-range'/'daterange' renders two date pickers, 'number-range'/'numberrange' renders two range sliders */
|
|
3938
|
+
filterType?: "text" | "select" | "toggle" | "checkbox" | "date" | "daterange" | "date-range" | "numberrange" | "number-range";
|
|
3939
3939
|
/** Alias for filterType (schema compatibility) */
|
|
3940
|
-
type?: "text" | "select" | "toggle" | "checkbox" | "date" | "daterange" | "date-range";
|
|
3940
|
+
type?: "text" | "select" | "toggle" | "checkbox" | "date" | "daterange" | "date-range" | "numberrange" | "number-range";
|
|
3941
3941
|
/** Options for select/toggle filters */
|
|
3942
3942
|
options?: readonly string[];
|
|
3943
|
+
/** Lower bound for numberrange filters */
|
|
3944
|
+
min?: number;
|
|
3945
|
+
/** Upper bound for numberrange filters */
|
|
3946
|
+
max?: number;
|
|
3947
|
+
/** Step increment for numberrange filters */
|
|
3948
|
+
step?: number;
|
|
3943
3949
|
}
|
|
3944
3950
|
/**
|
|
3945
3951
|
* FilterGroup — a panel of filter controls that narrows a collection by field
|
|
@@ -3934,12 +3934,18 @@ type FilterGroupLook = "toolbar" | "chips" | "pills" | "popover-trigger" | "inli
|
|
|
3934
3934
|
interface FilterDefinition {
|
|
3935
3935
|
field: string;
|
|
3936
3936
|
label: string;
|
|
3937
|
-
/** Filter type - 'text' free-text input, 'date' renders a date picker, 'date-range'/'daterange' renders two date pickers */
|
|
3938
|
-
filterType?: "text" | "select" | "toggle" | "checkbox" | "date" | "daterange" | "date-range";
|
|
3937
|
+
/** Filter type - 'text' free-text input, 'date' renders a date picker, 'date-range'/'daterange' renders two date pickers, 'number-range'/'numberrange' renders two range sliders */
|
|
3938
|
+
filterType?: "text" | "select" | "toggle" | "checkbox" | "date" | "daterange" | "date-range" | "numberrange" | "number-range";
|
|
3939
3939
|
/** Alias for filterType (schema compatibility) */
|
|
3940
|
-
type?: "text" | "select" | "toggle" | "checkbox" | "date" | "daterange" | "date-range";
|
|
3940
|
+
type?: "text" | "select" | "toggle" | "checkbox" | "date" | "daterange" | "date-range" | "numberrange" | "number-range";
|
|
3941
3941
|
/** Options for select/toggle filters */
|
|
3942
3942
|
options?: readonly string[];
|
|
3943
|
+
/** Lower bound for numberrange filters */
|
|
3944
|
+
min?: number;
|
|
3945
|
+
/** Upper bound for numberrange filters */
|
|
3946
|
+
max?: number;
|
|
3947
|
+
/** Step increment for numberrange filters */
|
|
3948
|
+
step?: number;
|
|
3943
3949
|
}
|
|
3944
3950
|
/**
|
|
3945
3951
|
* FilterGroup — a panel of filter controls that narrows a collection by field
|
package/dist/components/index.js
CHANGED
|
@@ -8615,7 +8615,10 @@ var init_LearningCanvas = __esm({
|
|
|
8615
8615
|
ctx.fillRect(0, 0, width, height);
|
|
8616
8616
|
}
|
|
8617
8617
|
for (const shape of shapes) {
|
|
8618
|
-
drawShape(ctx, shape, width, height);
|
|
8618
|
+
if (shape.type !== "text") drawShape(ctx, shape, width, height);
|
|
8619
|
+
}
|
|
8620
|
+
for (const shape of shapes) {
|
|
8621
|
+
if (shape.type === "text") drawShape(ctx, shape, width, height);
|
|
8619
8622
|
}
|
|
8620
8623
|
}, [width, height, backgroundColor, shapes]);
|
|
8621
8624
|
useEffect(() => {
|
|
@@ -8696,7 +8699,7 @@ var init_AlgorithmCanvas = __esm({
|
|
|
8696
8699
|
DEFAULT_CELL_COLOR = "#e5e7eb";
|
|
8697
8700
|
DEFAULT_POINTER_COLOR = "#dc2626";
|
|
8698
8701
|
POINTER_BAND = 34;
|
|
8699
|
-
TOP_PAD =
|
|
8702
|
+
TOP_PAD = 26;
|
|
8700
8703
|
AlgorithmCanvas = ({
|
|
8701
8704
|
className,
|
|
8702
8705
|
width = 600,
|
|
@@ -23681,6 +23684,7 @@ var init_FilterGroup = __esm({
|
|
|
23681
23684
|
init_Badge();
|
|
23682
23685
|
init_Stack();
|
|
23683
23686
|
init_Icon();
|
|
23687
|
+
init_RangeSlider();
|
|
23684
23688
|
init_useEventBus();
|
|
23685
23689
|
init_useQuerySingleton();
|
|
23686
23690
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
@@ -23875,6 +23879,35 @@ var init_FilterGroup = __esm({
|
|
|
23875
23879
|
onClear: () => handleFilterSelect(`${filter.field}_to`, null)
|
|
23876
23880
|
}
|
|
23877
23881
|
)
|
|
23882
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
23883
|
+
/* @__PURE__ */ jsx(
|
|
23884
|
+
RangeSlider,
|
|
23885
|
+
{
|
|
23886
|
+
min: filter.min ?? 0,
|
|
23887
|
+
max: filter.max ?? 100,
|
|
23888
|
+
step: filter.step ?? 1,
|
|
23889
|
+
value: Number(
|
|
23890
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
23891
|
+
),
|
|
23892
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
23893
|
+
showTooltip: true,
|
|
23894
|
+
"aria-label": t("filterGroup.from")
|
|
23895
|
+
}
|
|
23896
|
+
),
|
|
23897
|
+
/* @__PURE__ */ jsx(
|
|
23898
|
+
RangeSlider,
|
|
23899
|
+
{
|
|
23900
|
+
min: filter.min ?? 0,
|
|
23901
|
+
max: filter.max ?? 100,
|
|
23902
|
+
step: filter.step ?? 1,
|
|
23903
|
+
value: Number(
|
|
23904
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
23905
|
+
),
|
|
23906
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
23907
|
+
showTooltip: true,
|
|
23908
|
+
"aria-label": t("filterGroup.to")
|
|
23909
|
+
}
|
|
23910
|
+
)
|
|
23878
23911
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
23879
23912
|
Input,
|
|
23880
23913
|
{
|
|
@@ -23957,6 +23990,36 @@ var init_FilterGroup = __esm({
|
|
|
23957
23990
|
className: "text-sm min-w-[100px]"
|
|
23958
23991
|
}
|
|
23959
23992
|
)
|
|
23993
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
23994
|
+
/* @__PURE__ */ jsx(
|
|
23995
|
+
RangeSlider,
|
|
23996
|
+
{
|
|
23997
|
+
min: filter.min ?? 0,
|
|
23998
|
+
max: filter.max ?? 100,
|
|
23999
|
+
step: filter.step ?? 1,
|
|
24000
|
+
value: Number(
|
|
24001
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
24002
|
+
),
|
|
24003
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
24004
|
+
className: "min-w-[100px]",
|
|
24005
|
+
"aria-label": t("filterGroup.from")
|
|
24006
|
+
}
|
|
24007
|
+
),
|
|
24008
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
24009
|
+
/* @__PURE__ */ jsx(
|
|
24010
|
+
RangeSlider,
|
|
24011
|
+
{
|
|
24012
|
+
min: filter.min ?? 0,
|
|
24013
|
+
max: filter.max ?? 100,
|
|
24014
|
+
step: filter.step ?? 1,
|
|
24015
|
+
value: Number(
|
|
24016
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
24017
|
+
),
|
|
24018
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
24019
|
+
className: "min-w-[100px]",
|
|
24020
|
+
"aria-label": t("filterGroup.to")
|
|
24021
|
+
}
|
|
24022
|
+
)
|
|
23960
24023
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
23961
24024
|
Input,
|
|
23962
24025
|
{
|
|
@@ -24075,6 +24138,38 @@ var init_FilterGroup = __esm({
|
|
|
24075
24138
|
className: "min-w-[130px]"
|
|
24076
24139
|
}
|
|
24077
24140
|
)
|
|
24141
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
24142
|
+
/* @__PURE__ */ jsx(
|
|
24143
|
+
RangeSlider,
|
|
24144
|
+
{
|
|
24145
|
+
min: filter.min ?? 0,
|
|
24146
|
+
max: filter.max ?? 100,
|
|
24147
|
+
step: filter.step ?? 1,
|
|
24148
|
+
value: Number(
|
|
24149
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
24150
|
+
),
|
|
24151
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
24152
|
+
showTooltip: true,
|
|
24153
|
+
className: "min-w-[130px]",
|
|
24154
|
+
"aria-label": t("filterGroup.from")
|
|
24155
|
+
}
|
|
24156
|
+
),
|
|
24157
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
24158
|
+
/* @__PURE__ */ jsx(
|
|
24159
|
+
RangeSlider,
|
|
24160
|
+
{
|
|
24161
|
+
min: filter.min ?? 0,
|
|
24162
|
+
max: filter.max ?? 100,
|
|
24163
|
+
step: filter.step ?? 1,
|
|
24164
|
+
value: Number(
|
|
24165
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
24166
|
+
),
|
|
24167
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
24168
|
+
showTooltip: true,
|
|
24169
|
+
className: "min-w-[130px]",
|
|
24170
|
+
"aria-label": t("filterGroup.to")
|
|
24171
|
+
}
|
|
24172
|
+
)
|
|
24078
24173
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
24079
24174
|
Input,
|
|
24080
24175
|
{
|
package/dist/providers/index.cjs
CHANGED
|
@@ -11853,7 +11853,10 @@ var init_LearningCanvas = __esm({
|
|
|
11853
11853
|
ctx.fillRect(0, 0, width, height);
|
|
11854
11854
|
}
|
|
11855
11855
|
for (const shape of shapes) {
|
|
11856
|
-
drawShape(ctx, shape, width, height);
|
|
11856
|
+
if (shape.type !== "text") drawShape(ctx, shape, width, height);
|
|
11857
|
+
}
|
|
11858
|
+
for (const shape of shapes) {
|
|
11859
|
+
if (shape.type === "text") drawShape(ctx, shape, width, height);
|
|
11857
11860
|
}
|
|
11858
11861
|
}, [width, height, backgroundColor, shapes]);
|
|
11859
11862
|
React87.useEffect(() => {
|
|
@@ -13799,7 +13802,7 @@ var init_AlgorithmCanvas = __esm({
|
|
|
13799
13802
|
DEFAULT_CELL_COLOR = "#e5e7eb";
|
|
13800
13803
|
DEFAULT_POINTER_COLOR = "#dc2626";
|
|
13801
13804
|
POINTER_BAND = 34;
|
|
13802
|
-
TOP_PAD =
|
|
13805
|
+
TOP_PAD = 26;
|
|
13803
13806
|
AlgorithmCanvas = ({
|
|
13804
13807
|
className,
|
|
13805
13808
|
width = 600,
|
|
@@ -25405,6 +25408,7 @@ var init_FilterGroup = __esm({
|
|
|
25405
25408
|
init_Badge();
|
|
25406
25409
|
init_Stack();
|
|
25407
25410
|
init_Icon();
|
|
25411
|
+
init_RangeSlider();
|
|
25408
25412
|
init_useEventBus();
|
|
25409
25413
|
init_useQuerySingleton();
|
|
25410
25414
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
@@ -25599,6 +25603,35 @@ var init_FilterGroup = __esm({
|
|
|
25599
25603
|
onClear: () => handleFilterSelect(`${filter.field}_to`, null)
|
|
25600
25604
|
}
|
|
25601
25605
|
)
|
|
25606
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
25607
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25608
|
+
RangeSlider,
|
|
25609
|
+
{
|
|
25610
|
+
min: filter.min ?? 0,
|
|
25611
|
+
max: filter.max ?? 100,
|
|
25612
|
+
step: filter.step ?? 1,
|
|
25613
|
+
value: Number(
|
|
25614
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25615
|
+
),
|
|
25616
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25617
|
+
showTooltip: true,
|
|
25618
|
+
"aria-label": t("filterGroup.from")
|
|
25619
|
+
}
|
|
25620
|
+
),
|
|
25621
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25622
|
+
RangeSlider,
|
|
25623
|
+
{
|
|
25624
|
+
min: filter.min ?? 0,
|
|
25625
|
+
max: filter.max ?? 100,
|
|
25626
|
+
step: filter.step ?? 1,
|
|
25627
|
+
value: Number(
|
|
25628
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25629
|
+
),
|
|
25630
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25631
|
+
showTooltip: true,
|
|
25632
|
+
"aria-label": t("filterGroup.to")
|
|
25633
|
+
}
|
|
25634
|
+
)
|
|
25602
25635
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
25603
25636
|
Input,
|
|
25604
25637
|
{
|
|
@@ -25681,6 +25714,36 @@ var init_FilterGroup = __esm({
|
|
|
25681
25714
|
className: "text-sm min-w-[100px]"
|
|
25682
25715
|
}
|
|
25683
25716
|
)
|
|
25717
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
25718
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25719
|
+
RangeSlider,
|
|
25720
|
+
{
|
|
25721
|
+
min: filter.min ?? 0,
|
|
25722
|
+
max: filter.max ?? 100,
|
|
25723
|
+
step: filter.step ?? 1,
|
|
25724
|
+
value: Number(
|
|
25725
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25726
|
+
),
|
|
25727
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25728
|
+
className: "min-w-[100px]",
|
|
25729
|
+
"aria-label": t("filterGroup.from")
|
|
25730
|
+
}
|
|
25731
|
+
),
|
|
25732
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
25733
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25734
|
+
RangeSlider,
|
|
25735
|
+
{
|
|
25736
|
+
min: filter.min ?? 0,
|
|
25737
|
+
max: filter.max ?? 100,
|
|
25738
|
+
step: filter.step ?? 1,
|
|
25739
|
+
value: Number(
|
|
25740
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25741
|
+
),
|
|
25742
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25743
|
+
className: "min-w-[100px]",
|
|
25744
|
+
"aria-label": t("filterGroup.to")
|
|
25745
|
+
}
|
|
25746
|
+
)
|
|
25684
25747
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
25685
25748
|
Input,
|
|
25686
25749
|
{
|
|
@@ -25799,6 +25862,38 @@ var init_FilterGroup = __esm({
|
|
|
25799
25862
|
className: "min-w-[130px]"
|
|
25800
25863
|
}
|
|
25801
25864
|
)
|
|
25865
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
25866
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25867
|
+
RangeSlider,
|
|
25868
|
+
{
|
|
25869
|
+
min: filter.min ?? 0,
|
|
25870
|
+
max: filter.max ?? 100,
|
|
25871
|
+
step: filter.step ?? 1,
|
|
25872
|
+
value: Number(
|
|
25873
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25874
|
+
),
|
|
25875
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25876
|
+
showTooltip: true,
|
|
25877
|
+
className: "min-w-[130px]",
|
|
25878
|
+
"aria-label": t("filterGroup.from")
|
|
25879
|
+
}
|
|
25880
|
+
),
|
|
25881
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
25882
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25883
|
+
RangeSlider,
|
|
25884
|
+
{
|
|
25885
|
+
min: filter.min ?? 0,
|
|
25886
|
+
max: filter.max ?? 100,
|
|
25887
|
+
step: filter.step ?? 1,
|
|
25888
|
+
value: Number(
|
|
25889
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25890
|
+
),
|
|
25891
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25892
|
+
showTooltip: true,
|
|
25893
|
+
className: "min-w-[130px]",
|
|
25894
|
+
"aria-label": t("filterGroup.to")
|
|
25895
|
+
}
|
|
25896
|
+
)
|
|
25802
25897
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
25803
25898
|
Input,
|
|
25804
25899
|
{
|
package/dist/providers/index.js
CHANGED
|
@@ -11779,7 +11779,10 @@ var init_LearningCanvas = __esm({
|
|
|
11779
11779
|
ctx.fillRect(0, 0, width, height);
|
|
11780
11780
|
}
|
|
11781
11781
|
for (const shape of shapes) {
|
|
11782
|
-
drawShape(ctx, shape, width, height);
|
|
11782
|
+
if (shape.type !== "text") drawShape(ctx, shape, width, height);
|
|
11783
|
+
}
|
|
11784
|
+
for (const shape of shapes) {
|
|
11785
|
+
if (shape.type === "text") drawShape(ctx, shape, width, height);
|
|
11783
11786
|
}
|
|
11784
11787
|
}, [width, height, backgroundColor, shapes]);
|
|
11785
11788
|
useEffect(() => {
|
|
@@ -13725,7 +13728,7 @@ var init_AlgorithmCanvas = __esm({
|
|
|
13725
13728
|
DEFAULT_CELL_COLOR = "#e5e7eb";
|
|
13726
13729
|
DEFAULT_POINTER_COLOR = "#dc2626";
|
|
13727
13730
|
POINTER_BAND = 34;
|
|
13728
|
-
TOP_PAD =
|
|
13731
|
+
TOP_PAD = 26;
|
|
13729
13732
|
AlgorithmCanvas = ({
|
|
13730
13733
|
className,
|
|
13731
13734
|
width = 600,
|
|
@@ -25331,6 +25334,7 @@ var init_FilterGroup = __esm({
|
|
|
25331
25334
|
init_Badge();
|
|
25332
25335
|
init_Stack();
|
|
25333
25336
|
init_Icon();
|
|
25337
|
+
init_RangeSlider();
|
|
25334
25338
|
init_useEventBus();
|
|
25335
25339
|
init_useQuerySingleton();
|
|
25336
25340
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
@@ -25525,6 +25529,35 @@ var init_FilterGroup = __esm({
|
|
|
25525
25529
|
onClear: () => handleFilterSelect(`${filter.field}_to`, null)
|
|
25526
25530
|
}
|
|
25527
25531
|
)
|
|
25532
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
25533
|
+
/* @__PURE__ */ jsx(
|
|
25534
|
+
RangeSlider,
|
|
25535
|
+
{
|
|
25536
|
+
min: filter.min ?? 0,
|
|
25537
|
+
max: filter.max ?? 100,
|
|
25538
|
+
step: filter.step ?? 1,
|
|
25539
|
+
value: Number(
|
|
25540
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25541
|
+
),
|
|
25542
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25543
|
+
showTooltip: true,
|
|
25544
|
+
"aria-label": t("filterGroup.from")
|
|
25545
|
+
}
|
|
25546
|
+
),
|
|
25547
|
+
/* @__PURE__ */ jsx(
|
|
25548
|
+
RangeSlider,
|
|
25549
|
+
{
|
|
25550
|
+
min: filter.min ?? 0,
|
|
25551
|
+
max: filter.max ?? 100,
|
|
25552
|
+
step: filter.step ?? 1,
|
|
25553
|
+
value: Number(
|
|
25554
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25555
|
+
),
|
|
25556
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25557
|
+
showTooltip: true,
|
|
25558
|
+
"aria-label": t("filterGroup.to")
|
|
25559
|
+
}
|
|
25560
|
+
)
|
|
25528
25561
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
25529
25562
|
Input,
|
|
25530
25563
|
{
|
|
@@ -25607,6 +25640,36 @@ var init_FilterGroup = __esm({
|
|
|
25607
25640
|
className: "text-sm min-w-[100px]"
|
|
25608
25641
|
}
|
|
25609
25642
|
)
|
|
25643
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
25644
|
+
/* @__PURE__ */ jsx(
|
|
25645
|
+
RangeSlider,
|
|
25646
|
+
{
|
|
25647
|
+
min: filter.min ?? 0,
|
|
25648
|
+
max: filter.max ?? 100,
|
|
25649
|
+
step: filter.step ?? 1,
|
|
25650
|
+
value: Number(
|
|
25651
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25652
|
+
),
|
|
25653
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25654
|
+
className: "min-w-[100px]",
|
|
25655
|
+
"aria-label": t("filterGroup.from")
|
|
25656
|
+
}
|
|
25657
|
+
),
|
|
25658
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
25659
|
+
/* @__PURE__ */ jsx(
|
|
25660
|
+
RangeSlider,
|
|
25661
|
+
{
|
|
25662
|
+
min: filter.min ?? 0,
|
|
25663
|
+
max: filter.max ?? 100,
|
|
25664
|
+
step: filter.step ?? 1,
|
|
25665
|
+
value: Number(
|
|
25666
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25667
|
+
),
|
|
25668
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25669
|
+
className: "min-w-[100px]",
|
|
25670
|
+
"aria-label": t("filterGroup.to")
|
|
25671
|
+
}
|
|
25672
|
+
)
|
|
25610
25673
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
25611
25674
|
Input,
|
|
25612
25675
|
{
|
|
@@ -25725,6 +25788,38 @@ var init_FilterGroup = __esm({
|
|
|
25725
25788
|
className: "min-w-[130px]"
|
|
25726
25789
|
}
|
|
25727
25790
|
)
|
|
25791
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
25792
|
+
/* @__PURE__ */ jsx(
|
|
25793
|
+
RangeSlider,
|
|
25794
|
+
{
|
|
25795
|
+
min: filter.min ?? 0,
|
|
25796
|
+
max: filter.max ?? 100,
|
|
25797
|
+
step: filter.step ?? 1,
|
|
25798
|
+
value: Number(
|
|
25799
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25800
|
+
),
|
|
25801
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25802
|
+
showTooltip: true,
|
|
25803
|
+
className: "min-w-[130px]",
|
|
25804
|
+
"aria-label": t("filterGroup.from")
|
|
25805
|
+
}
|
|
25806
|
+
),
|
|
25807
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
25808
|
+
/* @__PURE__ */ jsx(
|
|
25809
|
+
RangeSlider,
|
|
25810
|
+
{
|
|
25811
|
+
min: filter.min ?? 0,
|
|
25812
|
+
max: filter.max ?? 100,
|
|
25813
|
+
step: filter.step ?? 1,
|
|
25814
|
+
value: Number(
|
|
25815
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25816
|
+
),
|
|
25817
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25818
|
+
showTooltip: true,
|
|
25819
|
+
className: "min-w-[130px]",
|
|
25820
|
+
"aria-label": t("filterGroup.to")
|
|
25821
|
+
}
|
|
25822
|
+
)
|
|
25728
25823
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
25729
25824
|
Input,
|
|
25730
25825
|
{
|
package/dist/runtime/index.cjs
CHANGED
|
@@ -11940,7 +11940,10 @@ var init_LearningCanvas = __esm({
|
|
|
11940
11940
|
ctx.fillRect(0, 0, width, height);
|
|
11941
11941
|
}
|
|
11942
11942
|
for (const shape of shapes) {
|
|
11943
|
-
drawShape(ctx, shape, width, height);
|
|
11943
|
+
if (shape.type !== "text") drawShape(ctx, shape, width, height);
|
|
11944
|
+
}
|
|
11945
|
+
for (const shape of shapes) {
|
|
11946
|
+
if (shape.type === "text") drawShape(ctx, shape, width, height);
|
|
11944
11947
|
}
|
|
11945
11948
|
}, [width, height, backgroundColor, shapes]);
|
|
11946
11949
|
React85.useEffect(() => {
|
|
@@ -13503,7 +13506,7 @@ var init_AlgorithmCanvas = __esm({
|
|
|
13503
13506
|
DEFAULT_CELL_COLOR = "#e5e7eb";
|
|
13504
13507
|
DEFAULT_POINTER_COLOR = "#dc2626";
|
|
13505
13508
|
POINTER_BAND = 34;
|
|
13506
|
-
TOP_PAD =
|
|
13509
|
+
TOP_PAD = 26;
|
|
13507
13510
|
AlgorithmCanvas = ({
|
|
13508
13511
|
className,
|
|
13509
13512
|
width = 600,
|
|
@@ -24914,6 +24917,7 @@ var init_FilterGroup = __esm({
|
|
|
24914
24917
|
init_Badge();
|
|
24915
24918
|
init_Stack();
|
|
24916
24919
|
init_Icon();
|
|
24920
|
+
init_RangeSlider();
|
|
24917
24921
|
init_useEventBus();
|
|
24918
24922
|
init_useQuerySingleton();
|
|
24919
24923
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
@@ -25108,6 +25112,35 @@ var init_FilterGroup = __esm({
|
|
|
25108
25112
|
onClear: () => handleFilterSelect(`${filter.field}_to`, null)
|
|
25109
25113
|
}
|
|
25110
25114
|
)
|
|
25115
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
25116
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25117
|
+
RangeSlider,
|
|
25118
|
+
{
|
|
25119
|
+
min: filter.min ?? 0,
|
|
25120
|
+
max: filter.max ?? 100,
|
|
25121
|
+
step: filter.step ?? 1,
|
|
25122
|
+
value: Number(
|
|
25123
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25124
|
+
),
|
|
25125
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25126
|
+
showTooltip: true,
|
|
25127
|
+
"aria-label": t("filterGroup.from")
|
|
25128
|
+
}
|
|
25129
|
+
),
|
|
25130
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25131
|
+
RangeSlider,
|
|
25132
|
+
{
|
|
25133
|
+
min: filter.min ?? 0,
|
|
25134
|
+
max: filter.max ?? 100,
|
|
25135
|
+
step: filter.step ?? 1,
|
|
25136
|
+
value: Number(
|
|
25137
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25138
|
+
),
|
|
25139
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25140
|
+
showTooltip: true,
|
|
25141
|
+
"aria-label": t("filterGroup.to")
|
|
25142
|
+
}
|
|
25143
|
+
)
|
|
25111
25144
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
25112
25145
|
Input,
|
|
25113
25146
|
{
|
|
@@ -25190,6 +25223,36 @@ var init_FilterGroup = __esm({
|
|
|
25190
25223
|
className: "text-sm min-w-[100px]"
|
|
25191
25224
|
}
|
|
25192
25225
|
)
|
|
25226
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
25227
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25228
|
+
RangeSlider,
|
|
25229
|
+
{
|
|
25230
|
+
min: filter.min ?? 0,
|
|
25231
|
+
max: filter.max ?? 100,
|
|
25232
|
+
step: filter.step ?? 1,
|
|
25233
|
+
value: Number(
|
|
25234
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25235
|
+
),
|
|
25236
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25237
|
+
className: "min-w-[100px]",
|
|
25238
|
+
"aria-label": t("filterGroup.from")
|
|
25239
|
+
}
|
|
25240
|
+
),
|
|
25241
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
25242
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25243
|
+
RangeSlider,
|
|
25244
|
+
{
|
|
25245
|
+
min: filter.min ?? 0,
|
|
25246
|
+
max: filter.max ?? 100,
|
|
25247
|
+
step: filter.step ?? 1,
|
|
25248
|
+
value: Number(
|
|
25249
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25250
|
+
),
|
|
25251
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25252
|
+
className: "min-w-[100px]",
|
|
25253
|
+
"aria-label": t("filterGroup.to")
|
|
25254
|
+
}
|
|
25255
|
+
)
|
|
25193
25256
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
25194
25257
|
Input,
|
|
25195
25258
|
{
|
|
@@ -25308,6 +25371,38 @@ var init_FilterGroup = __esm({
|
|
|
25308
25371
|
className: "min-w-[130px]"
|
|
25309
25372
|
}
|
|
25310
25373
|
)
|
|
25374
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
25375
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25376
|
+
RangeSlider,
|
|
25377
|
+
{
|
|
25378
|
+
min: filter.min ?? 0,
|
|
25379
|
+
max: filter.max ?? 100,
|
|
25380
|
+
step: filter.step ?? 1,
|
|
25381
|
+
value: Number(
|
|
25382
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25383
|
+
),
|
|
25384
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25385
|
+
showTooltip: true,
|
|
25386
|
+
className: "min-w-[130px]",
|
|
25387
|
+
"aria-label": t("filterGroup.from")
|
|
25388
|
+
}
|
|
25389
|
+
),
|
|
25390
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
25391
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25392
|
+
RangeSlider,
|
|
25393
|
+
{
|
|
25394
|
+
min: filter.min ?? 0,
|
|
25395
|
+
max: filter.max ?? 100,
|
|
25396
|
+
step: filter.step ?? 1,
|
|
25397
|
+
value: Number(
|
|
25398
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25399
|
+
),
|
|
25400
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25401
|
+
showTooltip: true,
|
|
25402
|
+
className: "min-w-[130px]",
|
|
25403
|
+
"aria-label": t("filterGroup.to")
|
|
25404
|
+
}
|
|
25405
|
+
)
|
|
25311
25406
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
25312
25407
|
Input,
|
|
25313
25408
|
{
|
package/dist/runtime/index.js
CHANGED
|
@@ -11866,7 +11866,10 @@ var init_LearningCanvas = __esm({
|
|
|
11866
11866
|
ctx.fillRect(0, 0, width, height);
|
|
11867
11867
|
}
|
|
11868
11868
|
for (const shape of shapes) {
|
|
11869
|
-
drawShape(ctx, shape, width, height);
|
|
11869
|
+
if (shape.type !== "text") drawShape(ctx, shape, width, height);
|
|
11870
|
+
}
|
|
11871
|
+
for (const shape of shapes) {
|
|
11872
|
+
if (shape.type === "text") drawShape(ctx, shape, width, height);
|
|
11870
11873
|
}
|
|
11871
11874
|
}, [width, height, backgroundColor, shapes]);
|
|
11872
11875
|
useEffect(() => {
|
|
@@ -13429,7 +13432,7 @@ var init_AlgorithmCanvas = __esm({
|
|
|
13429
13432
|
DEFAULT_CELL_COLOR = "#e5e7eb";
|
|
13430
13433
|
DEFAULT_POINTER_COLOR = "#dc2626";
|
|
13431
13434
|
POINTER_BAND = 34;
|
|
13432
|
-
TOP_PAD =
|
|
13435
|
+
TOP_PAD = 26;
|
|
13433
13436
|
AlgorithmCanvas = ({
|
|
13434
13437
|
className,
|
|
13435
13438
|
width = 600,
|
|
@@ -24840,6 +24843,7 @@ var init_FilterGroup = __esm({
|
|
|
24840
24843
|
init_Badge();
|
|
24841
24844
|
init_Stack();
|
|
24842
24845
|
init_Icon();
|
|
24846
|
+
init_RangeSlider();
|
|
24843
24847
|
init_useEventBus();
|
|
24844
24848
|
init_useQuerySingleton();
|
|
24845
24849
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
@@ -25034,6 +25038,35 @@ var init_FilterGroup = __esm({
|
|
|
25034
25038
|
onClear: () => handleFilterSelect(`${filter.field}_to`, null)
|
|
25035
25039
|
}
|
|
25036
25040
|
)
|
|
25041
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
25042
|
+
/* @__PURE__ */ jsx(
|
|
25043
|
+
RangeSlider,
|
|
25044
|
+
{
|
|
25045
|
+
min: filter.min ?? 0,
|
|
25046
|
+
max: filter.max ?? 100,
|
|
25047
|
+
step: filter.step ?? 1,
|
|
25048
|
+
value: Number(
|
|
25049
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25050
|
+
),
|
|
25051
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25052
|
+
showTooltip: true,
|
|
25053
|
+
"aria-label": t("filterGroup.from")
|
|
25054
|
+
}
|
|
25055
|
+
),
|
|
25056
|
+
/* @__PURE__ */ jsx(
|
|
25057
|
+
RangeSlider,
|
|
25058
|
+
{
|
|
25059
|
+
min: filter.min ?? 0,
|
|
25060
|
+
max: filter.max ?? 100,
|
|
25061
|
+
step: filter.step ?? 1,
|
|
25062
|
+
value: Number(
|
|
25063
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25064
|
+
),
|
|
25065
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25066
|
+
showTooltip: true,
|
|
25067
|
+
"aria-label": t("filterGroup.to")
|
|
25068
|
+
}
|
|
25069
|
+
)
|
|
25037
25070
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
25038
25071
|
Input,
|
|
25039
25072
|
{
|
|
@@ -25116,6 +25149,36 @@ var init_FilterGroup = __esm({
|
|
|
25116
25149
|
className: "text-sm min-w-[100px]"
|
|
25117
25150
|
}
|
|
25118
25151
|
)
|
|
25152
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
25153
|
+
/* @__PURE__ */ jsx(
|
|
25154
|
+
RangeSlider,
|
|
25155
|
+
{
|
|
25156
|
+
min: filter.min ?? 0,
|
|
25157
|
+
max: filter.max ?? 100,
|
|
25158
|
+
step: filter.step ?? 1,
|
|
25159
|
+
value: Number(
|
|
25160
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25161
|
+
),
|
|
25162
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25163
|
+
className: "min-w-[100px]",
|
|
25164
|
+
"aria-label": t("filterGroup.from")
|
|
25165
|
+
}
|
|
25166
|
+
),
|
|
25167
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
25168
|
+
/* @__PURE__ */ jsx(
|
|
25169
|
+
RangeSlider,
|
|
25170
|
+
{
|
|
25171
|
+
min: filter.min ?? 0,
|
|
25172
|
+
max: filter.max ?? 100,
|
|
25173
|
+
step: filter.step ?? 1,
|
|
25174
|
+
value: Number(
|
|
25175
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25176
|
+
),
|
|
25177
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25178
|
+
className: "min-w-[100px]",
|
|
25179
|
+
"aria-label": t("filterGroup.to")
|
|
25180
|
+
}
|
|
25181
|
+
)
|
|
25119
25182
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
25120
25183
|
Input,
|
|
25121
25184
|
{
|
|
@@ -25234,6 +25297,38 @@ var init_FilterGroup = __esm({
|
|
|
25234
25297
|
className: "min-w-[130px]"
|
|
25235
25298
|
}
|
|
25236
25299
|
)
|
|
25300
|
+
] }) : resolveFilterType(filter) === "numberrange" || resolveFilterType(filter) === "number-range" ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
25301
|
+
/* @__PURE__ */ jsx(
|
|
25302
|
+
RangeSlider,
|
|
25303
|
+
{
|
|
25304
|
+
min: filter.min ?? 0,
|
|
25305
|
+
max: filter.max ?? 100,
|
|
25306
|
+
step: filter.step ?? 1,
|
|
25307
|
+
value: Number(
|
|
25308
|
+
selectedValues[`${filter.field}_min`] ?? filter.min ?? 0
|
|
25309
|
+
),
|
|
25310
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_min`, String(v)),
|
|
25311
|
+
showTooltip: true,
|
|
25312
|
+
className: "min-w-[130px]",
|
|
25313
|
+
"aria-label": t("filterGroup.from")
|
|
25314
|
+
}
|
|
25315
|
+
),
|
|
25316
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
25317
|
+
/* @__PURE__ */ jsx(
|
|
25318
|
+
RangeSlider,
|
|
25319
|
+
{
|
|
25320
|
+
min: filter.min ?? 0,
|
|
25321
|
+
max: filter.max ?? 100,
|
|
25322
|
+
step: filter.step ?? 1,
|
|
25323
|
+
value: Number(
|
|
25324
|
+
selectedValues[`${filter.field}_max`] ?? filter.max ?? 100
|
|
25325
|
+
),
|
|
25326
|
+
onChange: (v) => handleFilterSelect(`${filter.field}_max`, String(v)),
|
|
25327
|
+
showTooltip: true,
|
|
25328
|
+
className: "min-w-[130px]",
|
|
25329
|
+
"aria-label": t("filterGroup.to")
|
|
25330
|
+
}
|
|
25331
|
+
)
|
|
25237
25332
|
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
25238
25333
|
Input,
|
|
25239
25334
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@almadar/ui",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.148.0",
|
|
4
4
|
"description": "React UI components, hooks, and providers for Almadar",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -118,11 +118,11 @@
|
|
|
118
118
|
"access": "public"
|
|
119
119
|
},
|
|
120
120
|
"dependencies": {
|
|
121
|
-
"@almadar/core": "^10.
|
|
122
|
-
"@almadar/evaluator": "^2.
|
|
121
|
+
"@almadar/core": "^10.58.0",
|
|
122
|
+
"@almadar/evaluator": "^2.41.0",
|
|
123
123
|
"@almadar/logger": "^1.11.0",
|
|
124
124
|
"@almadar/runtime": "^6.53.0",
|
|
125
|
-
"@almadar/std": "^16.
|
|
125
|
+
"@almadar/std": "^16.172.0",
|
|
126
126
|
"@almadar/syntax": "^1.15.0",
|
|
127
127
|
"@dnd-kit/core": "^6.3.1",
|
|
128
128
|
"@dnd-kit/sortable": "^10.0.0",
|