@orbitkit/components 0.1.0 → 0.2.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.
Files changed (133) hide show
  1. package/README.md +25 -25
  2. package/dist/astro/accordion/Accordion.astro +34 -0
  3. package/dist/astro/accordion/AccordionItem.astro +19 -0
  4. package/dist/astro/accordion/AccordionTrigger.astro +33 -0
  5. package/dist/astro/accordion/AcordionContent.astro +23 -0
  6. package/dist/astro/accordion/accordion.ts +151 -0
  7. package/dist/astro/accordion/index.ts +6 -0
  8. package/dist/astro/alert/Alert.astro +30 -30
  9. package/dist/astro/alert/AlertDescription.astro +10 -10
  10. package/dist/astro/alert/AlertTitle.astro +15 -15
  11. package/dist/astro/alert/alertVariants.ts +51 -51
  12. package/dist/astro/alert/index.ts +6 -6
  13. package/dist/astro/avatar/Avatar.astro +16 -16
  14. package/dist/astro/avatar/AvatarFallback.astro +18 -18
  15. package/dist/astro/avatar/AvatarImage.astro +14 -14
  16. package/dist/astro/avatar/avatarVariants.ts +23 -23
  17. package/dist/astro/avatar/index.ts +6 -6
  18. package/dist/astro/badge/Badge.astro +22 -22
  19. package/dist/astro/badge/badgeVariants.ts +37 -37
  20. package/dist/astro/badge/index.ts +4 -4
  21. package/dist/astro/breadcrumb/Breadcrumb.astro +12 -12
  22. package/dist/astro/breadcrumb/BreadcrumbEllipsis.astro +20 -20
  23. package/dist/astro/breadcrumb/BreadcrumbItem.astro +15 -15
  24. package/dist/astro/breadcrumb/BreadcrumbLink.astro +18 -18
  25. package/dist/astro/breadcrumb/BreadcrumbList.astro +18 -18
  26. package/dist/astro/breadcrumb/BreadcrumbPage.astro +18 -18
  27. package/dist/astro/breadcrumb/BreadcrumbSeparator.astro +17 -17
  28. package/dist/astro/breadcrumb/index.ts +17 -17
  29. package/dist/astro/button/Button.astro +29 -29
  30. package/dist/astro/button/buttonVariants.ts +61 -61
  31. package/dist/astro/button/index.ts +4 -4
  32. package/dist/astro/card/Card.astro +18 -18
  33. package/dist/astro/card/CardContent.astro +12 -12
  34. package/dist/astro/card/CardDescription.astro +12 -12
  35. package/dist/astro/card/CardFooter.astro +15 -15
  36. package/dist/astro/card/CardHeader.astro +12 -12
  37. package/dist/astro/card/CardTitle.astro +18 -18
  38. package/dist/astro/card/index.ts +15 -15
  39. package/dist/astro/checkbox/Checkbox.astro +38 -38
  40. package/dist/astro/checkbox/index.ts +3 -3
  41. package/dist/astro/collapsible/Collapsible.astro +34 -0
  42. package/dist/astro/collapsible/CollapsibleContent.astro +20 -0
  43. package/dist/astro/collapsible/collapsible.ts +81 -0
  44. package/dist/astro/collapsible/index.ts +4 -0
  45. package/dist/astro/divider/Divider.astro +22 -22
  46. package/dist/astro/divider/index.ts +3 -3
  47. package/dist/astro/drawer/Drawer.astro +19 -0
  48. package/dist/astro/drawer/DrawerContent.astro +74 -0
  49. package/dist/astro/drawer/DrawerDescription.astro +12 -0
  50. package/dist/astro/drawer/DrawerFooter.astro +15 -0
  51. package/dist/astro/drawer/DrawerHeader.astro +12 -0
  52. package/dist/astro/drawer/DrawerTitle.astro +18 -0
  53. package/dist/astro/drawer/drawer.ts +104 -0
  54. package/dist/astro/drawer/drawerVariants.ts +83 -0
  55. package/dist/astro/drawer/index.ts +17 -0
  56. package/dist/astro/dropdown/DropdownMenu.astro +19 -0
  57. package/dist/astro/dropdown/DropdownMenuContent.astro +42 -0
  58. package/dist/astro/dropdown/DropdownMenuGroup.astro +3 -0
  59. package/dist/astro/dropdown/DropdownMenuItem.astro +27 -0
  60. package/dist/astro/dropdown/DropdownMenuLabel.astro +3 -0
  61. package/dist/astro/dropdown/DropdownMenuSeparator.astro +6 -0
  62. package/dist/astro/dropdown/dropdown.ts +157 -0
  63. package/dist/astro/dropdown/dropdownVariants.ts +134 -0
  64. package/dist/astro/dropdown/index.ts +23 -0
  65. package/dist/astro/input/Input.astro +18 -18
  66. package/dist/astro/input/index.ts +4 -4
  67. package/dist/astro/input/inputVariants.ts +30 -30
  68. package/dist/astro/kbd/Kbd.astro +18 -0
  69. package/dist/astro/kbd/index.ts +3 -0
  70. package/dist/astro/label/Label.astro +14 -14
  71. package/dist/astro/label/index.ts +3 -3
  72. package/dist/astro/list/List.astro +25 -25
  73. package/dist/astro/list/ListItem.astro +39 -39
  74. package/dist/astro/list/ListVariants.ts +65 -65
  75. package/dist/astro/list/index.ts +5 -5
  76. package/dist/astro/modal/Modal.astro +19 -0
  77. package/dist/astro/modal/ModalContent.astro +71 -0
  78. package/dist/astro/modal/ModalDescription.astro +12 -0
  79. package/dist/astro/modal/ModalFooter.astro +15 -0
  80. package/dist/astro/modal/ModalHeader.astro +12 -0
  81. package/dist/astro/modal/ModalTitle.astro +18 -0
  82. package/dist/astro/modal/index.ts +15 -0
  83. package/dist/astro/modal/modal.ts +101 -0
  84. package/dist/astro/pagination/Pagination.astro +12 -0
  85. package/dist/astro/pagination/PaginationContent.astro +15 -0
  86. package/dist/astro/pagination/PaginationEllipsis.astro +33 -0
  87. package/dist/astro/pagination/PaginationItem.astro +12 -0
  88. package/dist/astro/pagination/PaginationLink.astro +21 -0
  89. package/dist/astro/pagination/PaginationNext.astro +29 -0
  90. package/dist/astro/pagination/PaginationPrevious.astro +34 -0
  91. package/dist/astro/pagination/index.ts +15 -0
  92. package/dist/astro/pagination/paginationVariants.ts +26 -0
  93. package/dist/astro/popover/Popover.astro +17 -0
  94. package/dist/astro/popover/PopoverContent.astro +39 -0
  95. package/dist/astro/popover/index.ts +5 -0
  96. package/dist/astro/popover/popover.ts +113 -0
  97. package/dist/astro/popover/popoverVariants.ts +115 -0
  98. package/dist/astro/progress/Progress.astro +23 -23
  99. package/dist/astro/progress/index.ts +4 -4
  100. package/dist/astro/progress/progressContainer.astro +17 -17
  101. package/dist/astro/radio/Radio.astro +26 -26
  102. package/dist/astro/radio/index.ts +3 -3
  103. package/dist/astro/select/Option.astro +11 -11
  104. package/dist/astro/select/Select.astro +39 -39
  105. package/dist/astro/select/index.ts +5 -5
  106. package/dist/astro/select/selectVariants.ts +30 -30
  107. package/dist/astro/skeleton/Skeleton.astro +12 -12
  108. package/dist/astro/skeleton/SkeletonItem.astro +18 -18
  109. package/dist/astro/skeleton/index.ts +4 -4
  110. package/dist/astro/stat/Stat.astro +12 -0
  111. package/dist/astro/stat/StatDescription.astro +12 -0
  112. package/dist/astro/stat/StatTitle.astro +18 -0
  113. package/dist/astro/stat/StatValue.astro +12 -0
  114. package/dist/astro/stat/index.ts +6 -0
  115. package/dist/astro/switch/Switch.astro +19 -19
  116. package/dist/astro/switch/index.ts +3 -3
  117. package/dist/astro/tab/Tab.astro +33 -0
  118. package/dist/astro/tab/TabContent.astro +19 -0
  119. package/dist/astro/tab/TabList.astro +19 -0
  120. package/dist/astro/tab/TabTrigger.astro +24 -0
  121. package/dist/astro/tab/index.ts +6 -0
  122. package/dist/astro/tab/tab.ts +142 -0
  123. package/dist/astro/textarea/Textarea.astro +19 -19
  124. package/dist/astro/textarea/TextareaVariants.ts +30 -30
  125. package/dist/astro/textarea/index.ts +4 -4
  126. package/dist/astro/tooltip/Tooltip.astro +40 -0
  127. package/dist/astro/tooltip/TooltipContent.astro +39 -0
  128. package/dist/astro/tooltip/index.ts +5 -0
  129. package/dist/astro/tooltip/tooltip.ts +137 -0
  130. package/dist/astro/tooltip/tooltipVariants.ts +115 -0
  131. package/dist/index.js +46 -1
  132. package/dist/index.js.map +1 -1
  133. package/package.json +2 -2
