@askrjs/themes 0.0.21 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/capabilities.json +36 -0
  2. package/dist/components/_internal/jsx.js +7 -2
  3. package/dist/components/_internal/jsx.js.map +1 -1
  4. package/dist/components/_internal/style.js.map +1 -1
  5. package/dist/components/alert/alert.js.map +1 -1
  6. package/dist/components/brand/brand.js +12 -10
  7. package/dist/components/brand/brand.js.map +1 -1
  8. package/dist/components/card/card.js +43 -36
  9. package/dist/components/card/card.js.map +1 -1
  10. package/dist/components/catalog.js +18 -14
  11. package/dist/components/catalog.js.map +1 -1
  12. package/dist/components/close/close.js.map +1 -1
  13. package/dist/components/empty-state/empty-state.js.map +1 -1
  14. package/dist/components/field/field.js +20 -17
  15. package/dist/components/field/field.js.map +1 -1
  16. package/dist/components/footer/footer.js +36 -30
  17. package/dist/components/footer/footer.js.map +1 -1
  18. package/dist/components/grid/grid.js +2 -1
  19. package/dist/components/grid/grid.js.map +1 -1
  20. package/dist/components/nav/nav.js.map +1 -1
  21. package/dist/components/navbar/navbar.js.map +1 -1
  22. package/dist/components/overlays/dropdown-content.js.map +1 -1
  23. package/dist/components/page/page.js.map +1 -1
  24. package/dist/components/page-header/page-header.js.map +1 -1
  25. package/dist/components/sidebar/sidebar.js +6 -6
  26. package/dist/components/sidebar/sidebar.js.map +1 -1
  27. package/dist/components/skeleton/skeleton.js +2 -1
  28. package/dist/components/skeleton/skeleton.js.map +1 -1
  29. package/dist/components/spinner/spinner.js.map +1 -1
  30. package/dist/components/stat/stat.js +24 -20
  31. package/dist/components/stat/stat.js.map +1 -1
  32. package/dist/components/theme/theme.js.map +1 -1
  33. package/dist/components/toolbar/toolbar.js.map +1 -1
  34. package/package.json +20 -16
  35. package/src/components/_internal/jsx.ts +11 -1
  36. package/src/components/sidebar/sidebar.tsx +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","names":[],"sources":["../../src/components/catalog.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Slot } from \"@askrjs/askr/foundations\";\nimport type { Ref } from \"@askrjs/askr/foundations/utilities\";\nimport { DialogContent, DialogDescription, DialogTitle } from \"@askrjs/ui\";\nimport { Block } from \"./block\";\nimport { classes } from \"./_internal/classes\";\nimport { mergeProps } from \"./_internal/merge-props\";\n\nconst CatalogDialogContent = DialogContent as (props: Record<string, unknown>) => JSX.Element;\nconst CatalogDialogTitle = DialogTitle as (props: Record<string, unknown>) => JSX.Element;\nconst CatalogDialogDescription = DialogDescription as (\n props: Record<string, unknown>,\n) => JSX.Element;\n\ntype CatalogElement = keyof JSX.IntrinsicElements;\n\nexport type CatalogComponentProps = Record<string, unknown> & {\n as?: CatalogElement;\n asChild?: boolean;\n children?: unknown;\n class?: string;\n ref?: Ref<HTMLElement>;\n};\n\ntype CatalogDefaults = {\n className?: string;\n element?: CatalogElement;\n role?: string;\n slot: string;\n};\n\nfunction catalogPart(props: CatalogComponentProps, defaults: CatalogDefaults): JSX.Element {\n const { as, asChild, children, class: className, ref, ...rest } = props;\n const Element = (as ?? defaults.element ?? \"div\") as \"div\";\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(defaults.className, className),\n \"data-slot\": defaults.slot,\n role: defaults.role,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return <Element {...finalProps}>{children}</Element>;\n}\n\nfunction buttonPart(props: CatalogComponentProps, slot: string, className?: string): JSX.Element {\n const { as, asChild, children, ref, class: classProp, type = \"button\", ...rest } = props;\n void as;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(className, classProp),\n \"data-slot\": slot,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return (\n <button type={type as \"button\" | \"submit\" | \"reset\"} {...finalProps}>\n {children}\n </button>\n );\n}\n\nfunction normalizeLegacySpace(value: unknown): unknown {\n if (value === \"none\") return \"0\";\n if (value === \"1\") return \"xs\";\n if (value === \"2\") return \"xs\";\n if (value === \"3\") return \"sm\";\n if (value === \"4\") return \"md\";\n if (value === \"5\") return \"lg\";\n if (value === \"6\") return \"xl\";\n if (value === \"8\") return \"2xl\";\n return value;\n}\n\nfunction layoutAlias(props: CatalogComponentProps, defaults: Record<string, unknown>): JSX.Element {\n const { gap, p, padding, style, wrap, ...rest } = props as CatalogComponentProps & {\n gap?: unknown;\n p?: unknown;\n padding?: unknown;\n style?: Record<string, unknown>;\n wrap?: boolean | string;\n };\n const BlockComponent = Block as (blockProps: Record<string, unknown>) => JSX.Element;\n const wrapStyle = wrap\n ? {\n ...style,\n flexWrap: \"wrap\",\n }\n : style;\n\n return (\n <BlockComponent\n {...defaults}\n {...rest}\n gap={normalizeLegacySpace(gap)}\n padding={padding ?? normalizeLegacySpace(p)}\n style={wrapStyle}\n />\n );\n}\n\nexport function Box(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, {});\n}\n\nexport function Stack(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, { direction: \"column\" });\n}\n\nexport function Inline(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, { direction: \"row\" });\n}\n\nexport function Shell(props: CatalogComponentProps & { variant?: unknown }): JSX.Element {\n const { variant: _variant, ...rest } = props;\n void _variant;\n return layoutAlias(rest, {});\n}\n\nexport function ShellNav(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, {});\n}\n\nexport function ShellMain(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, { as: \"main\", grow: true });\n}\n\nexport function AlertTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"alert-title\", element: \"h3\", className: \"alert-title\" });\n}\n\nexport function AlertDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, {\n slot: \"alert-description\",\n element: \"p\",\n className: \"alert-description\",\n });\n}\n\nexport function Breadcrumb(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb\", element: \"nav\", role: \"navigation\" });\n}\n\nexport function BreadcrumbList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-list\", element: \"ol\" });\n}\n\nexport function BreadcrumbItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-item\", element: \"li\" });\n}\n\nexport function BreadcrumbLink(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-link\", element: \"a\" });\n}\n\nexport function BreadcrumbPage(props: CatalogComponentProps): JSX.Element {\n return catalogPart(\n { \"aria-current\": \"page\", ...props },\n {\n slot: \"breadcrumb-page\",\n element: \"span\",\n },\n );\n}\n\nexport function BreadcrumbSeparator(props: CatalogComponentProps): JSX.Element {\n const { children = \"/\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"breadcrumb-separator\",\n element: \"li\",\n },\n );\n}\n\nexport function BreadcrumbEllipsis(props: CatalogComponentProps): JSX.Element {\n const { children = \"...\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"breadcrumb-ellipsis\",\n element: \"span\",\n },\n );\n}\n\nexport function Calendar(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar\" });\n}\n\nexport function CalendarHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-header\" });\n}\n\nexport function CalendarCaption(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-caption\" });\n}\n\nexport function CalendarNav(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-nav\" });\n}\n\nexport function CalendarPreviousButton(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous month\", ...rest } = props;\n return buttonPart(\n { \"aria-label\": \"Previous month\", children, ...rest },\n \"calendar-previous\",\n \"btn btn-icon btn-ghost\",\n );\n}\n\nexport function CalendarNextButton(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next month\", ...rest } = props;\n return buttonPart(\n { \"aria-label\": \"Next month\", children, ...rest },\n \"calendar-next\",\n \"btn btn-icon btn-ghost\",\n );\n}\n\nexport function CalendarGrid(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-grid\", role: \"grid\" });\n}\n\nexport function CalendarHead(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-head\", role: \"row\" });\n}\n\nexport function CalendarBody(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-body\" });\n}\n\nexport function CalendarRow(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-row\", role: \"row\" });\n}\n\nexport function CalendarCell(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-cell\", role: \"gridcell\" });\n}\n\nexport function CalendarDay(\n props: CatalogComponentProps & {\n disabled?: boolean;\n outside?: boolean;\n rangeEnd?: boolean;\n rangeMiddle?: boolean;\n rangeStart?: boolean;\n selected?: boolean;\n today?: boolean;\n },\n): JSX.Element {\n const { disabled, outside, rangeEnd, rangeMiddle, rangeStart, selected, today, ...rest } = props;\n return buttonPart(\n {\n disabled,\n \"aria-disabled\": disabled ? \"true\" : undefined,\n \"aria-selected\": selected ? \"true\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-outside\": outside ? \"true\" : undefined,\n \"data-range-end\": rangeEnd ? \"true\" : undefined,\n \"data-range-middle\": rangeMiddle ? \"true\" : undefined,\n \"data-range-start\": rangeStart ? \"true\" : undefined,\n \"data-selected\": selected ? \"true\" : undefined,\n \"data-today\": today ? \"true\" : undefined,\n ...rest,\n },\n \"calendar-day\",\n );\n}\n\nexport function Carousel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel\" });\n}\n\nexport function CarouselContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel-content\" });\n}\n\nexport function CarouselItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel-item\" });\n}\n\nexport function CarouselPrevious(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous\", ...rest } = props;\n return buttonPart({ children, ...rest }, \"carousel-previous\", \"btn btn-icon\");\n}\n\nexport function CarouselNext(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next\", ...rest } = props;\n return buttonPart({ children, ...rest }, \"carousel-next\", \"btn btn-icon\");\n}\n\nexport function Combobox(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox\" });\n}\n\nexport function ComboboxInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"combobox-input\",\n role: \"combobox\",\n });\n\n return <input {...finalProps} />;\n}\n\nexport function ComboboxList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox-list\", role: \"listbox\" });\n}\n\nexport function ComboboxOption(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox-option\", role: \"option\" });\n}\n\nexport function Command(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command\" });\n}\n\nexport function CommandDialog(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-dialog\" });\n}\n\nexport function CommandInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"command-input\",\n });\n\n return <input {...finalProps} />;\n}\n\nexport function CommandHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-header\" });\n}\n\nexport function CommandList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-list\", role: \"listbox\" });\n}\n\nexport function CommandEmpty(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-empty\" });\n}\n\nexport function CommandGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-group\", role: \"group\" });\n}\n\nexport function CommandGroupHeading(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-group-heading\", element: \"div\" });\n}\n\nexport function CommandItem(\n props: CatalogComponentProps & { active?: boolean; disabled?: boolean; selected?: boolean },\n): JSX.Element {\n const { active, disabled, selected, ...rest } = props;\n return catalogPart(\n {\n \"aria-disabled\": disabled ? \"true\" : undefined,\n \"aria-selected\": selected || active ? \"true\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-selected\": selected || active ? \"true\" : undefined,\n ...rest,\n },\n { slot: \"command-item\", role: \"option\" },\n );\n}\n\nexport function CommandSeparator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-separator\", element: \"div\", role: \"separator\" });\n}\n\nexport function CommandShortcut(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-shortcut\", element: \"span\" });\n}\n\nexport function DataTable(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"data-table\" });\n}\n\nexport function DatePicker(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"date-picker\" });\n}\n\nexport function DatePickerInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, type = \"date\", ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"date-picker-input\",\n });\n\n return <input type={type as string} {...finalProps} />;\n}\n\nexport function Direction(props: CatalogComponentProps & { dir?: \"ltr\" | \"rtl\" }): JSX.Element {\n const { dir = \"ltr\", ...rest } = props;\n return catalogPart({ dir, ...rest }, { slot: \"direction\" });\n}\n\nexport function Empty(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty\" });\n}\n\nexport function EmptyHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-header\" });\n}\n\nexport function EmptyTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-title\", element: \"h3\" });\n}\n\nexport function EmptyDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-description\", element: \"p\" });\n}\n\nexport function EmptyContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-content\" });\n}\n\nexport function EmptyMedia(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-media\" });\n}\n\nexport function FieldGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-group\" });\n}\n\nexport function FieldSet(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-set\", element: \"fieldset\" });\n}\n\nexport function FieldLegend(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-legend\", element: \"legend\" });\n}\n\nexport function FieldLabel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-label\", element: \"label\", className: \"label\" });\n}\n\nexport function FieldDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-description\", element: \"p\", className: \"field-hint\" });\n}\n\nexport function FieldContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-content\" });\n}\n\nexport function FieldTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-title\", element: \"div\" });\n}\n\nexport function FieldSeparator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-separator\", role: \"separator\" });\n}\n\nexport function InputOTP(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp\", role: \"group\" });\n}\n\nexport function InputOTPGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp-group\", role: \"group\" });\n}\n\nexport function InputOTPSlot(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp-slot\", element: \"span\" });\n}\n\nexport function InputOTPSeparator(props: CatalogComponentProps): JSX.Element {\n const { children = \"-\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"input-otp-separator\",\n element: \"span\",\n },\n );\n}\n\nexport function Item(\n props: CatalogComponentProps & {\n active?: boolean;\n size?: \"default\" | \"sm\" | \"xs\";\n variant?: \"default\" | \"outline\" | \"muted\";\n },\n): JSX.Element {\n const { active, size, variant, ...rest } = props;\n return catalogPart(\n {\n \"data-active\": active ? \"true\" : undefined,\n \"data-size\": size && size !== \"default\" ? size : undefined,\n \"data-variant\": variant && variant !== \"default\" ? variant : undefined,\n ...rest,\n },\n { slot: \"item\" },\n );\n}\n\nexport function ItemGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-group\" });\n}\n\nexport function ItemHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-header\" });\n}\n\nexport function ItemMedia(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-media\" });\n}\n\nexport function ItemContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-content\" });\n}\n\nexport function ItemTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-title\" });\n}\n\nexport function ItemDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-description\" });\n}\n\nexport function ItemActions(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-actions\" });\n}\n\nexport function ItemFooter(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-footer\" });\n}\n\nexport function Kbd(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"kbd\", element: \"kbd\" });\n}\n\nexport function NativeSelect(props: CatalogComponentProps): JSX.Element {\n const { children, ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"native-select\",\n });\n\n return <select {...finalProps}>{children}</select>;\n}\n\nexport function NavigationMenu(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu\", element: \"nav\" });\n}\n\nexport function NavigationMenuList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-list\", element: \"ul\" });\n}\n\nexport function NavigationMenuItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-item\", element: \"li\" });\n}\n\nexport function NavigationMenuTrigger(props: CatalogComponentProps): JSX.Element {\n return buttonPart(props, \"navigation-menu-trigger\", \"nav-item\");\n}\n\nexport function NavigationMenuContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-content\" });\n}\n\nexport function NavigationMenuLink(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-link\", element: \"a\" });\n}\n\nexport function NavigationMenuViewport(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-viewport\" });\n}\n\nexport function NavigationMenuIndicator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-indicator\" });\n}\n\nexport function Pagination(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination\", element: \"nav\", role: \"navigation\" });\n}\n\nexport function PaginationContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination-content\", element: \"ul\" });\n}\n\nexport function PaginationItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination-item\", element: \"li\" });\n}\n\nexport function PaginationLink(props: CatalogComponentProps & { active?: boolean }): JSX.Element {\n const { active, ...rest } = props;\n return catalogPart(\n {\n \"aria-current\": active ? \"page\" : undefined,\n \"data-active\": active ? \"true\" : undefined,\n ...rest,\n },\n { slot: \"pagination-link\", element: \"a\" },\n );\n}\n\nexport function PaginationPrevious(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous\", ...rest } = props;\n return catalogPart({ children, ...rest }, { slot: \"pagination-previous\", element: \"a\" });\n}\n\nexport function PaginationNext(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next\", ...rest } = props;\n return catalogPart({ children, ...rest }, { slot: \"pagination-next\", element: \"a\" });\n}\n\nexport function PaginationEllipsis(props: CatalogComponentProps): JSX.Element {\n const { children = \"...\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"pagination-ellipsis\",\n element: \"span\",\n },\n );\n}\n\nexport function ResizablePanelGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-panel-group\" });\n}\n\nexport function ResizablePanel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-panel\" });\n}\n\nexport function ResizableHandle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-handle\", role: \"separator\" });\n}\n\nexport function TabsList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"tabs-list\", role: \"tablist\" });\n}\n\nexport function TabsTrigger(props: CatalogComponentProps): JSX.Element {\n return buttonPart(props, \"tabs-trigger\", \"tab\");\n}\n\nexport function TabsContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"tabs-content\", role: \"tabpanel\" });\n}\n\nexport function SheetContent(\n props: CatalogComponentProps & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n },\n): JSX.Element {\n const { side = \"right\", ...rest } = props;\n return <CatalogDialogContent {...rest} data-side={side} data-slot=\"sheet-content\" />;\n}\n\nexport function SheetHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-header\" });\n}\n\nexport function SheetFooter(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-footer\" });\n}\n\nexport function SheetTitle(props: CatalogComponentProps): JSX.Element {\n return <CatalogDialogTitle {...props} data-slot=\"sheet-title\" />;\n}\n\nexport function SheetDescription(props: CatalogComponentProps): JSX.Element {\n return <CatalogDialogDescription {...props} data-slot=\"sheet-description\" />;\n}\n\nexport function Toaster(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sonner\" });\n}\n\nexport const Sonner = Toaster;\n\nexport function Typography(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography\" });\n}\n\nexport function TypographyH1(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h1\", element: \"h1\" });\n}\n\nexport function TypographyH2(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h2\", element: \"h2\" });\n}\n\nexport function TypographyH3(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h3\", element: \"h3\" });\n}\n\nexport function TypographyH4(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h4\", element: \"h4\" });\n}\n\nexport function TypographyP(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-p\", element: \"p\" });\n}\n\nexport function TypographyBlockquote(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-blockquote\", element: \"blockquote\" });\n}\n\nexport function TypographyList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-list\", element: \"ul\" });\n}\n\nexport function TypographyLead(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-lead\", element: \"p\" });\n}\n\nexport function TypographyMuted(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-muted\", element: \"p\" });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","names":[],"sources":["../../src/components/catalog.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Slot } from \"@askrjs/askr/foundations\";\nimport type { Ref } from \"@askrjs/askr/foundations/utilities\";\nimport { DialogContent, DialogDescription, DialogTitle } from \"@askrjs/ui\";\nimport { Block } from \"./block\";\nimport { classes } from \"./_internal/classes\";\nimport { mergeProps } from \"./_internal/merge-props\";\n\nconst CatalogDialogContent = DialogContent as (props: Record<string, unknown>) => JSX.Element;\nconst CatalogDialogTitle = DialogTitle as (props: Record<string, unknown>) => JSX.Element;\nconst CatalogDialogDescription = DialogDescription as (\n props: Record<string, unknown>,\n) => JSX.Element;\n\ntype CatalogElement = keyof JSX.IntrinsicElements;\n\nexport type CatalogComponentProps = Record<string, unknown> & {\n as?: CatalogElement;\n asChild?: boolean;\n children?: unknown;\n class?: string;\n ref?: Ref<HTMLElement>;\n};\n\ntype CatalogDefaults = {\n className?: string;\n element?: CatalogElement;\n role?: string;\n slot: string;\n};\n\nfunction catalogPart(props: CatalogComponentProps, defaults: CatalogDefaults): JSX.Element {\n const { as, asChild, children, class: className, ref, ...rest } = props;\n const Element = (as ?? defaults.element ?? \"div\") as \"div\";\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(defaults.className, className),\n \"data-slot\": defaults.slot,\n role: defaults.role,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return <Element {...finalProps}>{children}</Element>;\n}\n\nfunction buttonPart(props: CatalogComponentProps, slot: string, className?: string): JSX.Element {\n const { as, asChild, children, ref, class: classProp, type = \"button\", ...rest } = props;\n void as;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(className, classProp),\n \"data-slot\": slot,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return (\n <button type={type as \"button\" | \"submit\" | \"reset\"} {...finalProps}>\n {children}\n </button>\n );\n}\n\nfunction normalizeLegacySpace(value: unknown): unknown {\n if (value === \"none\") return \"0\";\n if (value === \"1\") return \"xs\";\n if (value === \"2\") return \"xs\";\n if (value === \"3\") return \"sm\";\n if (value === \"4\") return \"md\";\n if (value === \"5\") return \"lg\";\n if (value === \"6\") return \"xl\";\n if (value === \"8\") return \"2xl\";\n return value;\n}\n\nfunction layoutAlias(props: CatalogComponentProps, defaults: Record<string, unknown>): JSX.Element {\n const { gap, p, padding, style, wrap, ...rest } = props as CatalogComponentProps & {\n gap?: unknown;\n p?: unknown;\n padding?: unknown;\n style?: Record<string, unknown>;\n wrap?: boolean | string;\n };\n const BlockComponent = Block as (blockProps: Record<string, unknown>) => JSX.Element;\n const wrapStyle = wrap\n ? {\n ...style,\n flexWrap: \"wrap\",\n }\n : style;\n\n return (\n <BlockComponent\n {...defaults}\n {...rest}\n gap={normalizeLegacySpace(gap)}\n padding={padding ?? normalizeLegacySpace(p)}\n style={wrapStyle}\n />\n );\n}\n\nexport function Box(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, {});\n}\n\nexport function Stack(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, { direction: \"column\" });\n}\n\nexport function Inline(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, { direction: \"row\" });\n}\n\nexport function Shell(props: CatalogComponentProps & { variant?: unknown }): JSX.Element {\n const { variant: _variant, ...rest } = props;\n void _variant;\n return layoutAlias(rest, {});\n}\n\nexport function ShellNav(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, {});\n}\n\nexport function ShellMain(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, { as: \"main\", grow: true });\n}\n\nexport function AlertTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"alert-title\", element: \"h3\", className: \"alert-title\" });\n}\n\nexport function AlertDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, {\n slot: \"alert-description\",\n element: \"p\",\n className: \"alert-description\",\n });\n}\n\nexport function Breadcrumb(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb\", element: \"nav\", role: \"navigation\" });\n}\n\nexport function BreadcrumbList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-list\", element: \"ol\" });\n}\n\nexport function BreadcrumbItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-item\", element: \"li\" });\n}\n\nexport function BreadcrumbLink(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-link\", element: \"a\" });\n}\n\nexport function BreadcrumbPage(props: CatalogComponentProps): JSX.Element {\n return catalogPart(\n { \"aria-current\": \"page\", ...props },\n {\n slot: \"breadcrumb-page\",\n element: \"span\",\n },\n );\n}\n\nexport function BreadcrumbSeparator(props: CatalogComponentProps): JSX.Element {\n const { children = \"/\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"breadcrumb-separator\",\n element: \"li\",\n },\n );\n}\n\nexport function BreadcrumbEllipsis(props: CatalogComponentProps): JSX.Element {\n const { children = \"...\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"breadcrumb-ellipsis\",\n element: \"span\",\n },\n );\n}\n\nexport function Calendar(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar\" });\n}\n\nexport function CalendarHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-header\" });\n}\n\nexport function CalendarCaption(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-caption\" });\n}\n\nexport function CalendarNav(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-nav\" });\n}\n\nexport function CalendarPreviousButton(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous month\", ...rest } = props;\n return buttonPart(\n { \"aria-label\": \"Previous month\", children, ...rest },\n \"calendar-previous\",\n \"btn btn-icon btn-ghost\",\n );\n}\n\nexport function CalendarNextButton(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next month\", ...rest } = props;\n return buttonPart(\n { \"aria-label\": \"Next month\", children, ...rest },\n \"calendar-next\",\n \"btn btn-icon btn-ghost\",\n );\n}\n\nexport function CalendarGrid(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-grid\", role: \"grid\" });\n}\n\nexport function CalendarHead(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-head\", role: \"row\" });\n}\n\nexport function CalendarBody(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-body\" });\n}\n\nexport function CalendarRow(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-row\", role: \"row\" });\n}\n\nexport function CalendarCell(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-cell\", role: \"gridcell\" });\n}\n\nexport function CalendarDay(\n props: CatalogComponentProps & {\n disabled?: boolean;\n outside?: boolean;\n rangeEnd?: boolean;\n rangeMiddle?: boolean;\n rangeStart?: boolean;\n selected?: boolean;\n today?: boolean;\n },\n): JSX.Element {\n const { disabled, outside, rangeEnd, rangeMiddle, rangeStart, selected, today, ...rest } = props;\n return buttonPart(\n {\n disabled,\n \"aria-disabled\": disabled ? \"true\" : undefined,\n \"aria-selected\": selected ? \"true\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-outside\": outside ? \"true\" : undefined,\n \"data-range-end\": rangeEnd ? \"true\" : undefined,\n \"data-range-middle\": rangeMiddle ? \"true\" : undefined,\n \"data-range-start\": rangeStart ? \"true\" : undefined,\n \"data-selected\": selected ? \"true\" : undefined,\n \"data-today\": today ? \"true\" : undefined,\n ...rest,\n },\n \"calendar-day\",\n );\n}\n\nexport function Carousel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel\" });\n}\n\nexport function CarouselContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel-content\" });\n}\n\nexport function CarouselItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel-item\" });\n}\n\nexport function CarouselPrevious(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous\", ...rest } = props;\n return buttonPart({ children, ...rest }, \"carousel-previous\", \"btn btn-icon\");\n}\n\nexport function CarouselNext(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next\", ...rest } = props;\n return buttonPart({ children, ...rest }, \"carousel-next\", \"btn btn-icon\");\n}\n\nexport function Combobox(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox\" });\n}\n\nexport function ComboboxInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"combobox-input\",\n role: \"combobox\",\n });\n\n return <input {...finalProps} />;\n}\n\nexport function ComboboxList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox-list\", role: \"listbox\" });\n}\n\nexport function ComboboxOption(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox-option\", role: \"option\" });\n}\n\nexport function Command(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command\" });\n}\n\nexport function CommandDialog(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-dialog\" });\n}\n\nexport function CommandInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"command-input\",\n });\n\n return <input {...finalProps} />;\n}\n\nexport function CommandHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-header\" });\n}\n\nexport function CommandList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-list\", role: \"listbox\" });\n}\n\nexport function CommandEmpty(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-empty\" });\n}\n\nexport function CommandGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-group\", role: \"group\" });\n}\n\nexport function CommandGroupHeading(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-group-heading\", element: \"div\" });\n}\n\nexport function CommandItem(\n props: CatalogComponentProps & { active?: boolean; disabled?: boolean; selected?: boolean },\n): JSX.Element {\n const { active, disabled, selected, ...rest } = props;\n return catalogPart(\n {\n \"aria-disabled\": disabled ? \"true\" : undefined,\n \"aria-selected\": selected || active ? \"true\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-selected\": selected || active ? \"true\" : undefined,\n ...rest,\n },\n { slot: \"command-item\", role: \"option\" },\n );\n}\n\nexport function CommandSeparator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-separator\", element: \"div\", role: \"separator\" });\n}\n\nexport function CommandShortcut(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-shortcut\", element: \"span\" });\n}\n\nexport function DataTable(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"data-table\" });\n}\n\nexport function DatePicker(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"date-picker\" });\n}\n\nexport function DatePickerInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, type = \"date\", ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"date-picker-input\",\n });\n\n return <input type={type as string} {...finalProps} />;\n}\n\nexport function Direction(props: CatalogComponentProps & { dir?: \"ltr\" | \"rtl\" }): JSX.Element {\n const { dir = \"ltr\", ...rest } = props;\n return catalogPart({ dir, ...rest }, { slot: \"direction\" });\n}\n\nexport function Empty(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty\" });\n}\n\nexport function EmptyHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-header\" });\n}\n\nexport function EmptyTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-title\", element: \"h3\" });\n}\n\nexport function EmptyDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-description\", element: \"p\" });\n}\n\nexport function EmptyContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-content\" });\n}\n\nexport function EmptyMedia(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-media\" });\n}\n\nexport function FieldGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-group\" });\n}\n\nexport function FieldSet(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-set\", element: \"fieldset\" });\n}\n\nexport function FieldLegend(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-legend\", element: \"legend\" });\n}\n\nexport function FieldLabel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-label\", element: \"label\", className: \"label\" });\n}\n\nexport function FieldDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-description\", element: \"p\", className: \"field-hint\" });\n}\n\nexport function FieldContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-content\" });\n}\n\nexport function FieldTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-title\", element: \"div\" });\n}\n\nexport function FieldSeparator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-separator\", role: \"separator\" });\n}\n\nexport function InputOTP(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp\", role: \"group\" });\n}\n\nexport function InputOTPGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp-group\", role: \"group\" });\n}\n\nexport function InputOTPSlot(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp-slot\", element: \"span\" });\n}\n\nexport function InputOTPSeparator(props: CatalogComponentProps): JSX.Element {\n const { children = \"-\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"input-otp-separator\",\n element: \"span\",\n },\n );\n}\n\nexport function Item(\n props: CatalogComponentProps & {\n active?: boolean;\n size?: \"default\" | \"sm\" | \"xs\";\n variant?: \"default\" | \"outline\" | \"muted\";\n },\n): JSX.Element {\n const { active, size, variant, ...rest } = props;\n return catalogPart(\n {\n \"data-active\": active ? \"true\" : undefined,\n \"data-size\": size && size !== \"default\" ? size : undefined,\n \"data-variant\": variant && variant !== \"default\" ? variant : undefined,\n ...rest,\n },\n { slot: \"item\" },\n );\n}\n\nexport function ItemGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-group\" });\n}\n\nexport function ItemHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-header\" });\n}\n\nexport function ItemMedia(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-media\" });\n}\n\nexport function ItemContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-content\" });\n}\n\nexport function ItemTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-title\" });\n}\n\nexport function ItemDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-description\" });\n}\n\nexport function ItemActions(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-actions\" });\n}\n\nexport function ItemFooter(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-footer\" });\n}\n\nexport function Kbd(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"kbd\", element: \"kbd\" });\n}\n\nexport function NativeSelect(props: CatalogComponentProps): JSX.Element {\n const { children, ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"native-select\",\n });\n\n return <select {...finalProps}>{children}</select>;\n}\n\nexport function NavigationMenu(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu\", element: \"nav\" });\n}\n\nexport function NavigationMenuList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-list\", element: \"ul\" });\n}\n\nexport function NavigationMenuItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-item\", element: \"li\" });\n}\n\nexport function NavigationMenuTrigger(props: CatalogComponentProps): JSX.Element {\n return buttonPart(props, \"navigation-menu-trigger\", \"nav-item\");\n}\n\nexport function NavigationMenuContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-content\" });\n}\n\nexport function NavigationMenuLink(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-link\", element: \"a\" });\n}\n\nexport function NavigationMenuViewport(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-viewport\" });\n}\n\nexport function NavigationMenuIndicator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-indicator\" });\n}\n\nexport function Pagination(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination\", element: \"nav\", role: \"navigation\" });\n}\n\nexport function PaginationContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination-content\", element: \"ul\" });\n}\n\nexport function PaginationItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination-item\", element: \"li\" });\n}\n\nexport function PaginationLink(props: CatalogComponentProps & { active?: boolean }): JSX.Element {\n const { active, ...rest } = props;\n return catalogPart(\n {\n \"aria-current\": active ? \"page\" : undefined,\n \"data-active\": active ? \"true\" : undefined,\n ...rest,\n },\n { slot: \"pagination-link\", element: \"a\" },\n );\n}\n\nexport function PaginationPrevious(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous\", ...rest } = props;\n return catalogPart({ children, ...rest }, { slot: \"pagination-previous\", element: \"a\" });\n}\n\nexport function PaginationNext(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next\", ...rest } = props;\n return catalogPart({ children, ...rest }, { slot: \"pagination-next\", element: \"a\" });\n}\n\nexport function PaginationEllipsis(props: CatalogComponentProps): JSX.Element {\n const { children = \"...\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"pagination-ellipsis\",\n element: \"span\",\n },\n );\n}\n\nexport function ResizablePanelGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-panel-group\" });\n}\n\nexport function ResizablePanel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-panel\" });\n}\n\nexport function ResizableHandle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-handle\", role: \"separator\" });\n}\n\nexport function TabsList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"tabs-list\", role: \"tablist\" });\n}\n\nexport function TabsTrigger(props: CatalogComponentProps): JSX.Element {\n return buttonPart(props, \"tabs-trigger\", \"tab\");\n}\n\nexport function TabsContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"tabs-content\", role: \"tabpanel\" });\n}\n\nexport function SheetContent(\n props: CatalogComponentProps & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n },\n): JSX.Element {\n const { side = \"right\", ...rest } = props;\n return <CatalogDialogContent {...rest} data-side={side} data-slot=\"sheet-content\" />;\n}\n\nexport function SheetHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-header\" });\n}\n\nexport function SheetFooter(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-footer\" });\n}\n\nexport function SheetTitle(props: CatalogComponentProps): JSX.Element {\n return <CatalogDialogTitle {...props} data-slot=\"sheet-title\" />;\n}\n\nexport function SheetDescription(props: CatalogComponentProps): JSX.Element {\n return <CatalogDialogDescription {...props} data-slot=\"sheet-description\" />;\n}\n\nexport function Toaster(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sonner\" });\n}\n\nexport const Sonner = Toaster;\n\nexport function Typography(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography\" });\n}\n\nexport function TypographyH1(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h1\", element: \"h1\" });\n}\n\nexport function TypographyH2(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h2\", element: \"h2\" });\n}\n\nexport function TypographyH3(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h3\", element: \"h3\" });\n}\n\nexport function TypographyH4(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h4\", element: \"h4\" });\n}\n\nexport function TypographyP(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-p\", element: \"p\" });\n}\n\nexport function TypographyBlockquote(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-blockquote\", element: \"blockquote\" });\n}\n\nexport function TypographyList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-list\", element: \"ul\" });\n}\n\nexport function TypographyLead(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-lead\", element: \"p\" });\n}\n\nexport function TypographyMuted(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-muted\", element: \"p\" });\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"close.js","names":[],"sources":["../../../src/components/close/close.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Button, type ButtonNativeProps } from \"@askrjs/ui\";\nimport { classes } from \"../_internal/classes\";\nimport type { CloseNativeProps } from \"./close.types\";\n\nexport function Close(props: CloseNativeProps): JSX.Element;\nexport function Close(props: CloseNativeProps): JSX.Element {\n const { children, class: className, label = \"Close\", size, variant, ...rest } = props;\n return (\n <Button\n {...(rest as ButtonNativeProps)}\n class={classes(\"btn-close\", className)}\n aria-label={label}\n size={size ?? \"icon\"}\n variant={variant ?? \"ghost\"}\n >\n {children ?? <span aria-hidden=\"true\">×</span>}\n </Button>\n );\n}\n"],"mappings":";;;;AAMA,SAAgB,MAAM,OAAsC;CAC1D,MAAM,EAAE,UAAU,OAAO,WAAW,QAAQ,SAAS,MAAM,SAAS,GAAG,SAAS;CAChF,OACE,oBAAC,QAAD;EACE,GAAK;EACL,OAAO,QAAQ,aAAa,SAAS;EACrC,cAAY;EACZ,MAAM,QAAQ;EACd,SAAS,WAAW;YAEnB,YAAY,oBAAC,QAAD;GAAM,eAAY;aAAO;EAAO,CAAA;CACvC,CAAA;AAEZ"}
