@lssm/lib.design-system 1.7.2 → 1.7.3
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/components/atoms/ActionButtons.d.ts +10 -10
- package/dist/components/atoms/Button.d.ts +2 -2
- package/dist/components/atoms/Button.mobile.d.ts +2 -2
- package/dist/components/atoms/Button.mobile.d.ts.map +1 -1
- package/dist/components/atoms/ButtonLink.d.ts +2 -2
- package/dist/components/atoms/ButtonLink.mobile.d.ts +2 -2
- package/dist/components/atoms/ButtonLink.mobile.d.ts.map +1 -1
- package/dist/components/atoms/DataChips.d.ts +7 -7
- package/dist/components/atoms/DataChips.d.ts.map +1 -1
- package/dist/components/atoms/EmptyState.d.ts +2 -2
- package/dist/components/atoms/EmptyState.d.ts.map +1 -1
- package/dist/components/atoms/ErrorState.d.ts +2 -2
- package/dist/components/atoms/ErrorState.mobile.d.ts +2 -2
- package/dist/components/atoms/ErrorState.mobile.d.ts.map +1 -1
- package/dist/components/atoms/Input.d.ts +2 -2
- package/dist/components/atoms/Input.d.ts.map +1 -1
- package/dist/components/atoms/Input.mobile.d.ts +2 -2
- package/dist/components/atoms/Input.mobile.d.ts.map +1 -1
- package/dist/components/atoms/Link.d.ts +2 -2
- package/dist/components/atoms/Link.d.ts.map +1 -1
- package/dist/components/atoms/Link.web.d.ts +2 -2
- package/dist/components/atoms/LoaderCircular.d.ts +4 -4
- package/dist/components/atoms/LoaderCircular.d.ts.map +1 -1
- package/dist/components/atoms/LoaderCircular.mobile.d.ts +2 -2
- package/dist/components/atoms/NavBrand.d.ts +2 -2
- package/dist/components/atoms/Stepper.d.ts +2 -2
- package/dist/components/atoms/Textarea.d.ts +2 -2
- package/dist/components/atoms/Textarea.mobile.d.ts +2 -2
- package/dist/components/data-view/DataViewDetail.d.ts +2 -3
- package/dist/components/data-view/DataViewDetail.d.ts.map +1 -1
- package/dist/components/data-view/DataViewList.d.ts +2 -3
- package/dist/components/data-view/DataViewList.d.ts.map +1 -1
- package/dist/components/data-view/DataViewRenderer.d.ts +2 -3
- package/dist/components/data-view/DataViewRenderer.d.ts.map +1 -1
- package/dist/components/data-view/DataViewTable.d.ts +2 -3
- package/dist/components/data-view/DataViewTable.d.ts.map +1 -1
- package/dist/components/forms/FormCardLayout.d.ts +2 -2
- package/dist/components/forms/FormCardLayout.d.ts.map +1 -1
- package/dist/components/forms/FormDialog.d.ts +2 -2
- package/dist/components/forms/FormDialog.d.ts.map +1 -1
- package/dist/components/forms/FormLayout.d.ts +4 -4
- package/dist/components/forms/FormLayout.d.ts.map +1 -1
- package/dist/components/forms/FormOneByOneLayout.d.ts +2 -2
- package/dist/components/forms/FormOneByOneLayout.d.ts.map +1 -1
- package/dist/components/forms/FormStepsLayout.d.ts +2 -2
- package/dist/components/forms/ZodForm.d.ts +2 -2
- package/dist/components/forms/ZodForm.d.ts.map +1 -1
- package/dist/components/legal/atoms/DefinitionList.d.ts +2 -2
- package/dist/components/legal/atoms/KeyValueList.d.ts +2 -2
- package/dist/components/legal/atoms/LegalCallout.d.ts +4 -4
- package/dist/components/legal/atoms/LegalCallout.d.ts.map +1 -1
- package/dist/components/legal/atoms/LegalHeading.d.ts +5 -5
- package/dist/components/legal/atoms/LegalHeading.d.ts.map +1 -1
- package/dist/components/legal/atoms/LegalList.d.ts +4 -4
- package/dist/components/legal/atoms/LegalList.d.ts.map +1 -1
- package/dist/components/legal/atoms/LegalSection.d.ts +4 -4
- package/dist/components/legal/atoms/LegalSection.d.ts.map +1 -1
- package/dist/components/legal/atoms/LegalText.d.ts +6 -6
- package/dist/components/legal/molecules/Consent.d.ts +3 -3
- package/dist/components/legal/molecules/ContactFields.d.ts +2 -2
- package/dist/components/legal/molecules/LegalMeta.d.ts +2 -2
- package/dist/components/legal/molecules/LegalTOC.d.ts +4 -4
- package/dist/components/legal/molecules/LegalTOC.d.ts.map +1 -1
- package/dist/components/legal/organisms/ContactForm.d.ts +2 -2
- package/dist/components/legal/organisms/GDPRDataRequest.d.ts +2 -2
- package/dist/components/legal/organisms/GDPRDataRequest.d.ts.map +1 -1
- package/dist/components/legal/organisms/GDPRRights.d.ts +2 -2
- package/dist/components/legal/organisms/LegalPageLayout.d.ts +2 -2
- package/dist/components/legal/templates/ContactTemplate.d.ts +2 -2
- package/dist/components/legal/templates/ContactTemplate.d.ts.map +1 -1
- package/dist/components/legal/templates/CookiesTemplate.d.ts +2 -2
- package/dist/components/legal/templates/PrivacyTemplate.d.ts +2 -2
- package/dist/components/legal/templates/SalesTermsTemplate.d.ts +2 -2
- package/dist/components/legal/templates/TermsTemplate.d.ts +2 -2
- package/dist/components/molecules/AiLinkButton.d.ts +2 -2
- package/dist/components/molecules/Breadcrumbs.d.ts +2 -2
- package/dist/components/molecules/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/molecules/CommandPalette.d.ts +2 -2
- package/dist/components/molecules/CommandSearchTrigger.d.ts +2 -2
- package/dist/components/molecules/EntityCard.d.ts +4 -4
- package/dist/components/molecules/EntityCard.d.ts.map +1 -1
- package/dist/components/molecules/FiltersToolbar.d.ts +2 -2
- package/dist/components/molecules/FiltersToolbar.mobile.d.ts +2 -2
- package/dist/components/molecules/HoverPreview.d.ts +2 -2
- package/dist/components/molecules/LangSwitch.d.ts +2 -2
- package/dist/components/molecules/LangSwitchDropdown.d.ts +2 -2
- package/dist/components/molecules/LoaderBlock.d.ts +2 -2
- package/dist/components/molecules/LoaderBlock.mobile.d.ts +2 -2
- package/dist/components/molecules/MobileNavMenu.d.ts +2 -2
- package/dist/components/molecules/NavItemCard.d.ts +2 -2
- package/dist/components/molecules/NavMain.d.ts +2 -2
- package/dist/components/molecules/NavUser.d.ts +2 -2
- package/dist/components/molecules/OverviewCard.d.ts +2 -2
- package/dist/components/molecules/SkeletonBlock/index.mobile.d.ts +2 -2
- package/dist/components/molecules/SkeletonBlock/index.web.d.ts +2 -2
- package/dist/components/molecules/SkeletonCircle/index.mobile.d.ts +2 -2
- package/dist/components/molecules/SkeletonCircle/index.mobile.d.ts.map +1 -1
- package/dist/components/molecules/SkeletonCircle/index.web.d.ts +2 -2
- package/dist/components/molecules/SkeletonCircle/index.web.d.ts.map +1 -1
- package/dist/components/molecules/SkeletonList/index.mobile.d.ts +2 -2
- package/dist/components/molecules/SkeletonList/index.web.d.ts +2 -2
- package/dist/components/molecules/StatCard.d.ts +5 -5
- package/dist/components/molecules/StatCard.d.ts.map +1 -1
- package/dist/components/molecules/StatusChip.d.ts +5 -5
- package/dist/components/molecules/StatusChip.d.ts.map +1 -1
- package/dist/components/molecules/hover-previews/Doc.d.ts +2 -2
- package/dist/components/molecules/hover-previews/Media.d.ts +2 -2
- package/dist/components/molecules/hover-previews/Simple.d.ts +2 -2
- package/dist/components/molecules/hover-previews/Simple.d.ts.map +1 -1
- package/dist/components/molecules/hover-previews/Stats.d.ts +2 -2
- package/dist/components/molecules/hover-previews/User.d.ts +2 -2
- package/dist/components/molecules/hover-previews/User.d.ts.map +1 -1
- package/dist/components/native/BottomTabs.mobile.d.ts +2 -2
- package/dist/components/native/BottomTabs.mobile.d.ts.map +1 -1
- package/dist/components/native/FlatListScreen.mobile.d.ts +5 -5
- package/dist/components/native/FlatListScreen.mobile.d.ts.map +1 -1
- package/dist/components/native/SheetMenu.mobile.d.ts +2 -2
- package/dist/components/native/SheetMenu.mobile.d.ts.map +1 -1
- package/dist/components/organisms/AcademyLayout.d.ts +2 -2
- package/dist/components/organisms/AcademyLayout.d.ts.map +1 -1
- package/dist/components/organisms/AppHeader.d.ts +2 -2
- package/dist/components/organisms/AppHeader.d.ts.map +1 -1
- package/dist/components/organisms/AppHeader.mobile.d.ts +2 -2
- package/dist/components/organisms/AppHeader.mobile.d.ts.map +1 -1
- package/dist/components/organisms/AppLayout.d.ts +2 -2
- package/dist/components/organisms/AppLayout.d.ts.map +1 -1
- package/dist/components/organisms/AppSidebar.d.ts +2 -2
- package/dist/components/organisms/AppSidebar.d.ts.map +1 -1
- package/dist/components/organisms/EmptyDataList.d.ts +2 -2
- package/dist/components/organisms/EmptyDataList.d.ts.map +1 -1
- package/dist/components/organisms/EmptyDataList.mobile.d.ts +2 -2
- package/dist/components/organisms/EmptyDataList.mobile.d.ts.map +1 -1
- package/dist/components/organisms/EmptySearchResult.d.ts +2 -2
- package/dist/components/organisms/EmptySearchResult.d.ts.map +1 -1
- package/dist/components/organisms/FAQSection.d.ts +2 -2
- package/dist/components/organisms/FeatureCarousel.d.ts +2 -2
- package/dist/components/organisms/FeatureCarousel.d.ts.map +1 -1
- package/dist/components/organisms/FeaturesSection.d.ts +2 -2
- package/dist/components/organisms/FeaturesSection.d.ts.map +1 -1
- package/dist/components/organisms/Footer.d.ts +2 -2
- package/dist/components/organisms/Footer.d.ts.map +1 -1
- package/dist/components/organisms/GridLayout.d.ts +4 -4
- package/dist/components/organisms/GridLayout.d.ts.map +1 -1
- package/dist/components/organisms/Header.d.ts +4 -4
- package/dist/components/organisms/Header.d.ts.map +1 -1
- package/dist/components/organisms/Header.mobile.d.ts +2 -2
- package/dist/components/organisms/HeroResponsive.d.ts +2 -2
- package/dist/components/organisms/HeroResponsive.d.ts.map +1 -1
- package/dist/components/organisms/HeroSection.d.ts +2 -2
- package/dist/components/organisms/HeroSection.d.ts.map +1 -1
- package/dist/components/organisms/ListCardPage.d.ts +5 -5
- package/dist/components/organisms/ListCardPage.d.ts.map +1 -1
- package/dist/components/organisms/ListGridPage.d.ts +5 -5
- package/dist/components/organisms/ListGridPage.d.ts.map +1 -1
- package/dist/components/organisms/ListPageResponsive.d.ts +2 -2
- package/dist/components/organisms/ListPageResponsive.d.ts.map +1 -1
- package/dist/components/organisms/ListTablePage.d.ts +4 -4
- package/dist/components/organisms/ListTablePage.d.ts.map +1 -1
- package/dist/components/organisms/MarketingHeader.d.ts +2 -2
- package/dist/components/organisms/MarketingHeaderDesktop.d.ts +2 -2
- package/dist/components/organisms/MarketingHeaderDesktop.d.ts.map +1 -1
- package/dist/components/organisms/MarketingHeaderMobile.d.ts +2 -2
- package/dist/components/organisms/MarketingHeaderMobile.d.ts.map +1 -1
- package/dist/components/organisms/MarketingLayout.d.ts +2 -2
- package/dist/components/organisms/PageHeaderResponsive.d.ts +2 -2
- package/dist/components/organisms/PageHeaderResponsive.mobile.d.ts +2 -2
- package/dist/components/organisms/PricingCarousel.d.ts +2 -2
- package/dist/components/organisms/PricingSection.d.ts +2 -2
- package/dist/components/organisms/TestimonialCarousel.d.ts +2 -2
- package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts +2 -2
- package/dist/components/templates/lists/ListPageTemplate/index.mobile.d.ts.map +1 -1
- package/dist/components/templates/lists/ListPageTemplate/index.mobile.js +1 -1
- package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts +2 -2
- package/dist/components/templates/lists/ListPageTemplate/index.web.d.ts.map +1 -1
- package/dist/contracts/src/client/react/drivers/shadcn.js +12 -0
- package/dist/contracts/src/client/react/drivers/shadcn.js.map +1 -0
- package/dist/contracts/src/client/react/form-render.js +299 -0
- package/dist/contracts/src/client/react/form-render.js.map +1 -0
- package/dist/contracts/src/forms.js +89 -0
- package/dist/contracts/src/forms.js.map +1 -0
- package/dist/lib/keyboard.d.ts.map +1 -1
- package/dist/renderers/form-contract.d.ts +2 -5
- package/dist/renderers/form-contract.d.ts.map +1 -1
- package/dist/renderers/form-contract.js +6 -6
- package/dist/renderers/form-contract.js.map +1 -1
- package/dist/theme/tokenBridge.d.ts.map +1 -1
- package/dist/theme/variants.d.ts +3 -3
- package/dist/types/navigation.d.ts.map +1 -1
- package/dist/ui-kit-web/dist/ui/sidebar.js +84 -182
- package/dist/ui-kit-web/dist/ui/sidebar.js.map +1 -1
- package/package.json +301 -150
- package/dist/contracts/dist/client/react/drivers/shadcn.js +0 -8
- package/dist/contracts/dist/client/react/drivers/shadcn.js.map +0 -1
- package/dist/contracts/dist/client/react/form-render.js +0 -262
- package/dist/contracts/dist/client/react/form-render.js.map +0 -1
- package/dist/contracts/dist/forms.js +0 -79
- package/dist/contracts/dist/forms.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-contract.js","names":["Select","SelectUiKit","
|
|
1
|
+
{"version":3,"file":"form-contract.js","names":["Select","SelectUiKit","Checkbox","CheckboxUiKit","RadioGroup","RadioGroupUiKit","Switch","SwitchUiKit","FieldWrap"],"sources":["../../src/renderers/form-contract.tsx"],"sourcesContent":["'use client';\nimport React from 'react';\nimport { createFormRenderer } from '@lssm/lib.contracts/client/react/form-render';\nimport { shadcnDriver } from '@lssm/lib.contracts/client/react/drivers/shadcn';\n\n// Minimal shadcn driver mapping: host must wire its components here.\n// Replace these placeholders with actual shadcn/ui imports in your app.\nimport {\n Field as FieldWrap,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n} from '@lssm/lib.ui-kit-web/ui/field';\nimport { Button } from '../components/atoms/Button';\nimport { Input } from '../components/atoms/Input';\nimport { Textarea } from '../components/atoms/Textarea';\nimport { Switch as SwitchUiKit } from '@lssm/lib.ui-kit-web/ui/switch';\nimport {\n RadioGroup as RadioGroupUiKit,\n RadioGroupItem,\n} from '@lssm/lib.ui-kit-web/ui/radio-group';\nimport { Checkbox as CheckboxUiKit } from '@lssm/lib.ui-kit-web/ui/checkbox';\nimport {\n Select as SelectUiKit,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@lssm/lib.ui-kit-web/ui/select';\nimport { Label } from '@lssm/lib.ui-kit-web/ui/label';\n\n// Select/Checkbox/Radio/Switch are app-specific; provide thin wrappers.\nconst Select = (props: any) => {\n const { options, value, onChange, ...rest } = props;\n return (\n <SelectUiKit\n value={value ?? ''}\n onValueChange={(v) => onChange?.(v)}\n {...rest}\n >\n <SelectTrigger className=\"w-[180px]\">\n <SelectValue placeholder={props.placeholder} />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n {/* <SelectLabel>Fruits</SelectLabel> */}\n {/* <SelectItem value=\"\" disabled hidden></SelectItem> */}\n {options?.map((o: any, i: number) => (\n <SelectItem key={i} value={o.value} disabled={o.disabled}>\n {o.labelI18n}\n </SelectItem>\n ))}\n </SelectGroup>\n </SelectContent>\n </SelectUiKit>\n );\n};\nconst Checkbox = (props: any) => (\n <CheckboxUiKit\n checked={!!props.checked}\n onCheckedChange={(v) => props.onCheckedChange?.(v)}\n {...props}\n />\n);\nconst RadioGroup = (props: any) => (\n <RadioGroupUiKit {...props}>\n {props.options?.map((o: any, i: number) => (\n <div className=\"flex items-center gap-3\">\n <RadioGroupItem value={o.value} id={o.value} />\n <Label htmlFor={o.value}>{o.label}</Label>\n </div>\n ))}\n </RadioGroupUiKit>\n);\nconst Switch = (props: any) => (\n <SwitchUiKit\n checked={!!props.checked}\n onCheckedChange={(v) => props.onCheckedChange?.(v)}\n {...props}\n />\n);\n\nexport const formRenderer = createFormRenderer({\n driver: shadcnDriver({\n Field: FieldWrap,\n FieldLabel: FieldLabel,\n FieldDescription: FieldDescription,\n FieldError: FieldError,\n FieldGroup: FieldGroup,\n FieldSet: (p: any) => <fieldset {...p} />,\n FieldLegend: (p: any) => <legend {...p} />,\n Input: Input as any,\n Textarea: Textarea as any,\n Select: Select,\n Checkbox: Checkbox,\n RadioGroup: RadioGroup,\n Switch: Switch,\n Button: Button as any,\n }),\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAkCA,MAAMA,YAAU,UAAe;CAC7B,MAAM,EAAE,SAAS,OAAO,SAAU,GAAG,SAAS;AAC9C,QACE,qBAACC;EACC,OAAO,SAAS;EAChB,gBAAgB,MAAM,WAAW,EAAE;EACnC,GAAI;aAEJ,oBAAC;GAAc,WAAU;aACvB,oBAAC,eAAY,aAAa,MAAM,cAAe;IACjC,EAChB,oBAAC,2BACC,oBAAC,yBAGE,SAAS,KAAK,GAAQ,MACrB,oBAAC;GAAmB,OAAO,EAAE;GAAO,UAAU,EAAE;aAC7C,EAAE;KADY,EAEJ,CACb,GACU,GACA;GACJ;;AAGlB,MAAMC,cAAY,UAChB,oBAACC;CACC,SAAS,CAAC,CAAC,MAAM;CACjB,kBAAkB,MAAM,MAAM,kBAAkB,EAAE;CAClD,GAAI;EACJ;AAEJ,MAAMC,gBAAc,UAClB,oBAACC;CAAgB,GAAI;WAClB,MAAM,SAAS,KAAK,GAAQ,MAC3B,qBAAC;EAAI,WAAU;aACb,oBAAC;GAAe,OAAO,EAAE;GAAO,IAAI,EAAE;IAAS,EAC/C,oBAAC;GAAM,SAAS,EAAE;aAAQ,EAAE;IAAc;GACtC,CACN;EACc;AAEpB,MAAMC,YAAU,UACd,oBAACC;CACC,SAAS,CAAC,CAAC,MAAM;CACjB,kBAAkB,MAAM,MAAM,kBAAkB,EAAE;CAClD,GAAI;EACJ;AAGJ,MAAa,eAAe,mBAAmB,EAC7C,QAAQ,aAAa;CACZC;CACK;CACM;CACN;CACA;CACZ,WAAW,MAAW,oBAAC,cAAS,GAAI,IAAK;CACzC,cAAc,MAAW,oBAAC,YAAO,GAAI,IAAK;CACnC;CACG;CACV,QAAQR;CACR,UAAUE;CACV,YAAYE;CACZ,QAAQE;CACA;CACT,CAAC,EACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenBridge.d.ts","names":[],"sources":["../../src/theme/tokenBridge.ts"],"sourcesContent":[],"mappings":";;;KASY,YAAA;KAEP,SAAA,UAAmB;AAFxB,UAIU,YAAA,CAJc;EAEnB,MAAA,EAIK,WAJI;EAEJ,OAAA,EAGC,WAHW;EAEZ,UAAA,EAAA;IACC,EAAA,EAAA,MAAA;IAKF,IAAA,EAAA,MAAA;EACA,CAAA;EAAM,KAAA,EADN,YACM;EAGH,KAAA,EAHH,MAGG,CAAA,MAAa,EAAA,
|
|
1
|
+
{"version":3,"file":"tokenBridge.d.ts","names":[],"sources":["../../src/theme/tokenBridge.ts"],"sourcesContent":[],"mappings":";;;KASY,YAAA;KAEP,SAAA,UAAmB;AAFxB,UAIU,YAAA,CAJc;EAEnB,MAAA,EAIK,WAJI;EAEJ,OAAA,EAGC,WAHW;EAEZ,UAAA,EAAA;IACC,EAAA,EAAA,MAAA;IAKF,IAAA,EAAA,MAAA;EACA,CAAA;EAAM,KAAA,EADN,YACM;EAGH,KAAA,EAHH,MAGG,CAAA,MAAa,EAAA,MAAG,CAAA;AAE5B;KAFY,aAAA,GAAgB,YAAY;iBAExB,oBAAA,WAA+B,eAAe"}
|
package/dist/theme/variants.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VariantProps } from "class-variance-authority";
|
|
2
|
-
import * as
|
|
2
|
+
import * as class_variance_authority_types18 from "class-variance-authority/types";
|
|
3
3
|
|
|
4
4
|
//#region src/theme/variants.d.ts
|
|
5
5
|
type SizeVariant = 'sm' | 'md' | 'lg';
|
|
@@ -13,9 +13,9 @@ type EmphasisVariant = 'default' | 'subtle' | 'strong';
|
|
|
13
13
|
declare const dsBaseVariants: (props?: ({
|
|
14
14
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
15
15
|
density?: "compact" | "comfortable" | null | undefined;
|
|
16
|
-
tone?: "
|
|
16
|
+
tone?: "neutral" | "info" | "success" | "warning" | "danger" | null | undefined;
|
|
17
17
|
emphasis?: "strong" | "default" | "subtle" | null | undefined;
|
|
18
|
-
} &
|
|
18
|
+
} & class_variance_authority_types18.ClassProp) | undefined) => string;
|
|
19
19
|
type DSBaseVariantsProps = VariantProps<typeof dsBaseVariants>;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { DSBaseVariantsProps, DensityVariant, EmphasisVariant, SizeVariant, ToneVariant, dsBaseVariants };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","names":[],"sources":["../../src/types/navigation.ts"],"sourcesContent":[],"mappings":";;;UAEiB,OAAA;SACR,OAAA,CAAM;EADE,IAAA,EAAA,MAAO;EACf,IAAA,CAAM,EAEN,OAAA,CAAM,SAFA;EAEN,KAAM,CAAA,EAAA,MAAA,GAAA,MAAA;EAKC,MAAM,CAAA,EAAA,OAAA,GAAA,QAAA;EAAS,SAAA,CAAA,EAAA,MAAA;EAMd,QAAA,CAAA,EAAA,OAAU;EAKV,WAAA,CAAA,EAXD,OAAA,CAAM,SAYb;EAOQ,QAAA,CAAA,EAAA,MAAa;EACrB,QAAM,CAAA,EAAA,MAAA;EAEC,UAAM,CAAA,EAAA,MAAA,EAAA;;AAEL,UAlBA,UAAA,CAkBA;EAIA,KAAA,CAAA,EArBP,OAAA,CAAM,
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","names":[],"sources":["../../src/types/navigation.ts"],"sourcesContent":[],"mappings":";;;UAEiB,OAAA;SACR,OAAA,CAAM;EADE,IAAA,EAAA,MAAO;EACf,IAAA,CAAM,EAEN,OAAA,CAAM,SAFA;EAEN,KAAM,CAAA,EAAA,MAAA,GAAA,MAAA;EAKC,MAAM,CAAA,EAAA,OAAA,GAAA,QAAA;EAAS,SAAA,CAAA,EAAA,MAAA;EAMd,QAAA,CAAA,EAAA,OAAU;EAKV,WAAA,CAAA,EAXD,OAAA,CAAM,SAYb;EAOQ,QAAA,CAAA,EAAA,MAAa;EACrB,QAAM,CAAA,EAAA,MAAA;EAEC,UAAM,CAAA,EAAA,MAAA,EAAA;;AAEL,UAlBA,UAAA,CAkBA;EAIA,KAAA,CAAA,EArBP,OAAA,CAAM,SAqBU;SApBjB;;UAGQ,YAAA;SACR,OAAA,CAAM;;;SAGN,OAAA,CAAM;;;UAIE,aAAA;SACR,OAAA,CAAM;;gBAEC,OAAA,CAAM;;UAEZ;;;UAIO,SAAA;SACR,OAAA,CAAM"}
|
|
@@ -2,22 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
import { cn, init_utils } from "./utils.js";
|
|
5
|
-
import { Separator } from "./separator.js";
|
|
6
|
-
import { Button } from "./button.js";
|
|
7
5
|
import { Input } from "./input.js";
|
|
8
|
-
import { Sheet, SheetContent } from "./sheet.js";
|
|
6
|
+
import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from "./sheet.js";
|
|
9
7
|
import { useIsMobile } from "./use-mobile.js";
|
|
10
|
-
import { Skeleton } from "./skeleton.js";
|
|
11
8
|
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./tooltip.js";
|
|
12
9
|
import * as React$1 from "react";
|
|
13
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
11
|
import { cva } from "class-variance-authority";
|
|
15
12
|
import { Slot } from "@radix-ui/react-slot";
|
|
16
|
-
import
|
|
13
|
+
import "lucide-react";
|
|
17
14
|
|
|
18
15
|
//#region ../ui-kit-web/dist/ui/sidebar.js
|
|
19
16
|
init_utils();
|
|
20
|
-
const SIDEBAR_COOKIE_NAME = "
|
|
17
|
+
const SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
21
18
|
const SIDEBAR_COOKIE_MAX_AGE = 3600 * 24 * 7;
|
|
22
19
|
const SIDEBAR_WIDTH = "16rem";
|
|
23
20
|
const SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
@@ -29,7 +26,7 @@ function useSidebar() {
|
|
|
29
26
|
if (!context) throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
30
27
|
return context;
|
|
31
28
|
}
|
|
32
|
-
|
|
29
|
+
function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children,...props }) {
|
|
33
30
|
const isMobile = useIsMobile();
|
|
34
31
|
const [openMobile, setOpenMobile] = React$1.useState(false);
|
|
35
32
|
const [_open, _setOpen] = React$1.useState(defaultOpen);
|
|
@@ -80,25 +77,24 @@ const SidebarProvider = React$1.forwardRef(({ defaultOpen = true, open: openProp
|
|
|
80
77
|
children: /* @__PURE__ */ jsx(TooltipProvider, {
|
|
81
78
|
delayDuration: 0,
|
|
82
79
|
children: /* @__PURE__ */ jsx("div", {
|
|
80
|
+
"data-slot": "sidebar-wrapper",
|
|
83
81
|
style: {
|
|
84
82
|
"--sidebar-width": SIDEBAR_WIDTH,
|
|
85
83
|
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
|
|
86
84
|
...style
|
|
87
85
|
},
|
|
88
86
|
className: cn("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full", className),
|
|
89
|
-
ref,
|
|
90
87
|
...props,
|
|
91
88
|
children
|
|
92
89
|
})
|
|
93
90
|
})
|
|
94
91
|
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const Sidebar = React$1.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children,...props }, ref) => {
|
|
92
|
+
}
|
|
93
|
+
function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children,...props }) {
|
|
98
94
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
99
95
|
if (collapsible === "none") return /* @__PURE__ */ jsx("div", {
|
|
96
|
+
"data-slot": "sidebar",
|
|
100
97
|
className: cn("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", className),
|
|
101
|
-
ref,
|
|
102
98
|
...props,
|
|
103
99
|
children
|
|
104
100
|
});
|
|
@@ -106,182 +102,140 @@ const Sidebar = React$1.forwardRef(({ side = "left", variant = "sidebar", collap
|
|
|
106
102
|
open: openMobile,
|
|
107
103
|
onOpenChange: setOpenMobile,
|
|
108
104
|
...props,
|
|
109
|
-
children: /* @__PURE__ */
|
|
105
|
+
children: /* @__PURE__ */ jsxs(SheetContent, {
|
|
110
106
|
"data-sidebar": "sidebar",
|
|
107
|
+
"data-slot": "sidebar",
|
|
111
108
|
"data-mobile": "true",
|
|
112
109
|
className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",
|
|
113
110
|
style: { "--sidebar-width": SIDEBAR_WIDTH_MOBILE },
|
|
114
111
|
side,
|
|
115
|
-
children: /* @__PURE__ */
|
|
112
|
+
children: [/* @__PURE__ */ jsxs(SheetHeader, {
|
|
113
|
+
className: "sr-only",
|
|
114
|
+
children: [/* @__PURE__ */ jsx(SheetTitle, { children: "Sidebar" }), /* @__PURE__ */ jsx(SheetDescription, { children: "Displays the mobile sidebar." })]
|
|
115
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
116
116
|
className: "flex h-full w-full flex-col",
|
|
117
117
|
children
|
|
118
|
-
})
|
|
118
|
+
})]
|
|
119
119
|
})
|
|
120
120
|
});
|
|
121
121
|
return /* @__PURE__ */ jsxs("div", {
|
|
122
|
-
|
|
123
|
-
className: "text-sidebar-foreground group peer hidden md:block",
|
|
122
|
+
className: "group peer text-sidebar-foreground hidden md:block",
|
|
124
123
|
"data-state": state,
|
|
125
124
|
"data-collapsible": state === "collapsed" ? collapsible : "",
|
|
126
125
|
"data-variant": variant,
|
|
127
126
|
"data-side": side,
|
|
128
|
-
|
|
127
|
+
"data-slot": "sidebar",
|
|
128
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
129
|
+
"data-slot": "sidebar-gap",
|
|
130
|
+
className: cn("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)")
|
|
131
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
132
|
+
"data-slot": "sidebar-container",
|
|
129
133
|
className: cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex", side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]", variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l", className),
|
|
130
134
|
...props,
|
|
131
135
|
children: /* @__PURE__ */ jsx("div", {
|
|
132
136
|
"data-sidebar": "sidebar",
|
|
133
|
-
|
|
137
|
+
"data-slot": "sidebar-inner",
|
|
138
|
+
className: "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",
|
|
134
139
|
children
|
|
135
140
|
})
|
|
136
141
|
})]
|
|
137
142
|
});
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const SidebarTrigger = React$1.forwardRef(({ className, onClick,...props }, ref) => {
|
|
141
|
-
const { toggleSidebar } = useSidebar();
|
|
142
|
-
return /* @__PURE__ */ jsxs(Button, {
|
|
143
|
-
ref,
|
|
144
|
-
"data-sidebar": "trigger",
|
|
145
|
-
variant: "ghost",
|
|
146
|
-
size: "icon",
|
|
147
|
-
className: cn("h-7 w-7", className),
|
|
148
|
-
onClick: (event) => {
|
|
149
|
-
onClick?.(event);
|
|
150
|
-
toggleSidebar();
|
|
151
|
-
},
|
|
152
|
-
...props,
|
|
153
|
-
children: [/* @__PURE__ */ jsx(PanelLeft, {}), /* @__PURE__ */ jsx("span", {
|
|
154
|
-
className: "sr-only",
|
|
155
|
-
children: "Toggle Sidebar"
|
|
156
|
-
})]
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
SidebarTrigger.displayName = "SidebarTrigger";
|
|
160
|
-
const SidebarRail = React$1.forwardRef(({ className,...props }, ref) => {
|
|
143
|
+
}
|
|
144
|
+
function SidebarRail({ className,...props }) {
|
|
161
145
|
const { toggleSidebar } = useSidebar();
|
|
162
146
|
return /* @__PURE__ */ jsx("button", {
|
|
163
|
-
ref,
|
|
164
147
|
"data-sidebar": "rail",
|
|
148
|
+
"data-slot": "sidebar-rail",
|
|
165
149
|
"aria-label": "Toggle Sidebar",
|
|
166
150
|
tabIndex: -1,
|
|
167
151
|
onClick: toggleSidebar,
|
|
168
152
|
title: "Toggle Sidebar",
|
|
169
|
-
className: cn("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "group-data-[collapsible=offcanvas]:
|
|
170
|
-
...props
|
|
171
|
-
});
|
|
172
|
-
});
|
|
173
|
-
SidebarRail.displayName = "SidebarRail";
|
|
174
|
-
const SidebarInset = React$1.forwardRef(({ className,...props }, ref) => {
|
|
175
|
-
return /* @__PURE__ */ jsx("main", {
|
|
176
|
-
ref,
|
|
177
|
-
className: cn("bg-background relative flex min-h-svh flex-1 flex-col", "peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-2xs md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2", className),
|
|
153
|
+
className: cn("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className),
|
|
178
154
|
...props
|
|
179
155
|
});
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
const SidebarInput = React$1.forwardRef(({ className,...props }, ref) => {
|
|
156
|
+
}
|
|
157
|
+
function SidebarInput({ className,...props }) {
|
|
183
158
|
return /* @__PURE__ */ jsx(Input, {
|
|
184
|
-
|
|
159
|
+
"data-slot": "sidebar-input",
|
|
185
160
|
"data-sidebar": "input",
|
|
186
|
-
className: cn("
|
|
161
|
+
className: cn("bg-background h-8 w-full shadow-none", className),
|
|
187
162
|
...props
|
|
188
163
|
});
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
const SidebarHeader = React$1.forwardRef(({ className,...props }, ref) => {
|
|
164
|
+
}
|
|
165
|
+
function SidebarHeader({ className,...props }) {
|
|
192
166
|
return /* @__PURE__ */ jsx("div", {
|
|
193
|
-
|
|
167
|
+
"data-slot": "sidebar-header",
|
|
194
168
|
"data-sidebar": "header",
|
|
195
169
|
className: cn("flex flex-col gap-2 p-2", className),
|
|
196
170
|
...props
|
|
197
171
|
});
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
const SidebarFooter = React$1.forwardRef(({ className,...props }, ref) => {
|
|
172
|
+
}
|
|
173
|
+
function SidebarFooter({ className,...props }) {
|
|
201
174
|
return /* @__PURE__ */ jsx("div", {
|
|
202
|
-
|
|
175
|
+
"data-slot": "sidebar-footer",
|
|
203
176
|
"data-sidebar": "footer",
|
|
204
177
|
className: cn("flex flex-col gap-2 p-2", className),
|
|
205
178
|
...props
|
|
206
179
|
});
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
const SidebarSeparator = React$1.forwardRef(({ className,...props }, ref) => {
|
|
210
|
-
return /* @__PURE__ */ jsx(Separator, {
|
|
211
|
-
ref,
|
|
212
|
-
"data-sidebar": "separator",
|
|
213
|
-
className: cn("bg-sidebar-border mx-2 w-auto", className),
|
|
214
|
-
...props
|
|
215
|
-
});
|
|
216
|
-
});
|
|
217
|
-
SidebarSeparator.displayName = "SidebarSeparator";
|
|
218
|
-
const SidebarContent = React$1.forwardRef(({ className,...props }, ref) => {
|
|
180
|
+
}
|
|
181
|
+
function SidebarContent({ className,...props }) {
|
|
219
182
|
return /* @__PURE__ */ jsx("div", {
|
|
220
|
-
|
|
183
|
+
"data-slot": "sidebar-content",
|
|
221
184
|
"data-sidebar": "content",
|
|
222
185
|
className: cn("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className),
|
|
223
186
|
...props
|
|
224
187
|
});
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
const SidebarGroup = React$1.forwardRef(({ className,...props }, ref) => {
|
|
188
|
+
}
|
|
189
|
+
function SidebarGroup({ className,...props }) {
|
|
228
190
|
return /* @__PURE__ */ jsx("div", {
|
|
229
|
-
|
|
191
|
+
"data-slot": "sidebar-group",
|
|
230
192
|
"data-sidebar": "group",
|
|
231
193
|
className: cn("relative flex w-full min-w-0 flex-col p-2", className),
|
|
232
194
|
...props
|
|
233
195
|
});
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
const SidebarGroupLabel = React$1.forwardRef(({ className, asChild = false,...props }, ref) => {
|
|
196
|
+
}
|
|
197
|
+
function SidebarGroupLabel({ className, asChild = false,...props }) {
|
|
237
198
|
return /* @__PURE__ */ jsx(asChild ? Slot : "div", {
|
|
238
|
-
|
|
199
|
+
"data-slot": "sidebar-group-label",
|
|
239
200
|
"data-sidebar": "group-label",
|
|
240
|
-
className: cn("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-
|
|
201
|
+
className: cn("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", className),
|
|
241
202
|
...props
|
|
242
203
|
});
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
className: cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "group-data-[collapsible=icon]:hidden", className),
|
|
204
|
+
}
|
|
205
|
+
function SidebarGroupContent({ className,...props }) {
|
|
206
|
+
return /* @__PURE__ */ jsx("div", {
|
|
207
|
+
"data-slot": "sidebar-group-content",
|
|
208
|
+
"data-sidebar": "group-content",
|
|
209
|
+
className: cn("w-full text-sm", className),
|
|
250
210
|
...props
|
|
251
211
|
});
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
})
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
"data-sidebar": "menu-item",
|
|
271
|
-
className: cn("group/menu-item relative", className),
|
|
272
|
-
...props
|
|
273
|
-
}));
|
|
274
|
-
SidebarMenuItem.displayName = "SidebarMenuItem";
|
|
275
|
-
const sidebarMenuButtonVariants = cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-base outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
|
|
212
|
+
}
|
|
213
|
+
function SidebarMenu({ className,...props }) {
|
|
214
|
+
return /* @__PURE__ */ jsx("ul", {
|
|
215
|
+
"data-slot": "sidebar-menu",
|
|
216
|
+
"data-sidebar": "menu",
|
|
217
|
+
className: cn("flex w-full min-w-0 flex-col gap-1", className),
|
|
218
|
+
...props
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
function SidebarMenuItem({ className,...props }) {
|
|
222
|
+
return /* @__PURE__ */ jsx("li", {
|
|
223
|
+
"data-slot": "sidebar-menu-item",
|
|
224
|
+
"data-sidebar": "menu-item",
|
|
225
|
+
className: cn("group/menu-item relative", className),
|
|
226
|
+
...props
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
const sidebarMenuButtonVariants = cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
|
|
276
230
|
variants: {
|
|
277
231
|
variant: {
|
|
278
232
|
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
279
233
|
outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
|
|
280
234
|
},
|
|
281
235
|
size: {
|
|
282
|
-
default: "h-8 text-
|
|
283
|
-
sm: "h-7 text-
|
|
284
|
-
lg: "h-12 text-
|
|
236
|
+
default: "h-8 text-sm",
|
|
237
|
+
sm: "h-7 text-xs",
|
|
238
|
+
lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
|
|
285
239
|
}
|
|
286
240
|
},
|
|
287
241
|
defaultVariants: {
|
|
@@ -289,11 +243,11 @@ const sidebarMenuButtonVariants = cva("peer/menu-button flex w-full items-center
|
|
|
289
243
|
size: "default"
|
|
290
244
|
}
|
|
291
245
|
});
|
|
292
|
-
|
|
246
|
+
function SidebarMenuButton({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className,...props }) {
|
|
293
247
|
const Comp = asChild ? Slot : "button";
|
|
294
248
|
const { isMobile, state } = useSidebar();
|
|
295
249
|
const button = /* @__PURE__ */ jsx(Comp, {
|
|
296
|
-
|
|
250
|
+
"data-slot": "sidebar-menu-button",
|
|
297
251
|
"data-sidebar": "menu-button",
|
|
298
252
|
"data-size": size,
|
|
299
253
|
"data-active": isActive,
|
|
@@ -314,67 +268,15 @@ const SidebarMenuButton = React$1.forwardRef(({ asChild = false, isActive = fals
|
|
|
314
268
|
hidden: state !== "collapsed" || isMobile,
|
|
315
269
|
...tooltip
|
|
316
270
|
})] });
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
"data-sidebar": "menu-
|
|
323
|
-
className: cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", showOnHover && "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0", className),
|
|
324
|
-
...props
|
|
325
|
-
});
|
|
326
|
-
});
|
|
327
|
-
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
328
|
-
const SidebarMenuBadge = React$1.forwardRef(({ className,...props }, ref) => /* @__PURE__ */ jsx("div", {
|
|
329
|
-
ref,
|
|
330
|
-
"data-sidebar": "menu-badge",
|
|
331
|
-
className: cn("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-sm font-medium tabular-nums select-none", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", className),
|
|
332
|
-
...props
|
|
333
|
-
}));
|
|
334
|
-
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
335
|
-
const SidebarMenuSkeleton = React$1.forwardRef(({ className, showIcon = false,...props }, ref) => {
|
|
336
|
-
const width = React$1.useMemo(() => {
|
|
337
|
-
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
338
|
-
}, []);
|
|
339
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
340
|
-
ref,
|
|
341
|
-
"data-sidebar": "menu-skeleton",
|
|
342
|
-
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
343
|
-
...props,
|
|
344
|
-
children: [showIcon && /* @__PURE__ */ jsx(Skeleton, {
|
|
345
|
-
className: "size-4 rounded-md",
|
|
346
|
-
"data-sidebar": "menu-skeleton-icon"
|
|
347
|
-
}), /* @__PURE__ */ jsx(Skeleton, {
|
|
348
|
-
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
349
|
-
"data-sidebar": "menu-skeleton-text",
|
|
350
|
-
style: { "--skeleton-width": width }
|
|
351
|
-
})]
|
|
352
|
-
});
|
|
353
|
-
});
|
|
354
|
-
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
355
|
-
const SidebarMenuSub = React$1.forwardRef(({ className,...props }, ref) => /* @__PURE__ */ jsx("ul", {
|
|
356
|
-
ref,
|
|
357
|
-
"data-sidebar": "menu-sub",
|
|
358
|
-
className: cn("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5", "group-data-[collapsible=icon]:hidden", className),
|
|
359
|
-
...props
|
|
360
|
-
}));
|
|
361
|
-
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
362
|
-
const SidebarMenuSubItem = React$1.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("li", {
|
|
363
|
-
ref,
|
|
364
|
-
...props
|
|
365
|
-
}));
|
|
366
|
-
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
367
|
-
const SidebarMenuSubButton = React$1.forwardRef(({ asChild = false, size = "md", isActive, className,...props }, ref) => {
|
|
368
|
-
return /* @__PURE__ */ jsx(asChild ? Slot : "a", {
|
|
369
|
-
ref,
|
|
370
|
-
"data-sidebar": "menu-sub-button",
|
|
371
|
-
"data-size": size,
|
|
372
|
-
"data-active": isActive,
|
|
373
|
-
className: cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", size === "sm" && "text-sm", size === "md" && "text-base", "group-data-[collapsible=icon]:hidden", className),
|
|
271
|
+
}
|
|
272
|
+
function SidebarMenuBadge({ className,...props }) {
|
|
273
|
+
return /* @__PURE__ */ jsx("div", {
|
|
274
|
+
"data-slot": "sidebar-menu-badge",
|
|
275
|
+
"data-sidebar": "menu-badge",
|
|
276
|
+
className: cn("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", className),
|
|
374
277
|
...props
|
|
375
278
|
});
|
|
376
|
-
}
|
|
377
|
-
SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
279
|
+
}
|
|
378
280
|
|
|
379
281
|
//#endregion
|
|
380
282
|
export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarMenu, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarProvider, SidebarRail };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/sidebar.js"],"sourcesContent":["'use client';\n\n\nimport { cn } from \"./utils.js\";\nimport { Button } from \"./button.js\";\nimport { Input } from \"./input.js\";\nimport { Separator } from \"./separator.js\";\nimport { Sheet, SheetContent } from \"./sheet.js\";\nimport { useIsMobile } from \"./use-mobile.js\";\nimport { Skeleton } from \"./skeleton.js\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"./tooltip.js\";\nimport * as React$1 from \"react\";\nimport { PanelLeft } from \"lucide-react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\n\n//#region ui/sidebar.tsx\nconst SIDEBAR_COOKIE_NAME = \"sidebar:state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 3600 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\nconst SidebarContext = React$1.createContext(null);\nfunction useSidebar() {\n\tconst context = React$1.useContext(SidebarContext);\n\tif (!context) throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n\treturn context;\n}\nconst SidebarProvider = React$1.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children,...props }, ref) => {\n\tconst isMobile = useIsMobile();\n\tconst [openMobile, setOpenMobile] = React$1.useState(false);\n\tconst [_open, _setOpen] = React$1.useState(defaultOpen);\n\tconst open = openProp ?? _open;\n\tconst setOpen = React$1.useCallback((value) => {\n\t\tconst openState = typeof value === \"function\" ? value(open) : value;\n\t\tif (setOpenProp) setOpenProp(openState);\n\t\telse _setOpen(openState);\n\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n\t}, [setOpenProp, open]);\n\tconst toggleSidebar = React$1.useCallback(() => {\n\t\treturn isMobile ? setOpenMobile((open$1) => !open$1) : setOpen((open$1) => !open$1);\n\t}, [\n\t\tisMobile,\n\t\tsetOpen,\n\t\tsetOpenMobile\n\t]);\n\tReact$1.useEffect(() => {\n\t\tconst handleKeyDown = (event) => {\n\t\t\tif (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleSidebar();\n\t\t\t}\n\t\t};\n\t\twindow.addEventListener(\"keydown\", handleKeyDown);\n\t\treturn () => window.removeEventListener(\"keydown\", handleKeyDown);\n\t}, [toggleSidebar]);\n\tconst state = open ? \"expanded\" : \"collapsed\";\n\tconst contextValue = React$1.useMemo(() => ({\n\t\tstate,\n\t\topen,\n\t\tsetOpen,\n\t\tisMobile,\n\t\topenMobile,\n\t\tsetOpenMobile,\n\t\ttoggleSidebar\n\t}), [\n\t\tstate,\n\t\topen,\n\t\tsetOpen,\n\t\tisMobile,\n\t\topenMobile,\n\t\tsetOpenMobile,\n\t\ttoggleSidebar\n\t]);\n\treturn /* @__PURE__ */ jsx(SidebarContext.Provider, {\n\t\tvalue: contextValue,\n\t\tchildren: /* @__PURE__ */ jsx(TooltipProvider, {\n\t\t\tdelayDuration: 0,\n\t\t\tchildren: /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\tstyle: {\n\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\n\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t...style\n\t\t\t\t},\n\t\t\t\tclassName: cn(\"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\", className),\n\t\t\t\tref,\n\t\t\t\t...props,\n\t\t\t\tchildren\n\t\t\t})\n\t\t})\n\t});\n});\nSidebarProvider.displayName = \"SidebarProvider\";\nconst Sidebar = React$1.forwardRef(({ side = \"left\", variant = \"sidebar\", collapsible = \"offcanvas\", className, children,...props }, ref) => {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\tif (collapsible === \"none\") return /* @__PURE__ */ jsx(\"div\", {\n\t\tclassName: cn(\"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\", className),\n\t\tref,\n\t\t...props,\n\t\tchildren\n\t});\n\tif (isMobile) return /* @__PURE__ */ jsx(Sheet, {\n\t\topen: openMobile,\n\t\tonOpenChange: setOpenMobile,\n\t\t...props,\n\t\tchildren: /* @__PURE__ */ jsx(SheetContent, {\n\t\t\t\"data-sidebar\": \"sidebar\",\n\t\t\t\"data-mobile\": \"true\",\n\t\t\tclassName: \"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\",\n\t\t\tstyle: { \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE },\n\t\t\tside,\n\t\t\tchildren: /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\tclassName: \"flex h-full w-full flex-col\",\n\t\t\t\tchildren\n\t\t\t})\n\t\t})\n\t});\n\treturn /* @__PURE__ */ jsxs(\"div\", {\n\t\tref,\n\t\tclassName: \"text-sidebar-foreground group peer hidden md:block\",\n\t\t\"data-state\": state,\n\t\t\"data-collapsible\": state === \"collapsed\" ? collapsible : \"\",\n\t\t\"data-variant\": variant,\n\t\t\"data-side\": side,\n\t\tchildren: [/* @__PURE__ */ jsx(\"div\", { className: cn(\"relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\", \"group-data-[collapsible=offcanvas]:w-0\", \"group-data-[side=right]:rotate-180\", variant === \"floating\" || variant === \"inset\" ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\" : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\") }), /* @__PURE__ */ jsx(\"div\", {\n\t\t\tclassName: cn(\"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\", side === \"left\" ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\" : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\", variant === \"floating\" || variant === \"inset\" ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\" : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\", className),\n\t\t\t...props,\n\t\t\tchildren: /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\"data-sidebar\": \"sidebar\",\n\t\t\t\tclassName: \"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-2xs\",\n\t\t\t\tchildren\n\t\t\t})\n\t\t})]\n\t});\n});\nSidebar.displayName = \"Sidebar\";\nconst SidebarTrigger = React$1.forwardRef(({ className, onClick,...props }, ref) => {\n\tconst { toggleSidebar } = useSidebar();\n\treturn /* @__PURE__ */ jsxs(Button, {\n\t\tref,\n\t\t\"data-sidebar\": \"trigger\",\n\t\tvariant: \"ghost\",\n\t\tsize: \"icon\",\n\t\tclassName: cn(\"h-7 w-7\", className),\n\t\tonClick: (event) => {\n\t\t\tonClick?.(event);\n\t\t\ttoggleSidebar();\n\t\t},\n\t\t...props,\n\t\tchildren: [/* @__PURE__ */ jsx(PanelLeft, {}), /* @__PURE__ */ jsx(\"span\", {\n\t\t\tclassName: \"sr-only\",\n\t\t\tchildren: \"Toggle Sidebar\"\n\t\t})]\n\t});\n});\nSidebarTrigger.displayName = \"SidebarTrigger\";\nconst SidebarRail = React$1.forwardRef(({ className,...props }, ref) => {\n\tconst { toggleSidebar } = useSidebar();\n\treturn /* @__PURE__ */ jsx(\"button\", {\n\t\tref,\n\t\t\"data-sidebar\": \"rail\",\n\t\t\"aria-label\": \"Toggle Sidebar\",\n\t\ttabIndex: -1,\n\t\tonClick: toggleSidebar,\n\t\ttitle: \"Toggle Sidebar\",\n\t\tclassName: cn(\"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex\", \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\", \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\", \"group-data-[collapsible=offcanvas]:hover:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\", \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\", \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\", className),\n\t\t...props\n\t});\n});\nSidebarRail.displayName = \"SidebarRail\";\nconst SidebarInset = React$1.forwardRef(({ className,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(\"main\", {\n\t\tref,\n\t\tclassName: cn(\"bg-background relative flex min-h-svh flex-1 flex-col\", \"peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-2xs md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2\", className),\n\t\t...props\n\t});\n});\nSidebarInset.displayName = \"SidebarInset\";\nconst SidebarInput = React$1.forwardRef(({ className,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(Input, {\n\t\tref,\n\t\t\"data-sidebar\": \"input\",\n\t\tclassName: cn(\"focus-visible:ring-sidebar-ring bg-background h-8 w-full shadow-none focus-visible:ring-2\", className),\n\t\t...props\n\t});\n});\nSidebarInput.displayName = \"SidebarInput\";\nconst SidebarHeader = React$1.forwardRef(({ className,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\tref,\n\t\t\"data-sidebar\": \"header\",\n\t\tclassName: cn(\"flex flex-col gap-2 p-2\", className),\n\t\t...props\n\t});\n});\nSidebarHeader.displayName = \"SidebarHeader\";\nconst SidebarFooter = React$1.forwardRef(({ className,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\tref,\n\t\t\"data-sidebar\": \"footer\",\n\t\tclassName: cn(\"flex flex-col gap-2 p-2\", className),\n\t\t...props\n\t});\n});\nSidebarFooter.displayName = \"SidebarFooter\";\nconst SidebarSeparator = React$1.forwardRef(({ className,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(Separator, {\n\t\tref,\n\t\t\"data-sidebar\": \"separator\",\n\t\tclassName: cn(\"bg-sidebar-border mx-2 w-auto\", className),\n\t\t...props\n\t});\n});\nSidebarSeparator.displayName = \"SidebarSeparator\";\nconst SidebarContent = React$1.forwardRef(({ className,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\tref,\n\t\t\"data-sidebar\": \"content\",\n\t\tclassName: cn(\"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\", className),\n\t\t...props\n\t});\n});\nSidebarContent.displayName = \"SidebarContent\";\nconst SidebarGroup = React$1.forwardRef(({ className,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\tref,\n\t\t\"data-sidebar\": \"group\",\n\t\tclassName: cn(\"relative flex w-full min-w-0 flex-col p-2\", className),\n\t\t...props\n\t});\n});\nSidebarGroup.displayName = \"SidebarGroup\";\nconst SidebarGroupLabel = React$1.forwardRef(({ className, asChild = false,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(asChild ? Slot : \"div\", {\n\t\tref,\n\t\t\"data-sidebar\": \"group-label\",\n\t\tclassName: cn(\"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-sm font-medium outline-hidden transition-[margin,opa] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\", \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\", className),\n\t\t...props\n\t});\n});\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\";\nconst SidebarGroupAction = React$1.forwardRef(({ className, asChild = false,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(asChild ? Slot : \"button\", {\n\t\tref,\n\t\t\"data-sidebar\": \"group-action\",\n\t\tclassName: cn(\"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\", \"after:absolute after:-inset-2 md:after:hidden\", \"group-data-[collapsible=icon]:hidden\", className),\n\t\t...props\n\t});\n});\nSidebarGroupAction.displayName = \"SidebarGroupAction\";\nconst SidebarGroupContent = React$1.forwardRef(({ className,...props }, ref) => /* @__PURE__ */ jsx(\"div\", {\n\tref,\n\t\"data-sidebar\": \"group-content\",\n\tclassName: cn(\"w-full text-base\", className),\n\t...props\n}));\nSidebarGroupContent.displayName = \"SidebarGroupContent\";\nconst SidebarMenu = React$1.forwardRef(({ className,...props }, ref) => /* @__PURE__ */ jsx(\"ul\", {\n\tref,\n\t\"data-sidebar\": \"menu\",\n\tclassName: cn(\"flex w-full min-w-0 flex-col gap-1\", className),\n\t...props\n}));\nSidebarMenu.displayName = \"SidebarMenu\";\nconst SidebarMenuItem = React$1.forwardRef(({ className,...props }, ref) => /* @__PURE__ */ jsx(\"li\", {\n\tref,\n\t\"data-sidebar\": \"menu-item\",\n\tclassName: cn(\"group/menu-item relative\", className),\n\t...props\n}));\nSidebarMenuItem.displayName = \"SidebarMenuItem\";\nconst sidebarMenuButtonVariants = cva(\"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-base outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\", {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n\t\t\toutline: \"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\"\n\t\t},\n\t\tsize: {\n\t\t\tdefault: \"h-8 text-base\",\n\t\t\tsm: \"h-7 text-sm\",\n\t\t\tlg: \"h-12 text-base group-data-[collapsible=icon]:p-0!\"\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t\tsize: \"default\"\n\t}\n});\nconst SidebarMenuButton = React$1.forwardRef(({ asChild = false, isActive = false, variant = \"default\", size = \"default\", tooltip, className,...props }, ref) => {\n\tconst Comp = asChild ? Slot : \"button\";\n\tconst { isMobile, state } = useSidebar();\n\tconst button = /* @__PURE__ */ jsx(Comp, {\n\t\tref,\n\t\t\"data-sidebar\": \"menu-button\",\n\t\t\"data-size\": size,\n\t\t\"data-active\": isActive,\n\t\tclassName: cn(sidebarMenuButtonVariants({\n\t\t\tvariant,\n\t\t\tsize\n\t\t}), className),\n\t\t...props\n\t});\n\tif (!tooltip) return button;\n\tif (typeof tooltip === \"string\") tooltip = { children: tooltip };\n\treturn /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(TooltipTrigger, {\n\t\tasChild: true,\n\t\tchildren: button\n\t}), /* @__PURE__ */ jsx(TooltipContent, {\n\t\tside: \"right\",\n\t\talign: \"center\",\n\t\thidden: state !== \"collapsed\" || isMobile,\n\t\t...tooltip\n\t})] });\n});\nSidebarMenuButton.displayName = \"SidebarMenuButton\";\nconst SidebarMenuAction = React$1.forwardRef(({ className, asChild = false, showOnHover = false,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(asChild ? Slot : \"button\", {\n\t\tref,\n\t\t\"data-sidebar\": \"menu-action\",\n\t\tclassName: cn(\"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\", \"after:absolute after:-inset-2 md:after:hidden\", \"peer-data-[size=sm]/menu-button:top-1\", \"peer-data-[size=default]/menu-button:top-1.5\", \"peer-data-[size=lg]/menu-button:top-2.5\", \"group-data-[collapsible=icon]:hidden\", showOnHover && \"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0\", className),\n\t\t...props\n\t});\n});\nSidebarMenuAction.displayName = \"SidebarMenuAction\";\nconst SidebarMenuBadge = React$1.forwardRef(({ className,...props }, ref) => /* @__PURE__ */ jsx(\"div\", {\n\tref,\n\t\"data-sidebar\": \"menu-badge\",\n\tclassName: cn(\"text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-sm font-medium tabular-nums select-none\", \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\", \"peer-data-[size=sm]/menu-button:top-1\", \"peer-data-[size=default]/menu-button:top-1.5\", \"peer-data-[size=lg]/menu-button:top-2.5\", \"group-data-[collapsible=icon]:hidden\", className),\n\t...props\n}));\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\";\nconst SidebarMenuSkeleton = React$1.forwardRef(({ className, showIcon = false,...props }, ref) => {\n\tconst width = React$1.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\n\t}, []);\n\treturn /* @__PURE__ */ jsxs(\"div\", {\n\t\tref,\n\t\t\"data-sidebar\": \"menu-skeleton\",\n\t\tclassName: cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className),\n\t\t...props,\n\t\tchildren: [showIcon && /* @__PURE__ */ jsx(Skeleton, {\n\t\t\tclassName: \"size-4 rounded-md\",\n\t\t\t\"data-sidebar\": \"menu-skeleton-icon\"\n\t\t}), /* @__PURE__ */ jsx(Skeleton, {\n\t\t\tclassName: \"h-4 max-w-(--skeleton-width) flex-1\",\n\t\t\t\"data-sidebar\": \"menu-skeleton-text\",\n\t\t\tstyle: { \"--skeleton-width\": width }\n\t\t})]\n\t});\n});\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\";\nconst SidebarMenuSub = React$1.forwardRef(({ className,...props }, ref) => /* @__PURE__ */ jsx(\"ul\", {\n\tref,\n\t\"data-sidebar\": \"menu-sub\",\n\tclassName: cn(\"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\", \"group-data-[collapsible=icon]:hidden\", className),\n\t...props\n}));\nSidebarMenuSub.displayName = \"SidebarMenuSub\";\nconst SidebarMenuSubItem = React$1.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(\"li\", {\n\tref,\n\t...props\n}));\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\";\nconst SidebarMenuSubButton = React$1.forwardRef(({ asChild = false, size = \"md\", isActive, className,...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(asChild ? Slot : \"a\", {\n\t\tref,\n\t\t\"data-sidebar\": \"menu-sub-button\",\n\t\t\"data-size\": size,\n\t\t\"data-active\": isActive,\n\t\tclassName: cn(\"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\", \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\", size === \"sm\" && \"text-sm\", size === \"md\" && \"text-base\", \"group-data-[collapsible=icon]:hidden\", className),\n\t\t...props\n\t});\n});\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\";\n\n//#endregion\nexport { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar };\n//# sourceMappingURL=sidebar.js.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sidebar.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/sidebar.js"],"sourcesContent":["'use client';\n\n\nimport { cn } from \"./utils.js\";\nimport { Button } from \"./button.js\";\nimport { Input } from \"./input.js\";\nimport { Separator } from \"./separator.js\";\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from \"./sheet.js\";\nimport { useIsMobile } from \"./use-mobile.js\";\nimport { Skeleton } from \"./skeleton.js\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"./tooltip.js\";\nimport * as React$1 from \"react\";\nimport { PanelLeftIcon } from \"lucide-react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\n\n//#region ui/sidebar.tsx\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 3600 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\nconst SidebarContext = React$1.createContext(null);\nfunction useSidebar() {\n\tconst context = React$1.useContext(SidebarContext);\n\tif (!context) throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n\treturn context;\n}\nfunction SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children,...props }) {\n\tconst isMobile = useIsMobile();\n\tconst [openMobile, setOpenMobile] = React$1.useState(false);\n\tconst [_open, _setOpen] = React$1.useState(defaultOpen);\n\tconst open = openProp ?? _open;\n\tconst setOpen = React$1.useCallback((value) => {\n\t\tconst openState = typeof value === \"function\" ? value(open) : value;\n\t\tif (setOpenProp) setOpenProp(openState);\n\t\telse _setOpen(openState);\n\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n\t}, [setOpenProp, open]);\n\tconst toggleSidebar = React$1.useCallback(() => {\n\t\treturn isMobile ? setOpenMobile((open$1) => !open$1) : setOpen((open$1) => !open$1);\n\t}, [\n\t\tisMobile,\n\t\tsetOpen,\n\t\tsetOpenMobile\n\t]);\n\tReact$1.useEffect(() => {\n\t\tconst handleKeyDown = (event) => {\n\t\t\tif (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleSidebar();\n\t\t\t}\n\t\t};\n\t\twindow.addEventListener(\"keydown\", handleKeyDown);\n\t\treturn () => window.removeEventListener(\"keydown\", handleKeyDown);\n\t}, [toggleSidebar]);\n\tconst state = open ? \"expanded\" : \"collapsed\";\n\tconst contextValue = React$1.useMemo(() => ({\n\t\tstate,\n\t\topen,\n\t\tsetOpen,\n\t\tisMobile,\n\t\topenMobile,\n\t\tsetOpenMobile,\n\t\ttoggleSidebar\n\t}), [\n\t\tstate,\n\t\topen,\n\t\tsetOpen,\n\t\tisMobile,\n\t\topenMobile,\n\t\tsetOpenMobile,\n\t\ttoggleSidebar\n\t]);\n\treturn /* @__PURE__ */ jsx(SidebarContext.Provider, {\n\t\tvalue: contextValue,\n\t\tchildren: /* @__PURE__ */ jsx(TooltipProvider, {\n\t\t\tdelayDuration: 0,\n\t\t\tchildren: /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\"data-slot\": \"sidebar-wrapper\",\n\t\t\t\tstyle: {\n\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\n\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t...style\n\t\t\t\t},\n\t\t\t\tclassName: cn(\"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\", className),\n\t\t\t\t...props,\n\t\t\t\tchildren\n\t\t\t})\n\t\t})\n\t});\n}\nfunction Sidebar({ side = \"left\", variant = \"sidebar\", collapsible = \"offcanvas\", className, children,...props }) {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\tif (collapsible === \"none\") return /* @__PURE__ */ jsx(\"div\", {\n\t\t\"data-slot\": \"sidebar\",\n\t\tclassName: cn(\"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\", className),\n\t\t...props,\n\t\tchildren\n\t});\n\tif (isMobile) return /* @__PURE__ */ jsx(Sheet, {\n\t\topen: openMobile,\n\t\tonOpenChange: setOpenMobile,\n\t\t...props,\n\t\tchildren: /* @__PURE__ */ jsxs(SheetContent, {\n\t\t\t\"data-sidebar\": \"sidebar\",\n\t\t\t\"data-slot\": \"sidebar\",\n\t\t\t\"data-mobile\": \"true\",\n\t\t\tclassName: \"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\",\n\t\t\tstyle: { \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE },\n\t\t\tside,\n\t\t\tchildren: [/* @__PURE__ */ jsxs(SheetHeader, {\n\t\t\t\tclassName: \"sr-only\",\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(SheetTitle, { children: \"Sidebar\" }), /* @__PURE__ */ jsx(SheetDescription, { children: \"Displays the mobile sidebar.\" })]\n\t\t\t}), /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\tclassName: \"flex h-full w-full flex-col\",\n\t\t\t\tchildren\n\t\t\t})]\n\t\t})\n\t});\n\treturn /* @__PURE__ */ jsxs(\"div\", {\n\t\tclassName: \"group peer text-sidebar-foreground hidden md:block\",\n\t\t\"data-state\": state,\n\t\t\"data-collapsible\": state === \"collapsed\" ? collapsible : \"\",\n\t\t\"data-variant\": variant,\n\t\t\"data-side\": side,\n\t\t\"data-slot\": \"sidebar\",\n\t\tchildren: [/* @__PURE__ */ jsx(\"div\", {\n\t\t\t\"data-slot\": \"sidebar-gap\",\n\t\t\tclassName: cn(\"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\", \"group-data-[collapsible=offcanvas]:w-0\", \"group-data-[side=right]:rotate-180\", variant === \"floating\" || variant === \"inset\" ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\" : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\")\n\t\t}), /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\"data-slot\": \"sidebar-container\",\n\t\t\tclassName: cn(\"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\", side === \"left\" ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\" : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\", variant === \"floating\" || variant === \"inset\" ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\" : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\", className),\n\t\t\t...props,\n\t\t\tchildren: /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\"data-sidebar\": \"sidebar\",\n\t\t\t\t\"data-slot\": \"sidebar-inner\",\n\t\t\t\tclassName: \"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\",\n\t\t\t\tchildren\n\t\t\t})\n\t\t})]\n\t});\n}\nfunction SidebarTrigger({ className, onClick,...props }) {\n\tconst { toggleSidebar } = useSidebar();\n\treturn /* @__PURE__ */ jsxs(Button, {\n\t\t\"data-sidebar\": \"trigger\",\n\t\t\"data-slot\": \"sidebar-trigger\",\n\t\tvariant: \"ghost\",\n\t\tsize: \"icon\",\n\t\tclassName: cn(\"size-7\", className),\n\t\tonClick: (event) => {\n\t\t\tonClick?.(event);\n\t\t\ttoggleSidebar();\n\t\t},\n\t\t...props,\n\t\tchildren: [/* @__PURE__ */ jsx(PanelLeftIcon, {}), /* @__PURE__ */ jsx(\"span\", {\n\t\t\tclassName: \"sr-only\",\n\t\t\tchildren: \"Toggle Sidebar\"\n\t\t})]\n\t});\n}\nfunction SidebarRail({ className,...props }) {\n\tconst { toggleSidebar } = useSidebar();\n\treturn /* @__PURE__ */ jsx(\"button\", {\n\t\t\"data-sidebar\": \"rail\",\n\t\t\"data-slot\": \"sidebar-rail\",\n\t\t\"aria-label\": \"Toggle Sidebar\",\n\t\ttabIndex: -1,\n\t\tonClick: toggleSidebar,\n\t\ttitle: \"Toggle Sidebar\",\n\t\tclassName: cn(\"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex\", \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\", \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\", \"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\", \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\", \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\", className),\n\t\t...props\n\t});\n}\nfunction SidebarInset({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"main\", {\n\t\t\"data-slot\": \"sidebar-inset\",\n\t\tclassName: cn(\"bg-background relative flex w-full flex-1 flex-col\", \"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\", className),\n\t\t...props\n\t});\n}\nfunction SidebarInput({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(Input, {\n\t\t\"data-slot\": \"sidebar-input\",\n\t\t\"data-sidebar\": \"input\",\n\t\tclassName: cn(\"bg-background h-8 w-full shadow-none\", className),\n\t\t...props\n\t});\n}\nfunction SidebarHeader({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\t\"data-slot\": \"sidebar-header\",\n\t\t\"data-sidebar\": \"header\",\n\t\tclassName: cn(\"flex flex-col gap-2 p-2\", className),\n\t\t...props\n\t});\n}\nfunction SidebarFooter({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\t\"data-slot\": \"sidebar-footer\",\n\t\t\"data-sidebar\": \"footer\",\n\t\tclassName: cn(\"flex flex-col gap-2 p-2\", className),\n\t\t...props\n\t});\n}\nfunction SidebarSeparator({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(Separator, {\n\t\t\"data-slot\": \"sidebar-separator\",\n\t\t\"data-sidebar\": \"separator\",\n\t\tclassName: cn(\"bg-sidebar-border mx-2 w-auto\", className),\n\t\t...props\n\t});\n}\nfunction SidebarContent({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\t\"data-slot\": \"sidebar-content\",\n\t\t\"data-sidebar\": \"content\",\n\t\tclassName: cn(\"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\", className),\n\t\t...props\n\t});\n}\nfunction SidebarGroup({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\t\"data-slot\": \"sidebar-group\",\n\t\t\"data-sidebar\": \"group\",\n\t\tclassName: cn(\"relative flex w-full min-w-0 flex-col p-2\", className),\n\t\t...props\n\t});\n}\nfunction SidebarGroupLabel({ className, asChild = false,...props }) {\n\treturn /* @__PURE__ */ jsx(asChild ? Slot : \"div\", {\n\t\t\"data-slot\": \"sidebar-group-label\",\n\t\t\"data-sidebar\": \"group-label\",\n\t\tclassName: cn(\"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\", \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\", className),\n\t\t...props\n\t});\n}\nfunction SidebarGroupAction({ className, asChild = false,...props }) {\n\treturn /* @__PURE__ */ jsx(asChild ? Slot : \"button\", {\n\t\t\"data-slot\": \"sidebar-group-action\",\n\t\t\"data-sidebar\": \"group-action\",\n\t\tclassName: cn(\"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\", \"after:absolute after:-inset-2 md:after:hidden\", \"group-data-[collapsible=icon]:hidden\", className),\n\t\t...props\n\t});\n}\nfunction SidebarGroupContent({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\t\"data-slot\": \"sidebar-group-content\",\n\t\t\"data-sidebar\": \"group-content\",\n\t\tclassName: cn(\"w-full text-sm\", className),\n\t\t...props\n\t});\n}\nfunction SidebarMenu({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"ul\", {\n\t\t\"data-slot\": \"sidebar-menu\",\n\t\t\"data-sidebar\": \"menu\",\n\t\tclassName: cn(\"flex w-full min-w-0 flex-col gap-1\", className),\n\t\t...props\n\t});\n}\nfunction SidebarMenuItem({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"li\", {\n\t\t\"data-slot\": \"sidebar-menu-item\",\n\t\t\"data-sidebar\": \"menu-item\",\n\t\tclassName: cn(\"group/menu-item relative\", className),\n\t\t...props\n\t});\n}\nconst sidebarMenuButtonVariants = cva(\"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\", {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n\t\t\toutline: \"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\"\n\t\t},\n\t\tsize: {\n\t\t\tdefault: \"h-8 text-sm\",\n\t\t\tsm: \"h-7 text-xs\",\n\t\t\tlg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\"\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t\tsize: \"default\"\n\t}\n});\nfunction SidebarMenuButton({ asChild = false, isActive = false, variant = \"default\", size = \"default\", tooltip, className,...props }) {\n\tconst Comp = asChild ? Slot : \"button\";\n\tconst { isMobile, state } = useSidebar();\n\tconst button = /* @__PURE__ */ jsx(Comp, {\n\t\t\"data-slot\": \"sidebar-menu-button\",\n\t\t\"data-sidebar\": \"menu-button\",\n\t\t\"data-size\": size,\n\t\t\"data-active\": isActive,\n\t\tclassName: cn(sidebarMenuButtonVariants({\n\t\t\tvariant,\n\t\t\tsize\n\t\t}), className),\n\t\t...props\n\t});\n\tif (!tooltip) return button;\n\tif (typeof tooltip === \"string\") tooltip = { children: tooltip };\n\treturn /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(TooltipTrigger, {\n\t\tasChild: true,\n\t\tchildren: button\n\t}), /* @__PURE__ */ jsx(TooltipContent, {\n\t\tside: \"right\",\n\t\talign: \"center\",\n\t\thidden: state !== \"collapsed\" || isMobile,\n\t\t...tooltip\n\t})] });\n}\nfunction SidebarMenuAction({ className, asChild = false, showOnHover = false,...props }) {\n\treturn /* @__PURE__ */ jsx(asChild ? Slot : \"button\", {\n\t\t\"data-slot\": \"sidebar-menu-action\",\n\t\t\"data-sidebar\": \"menu-action\",\n\t\tclassName: cn(\"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\", \"after:absolute after:-inset-2 md:after:hidden\", \"peer-data-[size=sm]/menu-button:top-1\", \"peer-data-[size=default]/menu-button:top-1.5\", \"peer-data-[size=lg]/menu-button:top-2.5\", \"group-data-[collapsible=icon]:hidden\", showOnHover && \"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0\", className),\n\t\t...props\n\t});\n}\nfunction SidebarMenuBadge({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\t\"data-slot\": \"sidebar-menu-badge\",\n\t\t\"data-sidebar\": \"menu-badge\",\n\t\tclassName: cn(\"text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none\", \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\", \"peer-data-[size=sm]/menu-button:top-1\", \"peer-data-[size=default]/menu-button:top-1.5\", \"peer-data-[size=lg]/menu-button:top-2.5\", \"group-data-[collapsible=icon]:hidden\", className),\n\t\t...props\n\t});\n}\nfunction SidebarMenuSkeleton({ className, showIcon = false,...props }) {\n\tconst width = React$1.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\n\t}, []);\n\treturn /* @__PURE__ */ jsxs(\"div\", {\n\t\t\"data-slot\": \"sidebar-menu-skeleton\",\n\t\t\"data-sidebar\": \"menu-skeleton\",\n\t\tclassName: cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className),\n\t\t...props,\n\t\tchildren: [showIcon && /* @__PURE__ */ jsx(Skeleton, {\n\t\t\tclassName: \"size-4 rounded-md\",\n\t\t\t\"data-sidebar\": \"menu-skeleton-icon\"\n\t\t}), /* @__PURE__ */ jsx(Skeleton, {\n\t\t\tclassName: \"h-4 max-w-(--skeleton-width) flex-1\",\n\t\t\t\"data-sidebar\": \"menu-skeleton-text\",\n\t\t\tstyle: { \"--skeleton-width\": width }\n\t\t})]\n\t});\n}\nfunction SidebarMenuSub({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"ul\", {\n\t\t\"data-slot\": \"sidebar-menu-sub\",\n\t\t\"data-sidebar\": \"menu-sub\",\n\t\tclassName: cn(\"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\", \"group-data-[collapsible=icon]:hidden\", className),\n\t\t...props\n\t});\n}\nfunction SidebarMenuSubItem({ className,...props }) {\n\treturn /* @__PURE__ */ jsx(\"li\", {\n\t\t\"data-slot\": \"sidebar-menu-sub-item\",\n\t\t\"data-sidebar\": \"menu-sub-item\",\n\t\tclassName: cn(\"group/menu-sub-item relative\", className),\n\t\t...props\n\t});\n}\nfunction SidebarMenuSubButton({ asChild = false, size = \"md\", isActive = false, className,...props }) {\n\treturn /* @__PURE__ */ jsx(asChild ? Slot : \"a\", {\n\t\t\"data-slot\": \"sidebar-menu-sub-button\",\n\t\t\"data-sidebar\": \"menu-sub-button\",\n\t\t\"data-size\": size,\n\t\t\"data-active\": isActive,\n\t\tclassName: cn(\"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\", \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\", size === \"sm\" && \"text-xs\", size === \"md\" && \"text-sm\", \"group-data-[collapsible=icon]:hidden\", className),\n\t\t...props\n\t});\n}\n\n//#endregion\nexport { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar };\n//# sourceMappingURL=sidebar.js.map"],"mappings":";;;;;;;;;;;;;;;YAGgC;AAehC,MAAM,sBAAsB;AAC5B,MAAM,yBAAyB,OAAO,KAAK;AAC3C,MAAM,gBAAgB;AACtB,MAAM,uBAAuB;AAC7B,MAAM,qBAAqB;AAC3B,MAAM,4BAA4B;AAClC,MAAM,iBAAiB,QAAQ,cAAc,KAAK;AAClD,SAAS,aAAa;CACrB,MAAM,UAAU,QAAQ,WAAW,eAAe;AAClD,KAAI,CAAC,QAAS,OAAM,IAAI,MAAM,oDAAoD;AAClF,QAAO;;AAER,SAAS,gBAAgB,EAAE,cAAc,MAAM,MAAM,UAAU,cAAc,aAAa,WAAW,OAAO,SAAS,GAAG,SAAS;CAChI,MAAM,WAAW,aAAa;CAC9B,MAAM,CAAC,YAAY,iBAAiB,QAAQ,SAAS,MAAM;CAC3D,MAAM,CAAC,OAAO,YAAY,QAAQ,SAAS,YAAY;CACvD,MAAM,OAAO,YAAY;CACzB,MAAM,UAAU,QAAQ,aAAa,UAAU;EAC9C,MAAM,YAAY,OAAO,UAAU,aAAa,MAAM,KAAK,GAAG;AAC9D,MAAI,YAAa,aAAY,UAAU;MAClC,UAAS,UAAU;AACxB,WAAS,SAAS,GAAG,oBAAoB,GAAG,UAAU,oBAAoB;IACxE,CAAC,aAAa,KAAK,CAAC;CACvB,MAAM,gBAAgB,QAAQ,kBAAkB;AAC/C,SAAO,WAAW,eAAe,WAAW,CAAC,OAAO,GAAG,SAAS,WAAW,CAAC,OAAO;IACjF;EACF;EACA;EACA;EACA,CAAC;AACF,SAAQ,gBAAgB;EACvB,MAAM,iBAAiB,UAAU;AAChC,OAAI,MAAM,QAAQ,8BAA8B,MAAM,WAAW,MAAM,UAAU;AAChF,UAAM,gBAAgB;AACtB,mBAAe;;;AAGjB,SAAO,iBAAiB,WAAW,cAAc;AACjD,eAAa,OAAO,oBAAoB,WAAW,cAAc;IAC/D,CAAC,cAAc,CAAC;CACnB,MAAM,QAAQ,OAAO,aAAa;CAClC,MAAM,eAAe,QAAQ,eAAe;EAC3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA,CAAC;AACF,QAAuB,oBAAI,eAAe,UAAU;EACnD,OAAO;EACP,UAA0B,oBAAI,iBAAiB;GAC9C,eAAe;GACf,UAA0B,oBAAI,OAAO;IACpC,aAAa;IACb,OAAO;KACN,mBAAmB;KACnB,wBAAwB;KACxB,GAAG;KACH;IACD,WAAW,GAAG,mFAAmF,UAAU;IAC3G,GAAG;IACH;IACA,CAAC;GACF,CAAC;EACF,CAAC;;AAEH,SAAS,QAAQ,EAAE,OAAO,QAAQ,UAAU,WAAW,cAAc,aAAa,WAAW,SAAS,GAAG,SAAS;CACjH,MAAM,EAAE,UAAU,OAAO,YAAY,kBAAkB,YAAY;AACnE,KAAI,gBAAgB,OAAQ,QAAuB,oBAAI,OAAO;EAC7D,aAAa;EACb,WAAW,GAAG,+EAA+E,UAAU;EACvG,GAAG;EACH;EACA,CAAC;AACF,KAAI,SAAU,QAAuB,oBAAI,OAAO;EAC/C,MAAM;EACN,cAAc;EACd,GAAG;EACH,UAA0B,qBAAK,cAAc;GAC5C,gBAAgB;GAChB,aAAa;GACb,eAAe;GACf,WAAW;GACX,OAAO,EAAE,mBAAmB,sBAAsB;GAClD;GACA,UAAU,CAAiB,qBAAK,aAAa;IAC5C,WAAW;IACX,UAAU,CAAiB,oBAAI,YAAY,EAAE,UAAU,WAAW,CAAC,EAAkB,oBAAI,kBAAkB,EAAE,UAAU,gCAAgC,CAAC,CAAC;IACzJ,CAAC,EAAkB,oBAAI,OAAO;IAC9B,WAAW;IACX;IACA,CAAC,CAAC;GACH,CAAC;EACF,CAAC;AACF,QAAuB,qBAAK,OAAO;EAClC,WAAW;EACX,cAAc;EACd,oBAAoB,UAAU,cAAc,cAAc;EAC1D,gBAAgB;EAChB,aAAa;EACb,aAAa;EACb,UAAU,CAAiB,oBAAI,OAAO;GACrC,aAAa;GACb,WAAW,GAAG,2FAA2F,0CAA0C,sCAAsC,YAAY,cAAc,YAAY,UAAU,qFAAqF,yDAAyD;GACvX,CAAC,EAAkB,oBAAI,OAAO;GAC9B,aAAa;GACb,WAAW,GAAG,wHAAwH,SAAS,SAAS,mFAAmF,oFAAoF,YAAY,cAAc,YAAY,UAAU,6FAA6F,2HAA2H,UAAU;GACjlB,GAAG;GACH,UAA0B,oBAAI,OAAO;IACpC,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX;IACA,CAAC;GACF,CAAC,CAAC;EACH,CAAC;;AAqBH,SAAS,YAAY,EAAE,UAAU,GAAG,SAAS;CAC5C,MAAM,EAAE,kBAAkB,YAAY;AACtC,QAAuB,oBAAI,UAAU;EACpC,gBAAgB;EAChB,aAAa;EACb,cAAc;EACd,UAAU;EACV,SAAS;EACT,OAAO;EACP,WAAW,GAAG,mPAAmP,4EAA4E,0HAA0H,2JAA2J,6DAA6D,6DAA6D,UAAU;EACtuB,GAAG;EACH,CAAC;;AASH,SAAS,aAAa,EAAE,UAAU,GAAG,SAAS;AAC7C,QAAuB,oBAAI,OAAO;EACjC,aAAa;EACb,gBAAgB;EAChB,WAAW,GAAG,wCAAwC,UAAU;EAChE,GAAG;EACH,CAAC;;AAEH,SAAS,cAAc,EAAE,UAAU,GAAG,SAAS;AAC9C,QAAuB,oBAAI,OAAO;EACjC,aAAa;EACb,gBAAgB;EAChB,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAG;EACH,CAAC;;AAEH,SAAS,cAAc,EAAE,UAAU,GAAG,SAAS;AAC9C,QAAuB,oBAAI,OAAO;EACjC,aAAa;EACb,gBAAgB;EAChB,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAG;EACH,CAAC;;AAUH,SAAS,eAAe,EAAE,UAAU,GAAG,SAAS;AAC/C,QAAuB,oBAAI,OAAO;EACjC,aAAa;EACb,gBAAgB;EAChB,WAAW,GAAG,kGAAkG,UAAU;EAC1H,GAAG;EACH,CAAC;;AAEH,SAAS,aAAa,EAAE,UAAU,GAAG,SAAS;AAC7C,QAAuB,oBAAI,OAAO;EACjC,aAAa;EACb,gBAAgB;EAChB,WAAW,GAAG,6CAA6C,UAAU;EACrE,GAAG;EACH,CAAC;;AAEH,SAAS,kBAAkB,EAAE,WAAW,UAAU,MAAM,GAAG,SAAS;AACnE,QAAuB,oBAAI,UAAU,OAAO,OAAO;EAClD,aAAa;EACb,gBAAgB;EAChB,WAAW,GAAG,4OAA4O,+EAA+E,UAAU;EACnV,GAAG;EACH,CAAC;;AAUH,SAAS,oBAAoB,EAAE,UAAU,GAAG,SAAS;AACpD,QAAuB,oBAAI,OAAO;EACjC,aAAa;EACb,gBAAgB;EAChB,WAAW,GAAG,kBAAkB,UAAU;EAC1C,GAAG;EACH,CAAC;;AAEH,SAAS,YAAY,EAAE,UAAU,GAAG,SAAS;AAC5C,QAAuB,oBAAI,MAAM;EAChC,aAAa;EACb,gBAAgB;EAChB,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAG;EACH,CAAC;;AAEH,SAAS,gBAAgB,EAAE,UAAU,GAAG,SAAS;AAChD,QAAuB,oBAAI,MAAM;EAChC,aAAa;EACb,gBAAgB;EAChB,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAG;EACH,CAAC;;AAEH,MAAM,4BAA4B,IAAI,qzBAAqzB;CAC11B,UAAU;EACT,SAAS;GACR,SAAS;GACT,SAAS;GACT;EACD,MAAM;GACL,SAAS;GACT,IAAI;GACJ,IAAI;GACJ;EACD;CACD,iBAAiB;EAChB,SAAS;EACT,MAAM;EACN;CACD,CAAC;AACF,SAAS,kBAAkB,EAAE,UAAU,OAAO,WAAW,OAAO,UAAU,WAAW,OAAO,WAAW,SAAS,UAAU,GAAG,SAAS;CACrI,MAAM,OAAO,UAAU,OAAO;CAC9B,MAAM,EAAE,UAAU,UAAU,YAAY;CACxC,MAAM,SAAyB,oBAAI,MAAM;EACxC,aAAa;EACb,gBAAgB;EAChB,aAAa;EACb,eAAe;EACf,WAAW,GAAG,0BAA0B;GACvC;GACA;GACA,CAAC,EAAE,UAAU;EACd,GAAG;EACH,CAAC;AACF,KAAI,CAAC,QAAS,QAAO;AACrB,KAAI,OAAO,YAAY,SAAU,WAAU,EAAE,UAAU,SAAS;AAChE,QAAuB,qBAAK,SAAS,EAAE,UAAU,CAAiB,oBAAI,gBAAgB;EACrF,SAAS;EACT,UAAU;EACV,CAAC,EAAkB,oBAAI,gBAAgB;EACvC,MAAM;EACN,OAAO;EACP,QAAQ,UAAU,eAAe;EACjC,GAAG;EACH,CAAC,CAAC,EAAE,CAAC;;AAUP,SAAS,iBAAiB,EAAE,UAAU,GAAG,SAAS;AACjD,QAAuB,oBAAI,OAAO;EACjC,aAAa;EACb,gBAAgB;EAChB,WAAW,GAAG,0KAA0K,4HAA4H,yCAAyC,gDAAgD,2CAA2C,wCAAwC,UAAU;EAC1e,GAAG;EACH,CAAC"}
|