@react-native-reusables/cli 0.0.11 → 0.0.13

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.
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{createMatchPath as L}from"tsconfig-paths";async function b(e,o){return L(o.absoluteBaseUrl,o.paths)(e,void 0,()=>!0,[".ts",".tsx"])}import{cosmiconfig as U}from"cosmiconfig";import{loadConfig as W}from"tsconfig-paths";import{z as m}from"zod";var N="~/components",S="~/lib",z=U("components",{searchPlaces:["components.json"]}),v=m.object({platforms:m.string().optional(),aliases:m.object({components:m.string(),lib:m.string()})}).strict(),J=v.extend({platforms:m.string().optional(),resolvedPaths:m.object({lib:m.string(),components:m.string()})});async function I(e){let o=await B(e);return o?await h(e,o):null}async function h(e,o){let r=await W(e);if(r.resultType==="failed")throw new Error(`Failed to load tsconfig.json. ${r.message??""}`.trim());return J.parse({...o,resolvedPaths:{lib:await b(o.aliases.lib,r),components:await b(o.aliases.components,r)}})}async function B(e){try{let o=await z.search(e);return o?v.parse(o.config):null}catch{throw new Error(`Invalid configuration found in ${e}/components.json.`)}}import{detect as V}from"@antfu/ni";async function T(e){let o=await V({programmatic:!0,cwd:e});return o==="yarn@berry"?"yarn":o==="pnpm@6"?"pnpm":o==="bun"?"bun":o??"npm"}import g from"chalk";var a={error(...e){console.log(g.red(...e))},warn(...e){console.log(g.yellow(...e))},info(...e){console.log(g.cyan(...e))},success(...e){console.log(g.green(...e))},break(){console.log("")}};function _(e){typeof e=="string"&&(a.error(e),process.exit(1)),e instanceof Error&&(a.error(e.message),process.exit(1)),a.error("Something went wrong. Please try again."),process.exit(1)}import k from"chalk";import{Command as q}from"commander";import{execa as H}from"execa";import{existsSync as P,promises as y}from"fs";import M from"ora";import p from"path";import C from"prompts";import{z as c}from"zod";var w=[{name:"accordion",dependencies:["accordion-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/accordion.tsx",to:{folder:"ui",file:"accordion.tsx"}}]},{name:"alert-dialog",dependencies:["alert-dialog-primitive","button","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/alert-dialog.tsx",to:{folder:"ui",file:"alert-dialog.tsx"}}]},{name:"aspect-ratio",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/aspect-ratio.tsx",to:{folder:"ui",file:"aspect-ratio.tsx"}}]},{name:"avatar",dependencies:["avatar-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/avatar.tsx",to:{folder:"ui",file:"avatar.tsx"}}]},{name:"badge",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/badge.tsx",to:{folder:"ui",file:"badge.tsx"}}]},{name:"button",dependencies:["text","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/button.tsx",to:{folder:"ui",file:"button.tsx"}}]},{name:"card",dependencies:["text","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/card.tsx",to:{folder:"ui",file:"card.tsx"}}]},{name:"checkbox",dependencies:["checkbox-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/checkbox.tsx",to:{folder:"ui",file:"checkbox.tsx"}}]},{name:"collapsible",dependencies:["collapsible-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/collapsible.tsx",to:{folder:"ui",file:"collapsible.tsx"}}]},{name:"context-menu",dependencies:["context-menu-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/context-menu.tsx",to:{folder:"ui",file:"context-menu.tsx"}}]},{name:"dialog",dependencies:["dialog-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/dialog.tsx",to:{folder:"ui",file:"dialog.tsx"}}]},{name:"dropdown-menu",dependencies:["dropdown-menu-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/dropdown-menu.tsx",to:{folder:"ui",file:"dropdown-menu.tsx"}}]},{name:"hover-card",dependencies:["hover-card-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/hover-card.tsx",to:{folder:"ui",file:"hover-card.tsx"}}]},{name:"input",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/input.tsx",to:{folder:"ui",file:"input.tsx"}}]},{name:"label",dependencies:["label-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/label.tsx",to:{folder:"ui",file:"label.tsx"}}]},{name:"menubar",dependencies:["menubar-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/menubar.tsx",to:{folder:"ui",file:"menubar.tsx"}}]},{name:"navigation-menu",dependencies:["navigation-menu-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/navigation-menu.tsx",to:{folder:"ui",file:"navigation-menu.tsx"}}]},{name:"popover",dependencies:["popover-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/popover.tsx",to:{folder:"ui",file:"popover.tsx"}}]},{name:"radio-group",dependencies:["radio-group-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/radio-group.tsx",to:{folder:"ui",file:"radio-group.tsx"}}]},{name:"select",dependencies:["select-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/select.tsx",to:{folder:"ui",file:"select.tsx"}}]},{name:"separator",dependencies:["separator-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/separator.tsx",to:{folder:"ui",file:"separator.tsx"}}]},{name:"skeleton",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/skeleton.tsx",to:{folder:"ui",file:"skeleton.tsx"}}]},{name:"switch",dependencies:["switch-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/switch.tsx",to:{folder:"ui",file:"switch.tsx"}}]},{name:"table",dependencies:["table-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/table.tsx",to:{folder:"ui",file:"table.tsx"}}]},{name:"tabs",dependencies:["tabs-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/tabs.tsx",to:{folder:"ui",file:"tabs.tsx"}}]},{name:"text",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/text.tsx",to:{folder:"ui",file:"text.tsx"}}]},{name:"textarea",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/textarea.tsx",to:{folder:"ui",file:"textarea.tsx"}}]},{name:"toggle",dependencies:["toggle-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/toggle.tsx",to:{folder:"ui",file:"toggle.tsx"}}]},{name:"toggle-group",dependencies:["toggle-group-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/toggle-group.tsx",to:{folder:"ui",file:"toggle-group.tsx"}}]},{name:"tooltip",dependencies:["tooltip-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/tooltip.tsx",to:{folder:"ui",file:"tooltip.tsx"}}]},{name:"typography",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/typography.tsx",to:{folder:"ui",file:"typography.tsx"}}]}],G=[{name:"accordion-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-accordion"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/accordion/src/index.ts",to:{folder:"primitives/accordion",file:"index.ts"}},{from:"./node_modules/@rnr/accordion/src/accordion.web.tsx",to:{folder:"primitives/accordion",file:"accordion.web.tsx"}},{from:"./node_modules/@rnr/accordion/src/accordion.tsx",to:{folder:"primitives/accordion",file:"accordion.tsx"}},{from:"./node_modules/@rnr/accordion/src/types.ts",to:{folder:"primitives/accordion",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/accordion/src/accordion.tsx",to:{folder:"primitives/accordion",file:"index.tsx"}},{from:"./node_modules/@rnr/accordion/src/types.ts",to:{folder:"primitives/accordion",file:" types.ts"}}]}},{name:"alert-dialog-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-alert-dialog"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/alert-dialog/src/index.ts",to:{folder:"primitives/alert-dialog",file:"index.ts"}},{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.web.tsx",to:{folder:"primitives/alert-dialog",file:"alert-dialog.web.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.tsx",to:{folder:"primitives/alert-dialog",file:"alert-dialog.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/types.ts",to:{folder:"primitives/alert-dialog",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.tsx",to:{folder:"primitives/alert-dialog",file:"index.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/types.ts",to:{folder:"primitives/alert-dialog",file:" types.ts"}}]}},{name:"aspect-ratio-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/aspect-ratio/src/aspect-ratio.tsx",to:{folder:"primitives",file:"aspect-ratio.tsx"}}]},{name:"avatar-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/avatar/src/avatar.tsx",to:{folder:"primitives/avatar",file:"index.tsx"}},{from:"./node_modules/@rnr/avatar/src/types.ts",to:{folder:"primitives/avatar",file:" types.ts"}}]},{name:"checkbox-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-checkbox"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/checkbox/src/index.ts",to:{folder:"primitives/checkbox",file:"index.ts"}},{from:"./node_modules/@rnr/checkbox/src/checkbox.web.tsx",to:{folder:"primitives/checkbox",file:"checkbox.web.tsx"}},{from:"./node_modules/@rnr/checkbox/src/checkbox.tsx",to:{folder:"primitives/checkbox",file:"checkbox.tsx"}},{from:"./node_modules/@rnr/checkbox/src/types.ts",to:{folder:"primitives/checkbox",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/checkbox/src/checkbox.tsx",to:{folder:"primitives/checkbox",file:"index.tsx"}},{from:"./node_modules/@rnr/checkbox/src/types.ts",to:{folder:"primitives/checkbox",file:" types.ts"}}]}},{name:"collapsible-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-collapsible"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/collapsible/src/index.ts",to:{folder:"primitives/collapsible",file:"index.ts"}},{from:"./node_modules/@rnr/collapsible/src/collapsible.web.tsx",to:{folder:"primitives/collapsible",file:"collapsible.web.tsx"}},{from:"./node_modules/@rnr/collapsible/src/collapsible.tsx",to:{folder:"primitives/collapsible",file:"collapsible.tsx"}},{from:"./node_modules/@rnr/collapsible/src/types.ts",to:{folder:"primitives/collapsible",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/collapsible/src/collapsible.tsx",to:{folder:"primitives/collapsible",file:"index.tsx"}},{from:"./node_modules/@rnr/collapsible/src/types.ts",to:{folder:"primitives/collapsible",file:" types.ts"}}]}},{name:"context-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-context-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/context-menu/src/index.ts",to:{folder:"primitives/context-menu",file:"index.ts"}},{from:"./node_modules/@rnr/context-menu/src/context-menu.web.tsx",to:{folder:"primitives/context-menu",file:"context-menu.web.tsx"}},{from:"./node_modules/@rnr/context-menu/src/context-menu.tsx",to:{folder:"primitives/context-menu",file:"context-menu.tsx"}},{from:"./node_modules/@rnr/context-menu/src/types.ts",to:{folder:"primitives/context-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/context-menu/src/context-menu.tsx",to:{folder:"primitives/context-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/context-menu/src/types.ts",to:{folder:"primitives/context-menu",file:" types.ts"}}]}},{name:"dialog-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-dialog"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/dialog/src/index.ts",to:{folder:"primitives/dialog",file:"index.ts"}},{from:"./node_modules/@rnr/dialog/src/dialog.web.tsx",to:{folder:"primitives/dialog",file:"dialog.web.tsx"}},{from:"./node_modules/@rnr/dialog/src/dialog.tsx",to:{folder:"primitives/dialog",file:"dialog.tsx"}},{from:"./node_modules/@rnr/dialog/src/types.ts",to:{folder:"primitives/dialog",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/dialog/src/dialog.tsx",to:{folder:"primitives/dialog",file:"index.tsx"}},{from:"./node_modules/@rnr/dialog/src/types.ts",to:{folder:"primitives/dialog",file:" types.ts"}}]}},{name:"dropdown-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-dropdown-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/dropdown-menu/src/index.ts",to:{folder:"primitives/dropdown-menu",file:"index.ts"}},{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.web.tsx",to:{folder:"primitives/dropdown-menu",file:"dropdown-menu.web.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx",to:{folder:"primitives/dropdown-menu",file:"dropdown-menu.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/types.ts",to:{folder:"primitives/dropdown-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx",to:{folder:"primitives/dropdown-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/types.ts",to:{folder:"primitives/dropdown-menu",file:" types.ts"}}]}},{name:"hover-card-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-hover-card"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/hover-card/src/index.ts",to:{folder:"primitives/hover-card",file:"index.ts"}},{from:"./node_modules/@rnr/hover-card/src/hover-card.web.tsx",to:{folder:"primitives/hover-card",file:"hover-card.web.tsx"}},{from:"./node_modules/@rnr/hover-card/src/hover-card.tsx",to:{folder:"primitives/hover-card",file:"hover-card.tsx"}},{from:"./node_modules/@rnr/hover-card/src/types.ts",to:{folder:"primitives/hover-card",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/hover-card/src/hover-card.tsx",to:{folder:"primitives/hover-card",file:"index.tsx"}},{from:"./node_modules/@rnr/hover-card/src/types.ts",to:{folder:"primitives/hover-card",file:" types.ts"}}]}},{name:"label-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-label"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/label/src/index.ts",to:{folder:"primitives/label",file:"index.ts"}},{from:"./node_modules/@rnr/label/src/label.web.tsx",to:{folder:"primitives/label",file:"label.web.tsx"}},{from:"./node_modules/@rnr/label/src/label.tsx",to:{folder:"primitives/label",file:"label.tsx"}},{from:"./node_modules/@rnr/label/src/types.ts",to:{folder:"primitives/label",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/label/src/label.tsx",to:{folder:"primitives/label",file:"index.tsx"}},{from:"./node_modules/@rnr/label/src/types.ts",to:{folder:"primitives/label",file:" types.ts"}}]}},{name:"menubar-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-menubar"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/menubar/src/index.ts",to:{folder:"primitives/menubar",file:"index.ts"}},{from:"./node_modules/@rnr/menubar/src/menubar.web.tsx",to:{folder:"primitives/menubar",file:"menubar.web.tsx"}},{from:"./node_modules/@rnr/menubar/src/menubar.tsx",to:{folder:"primitives/menubar",file:"menubar.tsx"}},{from:"./node_modules/@rnr/menubar/src/types.ts",to:{folder:"primitives/menubar",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/menubar/src/menubar.tsx",to:{folder:"primitives/menubar",file:"index.tsx"}},{from:"./node_modules/@rnr/menubar/src/types.ts",to:{folder:"primitives/menubar",file:" types.ts"}}]}},{name:"navigation-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-navigation-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/navigation-menu/src/index.ts",to:{folder:"primitives/navigation-menu",file:"index.ts"}},{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.web.tsx",to:{folder:"primitives/navigation-menu",file:"navigation-menu.web.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.tsx",to:{folder:"primitives/navigation-menu",file:"navigation-menu.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/types.ts",to:{folder:"primitives/navigation-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.tsx",to:{folder:"primitives/navigation-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/types.ts",to:{folder:"primitives/navigation-menu",file:" types.ts"}}]}},{name:"popover-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-popover"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/popover/src/index.ts",to:{folder:"primitives/popover",file:"index.ts"}},{from:"./node_modules/@rnr/popover/src/popover.web.tsx",to:{folder:"primitives/popover",file:"popover.web.tsx"}},{from:"./node_modules/@rnr/popover/src/popover.tsx",to:{folder:"primitives/popover",file:"popover.tsx"}},{from:"./node_modules/@rnr/popover/src/types.ts",to:{folder:"primitives/popover",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/popover/src/popover.tsx",to:{folder:"primitives/popover",file:"index.tsx"}},{from:"./node_modules/@rnr/popover/src/types.ts",to:{folder:"primitives/popover",file:" types.ts"}}]}},{name:"progress-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-progress"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/progress/src/index.ts",to:{folder:"primitives/progress",file:"index.ts"}},{from:"./node_modules/@rnr/progress/src/progress.web.tsx",to:{folder:"primitives/progress",file:"progress.web.tsx"}},{from:"./node_modules/@rnr/progress/src/progress.tsx",to:{folder:"primitives/progress",file:"progress.tsx"}},{from:"./node_modules/@rnr/progress/src/types.ts",to:{folder:"primitives/progress",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/progress/src/progress.tsx",to:{folder:"primitives/progress",file:"index.tsx"}},{from:"./node_modules/@rnr/progress/src/types.ts",to:{folder:"primitives/progress",file:" types.ts"}}]}},{name:"radio-group-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-radio-group"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/radio-group/src/index.ts",to:{folder:"primitives/radio-group",file:"index.ts"}},{from:"./node_modules/@rnr/radio-group/src/radio-group.web.tsx",to:{folder:"primitives/radio-group",file:"radio-group.web.tsx"}},{from:"./node_modules/@rnr/radio-group/src/radio-group.tsx",to:{folder:"primitives/radio-group",file:"radio-group.tsx"}},{from:"./node_modules/@rnr/radio-group/src/types.ts",to:{folder:"primitives/radio-group",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/radio-group/src/radio-group.tsx",to:{folder:"primitives/radio-group",file:"index.tsx"}},{from:"./node_modules/@rnr/radio-group/src/types.ts",to:{folder:"primitives/radio-group",file:" types.ts"}}]}},{name:"select-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-select"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/select/src/index.ts",to:{folder:"primitives/select",file:"index.ts"}},{from:"./node_modules/@rnr/select/src/select.web.tsx",to:{folder:"primitives/select",file:"select.web.tsx"}},{from:"./node_modules/@rnr/select/src/select.tsx",to:{folder:"primitives/select",file:"select.tsx"}},{from:"./node_modules/@rnr/select/src/types.ts",to:{folder:"primitives/select",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/select/src/select.tsx",to:{folder:"primitives/select",file:"index.tsx"}},{from:"./node_modules/@rnr/select/src/types.ts",to:{folder:"primitives/select",file:" types.ts"}}]}},{name:"separator-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/separator/src/separator.tsx",to:{folder:"primitives/separator",file:"index.tsx"}},{from:"./node_modules/@rnr/separator/src/types.ts",to:{folder:"primitives/separator",file:" types.ts"}}]},{name:"slider-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-slider"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/slider/src/index.ts",to:{folder:"primitives/slider",file:"index.ts"}},{from:"./node_modules/@rnr/slider/src/slider.web.tsx",to:{folder:"primitives/slider",file:"slider.web.tsx"}},{from:"./node_modules/@rnr/slider/src/slider.tsx",to:{folder:"primitives/slider",file:"slider.tsx"}},{from:"./node_modules/@rnr/slider/src/types.ts",to:{folder:"primitives/slider",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/slider/src/slider.tsx",to:{folder:"primitives/slider",file:"index.tsx"}},{from:"./node_modules/@rnr/slider/src/types.ts",to:{folder:"primitives/slider",file:" types.ts"}}]}},{name:"switch-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-switch"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/switch/src/index.ts",to:{folder:"primitives/switch",file:"index.ts"}},{from:"./node_modules/@rnr/switch/src/switch.web.tsx",to:{folder:"primitives/switch",file:"switch.web.tsx"}},{from:"./node_modules/@rnr/switch/src/switch.tsx",to:{folder:"primitives/switch",file:"switch.tsx"}},{from:"./node_modules/@rnr/switch/src/types.ts",to:{folder:"primitives/switch",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/switch/src/switch.tsx",to:{folder:"primitives/switch",file:"index.tsx"}},{from:"./node_modules/@rnr/switch/src/types.ts",to:{folder:"primitives/switch",file:" types.ts"}}]}},{name:"table-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/table/src/table.tsx",to:{folder:"primitives",file:"table.tsx"}}]},{name:"tabs-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-tabs"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/tabs/src/index.ts",to:{folder:"primitives/tabs",file:"index.ts"}},{from:"./node_modules/@rnr/tabs/src/tabs.web.tsx",to:{folder:"primitives/tabs",file:"tabs.web.tsx"}},{from:"./node_modules/@rnr/tabs/src/tabs.tsx",to:{folder:"primitives/tabs",file:"tabs.tsx"}},{from:"./node_modules/@rnr/tabs/src/types.ts",to:{folder:"primitives/tabs",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/tabs/src/tabs.tsx",to:{folder:"primitives/tabs",file:"index.tsx"}},{from:"./node_modules/@rnr/tabs/src/types.ts",to:{folder:"primitives/tabs",file:" types.ts"}}]}},{name:"toast-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/toast/src/toast.tsx",to:{folder:"primitives/toast",file:"index.tsx"}},{from:"./node_modules/@rnr/toast/src/types.ts",to:{folder:"primitives/toast",file:" types.ts"}}]},{name:"toggle-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-toggle"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toggle/src/index.ts",to:{folder:"primitives/toggle",file:"index.ts"}},{from:"./node_modules/@rnr/toggle/src/toggle.web.tsx",to:{folder:"primitives/toggle",file:"toggle.web.tsx"}},{from:"./node_modules/@rnr/toggle/src/toggle.tsx",to:{folder:"primitives/toggle",file:"toggle.tsx"}},{from:"./node_modules/@rnr/toggle/src/types.ts",to:{folder:"primitives/toggle",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toggle/src/toggle.tsx",to:{folder:"primitives/toggle",file:"index.tsx"}},{from:"./node_modules/@rnr/toggle/src/types.ts",to:{folder:"primitives/toggle",file:" types.ts"}}]}},{name:"toggle-group-primitive",dependencies:["slot-primitive","types-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-toggle-group"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toggle-group/src/index.ts",to:{folder:"primitives/toggle-group",file:"index.ts"}},{from:"./node_modules/@rnr/toggle-group/src/toggle-group.web.tsx",to:{folder:"primitives/toggle-group",file:"toggle-group.web.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/toggle-group.tsx",to:{folder:"primitives/toggle-group",file:"toggle-group.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/types.ts",to:{folder:"primitives/toggle-group",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toggle-group/src/toggle-group.tsx",to:{folder:"primitives/toggle-group",file:"index.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/types.ts",to:{folder:"primitives/toggle-group",file:" types.ts"}}]}},{name:"toolbar-primitive",dependencies:["slot-primitive","types-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-toolbar"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toolbar/src/index.ts",to:{folder:"primitives/toolbar",file:"index.ts"}},{from:"./node_modules/@rnr/toolbar/src/toolbar.web.tsx",to:{folder:"primitives/toolbar",file:"toolbar.web.tsx"}},{from:"./node_modules/@rnr/toolbar/src/toolbar.tsx",to:{folder:"primitives/toolbar",file:"toolbar.tsx"}},{from:"./node_modules/@rnr/toolbar/src/types.ts",to:{folder:"primitives/toolbar",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toolbar/src/toolbar.tsx",to:{folder:"primitives/toolbar",file:"index.tsx"}},{from:"./node_modules/@rnr/toolbar/src/types.ts",to:{folder:"primitives/toolbar",file:" types.ts"}}]}},{name:"tooltip-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-tooltip"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/tooltip/src/index.ts",to:{folder:"primitives/tooltip",file:"index.ts"}},{from:"./node_modules/@rnr/tooltip/src/tooltip.web.tsx",to:{folder:"primitives/tooltip",file:"tooltip.web.tsx"}},{from:"./node_modules/@rnr/tooltip/src/tooltip.tsx",to:{folder:"primitives/tooltip",file:"tooltip.tsx"}},{from:"./node_modules/@rnr/tooltip/src/types.ts",to:{folder:"primitives/tooltip",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/tooltip/src/tooltip.tsx",to:{folder:"primitives/tooltip",file:"index.tsx"}},{from:"./node_modules/@rnr/tooltip/src/types.ts",to:{folder:"primitives/tooltip",file:" types.ts"}}]}},{name:"hooks-primitive",dependencies:["types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/hooks/src/index.ts",to:{folder:"primitives/hooks",file:"index.ts"}},{from:"./node_modules/@rnr/hooks/src/useAugmentedRef.tsx",to:{folder:"primitives/hooks",file:"useAugmentedRef.tsx"}},{from:"./node_modules/@rnr/hooks/src/useControllableState.tsx",to:{folder:"primitives/hooks",file:"useControllableState.tsx"}},{from:"./node_modules/@rnr/hooks/src/useRelativePosition.tsx",to:{folder:"primitives/hooks",file:"useRelativePosition.tsx"}}]},{name:"portal-primitive",dependencies:[],npmPackages:{universal:["zustand"],"native-only":["zustand"]},paths:[{from:"./node_modules/@rnr/portal/src/portal.tsx",to:{folder:"primitives",file:"portal.tsx"}}]},{name:"slot-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/slot/src/slot.tsx",to:{folder:"primitives",file:"slot.tsx"}}]},{name:"types-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/types/src/index.ts",to:{folder:"primitives",file:"types.ts"}}]},{name:"utils-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/utils/src/index.ts",to:{folder:"primitives",file:"utils.ts"}}]}],d=[...w,...G];function j(e,o=new Set){let r=d.find(t=>t.name===e);if(!r)return[];o.add(e);let i=r.dependencies.slice();return r.dependencies.forEach(t=>{if(!o.has(t)){let s=j(t,o);i=i.concat(s)}}),i}var x="invalid component";function A(e){let o=new Set;if(e.some(r=>!d.find(i=>i.name===r)))throw new Error(x);return e.forEach(r=>{let i=j(r);i.unshift(r),i.forEach(t=>{o.add(t)})}),Array.from(o).map(r=>{let i=d.find(t=>t.name===r);if(!i)throw new Error(x);return i})}import{fileURLToPath as K}from"url";var Q=K(import.meta.url),X=p.dirname(Q),Y=c.object({components:c.array(c.string()).optional(),overwrite:c.boolean(),cwd:c.string(),path:c.string().optional()}),$=new q().name("add").description("add components to your project").argument("[components...]","the components to add").option("-o, --overwrite","overwrite existing files.",!1).option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-p, --path <path>","the path to add the component to.").action(async(e,o)=>{try{let r=Y.parse({components:e,...o}),i=p.resolve(r.cwd);P(i)||(a.error(`The path ${i} does not exist. Please try again.`),process.exit(1));let t=await I(i);t||(t=await ee(i));let s=r.components??[];if(!s?.length){let{components:n}=await C({type:"multiselect",name:"components",message:"Which components would you like to add?",hint:"Space to select. A to toggle all. Enter to submit.",instructions:!1,choices:w.map(u=>({title:u.name,value:u.name,selected:!1}))});s=n}s?.length||(a.warn("No components selected. Exiting."),process.exit(0));let l=M("Installing components...").start(),O=[];try{O=A(s)}catch(n){n instanceof Error&&n.message===x&&(a.error(`Invalid component(s): ${s.filter(u=>!d.find(F=>F.name===u)).join(", ")}`),process.exit(1)),a.error(n)}let f=[];for(let n of O)l.text=`Installing ${n.name}...`,Array.isArray(n.paths)?await R(n,n.paths,t,l):await R(n,n.paths[t.platforms==="universal"?"universal":"native-only"],t,l),f.push(...n.npmPackages[t.platforms==="universal"?"universal":"native-only"]);let E=await T(i);f.length&&(l.text=`Installing ${f.join(", ")}...`,await H(E,[E==="npm"?"install":"add",...f],{cwd:i})),l.succeed("Done.")}catch(r){_(r)}});async function R(e,o,r,i){for(let t of o){let s=p.join(r.resolvedPaths.components,t.to.folder);if(P(s)||await y.mkdir(s,{recursive:!0}),i.stop(),P(p.join(s,t.to.file))){a.info(`File already exists: ${k.bgCyan([t.to.folder,t.to.file].join("/"))} was skipped. To overwrite, run with the ${k.green("--overwrite")} flag.`);continue}i.start(`Installing ${e.name}...`);try{let l=await y.readFile(p.resolve(p.join(X,"generated/components",t.to.folder,t.to.file)),"utf8");await y.writeFile(p.join(s,t.to.file),Z(l,r.aliases.components,r.aliases.lib))}catch(l){_(l)}}}function Z(e,o,r){return e.replace("../Icons",`${o}/Icons`).replace("./typography",`${o}/ui/typography`).replace("./text",`${o}/ui/text`).replaceAll("../../components",o).replaceAll("../../lib",r).replaceAll("@rnr",`${o}/primitives`)}async function ee(e){let o=s=>k.cyan(s),r=await C([{type:"select",name:"platforms",message:`Which ${o("platforms")} do you support?`,choices:[{title:"Universal (Web, iOS, and Android)",value:"universal"},{title:"Native Only (iOS and Android)",value:"native-only"}]},{type:"text",name:"components",message:`Configure the import alias for ${o("components")}:`,initial:N},{type:"text",name:"lib",message:`Configure the import alias for ${o("lib")}:`,initial:S}]),i=v.parse({platforms:r.platforms,aliases:{lib:r.lib,components:r.components}}),{proceed:t}=await C({type:"confirm",name:"proceed",message:`Write configuration to ${o("components.json")}. Proceed?`,initial:!0});if(t){a.info("");let s=M("Writing components.json...").start(),l=p.resolve(e,"components.json");await y.writeFile(l,JSON.stringify(i,null,2),"utf8"),s.succeed()}return await h(e,i)}import{Command as te}from"commander";import oe from"path";import re from"fs-extra";function D(){let e=oe.join("package.json");return re.readJSONSync(e)}process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function ie(){let e=await D(),o=new te().name("rnr-cli").description("add components and dependencies to your project").version(e.version||"0.0.0-rc.0","-v, --version","display the version number");o.addCommand($),o.parse()}ie();
2
+ import{createMatchPath as U}from"tsconfig-paths";async function h(e,o){return U(o.absoluteBaseUrl,o.paths)(e,void 0,()=>!0,[".ts",".tsx"])}import{cosmiconfig as W}from"cosmiconfig";import{loadConfig as z}from"tsconfig-paths";import{z as m}from"zod";var E="~/components",N="~/lib",J=W("components",{searchPlaces:["components.json"]}),g=m.object({platforms:m.string().optional(),aliases:m.object({components:m.string(),lib:m.string()})}).strict(),B=g.extend({platforms:m.string().optional(),resolvedPaths:m.object({lib:m.string(),components:m.string()})});async function S(e){let o=await V(e);return o?await _(e,o):null}async function _(e,o){let t=await z(e);if(t.resultType==="failed")throw new Error(`Failed to load tsconfig.json. ${t.message??""}`.trim());return B.parse({...o,resolvedPaths:{lib:await h(o.aliases.lib,t),components:await h(o.aliases.components,t)}})}async function V(e){try{let o=await J.search(e);return o?g.parse(o.config):null}catch{throw new Error(`Invalid configuration found in ${e}/components.json.`)}}import{detect as G}from"@antfu/ni";async function I(e){let o=await G({programmatic:!0,cwd:e});return o==="yarn@berry"?"yarn":o==="pnpm@6"?"pnpm":o==="bun"?"bun":o??"npm"}import x from"chalk";var l={error(...e){console.log(x.red(...e))},warn(...e){console.log(x.yellow(...e))},info(...e){console.log(x.cyan(...e))},success(...e){console.log(x.green(...e))},break(){console.log("")}};function w(e){typeof e=="string"&&(l.error(e),process.exit(1)),e instanceof Error&&(l.error(e.message),process.exit(1)),l.error("Something went wrong. Please try again."),process.exit(1)}import P from"chalk";import{Command as H}from"commander";import{execa as K}from"execa";import{existsSync as F,promises as b}from"fs";import M from"ora";import p from"path";import C from"prompts";import{z as f}from"zod";var k=[{name:"accordion",dependencies:["accordion-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/accordion.tsx",to:{folder:"ui",file:"accordion.tsx"}}]},{name:"alert-dialog",dependencies:["alert-dialog-primitive","button","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/alert-dialog.tsx",to:{folder:"ui",file:"alert-dialog.tsx"}}]},{name:"aspect-ratio",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/aspect-ratio.tsx",to:{folder:"ui",file:"aspect-ratio.tsx"}}]},{name:"avatar",dependencies:["avatar-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/avatar.tsx",to:{folder:"ui",file:"avatar.tsx"}}]},{name:"badge",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/badge.tsx",to:{folder:"ui",file:"badge.tsx"}}]},{name:"button",dependencies:["text","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/button.tsx",to:{folder:"ui",file:"button.tsx"}}]},{name:"card",dependencies:["text","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/card.tsx",to:{folder:"ui",file:"card.tsx"}}]},{name:"checkbox",dependencies:["checkbox-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/checkbox.tsx",to:{folder:"ui",file:"checkbox.tsx"}}]},{name:"collapsible",dependencies:["collapsible-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/collapsible.tsx",to:{folder:"ui",file:"collapsible.tsx"}}]},{name:"context-menu",dependencies:["context-menu-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/context-menu.tsx",to:{folder:"ui",file:"context-menu.tsx"}}]},{name:"dialog",dependencies:["dialog-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/dialog.tsx",to:{folder:"ui",file:"dialog.tsx"}}]},{name:"dropdown-menu",dependencies:["dropdown-menu-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/dropdown-menu.tsx",to:{folder:"ui",file:"dropdown-menu.tsx"}}]},{name:"hover-card",dependencies:["hover-card-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/hover-card.tsx",to:{folder:"ui",file:"hover-card.tsx"}}]},{name:"input",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/input.tsx",to:{folder:"ui",file:"input.tsx"}}]},{name:"label",dependencies:["label-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/label.tsx",to:{folder:"ui",file:"label.tsx"}}]},{name:"menubar",dependencies:["menubar-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/menubar.tsx",to:{folder:"ui",file:"menubar.tsx"}}]},{name:"navigation-menu",dependencies:["navigation-menu-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/navigation-menu.tsx",to:{folder:"ui",file:"navigation-menu.tsx"}}]},{name:"popover",dependencies:["popover-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/popover.tsx",to:{folder:"ui",file:"popover.tsx"}}]},{name:"radio-group",dependencies:["radio-group-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/radio-group.tsx",to:{folder:"ui",file:"radio-group.tsx"}}]},{name:"select",dependencies:["select-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/select.tsx",to:{folder:"ui",file:"select.tsx"}}]},{name:"separator",dependencies:["separator-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/separator.tsx",to:{folder:"ui",file:"separator.tsx"}}]},{name:"skeleton",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/skeleton.tsx",to:{folder:"ui",file:"skeleton.tsx"}}]},{name:"switch",dependencies:["switch-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/switch.tsx",to:{folder:"ui",file:"switch.tsx"}}]},{name:"table",dependencies:["table-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/table.tsx",to:{folder:"ui",file:"table.tsx"}}]},{name:"tabs",dependencies:["tabs-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/tabs.tsx",to:{folder:"ui",file:"tabs.tsx"}}]},{name:"text",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/text.tsx",to:{folder:"ui",file:"text.tsx"}}]},{name:"textarea",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/textarea.tsx",to:{folder:"ui",file:"textarea.tsx"}}]},{name:"toggle",dependencies:["toggle-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/toggle.tsx",to:{folder:"ui",file:"toggle.tsx"}}]},{name:"toggle-group",dependencies:["toggle-group-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/toggle-group.tsx",to:{folder:"ui",file:"toggle-group.tsx"}}]},{name:"tooltip",dependencies:["tooltip-primitive","text"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/tooltip.tsx",to:{folder:"ui",file:"tooltip.tsx"}}]},{name:"typography",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/reusables/src/components/ui/typography.tsx",to:{folder:"ui",file:"typography.tsx"}}]}],q=[{name:"accordion-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-accordion"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/accordion/src/index.ts",to:{folder:"primitives/accordion",file:"index.ts"}},{from:"./node_modules/@rnr/accordion/src/accordion.web.tsx",to:{folder:"primitives/accordion",file:"accordion.web.tsx"}},{from:"./node_modules/@rnr/accordion/src/accordion.tsx",to:{folder:"primitives/accordion",file:"accordion.tsx"}},{from:"./node_modules/@rnr/accordion/src/types.ts",to:{folder:"primitives/accordion",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/accordion/src/accordion.tsx",distFrom:"primitives/accordion/accordion.tsx",to:{folder:"primitives/accordion",file:"index.tsx"}},{from:"./node_modules/@rnr/accordion/src/types.ts",distFrom:"primitives/accordion/types.ts",to:{folder:"primitives/accordion",file:"types.ts"}}]}},{name:"alert-dialog-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-alert-dialog"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/alert-dialog/src/index.ts",to:{folder:"primitives/alert-dialog",file:"index.ts"}},{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.web.tsx",to:{folder:"primitives/alert-dialog",file:"alert-dialog.web.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.tsx",to:{folder:"primitives/alert-dialog",file:"alert-dialog.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/types.ts",to:{folder:"primitives/alert-dialog",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/alert-dialog/src/alert-dialog.tsx",distFrom:"primitives/alert-dialog/alert-dialog.tsx",to:{folder:"primitives/alert-dialog",file:"index.tsx"}},{from:"./node_modules/@rnr/alert-dialog/src/types.ts",distFrom:"primitives/alert-dialog/types.ts",to:{folder:"primitives/alert-dialog",file:"types.ts"}}]}},{name:"aspect-ratio-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/aspect-ratio/src/aspect-ratio.tsx",to:{folder:"primitives",file:"aspect-ratio.tsx"}}]},{name:"avatar-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/avatar/src/avatar.tsx",to:{folder:"primitives/avatar",file:"index.tsx"}},{from:"./node_modules/@rnr/avatar/src/types.ts",to:{folder:"primitives/avatar",file:"types.ts"}}]},{name:"checkbox-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-checkbox"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/checkbox/src/index.ts",to:{folder:"primitives/checkbox",file:"index.ts"}},{from:"./node_modules/@rnr/checkbox/src/checkbox.web.tsx",to:{folder:"primitives/checkbox",file:"checkbox.web.tsx"}},{from:"./node_modules/@rnr/checkbox/src/checkbox.tsx",to:{folder:"primitives/checkbox",file:"checkbox.tsx"}},{from:"./node_modules/@rnr/checkbox/src/types.ts",to:{folder:"primitives/checkbox",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/checkbox/src/checkbox.tsx",distFrom:"primitives/checkbox/checkbox.tsx",to:{folder:"primitives/checkbox",file:"index.tsx"}},{from:"./node_modules/@rnr/checkbox/src/types.ts",distFrom:"primitives/checkbox/types.ts",to:{folder:"primitives/checkbox",file:"types.ts"}}]}},{name:"collapsible-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-collapsible"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/collapsible/src/index.ts",to:{folder:"primitives/collapsible",file:"index.ts"}},{from:"./node_modules/@rnr/collapsible/src/collapsible.web.tsx",to:{folder:"primitives/collapsible",file:"collapsible.web.tsx"}},{from:"./node_modules/@rnr/collapsible/src/collapsible.tsx",to:{folder:"primitives/collapsible",file:"collapsible.tsx"}},{from:"./node_modules/@rnr/collapsible/src/types.ts",to:{folder:"primitives/collapsible",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/collapsible/src/collapsible.tsx",distFrom:"primitives/collapsible/collapsible.tsx",to:{folder:"primitives/collapsible",file:"index.tsx"}},{from:"./node_modules/@rnr/collapsible/src/types.ts",distFrom:"primitives/collapsible/types.ts",to:{folder:"primitives/collapsible",file:"types.ts"}}]}},{name:"context-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-context-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/context-menu/src/index.ts",to:{folder:"primitives/context-menu",file:"index.ts"}},{from:"./node_modules/@rnr/context-menu/src/context-menu.web.tsx",to:{folder:"primitives/context-menu",file:"context-menu.web.tsx"}},{from:"./node_modules/@rnr/context-menu/src/context-menu.tsx",to:{folder:"primitives/context-menu",file:"context-menu.tsx"}},{from:"./node_modules/@rnr/context-menu/src/types.ts",to:{folder:"primitives/context-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/context-menu/src/context-menu.tsx",distFrom:"primitives/context-menu/context-menu.tsx",to:{folder:"primitives/context-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/context-menu/src/types.ts",distFrom:"primitives/context-menu/types.ts",to:{folder:"primitives/context-menu",file:"types.ts"}}]}},{name:"dialog-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-dialog"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/dialog/src/index.ts",to:{folder:"primitives/dialog",file:"index.ts"}},{from:"./node_modules/@rnr/dialog/src/dialog.web.tsx",to:{folder:"primitives/dialog",file:"dialog.web.tsx"}},{from:"./node_modules/@rnr/dialog/src/dialog.tsx",to:{folder:"primitives/dialog",file:"dialog.tsx"}},{from:"./node_modules/@rnr/dialog/src/types.ts",to:{folder:"primitives/dialog",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/dialog/src/dialog.tsx",distFrom:"primitives/dialog/dialog.tsx",to:{folder:"primitives/dialog",file:"index.tsx"}},{from:"./node_modules/@rnr/dialog/src/types.ts",distFrom:"primitives/dialog/types.ts",to:{folder:"primitives/dialog",file:"types.ts"}}]}},{name:"dropdown-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-dropdown-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/dropdown-menu/src/index.ts",to:{folder:"primitives/dropdown-menu",file:"index.ts"}},{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.web.tsx",to:{folder:"primitives/dropdown-menu",file:"dropdown-menu.web.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx",to:{folder:"primitives/dropdown-menu",file:"dropdown-menu.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/types.ts",to:{folder:"primitives/dropdown-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx",distFrom:"primitives/dropdown-menu/dropdown-menu.tsx",to:{folder:"primitives/dropdown-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/dropdown-menu/src/types.ts",distFrom:"primitives/dropdown-menu/types.ts",to:{folder:"primitives/dropdown-menu",file:"types.ts"}}]}},{name:"hover-card-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-hover-card"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/hover-card/src/index.ts",to:{folder:"primitives/hover-card",file:"index.ts"}},{from:"./node_modules/@rnr/hover-card/src/hover-card.web.tsx",to:{folder:"primitives/hover-card",file:"hover-card.web.tsx"}},{from:"./node_modules/@rnr/hover-card/src/hover-card.tsx",to:{folder:"primitives/hover-card",file:"hover-card.tsx"}},{from:"./node_modules/@rnr/hover-card/src/types.ts",to:{folder:"primitives/hover-card",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/hover-card/src/hover-card.tsx",distFrom:"primitives/hover-card/hover-card.tsx",to:{folder:"primitives/hover-card",file:"index.tsx"}},{from:"./node_modules/@rnr/hover-card/src/types.ts",distFrom:"primitives/hover-card/types.ts",to:{folder:"primitives/hover-card",file:"types.ts"}}]}},{name:"label-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-label"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/label/src/index.ts",to:{folder:"primitives/label",file:"index.ts"}},{from:"./node_modules/@rnr/label/src/label.web.tsx",to:{folder:"primitives/label",file:"label.web.tsx"}},{from:"./node_modules/@rnr/label/src/label.tsx",to:{folder:"primitives/label",file:"label.tsx"}},{from:"./node_modules/@rnr/label/src/types.ts",to:{folder:"primitives/label",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/label/src/label.tsx",distFrom:"primitives/label/label.tsx",to:{folder:"primitives/label",file:"index.tsx"}},{from:"./node_modules/@rnr/label/src/types.ts",distFrom:"primitives/label/types.ts",to:{folder:"primitives/label",file:"types.ts"}}]}},{name:"menubar-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-menubar"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/menubar/src/index.ts",to:{folder:"primitives/menubar",file:"index.ts"}},{from:"./node_modules/@rnr/menubar/src/menubar.web.tsx",to:{folder:"primitives/menubar",file:"menubar.web.tsx"}},{from:"./node_modules/@rnr/menubar/src/menubar.tsx",to:{folder:"primitives/menubar",file:"menubar.tsx"}},{from:"./node_modules/@rnr/menubar/src/types.ts",to:{folder:"primitives/menubar",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/menubar/src/menubar.tsx",distFrom:"primitives/menubar/menubar.tsx",to:{folder:"primitives/menubar",file:"index.tsx"}},{from:"./node_modules/@rnr/menubar/src/types.ts",distFrom:"primitives/menubar/types.ts",to:{folder:"primitives/menubar",file:"types.ts"}}]}},{name:"navigation-menu-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-navigation-menu"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/navigation-menu/src/index.ts",to:{folder:"primitives/navigation-menu",file:"index.ts"}},{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.web.tsx",to:{folder:"primitives/navigation-menu",file:"navigation-menu.web.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.tsx",to:{folder:"primitives/navigation-menu",file:"navigation-menu.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/types.ts",to:{folder:"primitives/navigation-menu",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/navigation-menu/src/navigation-menu.tsx",distFrom:"primitives/navigation-menu/navigation-menu.tsx",to:{folder:"primitives/navigation-menu",file:"index.tsx"}},{from:"./node_modules/@rnr/navigation-menu/src/types.ts",distFrom:"primitives/navigation-menu/types.ts",to:{folder:"primitives/navigation-menu",file:"types.ts"}}]}},{name:"popover-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-popover"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/popover/src/index.ts",to:{folder:"primitives/popover",file:"index.ts"}},{from:"./node_modules/@rnr/popover/src/popover.web.tsx",to:{folder:"primitives/popover",file:"popover.web.tsx"}},{from:"./node_modules/@rnr/popover/src/popover.tsx",to:{folder:"primitives/popover",file:"popover.tsx"}},{from:"./node_modules/@rnr/popover/src/types.ts",to:{folder:"primitives/popover",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/popover/src/popover.tsx",distFrom:"primitives/popover/popover.tsx",to:{folder:"primitives/popover",file:"index.tsx"}},{from:"./node_modules/@rnr/popover/src/types.ts",distFrom:"primitives/popover/types.ts",to:{folder:"primitives/popover",file:"types.ts"}}]}},{name:"progress-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-progress"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/progress/src/index.ts",to:{folder:"primitives/progress",file:"index.ts"}},{from:"./node_modules/@rnr/progress/src/progress.web.tsx",to:{folder:"primitives/progress",file:"progress.web.tsx"}},{from:"./node_modules/@rnr/progress/src/progress.tsx",to:{folder:"primitives/progress",file:"progress.tsx"}},{from:"./node_modules/@rnr/progress/src/types.ts",to:{folder:"primitives/progress",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/progress/src/progress.tsx",distFrom:"primitives/progress/progress.tsx",to:{folder:"primitives/progress",file:"index.tsx"}},{from:"./node_modules/@rnr/progress/src/types.ts",distFrom:"primitives/progress/types.ts",to:{folder:"primitives/progress",file:"types.ts"}}]}},{name:"radio-group-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-radio-group"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/radio-group/src/index.ts",to:{folder:"primitives/radio-group",file:"index.ts"}},{from:"./node_modules/@rnr/radio-group/src/radio-group.web.tsx",to:{folder:"primitives/radio-group",file:"radio-group.web.tsx"}},{from:"./node_modules/@rnr/radio-group/src/radio-group.tsx",to:{folder:"primitives/radio-group",file:"radio-group.tsx"}},{from:"./node_modules/@rnr/radio-group/src/types.ts",to:{folder:"primitives/radio-group",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/radio-group/src/radio-group.tsx",distFrom:"primitives/radio-group/radio-group.tsx",to:{folder:"primitives/radio-group",file:"index.tsx"}},{from:"./node_modules/@rnr/radio-group/src/types.ts",distFrom:"primitives/radio-group/types.ts",to:{folder:"primitives/radio-group",file:"types.ts"}}]}},{name:"select-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-select"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/select/src/index.ts",to:{folder:"primitives/select",file:"index.ts"}},{from:"./node_modules/@rnr/select/src/select.web.tsx",to:{folder:"primitives/select",file:"select.web.tsx"}},{from:"./node_modules/@rnr/select/src/select.tsx",to:{folder:"primitives/select",file:"select.tsx"}},{from:"./node_modules/@rnr/select/src/types.ts",to:{folder:"primitives/select",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/select/src/select.tsx",distFrom:"primitives/select/select.tsx",to:{folder:"primitives/select",file:"index.tsx"}},{from:"./node_modules/@rnr/select/src/types.ts",distFrom:"primitives/select/types.ts",to:{folder:"primitives/select",file:"types.ts"}}]}},{name:"separator-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/separator/src/separator.tsx",to:{folder:"primitives/separator",file:"index.tsx"}},{from:"./node_modules/@rnr/separator/src/types.ts",to:{folder:"primitives/separator",file:"types.ts"}}]},{name:"slider-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-slider"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/slider/src/index.ts",to:{folder:"primitives/slider",file:"index.ts"}},{from:"./node_modules/@rnr/slider/src/slider.web.tsx",to:{folder:"primitives/slider",file:"slider.web.tsx"}},{from:"./node_modules/@rnr/slider/src/slider.tsx",to:{folder:"primitives/slider",file:"slider.tsx"}},{from:"./node_modules/@rnr/slider/src/types.ts",to:{folder:"primitives/slider",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/slider/src/slider.tsx",distFrom:"primitives/slider/slider.tsx",to:{folder:"primitives/slider",file:"index.tsx"}},{from:"./node_modules/@rnr/slider/src/types.ts",distFrom:"primitives/slider/types.ts",to:{folder:"primitives/slider",file:"types.ts"}}]}},{name:"switch-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-switch"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/switch/src/index.ts",to:{folder:"primitives/switch",file:"index.ts"}},{from:"./node_modules/@rnr/switch/src/switch.web.tsx",to:{folder:"primitives/switch",file:"switch.web.tsx"}},{from:"./node_modules/@rnr/switch/src/switch.tsx",to:{folder:"primitives/switch",file:"switch.tsx"}},{from:"./node_modules/@rnr/switch/src/types.ts",to:{folder:"primitives/switch",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/switch/src/switch.tsx",distFrom:"primitives/switch/switch.tsx",to:{folder:"primitives/switch",file:"index.tsx"}},{from:"./node_modules/@rnr/switch/src/types.ts",distFrom:"primitives/switch/types.ts",to:{folder:"primitives/switch",file:"types.ts"}}]}},{name:"table-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/table/src/table.tsx",to:{folder:"primitives",file:"table.tsx"}}]},{name:"tabs-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-tabs"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/tabs/src/index.ts",to:{folder:"primitives/tabs",file:"index.ts"}},{from:"./node_modules/@rnr/tabs/src/tabs.web.tsx",to:{folder:"primitives/tabs",file:"tabs.web.tsx"}},{from:"./node_modules/@rnr/tabs/src/tabs.tsx",to:{folder:"primitives/tabs",file:"tabs.tsx"}},{from:"./node_modules/@rnr/tabs/src/types.ts",to:{folder:"primitives/tabs",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/tabs/src/tabs.tsx",distFrom:"primitives/tabs/tabs.tsx",to:{folder:"primitives/tabs",file:"index.tsx"}},{from:"./node_modules/@rnr/tabs/src/types.ts",distFrom:"primitives/tabs/types.ts",to:{folder:"primitives/tabs",file:"types.ts"}}]}},{name:"toast-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/toast/src/toast.tsx",to:{folder:"primitives/toast",file:"index.tsx"}},{from:"./node_modules/@rnr/toast/src/types.ts",to:{folder:"primitives/toast",file:"types.ts"}}]},{name:"toggle-primitive",dependencies:["slot-primitive","types-primitive"],npmPackages:{universal:["@radix-ui/react-toggle"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toggle/src/index.ts",to:{folder:"primitives/toggle",file:"index.ts"}},{from:"./node_modules/@rnr/toggle/src/toggle.web.tsx",to:{folder:"primitives/toggle",file:"toggle.web.tsx"}},{from:"./node_modules/@rnr/toggle/src/toggle.tsx",to:{folder:"primitives/toggle",file:"toggle.tsx"}},{from:"./node_modules/@rnr/toggle/src/types.ts",to:{folder:"primitives/toggle",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toggle/src/toggle.tsx",distFrom:"primitives/toggle/toggle.tsx",to:{folder:"primitives/toggle",file:"index.tsx"}},{from:"./node_modules/@rnr/toggle/src/types.ts",distFrom:"primitives/toggle/types.ts",to:{folder:"primitives/toggle",file:"types.ts"}}]}},{name:"toggle-group-primitive",dependencies:["slot-primitive","types-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-toggle-group"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toggle-group/src/index.ts",to:{folder:"primitives/toggle-group",file:"index.ts"}},{from:"./node_modules/@rnr/toggle-group/src/toggle-group.web.tsx",to:{folder:"primitives/toggle-group",file:"toggle-group.web.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/toggle-group.tsx",to:{folder:"primitives/toggle-group",file:"toggle-group.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/types.ts",to:{folder:"primitives/toggle-group",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toggle-group/src/toggle-group.tsx",distFrom:"primitives/toggle-group/toggle-group.tsx",to:{folder:"primitives/toggle-group",file:"index.tsx"}},{from:"./node_modules/@rnr/toggle-group/src/types.ts",distFrom:"primitives/toggle-group/types.ts",to:{folder:"primitives/toggle-group",file:"types.ts"}}]}},{name:"toolbar-primitive",dependencies:["slot-primitive","types-primitive","utils-primitive"],npmPackages:{universal:["@radix-ui/react-toolbar"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/toolbar/src/index.ts",to:{folder:"primitives/toolbar",file:"index.ts"}},{from:"./node_modules/@rnr/toolbar/src/toolbar.web.tsx",to:{folder:"primitives/toolbar",file:"toolbar.web.tsx"}},{from:"./node_modules/@rnr/toolbar/src/toolbar.tsx",to:{folder:"primitives/toolbar",file:"toolbar.tsx"}},{from:"./node_modules/@rnr/toolbar/src/types.ts",to:{folder:"primitives/toolbar",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/toolbar/src/toolbar.tsx",distFrom:"primitives/toolbar/toolbar.tsx",to:{folder:"primitives/toolbar",file:"index.tsx"}},{from:"./node_modules/@rnr/toolbar/src/types.ts",distFrom:"primitives/toolbar/types.ts",to:{folder:"primitives/toolbar",file:"types.ts"}}]}},{name:"tooltip-primitive",dependencies:["hooks-primitive","slot-primitive","types-primitive","portal-primitive"],npmPackages:{universal:["@radix-ui/react-tooltip"],"native-only":[]},paths:{universal:[{from:"./node_modules/@rnr/tooltip/src/index.ts",to:{folder:"primitives/tooltip",file:"index.ts"}},{from:"./node_modules/@rnr/tooltip/src/tooltip.web.tsx",to:{folder:"primitives/tooltip",file:"tooltip.web.tsx"}},{from:"./node_modules/@rnr/tooltip/src/tooltip.tsx",to:{folder:"primitives/tooltip",file:"tooltip.tsx"}},{from:"./node_modules/@rnr/tooltip/src/types.ts",to:{folder:"primitives/tooltip",file:"types.ts"}}],"native-only":[{from:"./node_modules/@rnr/tooltip/src/tooltip.tsx",distFrom:"primitives/tooltip/tooltip.tsx",to:{folder:"primitives/tooltip",file:"index.tsx"}},{from:"./node_modules/@rnr/tooltip/src/types.ts",distFrom:"primitives/tooltip/types.ts",to:{folder:"primitives/tooltip",file:"types.ts"}}]}},{name:"hooks-primitive",dependencies:["types-primitive"],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/hooks/src/index.ts",to:{folder:"primitives/hooks",file:"index.ts"}},{from:"./node_modules/@rnr/hooks/src/useAugmentedRef.tsx",to:{folder:"primitives/hooks",file:"useAugmentedRef.tsx"}},{from:"./node_modules/@rnr/hooks/src/useControllableState.tsx",to:{folder:"primitives/hooks",file:"useControllableState.tsx"}},{from:"./node_modules/@rnr/hooks/src/useRelativePosition.tsx",to:{folder:"primitives/hooks",file:"useRelativePosition.tsx"}}]},{name:"portal-primitive",dependencies:[],npmPackages:{universal:["zustand"],"native-only":["zustand"]},paths:[{from:"./node_modules/@rnr/portal/src/portal.tsx",to:{folder:"primitives",file:"portal.tsx"}}]},{name:"slot-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/slot/src/slot.tsx",to:{folder:"primitives",file:"slot.tsx"}}]},{name:"types-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/types/src/index.ts",to:{folder:"primitives",file:"types.ts"}}]},{name:"utils-primitive",dependencies:[],npmPackages:{universal:[],"native-only":[]},paths:[{from:"./node_modules/@rnr/utils/src/index.ts",to:{folder:"primitives",file:"utils.ts"}}]}],c=[...k,...q];function T(e,o=new Set){let t=c.find(i=>i.name===e);if(!t)return[];o.add(e);let r=t.dependencies.slice();return t.dependencies.forEach(i=>{if(!o.has(i)){let s=T(i,o);r=r.concat(s)}}),r}var y="invalid component";function j(e){let o=new Set;if(e.some(t=>!c.find(r=>r.name===t)))throw new Error(y);return e.forEach(t=>{let r=T(t);r.unshift(t),r.forEach(i=>{o.add(i)})}),Array.from(o).map(t=>{let r=c.find(i=>i.name===t);if(!r)throw new Error(y);return r})}import{fileURLToPath as Q}from"url";var X=Q(import.meta.url),A=p.dirname(X),Y=f.object({components:f.array(f.string()).optional(),overwrite:f.boolean(),cwd:f.string(),path:f.string().optional()}),$=new H().name("add").description("add components to your project").argument("[components...]","the components to add").option("-o, --overwrite","overwrite existing files.",!1).option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,o)=>{try{let t=Y.parse({components:e,...o}),r=p.resolve(t.cwd);F(r)||(l.error(`The path ${r} does not exist. Please try again.`),process.exit(1));let i=await S(r);i||(i=await ee(r));let s=t.components??[];if(!s?.length){let{components:n}=await C({type:"multiselect",name:"components",message:"Which components would you like to add?",hint:"Space to select. A to toggle all. Enter to submit.",instructions:!1,choices:k.map(v=>({title:v.name,value:v.name,selected:!1}))});s=n}s?.length||(l.warn("No components selected. Exiting."),process.exit(0));let a=M("Installing components...").start(),d=[];try{d=j(s)}catch(n){n instanceof Error&&n.message===y&&(l.error(`Invalid component(s): ${s.filter(v=>!c.find(L=>L.name===v)).join(", ")}`),process.exit(1)),l.error(n)}let u=[];for(let n of d)a.text=`Installing ${n.name}...`,Array.isArray(n.paths)?await R(n,n.paths,i,a):await R(n,n.paths[i.platforms==="universal"?"universal":"native-only"],i,a),u.push(...n.npmPackages[i.platforms==="universal"?"universal":"native-only"]);let O=await I(r);u.length&&(a.text=`Installing ${u.join(", ")}...`,await K(O,[O==="npm"?"install":"add",...u],{cwd:r})),a.succeed("Done.")}catch(t){w(t)}});async function R(e,o,t,r){for(let i of o){let s=p.join(t.resolvedPaths.components,i.to.folder);if(F(s)||await b.mkdir(s,{recursive:!0}),r.stop(),F(p.join(s,i.to.file))){l.info(`File already exists: ${P.bgCyan([i.to.folder,i.to.file].join("/"))} was skipped. To overwrite, run with the ${P.green("--overwrite")} flag.`);continue}r.start(`Installing ${e.name}...`);let a=i.distFrom?p.join(A,"generated/components",i.distFrom):p.join(A,"generated/components",i.to.folder,i.to.file);try{let d=await b.readFile(p.resolve(a),"utf8");await b.writeFile(p.join(s,i.to.file),Z(d,t.aliases.components,t.aliases.lib))}catch(d){w(d)}}}function Z(e,o,t){return e.replace("../Icons",`${o}/Icons`).replace("./typography",`${o}/ui/typography`).replace("./text",`${o}/ui/text`).replaceAll("../../components",o).replaceAll("../../lib",t).replaceAll("@rnr",`${o}/primitives`)}async function ee(e){let o=s=>P.cyan(s),t=await C([{type:"select",name:"platforms",message:`Which ${o("platforms")} do you support?`,choices:[{title:"Universal (Web, iOS, and Android)",value:"universal"},{title:"Native Only (iOS and Android)",value:"native-only"}]},{type:"text",name:"components",message:`Configure the import alias for ${o("components")}:`,initial:E},{type:"text",name:"lib",message:`Configure the import alias for ${o("lib")}:`,initial:N}]),r=g.parse({platforms:t.platforms,aliases:{lib:t.lib,components:t.components}}),{proceed:i}=await C({type:"confirm",name:"proceed",message:`Write configuration to ${o("components.json")}. Proceed?`,initial:!0});if(i){l.info("");let s=M("Writing components.json...").start(),a=p.resolve(e,"components.json");await b.writeFile(a,JSON.stringify(r,null,2),"utf8"),s.succeed()}return await _(e,r)}import{Command as ie}from"commander";import oe from"path";import te from"fs-extra";function D(){let e=oe.join("package.json");return te.readJSONSync(e)}process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function re(){let e=await D(),o=new ie().name("rnr-cli").description("add components and dependencies to your project").version(e.version||"0.0.0-rc.0","-v, --version","display the version number");o.addCommand($),o.parse()}re();
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/resolve-import.ts","../src/utils/get-config.ts","../src/utils/get-package-manager.ts","../src/utils/logger.ts","../src/utils/handle-error.ts","../src/commands/add.ts","../src/items/components.ts","../src/items/index.ts","../src/index.ts","../src/utils/get-package-info.ts"],"sourcesContent":["import { createMatchPath, type ConfigLoaderSuccessResult } from \"tsconfig-paths\"\n\nexport async function resolveImport(\n importPath: string,\n config: Pick<ConfigLoaderSuccessResult, \"absoluteBaseUrl\" | \"paths\">\n) {\n return createMatchPath(config.absoluteBaseUrl, config.paths)(\n importPath,\n undefined,\n () => true,\n [\".ts\", \".tsx\"]\n )\n}\n","import { resolveImport } from '@/src/utils/resolve-import';\nimport { cosmiconfig } from 'cosmiconfig';\nimport { loadConfig } from 'tsconfig-paths';\nimport { z } from 'zod';\n\nexport const DEFAULT_PLATFORMS = 'universal';\nexport const DEFAULT_COMPONENTS = '~/components';\nexport const DEFAULT_LIB = '~/lib';\n\nconst explorer = cosmiconfig('components', {\n searchPlaces: ['components.json'],\n});\n\nexport const rawConfigSchema = z\n .object({\n platforms: z.string().optional(),\n aliases: z.object({\n components: z.string(),\n lib: z.string(),\n }),\n })\n .strict();\n\nexport type RawConfig = z.infer<typeof rawConfigSchema>;\n\nexport const configSchema = rawConfigSchema.extend({\n platforms: z.string().optional(),\n resolvedPaths: z.object({\n lib: z.string(),\n components: z.string(),\n }),\n});\n\nexport type Config = z.infer<typeof configSchema>;\n\nexport async function getConfig(cwd: string) {\n const config = await getRawConfig(cwd);\n\n if (!config) {\n return null;\n }\n\n return await resolveConfigPaths(cwd, config);\n}\n\nexport async function resolveConfigPaths(cwd: string, config: RawConfig) {\n // Read tsconfig.json.\n const tsConfig = await loadConfig(cwd);\n\n if (tsConfig.resultType === 'failed') {\n throw new Error(`Failed to load tsconfig.json. ${tsConfig.message ?? ''}`.trim());\n }\n\n return configSchema.parse({\n ...config,\n resolvedPaths: {\n lib: await resolveImport(config.aliases['lib'], tsConfig),\n components: await resolveImport(config.aliases['components'], tsConfig),\n },\n });\n}\n\nexport async function getRawConfig(cwd: string): Promise<RawConfig | null> {\n try {\n const configResult = await explorer.search(cwd);\n\n if (!configResult) {\n return null;\n }\n\n return rawConfigSchema.parse(configResult.config);\n } catch (error) {\n throw new Error(`Invalid configuration found in ${cwd}/components.json.`);\n }\n}\n","import { detect } from '@antfu/ni';\n\nexport async function getPackageManager(\n targetDir: string\n): Promise<'yarn' | 'pnpm' | 'bun' | 'npm'> {\n const packageManager = await detect({ programmatic: true, cwd: targetDir });\n\n if (packageManager === 'yarn@berry') return 'yarn';\n if (packageManager === 'pnpm@6') return 'pnpm';\n if (packageManager === 'bun') return 'bun';\n\n return packageManager ?? 'npm';\n}\n","import chalk from \"chalk\"\n\nexport const logger = {\n error(...args: unknown[]) {\n console.log(chalk.red(...args))\n },\n warn(...args: unknown[]) {\n console.log(chalk.yellow(...args))\n },\n info(...args: unknown[]) {\n console.log(chalk.cyan(...args))\n },\n success(...args: unknown[]) {\n console.log(chalk.green(...args))\n },\n break() {\n console.log(\"\")\n },\n}\n","import { logger } from \"@/src/utils/logger\"\n\nexport function handleError(error: unknown) {\n if (typeof error === \"string\") {\n logger.error(error)\n process.exit(1)\n }\n\n if (error instanceof Error) {\n logger.error(error.message)\n process.exit(1)\n }\n\n logger.error(\"Something went wrong. Please try again.\")\n process.exit(1)\n}\n","import {\n Config,\n DEFAULT_COMPONENTS,\n DEFAULT_LIB,\n getConfig,\n rawConfigSchema,\n resolveConfigPaths,\n} from '@/src/utils/get-config';\nimport { getPackageManager } from '@/src/utils/get-package-manager';\nimport { handleError } from '@/src/utils/handle-error';\nimport { logger } from '@/src/utils/logger';\nimport chalk from 'chalk';\nimport { Command } from 'commander';\nimport { execa } from 'execa';\nimport { existsSync, promises as fs } from 'fs';\nimport ora, { Ora } from 'ora';\nimport path from 'path';\nimport prompts from 'prompts';\nimport { z } from 'zod';\nimport { Component, INVALID_COMPONENT_ERROR, getAllComponentsToWrite } from '../items';\nimport { COMPONENTS, UI_COMPONENTS } from '../items/components';\nimport { fileURLToPath } from 'url';\n\nconst filePath = fileURLToPath(import.meta.url);\nconst fileDir = path.dirname(filePath);\n\nconst addOptionsSchema = z.object({\n components: z.array(z.string()).optional(),\n overwrite: z.boolean(),\n cwd: z.string(),\n path: z.string().optional(),\n});\n\nexport const add = new Command()\n .name('add')\n .description('add components to your project')\n .argument('[components...]', 'the components to add')\n .option('-o, --overwrite', 'overwrite existing files.', false)\n .option(\n '-c, --cwd <cwd>',\n 'the working directory. defaults to the current directory.',\n process.cwd()\n )\n .option('-p, --path <path>', 'the path to add the component to.')\n .action(async (components, opts) => {\n try {\n const options = addOptionsSchema.parse({\n components,\n ...opts,\n });\n\n const cwd = path.resolve(options.cwd);\n\n if (!existsSync(cwd)) {\n logger.error(`The path ${cwd} does not exist. Please try again.`);\n process.exit(1);\n }\n\n let config = await getConfig(cwd);\n\n if (!config) {\n config = await promptForConfig(cwd);\n }\n\n let selectedComponents: Array<string> = options.components ?? [];\n if (!selectedComponents?.length) {\n const { components } = await prompts({\n type: 'multiselect',\n name: 'components',\n message: 'Which components would you like to add?',\n hint: 'Space to select. A to toggle all. Enter to submit.',\n instructions: false,\n choices: UI_COMPONENTS.map((entry) => ({\n title: entry.name,\n value: entry.name,\n selected: false,\n })),\n });\n selectedComponents = components;\n }\n\n if (!selectedComponents?.length) {\n logger.warn('No components selected. Exiting.');\n process.exit(0);\n }\n\n const spinner = ora(`Installing components...`).start();\n\n let componentsToWrite: Array<Component> = [];\n try {\n componentsToWrite = getAllComponentsToWrite(selectedComponents);\n } catch (err) {\n if (err instanceof Error && err.message === INVALID_COMPONENT_ERROR) {\n logger.error(\n `Invalid component(s): ${selectedComponents\n .filter((component) => !COMPONENTS.find((entry) => entry.name === component))\n .join(', ')}`\n );\n process.exit(1);\n }\n logger.error(err);\n }\n\n const npmPackages: Array<string> = [];\n\n for (const comp of componentsToWrite) {\n spinner.text = `Installing ${comp.name}...`;\n\n if (Array.isArray(comp.paths)) {\n await writeFiles(comp, comp.paths, config, spinner);\n } else {\n await writeFiles(\n comp,\n comp.paths[config.platforms === 'universal' ? 'universal' : 'native-only'],\n config,\n spinner\n );\n }\n\n npmPackages.push(\n ...comp.npmPackages[config.platforms === 'universal' ? 'universal' : 'native-only']\n );\n }\n\n const packageManager = await getPackageManager(cwd);\n\n if (npmPackages.length) {\n spinner.text = `Installing ${npmPackages.join(', ')}...`;\n await execa(\n packageManager,\n [packageManager === 'npm' ? 'install' : 'add', ...npmPackages],\n {\n cwd,\n }\n );\n }\n spinner.succeed(`Done.`);\n } catch (error) {\n handleError(error);\n }\n });\n\nasync function writeFiles(\n comp: Component,\n paths: Array<{ from: string; to: { folder: string; file: string } }>,\n config: Config,\n spinner: Ora\n) {\n for (const compPath of paths) {\n const targetDir = path.join(config.resolvedPaths.components, compPath.to.folder);\n if (!existsSync(targetDir)) {\n await fs.mkdir(targetDir, { recursive: true });\n }\n\n spinner.stop();\n\n if (existsSync(path.join(targetDir, compPath.to.file))) {\n logger.info(\n `File already exists: ${chalk.bgCyan(\n [compPath.to.folder, compPath.to.file].join('/')\n )} was skipped. To overwrite, run with the ${chalk.green('--overwrite')} flag.`\n );\n continue;\n }\n\n spinner.start(`Installing ${comp.name}...`);\n try {\n const content = await fs.readFile(\n path.resolve(\n path.join(fileDir, 'generated/components', compPath.to.folder, compPath.to.file)\n ),\n 'utf8'\n );\n await fs.writeFile(\n path.join(targetDir, compPath.to.file),\n fixImports(content, config.aliases.components, config.aliases.lib)\n );\n } catch (error) {\n handleError(error);\n }\n }\n}\n\nfunction fixImports(rawfile: string, componentsAlias: string, libAlias: string) {\n return rawfile\n .replace('../Icons', `${componentsAlias}/Icons`)\n .replace('./typography', `${componentsAlias}/ui/typography`)\n .replace('./text', `${componentsAlias}/ui/text`)\n .replaceAll('../../components', componentsAlias)\n .replaceAll('../../lib', libAlias)\n .replaceAll('@rnr', `${componentsAlias}/primitives`);\n}\n\nasync function promptForConfig(cwd: string) {\n const highlight = (text: string) => chalk.cyan(text);\n\n const options = await prompts([\n {\n type: 'select',\n name: 'platforms',\n message: `Which ${highlight('platforms')} do you support?`,\n choices: [\n { title: 'Universal (Web, iOS, and Android)', value: 'universal' },\n { title: 'Native Only (iOS and Android)', value: 'native-only' },\n ],\n },\n {\n type: 'text',\n name: 'components',\n message: `Configure the import alias for ${highlight('components')}:`,\n initial: DEFAULT_COMPONENTS,\n },\n {\n type: 'text',\n name: 'lib',\n message: `Configure the import alias for ${highlight('lib')}:`,\n initial: DEFAULT_LIB,\n },\n ]);\n\n const config = rawConfigSchema.parse({\n platforms: options.platforms,\n aliases: {\n lib: options.lib,\n components: options.components,\n },\n });\n\n const { proceed } = await prompts({\n type: 'confirm',\n name: 'proceed',\n message: `Write configuration to ${highlight('components.json')}. Proceed?`,\n initial: true,\n });\n\n if (proceed) {\n // Write to file.\n logger.info('');\n const spinner = ora(`Writing components.json...`).start();\n const targetPath = path.resolve(cwd, 'components.json');\n await fs.writeFile(targetPath, JSON.stringify(config, null, 2), 'utf8');\n spinner.succeed();\n }\n\n return await resolveConfigPaths(cwd, config);\n}\n","export const UI_COMPONENTS = [\n {\n name: 'accordion',\n dependencies: ['accordion-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/accordion.tsx',\n to: {\n folder: 'ui',\n file: 'accordion.tsx',\n },\n },\n ],\n },\n {\n name: 'alert-dialog',\n dependencies: ['alert-dialog-primitive', 'button', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/alert-dialog.tsx',\n to: {\n folder: 'ui',\n file: 'alert-dialog.tsx',\n },\n },\n ],\n },\n {\n name: 'aspect-ratio',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/aspect-ratio.tsx',\n to: {\n folder: 'ui',\n file: 'aspect-ratio.tsx',\n },\n },\n ],\n },\n {\n name: 'avatar',\n dependencies: ['avatar-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/avatar.tsx',\n to: {\n folder: 'ui',\n file: 'avatar.tsx',\n },\n },\n ],\n },\n {\n name: 'badge',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/badge.tsx',\n to: {\n folder: 'ui',\n file: 'badge.tsx',\n },\n },\n ],\n },\n {\n name: 'button',\n dependencies: ['text', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/button.tsx',\n to: {\n folder: 'ui',\n file: 'button.tsx',\n },\n },\n ],\n },\n {\n name: 'card',\n dependencies: ['text', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/card.tsx',\n to: {\n folder: 'ui',\n file: 'card.tsx',\n },\n },\n ],\n },\n {\n name: 'checkbox',\n dependencies: ['checkbox-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/checkbox.tsx',\n to: {\n folder: 'ui',\n file: 'checkbox.tsx',\n },\n },\n ],\n },\n {\n name: 'collapsible',\n dependencies: ['collapsible-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/collapsible.tsx',\n to: {\n folder: 'ui',\n file: 'collapsible.tsx',\n },\n },\n ],\n },\n {\n name: 'context-menu',\n dependencies: ['context-menu-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/context-menu.tsx',\n to: {\n folder: 'ui',\n file: 'context-menu.tsx',\n },\n },\n ],\n },\n {\n name: 'dialog',\n dependencies: ['dialog-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/dialog.tsx',\n to: {\n folder: 'ui',\n file: 'dialog.tsx',\n },\n },\n ],\n },\n {\n name: 'dropdown-menu',\n dependencies: ['dropdown-menu-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/dropdown-menu.tsx',\n to: {\n folder: 'ui',\n file: 'dropdown-menu.tsx',\n },\n },\n ],\n },\n {\n name: 'hover-card',\n dependencies: ['hover-card-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/hover-card.tsx',\n to: {\n folder: 'ui',\n file: 'hover-card.tsx',\n },\n },\n ],\n },\n {\n name: 'input',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/input.tsx',\n to: {\n folder: 'ui',\n file: 'input.tsx',\n },\n },\n ],\n },\n {\n name: 'label',\n dependencies: ['label-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/label.tsx',\n to: {\n folder: 'ui',\n file: 'label.tsx',\n },\n },\n ],\n },\n {\n name: 'menubar',\n dependencies: ['menubar-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/menubar.tsx',\n to: {\n folder: 'ui',\n file: 'menubar.tsx',\n },\n },\n ],\n },\n {\n name: 'navigation-menu',\n dependencies: ['navigation-menu-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/navigation-menu.tsx',\n to: {\n folder: 'ui',\n file: 'navigation-menu.tsx',\n },\n },\n ],\n },\n {\n name: 'popover',\n dependencies: ['popover-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/popover.tsx',\n to: {\n folder: 'ui',\n file: 'popover.tsx',\n },\n },\n ],\n },\n {\n name: 'radio-group',\n dependencies: ['radio-group-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/radio-group.tsx',\n to: {\n folder: 'ui',\n file: 'radio-group.tsx',\n },\n },\n ],\n },\n {\n name: 'select',\n dependencies: ['select-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/select.tsx',\n to: {\n folder: 'ui',\n file: 'select.tsx',\n },\n },\n ],\n },\n {\n name: 'separator',\n dependencies: ['separator-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/separator.tsx',\n to: {\n folder: 'ui',\n file: 'separator.tsx',\n },\n },\n ],\n },\n {\n name: 'skeleton',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/skeleton.tsx',\n to: {\n folder: 'ui',\n file: 'skeleton.tsx',\n },\n },\n ],\n },\n {\n name: 'switch',\n dependencies: ['switch-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/switch.tsx',\n to: {\n folder: 'ui',\n file: 'switch.tsx',\n },\n },\n ],\n },\n {\n name: 'table',\n dependencies: ['table-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/table.tsx',\n to: {\n folder: 'ui',\n file: 'table.tsx',\n },\n },\n ],\n },\n {\n name: 'tabs',\n dependencies: ['tabs-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/tabs.tsx',\n to: {\n folder: 'ui',\n file: 'tabs.tsx',\n },\n },\n ],\n },\n {\n name: 'text',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/text.tsx',\n to: { folder: 'ui', file: 'text.tsx' },\n },\n ],\n },\n {\n name: 'textarea',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/textarea.tsx',\n to: { folder: 'ui', file: 'textarea.tsx' },\n },\n ],\n },\n {\n name: 'toggle',\n dependencies: ['toggle-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/toggle.tsx',\n to: { folder: 'ui', file: 'toggle.tsx' },\n },\n ],\n },\n {\n name: 'toggle-group',\n dependencies: ['toggle-group-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/toggle-group.tsx',\n to: { folder: 'ui', file: 'toggle-group.tsx' },\n },\n ],\n },\n {\n name: 'tooltip',\n dependencies: ['tooltip-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/tooltip.tsx',\n to: { folder: 'ui', file: 'tooltip.tsx' },\n },\n ],\n },\n {\n name: 'typography',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/typography.tsx',\n to: { folder: 'ui', file: 'typography.tsx' },\n },\n ],\n },\n];\n\nconst PRIMITIVE_COMPONENTS = [\n {\n name: 'accordion-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-accordion'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/accordion/src/index.ts',\n to: { folder: 'primitives/accordion', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/accordion/src/accordion.web.tsx',\n to: { folder: 'primitives/accordion', file: 'accordion.web.tsx' },\n },\n {\n from: './node_modules/@rnr/accordion/src/accordion.tsx',\n to: { folder: 'primitives/accordion', file: 'accordion.tsx' },\n },\n {\n from: './node_modules/@rnr/accordion/src/types.ts',\n to: { folder: 'primitives/accordion', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/accordion/src/accordion.tsx',\n to: { folder: 'primitives/accordion', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/accordion/src/types.ts',\n to: { folder: 'primitives/accordion', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'alert-dialog-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-alert-dialog'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/alert-dialog/src/index.ts',\n to: { folder: 'primitives/alert-dialog', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/alert-dialog/src/alert-dialog.web.tsx',\n to: { folder: 'primitives/alert-dialog', file: 'alert-dialog.web.tsx' },\n },\n {\n from: './node_modules/@rnr/alert-dialog/src/alert-dialog.tsx',\n to: { folder: 'primitives/alert-dialog', file: 'alert-dialog.tsx' },\n },\n {\n from: './node_modules/@rnr/alert-dialog/src/types.ts',\n to: { folder: 'primitives/alert-dialog', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/alert-dialog/src/alert-dialog.tsx',\n to: { folder: 'primitives/alert-dialog', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/alert-dialog/src/types.ts',\n to: { folder: 'primitives/alert-dialog', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'aspect-ratio-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/aspect-ratio/src/aspect-ratio.tsx',\n to: { folder: 'primitives', file: 'aspect-ratio.tsx' },\n },\n ],\n },\n {\n name: 'avatar-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/avatar/src/avatar.tsx',\n to: { folder: 'primitives/avatar', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/avatar/src/types.ts',\n to: { folder: 'primitives/avatar', file: ' types.ts' },\n },\n ],\n },\n {\n name: 'checkbox-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-checkbox'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/checkbox/src/index.ts',\n to: { folder: 'primitives/checkbox', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/checkbox/src/checkbox.web.tsx',\n to: { folder: 'primitives/checkbox', file: 'checkbox.web.tsx' },\n },\n {\n from: './node_modules/@rnr/checkbox/src/checkbox.tsx',\n to: { folder: 'primitives/checkbox', file: 'checkbox.tsx' },\n },\n {\n from: './node_modules/@rnr/checkbox/src/types.ts',\n to: { folder: 'primitives/checkbox', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/checkbox/src/checkbox.tsx',\n to: { folder: 'primitives/checkbox', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/checkbox/src/types.ts',\n to: { folder: 'primitives/checkbox', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'collapsible-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-collapsible'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/collapsible/src/index.ts',\n to: { folder: 'primitives/collapsible', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/collapsible/src/collapsible.web.tsx',\n to: { folder: 'primitives/collapsible', file: 'collapsible.web.tsx' },\n },\n {\n from: './node_modules/@rnr/collapsible/src/collapsible.tsx',\n to: { folder: 'primitives/collapsible', file: 'collapsible.tsx' },\n },\n {\n from: './node_modules/@rnr/collapsible/src/types.ts',\n to: { folder: 'primitives/collapsible', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/collapsible/src/collapsible.tsx',\n to: { folder: 'primitives/collapsible', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/collapsible/src/types.ts',\n to: { folder: 'primitives/collapsible', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'context-menu-primitive',\n dependencies: [\n 'hooks-primitive',\n 'slot-primitive',\n 'types-primitive',\n 'portal-primitive',\n 'utils-primitive',\n ],\n npmPackages: {\n universal: ['@radix-ui/react-context-menu'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/context-menu/src/index.ts',\n to: { folder: 'primitives/context-menu', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/context-menu/src/context-menu.web.tsx',\n to: { folder: 'primitives/context-menu', file: 'context-menu.web.tsx' },\n },\n {\n from: './node_modules/@rnr/context-menu/src/context-menu.tsx',\n to: { folder: 'primitives/context-menu', file: 'context-menu.tsx' },\n },\n {\n from: './node_modules/@rnr/context-menu/src/types.ts',\n to: { folder: 'primitives/context-menu', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/context-menu/src/context-menu.tsx',\n to: { folder: 'primitives/context-menu', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/context-menu/src/types.ts',\n to: { folder: 'primitives/context-menu', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'dialog-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-dialog'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/dialog/src/index.ts',\n to: { folder: 'primitives/dialog', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/dialog/src/dialog.web.tsx',\n to: { folder: 'primitives/dialog', file: 'dialog.web.tsx' },\n },\n {\n from: './node_modules/@rnr/dialog/src/dialog.tsx',\n to: { folder: 'primitives/dialog', file: 'dialog.tsx' },\n },\n {\n from: './node_modules/@rnr/dialog/src/types.ts',\n to: { folder: 'primitives/dialog', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/dialog/src/dialog.tsx',\n to: { folder: 'primitives/dialog', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/dialog/src/types.ts',\n to: { folder: 'primitives/dialog', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'dropdown-menu-primitive',\n dependencies: [\n 'hooks-primitive',\n 'slot-primitive',\n 'types-primitive',\n 'portal-primitive',\n 'utils-primitive',\n ],\n npmPackages: {\n universal: ['@radix-ui/react-dropdown-menu'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/dropdown-menu/src/index.ts',\n to: { folder: 'primitives/dropdown-menu', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/dropdown-menu/src/dropdown-menu.web.tsx',\n to: { folder: 'primitives/dropdown-menu', file: 'dropdown-menu.web.tsx' },\n },\n {\n from: './node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx',\n to: { folder: 'primitives/dropdown-menu', file: 'dropdown-menu.tsx' },\n },\n {\n from: './node_modules/@rnr/dropdown-menu/src/types.ts',\n to: { folder: 'primitives/dropdown-menu', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx',\n to: { folder: 'primitives/dropdown-menu', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/dropdown-menu/src/types.ts',\n to: { folder: 'primitives/dropdown-menu', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'hover-card-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-hover-card'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/hover-card/src/index.ts',\n to: { folder: 'primitives/hover-card', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/hover-card/src/hover-card.web.tsx',\n to: { folder: 'primitives/hover-card', file: 'hover-card.web.tsx' },\n },\n {\n from: './node_modules/@rnr/hover-card/src/hover-card.tsx',\n to: { folder: 'primitives/hover-card', file: 'hover-card.tsx' },\n },\n {\n from: './node_modules/@rnr/hover-card/src/types.ts',\n to: { folder: 'primitives/hover-card', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/hover-card/src/hover-card.tsx',\n to: { folder: 'primitives/hover-card', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/hover-card/src/types.ts',\n to: { folder: 'primitives/hover-card', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'label-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-label'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/label/src/index.ts',\n to: { folder: 'primitives/label', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/label/src/label.web.tsx',\n to: { folder: 'primitives/label', file: 'label.web.tsx' },\n },\n {\n from: './node_modules/@rnr/label/src/label.tsx',\n to: { folder: 'primitives/label', file: 'label.tsx' },\n },\n {\n from: './node_modules/@rnr/label/src/types.ts',\n to: { folder: 'primitives/label', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/label/src/label.tsx',\n to: { folder: 'primitives/label', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/label/src/types.ts',\n to: { folder: 'primitives/label', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'menubar-primitive',\n dependencies: [\n 'hooks-primitive',\n 'slot-primitive',\n 'types-primitive',\n 'portal-primitive',\n 'utils-primitive',\n ],\n npmPackages: {\n universal: ['@radix-ui/react-menubar'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/menubar/src/index.ts',\n to: { folder: 'primitives/menubar', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/menubar/src/menubar.web.tsx',\n to: { folder: 'primitives/menubar', file: 'menubar.web.tsx' },\n },\n {\n from: './node_modules/@rnr/menubar/src/menubar.tsx',\n to: { folder: 'primitives/menubar', file: 'menubar.tsx' },\n },\n {\n from: './node_modules/@rnr/menubar/src/types.ts',\n to: { folder: 'primitives/menubar', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/menubar/src/menubar.tsx',\n to: { folder: 'primitives/menubar', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/menubar/src/types.ts',\n to: { folder: 'primitives/menubar', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'navigation-menu-primitive',\n dependencies: [\n 'hooks-primitive',\n 'slot-primitive',\n 'types-primitive',\n 'portal-primitive',\n 'utils-primitive',\n ],\n npmPackages: {\n universal: ['@radix-ui/react-navigation-menu'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/navigation-menu/src/index.ts',\n to: { folder: 'primitives/navigation-menu', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/navigation-menu/src/navigation-menu.web.tsx',\n to: { folder: 'primitives/navigation-menu', file: 'navigation-menu.web.tsx' },\n },\n {\n from: './node_modules/@rnr/navigation-menu/src/navigation-menu.tsx',\n to: { folder: 'primitives/navigation-menu', file: 'navigation-menu.tsx' },\n },\n {\n from: './node_modules/@rnr/navigation-menu/src/types.ts',\n to: { folder: 'primitives/navigation-menu', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/navigation-menu/src/navigation-menu.tsx',\n to: { folder: 'primitives/navigation-menu', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/navigation-menu/src/types.ts',\n to: { folder: 'primitives/navigation-menu', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'popover-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-popover'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/popover/src/index.ts',\n to: { folder: 'primitives/popover', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/popover/src/popover.web.tsx',\n to: { folder: 'primitives/popover', file: 'popover.web.tsx' },\n },\n {\n from: './node_modules/@rnr/popover/src/popover.tsx',\n to: { folder: 'primitives/popover', file: 'popover.tsx' },\n },\n {\n from: './node_modules/@rnr/popover/src/types.ts',\n to: { folder: 'primitives/popover', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/popover/src/popover.tsx',\n to: { folder: 'primitives/popover', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/popover/src/types.ts',\n to: { folder: 'primitives/popover', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'progress-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-progress'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/progress/src/index.ts',\n to: { folder: 'primitives/progress', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/progress/src/progress.web.tsx',\n to: { folder: 'primitives/progress', file: 'progress.web.tsx' },\n },\n {\n from: './node_modules/@rnr/progress/src/progress.tsx',\n to: { folder: 'primitives/progress', file: 'progress.tsx' },\n },\n {\n from: './node_modules/@rnr/progress/src/types.ts',\n to: { folder: 'primitives/progress', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/progress/src/progress.tsx',\n to: { folder: 'primitives/progress', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/progress/src/types.ts',\n to: { folder: 'primitives/progress', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'radio-group-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-radio-group'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/radio-group/src/index.ts',\n to: { folder: 'primitives/radio-group', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/radio-group/src/radio-group.web.tsx',\n to: { folder: 'primitives/radio-group', file: 'radio-group.web.tsx' },\n },\n {\n from: './node_modules/@rnr/radio-group/src/radio-group.tsx',\n to: { folder: 'primitives/radio-group', file: 'radio-group.tsx' },\n },\n {\n from: './node_modules/@rnr/radio-group/src/types.ts',\n to: { folder: 'primitives/radio-group', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/radio-group/src/radio-group.tsx',\n to: { folder: 'primitives/radio-group', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/radio-group/src/types.ts',\n to: { folder: 'primitives/radio-group', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'select-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-select'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/select/src/index.ts',\n to: { folder: 'primitives/select', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/select/src/select.web.tsx',\n to: { folder: 'primitives/select', file: 'select.web.tsx' },\n },\n {\n from: './node_modules/@rnr/select/src/select.tsx',\n to: { folder: 'primitives/select', file: 'select.tsx' },\n },\n {\n from: './node_modules/@rnr/select/src/types.ts',\n to: { folder: 'primitives/select', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/select/src/select.tsx',\n to: { folder: 'primitives/select', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/select/src/types.ts',\n to: { folder: 'primitives/select', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'separator-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/separator/src/separator.tsx',\n to: { folder: 'primitives/separator', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/separator/src/types.ts',\n to: { folder: 'primitives/separator', file: ' types.ts' },\n },\n ],\n },\n {\n name: 'slider-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-slider'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/slider/src/index.ts',\n to: { folder: 'primitives/slider', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/slider/src/slider.web.tsx',\n to: { folder: 'primitives/slider', file: 'slider.web.tsx' },\n },\n {\n from: './node_modules/@rnr/slider/src/slider.tsx',\n to: { folder: 'primitives/slider', file: 'slider.tsx' },\n },\n {\n from: './node_modules/@rnr/slider/src/types.ts',\n to: { folder: 'primitives/slider', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/slider/src/slider.tsx',\n to: { folder: 'primitives/slider', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/slider/src/types.ts',\n to: { folder: 'primitives/slider', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'switch-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-switch'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/switch/src/index.ts',\n to: { folder: 'primitives/switch', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/switch/src/switch.web.tsx',\n to: { folder: 'primitives/switch', file: 'switch.web.tsx' },\n },\n {\n from: './node_modules/@rnr/switch/src/switch.tsx',\n to: { folder: 'primitives/switch', file: 'switch.tsx' },\n },\n {\n from: './node_modules/@rnr/switch/src/types.ts',\n to: { folder: 'primitives/switch', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/switch/src/switch.tsx',\n to: { folder: 'primitives/switch', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/switch/src/types.ts',\n to: { folder: 'primitives/switch', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'table-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/table/src/table.tsx',\n to: { folder: 'primitives', file: 'table.tsx' },\n },\n ],\n },\n {\n name: 'tabs-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-tabs'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/tabs/src/index.ts',\n to: { folder: 'primitives/tabs', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/tabs/src/tabs.web.tsx',\n to: { folder: 'primitives/tabs', file: 'tabs.web.tsx' },\n },\n {\n from: './node_modules/@rnr/tabs/src/tabs.tsx',\n to: { folder: 'primitives/tabs', file: 'tabs.tsx' },\n },\n {\n from: './node_modules/@rnr/tabs/src/types.ts',\n to: { folder: 'primitives/tabs', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/tabs/src/tabs.tsx',\n to: { folder: 'primitives/tabs', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/tabs/src/types.ts',\n to: { folder: 'primitives/tabs', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'toast-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/toast/src/toast.tsx',\n to: { folder: 'primitives/toast', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/toast/src/types.ts',\n to: { folder: 'primitives/toast', file: ' types.ts' },\n },\n ],\n },\n {\n name: 'toggle-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-toggle'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/toggle/src/index.ts',\n to: { folder: 'primitives/toggle', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/toggle/src/toggle.web.tsx',\n to: { folder: 'primitives/toggle', file: 'toggle.web.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle/src/toggle.tsx',\n to: { folder: 'primitives/toggle', file: 'toggle.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle/src/types.ts',\n to: { folder: 'primitives/toggle', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/toggle/src/toggle.tsx',\n to: { folder: 'primitives/toggle', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle/src/types.ts',\n to: { folder: 'primitives/toggle', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'toggle-group-primitive',\n dependencies: ['slot-primitive', 'types-primitive', 'utils-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-toggle-group'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/toggle-group/src/index.ts',\n to: { folder: 'primitives/toggle-group', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/toggle-group/src/toggle-group.web.tsx',\n to: { folder: 'primitives/toggle-group', file: 'toggle-group.web.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle-group/src/toggle-group.tsx',\n to: { folder: 'primitives/toggle-group', file: 'toggle-group.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle-group/src/types.ts',\n to: { folder: 'primitives/toggle-group', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/toggle-group/src/toggle-group.tsx',\n to: { folder: 'primitives/toggle-group', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle-group/src/types.ts',\n to: { folder: 'primitives/toggle-group', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'toolbar-primitive',\n dependencies: ['slot-primitive', 'types-primitive', 'utils-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-toolbar'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/toolbar/src/index.ts',\n to: { folder: 'primitives/toolbar', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/toolbar/src/toolbar.web.tsx',\n to: { folder: 'primitives/toolbar', file: 'toolbar.web.tsx' },\n },\n {\n from: './node_modules/@rnr/toolbar/src/toolbar.tsx',\n to: { folder: 'primitives/toolbar', file: 'toolbar.tsx' },\n },\n {\n from: './node_modules/@rnr/toolbar/src/types.ts',\n to: { folder: 'primitives/toolbar', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/toolbar/src/toolbar.tsx',\n to: { folder: 'primitives/toolbar', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/toolbar/src/types.ts',\n to: { folder: 'primitives/toolbar', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'tooltip-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-tooltip'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/tooltip/src/index.ts',\n to: { folder: 'primitives/tooltip', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/tooltip/src/tooltip.web.tsx',\n to: { folder: 'primitives/tooltip', file: 'tooltip.web.tsx' },\n },\n {\n from: './node_modules/@rnr/tooltip/src/tooltip.tsx',\n to: { folder: 'primitives/tooltip', file: 'tooltip.tsx' },\n },\n {\n from: './node_modules/@rnr/tooltip/src/types.ts',\n to: { folder: 'primitives/tooltip', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/tooltip/src/tooltip.tsx',\n to: { folder: 'primitives/tooltip', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/tooltip/src/types.ts',\n to: { folder: 'primitives/tooltip', file: ' types.ts' },\n },\n ],\n },\n },\n {\n name: 'hooks-primitive',\n dependencies: ['types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/hooks/src/index.ts',\n to: { folder: 'primitives/hooks', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/hooks/src/useAugmentedRef.tsx',\n to: { folder: 'primitives/hooks', file: 'useAugmentedRef.tsx' },\n },\n {\n from: './node_modules/@rnr/hooks/src/useControllableState.tsx',\n to: { folder: 'primitives/hooks', file: 'useControllableState.tsx' },\n },\n {\n from: './node_modules/@rnr/hooks/src/useRelativePosition.tsx',\n to: { folder: 'primitives/hooks', file: 'useRelativePosition.tsx' },\n },\n ],\n },\n {\n name: 'portal-primitive',\n dependencies: [],\n npmPackages: {\n universal: ['zustand'],\n 'native-only': ['zustand'],\n },\n paths: [\n {\n from: './node_modules/@rnr/portal/src/portal.tsx',\n to: { folder: 'primitives', file: 'portal.tsx' },\n },\n ],\n },\n {\n name: 'slot-primitive',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/slot/src/slot.tsx',\n to: { folder: 'primitives', file: 'slot.tsx' },\n },\n ],\n },\n {\n name: 'types-primitive',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/types/src/index.ts',\n to: { folder: 'primitives', file: 'types.ts' },\n },\n ],\n },\n {\n name: 'utils-primitive',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/utils/src/index.ts',\n to: { folder: 'primitives', file: 'utils.ts' },\n },\n ],\n },\n];\n\nexport const COMPONENTS = [...UI_COMPONENTS, ...PRIMITIVE_COMPONENTS];\n","import { COMPONENTS } from './components';\n\nexport type Component = (typeof COMPONENTS)[number];\ntype ComponentName = (typeof COMPONENTS)[number]['name'];\n\nfunction getComponentDependencies(\n componentName: ComponentName,\n visited = new Set<ComponentName>()\n) {\n const component = COMPONENTS.find((comp) => comp.name === componentName);\n if (!component) return [];\n\n visited.add(componentName);\n\n let dependencies: ComponentName[] = component.dependencies.slice();\n\n component.dependencies.forEach((dependency) => {\n if (!visited.has(dependency)) {\n const childDependencies = getComponentDependencies(dependency, visited);\n dependencies = dependencies.concat(childDependencies);\n }\n });\n\n return dependencies;\n}\n\nexport const INVALID_COMPONENT_ERROR = 'invalid component';\n\nexport function getAllComponentsToWrite(componentNames: string[]): Component[] {\n const uniqueComponents = new Set<ComponentName>();\n\n if (\n componentNames.some((componentName) => !COMPONENTS.find((comp) => comp.name === componentName))\n ) {\n throw new Error(INVALID_COMPONENT_ERROR);\n }\n\n componentNames.forEach((componentName) => {\n const allDependencies = getComponentDependencies(componentName as ComponentName);\n allDependencies.unshift(componentName as never); // Add the component itself to the list\n allDependencies.forEach((dep) => {\n uniqueComponents.add(dep);\n });\n });\n\n return Array.from(uniqueComponents).map((dep) => {\n const comp = COMPONENTS.find((comp) => comp.name === dep);\n if (!comp) {\n throw new Error(INVALID_COMPONENT_ERROR);\n }\n return comp;\n });\n}\n","#!/usr/bin/env node\nimport { add } from '@/src/commands/add';\nimport { Command } from 'commander';\n\nimport { getPackageInfo } from './utils/get-package-info';\n\nprocess.on('SIGINT', () => process.exit(0));\nprocess.on('SIGTERM', () => process.exit(0));\n\nasync function main() {\n const packageInfo = await getPackageInfo();\n\n const program = new Command()\n .name('rnr-cli')\n .description('add components and dependencies to your project')\n .version(packageInfo.version || '0.0.0-rc.0', '-v, --version', 'display the version number');\n\n program.addCommand(add);\n\n program.parse();\n}\n\nmain();\n","import path from 'path';\nimport fs from 'fs-extra';\nimport { type PackageJson } from 'type-fest';\n\nexport function getPackageInfo() {\n const packageJsonPath = path.join('package.json');\n\n return fs.readJSONSync(packageJsonPath) as Promise<PackageJson>;\n}\n"],"mappings":"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I,CACF,OAAQ,KACR,KAAM,qBACR,CACF,CACF,CACF,EACA,CACE,KAAM,UACN,aAAc,CAAC,oBAAqB,MAAM,EAC1C,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,8DACN,GAAI,CACF,OAAQ,KACR,KAAM,aACR,CACF,CACF,CACF,EACA,CACE,KAAM,cACN,aAAc,CAAC,uBAAuB,EACtC,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,kEACN,GAAI,CACF,OAAQ,KACR,KAAM,iBACR,CACF,CACF,CACF,EACA,CACE,KAAM,SACN,aAAc,CAAC,kBAAkB,EACjC,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,6DACN,GAAI,CACF,OAAQ,KACR,KAAM,YACR,CACF,CACF,CACF,EACA,CACE,KAAM,YACN,aAAc,CAAC,qBAAqB,EACpC,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,gEACN,GAAI,CACF,OAAQ,KACR,KAAM,eACR,CACF,CACF,CACF,EACA,CACE,KAAM,WACN,aAAc,CAAC,EACf,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,+DACN,GAAI,CACF,OAAQ,KACR,KAAM,cACR,CACF,CACF,CACF,EACA,CACE,KAAM,SACN,aAAc,CAAC,kBAAkB,EACjC,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,6DACN,GAAI,CACF,OAAQ,KACR,KAAM,YACR,CACF,CACF,CACF,EACA,CACE,KAAM,QACN,aAAc,CAAC,kBAAmB,MAAM,EACxC,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,4DACN,GAAI,CACF,OAAQ,KACR,KAAM,WACR,CACF,CACF,CACF,EACA,CACE,KAAM,OACN,aAAc,CAAC,iBAA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","names":["createMatchPath","resolveImport","importPath","config","cosmiconfig","loadConfig","z","DEFAULT_COMPONENTS","DEFAULT_LIB","explorer","cosmiconfig","rawConfigSchema","z","configSchema","getConfig","cwd","config","getRawConfig","resolveConfigPaths","tsConfig","loadConfig","resolveImport","configResult","detect","getPackageManager","targetDir","packageManager","chalk","logger","args","handleError","error","logger","chalk","Command","execa","existsSync","fs","ora","path","prompts","z","UI_COMPONENTS","PRIMITIVE_COMPONENTS","COMPONENTS","getComponentDependencies","componentName","visited","component","COMPONENTS","comp","dependencies","dependency","childDependencies","INVALID_COMPONENT_ERROR","getAllComponentsToWrite","componentNames","uniqueComponents","allDependencies","dep","fileURLToPath","filePath","fileDir","path","addOptionsSchema","z","add","Command","components","opts","options","cwd","existsSync","logger","config","getConfig","promptForConfig","selectedComponents","prompts","UI_COMPONENTS","entry","spinner","ora","componentsToWrite","getAllComponentsToWrite","err","INVALID_COMPONENT_ERROR","component","COMPONENTS","npmPackages","comp","writeFiles","packageManager","getPackageManager","execa","error","handleError","paths","compPath","targetDir","fs","chalk","content","fixImports","rawfile","componentsAlias","libAlias","highlight","text","DEFAULT_COMPONENTS","DEFAULT_LIB","rawConfigSchema","proceed","targetPath","resolveConfigPaths","Command","path","fs","getPackageInfo","packageJsonPath","main","packageInfo","getPackageInfo","program","Command","add"]}
1
+ {"version":3,"sources":["../src/utils/resolve-import.ts","../src/utils/get-config.ts","../src/utils/get-package-manager.ts","../src/utils/logger.ts","../src/utils/handle-error.ts","../src/commands/add.ts","../src/items/components.ts","../src/items/index.ts","../src/index.ts","../src/utils/get-package-info.ts"],"sourcesContent":["import { createMatchPath, type ConfigLoaderSuccessResult } from \"tsconfig-paths\"\n\nexport async function resolveImport(\n importPath: string,\n config: Pick<ConfigLoaderSuccessResult, \"absoluteBaseUrl\" | \"paths\">\n) {\n return createMatchPath(config.absoluteBaseUrl, config.paths)(\n importPath,\n undefined,\n () => true,\n [\".ts\", \".tsx\"]\n )\n}\n","import { resolveImport } from '@/src/utils/resolve-import';\nimport { cosmiconfig } from 'cosmiconfig';\nimport { loadConfig } from 'tsconfig-paths';\nimport { z } from 'zod';\n\nexport const DEFAULT_PLATFORMS = 'universal';\nexport const DEFAULT_COMPONENTS = '~/components';\nexport const DEFAULT_LIB = '~/lib';\n\nconst explorer = cosmiconfig('components', {\n searchPlaces: ['components.json'],\n});\n\nexport const rawConfigSchema = z\n .object({\n platforms: z.string().optional(),\n aliases: z.object({\n components: z.string(),\n lib: z.string(),\n }),\n })\n .strict();\n\nexport type RawConfig = z.infer<typeof rawConfigSchema>;\n\nexport const configSchema = rawConfigSchema.extend({\n platforms: z.string().optional(),\n resolvedPaths: z.object({\n lib: z.string(),\n components: z.string(),\n }),\n});\n\nexport type Config = z.infer<typeof configSchema>;\n\nexport async function getConfig(cwd: string) {\n const config = await getRawConfig(cwd);\n\n if (!config) {\n return null;\n }\n\n return await resolveConfigPaths(cwd, config);\n}\n\nexport async function resolveConfigPaths(cwd: string, config: RawConfig) {\n // Read tsconfig.json.\n const tsConfig = await loadConfig(cwd);\n\n if (tsConfig.resultType === 'failed') {\n throw new Error(`Failed to load tsconfig.json. ${tsConfig.message ?? ''}`.trim());\n }\n\n return configSchema.parse({\n ...config,\n resolvedPaths: {\n lib: await resolveImport(config.aliases['lib'], tsConfig),\n components: await resolveImport(config.aliases['components'], tsConfig),\n },\n });\n}\n\nexport async function getRawConfig(cwd: string): Promise<RawConfig | null> {\n try {\n const configResult = await explorer.search(cwd);\n\n if (!configResult) {\n return null;\n }\n\n return rawConfigSchema.parse(configResult.config);\n } catch (error) {\n throw new Error(`Invalid configuration found in ${cwd}/components.json.`);\n }\n}\n","import { detect } from '@antfu/ni';\n\nexport async function getPackageManager(\n targetDir: string\n): Promise<'yarn' | 'pnpm' | 'bun' | 'npm'> {\n const packageManager = await detect({ programmatic: true, cwd: targetDir });\n\n if (packageManager === 'yarn@berry') return 'yarn';\n if (packageManager === 'pnpm@6') return 'pnpm';\n if (packageManager === 'bun') return 'bun';\n\n return packageManager ?? 'npm';\n}\n","import chalk from \"chalk\"\n\nexport const logger = {\n error(...args: unknown[]) {\n console.log(chalk.red(...args))\n },\n warn(...args: unknown[]) {\n console.log(chalk.yellow(...args))\n },\n info(...args: unknown[]) {\n console.log(chalk.cyan(...args))\n },\n success(...args: unknown[]) {\n console.log(chalk.green(...args))\n },\n break() {\n console.log(\"\")\n },\n}\n","import { logger } from \"@/src/utils/logger\"\n\nexport function handleError(error: unknown) {\n if (typeof error === \"string\") {\n logger.error(error)\n process.exit(1)\n }\n\n if (error instanceof Error) {\n logger.error(error.message)\n process.exit(1)\n }\n\n logger.error(\"Something went wrong. Please try again.\")\n process.exit(1)\n}\n","import {\n Config,\n DEFAULT_COMPONENTS,\n DEFAULT_LIB,\n getConfig,\n rawConfigSchema,\n resolveConfigPaths,\n} from '@/src/utils/get-config';\nimport { getPackageManager } from '@/src/utils/get-package-manager';\nimport { handleError } from '@/src/utils/handle-error';\nimport { logger } from '@/src/utils/logger';\nimport chalk from 'chalk';\nimport { Command } from 'commander';\nimport { execa } from 'execa';\nimport { existsSync, promises as fs } from 'fs';\nimport ora, { Ora } from 'ora';\nimport path from 'path';\nimport prompts from 'prompts';\nimport { z } from 'zod';\nimport { Component, INVALID_COMPONENT_ERROR, getAllComponentsToWrite } from '../items';\nimport { COMPONENTS, UI_COMPONENTS } from '../items/components';\nimport { fileURLToPath } from 'url';\n\nconst filePath = fileURLToPath(import.meta.url);\nconst fileDir = path.dirname(filePath);\n\nconst addOptionsSchema = z.object({\n components: z.array(z.string()).optional(),\n overwrite: z.boolean(),\n cwd: z.string(),\n path: z.string().optional(),\n});\n\nexport const add = new Command()\n .name('add')\n .description('add components to your project')\n .argument('[components...]', 'the components to add')\n .option('-o, --overwrite', 'overwrite existing files.', false)\n .option(\n '-c, --cwd <cwd>',\n 'the working directory. defaults to the current directory.',\n process.cwd()\n )\n .action(async (components, opts) => {\n try {\n const options = addOptionsSchema.parse({\n components,\n ...opts,\n });\n\n const cwd = path.resolve(options.cwd);\n\n if (!existsSync(cwd)) {\n logger.error(`The path ${cwd} does not exist. Please try again.`);\n process.exit(1);\n }\n\n let config = await getConfig(cwd);\n\n if (!config) {\n config = await promptForConfig(cwd);\n }\n\n let selectedComponents: Array<string> = options.components ?? [];\n if (!selectedComponents?.length) {\n const { components } = await prompts({\n type: 'multiselect',\n name: 'components',\n message: 'Which components would you like to add?',\n hint: 'Space to select. A to toggle all. Enter to submit.',\n instructions: false,\n choices: UI_COMPONENTS.map((entry) => ({\n title: entry.name,\n value: entry.name,\n selected: false,\n })),\n });\n selectedComponents = components;\n }\n\n if (!selectedComponents?.length) {\n logger.warn('No components selected. Exiting.');\n process.exit(0);\n }\n\n const spinner = ora(`Installing components...`).start();\n\n let componentsToWrite: Array<Component> = [];\n try {\n componentsToWrite = getAllComponentsToWrite(selectedComponents);\n } catch (err) {\n if (err instanceof Error && err.message === INVALID_COMPONENT_ERROR) {\n logger.error(\n `Invalid component(s): ${selectedComponents\n .filter((component) => !COMPONENTS.find((entry) => entry.name === component))\n .join(', ')}`\n );\n process.exit(1);\n }\n logger.error(err);\n }\n\n const npmPackages: Array<string> = [];\n\n for (const comp of componentsToWrite) {\n spinner.text = `Installing ${comp.name}...`;\n\n if (Array.isArray(comp.paths)) {\n await writeFiles(comp, comp.paths, config, spinner);\n } else {\n await writeFiles(\n comp,\n comp.paths[config.platforms === 'universal' ? 'universal' : 'native-only'],\n config,\n spinner\n );\n }\n\n npmPackages.push(\n ...comp.npmPackages[config.platforms === 'universal' ? 'universal' : 'native-only']\n );\n }\n\n const packageManager = await getPackageManager(cwd);\n\n if (npmPackages.length) {\n spinner.text = `Installing ${npmPackages.join(', ')}...`;\n await execa(\n packageManager,\n [packageManager === 'npm' ? 'install' : 'add', ...npmPackages],\n {\n cwd,\n }\n );\n }\n spinner.succeed(`Done.`);\n } catch (error) {\n handleError(error);\n }\n });\n\nasync function writeFiles(\n comp: Component,\n paths: Array<{ from: string; distFrom?: string; to: { folder: string; file: string } }>,\n config: Config,\n spinner: Ora\n) {\n for (const compPath of paths) {\n const targetDir = path.join(config.resolvedPaths.components, compPath.to.folder);\n if (!existsSync(targetDir)) {\n await fs.mkdir(targetDir, { recursive: true });\n }\n\n spinner.stop();\n\n if (existsSync(path.join(targetDir, compPath.to.file))) {\n logger.info(\n `File already exists: ${chalk.bgCyan(\n [compPath.to.folder, compPath.to.file].join('/')\n )} was skipped. To overwrite, run with the ${chalk.green('--overwrite')} flag.`\n );\n continue;\n }\n\n spinner.start(`Installing ${comp.name}...`);\n const readFromPath = compPath.distFrom\n ? path.join(fileDir, 'generated/components', compPath.distFrom)\n : path.join(fileDir, 'generated/components', compPath.to.folder, compPath.to.file);\n try {\n const content = await fs.readFile(path.resolve(readFromPath), 'utf8');\n await fs.writeFile(\n path.join(targetDir, compPath.to.file),\n fixImports(content, config.aliases.components, config.aliases.lib)\n );\n } catch (error) {\n handleError(error);\n }\n }\n}\n\nfunction fixImports(rawfile: string, componentsAlias: string, libAlias: string) {\n return rawfile\n .replace('../Icons', `${componentsAlias}/Icons`)\n .replace('./typography', `${componentsAlias}/ui/typography`)\n .replace('./text', `${componentsAlias}/ui/text`)\n .replaceAll('../../components', componentsAlias)\n .replaceAll('../../lib', libAlias)\n .replaceAll('@rnr', `${componentsAlias}/primitives`);\n}\n\nasync function promptForConfig(cwd: string) {\n const highlight = (text: string) => chalk.cyan(text);\n\n const options = await prompts([\n {\n type: 'select',\n name: 'platforms',\n message: `Which ${highlight('platforms')} do you support?`,\n choices: [\n { title: 'Universal (Web, iOS, and Android)', value: 'universal' },\n { title: 'Native Only (iOS and Android)', value: 'native-only' },\n ],\n },\n {\n type: 'text',\n name: 'components',\n message: `Configure the import alias for ${highlight('components')}:`,\n initial: DEFAULT_COMPONENTS,\n },\n {\n type: 'text',\n name: 'lib',\n message: `Configure the import alias for ${highlight('lib')}:`,\n initial: DEFAULT_LIB,\n },\n ]);\n\n const config = rawConfigSchema.parse({\n platforms: options.platforms,\n aliases: {\n lib: options.lib,\n components: options.components,\n },\n });\n\n const { proceed } = await prompts({\n type: 'confirm',\n name: 'proceed',\n message: `Write configuration to ${highlight('components.json')}. Proceed?`,\n initial: true,\n });\n\n if (proceed) {\n // Write to file.\n logger.info('');\n const spinner = ora(`Writing components.json...`).start();\n const targetPath = path.resolve(cwd, 'components.json');\n await fs.writeFile(targetPath, JSON.stringify(config, null, 2), 'utf8');\n spinner.succeed();\n }\n\n return await resolveConfigPaths(cwd, config);\n}\n","export const UI_COMPONENTS = [\n {\n name: 'accordion',\n dependencies: ['accordion-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/accordion.tsx',\n to: {\n folder: 'ui',\n file: 'accordion.tsx',\n },\n },\n ],\n },\n {\n name: 'alert-dialog',\n dependencies: ['alert-dialog-primitive', 'button', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/alert-dialog.tsx',\n to: {\n folder: 'ui',\n file: 'alert-dialog.tsx',\n },\n },\n ],\n },\n {\n name: 'aspect-ratio',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/aspect-ratio.tsx',\n to: {\n folder: 'ui',\n file: 'aspect-ratio.tsx',\n },\n },\n ],\n },\n {\n name: 'avatar',\n dependencies: ['avatar-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/avatar.tsx',\n to: {\n folder: 'ui',\n file: 'avatar.tsx',\n },\n },\n ],\n },\n {\n name: 'badge',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/badge.tsx',\n to: {\n folder: 'ui',\n file: 'badge.tsx',\n },\n },\n ],\n },\n {\n name: 'button',\n dependencies: ['text', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/button.tsx',\n to: {\n folder: 'ui',\n file: 'button.tsx',\n },\n },\n ],\n },\n {\n name: 'card',\n dependencies: ['text', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/card.tsx',\n to: {\n folder: 'ui',\n file: 'card.tsx',\n },\n },\n ],\n },\n {\n name: 'checkbox',\n dependencies: ['checkbox-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/checkbox.tsx',\n to: {\n folder: 'ui',\n file: 'checkbox.tsx',\n },\n },\n ],\n },\n {\n name: 'collapsible',\n dependencies: ['collapsible-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/collapsible.tsx',\n to: {\n folder: 'ui',\n file: 'collapsible.tsx',\n },\n },\n ],\n },\n {\n name: 'context-menu',\n dependencies: ['context-menu-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/context-menu.tsx',\n to: {\n folder: 'ui',\n file: 'context-menu.tsx',\n },\n },\n ],\n },\n {\n name: 'dialog',\n dependencies: ['dialog-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/dialog.tsx',\n to: {\n folder: 'ui',\n file: 'dialog.tsx',\n },\n },\n ],\n },\n {\n name: 'dropdown-menu',\n dependencies: ['dropdown-menu-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/dropdown-menu.tsx',\n to: {\n folder: 'ui',\n file: 'dropdown-menu.tsx',\n },\n },\n ],\n },\n {\n name: 'hover-card',\n dependencies: ['hover-card-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/hover-card.tsx',\n to: {\n folder: 'ui',\n file: 'hover-card.tsx',\n },\n },\n ],\n },\n {\n name: 'input',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/input.tsx',\n to: {\n folder: 'ui',\n file: 'input.tsx',\n },\n },\n ],\n },\n {\n name: 'label',\n dependencies: ['label-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/label.tsx',\n to: {\n folder: 'ui',\n file: 'label.tsx',\n },\n },\n ],\n },\n {\n name: 'menubar',\n dependencies: ['menubar-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/menubar.tsx',\n to: {\n folder: 'ui',\n file: 'menubar.tsx',\n },\n },\n ],\n },\n {\n name: 'navigation-menu',\n dependencies: ['navigation-menu-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/navigation-menu.tsx',\n to: {\n folder: 'ui',\n file: 'navigation-menu.tsx',\n },\n },\n ],\n },\n {\n name: 'popover',\n dependencies: ['popover-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/popover.tsx',\n to: {\n folder: 'ui',\n file: 'popover.tsx',\n },\n },\n ],\n },\n {\n name: 'radio-group',\n dependencies: ['radio-group-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/radio-group.tsx',\n to: {\n folder: 'ui',\n file: 'radio-group.tsx',\n },\n },\n ],\n },\n {\n name: 'select',\n dependencies: ['select-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/select.tsx',\n to: {\n folder: 'ui',\n file: 'select.tsx',\n },\n },\n ],\n },\n {\n name: 'separator',\n dependencies: ['separator-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/separator.tsx',\n to: {\n folder: 'ui',\n file: 'separator.tsx',\n },\n },\n ],\n },\n {\n name: 'skeleton',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/skeleton.tsx',\n to: {\n folder: 'ui',\n file: 'skeleton.tsx',\n },\n },\n ],\n },\n {\n name: 'switch',\n dependencies: ['switch-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/switch.tsx',\n to: {\n folder: 'ui',\n file: 'switch.tsx',\n },\n },\n ],\n },\n {\n name: 'table',\n dependencies: ['table-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/table.tsx',\n to: {\n folder: 'ui',\n file: 'table.tsx',\n },\n },\n ],\n },\n {\n name: 'tabs',\n dependencies: ['tabs-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/tabs.tsx',\n to: {\n folder: 'ui',\n file: 'tabs.tsx',\n },\n },\n ],\n },\n {\n name: 'text',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/text.tsx',\n to: { folder: 'ui', file: 'text.tsx' },\n },\n ],\n },\n {\n name: 'textarea',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/textarea.tsx',\n to: { folder: 'ui', file: 'textarea.tsx' },\n },\n ],\n },\n {\n name: 'toggle',\n dependencies: ['toggle-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/toggle.tsx',\n to: { folder: 'ui', file: 'toggle.tsx' },\n },\n ],\n },\n {\n name: 'toggle-group',\n dependencies: ['toggle-group-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/toggle-group.tsx',\n to: { folder: 'ui', file: 'toggle-group.tsx' },\n },\n ],\n },\n {\n name: 'tooltip',\n dependencies: ['tooltip-primitive', 'text'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/tooltip.tsx',\n to: { folder: 'ui', file: 'tooltip.tsx' },\n },\n ],\n },\n {\n name: 'typography',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/reusables/src/components/ui/typography.tsx',\n to: { folder: 'ui', file: 'typography.tsx' },\n },\n ],\n },\n];\n\nconst PRIMITIVE_COMPONENTS = [\n {\n name: 'accordion-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-accordion'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/accordion/src/index.ts',\n to: { folder: 'primitives/accordion', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/accordion/src/accordion.web.tsx',\n to: { folder: 'primitives/accordion', file: 'accordion.web.tsx' },\n },\n {\n from: './node_modules/@rnr/accordion/src/accordion.tsx',\n to: { folder: 'primitives/accordion', file: 'accordion.tsx' },\n },\n {\n from: './node_modules/@rnr/accordion/src/types.ts',\n to: { folder: 'primitives/accordion', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/accordion/src/accordion.tsx',\n distFrom: 'primitives/accordion/accordion.tsx',\n to: { folder: 'primitives/accordion', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/accordion/src/types.ts',\n distFrom: 'primitives/accordion/types.ts',\n to: { folder: 'primitives/accordion', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'alert-dialog-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-alert-dialog'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/alert-dialog/src/index.ts',\n to: { folder: 'primitives/alert-dialog', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/alert-dialog/src/alert-dialog.web.tsx',\n to: { folder: 'primitives/alert-dialog', file: 'alert-dialog.web.tsx' },\n },\n {\n from: './node_modules/@rnr/alert-dialog/src/alert-dialog.tsx',\n to: { folder: 'primitives/alert-dialog', file: 'alert-dialog.tsx' },\n },\n {\n from: './node_modules/@rnr/alert-dialog/src/types.ts',\n to: { folder: 'primitives/alert-dialog', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/alert-dialog/src/alert-dialog.tsx',\n distFrom: 'primitives/alert-dialog/alert-dialog.tsx',\n to: { folder: 'primitives/alert-dialog', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/alert-dialog/src/types.ts',\n distFrom: 'primitives/alert-dialog/types.ts',\n to: { folder: 'primitives/alert-dialog', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'aspect-ratio-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/aspect-ratio/src/aspect-ratio.tsx',\n to: { folder: 'primitives', file: 'aspect-ratio.tsx' },\n },\n ],\n },\n {\n name: 'avatar-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/avatar/src/avatar.tsx',\n to: { folder: 'primitives/avatar', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/avatar/src/types.ts',\n to: { folder: 'primitives/avatar', file: 'types.ts' },\n },\n ],\n },\n {\n name: 'checkbox-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-checkbox'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/checkbox/src/index.ts',\n to: { folder: 'primitives/checkbox', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/checkbox/src/checkbox.web.tsx',\n to: { folder: 'primitives/checkbox', file: 'checkbox.web.tsx' },\n },\n {\n from: './node_modules/@rnr/checkbox/src/checkbox.tsx',\n to: { folder: 'primitives/checkbox', file: 'checkbox.tsx' },\n },\n {\n from: './node_modules/@rnr/checkbox/src/types.ts',\n to: { folder: 'primitives/checkbox', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/checkbox/src/checkbox.tsx',\n distFrom: 'primitives/checkbox/checkbox.tsx',\n to: { folder: 'primitives/checkbox', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/checkbox/src/types.ts',\n distFrom: 'primitives/checkbox/types.ts',\n to: { folder: 'primitives/checkbox', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'collapsible-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-collapsible'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/collapsible/src/index.ts',\n to: { folder: 'primitives/collapsible', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/collapsible/src/collapsible.web.tsx',\n to: { folder: 'primitives/collapsible', file: 'collapsible.web.tsx' },\n },\n {\n from: './node_modules/@rnr/collapsible/src/collapsible.tsx',\n to: { folder: 'primitives/collapsible', file: 'collapsible.tsx' },\n },\n {\n from: './node_modules/@rnr/collapsible/src/types.ts',\n to: { folder: 'primitives/collapsible', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/collapsible/src/collapsible.tsx',\n distFrom: 'primitives/collapsible/collapsible.tsx',\n to: { folder: 'primitives/collapsible', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/collapsible/src/types.ts',\n distFrom: 'primitives/collapsible/types.ts',\n to: { folder: 'primitives/collapsible', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'context-menu-primitive',\n dependencies: [\n 'hooks-primitive',\n 'slot-primitive',\n 'types-primitive',\n 'portal-primitive',\n 'utils-primitive',\n ],\n npmPackages: {\n universal: ['@radix-ui/react-context-menu'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/context-menu/src/index.ts',\n to: { folder: 'primitives/context-menu', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/context-menu/src/context-menu.web.tsx',\n to: { folder: 'primitives/context-menu', file: 'context-menu.web.tsx' },\n },\n {\n from: './node_modules/@rnr/context-menu/src/context-menu.tsx',\n to: { folder: 'primitives/context-menu', file: 'context-menu.tsx' },\n },\n {\n from: './node_modules/@rnr/context-menu/src/types.ts',\n to: { folder: 'primitives/context-menu', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/context-menu/src/context-menu.tsx',\n distFrom: 'primitives/context-menu/context-menu.tsx',\n to: { folder: 'primitives/context-menu', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/context-menu/src/types.ts',\n distFrom: 'primitives/context-menu/types.ts',\n to: { folder: 'primitives/context-menu', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'dialog-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-dialog'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/dialog/src/index.ts',\n to: { folder: 'primitives/dialog', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/dialog/src/dialog.web.tsx',\n to: { folder: 'primitives/dialog', file: 'dialog.web.tsx' },\n },\n {\n from: './node_modules/@rnr/dialog/src/dialog.tsx',\n to: { folder: 'primitives/dialog', file: 'dialog.tsx' },\n },\n {\n from: './node_modules/@rnr/dialog/src/types.ts',\n to: { folder: 'primitives/dialog', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/dialog/src/dialog.tsx',\n distFrom: 'primitives/dialog/dialog.tsx',\n to: { folder: 'primitives/dialog', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/dialog/src/types.ts',\n distFrom: 'primitives/dialog/types.ts',\n to: { folder: 'primitives/dialog', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'dropdown-menu-primitive',\n dependencies: [\n 'hooks-primitive',\n 'slot-primitive',\n 'types-primitive',\n 'portal-primitive',\n 'utils-primitive',\n ],\n npmPackages: {\n universal: ['@radix-ui/react-dropdown-menu'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/dropdown-menu/src/index.ts',\n to: { folder: 'primitives/dropdown-menu', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/dropdown-menu/src/dropdown-menu.web.tsx',\n to: { folder: 'primitives/dropdown-menu', file: 'dropdown-menu.web.tsx' },\n },\n {\n from: './node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx',\n to: { folder: 'primitives/dropdown-menu', file: 'dropdown-menu.tsx' },\n },\n {\n from: './node_modules/@rnr/dropdown-menu/src/types.ts',\n to: { folder: 'primitives/dropdown-menu', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/dropdown-menu/src/dropdown-menu.tsx',\n distFrom: 'primitives/dropdown-menu/dropdown-menu.tsx',\n to: { folder: 'primitives/dropdown-menu', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/dropdown-menu/src/types.ts',\n distFrom: 'primitives/dropdown-menu/types.ts',\n to: { folder: 'primitives/dropdown-menu', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'hover-card-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-hover-card'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/hover-card/src/index.ts',\n to: { folder: 'primitives/hover-card', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/hover-card/src/hover-card.web.tsx',\n to: { folder: 'primitives/hover-card', file: 'hover-card.web.tsx' },\n },\n {\n from: './node_modules/@rnr/hover-card/src/hover-card.tsx',\n to: { folder: 'primitives/hover-card', file: 'hover-card.tsx' },\n },\n {\n from: './node_modules/@rnr/hover-card/src/types.ts',\n to: { folder: 'primitives/hover-card', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/hover-card/src/hover-card.tsx',\n distFrom: 'primitives/hover-card/hover-card.tsx',\n to: { folder: 'primitives/hover-card', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/hover-card/src/types.ts',\n distFrom: 'primitives/hover-card/types.ts',\n to: { folder: 'primitives/hover-card', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'label-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-label'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/label/src/index.ts',\n to: { folder: 'primitives/label', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/label/src/label.web.tsx',\n to: { folder: 'primitives/label', file: 'label.web.tsx' },\n },\n {\n from: './node_modules/@rnr/label/src/label.tsx',\n to: { folder: 'primitives/label', file: 'label.tsx' },\n },\n {\n from: './node_modules/@rnr/label/src/types.ts',\n to: { folder: 'primitives/label', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/label/src/label.tsx',\n distFrom: 'primitives/label/label.tsx',\n to: { folder: 'primitives/label', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/label/src/types.ts',\n distFrom: 'primitives/label/types.ts',\n to: { folder: 'primitives/label', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'menubar-primitive',\n dependencies: [\n 'hooks-primitive',\n 'slot-primitive',\n 'types-primitive',\n 'portal-primitive',\n 'utils-primitive',\n ],\n npmPackages: {\n universal: ['@radix-ui/react-menubar'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/menubar/src/index.ts',\n to: { folder: 'primitives/menubar', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/menubar/src/menubar.web.tsx',\n to: { folder: 'primitives/menubar', file: 'menubar.web.tsx' },\n },\n {\n from: './node_modules/@rnr/menubar/src/menubar.tsx',\n to: { folder: 'primitives/menubar', file: 'menubar.tsx' },\n },\n {\n from: './node_modules/@rnr/menubar/src/types.ts',\n to: { folder: 'primitives/menubar', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/menubar/src/menubar.tsx',\n distFrom: 'primitives/menubar/menubar.tsx',\n to: { folder: 'primitives/menubar', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/menubar/src/types.ts',\n distFrom: 'primitives/menubar/types.ts',\n to: { folder: 'primitives/menubar', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'navigation-menu-primitive',\n dependencies: [\n 'hooks-primitive',\n 'slot-primitive',\n 'types-primitive',\n 'portal-primitive',\n 'utils-primitive',\n ],\n npmPackages: {\n universal: ['@radix-ui/react-navigation-menu'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/navigation-menu/src/index.ts',\n to: { folder: 'primitives/navigation-menu', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/navigation-menu/src/navigation-menu.web.tsx',\n to: { folder: 'primitives/navigation-menu', file: 'navigation-menu.web.tsx' },\n },\n {\n from: './node_modules/@rnr/navigation-menu/src/navigation-menu.tsx',\n to: { folder: 'primitives/navigation-menu', file: 'navigation-menu.tsx' },\n },\n {\n from: './node_modules/@rnr/navigation-menu/src/types.ts',\n to: { folder: 'primitives/navigation-menu', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/navigation-menu/src/navigation-menu.tsx',\n distFrom: 'primitives/navigation-menu/navigation-menu.tsx',\n to: { folder: 'primitives/navigation-menu', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/navigation-menu/src/types.ts',\n distFrom: 'primitives/navigation-menu/types.ts',\n to: { folder: 'primitives/navigation-menu', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'popover-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-popover'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/popover/src/index.ts',\n to: { folder: 'primitives/popover', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/popover/src/popover.web.tsx',\n to: { folder: 'primitives/popover', file: 'popover.web.tsx' },\n },\n {\n from: './node_modules/@rnr/popover/src/popover.tsx',\n to: { folder: 'primitives/popover', file: 'popover.tsx' },\n },\n {\n from: './node_modules/@rnr/popover/src/types.ts',\n to: { folder: 'primitives/popover', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/popover/src/popover.tsx',\n distFrom: 'primitives/popover/popover.tsx',\n to: { folder: 'primitives/popover', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/popover/src/types.ts',\n distFrom: 'primitives/popover/types.ts',\n to: { folder: 'primitives/popover', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'progress-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-progress'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/progress/src/index.ts',\n to: { folder: 'primitives/progress', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/progress/src/progress.web.tsx',\n to: { folder: 'primitives/progress', file: 'progress.web.tsx' },\n },\n {\n from: './node_modules/@rnr/progress/src/progress.tsx',\n to: { folder: 'primitives/progress', file: 'progress.tsx' },\n },\n {\n from: './node_modules/@rnr/progress/src/types.ts',\n to: { folder: 'primitives/progress', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/progress/src/progress.tsx',\n distFrom: 'primitives/progress/progress.tsx',\n to: { folder: 'primitives/progress', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/progress/src/types.ts',\n distFrom: 'primitives/progress/types.ts',\n to: { folder: 'primitives/progress', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'radio-group-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-radio-group'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/radio-group/src/index.ts',\n to: { folder: 'primitives/radio-group', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/radio-group/src/radio-group.web.tsx',\n to: { folder: 'primitives/radio-group', file: 'radio-group.web.tsx' },\n },\n {\n from: './node_modules/@rnr/radio-group/src/radio-group.tsx',\n to: { folder: 'primitives/radio-group', file: 'radio-group.tsx' },\n },\n {\n from: './node_modules/@rnr/radio-group/src/types.ts',\n to: { folder: 'primitives/radio-group', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/radio-group/src/radio-group.tsx',\n distFrom: 'primitives/radio-group/radio-group.tsx',\n to: { folder: 'primitives/radio-group', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/radio-group/src/types.ts',\n distFrom: 'primitives/radio-group/types.ts',\n to: { folder: 'primitives/radio-group', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'select-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-select'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/select/src/index.ts',\n to: { folder: 'primitives/select', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/select/src/select.web.tsx',\n to: { folder: 'primitives/select', file: 'select.web.tsx' },\n },\n {\n from: './node_modules/@rnr/select/src/select.tsx',\n to: { folder: 'primitives/select', file: 'select.tsx' },\n },\n {\n from: './node_modules/@rnr/select/src/types.ts',\n to: { folder: 'primitives/select', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/select/src/select.tsx',\n distFrom: 'primitives/select/select.tsx',\n to: { folder: 'primitives/select', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/select/src/types.ts',\n distFrom: 'primitives/select/types.ts',\n to: { folder: 'primitives/select', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'separator-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/separator/src/separator.tsx',\n to: { folder: 'primitives/separator', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/separator/src/types.ts',\n to: { folder: 'primitives/separator', file: 'types.ts' },\n },\n ],\n },\n {\n name: 'slider-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-slider'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/slider/src/index.ts',\n to: { folder: 'primitives/slider', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/slider/src/slider.web.tsx',\n to: { folder: 'primitives/slider', file: 'slider.web.tsx' },\n },\n {\n from: './node_modules/@rnr/slider/src/slider.tsx',\n to: { folder: 'primitives/slider', file: 'slider.tsx' },\n },\n {\n from: './node_modules/@rnr/slider/src/types.ts',\n to: { folder: 'primitives/slider', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/slider/src/slider.tsx',\n distFrom: 'primitives/slider/slider.tsx',\n to: { folder: 'primitives/slider', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/slider/src/types.ts',\n distFrom: 'primitives/slider/types.ts',\n to: { folder: 'primitives/slider', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'switch-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-switch'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/switch/src/index.ts',\n to: { folder: 'primitives/switch', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/switch/src/switch.web.tsx',\n to: { folder: 'primitives/switch', file: 'switch.web.tsx' },\n },\n {\n from: './node_modules/@rnr/switch/src/switch.tsx',\n to: { folder: 'primitives/switch', file: 'switch.tsx' },\n },\n {\n from: './node_modules/@rnr/switch/src/types.ts',\n to: { folder: 'primitives/switch', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/switch/src/switch.tsx',\n distFrom: 'primitives/switch/switch.tsx',\n to: { folder: 'primitives/switch', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/switch/src/types.ts',\n distFrom: 'primitives/switch/types.ts',\n to: { folder: 'primitives/switch', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'table-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/table/src/table.tsx',\n to: { folder: 'primitives', file: 'table.tsx' },\n },\n ],\n },\n {\n name: 'tabs-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-tabs'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/tabs/src/index.ts',\n to: { folder: 'primitives/tabs', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/tabs/src/tabs.web.tsx',\n to: { folder: 'primitives/tabs', file: 'tabs.web.tsx' },\n },\n {\n from: './node_modules/@rnr/tabs/src/tabs.tsx',\n to: { folder: 'primitives/tabs', file: 'tabs.tsx' },\n },\n {\n from: './node_modules/@rnr/tabs/src/types.ts',\n to: { folder: 'primitives/tabs', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/tabs/src/tabs.tsx',\n distFrom: 'primitives/tabs/tabs.tsx',\n to: { folder: 'primitives/tabs', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/tabs/src/types.ts',\n distFrom: 'primitives/tabs/types.ts',\n to: { folder: 'primitives/tabs', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'toast-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/toast/src/toast.tsx',\n to: { folder: 'primitives/toast', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/toast/src/types.ts',\n to: { folder: 'primitives/toast', file: 'types.ts' },\n },\n ],\n },\n {\n name: 'toggle-primitive',\n dependencies: ['slot-primitive', 'types-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-toggle'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/toggle/src/index.ts',\n to: { folder: 'primitives/toggle', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/toggle/src/toggle.web.tsx',\n to: { folder: 'primitives/toggle', file: 'toggle.web.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle/src/toggle.tsx',\n to: { folder: 'primitives/toggle', file: 'toggle.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle/src/types.ts',\n to: { folder: 'primitives/toggle', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/toggle/src/toggle.tsx',\n distFrom: 'primitives/toggle/toggle.tsx',\n to: { folder: 'primitives/toggle', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle/src/types.ts',\n distFrom: 'primitives/toggle/types.ts',\n to: { folder: 'primitives/toggle', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'toggle-group-primitive',\n dependencies: ['slot-primitive', 'types-primitive', 'utils-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-toggle-group'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/toggle-group/src/index.ts',\n to: { folder: 'primitives/toggle-group', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/toggle-group/src/toggle-group.web.tsx',\n to: { folder: 'primitives/toggle-group', file: 'toggle-group.web.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle-group/src/toggle-group.tsx',\n to: { folder: 'primitives/toggle-group', file: 'toggle-group.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle-group/src/types.ts',\n to: { folder: 'primitives/toggle-group', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/toggle-group/src/toggle-group.tsx',\n distFrom: 'primitives/toggle-group/toggle-group.tsx',\n to: { folder: 'primitives/toggle-group', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/toggle-group/src/types.ts',\n distFrom: 'primitives/toggle-group/types.ts',\n to: { folder: 'primitives/toggle-group', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'toolbar-primitive',\n dependencies: ['slot-primitive', 'types-primitive', 'utils-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-toolbar'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/toolbar/src/index.ts',\n to: { folder: 'primitives/toolbar', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/toolbar/src/toolbar.web.tsx',\n to: { folder: 'primitives/toolbar', file: 'toolbar.web.tsx' },\n },\n {\n from: './node_modules/@rnr/toolbar/src/toolbar.tsx',\n to: { folder: 'primitives/toolbar', file: 'toolbar.tsx' },\n },\n {\n from: './node_modules/@rnr/toolbar/src/types.ts',\n to: { folder: 'primitives/toolbar', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/toolbar/src/toolbar.tsx',\n distFrom: 'primitives/toolbar/toolbar.tsx',\n to: { folder: 'primitives/toolbar', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/toolbar/src/types.ts',\n distFrom: 'primitives/toolbar/types.ts',\n to: { folder: 'primitives/toolbar', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'tooltip-primitive',\n dependencies: ['hooks-primitive', 'slot-primitive', 'types-primitive', 'portal-primitive'],\n npmPackages: {\n universal: ['@radix-ui/react-tooltip'],\n 'native-only': [],\n },\n paths: {\n universal: [\n {\n from: './node_modules/@rnr/tooltip/src/index.ts',\n to: { folder: 'primitives/tooltip', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/tooltip/src/tooltip.web.tsx',\n to: { folder: 'primitives/tooltip', file: 'tooltip.web.tsx' },\n },\n {\n from: './node_modules/@rnr/tooltip/src/tooltip.tsx',\n to: { folder: 'primitives/tooltip', file: 'tooltip.tsx' },\n },\n {\n from: './node_modules/@rnr/tooltip/src/types.ts',\n to: { folder: 'primitives/tooltip', file: 'types.ts' },\n },\n ],\n 'native-only': [\n {\n from: './node_modules/@rnr/tooltip/src/tooltip.tsx',\n distFrom: 'primitives/tooltip/tooltip.tsx',\n to: { folder: 'primitives/tooltip', file: 'index.tsx' },\n },\n {\n from: './node_modules/@rnr/tooltip/src/types.ts',\n distFrom: 'primitives/tooltip/types.ts',\n to: { folder: 'primitives/tooltip', file: 'types.ts' },\n },\n ],\n },\n },\n {\n name: 'hooks-primitive',\n dependencies: ['types-primitive'],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/hooks/src/index.ts',\n to: { folder: 'primitives/hooks', file: 'index.ts' },\n },\n {\n from: './node_modules/@rnr/hooks/src/useAugmentedRef.tsx',\n to: { folder: 'primitives/hooks', file: 'useAugmentedRef.tsx' },\n },\n {\n from: './node_modules/@rnr/hooks/src/useControllableState.tsx',\n to: { folder: 'primitives/hooks', file: 'useControllableState.tsx' },\n },\n {\n from: './node_modules/@rnr/hooks/src/useRelativePosition.tsx',\n to: { folder: 'primitives/hooks', file: 'useRelativePosition.tsx' },\n },\n ],\n },\n {\n name: 'portal-primitive',\n dependencies: [],\n npmPackages: {\n universal: ['zustand'],\n 'native-only': ['zustand'],\n },\n paths: [\n {\n from: './node_modules/@rnr/portal/src/portal.tsx',\n to: { folder: 'primitives', file: 'portal.tsx' },\n },\n ],\n },\n {\n name: 'slot-primitive',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/slot/src/slot.tsx',\n to: { folder: 'primitives', file: 'slot.tsx' },\n },\n ],\n },\n {\n name: 'types-primitive',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/types/src/index.ts',\n to: { folder: 'primitives', file: 'types.ts' },\n },\n ],\n },\n {\n name: 'utils-primitive',\n dependencies: [],\n npmPackages: {\n universal: [],\n 'native-only': [],\n },\n paths: [\n {\n from: './node_modules/@rnr/utils/src/index.ts',\n to: { folder: 'primitives', file: 'utils.ts' },\n },\n ],\n },\n];\n\nexport const COMPONENTS = [...UI_COMPONENTS, ...PRIMITIVE_COMPONENTS];\n","import { COMPONENTS } from './components';\n\nexport type Component = (typeof COMPONENTS)[number];\ntype ComponentName = (typeof COMPONENTS)[number]['name'];\n\nfunction getComponentDependencies(\n componentName: ComponentName,\n visited = new Set<ComponentName>()\n) {\n const component = COMPONENTS.find((comp) => comp.name === componentName);\n if (!component) return [];\n\n visited.add(componentName);\n\n let dependencies: ComponentName[] = component.dependencies.slice();\n\n component.dependencies.forEach((dependency) => {\n if (!visited.has(dependency)) {\n const childDependencies = getComponentDependencies(dependency, visited);\n dependencies = dependencies.concat(childDependencies);\n }\n });\n\n return dependencies;\n}\n\nexport const INVALID_COMPONENT_ERROR = 'invalid component';\n\nexport function getAllComponentsToWrite(componentNames: string[]): Component[] {\n const uniqueComponents = new Set<ComponentName>();\n\n if (\n componentNames.some((componentName) => !COMPONENTS.find((comp) => comp.name === componentName))\n ) {\n throw new Error(INVALID_COMPONENT_ERROR);\n }\n\n componentNames.forEach((componentName) => {\n const allDependencies = getComponentDependencies(componentName as ComponentName);\n allDependencies.unshift(componentName as never); // Add the component itself to the list\n allDependencies.forEach((dep) => {\n uniqueComponents.add(dep);\n });\n });\n\n return Array.from(uniqueComponents).map((dep) => {\n const comp = COMPONENTS.find((comp) => comp.name === dep);\n if (!comp) {\n throw new Error(INVALID_COMPONENT_ERROR);\n }\n return comp;\n });\n}\n","#!/usr/bin/env node\nimport { add } from '@/src/commands/add';\nimport { Command } from 'commander';\n\nimport { getPackageInfo } from './utils/get-package-info';\n\nprocess.on('SIGINT', () => process.exit(0));\nprocess.on('SIGTERM', () => process.exit(0));\n\nasync function main() {\n const packageInfo = await getPackageInfo();\n\n const program = new Command()\n .name('rnr-cli')\n .description('add components and dependencies to your project')\n .version(packageInfo.version || '0.0.0-rc.0', '-v, --version', 'display the version number');\n\n program.addCommand(add);\n\n program.parse();\n}\n\nmain();\n","import path from 'path';\nimport fs from 'fs-extra';\nimport { type PackageJson } from 'type-fest';\n\nexport function getPackageInfo() {\n const packageJsonPath = path.join('package.json');\n\n return fs.readJSONSync(packageJsonPath) as Promise<PackageJson>;\n}\n"],"mappings":"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I,CACF,OAAQ,KACR,KAAM,qBACR,CACF,CACF,CACF,EACA,CACE,KAAM,UACN,aAAc,CAAC,oBAAqB,MAAM,EAC1C,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,8DACN,GAAI,CACF,OAAQ,KACR,KAAM,aACR,CACF,CACF,CACF,EACA,CACE,KAAM,cACN,aAAc,CAAC,uBAAuB,EACtC,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,kEACN,GAAI,CACF,OAAQ,KACR,KAAM,iBACR,CACF,CACF,CACF,EACA,CACE,KAAM,SACN,aAAc,CAAC,kBAAkB,EACjC,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,6DACN,GAAI,CACF,OAAQ,KACR,KAAM,YACR,CACF,CACF,CACF,EACA,CACE,KAAM,YACN,aAAc,CAAC,qBAAqB,EACpC,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,gEACN,GAAI,CACF,OAAQ,KACR,KAAM,eACR,CACF,CACF,CACF,EACA,CACE,KAAM,WACN,aAAc,CAAC,EACf,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,+DACN,GAAI,CACF,OAAQ,KACR,KAAM,cACR,CACF,CACF,CACF,EACA,CACE,KAAM,SACN,aAAc,CAAC,kBAAkB,EACjC,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,6DACN,GAAI,CACF,OAAQ,KACR,KAAM,YACR,CACF,CACF,CACF,EACA,CACE,KAAM,QACN,aAAc,CAAC,kBAAmB,MAAM,EACxC,YAAa,CACX,UAAW,CAAC,EACZ,cAAe,CAAC,CAClB,EACA,MAAO,CACL,CACE,KAAM,4DACN,GAAI,CACF,OAAQ,KACR,KAAM,WACR,CACF,CACF,CACF,EACA,CACE,KAAM,OACN,aAAc,CAAC,iBAA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","names":["createMatchPath","resolveImport","importPath","config","cosmiconfig","loadConfig","z","DEFAULT_COMPONENTS","DEFAULT_LIB","explorer","cosmiconfig","rawConfigSchema","z","configSchema","getConfig","cwd","config","getRawConfig","resolveConfigPaths","tsConfig","loadConfig","resolveImport","configResult","detect","getPackageManager","targetDir","packageManager","chalk","logger","args","handleError","error","logger","chalk","Command","execa","existsSync","fs","ora","path","prompts","z","UI_COMPONENTS","PRIMITIVE_COMPONENTS","COMPONENTS","getComponentDependencies","componentName","visited","component","COMPONENTS","comp","dependencies","dependency","childDependencies","INVALID_COMPONENT_ERROR","getAllComponentsToWrite","componentNames","uniqueComponents","allDependencies","dep","fileURLToPath","filePath","fileDir","path","addOptionsSchema","z","add","Command","components","opts","options","cwd","existsSync","logger","config","getConfig","promptForConfig","selectedComponents","prompts","UI_COMPONENTS","entry","spinner","ora","componentsToWrite","getAllComponentsToWrite","err","INVALID_COMPONENT_ERROR","component","COMPONENTS","npmPackages","comp","writeFiles","packageManager","getPackageManager","execa","error","handleError","paths","compPath","targetDir","fs","chalk","readFromPath","content","fixImports","rawfile","componentsAlias","libAlias","highlight","text","DEFAULT_COMPONENTS","DEFAULT_LIB","rawConfigSchema","proceed","targetPath","resolveConfigPaths","Command","path","fs","getPackageInfo","packageJsonPath","main","packageInfo","getPackageInfo","program","Command","add"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-reusables/cli",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "Add Universal components and primitives to your React-Native project.",
5
5
  "publishConfig": {
6
6
  "access": "public"