UNPKG

@easy-shadcn/react

Version:

Use shadcn/ui easy&enhance like component library

77 lines (71 loc) 3 kB
'use strict'; var React = require('react'); var TabsPrimitive = require('@radix-ui/react-tabs'); var utils = require('@easy-shadcn/utils'); var jsxRuntime = require('react/jsx-runtime'); function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var React__namespace = /*#__PURE__*/_interopNamespace(React); var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive); var Tabs = TabsPrimitive__namespace.Root; var TabsList = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx( TabsPrimitive__namespace.List, { ref, className: utils.cn( "inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground", className ), ...props } )); TabsList.displayName = TabsPrimitive__namespace.List.displayName; var TabsTrigger = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx( TabsPrimitive__namespace.Trigger, { ref, className: utils.cn( "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow", className ), ...props } )); TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName; var TabsContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx( TabsPrimitive__namespace.Content, { ref, className: utils.cn( "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", className ), ...props } )); TabsContent.displayName = TabsPrimitive__namespace.Content.displayName; var Tabs2 = React__namespace.default.forwardRef( ({ option, listProps, triggerProps, contentProps, ...props }, ref) => { return /* @__PURE__ */ jsxRuntime.jsxs(Tabs, { ref, ...props, children: [ /* @__PURE__ */ jsxRuntime.jsx(TabsList, { ...listProps, children: option.map((opt) => /* @__PURE__ */ React.createElement(TabsTrigger, { ...triggerProps, ...opt.triggerProps, key: opt.value, value: opt.value }, opt.title)) }), option.map((opt) => /* @__PURE__ */ React.createElement(TabsContent, { ...contentProps, ...opt.contentProps, key: opt.value, value: opt.value }, opt.content)) ] }); } ); Tabs2.displayName = "Tabs"; exports.Tabs = Tabs2;