1
+ {"version":3,"file":"close.js","names":[],"sources":["../../../src/components/close/close.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Button, type ButtonNativeProps } from \"@askrjs/ui\";\nimport { classes } from \"../_internal/classes\";\nimport type { CloseNativeProps } from \"./close.types\";\n\nexport function Close(props: CloseNativeProps): JSX.Element;\nexport function Close(props: CloseNativeProps): JSX.Element {\n const { children, class: className, label = \"Close\", size, variant, ...rest } = props;\n return (\n <Button\n {...(rest as ButtonNativeProps)}\n class={classes(\"btn-close\", className)}\n aria-label={label}\n size={size ?? \"icon\"}\n variant={variant ?? \"ghost\"}\n >\n {children ?? <span aria-hidden=\"true\">×</span>}\n </Button>\n );\n}\n"],"mappings":";;;;AAMA,SAAgB,MAAM,OAAsC;CAC1D,MAAM,EAAE,UAAU,OAAO,WAAW,QAAQ,SAAS,MAAM,SAAS,GAAG,SAAS;CAChF,OACE,oBAAC,QAAD;EACE,GAAK;EACL,OAAO,QAAQ,aAAa,SAAS;EACrC,cAAY;EACZ,MAAM,QAAQ;EACd,SAAS,WAAW;EAEnB,UAAA,YAAY,oBAAC,QAAD;GAAM,eAAY;GAAO,UAAA;EAAO,CAAA;CACvC,CAAA;AAEZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state.js","names":[],"sources":["../../../src/components/empty-state/empty-state.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Block } from \"../block\";\nimport type { EmptyStateProps } from \"./empty-state.types\";\n\nexport function EmptyState(props: EmptyStateProps): JSX.Element {\n const { icon, title, titleAs: TitleTag = \"h2\", description, action, children, ...rest } = props;\n\n return (\n <Block center minHeight=\"content\" padding=\"xl\" {...rest} data-slot=\"empty-state\">\n <Block align=\"center\" gap=\"md\" maxWidth=\"sm\" data-slot=\"empty-state-content\">\n {icon !== undefined ? <div data-slot=\"empty-state-icon\">{icon}</div> : null}\n {title !== undefined ? <TitleTag data-slot=\"empty-state-title\">{title}</TitleTag> : null}\n {description !== undefined ? (\n <p data-slot=\"empty-state-description\">{description}</p>\n ) : null}\n {children}\n {action !== undefined ? (\n <Block direction=\"row\" justify=\"center\" gap=\"sm\" data-slot=\"empty-state-actions\">\n {action}\n </Block>\n ) : null}\n </Block>\n </Block>\n );\n}\n"],"mappings":";;;AAIA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,MAAM,OAAO,SAAS,WAAW,MAAM,aAAa,QAAQ,UAAU,GAAG,SAAS;CAE1F,OACE,oBAAC,OAAD;EAAO,QAAA;EAAO,WAAU;EAAU,SAAQ;EAAK,GAAI;EAAM,aAAU;YACjE,qBAAC,OAAD;GAAO,OAAM;GAAS,KAAI;GAAK,UAAS;GAAK,aAAU;aAAvD;IACG,SAAS,KAAA,IAAY,oBAAC,OAAD;KAAK,aAAU;eAAoB;IAAU,CAAA,IAAI;IACtE,UAAU,KAAA,IAAY,oBAAC,UAAD;KAAU,aAAU;eAAqB;IAAgB,CAAA,IAAI;IACnF,gBAAgB,KAAA,IACf,oBAAC,KAAD;KAAG,aAAU;eAA2B;IAAe,CAAA,IACrD;IACH;IACA,WAAW,KAAA,IACV,oBAAC,OAAD;KAAO,WAAU;KAAM,SAAQ;KAAS,KAAI;KAAK,aAAU;eACxD;IACI,CAAA,IACL;GACC;;CACF,CAAA;AAEX"}
1
+ {"version":3,"file":"empty-state.js","names":[],"sources":["../../../src/components/empty-state/empty-state.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Block } from \"../block\";\nimport type { EmptyStateProps } from \"./empty-state.types\";\n\nexport function EmptyState(props: EmptyStateProps): JSX.Element {\n const { icon, title, titleAs: TitleTag = \"h2\", description, action, children, ...rest } = props;\n\n return (\n <Block center minHeight=\"content\" padding=\"xl\" {...rest} data-slot=\"empty-state\">\n <Block align=\"center\" gap=\"md\" maxWidth=\"sm\" data-slot=\"empty-state-content\">\n {icon !== undefined ? <div data-slot=\"empty-state-icon\">{icon}</div> : null}\n {title !== undefined ? <TitleTag data-slot=\"empty-state-title\">{title}</TitleTag> : null}\n {description !== undefined ? (\n <p data-slot=\"empty-state-description\">{description}</p>\n ) : null}\n {children}\n {action !== undefined ? (\n <Block direction=\"row\" justify=\"center\" gap=\"sm\" data-slot=\"empty-state-actions\">\n {action}\n </Block>\n ) : null}\n </Block>\n </Block>\n );\n}\n"],"mappings":";;;AAIA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,MAAM,OAAO,SAAS,WAAW,MAAM,aAAa,QAAQ,UAAU,GAAG,SAAS;CAE1F,OACE,oBAAC,OAAD;EAAO,QAAA;EAAO,WAAU;EAAU,SAAQ;EAAK,GAAI;EAAM,aAAU;EACjE,UAAA,qBAAC,OAAD;GAAO,OAAM;GAAS,KAAI;GAAK,UAAS;GAAK,aAAU;GAAvD,UAAA;IACG,SAAS,KAAA,IAAY,oBAAC,OAAD;KAAK,aAAU;KAAoB,UAAA;IAAU,CAAA,IAAI;IACtE,UAAU,KAAA,IAAY,oBAAC,UAAD;KAAU,aAAU;KAAqB,UAAA;IAAgB,CAAA,IAAI;IACnF,gBAAgB,KAAA,IACf,oBAAC,KAAD;KAAG,aAAU;KAA2B,UAAA;IAAe,CAAA,IACrD;IACH;IACA,WAAW,KAAA,IACV,oBAAC,OAAD;KAAO,WAAU;KAAM,SAAQ;KAAS,KAAI;KAAK,aAAU;KACxD,UAAA;IACI,CAAA,IACL;GACC;;CACF,CAAA;AAEX"}
@@ -4,36 +4,39 @@ import { jsx } from "@askrjs/askr/jsx-runtime";
4
4
  //#region src/components/field/field.tsx
