@krosoft/react 0.0.297 → 0.0.298

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +16 -0
  2. package/dist/{AppActions-BMh044Sc.js → AppActions-DCFvzqFN.js} +43 -19
  3. package/dist/{AppSubTitle-BfZTloah.js → AppSubTitle-Cmu-4o-a.js} +2 -2
  4. package/dist/{AppTitle-BZ5jQWbs.js → AppTitle-CBY03gZy.js} +1 -1
  5. package/dist/{ErrorAlert-0L-Dwqu8.js → ErrorAlert-CpxyT2oM.js} +1 -1
  6. package/dist/{GenericForm-BV8n9y1n.js → GenericForm-fiF_fEUb.js} +8 -8
  7. package/dist/{ImageInput-BdOxyamZ.js → ImageInput-BGe_bc79.js} +3 -3
  8. package/dist/MultiSelect-xNfIdYS9.js +148 -0
  9. package/dist/{SearchInput-81oecSco.js → SearchInput-pJFU2KVz.js} +119 -119
  10. package/dist/{behavior-CFsFoY50.js → behavior-B8iZAgve.js} +3 -4
  11. package/dist/{cards-BFa9EQc6.js → cards-hgOitfgK.js} +2 -2
  12. package/dist/{charts-C7MWuqi9.js → charts-CS1Ao2Go.js} +1 -1
  13. package/dist/components/core/cards/index.js +1 -1
  14. package/dist/components/core/charts/index.js +1 -1
  15. package/dist/components/core/dialogs/ConfirmationDialog.d.ts.map +1 -1
  16. package/dist/components/core/dialogs/index.js +3 -3
  17. package/dist/components/core/filters/index.js +6 -6
  18. package/dist/components/core/forms/index.js +1 -1
  19. package/dist/components/core/index.js +18 -18
  20. package/dist/components/core/inputs/MultiSelect.d.ts +3 -1
  21. package/dist/components/core/inputs/MultiSelect.d.ts.map +1 -1
  22. package/dist/components/core/inputs/SingleSelect.d.ts +7 -1
  23. package/dist/components/core/inputs/SingleSelect.d.ts.map +1 -1
  24. package/dist/components/core/inputs/index.js +4 -4
  25. package/dist/components/core/language/index.js +1 -1
  26. package/dist/components/core/layouts/AppActions.d.ts.map +1 -1
  27. package/dist/components/core/layouts/index.js +9 -9
  28. package/dist/components/core/navbar/index.js +1 -1
  29. package/dist/components/core/states/index.js +2 -2
  30. package/dist/components/core/table/index.js +4 -4
  31. package/dist/components/core/tabs/index.js +6 -6
  32. package/dist/components/core/theme/index.js +1 -1
  33. package/dist/components/index.js +26 -26
  34. package/dist/components/ui/control.d.ts +13 -0
  35. package/dist/components/ui/control.d.ts.map +1 -1
  36. package/dist/components/ui/index.d.ts +1 -1
  37. package/dist/components/ui/index.d.ts.map +1 -1
  38. package/dist/components/ui/index.js +6 -6
  39. package/dist/{dialogs-D2NqMYEb.js → dialogs-CU6kEVHZ.js} +6 -7
  40. package/dist/hooks/behavior/index.js +1 -1
  41. package/dist/hooks/behavior/useConfirmDeleteDialog.d.ts.map +1 -1
  42. package/dist/hooks/index.js +5 -5
  43. package/dist/hooks/ui/index.js +4 -4
  44. package/dist/i18n/index.js +1 -1
  45. package/dist/i18n/krosoftLocales.d.ts +2 -0
  46. package/dist/i18n/krosoftLocales.d.ts.map +1 -1
  47. package/dist/{i18n-d2p0RJo9.js → i18n-TbpdvUJO.js} +2 -0
  48. package/dist/{inputs-V2h_AcMW.js → inputs-Cb0xGJ-E.js} +3 -3
  49. package/dist/{language-9nbLYpqG.js → language-DcRIOaqX.js} +7 -7
  50. package/dist/{navbar-BLdw6QDi.js → navbar-CRdXfxxM.js} +37 -37
  51. package/dist/pwa/index.js +1 -1
  52. package/dist/{select-CfhuieLs.js → select-KWMg2_7Z.js} +1 -1
  53. package/dist/{sheet-DRzg-JWH.js → sheet-Dyu9stsE.js} +2 -2
  54. package/dist/{states-C4MdmAbW.js → states-__YoT7H3.js} +2 -2
  55. package/dist/{theme-2eQs7CHF.js → theme-CHrjFJTd.js} +7 -7
  56. package/dist/{tooltip-Bu3wNhtW.js → tooltip-_geGvbS7.js} +3 -3
  57. package/dist/types/AppAction.d.ts +28 -10
  58. package/dist/types/AppAction.d.ts.map +1 -1
  59. package/dist/types/ConfirmDialogConfig.d.ts +0 -1
  60. package/dist/types/ConfirmDialogConfig.d.ts.map +1 -1
  61. package/dist/{ui-d1qh5cWB.js → ui-BAFhAfBh.js} +3 -3
  62. package/dist/{ui-DVtB9U8H.js → ui-Ce0ULzME.js} +21 -21
  63. package/dist/{useDocumentTitle-FqaDq5xD.js → useDocumentTitle-DN2FTz2t.js} +1 -1
  64. package/dist/{useLanguage-BVUtoDnh.js → useLanguage-Bo6n3OCS.js} +1 -1
  65. package/dist/{useTheme-CNx4iolb.js → useTheme-DU7ABdZ1.js} +1 -1
  66. package/package.json +1 -1
  67. package/dist/MultiSelect-Dmt1iWgB.js +0 -148