@@ -1,30 +1,30 @@
1
- import { cva } from "class-variance-authority";
2
-
3
- const baseClass =
4
- "block w-full p-2.5 mb-2 text-sm rounded-lg outline-1 -outline-offset-1";
5
-
6
- const textareaVariants = cva(baseClass, {
7
- variants: {
8
- variant: {
9
- default:
10
- "text-foreground bg-input outline-input-border placeholder-input-placeholder",
11
- },
12
- disabled: {
13
- false: null,
14
- true: "bg-input/40 outline-input-border/40 text-muted-foreground cursor-not-allowed ",
15
- },
16
- },
17
- compoundVariants: [
18
- {
19
- variant: "default",
20
- disabled: false,
21
- class: "focus:outline-2 focus:-outline-offset-2 focus:outline-primary",
22
- },
23
- ],
24
- defaultVariants: {
25
- variant: "default",
26
- disabled: false,
27
- },
28
- });
29
-
30
- export { textareaVariants };
1
+ import { cva } from "class-variance-authority";
2
+
3
+ const baseClass =
4
+ "block w-full p-2.5 mb-2 text-sm rounded-lg outline-1 -outline-offset-1";
5
+
6
+ const textareaVariants = cva(baseClass, {
7
+ variants: {
8
+ variant: {
9
+ default:
10
+ "text-foreground bg-input outline-input-border placeholder-input-placeholder",
11
+ },
12
+ disabled: {
13
+ false: null,
14
+ true: "bg-input/40 outline-input-border/40 text-muted-foreground cursor-not-allowed ",
15
+ },
16
+ },
17
+ compoundVariants: [
18
+ {
19
+ variant: "default",
20
+ disabled: false,
21
+ class: "focus:outline-2 focus:-outline-offset-2 focus:outline-primary",
22
+ },
23
+ ],
24
+ defaultVariants: {
25
+ variant: "default",
26
+ disabled: false,
27
+ },
28
+ });
29
+
30
+ export { textareaVariants };
@@ -1,4 +1,4 @@
1
- import Textarea from "./Textarea.astro";
2
- import { textareaVariants } from "./TextareaVariants";
3
-
4
- export { Textarea, textareaVariants };
1
+ import Textarea from "./Textarea.astro";
2
+ import { textareaVariants } from "./TextareaVariants";
3
+
4
+ export { Textarea, textareaVariants };
@@ -0,0 +1,40 @@
1
+ ---
2
+ interface Props {
3
+ disableHoverableContent?: boolean;
4
+ openDelay?: number;
5
+ closeDelay?: number;
6
+ duration?: number;
7
+ }
8
+
9
+ const {
10
+ openDelay = 150,
11
+ closeDelay = 150,
12
+ duration = 200,
13
+ disableHoverableContent = false,
14
+ } = Astro.props;
15
+ ---
16
+
17
+ <div
18
+ class="relative inline-flex"
19
+ data-tooltip
20
+ data-open-delay={openDelay}
21
+ data-close-delay={closeDelay}
22
+ data-duration={duration}
23
+ data-disable-hoverable-content={disableHoverableContent}
24
+ >
25
+ <slot />
26
+ </div>
27
+
28
+ <script>
29
+ import { Tooltip } from "./tooltip";
30
+
31
+ function init() {
32
+ const tooltips = document.querySelectorAll<HTMLElement>("[data-tooltip]");
33
+ tooltips.forEach((tooltip) => {
34
+ new Tooltip(tooltip);
35
+ });
36
+ }
37
+
38
+ init();
39
+ document.addEventListener("astro:page-load", () => init());
40
+ </script>
@@ -0,0 +1,39 @@
1
+ ---
2
+ import { cn } from "@/utils/cn";
3
+ import type { HTMLAttributes } from "astro/types";
4
+ import type { VariantProps } from "class-variance-authority";
5
+ import { tooltipArrowVariants, tooltipVariants } from "./tooltipVariants";
6
+
7
+ interface Props
8
+ extends HTMLAttributes<"div">,
9
+ VariantProps<typeof tooltipVariants> {
10
+ sideOffset?: number;
11
+ arrow?: boolean;
12
+ }
13
+
14
+ const {
15
+ class: className,
16
+ side,
17
+ alignment,
18
+ sideOffset = 2,
19
+ arrow = true,
20
+ ...attrs
21
+ } = Astro.props;
22
+ ---
23
+
24
+ <div
25
+ {...attrs}
26
+ role="tooltip"
27
+ data-tooltip-content
28
+ aria-hidden="false"
29
+ data-state="closed"
30
+ data-side={sideOffset}
31
+ data-alignment={alignment}
32
+ class={cn(tooltipVariants({ side, alignment, className }))}
33
+ style={{
34
+ "--tooltip-offset": `calc(var(--spacing) * ${sideOffset})`,
35
+ }}
36
+ >
37
+ <slot />
38
+ {arrow && <span class={cn(tooltipArrowVariants({ side, alignment }))} />}
39
+ </div>
@@ -0,0 +1,5 @@
1
+ import Tooltip from "./Tooltip.astro";
2
+ import TooltipContent from "./TooltipContent.astro";
3
+ import { tooltipArrowVariants, tooltipVariants } from "./tooltipVariants";
4
+
5
+ export { Tooltip, tooltipArrowVariants, TooltipContent, tooltipVariants };
@@ -0,0 +1,137 @@
1
+ export class Tooltip {
2
+ // References to tooltip elements
3
+ private tooltip: HTMLElement;
4
+ private trigger: HTMLElement | null;
5
+ private content: HTMLElement | null;
6
+
7
+ // Tooltip configuration options
8
+ private duration: number;
9
+ private openDelay: number;
10
+ private closeDelay: number;
11
+
12
+ // Timers for managing tooltip open/close/hide delays
13
+ private openTimerId: number | null = null;
14
+ private closeTimerId: number | null = null;
15
+ private hideTimerId: number | null = null;
16
+
17
+ constructor(tooltip: HTMLElement) {
18
+ this.tooltip = tooltip;
19
+ this.content = this.tooltip.querySelector("[data-tooltip-content]");
20
+ this.trigger = this.tooltip.querySelector("[data-trigger]");
21
+
22
+ this.duration = parseFloat(tooltip.dataset.duration || "200");
23
+ this.openDelay = parseFloat(tooltip.dataset.openDelay || "0");
24
+ this.closeDelay = parseFloat(tooltip.dataset.closeDelay || "0");
25
+
26
+ if (!this.tooltip || !this.content || !this.trigger) {
27
+ console.error("Tooltip not initialized properly", {
28
+ container: this.tooltip,
29
+ trigger: this.trigger,
30
+ content: this.content,
31
+ });
32
+ return;
33
+ }
34
+
35
+ // If you want to use animations instead of transitions
36
+ // set animation duration instead of transition duration.
37
+ this.content.style.transitionDuration = `${this.duration}ms`;
38
+
39
+ this.init();
40
+ }
41
+
42
+ private init() {
43
+ this.setupAccessibility();
44
+ this.setupEventListeners();
45
+ }
46
+
47
+ private setupAccessibility() {
48
+ if (!this.trigger || !this.content) return;
49
+
50
+ const id =
51
+ this.content.id ||
52
+ `tooltip-id-${Math.random().toString(36).substring(2, 9)}`;
53
+ this.content.id = id;
54
+ this.trigger.setAttribute("aria-describedby", id);
55
+ this.setState("closed");
56
+ }
57
+
58
+ private setupEventListeners() {
59
+ if (!this.trigger || !this.content) return;
60
+
61
+ this.trigger!.addEventListener("mouseenter", () => this.showTooltip());
62
+ this.trigger!.addEventListener("mouseleave", () => this.hideTooltip());
63
+ this.trigger.addEventListener("focus", () => this.showTooltip(true));
64
+ this.trigger.addEventListener("blur", () => this.hideTooltip(true));
65
+
66
+ if (this.tooltip.dataset.disableHoverableContent === "false") {
67
+ this.content.addEventListener("mouseenter", () => this.showTooltip());
68
+ this.content.addEventListener("mouseleave", () => this.hideTooltip());
69
+ }
70
+
71
+ document.addEventListener("keydown", (e) => this.handleKeyDown(e));
72
+ }
73
+
74
+ private showTooltip(instant: boolean = false) {
75
+ this.clearCloseTimer();
76
+ this.content?.classList.remove("hidden");
77
+
78
+ if (instant) {
79
+ this.setState("open");
80
+ return;
81
+ }
82
+
83
+ this.openTimerId = window.setTimeout(() => {
84
+ this.setState("open");
85
+ this.openTimerId = null;
86
+ }, this.openDelay);
87
+ }
88
+
89
+ private hideTooltip(instant: boolean = false) {
90
+ this.clearOpenTimer();
91
+
92
+ if (instant) {
93
+ this.setState("closed");
94
+ this.content?.classList.add("hidden");
95
+ return;
96
+ }
97
+
98
+ this.closeTimerId = window.setTimeout(() => {
99
+ this.setState("closed");
100
+ this.hideTimerId = window.setTimeout(() => {
101
+ this.content?.classList.add("hidden");
102
+ this.closeTimerId = null;
103
+ this.hideTimerId = null;
104
+ }, this.duration);
105
+ }, this.closeDelay);
106
+ }
107
+
108
+ private setState(state: "open" | "closed") {
109
+ this.content?.setAttribute("aria-hidden", `${state === "closed"}`);
110
+ this.content?.setAttribute("data-state", state);
111
+ }
112
+
113
+ private clearOpenTimer() {
114
+ if (this.openTimerId) {
115
+ window.clearTimeout(this.openTimerId);
116
+ this.openTimerId = null;
117
+ }
118
+ }
119
+
120
+ private clearCloseTimer() {
121
+ if (this.closeTimerId) {
122
+ window.clearTimeout(this.closeTimerId);
123
+ this.closeTimerId = null;
124
+ }
125
+ if (this.hideTimerId) {
126
+ window.clearTimeout(this.hideTimerId);
127
+ this.hideTimerId = null;
128
+ }
129
+ }
130
+
131
+ private handleKeyDown = (event: KeyboardEvent) => {
132
+ if (event.key === "Escape" && this.content!.dataset.status === "open") {
133
+ this.hideTooltip(true);
134
+ event.preventDefault();
135
+ }
136
+ };
137
+ }
@@ -0,0 +1,115 @@
1
+ import { cva } from "class-variance-authority";
2
+
3
+ const baseClass = [
4
+ "hidden absolute z-50 px-3 py-1.5 whitespace-nowrap bg-foreground text-background rounded-md text-sm backdrop-blur-sm max-w-xs",
5
+ "transform transition-all ease-in data-[state=closed]:opacity-0 data-[state=closed]:scale-95 data[state=open]:opacity-100 data[state=open]:scale-100",
6
+ ];
7
+
8
+ const tooltipVariants = cva(baseClass, {
9
+ variants: {
10
+ side: {
11
+ top: "bottom-full mb-(--tooltip-offset)",
12
+ bottom: "top-full mt-(--tooltip-offset)",
13
+ left: "right-full mr-(--tooltip-offset)",
14
+ right: "left-full ml-(--tooltip-offset)",
15
+ },
16
+ alignment: {
17
+ start: "",
18
+ center: "",
19
+ end: "",
20
+ },
21
+ },
22
+ compoundVariants: [
23
+ {
24
+ side: ["top", "bottom"],
25
+ alignment: "start",
26
+ class: "left-0",
27
+ },
28
+ {
29
+ side: ["top", "bottom"],
30
+ alignment: "end",
31
+ class: "left-full -translate-x-full",
32
+ },
33
+ {
34
+ side: ["top", "bottom"],
35
+ alignment: "center",
36
+ class: "left-1/2 -translate-x-1/2",
37
+ },
38
+ {
39
+ side: ["left", "right"],
40
+ alignment: "start",
41
+ class: "top-0 -translate-y-0",
42
+ },
43
+ {
44
+ side: ["left", "right"],
45
+ alignment: "center",
46
+ class: "top-1/2 -translate-y-1/2",
47
+ },
48
+ {
49
+ side: ["left", "right"],
50
+ alignment: "end",
51
+ class: "top-full -translate-y-full",
52
+ },
53
+ ],
54
+ defaultVariants: {
55
+ side: "top",
56
+ alignment: "center",
57
+ },
58
+ });
59
+
60
+ const arrowClass =
61
+ "absolute w-0 h-0 transition-all transform ease-in size-2 bg-foreground transform rotate-45";
62
+
63
+ const tooltipArrowVariants = cva(arrowClass, {
64
+ variants: {
65
+ side: {
66
+ top: "top-full -mt-1 ",
67
+ bottom: "bottom-full -mb-1",
68
+ left: "left-full -ml-1",
69
+ right: "right-full -mr-1",
70
+ },
71
+ alignment: {
72
+ start: "",
73
+ center: "",
74
+ end: "",
75
+ },
76
+ },
77
+ compoundVariants: [
78
+ {
79
+ side: ["top", "bottom"],
80
+ alignment: "start",
81
+ class: "left-0 ml-3 ",
82
+ },
83
+ {
84
+ side: ["top", "bottom"],
85
+ alignment: "end",
86
+ class: "right-0 mr-3",
87
+ },
88
+ {
89
+ side: ["top", "bottom"],
90
+ alignment: "center",
91
+ class: "left-1/2 -translate-x-1/2",
92
+ },
93
+ {
94
+ side: ["left", "right"],
95
+ alignment: "start",
96
+ class: "top-0 mt-3",
97
+ },
98
+ {
99
+ side: ["left", "right"],
100
+ alignment: "center",
101
+ class: "top-1/2 -translate-y-1/2",
102
+ },
103
+ {
104
+ side: ["left", "right"],
105
+ alignment: "end",
106
+ class: "bottom-0 mb-3",
107
+ },
108
+ ],
109
+ defaultVariants: {
110
+ side: "top",
111
+ alignment: "center",
112
+ },
113
+ });
114
+
115
+ export { tooltipArrowVariants, tooltipVariants };
package/dist/index.js CHANGED
@@ -68,6 +68,50 @@ var registry_default = {
68
68
  {
69
69
  name: "skeleton",
70
70
  version: "0.0.1"
71
+ },
72
+ {
73
+ name: "accordion",
74
+ version: "0.0.2"
75
+ },
76
+ {
77
+ name: "modal",
78
+ version: "0.0.2"
79
+ },
80
+ {
81
+ name: "tooltip",
82
+ version: "0.0.2"
83
+ },
84
+ {
85
+ name: "collapsible",
86
+ version: "0.0.1"
87
+ },
88
+ {
89
+ name: "drawer",
90
+ version: "0.0.2"
91
+ },
92
+ {
93
+ name: "dropdown",
94
+ version: "0.0.1"
95
+ },
96
+ {
97
+ name: "kbd",
98
+ version: "0.0.1"
99
+ },
100
+ {
101
+ name: "pagination",
102
+ version: "0.0.1"
103
+ },
104
+ {
105
+ name: "popover",
106
+ version: "0.0.1"
107
+ },
108
+ {
109
+ name: "stat",
110
+ version: "0.0.1"
111
+ },
112
+ {
113
+ name: "tab",
114
+ version: "0.0.1"
71
115
  }
72
116
  ]