5
5
  function Field(props) {
6
6
  const { children, class: className, invalid = false, ref, ...rest } = props;
7
+ const finalProps = mergeProps(rest, {
8
+ class: classes("field", className),
9
+ ref,
10
+ "data-slot": "field",
11
+ "data-invalid": invalid ? "true" : void 0
12
+ });
7
13
  return /* @__PURE__ */ jsx("div", {
8
- ...mergeProps(rest, {
9
- class: classes("field", className),
10
- ref,
11
- "data-slot": "field",
12
- "data-invalid": invalid ? "true" : void 0
13
- }),
14
+ ...finalProps,
14
15
  children
15
16
  });
16
17
  }
17
18
  function FieldHint(props) {
18
19
  const { children, class: className, ref, ...rest } = props;
20
+ const finalProps = mergeProps(rest, {
21
+ class: classes("field-hint", className),
22
+ ref,
23
+ "data-slot": "field-hint"
24
+ });
19
25
  return /* @__PURE__ */ jsx("p", {
20
- ...mergeProps(rest, {
21
- class: classes("field-hint", className),
22
- ref,
23
- "data-slot": "field-hint"
24
- }),
26
+ ...finalProps,
25
27
  children
26
28
  });
27
29
  }
28
30
  function FieldError(props) {
29
31
  const { children, class: className, ref, ...rest } = props;
32
+ const finalProps = mergeProps(rest, {
33
+ class: classes("field-error", className),
34
+ ref,
35
+ role: "alert",
36
+ "data-slot": "field-error"
37
+ });
30
38
  return /* @__PURE__ */ jsx("p", {
31
- ...mergeProps(rest, {
32
- class: classes("field-error", className),
33
- ref,
34
- role: "alert",
35
- "data-slot": "field-error"
36
- }),
39
+ ...finalProps,
37
40
  children
38
41
  });
39
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","names":[],"sources":["../../../src/components/field/field.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { classes } from \"../_internal/classes\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport type { FieldErrorProps, FieldHintProps, FieldProps } from \"./field.types\";\n\nexport function Field(props: FieldProps): JSX.Element {\n const { children, class: className, invalid = false, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field\", className),\n ref,\n \"data-slot\": \"field\",\n \"data-invalid\": invalid ? \"true\" : undefined,\n });\n\n return <div {...finalProps}>{children}</div>;\n}\n\nexport function FieldHint(props: FieldHintProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field-hint\", className),\n ref,\n \"data-slot\": \"field-hint\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n\nexport function FieldError(props: FieldErrorProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field-error\", className),\n ref,\n role: \"alert\",\n \"data-slot\": \"field-error\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n"],"mappings":";;;;AAKA,SAAgB,MAAM,OAAgC;CACpD,MAAM,EAAE,UAAU,OAAO,WAAW,UAAU,OAAO,KAAK,GAAG,SAAS;CAQtE,OAAO,oBAAC,OAAD;EAAK,GAPO,WAAW,MAAM;GAClC,OAAO,QAAQ,SAAS,SAAS;GACjC;GACA,aAAa;GACb,gBAAgB,UAAU,SAAS,KAAA;EACrC,CAEyB;EAAI;CAAc,CAAA;AAC7C;AAEA,SAAgB,UAAU,OAAoC;CAC5D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,KAAD;EAAG,GANS,WAAW,MAAM;GAClC,OAAO,QAAQ,cAAc,SAAS;GACtC;GACA,aAAa;EACf,CAEuB;EAAI;CAAY,CAAA;AACzC;AAEA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAQrD,OAAO,oBAAC,KAAD;EAAG,GAPS,WAAW,MAAM;GAClC,OAAO,QAAQ,eAAe,SAAS;GACvC;GACA,MAAM;GACN,aAAa;EACf,CAEuB;EAAI;CAAY,CAAA;AACzC"}
1
+ {"version":3,"file":"field.js","names":[],"sources":["../../../src/components/field/field.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { classes } from \"../_internal/classes\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport type { FieldErrorProps, FieldHintProps, FieldProps } from \"./field.types\";\n\nexport function Field(props: FieldProps): JSX.Element {\n const { children, class: className, invalid = false, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field\", className),\n ref,\n \"data-slot\": \"field\",\n \"data-invalid\": invalid ? \"true\" : undefined,\n });\n\n return <div {...finalProps}>{children}</div>;\n}\n\nexport function FieldHint(props: FieldHintProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field-hint\", className),\n ref,\n \"data-slot\": \"field-hint\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n\nexport function FieldError(props: FieldErrorProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field-error\", className),\n ref,\n role: \"alert\",\n \"data-slot\": \"field-error\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n"],"mappings":";;;;AAKA,SAAgB,MAAM,OAAgC;CACpD,MAAM,EAAE,UAAU,OAAO,WAAW,UAAU,OAAO,KAAK,GAAG,SAAS;CACtE,MAAM,aAAa,WAAW,MAAM;EAClC,OAAO,QAAQ,SAAS,SAAS;EACjC;EACA,aAAa;EACb,gBAAgB,UAAU,SAAS,KAAA;CACrC,CAAC;CAED,OAAO,oBAAC,OAAD;EAAK,GAAI;EAAa;CAAc,CAAA;AAC7C;AAEA,SAAgB,UAAU,OAAoC;CAC5D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CACrD,MAAM,aAAa,WAAW,MAAM;EAClC,OAAO,QAAQ,cAAc,SAAS;EACtC;EACA,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,KAAD;EAAG,GAAI;EAAa;CAAY,CAAA;AACzC;AAEA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CACrD,MAAM,aAAa,WAAW,MAAM;EAClC,OAAO,QAAQ,eAAe,SAAS;EACvC;EACA,MAAM;EACN,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,KAAD;EAAG,GAAI;EAAa;CAAY,CAAA;AACzC"}
@@ -16,67 +16,73 @@ function Footer(props) {
16
16
  }
