@addsign/moje-agenda-shared-lib 2.0.40 → 2.0.42

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 (126) hide show
  1. package/dist/Combination-D2GKeTwa.js +1162 -0
  2. package/dist/Combination-D2GKeTwa.js.map +1 -0
  3. package/dist/Dialog-BWa_flly.js +424 -0
  4. package/dist/Dialog-BWa_flly.js.map +1 -0
  5. package/dist/Dialog-CCrUyF91.js +424 -0
  6. package/dist/Dialog-CCrUyF91.js.map +1 -0
  7. package/dist/assets/style.css +61 -8
  8. package/dist/chevron-down-CfJmko7t.js +14 -0
  9. package/dist/chevron-down-CfJmko7t.js.map +1 -0
  10. package/dist/components/Attachments.js +2 -1
  11. package/dist/components/Attachments.js.map +1 -1
  12. package/dist/components/ConfirmationModalDialog.js +1 -1
  13. package/dist/components/ConfirmationModalDialog.js.map +1 -1
  14. package/dist/components/Modal.js +1 -1
  15. package/dist/components/Modal.js.map +1 -1
  16. package/dist/components/datatable/DataTable.js +3 -2
  17. package/dist/components/datatable/DataTable.js.map +1 -1
  18. package/dist/components/datatable/DataTableServer.js +96 -61
  19. package/dist/components/datatable/DataTableServer.js.map +1 -1
  20. package/dist/components/form/AutocompleteSearchBar.js +5 -4
  21. package/dist/components/form/AutocompleteSearchBar.js.map +1 -1
  22. package/dist/components/form/AutocompleteSearchBarServer.js +2 -1
  23. package/dist/components/form/AutocompleteSearchBarServer.js.map +1 -1
  24. package/dist/components/form/DateRangeField.js +2 -2
  25. package/dist/components/form/DateRangeField.js.map +1 -1
  26. package/dist/components/form/FileInput.js +3 -2
  27. package/dist/components/form/FileInput.js.map +1 -1
  28. package/dist/components/form/FileInputMultiple.js +3 -2
  29. package/dist/components/form/FileInputMultiple.js.map +1 -1
  30. package/dist/components/form/FormField.js +8 -7
  31. package/dist/components/form/FormField.js.map +1 -1
  32. package/dist/components/form/InputField.js +3 -2
  33. package/dist/components/form/InputField.js.map +1 -1
  34. package/dist/components/form/PositionsSelectorSingle.js +2 -1
  35. package/dist/components/form/PositionsSelectorSingle.js.map +1 -1
  36. package/dist/components/form/RadioGroup.js +1 -1
  37. package/dist/components/form/RadioGroup.js.map +1 -1
  38. package/dist/components/form/SelectField.js +5 -4
  39. package/dist/components/form/SelectField.js.map +1 -1
  40. package/dist/components/layout/Neoptimizovano.js +2 -1
  41. package/dist/components/layout/Neoptimizovano.js.map +1 -1
  42. package/dist/components/layout/PageTitle.js +1 -1
  43. package/dist/components/layout/PageTitle.js.map +1 -1
  44. package/dist/components/layout/SectionTitle.js +1 -1
  45. package/dist/components/layout/SectionTitle.js.map +1 -1
  46. package/dist/components/profiles/ProfileOverview.js +2 -1
  47. package/dist/components/profiles/ProfileOverview.js.map +1 -1
  48. package/dist/components/ui/Combobox.js +1 -1
  49. package/dist/components/ui/DatePicker.js +1 -1
  50. package/dist/components/ui/DateTimePicker.js +1 -1
  51. package/dist/components/ui/Dialog.js +1 -1
  52. package/dist/components/ui/ScrollArea.js +2 -2
  53. package/dist/components/ui/async-combobox.d.ts +40 -0
  54. package/dist/components/ui/async-combobox.js +5706 -0
  55. package/dist/components/ui/async-combobox.js.map +1 -0
  56. package/dist/components/ui/badge.d.ts +9 -0
  57. package/dist/components/ui/badge.js +27 -0
  58. package/dist/components/ui/badge.js.map +1 -0
  59. package/dist/components/ui/checkbox.js +4 -4
  60. package/dist/components/ui/command.js +2 -2
  61. package/dist/components/ui/multi-select.d.ts +67 -0
  62. package/dist/components/ui/multi-select.js +295 -0
  63. package/dist/components/ui/multi-select.js.map +1 -0
  64. package/dist/components/ui/popover.js +1 -1
  65. package/dist/components/ui/radioGroup.js +5 -5
  66. package/dist/components/ui/select.js +8 -16
  67. package/dist/components/ui/select.js.map +1 -1
  68. package/dist/components/ui/toast.js +5 -5
  69. package/dist/components/ui/tooltip.js +6 -6
  70. package/dist/index-B0wyIFEr.js +47 -0
  71. package/dist/index-B0wyIFEr.js.map +1 -0
  72. package/dist/index-BcR8DnnV.js +234 -0
  73. package/dist/index-BcR8DnnV.js.map +1 -0
  74. package/dist/index-CDptxuif.js +234 -0
  75. package/dist/index-CDptxuif.js.map +1 -0
  76. package/dist/index-CK9QfV6i.js +40 -0
  77. package/dist/index-CK9QfV6i.js.map +1 -0
  78. package/dist/index-CcNKXchf.js +2203 -0
  79. package/dist/index-CcNKXchf.js.map +1 -0
  80. package/dist/index-CpcwEIT_.js +18 -0
  81. package/dist/index-CpcwEIT_.js.map +1 -0
  82. package/dist/index-CulRZKWg.js +2212 -0
  83. package/dist/index-CulRZKWg.js.map +1 -0
  84. package/dist/index-D75exu1X.js +18 -0
  85. package/dist/index-D75exu1X.js.map +1 -0
  86. package/dist/index-DoYsULhE.js +28878 -0
  87. package/dist/index-DoYsULhE.js.map +1 -0
  88. package/dist/index-Dr6Ds0Bg.js +1162 -0
  89. package/dist/index-Dr6Ds0Bg.js.map +1 -0
  90. package/dist/index-DsU1clfi.js +36 -0
  91. package/dist/index-DsU1clfi.js.map +1 -0
  92. package/dist/index-DzfDO78K.js +15 -0
  93. package/dist/index-DzfDO78K.js.map +1 -0
  94. package/dist/index-NZPkObcw.js +110 -0
  95. package/dist/index-NZPkObcw.js.map +1 -0
  96. package/dist/index-Vp9wI6hE.js +2203 -0
  97. package/dist/index-Vp9wI6hE.js.map +1 -0
  98. package/dist/index-qqHvAsVd.js +2266 -0
  99. package/dist/index-qqHvAsVd.js.map +1 -0
  100. package/dist/index-wO-IHm1z.js +131 -0
  101. package/dist/index-wO-IHm1z.js.map +1 -0
  102. package/dist/main.d.ts +1 -0
  103. package/dist/main.js +3 -1
  104. package/dist/main.js.map +1 -1
  105. package/dist/plus-sawBIbEd.js +26 -0
  106. package/dist/plus-sawBIbEd.js.map +1 -0
  107. package/dist/popover-CcrzvSk7.js +319 -0
  108. package/dist/popover-CcrzvSk7.js.map +1 -0
  109. package/dist/popover-DhdNw4fZ.js +319 -0
  110. package/dist/popover-DhdNw4fZ.js.map +1 -0
  111. package/lib/components/ConfirmationModalDialog.tsx +1 -1
  112. package/lib/components/Modal.tsx +1 -1
  113. package/lib/components/datatable/DataTable.tsx +1 -1
  114. package/lib/components/datatable/DataTableServer.tsx +113 -58
  115. package/lib/components/form/AutocompleteSearchBar.tsx +3 -3
  116. package/lib/components/form/DateRangeField.tsx +2 -2
  117. package/lib/components/form/FormField.tsx +6 -6
  118. package/lib/components/form/InputField.tsx +3 -2
  119. package/lib/components/form/RadioGroup.tsx +1 -1
  120. package/lib/components/form/SelectField.tsx +3 -3
  121. package/lib/components/layout/PageTitle.tsx +19 -19
  122. package/lib/components/layout/SectionTitle.tsx +1 -1
  123. package/lib/components/ui/badge.tsx +36 -0
  124. package/lib/components/ui/multi-select.tsx +365 -0
  125. package/lib/main.ts +4 -0
  126. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const badgeVariants: (props?: ({
4
+ variant?: "secondary" | "default" | "destructive" | "outline" | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
7
+ }
8
+ declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
9
+ export { Badge, badgeVariants };
@@ -0,0 +1,27 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { c as cva } from "../../index-udNDzvjB.js";
3
+ import { cn } from "../../utils/utils.js";
4
+ const badgeVariants = cva(
5
+ "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-normal transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
6
+ {
7
+ variants: {
8
+ variant: {
9
+ default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
10
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
11
+ destructive: "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
12
+ outline: "text-foreground"
13
+ }
14
+ },
15
+ defaultVariants: {
16
+ variant: "default"
17
+ }
18
+ }
19
+ );
20
+ function Badge({ className, variant, ...props }) {
21
+ return /* @__PURE__ */ jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
22
+ }
23
+ export {
24
+ Badge,
25
+ badgeVariants
26
+ };
27
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","sources":["../../../lib/components/ui/badge.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\n\r\nimport { cn } from \"../../utils/utils\";\r\n\r\nconst badgeVariants = cva(\r\n \"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-normal transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\r\n secondary:\r\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\r\n destructive:\r\n \"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\r\n outline: \"text-foreground\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n },\r\n }\r\n);\r\n\r\nexport interface BadgeProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof badgeVariants> {}\r\n\r\nfunction Badge({ className, variant, ...props }: BadgeProps) {\r\n return (\r\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\r\n );\r\n}\r\n\r\nexport { Badge, badgeVariants };\r\n"],"names":[],"mappings":";;;AAKA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAMA,SAAS,MAAM,EAAE,WAAW,SAAS,GAAG,SAAqB;AAC3D,SACG,oBAAA,OAAA,EAAI,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,GAAI,GAAG,MAAO,CAAA;AAE1E;"}
@@ -1,11 +1,11 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { u as useComposedRefs } from "../../index-D9mvqz1C.js";
4
- import { c as createContextScope, b as composeEventHandlers } from "../../index-CDCkSjVs.js";
5
- import { u as useControllableState } from "../../index-DFSwSCB0.js";
4
+ import { c as createContextScope, b as composeEventHandlers } from "../../index-NZPkObcw.js";
5
+ import { u as useControllableState } from "../../index-B0wyIFEr.js";
6
6
  import { u as usePrevious } from "../../index-CshadhlS.js";