73
117
  };
@@ -77,7 +121,8 @@ import { fileURLToPath } from "node:url";
77
121
  import path from "node:path";
78
122
  var __dirname = path.dirname(fileURLToPath(import.meta.url));
79
123
  function getAllComponents() {
80
- return registry_default.components;
124
+ const availableComponents = registry_default.components;
125
+ return availableComponents.sort((a, b) => a.name.localeCompare(b.name));
81
126
  }
82
127
  function getComponentPath(componentName) {
83
128
  return path.join(__dirname, "astro", componentName);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/registry.json","../src/index.ts"],"sourcesContent":["{\n \"components\": [\n {\n \"name\": \"button\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"alert\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"badge\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"avatar\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"card\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"input\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"label\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"breadcrumb\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"progress\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"textarea\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"select\",\n \"version\": \"0.0.2\"\n },\n {\n \"name\": \"switch\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"checkbox\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"radio\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"list\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"divider\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"skeleton\",\n \"version\": \"0.0.1\"\n }\n ]\n}\n","import registry from \"@/registry.json\";\nimport { fileURLToPath } from \"node:url\";\n\nimport path from \"node:path\";\nimport { ComponentRegistryEntry } from \"./types/registry\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport function getAllComponents() {\n return registry.components as ComponentRegistryEntry[];\n}\n\nexport function getComponentPath(componentName: string) {\n return path.join(__dirname, \"astro\", componentName);\n}\n\nexport async function checkComponentsInRegistry(components: string[]) {\n const valid: ComponentRegistryEntry[] = [];\n const invalid: string[] = [];\n const allComponents = getAllComponents();\n\n for (const component of components) {\n const found = allComponents.find(\n (c) => c.name.toLowerCase() === component.toLowerCase(),\n );\n if (found) {\n valid.push(found);\n } else {\n invalid.push(component);\n }\n }\n\n return { valid, invalid };\n}\n\nexport { type ComponentRegistryEntry } from \"@/types/registry\";\n"],"mappings":";AAAA;AAAA,EACE,YAAc;AAAA,IACZ;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,SAAW;AAAA,IACb;AAAA,EACF;AACF;;;ACtEA,SAAS,qBAAqB;AAE9B,OAAO,UAAU;AAGjB,IAAM,YAAY,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;AAEtD,SAAS,mBAAmB;AACjC,SAAO,iBAAS;AAClB;AAEO,SAAS,iBAAiB,eAAuB;AACtD,SAAO,KAAK,KAAK,WAAW,SAAS,aAAa;AACpD;AAEA,eAAsB,0BAA0B,YAAsB;AACpE,QAAM,QAAkC,CAAC;AACzC,QAAM,UAAoB,CAAC;AAC3B,QAAM,gBAAgB,iBAAiB;AAEvC,aAAW,aAAa,YAAY;AAClC,UAAM,QAAQ,cAAc;AAAA,MAC1B,CAAC,MAAM,EAAE,KAAK,YAAY,MAAM,UAAU,YAAY;AAAA,IACxD;AACA,QAAI,OAAO;AACT,YAAM,KAAK,KAAK;AAAA,IAClB,OAAO;AACL,cAAQ,KAAK,SAAS;AAAA,IACxB;AAAA,EACF;AAEA,SAAO,EAAE,OAAO,QAAQ;AAC1B;","names":[]}
