@krak-stack/registry 0.1.25 → 0.1.27

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 (44) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/components/ui/data-table.js +212 -207
  4. package/dist/components/ui/effect-form.js +170 -169
  5. package/dist/components/ui/form.js +113 -112
  6. package/dist/components/ui/icon-input.js +43 -40
  7. package/dist/components/ui/pagination.js +2 -2
  8. package/dist/components/ui/sidebar-layout.d.ts +5 -2
  9. package/dist/components/ui/sidebar-layout.js +88 -80
  10. package/dist/components/ui/theme-switcher.js +3 -3
  11. package/dist/components/ui/virtualized-combobox.js +34 -31
  12. package/dist/lib/docs.d.ts +3 -1
  13. package/dist/lib/docs.js +181 -162
  14. package/dist/lib/docs.server.js +62 -36
  15. package/dist/lib/documentation-toolkit.js +63 -37
  16. package/dist/lib/httpapi-cli.js +7 -7
  17. package/dist/lib/httpapi-client.js +3 -3
  18. package/dist/lib/httpapi-helpers.js +11 -11
  19. package/dist/lib/httpapi-mcp.js +2 -2
  20. package/dist/lib/httpapi-toolkit.js +2 -2
  21. package/dist/lib/query.js +7 -7
  22. package/dist/lib/seo.js +2 -2
  23. package/dist/lib/webfetch-toolkit.js +6 -6
  24. package/dist/services/agent/client/index.js +129 -128
  25. package/dist/services/agent/schema.js +5 -5
  26. package/dist/services/file-extraction/index.js +4 -4
  27. package/dist/services/file-extraction/schema.js +2 -2
  28. package/dist/services/health/index.js +9 -9
  29. package/dist/services/notification/channels/ses/index.d.ts +2 -2
  30. package/dist/services/notification/channels/ses/index.js +2 -2
  31. package/dist/services/notification/channels/ses/schema.js +2 -2
  32. package/dist/services/notification/client/index.js +5 -5
  33. package/dist/services/notification/index.js +2 -2
  34. package/dist/services/notification/persistence/drizzle.d.ts +868 -0
  35. package/dist/services/notification/persistence/drizzle.js +2 -2
  36. package/dist/services/notification/persistence/index.d.ts +2 -0
  37. package/dist/services/notification/persistence/index.js +15 -15
  38. package/dist/services/notification/persistence/schema.d.ts +143 -0
  39. package/dist/services/notification/persistence/schema.js +12 -12
  40. package/dist/services/notification/public.js +7 -7
  41. package/dist/services/notification/schema.js +2 -2
  42. package/dist/services/s3/index.js +2 -2
  43. package/dist/services/s3/schema.js +2 -2
  44. package/package.json +2 -2
@@ -90,10 +90,13 @@ function Input({ className, type, ...props }) {
90
90
  });
91
91
  }
92
92
 
93
- // ../../src/components/ui/input-group.tsx
93
+ // ../../src/components/ui/textarea.tsx
94
94
  import { jsx as jsx3 } from "react/jsx-runtime";