17
17
  function FooterContent(props) {
18
18
  const { children, class: className, ref, ...rest } = props;
19
+ const finalProps = mergeProps(rest, {
20
+ ref,
21
+ class: classes("footer-content", className),
22
+ "data-slot": "footer-content"
23
+ });
19
24
  return /* @__PURE__ */ jsx("div", {
20
- ...mergeProps(rest, {
21
- ref,
22
- class: classes("footer-content", className),
23
- "data-slot": "footer-content"
24
- }),
25
+ ...finalProps,
25
26
  children
26
27
  });
27
28
  }
28
29
  function FooterSection(props) {
29
30
  const { children, class: className, ref, ...rest } = props;
31
+ const finalProps = mergeProps(rest, {
32
+ ref,
33
+ class: classes("footer-section", className),
34
+ "data-slot": "footer-section"
35
+ });
30
36
  return /* @__PURE__ */ jsx("div", {
31
- ...mergeProps(rest, {
32
- ref,
33
- class: classes("footer-section", className),
34
- "data-slot": "footer-section"
35
- }),
37
+ ...finalProps,
36
38
  children
37
39
  });
38
40
  }
39
41
  function FooterTitle(props) {
40
42
  const { children, class: className, ref, ...rest } = props;
43
+ const finalProps = mergeProps(rest, {
44
+ ref,
45
+ class: classes("footer-title", className),
46
+ "data-slot": "footer-title"
47
+ });
41
48
  return /* @__PURE__ */ jsx("h2", {
42
- ...mergeProps(rest, {
43
- ref,
44
- class: classes("footer-title", className),
45
- "data-slot": "footer-title"
46
- }),
49
+ ...finalProps,
47
50
  children
48
51
  });
49
52
  }
50
53
  function FooterDescription(props) {
51
54
  const { children, class: className, ref, ...rest } = props;
55
+ const finalProps = mergeProps(rest, {
56
+ ref,
57
+ class: classes("footer-description", className),
58
+ "data-slot": "footer-description"
59
+ });
52
60
  return /* @__PURE__ */ jsx("p", {
53
- ...mergeProps(rest, {
54
- ref,
55
- class: classes("footer-description", className),
56
- "data-slot": "footer-description"
57
- }),
61
+ ...finalProps,
58
62
  children
59
63
  });
60
64
  }
61
65
  function FooterLinks(props) {
62
66
  const { children, class: className, ref, ...rest } = props;
67
+ const finalProps = mergeProps(rest, {
68
+ ref,
69
+ class: classes("footer-links", className),
70
+ "data-slot": "footer-links"
71
+ });
63
72
  return /* @__PURE__ */ jsx("nav", {
64
- ...mergeProps(rest, {
65
- ref,
66
- class: classes("footer-links", className),
67
- "data-slot": "footer-links"
68
- }),
73
+ ...finalProps,
69
74
  children
70
75
  });
71
76
  }