1
+ {"version":3,"sources":["../src/registry.json","../src/index.ts"],"sourcesContent":["{\n \"components\": [\n {\n \"name\": \"button\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"alert\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"badge\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"avatar\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"card\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"input\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"label\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"breadcrumb\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"progress\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"textarea\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"select\",\n \"version\": \"0.0.2\"\n },\n {\n \"name\": \"switch\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"checkbox\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"radio\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"list\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"divider\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"skeleton\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"accordion\",\n \"version\": \"0.0.2\"\n },\n {\n \"name\": \"modal\",\n \"version\": \"0.0.2\"\n },\n {\n \"name\": \"tooltip\",\n \"version\": \"0.0.2\"\n },\n {\n \"name\": \"collapsible\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"drawer\",\n \"version\": \"0.0.2\"\n },\n {\n \"name\": \"dropdown\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"kbd\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"pagination\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"popover\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"stat\",\n \"version\": \"0.0.1\"\n },\n {\n \"name\": \"tab\",\n \"version\": \"0.0.1\"\n }\n ]\n}\n","import registry from \"@/registry.json\";\nimport { fileURLToPath } from \"node:url\";\n\nimport path from \"node:path\";\nimport { ComponentRegistryEntry } from \"./types/registry\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport function getAllComponents() {\n const availableComponents = registry.components as ComponentRegistryEntry[];\n return availableComponents.sort((a, b) => a.name.localeCompare(b.name));\n}\n\nexport function getComponentPath(componentName: string) {\n return path.join(__dirname, \"astro\", componentName);\n}\n\nexport async function checkComponentsInRegistry(components: string[]) {\n const valid: ComponentRegistryEntry[] = [];\n const invalid: string[] = [];\n const allComponents = getAllComponents();\n\n for (const component of components) {\n const found = allComponents.find(\n (c) => c.name.toLowerCase() === component.toLowerCase(),\n );\n if (found) {\n valid.push(found);\n } else {\n invalid.push(component);\n }\n }\n\n return { valid, invalid };\n}\n\nexport { type ComponentRegistryEntry } from \"@/types/registry\";\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbitkit/components",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Customizable UI components designed for seamless integration and scalability.",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -51,4 +51,4 @@
51
51
  "files": [
52
52
  "dist"
53
53
  ]
54
- }
54
+ }