95
+
96
+ // ../../src/components/ui/input-group.tsx
97
+ import { jsx as jsx4 } from "react/jsx-runtime";
95
98
  function InputGroup({ className, ...props }) {
96
- return /* @__PURE__ */ jsx3("div", {
99
+ return /* @__PURE__ */ jsx4("div", {
97
100
  "data-slot": "input-group",
98
101
  role: "group",
99
102
  className: cn("group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className),
@@ -126,7 +129,7 @@ function InputGroupInput({
126
129
  className,
127
130
  ...props
128
131
  }) {
129
- return /* @__PURE__ */ jsx3(Input, {
132
+ return /* @__PURE__ */ jsx4(Input, {
130
133
  "data-slot": "input-group-control",
131
134
  className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", className),
132
135
  ...props
@@ -570,7 +573,7 @@ function isCustomStrategy(strategy2) {
570
573
  }
571
574
 
572
575
  // ../../src/components/ui/virtualized-combobox.tsx
573
- import { jsx as jsx4, jsxs } from "react/jsx-runtime";
576
+ import { jsx as jsx5, jsxs } from "react/jsx-runtime";
574
577
  "use client";
575
578
  var messages = {
576
579
  en: {
@@ -646,19 +649,19 @@ var VirtualizedComboboxList = ({
646
649
  virtualizer.measure();
647
650
  }, [virtualizer]);
648
651
  if (filteredItems.length === 0) {
649
- return /* @__PURE__ */ jsx4("div", {
652
+ return /* @__PURE__ */ jsx5("div", {
650
653
  className: "text-muted-foreground py-6 text-center text-sm",
651
654
  children: emptyLabel
652
655
  });
653
656
  }
654
- return /* @__PURE__ */ jsx4(ComboboxPrimitive.List, {
657
+ return /* @__PURE__ */ jsx5(ComboboxPrimitive.List, {
655
658
  className: "scroll-py-1 overflow-auto overscroll-contain p-1",
656
659
  ref: handleScrollElementRef,
657
660
  style: {
658
661
  height: Math.min(virtualizer.getTotalSize() + 8, 288),
659
662
  maxHeight: "var(--available-height)"
660
663
  },
661
- children: /* @__PURE__ */ jsx4("div", {
664
+ children: /* @__PURE__ */ jsx5("div", {
662
665
  className: "relative w-full",
663
666
  role: "presentation",
664
667
  style: { height: virtualizer.getTotalSize() },
@@ -671,9 +674,9 @@ var VirtualizedComboboxList = ({
671
674
  transform: `translateY(${virtualItem.start}px)`
672
675
  };
673
676
  if (entry.kind === "group") {
674
- return /* @__PURE__ */ jsx4(ComboboxPrimitive.Group, {
677
+ return /* @__PURE__ */ jsx5(ComboboxPrimitive.Group, {
675
678
  className: "contents",
676
- children: /* @__PURE__ */ jsx4(ComboboxPrimitive.GroupLabel, {
679
+ children: /* @__PURE__ */ jsx5(ComboboxPrimitive.GroupLabel, {
677
680
  className: "text-muted-foreground absolute top-0 left-0 w-full px-2 pt-3 pb-1 text-xs",
678
681
  "data-index": virtualItem.index,
679
682
  ref: virtualizer.measureElement,
@@ -692,13 +695,13 @@ var VirtualizedComboboxList = ({
692
695
  style,
693
696
  value: entry.item,
694
697
  children: [
695
- renderItem?.(entry.item) ?? /* @__PURE__ */ jsx4("span", {
698
+ renderItem?.(entry.item) ?? /* @__PURE__ */ jsx5("span", {
696
699
  className: "min-w-0 truncate",
697
700
  children: entry.item.label
698
701
  }),
699
- /* @__PURE__ */ jsx4(ComboboxPrimitive.ItemIndicator, {
702
+ /* @__PURE__ */ jsx5(ComboboxPrimitive.ItemIndicator, {
700
703
  className: "absolute right-2 flex size-4 items-center justify-center",
701
- children: /* @__PURE__ */ jsx4(Check, {})
704
+ children: /* @__PURE__ */ jsx5(Check, {})
702
705
  })
703
706
  ]
704
707
  }, entry.item.value);
@@ -717,8 +720,8 @@ var VirtualizedComboboxContent = ({
717
720
  virtualizerRef
718
721
  }) => {
719
722
  const labels = virtualizedComboboxMessages(messageOverrides);
720
- return /* @__PURE__ */ jsx4(ComboboxPrimitive.Portal, {
721
- children: /* @__PURE__ */ jsx4(ComboboxPrimitive.Positioner, {
723
+ return /* @__PURE__ */ jsx5(ComboboxPrimitive.Portal, {
724
+ children: /* @__PURE__ */ jsx5(ComboboxPrimitive.Positioner, {
722
725
  align: "start",
723
726
  className: "isolate z-50",
724
727
  side: "bottom",
@@ -726,17 +729,17 @@ var VirtualizedComboboxContent = ({
726
729
  children: /* @__PURE__ */ jsxs(ComboboxPrimitive.Popup, {
727
730
  className: cn("relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-0 origin-(--transform-origin) overflow-hidden rounded-md bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-in-95", contentClassName),
728
731
  children: [
729
- /* @__PURE__ */ jsx4("div", {
732
+ /* @__PURE__ */ jsx5("div", {
730
733
  className: "min-w-0 p-1 pb-0",
731
- children: /* @__PURE__ */ jsx4(InputGroup, {
734
+ children: /* @__PURE__ */ jsx5(InputGroup, {
732
735
  className: "border-input/30 bg-input/30 h-8 w-full min-w-0 shadow-none",
733
- children: /* @__PURE__ */ jsx4(ComboboxPrimitive.Input, {
736
+ children: /* @__PURE__ */ jsx5(ComboboxPrimitive.Input, {
734
737
  placeholder: labels.search,
735
- render: /* @__PURE__ */ jsx4(InputGroupInput, {})
738
+ render: /* @__PURE__ */ jsx5(InputGroupInput, {})
736
739
  })
737
740
  })
738
741
  }),
739
- /* @__PURE__ */ jsx4(VirtualizedComboboxList, {
742
+ /* @__PURE__ */ jsx5(VirtualizedComboboxList, {
740
743
  emptyLabel,
741
744
  groupSelections,
742
745
  itemIndexRef,
@@ -759,20 +762,20 @@ var defaultTrigger = (ariaLabel, ariaInvalid, disabled, label, triggerId) => /*
759
762
  type: "button",
760
763
  variant: "outline",
761
764
  children: [
762
- /* @__PURE__ */ jsx4("span", {
765
+ /* @__PURE__ */ jsx5("span", {
763
766
  className: "min-w-0 flex-1 truncate pr-7 text-left",
764
767
  children: label
765
768
  }),
766
- /* @__PURE__ */ jsx4(ChevronsUpDown, {
769
+ /* @__PURE__ */ jsx5(ChevronsUpDown, {
767
770
  className: "text-muted-foreground shrink-0 opacity-70"
768
771
  })
769
772
  ]
770
773
  });
771
- var defaultClear = (label) => /* @__PURE__ */ jsx4(ComboboxPrimitive.Clear, {
774
+ var defaultClear = (label) => /* @__PURE__ */ jsx5(ComboboxPrimitive.Clear, {
772
775
  "aria-label": label,
773
776
  className: "text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute top-1/2 right-7 z-10 flex size-6 -translate-y-1/2 items-center justify-center rounded-sm outline-none focus-visible:border focus-visible:ring-3",
774
777
  type: "button",
775
- children: /* @__PURE__ */ jsx4(X, {
778
+ children: /* @__PURE__ */ jsx5(X, {
776
779
  className: "size-3.5"
777
780
  })
778
781
  });
@@ -811,13 +814,13 @@ var VirtualizedComboboxSingle = (props) => {
811
814
  /* @__PURE__ */ jsxs("div", {
812
815
  className: "relative",
813
816
  children: [
814
- /* @__PURE__ */ jsx4(ComboboxPrimitive.Trigger, {
817
+ /* @__PURE__ */ jsx5(ComboboxPrimitive.Trigger, {
815
818
  render: props.trigger ?? defaultTrigger(props.ariaLabel, props.ariaInvalid, props.disabled, selectedLabel(props.value, props.placeholder), props.triggerId)
816
819
  }),
817
820
  props.trigger ? null : defaultClear(labels.clear)
818
821
  ]
819
822
  }),
820
- /* @__PURE__ */ jsx4(VirtualizedComboboxContent, {
823
+ /* @__PURE__ */ jsx5(VirtualizedComboboxContent, {
821
824
  ...props,
822
825
  groupSelections: false,
823
826
  itemIndexRef,
@@ -853,13 +856,13 @@ var VirtualizedComboboxMultiple = (props) => {
853
856
  /* @__PURE__ */ jsxs("div", {
854
857
  className: "relative",
855
858
  children: [
856
- /* @__PURE__ */ jsx4(ComboboxPrimitive.Trigger, {
859
+ /* @__PURE__ */ jsx5(ComboboxPrimitive.Trigger, {
857
860
  render: props.trigger ?? defaultTrigger(props.ariaLabel, props.ariaInvalid, props.disabled, selectedLabel(props.value, props.placeholder), props.triggerId)
858
861
  }),
859
862
  props.trigger ? null : defaultClear(labels.clear)
860
863
  ]
861
864
  }),
862
- /* @__PURE__ */ jsx4(VirtualizedComboboxContent, {
865
+ /* @__PURE__ */ jsx5(VirtualizedComboboxContent, {
863
866
  ...props,
864
867
  groupSelections: true,
865
868
  itemIndexRef,
@@ -870,15 +873,15 @@ var VirtualizedComboboxMultiple = (props) => {
870
873
  });
871
874
  };
872
875
  function VirtualizedCombobox(props) {
873
- return props.multiple ? /* @__PURE__ */ jsx4(VirtualizedComboboxMultiple, {
876
+ return props.multiple ? /* @__PURE__ */ jsx5(VirtualizedComboboxMultiple, {
874
877
  ...props
875
- }) : /* @__PURE__ */ jsx4(VirtualizedComboboxSingle, {
878
+ }) : /* @__PURE__ */ jsx5(VirtualizedComboboxSingle, {
876
879
  ...props
877
880
  });
878
881
  }
879
882
 
880
883
  // ../../src/components/ui/icon-input.tsx
881
- import { jsx as jsx5, jsxs as jsxs2, Fragment } from "react/jsx-runtime";
884
+ import { jsx as jsx6, jsxs as jsxs2, Fragment } from "react/jsx-runtime";
882
885
  var IconifySearchResponse = Schema.Struct({
883
886
  icons: Schema.Array(Schema.String)
884
887
  }).pipe(Schema.annotate({ identifier: "IconifySearchResponse" }));
@@ -932,20 +935,20 @@ function IconInput({
932
935
  const isWaiting = deferredQuery.trim() !== "" && AsyncResult.isWaiting(iconSearchResult);
933
936
  const items = icons.map((icon) => ({ label: icon, value: icon }));
934
937
  const selectedItem = value ? { label: value, value } : null;
935
- return /* @__PURE__ */ jsx5(VirtualizedCombobox, {
938
+ return /* @__PURE__ */ jsx6(VirtualizedCombobox, {
936
939
  ariaLabel: copy.select,
937
940
  contentClassName: "w-80",
938
941
  emptyLabel: isWaiting ? null : /* @__PURE__ */ jsxs2("div", {
939
942
  className: "text-muted-foreground flex flex-col items-center gap-2 px-3",
940
943
  children: [
941
- /* @__PURE__ */ jsx5(Search, {
944
+ /* @__PURE__ */ jsx6(Search, {
942
945
  className: "size-5"
943
946
  }),
944
- /* @__PURE__ */ jsx5("p", {
947
+ /* @__PURE__ */ jsx6("p", {
945
948
  children: query ? copy.empty : copy.searchPrompt
946
949
  }),
947
950
  /* @__PURE__ */ jsxs2(Button, {
948
- render: /* @__PURE__ */ jsx5("a", {
951
+ render: /* @__PURE__ */ jsx6("a", {
949
952
  href: iconifyCollectionUrl(collection),
950
953
  rel: "noreferrer",
951
954
  target: "_blank"
@@ -955,7 +958,7 @@ function IconInput({
955
958
  children: [
956
959
  copy.browse,
957
960
  " ",
958
- /* @__PURE__ */ jsx5(ExternalLink, {
961
+ /* @__PURE__ */ jsx6(ExternalLink, {
959
962
  className: "inline size-3"
960
963
  })
961
964
  ]
@@ -981,22 +984,22 @@ function IconInput({
981
984
  placeholder: copy.select,
982
985
  renderItem: (item) => /* @__PURE__ */ jsxs2(Fragment, {
983
986
  children: [
984
- /* @__PURE__ */ jsx5(Icon, {
987
+ /* @__PURE__ */ jsx6(Icon, {
985
988
  className: "size-5 shrink-0",
986
989
  icon: `${collection}:${item.value}`
987
990
  }),
988
- /* @__PURE__ */ jsx5("span", {
991
+ /* @__PURE__ */ jsx6("span", {
989
992
  className: "truncate",
990
993
  children: item.label
991
994
  }),
992
- /* @__PURE__ */ jsx5("span", {
995
+ /* @__PURE__ */ jsx6("span", {
993
996
  className: "sr-only",
994
997
  children: copy.select
995
998
  })
996
999
  ]
997
1000
  }),
998
1001
  searchValue: query,
999
- trigger: /* @__PURE__ */ jsx5(Button, {
1002
+ trigger: /* @__PURE__ */ jsx6(Button, {
1000
1003
  "aria-label": copy.select,
1001
1004
  disabled,
1002
1005
  id,
@@ -1004,7 +1007,7 @@ function IconInput({
1004
1007
  title: value,
1005
1008
  type: "button",
1006
1009
  variant: "outline",
1007
- children: /* @__PURE__ */ jsx5(Icon, {
1010
+ children: /* @__PURE__ */ jsx6(Icon, {
1008
1011
  className: "size-5",
1009
1012
  icon: `${collection}:${value}`
1010
1013
  })
@@ -790,6 +790,6 @@ function Pagination({
790
790
  });
791
791
  }
792
792
  export {
793
- Pagination,
794
- paginationMessages
793
+ paginationMessages,
794
+ Pagination
795
795
  };
@@ -2,7 +2,7 @@ import type { LucideIcon } from "lucide-react";
2
2
  type NavItem = {
3
3
  label: () => string;
4
4
  href: string;
5
- icon: LucideIcon;
5
+ icon?: LucideIcon;
6
6
  badge?: () => string;
7
7
  external?: boolean;
8
8
  };
@@ -10,6 +10,7 @@ type NavGroup = {
10
10
  label: () => string;
11
11
  items: NavItem[];
12
12
  };
13
+ export type SidebarCollapsible = "icon" | "offcanvas" | "none";
13
14
  export type { NavItem, NavGroup };
14
15
  export declare const useSidebarLayout: () => {
15
16
  isMobile: boolean;
@@ -24,7 +25,7 @@ type SidebarPageHeaderProps = {
24
25
  actions?: React.ReactNode;
25
26
  };
26
27
  export declare function SidebarPageHeader({ title, description, badge, actions, }: SidebarPageHeaderProps): import("react").JSX.Element;
27
- export declare function SidebarLayout({ groups, children, sidebarFooter, sidebarHeader, headerActions, contentClassName, fullPage, }: {
28
+ export declare function SidebarLayout({ groups, children, sidebarFooter, sidebarHeader, headerActions, contentClassName, fullPage, sidebarCollapsible, defaultOpen, }: {
28
29
  groups: NavGroup[];
29
30
  children?: React.ReactNode;
30
31
  sidebarFooter?: React.ReactNode;
@@ -32,4 +33,6 @@ export declare function SidebarLayout({ groups, children, sidebarFooter, sidebar
32
33
  headerActions?: React.ReactNode;
33
34
  contentClassName?: string;
34
35
  fullPage?: boolean;
36
+ sidebarCollapsible?: SidebarCollapsible;
37
+ defaultOpen?: boolean;
35
38
  }): import("react").JSX.Element;