72
77
  function FooterLink(props) {
73
78
  const { children, class: className, ref, ...rest } = props;
79
+ const finalProps = mergeProps(rest, {
80
+ ref,
81
+ class: classes("footer-link", className),
82
+ "data-slot": "footer-link"
83
+ });
74
84
  return /* @__PURE__ */ jsx("a", {
75
- ...mergeProps(rest, {
76
- ref,
77
- class: classes("footer-link", className),
78
- "data-slot": "footer-link"
79
- }),
85
+ ...finalProps,
80
86
  children
81
87
  });
82
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","names":[],"sources":["../../../src/components/footer/footer.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Block } from \"../block\";\nimport { classes } from \"../_internal/classes\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport type {\n FooterContentProps,\n FooterDescriptionProps,\n FooterLinkProps,\n FooterLinksProps,\n FooterProps,\n FooterSectionProps,\n FooterTitleProps,\n} from \"./footer.types\";\n\nexport function Footer(props: FooterProps): JSX.Element {\n const { children, ...rest } = props;\n\n return (\n <Block as=\"footer\" background=\"muted\" borderTop {...rest} data-slot=\"footer\">\n {children}\n </Block>\n );\n}\n\nexport function FooterContent(props: FooterContentProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-content\", className),\n \"data-slot\": \"footer-content\",\n });\n\n return <div {...finalProps}>{children}</div>;\n}\n\nexport function FooterSection(props: FooterSectionProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-section\", className),\n \"data-slot\": \"footer-section\",\n });\n\n return <div {...finalProps}>{children}</div>;\n}\n\nexport function FooterTitle(props: FooterTitleProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-title\", className),\n \"data-slot\": \"footer-title\",\n });\n\n return <h2 {...finalProps}>{children}</h2>;\n}\n\nexport function FooterDescription(props: FooterDescriptionProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-description\", className),\n \"data-slot\": \"footer-description\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n\nexport function FooterLinks(props: FooterLinksProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-links\", className),\n \"data-slot\": \"footer-links\",\n });\n\n return <nav {...finalProps}>{children}</nav>;\n}\n\nexport function FooterLink(props: FooterLinkProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-link\", className),\n \"data-slot\": \"footer-link\",\n });\n\n return <a {...finalProps}>{children}</a>;\n}\n"],"mappings":";;;;;AAcA,SAAgB,OAAO,OAAiC;CACtD,MAAM,EAAE,UAAU,GAAG,SAAS;CAE9B,OACE,oBAAC,OAAD;EAAO,IAAG;EAAS,YAAW;EAAQ,WAAA;EAAU,GAAI;EAAM,aAAU;EACjE;CACI,CAAA;AAEX;AAEA,SAAgB,cAAc,OAAwC;CACpE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,OAAD;EAAK,GANO,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,kBAAkB,SAAS;GAC1C,aAAa;EACf,CAEyB;EAAI;CAAc,CAAA;AAC7C;AAEA,SAAgB,cAAc,OAAwC;CACpE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,OAAD;EAAK,GANO,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,kBAAkB,SAAS;GAC1C,aAAa;EACf,CAEyB;EAAI;CAAc,CAAA;AAC7C;AAEA,SAAgB,YAAY,OAAsC;CAChE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,MAAD;EAAI,GANQ,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,gBAAgB,SAAS;GACxC,aAAa;EACf,CAEwB;EAAI;CAAa,CAAA;AAC3C;AAEA,SAAgB,kBAAkB,OAA4C;CAC5E,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,KAAD;EAAG,GANS,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,sBAAsB,SAAS;GAC9C,aAAa;EACf,CAEuB;EAAI;CAAY,CAAA;AACzC;AAEA,SAAgB,YAAY,OAAsC;CAChE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,OAAD;EAAK,GANO,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,gBAAgB,SAAS;GACxC,aAAa;EACf,CAEyB;EAAI;CAAc,CAAA;AAC7C;AAEA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,KAAD;EAAG,GANS,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,eAAe,SAAS;GACvC,aAAa;EACf,CAEuB;EAAI;CAAY,CAAA;AACzC"}
1
+ {"version":3,"file":"footer.js","names":[],"sources":["../../../src/components/footer/footer.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Block } from \"../block\";\nimport { classes } from \"../_internal/classes\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport type {\n FooterContentProps,\n FooterDescriptionProps,\n FooterLinkProps,\n FooterLinksProps,\n FooterProps,\n FooterSectionProps,\n FooterTitleProps,\n} from \"./footer.types\";\n\nexport function Footer(props: FooterProps): JSX.Element {\n const { children, ...rest } = props;\n\n return (\n <Block as=\"footer\" background=\"muted\" borderTop {...rest} data-slot=\"footer\">\n {children}\n </Block>\n );\n}\n\nexport function FooterContent(props: FooterContentProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-content\", className),\n \"data-slot\": \"footer-content\",\n });\n\n return <div {...finalProps}>{children}</div>;\n}\n\nexport function FooterSection(props: FooterSectionProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-section\", className),\n \"data-slot\": \"footer-section\",\n });\n\n return <div {...finalProps}>{children}</div>;\n}\n\nexport function FooterTitle(props: FooterTitleProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-title\", className),\n \"data-slot\": \"footer-title\",\n });\n\n return <h2 {...finalProps}>{children}</h2>;\n}\n\nexport function FooterDescription(props: FooterDescriptionProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-description\", className),\n \"data-slot\": \"footer-description\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n\nexport function FooterLinks(props: FooterLinksProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-links\", className),\n \"data-slot\": \"footer-links\",\n });\n\n return <nav {...finalProps}>{children}</nav>;\n}\n\nexport function FooterLink(props: FooterLinkProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-link\", className),\n \"data-slot\": \"footer-link\",\n });\n\n return <a {...finalProps}>{children}</a>;\n}\n"],"mappings":";;;;;AAcA,SAAgB,OAAO,OAAiC;CACtD,MAAM,EAAE,UAAU,GAAG,SAAS;CAE9B,OACE,oBAAC,OAAD;EAAO,IAAG;EAAS,YAAW;EAAQ,WAAA;EAAU,GAAI;EAAM,aAAU;EACjE;CACI,CAAA;AAEX;AAEA,SAAgB,cAAc,OAAwC;CACpE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CACrD,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,kBAAkB,SAAS;EAC1C,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,OAAD;EAAK,GAAI;EAAa;CAAc,CAAA;AAC7C;AAEA,SAAgB,cAAc,OAAwC;CACpE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CACrD,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,kBAAkB,SAAS;EAC1C,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,OAAD;EAAK,GAAI;EAAa;CAAc,CAAA;AAC7C;AAEA,SAAgB,YAAY,OAAsC;CAChE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CACrD,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,gBAAgB,SAAS;EACxC,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,MAAD;EAAI,GAAI;EAAa;CAAa,CAAA;AAC3C;AAEA,SAAgB,kBAAkB,OAA4C;CAC5E,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CACrD,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,sBAAsB,SAAS;EAC9C,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,KAAD;EAAG,GAAI;EAAa;CAAY,CAAA;AACzC;AAEA,SAAgB,YAAY,OAAsC;CAChE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CACrD,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,gBAAgB,SAAS;EACxC,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,OAAD;EAAK,GAAI;EAAa;CAAc,CAAA;AAC7C;AAEA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CACrD,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,eAAe,SAAS;EACvC,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,KAAD;EAAG,GAAI;EAAa;CAAY,CAAA;AACzC"}
@@ -23,9 +23,10 @@ function Grid(props) {
23
23
  setResponsiveVar(styles, "grid-columns", columns, resolveColumns);
24
24
  setResponsiveVar(styles, "grid-gap", gap, resolveGap);
25
25
  setResponsiveVar(styles, "grid-align", align, resolveAlign);
26
+ const generatedClass = styleDeclarationsToClass(mergeLayoutStyles(styles, userStyle));
26
27
  const finalProps = mergeProps(rest, {
27
28
  ref,
28
- class: classes("grid", classProp, className, styleDeclarationsToClass(mergeLayoutStyles(styles, userStyle))),
29
+ class: classes("grid", classProp, className, generatedClass),
29
30
  "data-slot": "grid"
30
31
  });
31
32
  return intrinsicElement(as ?? DEFAULT_ELEMENT, finalProps, children);
@@ -1 +1 @@
1
- {"version":3,"file":"grid.js","names":[],"sources":["../../../src/components/grid/grid.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { classes } from \"../_internal/classes\";\nimport { mergeLayoutStyles, resolveSpaceValue, setResponsiveVar } from \"../_internal/block-layout\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport { intrinsicElement } from \"../_internal/jsx\";\nimport { styleDeclarationsToClass } from \"../_internal/style\";\nimport type { BlockSpace } from \"../_internal/block-layout\";\nimport type { GridAlign, GridColumns, GridElement, GridProps } from \"./grid.types\";\n\nconst DEFAULT_ELEMENT = \"div\";\nfunction resolveColumns(value: GridColumns): string {\n if (typeof value === \"number\") {\n return `repeat(${value}, minmax(0, 1fr))`;\n }\n\n const trimmed = value.trim();\n return trimmed || \"minmax(0, 1fr)\";\n}\n\nfunction resolveGap(value: BlockSpace): string {\n return String(resolveSpaceValue(value));\n}\n\nfunction resolveAlign(value: GridAlign): string {\n if (value === \"start\") return \"start\";\n if (value === \"end\") return \"end\";\n return value;\n}\n\nexport function Grid<TElement extends GridElement = \"div\">(\n props: GridProps<TElement>,\n): JSX.Element {\n const {\n as,\n columns,\n gap,\n align,\n children,\n class: classProp,\n className,\n ref,\n style: userStyle,\n ...rest\n } = props as GridProps<GridElement> & {\n class?: unknown;\n className?: unknown;\n style?: unknown;\n };\n\n const styles: Record<string, string | number> = {};\n setResponsiveVar(styles, \"grid-columns\", columns, resolveColumns);\n setResponsiveVar(styles, \"grid-gap\", gap, resolveGap);\n setResponsiveVar(styles, \"grid-align\", align, resolveAlign);\n\n const generatedClass = styleDeclarationsToClass(mergeLayoutStyles(styles, userStyle));\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"grid\", classProp, className, generatedClass),\n \"data-slot\": \"grid\",\n });\n\n return intrinsicElement(as ?? DEFAULT_ELEMENT, finalProps, children);\n}\n"],"mappings":";;;;;;AASA,MAAM,kBAAkB;AACxB,SAAS,eAAe,OAA4B;CAClD,IAAI,OAAO,UAAU,UACnB,OAAO,UAAU,MAAM;CAIzB,OADgB,MAAM,KACT,KAAK;AACpB;AAEA,SAAS,WAAW,OAA2B;CAC7C,OAAO,OAAO,kBAAkB,KAAK,CAAC;AACxC;AAEA,SAAS,aAAa,OAA0B;CAC9C,IAAI,UAAU,SAAS,OAAO;CAC9B,IAAI,UAAU,OAAO,OAAO;CAC5B,OAAO;AACT;AAEA,SAAgB,KACd,OACa;CACb,MAAM,EACJ,IACA,SACA,KACA,OACA,UACA,OAAO,WACP,WACA,KACA,OAAO,WACP,GAAG,SACD;CAMJ,MAAM,SAA0C,CAAC;CACjD,iBAAiB,QAAQ,gBAAgB,SAAS,cAAc;CAChE,iBAAiB,QAAQ,YAAY,KAAK,UAAU;CACpD,iBAAiB,QAAQ,cAAc,OAAO,YAAY;CAG1D,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,QAAQ,WAAW,WAHb,yBAAyB,kBAAkB,QAAQ,SAAS,CAGvB,CAAC;EAC3D,aAAa;CACf,CAAC;CAED,OAAO,iBAAiB,MAAM,iBAAiB,YAAY,QAAQ;AACrE"}
1
+ {"version":3,"file":"grid.js","names":[],"sources":["../../../src/components/grid/grid.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { classes } from \"../_internal/classes\";\nimport { mergeLayoutStyles, resolveSpaceValue, setResponsiveVar } from \"../_internal/block-layout\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport { intrinsicElement } from \"../_internal/jsx\";\nimport { styleDeclarationsToClass } from \"../_internal/style\";\nimport type { BlockSpace } from \"../_internal/block-layout\";\nimport type { GridAlign, GridColumns, GridElement, GridProps } from \"./grid.types\";\n\nconst DEFAULT_ELEMENT = \"div\";\nfunction resolveColumns(value: GridColumns): string {\n if (typeof value === \"number\") {\n return `repeat(${value}, minmax(0, 1fr))`;\n }\n\n const trimmed = value.trim();\n return trimmed || \"minmax(0, 1fr)\";\n}\n\nfunction resolveGap(value: BlockSpace): string {\n return String(resolveSpaceValue(value));\n}\n\nfunction resolveAlign(value: GridAlign): string {\n if (value === \"start\") return \"start\";\n if (value === \"end\") return \"end\";\n return value;\n}\n\nexport function Grid<TElement extends GridElement = \"div\">(\n props: GridProps<TElement>,\n): JSX.Element {\n const {\n as,\n columns,\n gap,\n align,\n children,\n class: classProp,\n className,\n ref,\n style: userStyle,\n ...rest\n } = props as GridProps<GridElement> & {\n class?: unknown;\n className?: unknown;\n style?: unknown;\n };\n\n const styles: Record<string, string | number> = {};\n setResponsiveVar(styles, \"grid-columns\", columns, resolveColumns);\n setResponsiveVar(styles, \"grid-gap\", gap, resolveGap);\n setResponsiveVar(styles, \"grid-align\", align, resolveAlign);\n\n const generatedClass = styleDeclarationsToClass(mergeLayoutStyles(styles, userStyle));\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"grid\", classProp, className, generatedClass),\n \"data-slot\": \"grid\",\n });\n\n return intrinsicElement(as ?? DEFAULT_ELEMENT, finalProps, children);\n}\n"],"mappings":";;;;;;AASA,MAAM,kBAAkB;AACxB,SAAS,eAAe,OAA4B;CAClD,IAAI,OAAO,UAAU,UACnB,OAAO,UAAU,MAAM;CAIzB,OADgB,MAAM,KACT,KAAK;AACpB;AAEA,SAAS,WAAW,OAA2B;CAC7C,OAAO,OAAO,kBAAkB,KAAK,CAAC;AACxC;AAEA,SAAS,aAAa,OAA0B;CAC9C,IAAI,UAAU,SAAS,OAAO;CAC9B,IAAI,UAAU,OAAO,OAAO;CAC5B,OAAO;AACT;AAEA,SAAgB,KACd,OACa;CACb,MAAM,EACJ,IACA,SACA,KACA,OACA,UACA,OAAO,WACP,WACA,KACA,OAAO,WACP,GAAG,SACD;CAMJ,MAAM,SAA0C,CAAC;CACjD,iBAAiB,QAAQ,gBAAgB,SAAS,cAAc;CAChE,iBAAiB,QAAQ,YAAY,KAAK,UAAU;CACpD,iBAAiB,QAAQ,cAAc,OAAO,YAAY;CAE1D,MAAM,iBAAiB,yBAAyB,kBAAkB,QAAQ,SAAS,CAAC;CACpF,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,QAAQ,WAAW,WAAW,cAAc;EAC3D,aAAa;CACf,CAAC;CAED,OAAO,iBAAiB,MAAM,iBAAiB,YAAY,QAAQ;AACrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"nav.js","names":[],"sources":["../../../src/components/nav/nav.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Slot } from \"@askrjs/askr/foundations\";\nimport { currentRoute, Link, navigate } from \"@askrjs/askr/router\";\nimport { Block } from \"../block\";\nimport { classes } from \"../_internal/classes\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport { intrinsicElement } from \"../_internal/jsx\";\nimport { assertSafeNavigationHref, resolvePathname } from \"../_internal/pathname\";\nimport type {\n NavItemAsChildProps,\n NavItemProps,\n NavLinkProps,\n PillProps,\n PillsAsChildProps,\n PillsProps,\n TabProps,\n TabsAsChildProps,\n TabsProps,\n} from \"./nav.types\";\n\nconst LayoutBlock = Block as (props: Record<string, unknown>) => JSX.Element;\n\nfunction normalizePathname(pathname: string): string {\n return pathname.endsWith(\"/\") && pathname !== \"/\" ? pathname.slice(0, -1) : pathname;\n}\n\nfunction getCurrentPathname(): string | null {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n return normalizePathname(window.location.pathname || \"/\");\n}\n\nfunction getReactiveCurrentPathname(): string | null {\n try {\n return normalizePathname(currentRoute().path || \"/\");\n } catch {\n return getCurrentPathname();\n }\n}\n\nfunction isActiveNavLink(\n currentPathname: string,\n targetPathname: string,\n match: NavLinkProps[\"match\"] = \"prefix\",\n): boolean {\n if (targetPathname === \"/\") {\n return currentPathname === \"/\";\n }\n\n if (match === \"exact\") {\n return currentPathname === targetPathname;\n }\n\n return currentPathname === targetPathname || currentPathname.startsWith(`${targetPathname}/`);\n}\n\nfunction shouldHandleClientNavigation(\n event: MouseEvent,\n target: string | undefined,\n targetPathname: string | null,\n): boolean {\n if (targetPathname === null || target) {\n return false;\n }\n\n return (\n !event.defaultPrevented &&\n (event.button ?? 0) === 0 &&\n !event.altKey &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.shiftKey\n );\n}\n\nfunction renderNavSet(\n props: TabsProps | TabsAsChildProps | PillsProps | PillsAsChildProps,\n slot: \"tabs\" | \"pills\",\n): JSX.Element {\n const className = \"class\" in props ? props.class : undefined;\n const { asChild, children, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(slot, className),\n \"data-slot\": slot,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return intrinsicElement(\"nav\", finalProps, children);\n}\n\nfunction renderRoutedLink(\n props: NavLinkProps | TabProps | PillProps,\n slot: \"nav-item\" | \"tab\" | \"pill\",\n options: { activeBackground?: boolean; className?: string; inheritSlot?: boolean } = {},\n): JSX.Element {\n const {\n active,\n children,\n href: suppliedHref,\n to,\n onPress,\n onClick,\n ref,\n class: className,\n match = \"prefix\",\n target,\n ...rest\n } = props as NavLinkProps & {\n onPress?: (event: Event) => void;\n onClick?: (event: MouseEvent) => void;\n };\n const href = to?.href ?? suppliedHref;\n if (!href) {\n throw new Error(\"Nav link requires href or to.\");\n }\n assertSafeNavigationHref(href);\n const inheritedSlot =\n options.inheritSlot && typeof (rest as Record<string, unknown>)[\"data-slot\"] === \"string\"\n ? String((rest as Record<string, unknown>)[\"data-slot\"])\n : undefined;\n const resolvedSlot = (inheritedSlot ?? slot) as \"nav-item\" | \"tab\" | \"pill\";\n const inheritedNavClass =\n slot === \"nav-item\" && resolvedSlot !== \"nav-item\" ? \"nav-item\" : undefined;\n const { \"data-slot\": _dataSlot, ...childRest } = rest as Record<string, unknown>;\n void _dataSlot;\n const hasDownload = (rest as Record<string, unknown>).download !== undefined;\n const currentPathname = getReactiveCurrentPathname();\n const targetPathname = resolvePathname(href);\n const routeActive =\n currentPathname !== null &&\n targetPathname !== null &&\n isActiveNavLink(currentPathname, targetPathname, match);\n const isActive = active ?? routeActive;\n const activeProps = isActive\n ? {\n \"aria-current\": \"page\" as const,\n \"data-active\": \"true\" as const,\n }\n : {\n \"data-active\": undefined,\n };\n const rendersRouterLink =\n targetPathname !== null &&\n !target &&\n !hasDownload &&\n typeof onClick !== \"function\" &&\n typeof onPress !== \"function\";\n const childProps: NavLinkProps = to\n ? ({ ...childRest, to, target } as NavLinkProps)\n : ({ ...childRest, href, target } as NavLinkProps);\n const handleClick = (event: MouseEvent) => {\n onPress?.(event);\n if (event.defaultPrevented) return;\n onClick?.(event);\n if (hasDownload) return;\n\n if (!shouldHandleClientNavigation(event, target, targetPathname)) {\n return;\n }\n\n event.preventDefault();\n navigate(href);\n };\n\n return (\n <LayoutBlock\n asChild\n paddingX=\"sm\"\n paddingY=\"xs\"\n radius={resolvedSlot === \"pill\" ? \"round\" : \"md\"}\n background={isActive && options.activeBackground ? \"selected\" : undefined}\n ref={ref}\n className={classes(options.className, inheritedNavClass, className)}\n data-slot={resolvedSlot}\n {...activeProps}\n >\n {rendersRouterLink ? (\n <Link {...childProps}>{children}</Link>\n ) : (\n <a {...childRest} href={href} target={target} onClick={handleClick}>\n {children}\n </a>\n )}\n </LayoutBlock>\n );\n}\n\nexport function Tabs(props: TabsProps): JSX.Element;\nexport function Tabs(props: TabsAsChildProps): JSX.Element;\nexport function Tabs(props: TabsProps | TabsAsChildProps): JSX.Element {\n return renderNavSet(props, \"tabs\");\n}\n\nexport function Pills(props: PillsProps): JSX.Element;\nexport function Pills(props: PillsAsChildProps): JSX.Element;\nexport function Pills(props: PillsProps | PillsAsChildProps): JSX.Element {\n return renderNavSet(props, \"pills\");\n}\n\nexport function Tab(props: TabProps): JSX.Element {\n return renderRoutedLink(props, \"tab\", { className: \"tab\" });\n}\n\nexport function Pill(props: PillProps): JSX.Element {\n return renderRoutedLink(props, \"pill\", { activeBackground: true, className: \"pill\" });\n}\n\nexport function NavItem(props: NavItemProps): JSX.Element;\nexport function NavItem(props: NavItemAsChildProps): JSX.Element;\nexport function NavItem(props: NavItemProps | NavItemAsChildProps): JSX.Element {\n const {\n asChild,\n active = false,\n children,\n ref,\n class: className,\n match: _match,\n ...rest\n } = props as (NavItemProps | NavItemAsChildProps) & { match?: unknown };\n void _match;\n\n if (asChild) {\n return (\n <LayoutBlock\n asChild\n paddingX=\"sm\"\n paddingY=\"xs\"\n radius=\"md\"\n background={active ? \"selected\" : undefined}\n {...rest}\n ref={ref}\n className={className}\n data-active={active ? \"true\" : undefined}\n data-slot=\"nav-item\"\n >\n {children}\n </LayoutBlock>\n );\n }\n\n return (\n <LayoutBlock\n as=\"a\"\n paddingX=\"sm\"\n paddingY=\"xs\"\n radius=\"md\"\n background={active ? \"selected\" : undefined}\n {...rest}\n ref={ref}\n className={className}\n data-active={active ? \"true\" : undefined}\n data-slot=\"nav-item\"\n >\n {children}\n </LayoutBlock>\n );\n}\n\nexport function NavLink(props: NavLinkProps): JSX.Element {\n return renderRoutedLink(props, \"nav-item\", { activeBackground: true, inheritSlot: true });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"nav.js","names":[],"sources":["../../../src/components/nav/nav.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Slot } from \"@askrjs/askr/foundations\";\nimport { currentRoute, Link, navigate } from \"@askrjs/askr/router\";\nimport { Block } from \"../block\";\nimport { classes } from \"../_internal/classes\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport { intrinsicElement } from \"../_internal/jsx\";\nimport { assertSafeNavigationHref, resolvePathname } from \"../_internal/pathname\";\nimport type {\n NavItemAsChildProps,\n NavItemProps,\n NavLinkProps,\n PillProps,\n PillsAsChildProps,\n PillsProps,\n TabProps,\n TabsAsChildProps,\n TabsProps,\n} from \"./nav.types\";\n\nconst LayoutBlock = Block as (props: Record<string, unknown>) => JSX.Element;\n\nfunction normalizePathname(pathname: string): string {\n return pathname.endsWith(\"/\") && pathname !== \"/\" ? pathname.slice(0, -1) : pathname;\n}\n\nfunction getCurrentPathname(): string | null {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n return normalizePathname(window.location.pathname || \"/\");\n}\n\nfunction getReactiveCurrentPathname(): string | null {\n try {\n return normalizePathname(currentRoute().path || \"/\");\n } catch {\n return getCurrentPathname();\n }\n}\n\nfunction isActiveNavLink(\n currentPathname: string,\n targetPathname: string,\n match: NavLinkProps[\"match\"] = \"prefix\",\n): boolean {\n if (targetPathname === \"/\") {\n return currentPathname === \"/\";\n }\n\n if (match === \"exact\") {\n return currentPathname === targetPathname;\n }\n\n return currentPathname === targetPathname || currentPathname.startsWith(`${targetPathname}/`);\n}\n\nfunction shouldHandleClientNavigation(\n event: MouseEvent,\n target: string | undefined,\n targetPathname: string | null,\n): boolean {\n if (targetPathname === null || target) {\n return false;\n }\n\n return (\n !event.defaultPrevented &&\n (event.button ?? 0) === 0 &&\n !event.altKey &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.shiftKey\n );\n}\n\nfunction renderNavSet(\n props: TabsProps | TabsAsChildProps | PillsProps | PillsAsChildProps,\n slot: \"tabs\" | \"pills\",\n): JSX.Element {\n const className = \"class\" in props ? props.class : undefined;\n const { asChild, children, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(slot, className),\n \"data-slot\": slot,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return intrinsicElement(\"nav\", finalProps, children);\n}\n\nfunction renderRoutedLink(\n props: NavLinkProps | TabProps | PillProps,\n slot: \"nav-item\" | \"tab\" | \"pill\",\n options: { activeBackground?: boolean; className?: string; inheritSlot?: boolean } = {},\n): JSX.Element {\n const {\n active,\n children,\n href: suppliedHref,\n to,\n onPress,\n onClick,\n ref,\n class: className,\n match = \"prefix\",\n target,\n ...rest\n } = props as NavLinkProps & {\n onPress?: (event: Event) => void;\n onClick?: (event: MouseEvent) => void;\n };\n const href = to?.href ?? suppliedHref;\n if (!href) {\n throw new Error(\"Nav link requires href or to.\");\n }\n assertSafeNavigationHref(href);\n const inheritedSlot =\n options.inheritSlot && typeof (rest as Record<string, unknown>)[\"data-slot\"] === \"string\"\n ? String((rest as Record<string, unknown>)[\"data-slot\"])\n : undefined;\n const resolvedSlot = (inheritedSlot ?? slot) as \"nav-item\" | \"tab\" | \"pill\";\n const inheritedNavClass =\n slot === \"nav-item\" && resolvedSlot !== \"nav-item\" ? \"nav-item\" : undefined;\n const { \"data-slot\": _dataSlot, ...childRest } = rest as Record<string, unknown>;\n void _dataSlot;\n const hasDownload = (rest as Record<string, unknown>).download !== undefined;\n const currentPathname = getReactiveCurrentPathname();\n const targetPathname = resolvePathname(href);\n const routeActive =\n currentPathname !== null &&\n targetPathname !== null &&\n isActiveNavLink(currentPathname, targetPathname, match);\n const isActive = active ?? routeActive;\n const activeProps = isActive\n ? {\n \"aria-current\": \"page\" as const,\n \"data-active\": \"true\" as const,\n }\n : {\n \"data-active\": undefined,\n };\n const rendersRouterLink =\n targetPathname !== null &&\n !target &&\n !hasDownload &&\n typeof onClick !== \"function\" &&\n typeof onPress !== \"function\";\n const childProps: NavLinkProps = to\n ? ({ ...childRest, to, target } as NavLinkProps)\n : ({ ...childRest, href, target } as NavLinkProps);\n const handleClick = (event: MouseEvent) => {\n onPress?.(event);\n if (event.defaultPrevented) return;\n onClick?.(event);\n if (hasDownload) return;\n\n if (!shouldHandleClientNavigation(event, target, targetPathname)) {\n return;\n }\n\n event.preventDefault();\n navigate(href);\n };\n\n return (\n <LayoutBlock\n asChild\n paddingX=\"sm\"\n paddingY=\"xs\"\n radius={resolvedSlot === \"pill\" ? \"round\" : \"md\"}\n background={isActive && options.activeBackground ? \"selected\" : undefined}\n ref={ref}\n className={classes(options.className, inheritedNavClass, className)}\n data-slot={resolvedSlot}\n {...activeProps}\n >\n {rendersRouterLink ? (\n <Link {...childProps}>{children}</Link>\n ) : (\n <a {...childRest} href={href} target={target} onClick={handleClick}>\n {children}\n </a>\n )}\n </LayoutBlock>\n );\n}\n\nexport function Tabs(props: TabsProps): JSX.Element;\nexport function Tabs(props: TabsAsChildProps): JSX.Element;\nexport function Tabs(props: TabsProps | TabsAsChildProps): JSX.Element {\n return renderNavSet(props, \"tabs\");\n}\n\nexport function Pills(props: PillsProps): JSX.Element;\nexport function Pills(props: PillsAsChildProps): JSX.Element;\nexport function Pills(props: PillsProps | PillsAsChildProps): JSX.Element {\n return renderNavSet(props, \"pills\");\n}\n\nexport function Tab(props: TabProps): JSX.Element {\n return renderRoutedLink(props, \"tab\", { className: \"tab\" });\n}\n\nexport function Pill(props: PillProps): JSX.Element {\n return renderRoutedLink(props, \"pill\", { activeBackground: true, className: \"pill\" });\n}\n\nexport function NavItem(props: NavItemProps): JSX.Element;\nexport function NavItem(props: NavItemAsChildProps): JSX.Element;\nexport function NavItem(props: NavItemProps | NavItemAsChildProps): JSX.Element {\n const {\n asChild,\n active = false,\n children,\n ref,\n class: className,\n match: _match,\n ...rest\n } = props as (NavItemProps | NavItemAsChildProps) & { match?: unknown };\n void _match;\n\n if (asChild) {\n return (\n <LayoutBlock\n asChild\n paddingX=\"sm\"\n paddingY=\"xs\"\n radius=\"md\"\n background={active ? \"selected\" : undefined}\n {...rest}\n ref={ref}\n className={className}\n data-active={active ? \"true\" : undefined}\n data-slot=\"nav-item\"\n >\n {children}\n </LayoutBlock>\n );\n }\n\n return (\n <LayoutBlock\n as=\"a\"\n paddingX=\"sm\"\n paddingY=\"xs\"\n radius=\"md\"\n background={active ? \"selected\" : undefined}\n {...rest}\n ref={ref}\n className={className}\n data-active={active ? \"true\" : undefined}\n data-slot=\"nav-item\"\n >\n {children}\n </LayoutBlock>\n );\n}\n\nexport function NavLink(props: NavLinkProps): JSX.Element {\n return renderRoutedLink(props, \"nav-item\", { activeBackground: true, inheritSlot: true });\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"navbar.js","names":["DropdownContent"],"sources":["../../../src/components/navbar/navbar.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Dropdown,\n DropdownTrigger,\n} from \"@askrjs/ui\";\nimport { Block } from \"../block\";\nimport { classes } from \"../_internal/classes\";\nimport { isJsxElement, toChildArray } from \"../_internal/jsx\";\nimport { DropdownContent } from \"../overlays/dropdown-content\";\nimport type { NavBrandProps, NavDropdownProps, NavGroupProps, NavbarProps } from \"./navbar.types\";\n\nconst ASKR_FRAGMENT = Symbol.for(\"askr.fragment\");\nconst LayoutBlock = Block as (props: Record<string, unknown>) => JSX.Element;\n\nfunction flattenNavbarChildren(children: unknown): unknown[] {\n return toChildArray(children).flatMap((child) => {\n if (isJsxElement(child) && child.type === ASKR_FRAGMENT) {\n return flattenNavbarChildren(child.props?.children);\n }\n\n return [child];\n });\n}\n\nfunction isNavBrandChild(child: unknown): boolean {\n return (\n isJsxElement(child) && (child.type === NavBrand || child.props?.[\"data-slot\"] === \"nav-brand\")\n );\n}\n\nfunction hasRenderableChildren(children: readonly unknown[]): boolean {\n return children.some((child) => {\n if (Array.isArray(child)) {\n return hasRenderableChildren(child);\n }\n\n return child !== undefined && child !== null && typeof child !== \"boolean\";\n });\n}\n\nexport function Navbar(props: NavbarProps): JSX.Element {\n const {\n breakpoint,\n children,\n collapseAt = breakpoint ?? false,\n collapseIcon,\n collapseLabel = \"Menu\",\n ...rest\n } = props;\n\n if (!collapseAt) {\n return (\n <LayoutBlock\n as=\"nav\"\n direction=\"row\"\n align=\"center\"\n gap=\"md\"\n width=\"full\"\n {...rest}\n data-slot=\"navbar\"\n >\n {children}\n </LayoutBlock>\n );\n }\n\n const navbarChildren = flattenNavbarChildren(children);\n const brandChildren = navbarChildren.filter(isNavBrandChild);\n const navChildren = navbarChildren.filter((child) => !isNavBrandChild(child));\n const hasNavContent = hasRenderableChildren(navChildren);\n const content = (\n <LayoutBlock direction=\"row\" align=\"center\" gap=\"md\" width=\"full\" data-slot=\"navbar-content\">\n {navChildren}\n </LayoutBlock>\n );\n const collapse = hasNavContent ? (\n <div data-slot=\"navbar-collapse\">\n <Collapsible>\n <CollapsibleTrigger aria-label={collapseLabel} data-slot=\"navbar-toggle\">\n {collapseIcon}\n <span data-slot=\"navbar-toggle-label\">{collapseLabel}</span>\n </CollapsibleTrigger>\n <CollapsibleContent forceMount asChild data-slot=\"navbar-content\">\n {content}\n </CollapsibleContent>\n </Collapsible>\n </div>\n ) : null;\n\n return (\n <LayoutBlock\n as=\"nav\"\n direction=\"row\"\n align=\"center\"\n gap=\"md\"\n width=\"full\"\n {...rest}\n data-collapse-at={collapseAt}\n data-slot=\"navbar\"\n >\n {[...brandChildren, collapse]}\n </LayoutBlock>\n );\n}\n\nexport function NavBrand(props: NavBrandProps): JSX.Element {\n const { children, ...rest } = props;\n\n return (\n <LayoutBlock\n direction=\"row\"\n align=\"center\"\n gap=\"sm\"\n shrink={false}\n {...rest}\n data-slot=\"nav-brand\"\n >\n {children}\n </LayoutBlock>\n );\n}\n\nexport function NavGroup(props: NavGroupProps): JSX.Element {\n const { align, children, label, title = label, ...rest } = props;\n\n return (\n <LayoutBlock align={align} gap=\"sm\" {...rest} data-align={align} data-slot=\"nav-group\">\n {title !== undefined ? <div data-slot=\"nav-group-label\">{title}</div> : null}\n <LayoutBlock gap=\"xs\" data-slot=\"nav-group-body\">\n {children}\n </LayoutBlock>\n </LayoutBlock>\n );\n}\n\nexport function NavDropdown(props: NavDropdownProps): JSX.Element {\n const { align = \"end\", children, label, side = \"bottom\", sideOffset = 6, ...rest } = props;\n\n return (\n <LayoutBlock direction=\"row\" align=\"center\" data-slot=\"nav-dropdown\">\n <Dropdown {...rest}>\n <DropdownTrigger class={classes(\"nav-item\")} data-slot=\"nav-dropdown-trigger\">\n {label}\n </DropdownTrigger>\n <DropdownContent\n align={align}\n class={classes(\"dropdown-content\")}\n data-slot=\"nav-dropdown-content\"\n side={side}\n sideOffset={sideOffset}\n >\n {children}\n </DropdownContent>\n </Dropdown>\n </LayoutBlock>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"navbar.js","names":["DropdownContent"],"sources":["../../../src/components/navbar/navbar.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Dropdown,\n DropdownTrigger,\n} from \"@askrjs/ui\";\nimport { Block } from \"../block\";\nimport { classes } from \"../_internal/classes\";\nimport { isJsxElement, toChildArray } from \"../_internal/jsx\";\nimport { DropdownContent } from \"../overlays/dropdown-content\";\nimport type { NavBrandProps, NavDropdownProps, NavGroupProps, NavbarProps } from \"./navbar.types\";\n\nconst ASKR_FRAGMENT = Symbol.for(\"askr.fragment\");\nconst LayoutBlock = Block as (props: Record<string, unknown>) => JSX.Element;\n\nfunction flattenNavbarChildren(children: unknown): unknown[] {\n return toChildArray(children).flatMap((child) => {\n if (isJsxElement(child) && child.type === ASKR_FRAGMENT) {\n return flattenNavbarChildren(child.props?.children);\n }\n\n return [child];\n });\n}\n\nfunction isNavBrandChild(child: unknown): boolean {\n return (\n isJsxElement(child) && (child.type === NavBrand || child.props?.[\"data-slot\"] === \"nav-brand\")\n );\n}\n\nfunction hasRenderableChildren(children: readonly unknown[]): boolean {\n return children.some((child) => {\n if (Array.isArray(child)) {\n return hasRenderableChildren(child);\n }\n\n return child !== undefined && child !== null && typeof child !== \"boolean\";\n });\n}\n\nexport function Navbar(props: NavbarProps): JSX.Element {\n const {\n breakpoint,\n children,\n collapseAt = breakpoint ?? false,\n collapseIcon,\n collapseLabel = \"Menu\",\n ...rest\n } = props;\n\n if (!collapseAt) {\n return (\n <LayoutBlock\n as=\"nav\"\n direction=\"row\"\n align=\"center\"\n gap=\"md\"\n width=\"full\"\n {...rest}\n data-slot=\"navbar\"\n >\n {children}\n </LayoutBlock>\n );\n }\n\n const navbarChildren = flattenNavbarChildren(children);\n const brandChildren = navbarChildren.filter(isNavBrandChild);\n const navChildren = navbarChildren.filter((child) => !isNavBrandChild(child));\n const hasNavContent = hasRenderableChildren(navChildren);\n const content = (\n <LayoutBlock direction=\"row\" align=\"center\" gap=\"md\" width=\"full\" data-slot=\"navbar-content\">\n {navChildren}\n </LayoutBlock>\n );\n const collapse = hasNavContent ? (\n <div data-slot=\"navbar-collapse\">\n <Collapsible>\n <CollapsibleTrigger aria-label={collapseLabel} data-slot=\"navbar-toggle\">\n {collapseIcon}\n <span data-slot=\"navbar-toggle-label\">{collapseLabel}</span>\n </CollapsibleTrigger>\n <CollapsibleContent forceMount asChild data-slot=\"navbar-content\">\n {content}\n </CollapsibleContent>\n </Collapsible>\n </div>\n ) : null;\n\n return (\n <LayoutBlock\n as=\"nav\"\n direction=\"row\"\n align=\"center\"\n gap=\"md\"\n width=\"full\"\n {...rest}\n data-collapse-at={collapseAt}\n data-slot=\"navbar\"\n >\n {[...brandChildren, collapse]}\n </LayoutBlock>\n );\n}\n\nexport function NavBrand(props: NavBrandProps): JSX.Element {\n const { children, ...rest } = props;\n\n return (\n <LayoutBlock\n direction=\"row\"\n align=\"center\"\n gap=\"sm\"\n shrink={false}\n {...rest}\n data-slot=\"nav-brand\"\n >\n {children}\n </LayoutBlock>\n );\n}\n\nexport function NavGroup(props: NavGroupProps): JSX.Element {\n const { align, children, label, title = label, ...rest } = props;\n\n return (\n <LayoutBlock align={align} gap=\"sm\" {...rest} data-align={align} data-slot=\"nav-group\">\n {title !== undefined ? <div data-slot=\"nav-group-label\">{title}</div> : null}\n <LayoutBlock gap=\"xs\" data-slot=\"nav-group-body\">\n {children}\n </LayoutBlock>\n </LayoutBlock>\n );\n}\n\nexport function NavDropdown(props: NavDropdownProps): JSX.Element {\n const { align = \"end\", children, label, side = \"bottom\", sideOffset = 6, ...rest } = props;\n\n return (\n <LayoutBlock direction=\"row\" align=\"center\" data-slot=\"nav-dropdown\">\n <Dropdown {...rest}>\n <DropdownTrigger class={classes(\"nav-item\")} data-slot=\"nav-dropdown-trigger\">\n {label}\n </DropdownTrigger>\n <DropdownContent\n align={align}\n class={classes(\"dropdown-content\")}\n data-slot=\"nav-dropdown-content\"\n side={side}\n sideOffset={sideOffset}\n >\n {children}\n </DropdownContent>\n </Dropdown>\n </LayoutBlock>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-content.js","names":["DropdownContent","UiDropdownContent"],"sources":["../../../src/components/overlays/dropdown-content.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { DropdownContent as UiDropdownContent } from \"@askrjs/ui\";\nimport type { DropdownContentAsChildProps, DropdownContentProps } from \"@askrjs/ui\";\n\ntype DropdownContentBodyProps = {\n render: () => unknown;\n};\n\nfunction DropdownContentBody(props: DropdownContentBodyProps): JSX.Element {\n return <>{props.render()}</>;\n}\n\nexport function DropdownContent(props: DropdownContentProps): JSX.Element | null;\nexport function DropdownContent(props: DropdownContentAsChildProps): JSX.Element | null;\nexport function DropdownContent(\n props: DropdownContentProps | DropdownContentAsChildProps,\n): JSX.Element | null {\n if (\"asChild\" in props && props.asChild) {\n return <UiDropdownContent {...props} />;\n }\n\n const { children, ...rest } = props as DropdownContentProps;\n\n return (\n <UiDropdownContent {...rest}>\n <DropdownContentBody render={() => children} />\n </UiDropdownContent>\n );\n}\n"],"mappings":";;;AAQA,SAAS,oBAAoB,OAA8C;CACzE,OAAO,oBAAA,UAAA,EAAA,UAAG,MAAM,OAAO,EAAI,CAAA;AAC7B;AAIA,SAAgBA,kBACd,OACoB;CACpB,IAAI,aAAa,SAAS,MAAM,SAC9B,OAAO,oBAACC,iBAAD,EAAmB,GAAI,MAAQ,CAAA;CAGxC,MAAM,EAAE,UAAU,GAAG,SAAS;CAE9B,OACE,oBAACA,iBAAD;EAAmB,GAAI;YACrB,oBAAC,qBAAD,EAAqB,cAAc,SAAW,CAAA;CAC7B,CAAA;AAEvB"}
1
+ {"version":3,"file":"dropdown-content.js","names":["DropdownContent","UiDropdownContent"],"sources":["../../../src/components/overlays/dropdown-content.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { DropdownContent as UiDropdownContent } from \"@askrjs/ui\";\nimport type { DropdownContentAsChildProps, DropdownContentProps } from \"@askrjs/ui\";\n\ntype DropdownContentBodyProps = {\n render: () => unknown;\n};\n\nfunction DropdownContentBody(props: DropdownContentBodyProps): JSX.Element {\n return <>{props.render()}</>;\n}\n\nexport function DropdownContent(props: DropdownContentProps): JSX.Element | null;\nexport function DropdownContent(props: DropdownContentAsChildProps): JSX.Element | null;\nexport function DropdownContent(\n props: DropdownContentProps | DropdownContentAsChildProps,\n): JSX.Element | null {\n if (\"asChild\" in props && props.asChild) {\n return <UiDropdownContent {...props} />;\n }\n\n const { children, ...rest } = props as DropdownContentProps;\n\n return (\n <UiDropdownContent {...rest}>\n <DropdownContentBody render={() => children} />\n </UiDropdownContent>\n );\n}\n"],"mappings":";;;AAQA,SAAS,oBAAoB,OAA8C;CACzE,OAAO,oBAAA,UAAA,EAAA,UAAG,MAAM,OAAO,EAAI,CAAA;AAC7B;AAIA,SAAgBA,kBACd,OACoB;CACpB,IAAI,aAAa,SAAS,MAAM,SAC9B,OAAO,oBAACC,iBAAD,EAAmB,GAAI,MAAQ,CAAA;CAGxC,MAAM,EAAE,UAAU,GAAG,SAAS;CAE9B,OACE,oBAACA,iBAAD;EAAmB,GAAI;EACrB,UAAA,oBAAC,qBAAD,EAAqB,cAAc,SAAW,CAAA;CAC7B,CAAA;AAEvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","names":[],"sources":["../../../src/components/page/page.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Block } from \"../block\";\nimport { Container } from \"../container\";\nimport type { PageProps } from \"./page.types\";\n\nexport function Page(props: PageProps): JSX.Element {\n const { children, ...rest } = props;\n\n return (\n <Block as=\"main\" grow {...rest} data-slot=\"page\">\n <Container>\n <Block paddingY=\"xl\" gap=\"lg\">\n {children}\n </Block>\n </Container>\n </Block>\n );\n}\n"],"mappings":";;;;AAKA,SAAgB,KAAK,OAA+B;CAClD,MAAM,EAAE,UAAU,GAAG,SAAS;CAE9B,OACE,oBAAC,OAAD;EAAO,IAAG;EAAO,MAAA;EAAK,GAAI;EAAM,aAAU;YACxC,oBAAC,WAAD,EAAA,UACE,oBAAC,OAAD;GAAO,UAAS;GAAK,KAAI;GACtB;EACI,CAAA,EACE,CAAA;CACN,CAAA;AAEX"}
1
+ {"version":3,"file":"page.js","names":[],"sources":["../../../src/components/page/page.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Block } from \"../block\";\nimport { Container } from \"../container\";\nimport type { PageProps } from \"./page.types\";\n\nexport function Page(props: PageProps): JSX.Element {\n const { children, ...rest } = props;\n\n return (\n <Block as=\"main\" grow {...rest} data-slot=\"page\">\n <Container>\n <Block paddingY=\"xl\" gap=\"lg\">\n {children}\n </Block>\n </Container>\n </Block>\n );\n}\n"],"mappings":";;;;AAKA,SAAgB,KAAK,OAA+B;CAClD,MAAM,EAAE,UAAU,GAAG,SAAS;CAE9B,OACE,oBAAC,OAAD;EAAO,IAAG;EAAO,MAAA;EAAK,GAAI;EAAM,aAAU;EACxC,UAAA,oBAAC,WAAD,EAAA,UACE,oBAAC,OAAD;GAAO,UAAS;GAAK,KAAI;GACtB;EACI,CAAA,EACE,CAAA;CACN,CAAA;AAEX"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-header.js","names":[],"sources":["../../../src/components/page-header/page-header.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Block } from \"../block\";\nimport type { PageHeaderProps } from \"./page-header.types\";\n\nexport function PageHeader(props: PageHeaderProps): JSX.Element {\n const { title, description, actions, ...rest } = props;\n\n return (\n <Block\n rowFrom=\"md\"\n align={{ base: \"start\", md: \"center\" }}\n justify=\"between\"\n gap=\"lg\"\n {...rest}\n data-slot=\"page-header\"\n >\n <Block gap=\"xs\" data-slot=\"page-header-copy\">\n <h1 data-slot=\"page-header-title\">{title}</h1>\n {description !== undefined ? (\n <p data-slot=\"page-header-description\">{description}</p>\n ) : null}\n </Block>\n {actions !== undefined ? (\n <Block direction=\"row\" gap=\"sm\" data-slot=\"page-header-actions\">\n {actions}\n </Block>\n ) : null}\n </Block>\n );\n}\n"],"mappings":";;;AAIA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,OAAO,aAAa,SAAS,GAAG,SAAS;CAEjD,OACE,qBAAC,OAAD;EACE,SAAQ;EACR,OAAO;GAAE,MAAM;GAAS,IAAI;EAAS;EACrC,SAAQ;EACR,KAAI;EACJ,GAAI;EACJ,aAAU;YANZ,CAQE,qBAAC,OAAD;GAAO,KAAI;GAAK,aAAU;aAA1B,CACE,oBAAC,MAAD;IAAI,aAAU;cAAqB;GAAU,CAAA,GAC5C,gBAAgB,KAAA,IACf,oBAAC,KAAD;IAAG,aAAU;cAA2B;GAAe,CAAA,IACrD,IACC;MACN,YAAY,KAAA,IACX,oBAAC,OAAD;GAAO,WAAU;GAAM,KAAI;GAAK,aAAU;aACvC;EACI,CAAA,IACL,IACC;;AAEX"}
1
+ {"version":3,"file":"page-header.js","names":[],"sources":["../../../src/components/page-header/page-header.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Block } from \"../block\";\nimport type { PageHeaderProps } from \"./page-header.types\";\n\nexport function PageHeader(props: PageHeaderProps): JSX.Element {\n const { title, description, actions, ...rest } = props;\n\n return (\n <Block\n rowFrom=\"md\"\n align={{ base: \"start\", md: \"center\" }}\n justify=\"between\"\n gap=\"lg\"\n {...rest}\n data-slot=\"page-header\"\n >\n <Block gap=\"xs\" data-slot=\"page-header-copy\">\n <h1 data-slot=\"page-header-title\">{title}</h1>\n {description !== undefined ? (\n <p data-slot=\"page-header-description\">{description}</p>\n ) : null}\n </Block>\n {actions !== undefined ? (\n <Block direction=\"row\" gap=\"sm\" data-slot=\"page-header-actions\">\n {actions}\n </Block>\n ) : null}\n </Block>\n );\n}\n"],"mappings":";;;AAIA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,OAAO,aAAa,SAAS,GAAG,SAAS;CAEjD,OACE,qBAAC,OAAD;EACE,SAAQ;EACR,OAAO;GAAE,MAAM;GAAS,IAAI;EAAS;EACrC,SAAQ;EACR,KAAI;EACJ,GAAI;EACJ,aAAU;EANZ,UAAA,CAQE,qBAAC,OAAD;GAAO,KAAI;GAAK,aAAU;GAA1B,UAAA,CACE,oBAAC,MAAD;IAAI,aAAU;IAAqB,UAAA;GAAU,CAAA,GAC5C,gBAAgB,KAAA,IACf,oBAAC,KAAD;IAAG,aAAU;IAA2B,UAAA;GAAe,CAAA,IACrD,IACC;EACN,CAAA,GAAA,YAAY,KAAA,IACX,oBAAC,OAAD;GAAO,WAAU;GAAM,KAAI;GAAK,aAAU;GACvC,UAAA;EACI,CAAA,IACL,IACC;;AAEX"}