@@ -1,148 +0,0 @@
1
- import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
- import { t } from "./i18n-d2p0RJo9.js";
3
- import { bn as n } from "./ui-DVtB9U8H.js";
4
- import { a as r, o as i } from "./tooltip-Bu3wNhtW.js";
5
- import { h as a, m as o, p as s } from "./sheet-DRzg-JWH.js";
6
- import { useMemo as c, useState as l } from "react";
7
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
8
- import { ChevronDownIcon as f, SearchIcon as p, XIcon as m } from "lucide-react";
9
- import { Command as h } from "cmdk";
10
- //#region src/components/core/inputs/MultiSelect.tsx
11
- var g = ({ options: g, selected: _, onToggle: v, onClear: y, onSelectAll: b, variant: x = "input", placeholder: S, labelKey: C, searchable: w = !1, searchPlaceholder: T, disabled: E = !1, maxCount: D, className: O, ...k }) => {
12
- let { t: A } = t(), [j, M] = l(""), [N, P] = l(!1), F = x === "pill", I = c(() => j === "" ? g : g.filter((e) => e.label.toLowerCase().includes(j.toLowerCase())), [g, j]), L = c(() => I.filter((e) => e.disabled !== !0).map((e) => e.value), [I]), R = c(() => _.filter((e) => g.find((t) => t.value === e)?.disabled === !0), [g, _]), z = c(() => L.length !== 0 && L.every((e) => _.includes(e)), [L, _]), B = c(() => _.map((e) => g.find((t) => t.value === e)?.label ?? e), [g, _]), V = D !== void 0 && D > 0 ? B.slice(0, D) : B, H = B.length - V.length, U = (e) => {
13
- P(e), e || M("");
14
- }, W = () => {
15
- R.length > 0 ? b === void 0 ? _.filter((e) => !R.includes(e)).forEach((e) => {
16
- v(e);
17
- }) : b(R) : y === void 0 ? b === void 0 ? _.forEach((e) => {
18
- v(e);
19
- }) : b([]) : y();
20
- }, G = () => {
21
- if (z) b === void 0 ? y !== void 0 && _.every((e) => L.includes(e)) ? y() : L.forEach((e) => {
22
- v(e);
23
- }) : b(_.filter((e) => !L.includes(e)));
24
- else if (b !== void 0) {
25
- let e = [..._];
26
- L.forEach((t) => {
27
- e.includes(t) || e.push(t);
28
- }), b(e);
29
- } else L.forEach((e) => {
30
- _.includes(e) || v(e);
31
- });
32
- }, K = F ? /* @__PURE__ */ d("button", {
33
- ...k,
34
- type: "button",
35
- disabled: E,
36
- className: e(r, "inline-flex items-center justify-between gap-1.5 whitespace-nowrap transition-colors", _.length > 0 ? "border-primary bg-primary/10 text-primary font-medium" : "hover:bg-muted", O ?? "w-full md:w-[180px]"),
37
- children: [/* @__PURE__ */ u("span", {
38
- className: "truncate",
39
- children: C === void 0 ? S ?? A("select.placeholder") : A(C)
40
- }), /* @__PURE__ */ d("div", {
41
- className: "flex shrink-0 items-center gap-1.5",
42
- children: [_.length > 0 && /* @__PURE__ */ u("span", {
43
- className: "flex h-4 min-w-[16px] items-center justify-center rounded-full bg-primary px-1 text-[10px] font-bold text-primary-foreground",
44
- children: _.length
45
- }), /* @__PURE__ */ u(f, { className: e("size-3.5 opacity-60 transition-transform", N && "rotate-180") })]
46
- })]
47
- }) : /* @__PURE__ */ d("button", {
48
- ...k,
49
- type: "button",
50
- disabled: E,
51
- className: e(i, "w-full", N && "ring-2 ring-ring ring-offset-2", _.length === 0 && "text-muted-foreground", O),
52
- children: [/* @__PURE__ */ u("span", {
53
- className: "truncate",
54
- children: _.length === 0 ? S ?? A("select.placeholder") : V.join(", ")
55
- }), /* @__PURE__ */ d("div", {
56
- className: "flex shrink-0 items-center gap-1",
57
- children: [
58
- H > 0 && /* @__PURE__ */ d("span", {
59
- className: "rounded-control bg-muted px-1.5 py-0.5 text-xs font-medium text-foreground",
60
- children: ["+", H]
61
- }),
62
- _.length > 0 && !E && /* @__PURE__ */ u("span", {
63
- role: "button",
64
- tabIndex: -1,
65
- onClick: (e) => {
66
- e.stopPropagation();
67
- },
68
- onPointerDown: (e) => {
69
- e.preventDefault(), e.stopPropagation(), W();
70
- },
71
- className: "text-muted-foreground hover:text-foreground",
72
- children: /* @__PURE__ */ u(m, { className: "size-4" })
73
- }),
74
- /* @__PURE__ */ u(f, { className: e("size-4 opacity-50 shrink-0 transition-transform", N && "rotate-180") })
75
- ]
76
- })]
77
- });
78
- return /* @__PURE__ */ d(s, {
79
- open: N,
80
- onOpenChange: U,
81
- children: [/* @__PURE__ */ u(a, {
82
- asChild: !0,
83
- children: K
84
- }), /* @__PURE__ */ d(o, {
85
- className: e("p-0", F ? "w-72 max-w-[var(--radix-popover-content-available-width)]" : "w-[var(--radix-popover-trigger-width)]"),
86
- align: "start",
87
- children: [/* @__PURE__ */ d(h, {
88
- shouldFilter: !1,
89
- className: "flex flex-col",
90
- children: [w ? /* @__PURE__ */ u("div", {
91
- className: "border-b border-border p-2",
92
- children: /* @__PURE__ */ d("div", {
93
- className: "relative",
94
- children: [/* @__PURE__ */ u(p, { className: "absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground" }), /* @__PURE__ */ u(h.Input, {
95
- value: j,
96
- onValueChange: M,
97
- placeholder: T ?? A("search.placeholder"),
98
- className: "w-full rounded-control bg-muted/50 py-1.5 pl-7 pr-2 text-sm text-foreground placeholder:text-muted-foreground outline-none focus:ring-1 focus:ring-ring",
99
- autoFocus: !0
100
- })]
101
- })
102
- }) : /* @__PURE__ */ u(h.Input, {
103
- autoFocus: !0,
104
- tabIndex: -1,
105
- className: "sr-only"
106
- }), /* @__PURE__ */ d(h.List, {
107
- className: "flex flex-col gap-0.5 max-h-56 overflow-y-auto overflow-x-hidden p-1.5 scrollbar-thin scrollbar-thumb-rounded scrollbar-thumb-muted-foreground/20 scrollbar-track-transparent [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-muted-foreground/20 [&::-webkit-scrollbar-track]:bg-transparent",
108
- children: [I.length === 0 && /* @__PURE__ */ u("p", {
109
- className: "px-2 py-3 text-center text-xs text-muted-foreground",
110
- children: A("states.noResult")
111
- }), I.map((e) => /* @__PURE__ */ d(h.Item, {
112
- value: e.value,
113
- disabled: e.disabled,
114
- onSelect: () => {
115
- v(e.value);
116
- },
117
- className: "flex min-w-0 items-center gap-2.5 rounded-md px-2 py-2 text-sm cursor-pointer transition-colors data-[selected=true]:bg-muted data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50",
118
- children: [
119
- /* @__PURE__ */ u("span", {
120
- className: "pointer-events-none shrink-0",
121
- children: /* @__PURE__ */ u(n, { checked: _.includes(e.value) })
122
- }),
123
- e.color && /* @__PURE__ */ u("span", {
124
- className: "size-2.5 shrink-0 rounded-full",
125
- style: { backgroundColor: e.color }
126
- }),
127
- /* @__PURE__ */ u("span", {
128
- className: "min-w-0 flex-1 truncate",
129
- title: e.label,
130
- children: e.label
131
- })
132
- ]
133
- }, e.value))]
134
- })]
135
- }), L.length > 0 && /* @__PURE__ */ u("div", {
136
- className: "border-t border-border p-1.5",
137
- children: /* @__PURE__ */ u("button", {
138
- type: "button",
139
- onClick: G,
140
- className: "w-full rounded-md px-2 py-1.5 text-xs text-muted-foreground hover:text-foreground hover:bg-muted transition-colors text-center",
141
- children: A(z ? "filters.deselectAll" : "filters.selectAll")
142
- })
143
- })]
144
- })]
145
- });
146
- };
147
- //#endregion
148
- export { g as t };