7
- import { u as useSize } from "../../index-pLFWXSOv.js";
8
- import { P as Presence } from "../../index-CA2QNu6z.js";
7
+ import { u as useSize } from "../../index-CK9QfV6i.js";
8
+ import { P as Presence } from "../../index-wO-IHm1z.js";
9
9
  import { P as Primitive } from "../../index-B761_inZ.js";
10
10
  import { cn } from "../../utils/utils.js";
11
11
  import { C as Check } from "../../check-B7dJm08z.js";
@@ -1,9 +1,9 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import React__default from "react";
4
- import { R as Root, P as Portal, O as Overlay, C as Content, D as Dialog, e as DialogContent } from "../../Dialog-BmQoVu5C.js";
4
+ import { R as Root, P as Portal, O as Overlay, C as Content, D as Dialog, e as DialogContent } from "../../Dialog-CCrUyF91.js";
5
5
  import { P as Primitive } from "../../index-B761_inZ.js";
6
- import { u as useId } from "../../index-Deoi9R3y.js";
6
+ import { u as useId } from "../../index-DzfDO78K.js";
7
7
  import { cn } from "../../utils/utils.js";
8
8
  import { c as createLucideIcon } from "../../createLucideIcon-KSoQd4Wi.js";
9
9
  /**
@@ -0,0 +1,67 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { IOptionItem } from '../../types';
3
+ import * as React from "react";
4
+ /**
5
+ * Variants for the multi-select component to handle different styles.
6
+ * Uses class-variance-authority (cva) to define different styles based on "variant" prop.
7
+ */
8
+ declare const multiSelectVariants: (props?: ({
9
+ variant?: "secondary" | "default" | "destructive" | "inverted" | null | undefined;
10
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
11
+ /**
12
+ * Props for MultiSelect component
13
+ */
14
+ interface MultiSelectProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onChange" | "value">, VariantProps<typeof multiSelectVariants> {
15
+ /**
16
+ * An array of option objects to be displayed in the multi-select component.
17
+ * Each option object has a label, value, and an optional icon.
18
+ */
19
+ options: IOptionItem[];
20
+ /**
21
+ * Callback function triggered when the selected values change.
22
+ * Receives an array of the new selected values.
23
+ */
24
+ onChange: (value: string[]) => void;
25
+ /** The controlled value of the component */
26
+ value?: string[];
27
+ /** The default selected values when the component mounts (uncontrolled mode) */
28
+ defaultValue?: string[];
29
+ /**
30
+ * Placeholder text to be displayed when no values are selected.
31
+ * Optional, defaults to "Select options".
32
+ */
33
+ placeholder?: string;
34
+ /**
35
+ * Placeholder text to be displayed when no values are selected.
36
+ * Optional, defaults to "Select options".
37
+ */
38
+ placeholderSearch?: string;
39
+ /**
40
+ * Maximum number of items to display. Extra selected items will be summarized.
41
+ * Optional, defaults to 3.
42
+ */
43
+ maxCount?: number;
44
+ /**
45
+ * The modality of the popover. When set to true, interaction with outside elements
46
+ * will be disabled and only popover content will be visible to screen readers.
47
+ * Optional, defaults to false.
48
+ */
49
+ modalPopover?: boolean;
50
+ /**
51
+ * If true, renders the multi-select component as a child of another component.
52
+ * Optional, defaults to false.
53
+ */
54
+ asChild?: boolean;
55
+ /**
56
+ * Additional class names to apply custom styles to the multi-select component.
57
+ * Optional, can be used to add custom styles.
58
+ */
59
+ className?: string;
60
+ /**
61
+ * If true, the multi-select component will be disabled.
62
+ * Optional, defaults to false.
63
+ */
64
+ disabled?: boolean;
65
+ }
66
+ export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<HTMLButtonElement>>;
67
+ export {};
@@ -0,0 +1,295 @@
1
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { c as cva } from "../../index-udNDzvjB.js";
4
+ import { cn } from "../../utils/utils.js";
5
+ import { Separator } from "./separator.js";
6
+ import { Button } from "./button.js";
7
+ import { Badge } from "./badge.js";
8
+ import { P as Popover, a as PopoverTrigger, b as PopoverContent } from "../../popover-CcrzvSk7.js";
9
+ import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandSeparator } from "./command.js";
10
+ import { c as createLucideIcon } from "../../createLucideIcon-KSoQd4Wi.js";
11
+ import { X } from "../../x-DciOkaU0.js";
12
+ import { C as ChevronDown } from "../../chevron-down-CfJmko7t.js";
13
+ import { C as Check } from "../../check-B7dJm08z.js";
14
+ /**
15
+ * @license lucide-react v0.456.0 - ISC
16
+ *
17
+ * This source code is licensed under the ISC license.
18
+ * See the LICENSE file in the root directory of this source tree.
19
+ */
20
+ const CircleX = createLucideIcon("CircleX", [
21
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
22
+ ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
23
+ ["path", { d: "m9 9 6 6", key: "z0biqf" }]
24
+ ]);
25
+ const multiSelectVariants = cva("m-1 transition ease-in-out delay-150 ", {
26
+ variants: {
27
+ variant: {
28
+ default: "border-foreground/10 text-foreground bg-card hover:bg-card/80 font-normal",
29
+ secondary: "border-foreground/10 bg-secondary text-secondary-foreground hover:bg-secondary/80 font-normal",
30
+ destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80 font-normal",
31
+ inverted: "inverted"
32
+ }
33
+ },
34
+ defaultVariants: {
35
+ variant: "default"
36
+ }
37
+ });
38
+ const MultiSelect = React.forwardRef(
39
+ ({
40
+ options,
41
+ onChange,
42
+ value: propValue,
43
+ variant,
44
+ defaultValue = [],
45
+ placeholder = "Vyberte možnosti",
46
+ placeholderSearch = "Vyhledejte",
47
+ maxCount = 3,
48
+ modalPopover = false,
49
+ asChild = false,
50
+ className,
51
+ ...props
52
+ }, ref) => {
53
+ const [selectedValues, setSelectedValues] = React.useState(
54
+ propValue ?? defaultValue
55
+ );
56
+ const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
57
+ React.useEffect(() => {
58
+ if (propValue !== void 0) {
59
+ setSelectedValues(propValue);
60
+ }
61
+ }, [propValue]);
62
+ const handleValueChange = (newValues) => {
63
+ setSelectedValues(newValues);
64
+ onChange(newValues);
65
+ };
66
+ const handleTogglePopover = () => {
67
+ setIsPopoverOpen((prev) => !prev);
68
+ };
69
+ const toggleOption = (option) => {
70
+ if (option === null)
71
+ return;
72
+ const optionStr = String(option);
73
+ const newSelectedValues = selectedValues.includes(optionStr) ? selectedValues.filter((value) => value !== optionStr) : [...selectedValues, optionStr];
74
+ handleValueChange(newSelectedValues);
75
+ };
76
+ const handleClear = () => {
77
+ handleValueChange([]);
78
+ };
79
+ const clearExtraOptions = () => {
80
+ const newSelectedValues = selectedValues.slice(0, maxCount);
81
+ handleValueChange(newSelectedValues);
82
+ };
83
+ const toggleAll = () => {
84
+ if (selectedValues.length === options.length) {
85
+ handleClear();
86
+ } else {
87
+ const allValues = options.map((option) => option.value);
88
+ handleValueChange(allValues);
89
+ }
90
+ };
91
+ return /* @__PURE__ */ jsxs(
92
+ Popover,
93
+ {
94
+ open: isPopoverOpen,
95
+ onOpenChange: setIsPopoverOpen,
96
+ modal: modalPopover,
97
+ children: [
98
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
99
+ Button,
100
+ {
101
+ ref,
102
+ ...props,
103
+ onClick: handleTogglePopover,
104
+ className: cn(
105
+ "flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between hover:bg-inherit [&_svg]:pointer-events-auto font-normal bg-background text-muted-foreground",
106
+ className
107
+ ),
108
+ children: selectedValues.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center w-full", children: [
109
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center", children: [
110
+ selectedValues.slice(0, maxCount).map((value) => {
111
+ const option = options.find((o) => o.value === value);
112
+ return /* @__PURE__ */ jsxs(
113
+ Badge,
114
+ {
115
+ className: cn(multiSelectVariants({ variant })),
116
+ children: [
117
+ option == null ? void 0 : option.label,
118
+ /* @__PURE__ */ jsx(
119
+ CircleX,
120
+ {
121
+ className: "ml-2 h-4 w-4 cursor-pointer text-muted-foreground",
122
+ onClick: (event) => {
123
+ event.stopPropagation();
124
+ toggleOption(value);
125
+ }
126
+ }
127
+ )
128
+ ]
129
+ },
130
+ value
131
+ );
132
+ }),
133
+ selectedValues.length > maxCount && /* @__PURE__ */ jsxs(
134
+ Badge,
135
+ {
136
+ className: cn(
137
+ "bg-transparent text-foreground border-foreground/1 hover:bg-transparent",
138
+ multiSelectVariants({ variant })
139
+ ),
140
+ children: [
141
+ `+ ${selectedValues.length - maxCount} další`,
142
+ /* @__PURE__ */ jsx(
143
+ CircleX,
144
+ {
145
+ className: "ml-2 h-4 w-4 cursor-pointer text-muted-foreground",
146
+ onClick: (event) => {
147
+ event.stopPropagation();
148
+ clearExtraOptions();
149
+ }
150
+ }
151
+ )
152
+ ]
153
+ }
154
+ )
155
+ ] }),
156
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
157
+ /* @__PURE__ */ jsx(
158
+ X,
159
+ {
160
+ className: "h-4 mx-2 cursor-pointer text-muted-foreground",
161
+ onClick: (event) => {
162
+ event.stopPropagation();
163
+ handleClear();
164
+ }
165
+ }
166
+ ),
167
+ /* @__PURE__ */ jsx(
168
+ Separator,
169
+ {
170
+ orientation: "vertical",
171
+ className: "flex min-h-6 h-full"
172
+ }
173
+ ),
174
+ /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 mx-2 cursor-pointer text-muted-foreground" })
175
+ ] })
176
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between w-full mx-auto", children: [
177
+ /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground mx-3", children: placeholder }),
178
+ /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 cursor-pointer text-muted-foreground mx-2" })
179
+ ] })
180
+ }
181
+ ) }),
182
+ /* @__PURE__ */ jsx(
183
+ PopoverContent,
184
+ {
185
+ className: "w-auto p-0",
186
+ align: "start",
187
+ onEscapeKeyDown: () => setIsPopoverOpen(false),
188
+ children: /* @__PURE__ */ jsxs(Command, { children: [
189
+ /* @__PURE__ */ jsx(
190
+ CommandInput,
191
+ {
192
+ placeholder: placeholderSearch,
193
+ onKeyDown: (e) => {
194
+ if (e.key === "Enter") {
195
+ setIsPopoverOpen(true);
196
+ } else if (e.key === "Backspace" && !e.currentTarget.value) {
197
+ const newSelectedValues = [...selectedValues];
198
+ newSelectedValues.pop();
199
+ handleValueChange(newSelectedValues);
200
+ }
201
+ }
202
+ }
203
+ ),
204
+ /* @__PURE__ */ jsxs(CommandList, { children: [
205
+ /* @__PURE__ */ jsx(CommandEmpty, { children: "No results found." }),
206
+ /* @__PURE__ */ jsxs(CommandGroup, { children: [
207
+ /* @__PURE__ */ jsxs(
208
+ CommandItem,
209
+ {
210
+ onSelect: toggleAll,
211
+ className: "cursor-pointer",
212
+ children: [
213
+ /* @__PURE__ */ jsx(
214
+ "div",
215
+ {
216
+ className: cn(
217
+ "mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",
218
+ selectedValues.length === options.length ? "bg-primary text-primary-foreground" : "opacity-50 [&_svg]:invisible"
219
+ ),
220
+ children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" })
221
+ }
222
+ ),
223
+ /* @__PURE__ */ jsx("span", { children: "(Vyberte vše)" })
224
+ ]
225
+ },
226
+ "all"
227
+ ),
228
+ options.map((option) => {
229
+ const optionStr = String(option.value);
230
+ const isSelected = selectedValues.includes(optionStr);
231
+ return /* @__PURE__ */ jsxs(
232
+ CommandItem,
233
+ {
234
+ onSelect: () => toggleOption(option.value),
235
+ className: "cursor-pointer",
236
+ children: [
237
+ /* @__PURE__ */ jsx(
238
+ "div",
239
+ {
240
+ className: cn(
241
+ "mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",
242
+ isSelected ? "bg-primary text-primary-foreground" : "opacity-50 [&_svg]:invisible"
243
+ ),
244
+ children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" })
245
+ }
246
+ ),
247
+ /* @__PURE__ */ jsx("span", { children: option.label })
248
+ ]
249
+ },
250
+ optionStr
251
+ );
252
+ })
253
+ ] }),
254
+ /* @__PURE__ */ jsx(CommandSeparator, {}),
255
+ /* @__PURE__ */ jsx(CommandGroup, { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
256
+ selectedValues.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
257
+ /* @__PURE__ */ jsx(
258
+ CommandItem,
259
+ {
260
+ onSelect: handleClear,
261
+ className: "flex-1 justify-center cursor-pointer",
262
+ children: "Odebrat vše"
263
+ }
264
+ ),
265
+ /* @__PURE__ */ jsx(
266
+ Separator,
267
+ {
268
+ orientation: "vertical",
269
+ className: "flex min-h-6 h-full"
270
+ }
271
+ )
272
+ ] }),
273
+ /* @__PURE__ */ jsx(
274
+ CommandItem,
275
+ {
276
+ onSelect: () => setIsPopoverOpen(false),
277
+ className: "flex-1 justify-center cursor-pointer max-w-full",
278
+ children: "Zavřít"
279
+ }
280
+ )
281
+ ] }) })
282
+ ] })
283
+ ] })
284
+ }
285
+ )
286
+ ]
287
+ }
288
+ );
289
+ }
290
+ );
291
+ MultiSelect.displayName = "MultiSelect";
292
+ export {
293
+ MultiSelect
294
+ };
295
+ //# sourceMappingURL=multi-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-select.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/circle-x.js","../../../lib/components/ui/multi-select.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.456.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleX = createLucideIcon(\"CircleX\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"m15 9-6 6\", key: \"1uzhvr\" }],\n [\"path\", { d: \"m9 9 6 6\", key: \"z0biqf\" }]\n]);\n\nexport { CircleX as default };\n//# sourceMappingURL=circle-x.js.map\n","// src/components/multi-select.tsx\r\n\r\nimport * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { CheckIcon, XCircle, ChevronDown, XIcon } from \"lucide-react\";\r\n\r\nimport { cn } from \"../../utils/utils\";\r\nimport { Separator } from \"./separator\";\r\nimport { Button } from \"./button\";\r\nimport { Badge } from \"./badge\";\r\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover\";\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n CommandSeparator,\r\n} from \"./command\";\r\nimport { IOptionItem } from \"../../types\";\r\n\r\n/**\r\n * Variants for the multi-select component to handle different styles.\r\n * Uses class-variance-authority (cva) to define different styles based on \"variant\" prop.\r\n */\r\nconst multiSelectVariants = cva(\"m-1 transition ease-in-out delay-150 \", {\r\n variants: {\r\n variant: {\r\n default:\r\n \"border-foreground/10 text-foreground bg-card hover:bg-card/80 font-normal\",\r\n secondary:\r\n \"border-foreground/10 bg-secondary text-secondary-foreground hover:bg-secondary/80 font-normal\",\r\n destructive:\r\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80 font-normal\",\r\n inverted: \"inverted\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n },\r\n});\r\n\r\n/**\r\n * Props for MultiSelect component\r\n */\r\ninterface MultiSelectProps\r\n extends Omit<\r\n React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n \"onChange\" | \"value\"\r\n >,\r\n VariantProps<typeof multiSelectVariants> {\r\n /**\r\n * An array of option objects to be displayed in the multi-select component.\r\n * Each option object has a label, value, and an optional icon.\r\n */\r\n options: IOptionItem[];\r\n\r\n /**\r\n * Callback function triggered when the selected values change.\r\n * Receives an array of the new selected values.\r\n */\r\n onChange: (value: string[]) => void;\r\n\r\n /** The controlled value of the component */\r\n value?: string[];\r\n\r\n /** The default selected values when the component mounts (uncontrolled mode) */\r\n defaultValue?: string[];\r\n\r\n /**\r\n * Placeholder text to be displayed when no values are selected.\r\n * Optional, defaults to \"Select options\".\r\n */\r\n placeholder?: string;\r\n\r\n /**\r\n * Placeholder text to be displayed when no values are selected.\r\n * Optional, defaults to \"Select options\".\r\n */\r\n placeholderSearch?: string;\r\n\r\n /**\r\n * Maximum number of items to display. Extra selected items will be summarized.\r\n * Optional, defaults to 3.\r\n */\r\n maxCount?: number;\r\n\r\n /**\r\n * The modality of the popover. When set to true, interaction with outside elements\r\n * will be disabled and only popover content will be visible to screen readers.\r\n * Optional, defaults to false.\r\n */\r\n modalPopover?: boolean;\r\n\r\n /**\r\n * If true, renders the multi-select component as a child of another component.\r\n * Optional, defaults to false.\r\n */\r\n asChild?: boolean;\r\n\r\n /**\r\n * Additional class names to apply custom styles to the multi-select component.\r\n * Optional, can be used to add custom styles.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * If true, the multi-select component will be disabled.\r\n * Optional, defaults to false.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * value?: string;\r\n onChange?: (value: string | undefined) => void;\r\n */\r\n}\r\n\r\nexport const MultiSelect = React.forwardRef<\r\n HTMLButtonElement,\r\n MultiSelectProps\r\n>(\r\n (\r\n {\r\n options,\r\n onChange,\r\n value: propValue,\r\n variant,\r\n defaultValue = [],\r\n placeholder = \"Vyberte možnosti\",\r\n placeholderSearch = \"Vyhledejte\",\r\n maxCount = 3,\r\n modalPopover = false,\r\n asChild = false,\r\n className,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [selectedValues, setSelectedValues] = React.useState<string[]>(\r\n propValue ?? defaultValue\r\n );\r\n const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\r\n\r\n // Update internal state when controlled value changes\r\n React.useEffect(() => {\r\n if (propValue !== undefined) {\r\n setSelectedValues(propValue);\r\n }\r\n }, [propValue]);\r\n\r\n const handleValueChange = (newValues: string[]) => {\r\n setSelectedValues(newValues);\r\n onChange(newValues);\r\n };\r\n\r\n const handleTogglePopover = () => {\r\n setIsPopoverOpen((prev) => !prev);\r\n };\r\n\r\n const toggleOption = (option: string | number | null) => {\r\n if (option === null) return;\r\n const optionStr = String(option);\r\n const newSelectedValues = selectedValues.includes(optionStr)\r\n ? selectedValues.filter((value) => value !== optionStr)\r\n : [...selectedValues, optionStr];\r\n handleValueChange(newSelectedValues);\r\n };\r\n\r\n const handleClear = () => {\r\n handleValueChange([]);\r\n };\r\n\r\n const clearExtraOptions = () => {\r\n const newSelectedValues = selectedValues.slice(0, maxCount);\r\n handleValueChange(newSelectedValues);\r\n };\r\n\r\n const toggleAll = () => {\r\n if (selectedValues.length === options.length) {\r\n handleClear();\r\n } else {\r\n const allValues = options.map((option) => option.value as string);\r\n handleValueChange(allValues);\r\n }\r\n };\r\n\r\n return (\r\n <Popover\r\n open={isPopoverOpen}\r\n onOpenChange={setIsPopoverOpen}\r\n modal={modalPopover}\r\n >\r\n <PopoverTrigger asChild>\r\n <Button\r\n ref={ref}\r\n {...props}\r\n onClick={handleTogglePopover}\r\n className={cn(\r\n \"flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between hover:bg-inherit [&_svg]:pointer-events-auto font-normal bg-background text-muted-foreground\",\r\n className\r\n )}\r\n >\r\n {selectedValues.length > 0 ? (\r\n <div className=\"flex justify-between items-center w-full\">\r\n <div className=\"flex flex-wrap items-center\">\r\n {selectedValues.slice(0, maxCount).map((value) => {\r\n const option = options.find((o) => o.value === value);\r\n return (\r\n <Badge\r\n key={value}\r\n className={cn(multiSelectVariants({ variant }))}\r\n >\r\n {option?.label}\r\n <XCircle\r\n className=\"ml-2 h-4 w-4 cursor-pointer text-muted-foreground\"\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n toggleOption(value);\r\n }}\r\n />\r\n </Badge>\r\n );\r\n })}\r\n {selectedValues.length > maxCount && (\r\n <Badge\r\n className={cn(\r\n \"bg-transparent text-foreground border-foreground/1 hover:bg-transparent\",\r\n multiSelectVariants({ variant })\r\n )}\r\n >\r\n {`+ ${selectedValues.length - maxCount} další`}\r\n <XCircle\r\n className=\"ml-2 h-4 w-4 cursor-pointer text-muted-foreground\"\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n clearExtraOptions();\r\n }}\r\n />\r\n </Badge>\r\n )}\r\n </div>\r\n <div className=\"flex items-center justify-between\">\r\n <XIcon\r\n className=\"h-4 mx-2 cursor-pointer text-muted-foreground\"\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClear();\r\n }}\r\n />\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"flex min-h-6 h-full\"\r\n />\r\n <ChevronDown className=\"h-4 mx-2 cursor-pointer text-muted-foreground\" />\r\n </div>\r\n </div>\r\n ) : (\r\n <div className=\"flex items-center justify-between w-full mx-auto\">\r\n <span className=\"text-sm text-muted-foreground mx-3\">\r\n {placeholder}\r\n </span>\r\n <ChevronDown className=\"h-4 cursor-pointer text-muted-foreground mx-2\" />\r\n </div>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent\r\n className=\"w-auto p-0\"\r\n align=\"start\"\r\n onEscapeKeyDown={() => setIsPopoverOpen(false)}\r\n >\r\n <Command>\r\n <CommandInput\r\n placeholder={placeholderSearch}\r\n onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Enter\") {\r\n setIsPopoverOpen(true);\r\n } else if (e.key === \"Backspace\" && !e.currentTarget.value) {\r\n const newSelectedValues = [...selectedValues];\r\n newSelectedValues.pop();\r\n handleValueChange(newSelectedValues);\r\n }\r\n }}\r\n />\r\n <CommandList>\r\n <CommandEmpty>No results found.</CommandEmpty>\r\n <CommandGroup>\r\n <CommandItem\r\n key=\"all\"\r\n onSelect={toggleAll}\r\n className=\"cursor-pointer\"\r\n >\r\n <div\r\n className={cn(\r\n \"mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary\",\r\n selectedValues.length === options.length\r\n ? \"bg-primary text-primary-foreground\"\r\n : \"opacity-50 [&_svg]:invisible\"\r\n )}\r\n >\r\n <CheckIcon className=\"h-4 w-4\" />\r\n </div>\r\n <span>(Vyberte vše)</span>\r\n </CommandItem>\r\n {options.map((option) => {\r\n const optionStr = String(option.value);\r\n const isSelected = selectedValues.includes(optionStr);\r\n return (\r\n <CommandItem\r\n key={optionStr}\r\n onSelect={() => toggleOption(option.value)}\r\n className=\"cursor-pointer\"\r\n >\r\n <div\r\n className={cn(\r\n \"mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary\",\r\n isSelected\r\n ? \"bg-primary text-primary-foreground\"\r\n : \"opacity-50 [&_svg]:invisible\"\r\n )}\r\n >\r\n <CheckIcon className=\"h-4 w-4\" />\r\n </div>\r\n\r\n <span>{option.label}</span>\r\n </CommandItem>\r\n );\r\n })}\r\n </CommandGroup>\r\n <CommandSeparator />\r\n <CommandGroup>\r\n <div className=\"flex items-center justify-between\">\r\n {selectedValues.length > 0 && (\r\n <>\r\n <CommandItem\r\n onSelect={handleClear}\r\n className=\"flex-1 justify-center cursor-pointer\"\r\n >\r\n Odebrat vše\r\n </CommandItem>\r\n <Separator\r\n orientation=\"vertical\"\r\n className=\"flex min-h-6 h-full\"\r\n />\r\n </>\r\n )}\r\n <CommandItem\r\n onSelect={() => setIsPopoverOpen(false)}\r\n className=\"flex-1 justify-center cursor-pointer max-w-full\"\r\n >\r\n Zavřít\r\n </CommandItem>\r\n </div>\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n }\r\n);\r\n\r\nMultiSelect.displayName = \"MultiSelect\";\r\n"],"names":["XCircle","XIcon","CheckIcon"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { P, b, a } from "../../popover-DpJhfyvx.js";
3
+ import { P, b, a } from "../../popover-CcrzvSk7.js";
4
4
  import "../../utils/utils.js";
