@carlonicora/nextjs-jsonapi 1.55.1 → 1.56.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.
@@ -47,7 +47,7 @@ import {
47
47
  TabsList,
48
48
  TabsTrigger,
49
49
  useCurrentUserContext
50
- } from "../chunk-PHYEALSV.mjs";
50
+ } from "../chunk-GIB6J3VK.mjs";
51
51
  import {
52
52
  getRoleId,
53
53
  getStripePublishableKey
@@ -8344,7 +8344,7 @@ __name(FormCheckbox, "FormCheckbox");
8344
8344
  import dynamic from "next/dynamic";
8345
8345
  import React14 from "react";
8346
8346
  import { jsx as jsx67 } from "react/jsx-runtime";
8347
- var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-IKOGDWDQ.mjs"), {
8347
+ var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-UX7LGDTO.mjs"), {
8348
8348
  ssr: false
8349
8349
  });
8350
8350
  var BlockNoteEditorContainer = React14.memo(/* @__PURE__ */ __name(function EditorContainer(props) {
@@ -9034,16 +9034,18 @@ __name(FormPlaceAutocomplete, "FormPlaceAutocomplete");
9034
9034
 
9035
9035
  // src/components/forms/FormSelect.tsx
9036
9036
  import { jsx as jsx75, jsxs as jsxs42 } from "react/jsx-runtime";
9037
+ var EMPTY_VALUE = "__empty__";
9037
9038
  function FormSelect({
9038
9039
  form,
9039
9040
  id,
9040
9041
  name,
9041
- placeholder: _placeholder,
9042
+ placeholder,
9042
9043
  disabled,
9043
9044
  values,
9044
9045
  onChange,
9045
9046
  useRows,
9046
- testId
9047
+ testId,
9048
+ allowEmpty
9047
9049
  }) {
9048
9050
  return /* @__PURE__ */ jsx75("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx75(
9049
9051
  FormFieldWrapper,
@@ -9057,15 +9059,19 @@ function FormSelect({
9057
9059
  Select,
9058
9060
  {
9059
9061
  onValueChange: (e) => {
9060
- field.onChange(e);
9061
- if (onChange) onChange(e);
9062
+ const actual = e === EMPTY_VALUE ? "" : e;
9063
+ field.onChange(actual);
9064
+ if (onChange) onChange(actual);
9062
9065
  },
9063
- value: field.value,
9066
+ value: field.value || (allowEmpty ? EMPTY_VALUE : field.value),
9064
9067
  disabled,
9065
9068
  "data-testid": testId,
9066
9069
  children: [
9067
- /* @__PURE__ */ jsx75(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx75(SelectValue, { children: values.find((v) => v.id === field.value)?.text }) }),
9068
- /* @__PURE__ */ jsx75(SelectContent, { children: values.map((type) => /* @__PURE__ */ jsx75(SelectItem, { value: type.id, children: type.text }, type.id)) })
9070
+ /* @__PURE__ */ jsx75(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx75(SelectValue, { children: field.value ? values.find((v) => v.id === field.value)?.text : placeholder ?? "" }) }),
9071
+ /* @__PURE__ */ jsxs42(SelectContent, { children: [
9072
+ allowEmpty && /* @__PURE__ */ jsx75(SelectItem, { value: EMPTY_VALUE, className: "text-muted-foreground", children: placeholder ?? "" }),
9073
+ values.map((type) => /* @__PURE__ */ jsx75(SelectItem, { value: type.id, children: type.text }, type.id))
9074
+ ] })
9069
9075
  ]
9070
9076
  }
9071
9077
  )
@@ -9573,22 +9579,22 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
9573
9579
  }, "setUser");
9574
9580
  return /* @__PURE__ */ jsx87("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx87(FormFieldWrapper, { form, name: id, label, isRequired, children: (field) => /* @__PURE__ */ jsxs52(Popover, { open, onOpenChange: setOpen, modal: true, children: [
9575
9581
  /* @__PURE__ */ jsxs52("div", { className: "flex w-full flex-row items-center justify-between", children: [
9576
- /* @__PURE__ */ jsx87(PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ jsx87("div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ jsx87(Fragment7, { children: /* @__PURE__ */ jsxs52("div", { className: "flex w-full flex-row items-center justify-start rounded-md border p-2", children: [
9577
- /* @__PURE__ */ jsx87("div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ jsxs52(Avatar, { className: `mr-2 h-6 w-6`, children: [
9582
+ /* @__PURE__ */ jsx87(PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ jsx87("div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ jsxs52("div", { className: "bg-input/20 dark:bg-input/30 border-input flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: [
9583
+ /* @__PURE__ */ jsx87("div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ jsxs52(Avatar, { className: `mr-2 h-4 w-4`, children: [
9578
9584
  /* @__PURE__ */ jsx87(AvatarImage, { src: field.value?.avatar }),
9579
9585
  /* @__PURE__ */ jsx87(AvatarFallback, { children: field.value?.name ? field.value?.name.split(" ").map((name) => name.charAt(0).toUpperCase()) : "X" })
9580
9586
  ] }) }),
9581
- /* @__PURE__ */ jsx87("span", { className: "", children: field.value?.name ?? "" })
9582
- ] }) }) : /* @__PURE__ */ jsx87("div", { className: "text-muted-foreground mr-7 flex h-10 w-full flex-row items-center justify-start rounded-md border p-2 text-sm", children: placeholder ?? t(`ui.search.placeholder`, { type: t(`entities.users`, { count: 1 }) }) }) }) }),
9587
+ /* @__PURE__ */ jsx87("span", { children: field.value?.name ?? "" })
9588
+ ] }) : /* @__PURE__ */ jsx87("div", { className: "bg-input/20 dark:bg-input/30 border-input text-muted-foreground flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: placeholder ?? t(`ui.search.placeholder`, { type: t(`entities.users`, { count: 1 }) }) }) }) }),
9583
9589
  field.value && /* @__PURE__ */ jsx87(
9584
9590
  CircleX,
9585
9591
  {
9586
- className: "text-muted hover:text-destructive ml-2 h-6 w-6 cursor-pointer",
9592
+ className: "text-muted hover:text-destructive ml-2 h-4 w-4 shrink-0 cursor-pointer",
9587
9593
  onClick: () => setUser()
9588
9594
  }
9589
9595
  )
9590
9596
  ] }),
9591
- /* @__PURE__ */ jsx87(PopoverContent, { children: /* @__PURE__ */ jsxs52(Command, { shouldFilter: false, children: [
9597
+ /* @__PURE__ */ jsx87(PopoverContent, { align: "start", className: "w-(--anchor-width)", children: /* @__PURE__ */ jsxs52(Command, { shouldFilter: false, children: [
9592
9598
  /* @__PURE__ */ jsxs52("div", { className: "relative mb-2 w-full", children: [
9593
9599
  /* @__PURE__ */ jsx87(SearchIcon2, { className: "text-muted-foreground absolute top-2.5 left-2.5 h-4 w-4" }),
9594
9600
  /* @__PURE__ */ jsx87(
@@ -18748,4 +18754,4 @@ export {
18748
18754
  useOAuthClients,
18749
18755
  useOAuthClient
18750
18756
  };
18751
- //# sourceMappingURL=chunk-PHYEALSV.mjs.map
18757
+ //# sourceMappingURL=chunk-GIB6J3VK.mjs.map