5
5
  export {
6
6
  P as Popover,
@@ -1,15 +1,15 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
- import { a as useCallbackRef, b as composeEventHandlers, c as createContextScope$1 } from "../../index-CDCkSjVs.js";
3
+ import { a as useCallbackRef, b as composeEventHandlers, c as createContextScope$1 } from "../../index-NZPkObcw.js";
4
4
  import { u as useComposedRefs } from "../../index-D9mvqz1C.js";
5
5
  import { P as Primitive } from "../../index-B761_inZ.js";
6
6
  import { c as createCollection } from "../../index-E5yk6fTE.js";
7
- import { u as useId } from "../../index-Deoi9R3y.js";
8
- import { u as useControllableState } from "../../index-DFSwSCB0.js";
7
+ import { u as useId } from "../../index-DzfDO78K.js";
8
+ import { u as useControllableState } from "../../index-B0wyIFEr.js";
9
9
  import { u as useDirection } from "../../index-Bk8dRTPE.js";
10
- import { u as useSize } from "../../index-pLFWXSOv.js";
10
+ import { u as useSize } from "../../index-CK9QfV6i.js";
11
11
  import { u as usePrevious } from "../../index-CshadhlS.js";
12
- import { P as Presence } from "../../index-CA2QNu6z.js";
12
+ import { P as Presence } from "../../index-wO-IHm1z.js";
13
13
  import { cn } from "../../utils/utils.js";
14
14
  import { c as createLucideIcon } from "../../createLucideIcon-KSoQd4Wi.js";
15
15
  /**
@@ -2,30 +2,22 @@ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { P as Primitive, r as reactDomExports } from "../../index-B761_inZ.js";
4
4
  import { c as clamp } from "../../index-IXOTxK3N.js";
5
- import { c as createContextScope, b as composeEventHandlers, u as useLayoutEffect2, a as useCallbackRef } from "../../index-CDCkSjVs.js";
5
+ import { c as createContextScope, b as composeEventHandlers, u as useLayoutEffect2, a as useCallbackRef } from "../../index-NZPkObcw.js";
6
6
  import { c as createCollection } from "../../index-E5yk6fTE.js";
7
7
  import { u as useComposedRefs, S as Slot } from "../../index-D9mvqz1C.js";
8
8
  import { u as useDirection } from "../../index-Bk8dRTPE.js";
9
- import { D as DismissableLayer } from "../../index-Dz0Z0Mhp.js";
10
- import { h as hideOthers, u as useFocusGuards, R as ReactRemoveScroll, F as FocusScope } from "../../index-DoIb06Ge.js";
11
- import { u as useId } from "../../index-Deoi9R3y.js";
12
- import { c as createPopperScope, A as Anchor, C as Content, a as Arrow, R as Root2$1 } from "../../index-DjvLSytK.js";
13
- import { P as Portal$1 } from "../../index-DDUC0qyC.js";
14
- import { u as useControllableState } from "../../index-DFSwSCB0.js";
9
+ import { D as DismissableLayer } from "../../index-BcR8DnnV.js";
10
+ import { h as hideOthers, u as useFocusGuards, R as ReactRemoveScroll, F as FocusScope } from "../../Combination-D2GKeTwa.js";
11
+ import { u as useId } from "../../index-DzfDO78K.js";
12
+ import { c as createPopperScope, A as Anchor, C as Content, a as Arrow, R as Root2$1 } from "../../index-CcNKXchf.js";
13
+ import { P as Portal$1 } from "../../index-D75exu1X.js";
14
+ import { u as useControllableState } from "../../index-B0wyIFEr.js";
15
15
  import { u as usePrevious } from "../../index-CshadhlS.js";
16
16
  import { V as VisuallyHidden } from "../../index-cCT-Qkr7.js";
17
17
  import { cn } from "../../utils/utils.js";
18
+ import { C as ChevronDown } from "../../chevron-down-CfJmko7t.js";
18
19
  import { c as createLucideIcon } from "../../createLucideIcon-KSoQd4Wi.js";
19
20
  import { C as Check } from "../../check-B7dJm08z.js";
20
- /**
21
- * @license lucide-react v0.456.0 - ISC
22
- *
23
- * This source code is licensed under the ISC license.
24
- * See the LICENSE file in the root directory of this source tree.
25
- */
26
- const ChevronDown = createLucideIcon("ChevronDown", [
27
- ["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]
28
- ]);
29
21
  /**
30
22
  * @license lucide-react v0.456.0 - ISC
31
23
  *