@refraction-ui/react 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-ZF3OHCGV.js → chunk-2Q6HHFAN.js} +1 -1
- package/dist/chunk-2Q6HHFAN.js.map +7 -0
- package/dist/{chunk-533MCMSU.js → chunk-3I3DYDHR.js} +2 -2
- package/dist/{chunk-NKCWOPNX.js → chunk-3Y2T26QD.js} +9 -7
- package/dist/chunk-3Y2T26QD.js.map +7 -0
- package/dist/{chunk-H54FLNAF.js → chunk-63N4PZUJ.js} +2 -2
- package/dist/{chunk-Y2FNNAIL.js → chunk-EGVPAMQU.js} +2 -2
- package/dist/chunk-EGVPAMQU.js.map +1 -0
- package/dist/{chunk-WK2IIUFO.js → chunk-QDMLIDYN.js} +2 -2
- package/dist/{chunk-BOLFYVI6.js → chunk-QPCKJ2YR.js} +2 -2
- package/dist/{chunk-TOZBR4GL.js → chunk-RSWOLRIC.js} +4 -4
- package/dist/{chunk-TOZBR4GL.js.map → chunk-RSWOLRIC.js.map} +1 -1
- package/dist/{chunk-UNEM2TRI.js → chunk-SDAJVXD4.js} +2 -2
- package/dist/{chunk-VK3EQ34F.js → chunk-V24GDHUX.js} +2 -2
- package/dist/{chunk-AMK4VCBG.js → chunk-WYKPPK3W.js} +2 -2
- package/dist/{chunk-ONACRMG4.js → chunk-XMFNBOPO.js} +2 -2
- package/dist/form.cjs.map +1 -1
- package/dist/form.js +1 -1
- package/dist/index.cjs +579 -38
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/internal/action-list/index.d.ts +39 -0
- package/dist/internal/button/index.d.cts +2 -2
- package/dist/internal/button/index.d.ts +2 -2
- package/dist/internal/card/index.d.cts +5 -1
- package/dist/internal/card/index.d.ts +5 -1
- package/dist/internal/funnel-chart/index.d.ts +60 -0
- package/dist/internal/line-chart/index.d.ts +110 -0
- package/dist/internal/page-header/index.d.ts +35 -0
- package/dist/internal/react-action-list/index.d.ts +28 -0
- package/dist/internal/react-card/index.d.cts +10 -4
- package/dist/internal/react-card/index.d.ts +10 -4
- package/dist/internal/react-funnel-chart/index.d.ts +28 -0
- package/dist/internal/react-line-chart/index.d.ts +33 -0
- package/dist/internal/react-page-header/index.d.ts +23 -0
- package/dist/internal/react-select/index.d.cts +21 -3
- package/dist/internal/react-select/index.d.ts +21 -3
- package/dist/internal/select/index.d.cts +14 -1
- package/dist/internal/select/index.d.ts +14 -1
- package/dist/internal/shared/index.d.cts +6 -3
- package/dist/internal/shared/index.d.ts +6 -3
- package/dist/internal/tabs/index.d.cts +8 -1
- package/dist/internal/tabs/index.d.ts +8 -1
- package/dist/react-accordion.js +1 -1
- package/dist/react-action-list.js +74 -0
- package/dist/react-action-list.js.map +7 -0
- package/dist/react-ai.js +1 -1
- package/dist/react-analytics.js +1 -1
- package/dist/react-animated-text.js +1 -1
- package/dist/react-app-shell.js +1 -1
- package/dist/react-audience-feature-card.js +1 -1
- package/dist/react-audio-room.js +1 -1
- package/dist/react-auth.js +1 -1
- package/dist/react-avatar-group.js +1 -1
- package/dist/react-avatar.js +1 -1
- package/dist/react-badge.js +2 -2
- package/dist/react-badge.js.map +1 -1
- package/dist/react-bottom-nav.js +1 -1
- package/dist/react-brand-network-cell.js +1 -1
- package/dist/react-breadcrumbs.js +1 -1
- package/dist/react-browser-chrome-mock.js +1 -1
- package/dist/react-button.js +3 -3
- package/dist/react-calendar.js +1 -1
- package/dist/react-call-controls.js +1 -1
- package/dist/react-callout.js +8 -3
- package/dist/react-callout.js.map +2 -2
- package/dist/react-card-grid.js +1 -1
- package/dist/react-card.js +5 -5
- package/dist/react-card.js.map +2 -2
- package/dist/react-carousel.js +1 -1
- package/dist/react-charts.js +1 -1
- package/dist/react-checkbox.js +1 -1
- package/dist/react-checklist.js +1 -1
- package/dist/react-code-block.js +1 -1
- package/dist/react-code-editor.js +1 -1
- package/dist/react-collapsible.js +1 -1
- package/dist/react-combobox.js +1 -1
- package/dist/react-command-input.js +1 -1
- package/dist/react-command.js +1 -1
- package/dist/react-composer.js +3 -3
- package/dist/react-content-protection.js +1 -1
- package/dist/react-conversation.js +5 -5
- package/dist/react-cookie-consent.js +1 -1
- package/dist/react-data-table.js +1 -1
- package/dist/react-date-picker.js +1 -1
- package/dist/react-device-frame.js +1 -1
- package/dist/react-dialog.js +2 -2
- package/dist/react-diff-viewer.js +1 -1
- package/dist/react-dropdown-menu.js +1 -1
- package/dist/react-editor-status-bar.js +1 -1
- package/dist/react-editor-tabs.js +1 -1
- package/dist/react-emoji-picker.js +2 -2
- package/dist/react-empty-state.js +1 -1
- package/dist/react-feedback-dialog.js +2 -2
- package/dist/react-file-tree.js +1 -1
- package/dist/react-file-upload.js +1 -1
- package/dist/react-floating-reactions.js +1 -1
- package/dist/react-flow-editor.js +2 -2
- package/dist/react-footer.js +1 -1
- package/dist/react-funnel-chart.js +105 -0
- package/dist/react-funnel-chart.js.map +7 -0
- package/dist/react-graph-view.js +2 -2
- package/dist/react-infinite-canvas.js +2 -2
- package/dist/react-inline-editor.js +1 -1
- package/dist/react-input-group.js +1 -1
- package/dist/react-input.js +2 -2
- package/dist/react-install-prompt.js +1 -1
- package/dist/react-kanban-board.js +1 -1
- package/dist/react-keyboard-shortcut.js +2 -2
- package/dist/react-language-selector.js +1 -1
- package/dist/react-line-chart.js +242 -0
- package/dist/react-line-chart.js.map +7 -0
- package/dist/react-link-card.js +1 -1
- package/dist/react-live-captions.js +1 -1
- package/dist/react-live-cursors.js +1 -1
- package/dist/react-live-transcript.js +1 -1
- package/dist/react-location-selector.js +1 -1
- package/dist/react-logger.js +1 -1
- package/dist/react-markdown-renderer.js +2 -2
- package/dist/react-marquee-strip.js +1 -1
- package/dist/react-mascot.js +1 -1
- package/dist/react-mastery-bar.js +1 -1
- package/dist/react-mini-map.js +1 -1
- package/dist/react-mobile-nav.js +1 -1
- package/dist/react-navbar.js +1 -1
- package/dist/react-numbered-steps.js +1 -1
- package/dist/react-otp-input.js +1 -1
- package/dist/react-page-header.js +40 -0
- package/dist/react-page-header.js.map +7 -0
- package/dist/react-pagination.js +1 -1
- package/dist/react-password-input.js +2 -2
- package/dist/react-payment.js +1 -1
- package/dist/react-popover.js +1 -1
- package/dist/react-pre-call-lobby.js +1 -1
- package/dist/react-presence-indicator.js +1 -1
- package/dist/react-pricing-card.js +1 -1
- package/dist/react-progress-display.js +2 -2
- package/dist/react-progress-display.js.map +1 -1
- package/dist/react-radial-gauge.js +1 -1
- package/dist/react-radio.js +1 -1
- package/dist/react-rating-scale.js +1 -1
- package/dist/react-reaction-bar.js +1 -1
- package/dist/react-resizable-layout.js +1 -1
- package/dist/react-search-bar.js +1 -1
- package/dist/react-section-head.js +1 -1
- package/dist/react-segmented-control.js +1 -1
- package/dist/react-select.js +94 -20
- package/dist/react-select.js.map +3 -3
- package/dist/react-separator.js +1 -1
- package/dist/react-sheet.js +1 -1
- package/dist/react-sidebar.js +1 -1
- package/dist/react-skeleton.js +1 -1
- package/dist/react-skip-to-content.js +1 -1
- package/dist/react-slide-viewer.js +1 -1
- package/dist/react-slider.js +1 -1
- package/dist/react-slot-picker.js +1 -1
- package/dist/react-social-auth-button.js +3 -3
- package/dist/react-sortable-list.js +1 -1
- package/dist/react-stat-grid.js +1 -1
- package/dist/react-status-indicator.js +1 -1
- package/dist/react-steps.js +1 -1
- package/dist/react-sticky-note.js +1 -1
- package/dist/react-switch.js +1 -1
- package/dist/react-table-of-contents.js +1 -1
- package/dist/react-tabs.js +50 -2
- package/dist/react-tabs.js.map +2 -2
- package/dist/react-terminal.js +1 -1
- package/dist/react-test-results.js +1 -1
- package/dist/react-textarea.js +3 -3
- package/dist/react-textarea.js.map +1 -1
- package/dist/react-thread-view.js +2 -2
- package/dist/react-timeline.js +1 -1
- package/dist/react-toast.js +1 -1
- package/dist/react-tooltip.js +1 -1
- package/dist/react-version-selector.js +1 -1
- package/dist/react-video-grid.js +2 -2
- package/dist/react-video-player.js +1 -1
- package/dist/react-video-tile.js +2 -2
- package/dist/react-voice-pill.js +1 -1
- package/dist/react-waveform.js +1 -1
- package/dist/react-wizard.js +1 -1
- package/dist/theme.js +1 -1
- package/package.json +5 -1
- package/dist/chunk-NKCWOPNX.js.map +0 -7
- package/dist/chunk-Y2FNNAIL.js.map +0 -1
- package/dist/chunk-ZF3OHCGV.js.map +0 -7
- /package/dist/{chunk-533MCMSU.js.map → chunk-3I3DYDHR.js.map} +0 -0
- /package/dist/{chunk-H54FLNAF.js.map → chunk-63N4PZUJ.js.map} +0 -0
- /package/dist/{chunk-WK2IIUFO.js.map → chunk-QDMLIDYN.js.map} +0 -0
- /package/dist/{chunk-BOLFYVI6.js.map → chunk-QPCKJ2YR.js.map} +0 -0
- /package/dist/{chunk-UNEM2TRI.js.map → chunk-SDAJVXD4.js.map} +0 -0
- /package/dist/{chunk-VK3EQ34F.js.map → chunk-V24GDHUX.js.map} +0 -0
- /package/dist/{chunk-AMK4VCBG.js.map → chunk-WYKPPK3W.js.map} +0 -0
- /package/dist/{chunk-ONACRMG4.js.map → chunk-XMFNBOPO.js.map} +0 -0
|
@@ -12,6 +12,15 @@ interface SelectProps {
|
|
|
12
12
|
disabled?: boolean;
|
|
13
13
|
open?: boolean;
|
|
14
14
|
name?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Element ids to link trigger and listbox. Adapters should pass ids that
|
|
17
|
+
* are stable across renders (e.g. React `useId`); when omitted, fresh ids
|
|
18
|
+
* are generated on every call.
|
|
19
|
+
*/
|
|
20
|
+
ids?: {
|
|
21
|
+
trigger: string;
|
|
22
|
+
content: string;
|
|
23
|
+
};
|
|
15
24
|
}
|
|
16
25
|
interface SelectAPI {
|
|
17
26
|
/** Trigger element ARIA + keyboard props */
|
|
@@ -65,5 +74,9 @@ declare const selectItemVariants: (props?: ({
|
|
|
65
74
|
} & {
|
|
66
75
|
className?: string;
|
|
67
76
|
}) | undefined) => string;
|
|
77
|
+
/** Positioning context: the listbox floats under the trigger. */
|
|
78
|
+
declare const selectRootClass = "relative";
|
|
79
|
+
/** The selected label inside the trigger; truncates, dims the placeholder. */
|
|
80
|
+
declare const selectValueClass = "truncate text-left data-[placeholder]:text-muted-foreground";
|
|
68
81
|
|
|
69
|
-
export { type SelectAPI, type SelectOption, type SelectProps, createSelect, selectContentVariants, selectItemVariants, selectTokens, selectTriggerVariants };
|
|
82
|
+
export { type SelectAPI, type SelectOption, type SelectProps, createSelect, selectContentVariants, selectItemVariants, selectRootClass, selectTokens, selectTriggerVariants, selectValueClass };
|
|
@@ -12,6 +12,15 @@ interface SelectProps {
|
|
|
12
12
|
disabled?: boolean;
|
|
13
13
|
open?: boolean;
|
|
14
14
|
name?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Element ids to link trigger and listbox. Adapters should pass ids that
|
|
17
|
+
* are stable across renders (e.g. React `useId`); when omitted, fresh ids
|
|
18
|
+
* are generated on every call.
|
|
19
|
+
*/
|
|
20
|
+
ids?: {
|
|
21
|
+
trigger: string;
|
|
22
|
+
content: string;
|
|
23
|
+
};
|
|
15
24
|
}
|
|
16
25
|
interface SelectAPI {
|
|
17
26
|
/** Trigger element ARIA + keyboard props */
|
|
@@ -65,5 +74,9 @@ declare const selectItemVariants: (props?: ({
|
|
|
65
74
|
} & {
|
|
66
75
|
className?: string;
|
|
67
76
|
}) | undefined) => string;
|
|
77
|
+
/** Positioning context: the listbox floats under the trigger. */
|
|
78
|
+
declare const selectRootClass = "relative";
|
|
79
|
+
/** The selected label inside the trigger; truncates, dims the placeholder. */
|
|
80
|
+
declare const selectValueClass = "truncate text-left data-[placeholder]:text-muted-foreground";
|
|
68
81
|
|
|
69
|
-
export { type SelectAPI, type SelectOption, type SelectProps, createSelect, selectContentVariants, selectItemVariants, selectTokens, selectTriggerVariants };
|
|
82
|
+
export { type SelectAPI, type SelectOption, type SelectProps, createSelect, selectContentVariants, selectItemVariants, selectRootClass, selectTokens, selectTriggerVariants, selectValueClass };
|
|
@@ -373,9 +373,12 @@ declare function resetIdCounter(): void;
|
|
|
373
373
|
* Handles conditional classes, arrays, and falsy values.
|
|
374
374
|
* No external dependencies (no clsx, no tailwind-merge).
|
|
375
375
|
*
|
|
376
|
-
*
|
|
377
|
-
*
|
|
378
|
-
*
|
|
376
|
+
* It does NOT resolve Tailwind conflicts: `cn('p-2', 'p-4')` keeps both and
|
|
377
|
+
* the stylesheet order decides. Components therefore keep size-owned
|
|
378
|
+
* utilities (height, text size, padding) out of their cva `base` and only in
|
|
379
|
+
* the matching variant, so a variant prop always wins; a consumer `className`
|
|
380
|
+
* that must beat a component utility can use Tailwind's `!` important
|
|
381
|
+
* modifier (e.g. `!h-7`).
|
|
379
382
|
*/
|
|
380
383
|
type ClassValue = string | number | boolean | undefined | null | ClassValue[];
|
|
381
384
|
type ClassRecord = Record<string, boolean | undefined | null>;
|
|
@@ -373,9 +373,12 @@ declare function resetIdCounter(): void;
|
|
|
373
373
|
* Handles conditional classes, arrays, and falsy values.
|
|
374
374
|
* No external dependencies (no clsx, no tailwind-merge).
|
|
375
375
|
*
|
|
376
|
-
*
|
|
377
|
-
*
|
|
378
|
-
*
|
|
376
|
+
* It does NOT resolve Tailwind conflicts: `cn('p-2', 'p-4')` keeps both and
|
|
377
|
+
* the stylesheet order decides. Components therefore keep size-owned
|
|
378
|
+
* utilities (height, text size, padding) out of their cva `base` and only in
|
|
379
|
+
* the matching variant, so a variant prop always wins; a consumer `className`
|
|
380
|
+
* that must beat a component utility can use Tailwind's `!` important
|
|
381
|
+
* modifier (e.g. `!h-7`).
|
|
379
382
|
*/
|
|
380
383
|
type ClassValue = string | number | boolean | undefined | null | ClassValue[];
|
|
381
384
|
type ClassRecord = Record<string, boolean | undefined | null>;
|
|
@@ -30,6 +30,13 @@ interface TabsAPI {
|
|
|
30
30
|
idPrefix: string;
|
|
31
31
|
}
|
|
32
32
|
declare function createTabs(props?: TabsProps): TabsAPI;
|
|
33
|
+
/**
|
|
34
|
+
* Roving-focus target for a key press inside a tab list (WAI-ARIA Tabs
|
|
35
|
+
* pattern). Given the index of the focused tab among the ENABLED tabs, returns
|
|
36
|
+
* the index to move to, or `null` when the key is not a navigation key for this
|
|
37
|
+
* orientation. Arrow keys wrap; Home/End jump to the ends.
|
|
38
|
+
*/
|
|
39
|
+
declare function getNextTabIndex(current: number, key: string, count: number, orientation?: 'horizontal' | 'vertical'): number | null;
|
|
33
40
|
|
|
34
41
|
declare const tabsListVariants: (props?: ({
|
|
35
42
|
[x: string]: string | undefined;
|
|
@@ -42,4 +49,4 @@ declare const tabsTriggerVariants: (props?: ({
|
|
|
42
49
|
className?: string;
|
|
43
50
|
}) | undefined) => string;
|
|
44
51
|
|
|
45
|
-
export { type TabsAPI, type TabsProps, type TabsState, createTabs, tabsListVariants, tabsTriggerVariants };
|
|
52
|
+
export { type TabsAPI, type TabsProps, type TabsState, createTabs, getNextTabIndex, tabsListVariants, tabsTriggerVariants };
|
|
@@ -30,6 +30,13 @@ interface TabsAPI {
|
|
|
30
30
|
idPrefix: string;
|
|
31
31
|
}
|
|
32
32
|
declare function createTabs(props?: TabsProps): TabsAPI;
|
|
33
|
+
/**
|
|
34
|
+
* Roving-focus target for a key press inside a tab list (WAI-ARIA Tabs
|
|
35
|
+
* pattern). Given the index of the focused tab among the ENABLED tabs, returns
|
|
36
|
+
* the index to move to, or `null` when the key is not a navigation key for this
|
|
37
|
+
* orientation. Arrow keys wrap; Home/End jump to the ends.
|
|
38
|
+
*/
|
|
39
|
+
declare function getNextTabIndex(current: number, key: string, count: number, orientation?: 'horizontal' | 'vertical'): number | null;
|
|
33
40
|
|
|
34
41
|
declare const tabsListVariants: (props?: ({
|
|
35
42
|
[x: string]: string | undefined;
|
|
@@ -42,4 +49,4 @@ declare const tabsTriggerVariants: (props?: ({
|
|
|
42
49
|
className?: string;
|
|
43
50
|
}) | undefined) => string;
|
|
44
51
|
|
|
45
|
-
export { type TabsAPI, type TabsProps, type TabsState, createTabs, tabsListVariants, tabsTriggerVariants };
|
|
52
|
+
export { type TabsAPI, type TabsProps, type TabsState, createTabs, getNextTabIndex, tabsListVariants, tabsTriggerVariants };
|
package/dist/react-accordion.js
CHANGED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn,
|
|
3
|
+
cva
|
|
4
|
+
} from "./chunk-2Q6HHFAN.js";
|
|
5
|
+
|
|
6
|
+
// ../react-action-list/dist/index.js
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
|
|
9
|
+
// ../action-list/dist/index.js
|
|
10
|
+
function createActionListItem(props = {}) {
|
|
11
|
+
const { disabled = false, density = "default" } = props;
|
|
12
|
+
const dataAttributes = {
|
|
13
|
+
"data-slot": "action-list-item",
|
|
14
|
+
"data-density": density
|
|
15
|
+
};
|
|
16
|
+
if (disabled) dataAttributes["data-disabled"] = "";
|
|
17
|
+
const ariaProps = {};
|
|
18
|
+
if (disabled) ariaProps["aria-disabled"] = true;
|
|
19
|
+
return { ariaProps, dataAttributes };
|
|
20
|
+
}
|
|
21
|
+
var actionListClass = "m-0 flex list-none flex-col divide-y divide-border-subtle p-0";
|
|
22
|
+
var actionListItemVariants = cva({
|
|
23
|
+
base: "flex w-full items-center gap-4 bg-transparent text-left text-sm text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
|
|
24
|
+
variants: {
|
|
25
|
+
density: {
|
|
26
|
+
default: "px-4 py-3",
|
|
27
|
+
compact: "px-3 py-2"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
density: "default"
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
var actionListItemBodyClass = "flex min-w-0 flex-1 flex-col gap-0.5";
|
|
35
|
+
var actionListItemTitleClass = "break-words font-semibold text-foreground";
|
|
36
|
+
var actionListItemDescriptionClass = "break-words text-xs text-muted-foreground";
|
|
37
|
+
var actionListItemMetaClass = "break-words text-xs text-muted-foreground";
|
|
38
|
+
var actionListItemTrailingClass = "flex flex-none items-center gap-4 text-xs tabular-nums text-muted-foreground";
|
|
39
|
+
|
|
40
|
+
// ../react-action-list/dist/index.js
|
|
41
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
42
|
+
var ActionList = React.forwardRef(function ActionList2({ className, ...props }, ref) {
|
|
43
|
+
return /* @__PURE__ */ jsx("ul", { ref, className: cn(actionListClass, className), "data-slot": "action-list", ...props });
|
|
44
|
+
});
|
|
45
|
+
var ActionListItem = React.forwardRef(
|
|
46
|
+
function ActionListItem2({ title, description, meta, trailing, density = "default", disabled, className, ...props }, ref) {
|
|
47
|
+
const api = createActionListItem({ disabled, density });
|
|
48
|
+
return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
|
|
49
|
+
"button",
|
|
50
|
+
{
|
|
51
|
+
ref,
|
|
52
|
+
type: "button",
|
|
53
|
+
disabled,
|
|
54
|
+
className: cn(actionListItemVariants({ density }), className),
|
|
55
|
+
...api.ariaProps,
|
|
56
|
+
...api.dataAttributes,
|
|
57
|
+
...props,
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ jsxs("span", { className: actionListItemBodyClass, children: [
|
|
60
|
+
/* @__PURE__ */ jsx("span", { className: actionListItemTitleClass, children: title }),
|
|
61
|
+
description != null && /* @__PURE__ */ jsx("span", { className: actionListItemDescriptionClass, children: description }),
|
|
62
|
+
meta != null && /* @__PURE__ */ jsx("span", { className: actionListItemMetaClass, children: meta })
|
|
63
|
+
] }),
|
|
64
|
+
trailing != null && /* @__PURE__ */ jsx("span", { className: actionListItemTrailingClass, children: trailing })
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
) });
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
export {
|
|
71
|
+
ActionList,
|
|
72
|
+
ActionListItem
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=react-action-list.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../action-list/src/action-list.ts", "../../action-list/src/action-list.styles.ts", "../../react-action-list/src/action-list.tsx"],
|
|
4
|
+
"sourcesContent": ["/** Row padding. */\nexport type ActionListDensity = 'default' | 'compact'\n\nexport interface ActionListItemProps {\n disabled?: boolean\n density?: ActionListDensity\n}\n\nexport interface ActionListItemAPI {\n /** ARIA attributes for the row button. */\n ariaProps: Record<string, string | number | boolean>\n /** Data attributes for styling hooks. */\n dataAttributes: Record<string, string>\n}\n\n/**\n * Build the framework-agnostic props for one ActionList row. Each row is ONE\n * action (open, select, go to) rendered as a native button, so it is reachable\n * by Tab and activated by Enter / Space — unlike a clickable table row.\n */\nexport function createActionListItem(props: ActionListItemProps = {}): ActionListItemAPI {\n const { disabled = false, density = 'default' } = props\n const dataAttributes: Record<string, string> = {\n 'data-slot': 'action-list-item',\n 'data-density': density,\n }\n if (disabled) dataAttributes['data-disabled'] = ''\n const ariaProps: Record<string, string | number | boolean> = {}\n if (disabled) ariaProps['aria-disabled'] = true\n return { ariaProps, dataAttributes }\n}\n", "import { cva } from '@refraction-ui/shared'\n\n/** The list: rows separated by hairlines, no bullets. */\nexport const actionListClass = 'm-0 flex list-none flex-col divide-y divide-border-subtle p-0'\n\n/** A row button: full width, whole row is the hit target. */\nexport const actionListItemVariants = cva({\n base:\n 'flex w-full items-center gap-4 bg-transparent text-left text-sm text-foreground transition-colors ' +\n 'hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring ' +\n 'disabled:pointer-events-none disabled:opacity-50',\n variants: {\n density: {\n default: 'px-4 py-3',\n compact: 'px-3 py-2',\n },\n },\n defaultVariants: {\n density: 'default',\n },\n})\n\n/** Leading text column (title, description, meta). */\nexport const actionListItemBodyClass = 'flex min-w-0 flex-1 flex-col gap-0.5'\n/** Primary line. */\nexport const actionListItemTitleClass = 'break-words font-semibold text-foreground'\n/** Supporting line under the title. */\nexport const actionListItemDescriptionClass = 'break-words text-xs text-muted-foreground'\n/** Tertiary line (owner, tags, ids). */\nexport const actionListItemMetaClass = 'break-words text-xs text-muted-foreground'\n/** Trailing column (dates, sizes, counts). */\nexport const actionListItemTrailingClass =\n 'flex flex-none items-center gap-4 text-xs tabular-nums text-muted-foreground'\n", "import * as React from 'react'\nimport {\n createActionListItem,\n actionListClass,\n actionListItemVariants,\n actionListItemBodyClass,\n actionListItemTitleClass,\n actionListItemDescriptionClass,\n actionListItemMetaClass,\n actionListItemTrailingClass,\n type ActionListDensity,\n} from '@refraction-ui/action-list'\nimport { cn } from '@refraction-ui/shared'\n\nexport type { ActionListDensity }\n\nexport interface ActionListProps extends React.HTMLAttributes<HTMLUListElement> {}\n\n/** ActionList — a vertical list whose rows are each one action. Renders a `<ul>`. */\nexport const ActionList = React.forwardRef<HTMLUListElement, ActionListProps>(function ActionList(\n { className, ...props },\n ref,\n) {\n return <ul ref={ref} className={cn(actionListClass, className)} data-slot=\"action-list\" {...props} />\n})\n\nexport interface ActionListItemProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'title' | 'type'> {\n /** Primary line (required). */\n title: React.ReactNode\n /** Optional supporting line under the title. */\n description?: React.ReactNode\n /** Optional tertiary line (owner, tags, ids). */\n meta?: React.ReactNode\n /** Optional trailing column (dates, sizes, counts). */\n trailing?: React.ReactNode\n /** Row padding. Defaults to `default`. */\n density?: ActionListDensity\n}\n\n/**\n * ActionListItem — one row: an `<li>` holding a full-width native button with\n * a title, optional supporting lines and a trailing column. The ref and all\n * button props go to the button.\n */\nexport const ActionListItem = React.forwardRef<HTMLButtonElement, ActionListItemProps>(\n function ActionListItem(\n { title, description, meta, trailing, density = 'default', disabled, className, ...props },\n ref,\n ) {\n const api = createActionListItem({ disabled, density })\n return (\n <li>\n <button\n ref={ref}\n type=\"button\"\n disabled={disabled}\n className={cn(actionListItemVariants({ density }), className)}\n {...api.ariaProps}\n {...api.dataAttributes}\n {...props}\n >\n <span className={actionListItemBodyClass}>\n <span className={actionListItemTitleClass}>{title}</span>\n {description != null && (\n <span className={actionListItemDescriptionClass}>{description}</span>\n )}\n {meta != null && <span className={actionListItemMetaClass}>{meta}</span>}\n </span>\n {trailing != null && <span className={actionListItemTrailingClass}>{trailing}</span>}\n </button>\n </li>\n )\n },\n)\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;AAoBO,SAAS,qBAAqB,QAA6B,CAAA,GAAuB;AACvF,QAAM,EAAE,WAAW,OAAO,UAAU,UAAA,IAAc;AAClD,QAAM,iBAAyC;IAC7C,aAAa;IACb,gBAAgB;EAAA;AAElB,MAAI,SAAU,gBAAe,eAAe,IAAI;AAChD,QAAM,YAAuD,CAAA;AAC7D,MAAI,SAAU,WAAU,eAAe,IAAI;AAC3C,SAAO,EAAE,WAAW,eAAA;AACtB;AC3BO,IAAM,kBAAkB;AAGxB,IAAM,yBAAyB,IAAI;EACxC,MACE;EAGF,UAAU;IACR,SAAS;MACP,SAAS;MACT,SAAS;IAAA;EACX;EAEF,iBAAiB;IACf,SAAS;EAAA;AAEb,CAAC;AAGM,IAAM,0BAA0B;AAEhC,IAAM,2BAA2B;AAEjC,IAAM,iCAAiC;AAEvC,IAAM,0BAA0B;AAEhC,IAAM,8BACX;;;;ACbK,IAAM,aAAmB,iBAA8C,SAASA,YACrF,EAAE,WAAW,GAAG,MAAA,GAChB,KACA;AACA,SAAO,oBAAC,MAAA,EAAG,KAAU,WAAW,GAAG,iBAAiB,SAAS,GAAG,aAAU,eAAe,GAAG,MAAA,CAAO;AACrG,CAAC;AAqBM,IAAM,iBAAuB;EAClC,SAASC,gBACP,EAAE,OAAO,aAAa,MAAM,UAAU,UAAU,WAAW,UAAU,WAAW,GAAG,MAAA,GACnF,KACA;AACA,UAAM,MAAM,qBAAqB,EAAE,UAAU,QAAA,CAAS;AACtD,WAAA,oBACG,MAAA,EACC,UAAA;MAAC;MAAA;QACC;QACA,MAAK;QACL;QACA,WAAW,GAAG,uBAAuB,EAAE,QAAA,CAAS,GAAG,SAAS;QAC3D,GAAG,IAAI;QACP,GAAG,IAAI;QACP,GAAG;QAEJ,UAAA;UAAA,qBAAC,QAAA,EAAK,WAAW,yBACf,UAAA;YAAA,oBAAC,QAAA,EAAK,WAAW,0BAA2B,UAAA,MAAA,CAAM;YACjD,eAAe,QACd,oBAAC,QAAA,EAAK,WAAW,gCAAiC,UAAA,YAAA,CAAY;YAE/D,QAAQ,QAAQ,oBAAC,QAAA,EAAK,WAAW,yBAA0B,UAAA,KAAA,CAAK;UAAA,EAAA,CACnE;UACC,YAAY,QAAQ,oBAAC,QAAA,EAAK,WAAW,6BAA8B,UAAA,SAAA,CAAS;QAAA;MAAA;IAAA,EAC/E,CACF;EAEJ;AACF;",
|
|
6
|
+
"names": ["ActionList", "ActionListItem"]
|
|
7
|
+
}
|
package/dist/react-ai.js
CHANGED
package/dist/react-analytics.js
CHANGED
package/dist/react-app-shell.js
CHANGED
package/dist/react-audio-room.js
CHANGED
package/dist/react-auth.js
CHANGED
package/dist/react-avatar.js
CHANGED
package/dist/react-badge.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
cn,
|
|
6
6
|
cva
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2Q6HHFAN.js";
|
|
8
8
|
|
|
9
9
|
// ../react-badge/dist/index.js
|
|
10
10
|
import * as React from "react";
|
|
@@ -32,7 +32,7 @@ function createBadge(props = {}) {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
var badgeVariants = cva({
|
|
35
|
-
base: "inline-flex items-center rounded-full border
|
|
35
|
+
base: "inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
36
36
|
variants: {
|
|
37
37
|
variant: {
|
|
38
38
|
default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
|
package/dist/react-badge.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../badge/src/badge.ts", "../../badge/src/badge.styles.ts", "../../react-badge/src/badge.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { AccessibilityProps } from '@refraction-ui/shared'\n\nexport type BadgeVariant =\n | 'default'\n | 'primary'\n | 'secondary'\n | 'destructive'\n | 'outline'\n | 'success'\n | 'warning'\n // Issue #485 — second brand accent + extended status roles.\n | 'tertiary'\n | 'positive'\n | 'caution'\n | 'done'\nexport type BadgeSize = 'sm' | 'md'\n\nexport interface BadgeProps {\n variant?: BadgeVariant\n size?: BadgeSize\n}\n\nexport interface BadgeAPI {\n /** ARIA attributes to spread on the element */\n ariaProps: Partial<AccessibilityProps>\n /** Data attributes for CSS styling hooks */\n dataAttributes: Record<string, string>\n}\n\nconst statusVariants: BadgeVariant[] = [\n 'success',\n 'warning',\n 'destructive',\n 'positive',\n 'caution',\n 'done',\n]\n\n/** Icon name for status badge variants — non-color indicator for colorblind safety */\nconst BADGE_ICONS: Partial<Record<BadgeVariant, string>> = {\n success: 'check',\n warning: 'alert',\n destructive: 'x',\n positive: 'check',\n caution: 'alert',\n done: 'check',\n}\n\n/** Get the icon name for a badge variant (undefined for non-status variants) */\nexport function getBadgeIcon(variant: BadgeVariant): string | undefined {\n return BADGE_ICONS[variant]\n}\n\nexport function createBadge(props: BadgeProps = {}): BadgeAPI {\n const { variant = 'default' } = props\n\n const ariaProps: Partial<AccessibilityProps> = {}\n\n if (statusVariants.includes(variant)) {\n ariaProps.role = 'status'\n }\n\n const dataAttributes: Record<string, string> = {}\n dataAttributes['data-variant'] = variant\n\n return {\n ariaProps,\n dataAttributes,\n }\n}\n", "import { cva } from '@refraction-ui/shared'\n\nexport const badgeVariants = cva({\n base: 'inline-flex items-center rounded-full border
|
|
4
|
+
"sourcesContent": ["import type { AccessibilityProps } from '@refraction-ui/shared'\n\nexport type BadgeVariant =\n | 'default'\n | 'primary'\n | 'secondary'\n | 'destructive'\n | 'outline'\n | 'success'\n | 'warning'\n // Issue #485 — second brand accent + extended status roles.\n | 'tertiary'\n | 'positive'\n | 'caution'\n | 'done'\nexport type BadgeSize = 'sm' | 'md'\n\nexport interface BadgeProps {\n variant?: BadgeVariant\n size?: BadgeSize\n}\n\nexport interface BadgeAPI {\n /** ARIA attributes to spread on the element */\n ariaProps: Partial<AccessibilityProps>\n /** Data attributes for CSS styling hooks */\n dataAttributes: Record<string, string>\n}\n\nconst statusVariants: BadgeVariant[] = [\n 'success',\n 'warning',\n 'destructive',\n 'positive',\n 'caution',\n 'done',\n]\n\n/** Icon name for status badge variants — non-color indicator for colorblind safety */\nconst BADGE_ICONS: Partial<Record<BadgeVariant, string>> = {\n success: 'check',\n warning: 'alert',\n destructive: 'x',\n positive: 'check',\n caution: 'alert',\n done: 'check',\n}\n\n/** Get the icon name for a badge variant (undefined for non-status variants) */\nexport function getBadgeIcon(variant: BadgeVariant): string | undefined {\n return BADGE_ICONS[variant]\n}\n\nexport function createBadge(props: BadgeProps = {}): BadgeAPI {\n const { variant = 'default' } = props\n\n const ariaProps: Partial<AccessibilityProps> = {}\n\n if (statusVariants.includes(variant)) {\n ariaProps.role = 'status'\n }\n\n const dataAttributes: Record<string, string> = {}\n dataAttributes['data-variant'] = variant\n\n return {\n ariaProps,\n dataAttributes,\n }\n}\n", "import { cva } from '@refraction-ui/shared'\n\nexport const badgeVariants = cva({\n base: 'inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n primary: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive: 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80 font-semibold',\n outline: 'text-foreground',\n success: 'border-transparent bg-success text-success-foreground shadow hover:bg-success/80 font-semibold',\n warning: 'border-transparent bg-warning text-warning-foreground shadow hover:bg-warning/80 font-semibold',\n // Second brand accent + extended status roles (issue #485).\n tertiary: 'border-transparent bg-tertiary text-tertiary-foreground shadow hover:bg-tertiary/80 font-semibold',\n positive: 'border-transparent bg-positive text-positive-foreground shadow hover:bg-positive/80 font-semibold',\n caution: 'border-transparent bg-caution text-caution-foreground shadow hover:bg-caution/80 font-semibold',\n done: 'border-transparent bg-done text-info-foreground shadow hover:bg-done/80 font-semibold',\n },\n size: {\n sm: 'px-2 py-0 text-[10px]',\n md: 'px-2.5 py-0.5 text-xs',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n})\n", "import * as React from 'react'\nimport {\n createBadge,\n badgeVariants,\n type BadgeVariant,\n type BadgeSize,\n} from '@refraction-ui/badge'\nimport { cn } from '@refraction-ui/shared'\nimport { Slot } from '@refraction-ui/react-slot'\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {\n variant?: BadgeVariant\n size?: BadgeSize\n /** Merge the badge's classes/props onto the single child element instead of\n * rendering a `<div>` (Radix-style `asChild`) — e.g.\n * `<Badge asChild><a href=\"/x\">…</a></Badge>` for a linked badge. Expects\n * exactly one React element child. */\n asChild?: boolean\n}\n\n/**\n * Badge component — renders a styled badge with variant and size support.\n *\n * Uses the headless @refraction-ui/badge core for state and ARIA attributes.\n * Styling via Tailwind utility classes (no external CSS-in-JS).\n */\nexport const Badge = React.forwardRef<HTMLDivElement, BadgeProps>(\n function Badge({ variant, size, asChild = false, className, children, ...props }, ref) {\n const api = createBadge({ variant, size })\n const classes = cn(badgeVariants({ variant, size }), className)\n\n if (asChild) {\n return (\n <Slot\n ref={ref as React.Ref<HTMLElement>}\n className={classes}\n {...api.ariaProps}\n {...api.dataAttributes}\n {...props}\n >\n {children}\n </Slot>\n )\n }\n\n return (\n <div\n ref={ref}\n className={classes}\n {...api.ariaProps}\n {...api.dataAttributes}\n {...props}\n >\n {children}\n </div>\n )\n },\n)\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;AA6BA,IAAM,iBAAiC;EACrC;EACA;EACA;EACA;EACA;EACA;AACF;AAiBO,SAAS,YAAY,QAAoB,CAAA,GAAc;AAC5D,QAAM,EAAE,UAAU,UAAA,IAAc;AAEhC,QAAM,YAAyC,CAAA;AAE/C,MAAI,eAAe,SAAS,OAAO,GAAG;AACpC,cAAU,OAAO;EACnB;AAEA,QAAM,iBAAyC,CAAA;AAC/C,iBAAe,cAAc,IAAI;AAEjC,SAAO;IACL;IACA;EAAA;AAEJ;ACnEO,IAAM,gBAAgB,IAAI;EAC/B,MAAM;EACN,UAAU;IACR,SAAS;MACP,SAAS;MACT,SAAS;MACT,WAAW;MACX,aAAa;MACb,SAAS;MACT,SAAS;MACT,SAAS;;MAET,UAAU;MACV,UAAU;MACV,SAAS;MACT,MAAM;IAAA;IAER,MAAM;MACJ,IAAI;MACJ,IAAI;IAAA;EACN;EAEF,iBAAiB;IACf,SAAS;IACT,MAAM;EAAA;AAEV,CAAC;;;;ACFM,IAAM,QAAc;EACzB,SAASA,OAAM,EAAE,SAAS,MAAM,UAAU,OAAO,WAAW,UAAU,GAAG,MAAA,GAAS,KAAK;AACrF,UAAM,MAAM,YAAY,EAAE,SAAS,KAAA,CAAM;AACzC,UAAM,UAAU,GAAG,cAAc,EAAE,SAAS,KAAA,CAAM,GAAG,SAAS;AAE9D,QAAI,SAAS;AACX,aACE;QAAC;QAAA;UACC;UACA,WAAW;UACV,GAAG,IAAI;UACP,GAAG,IAAI;UACP,GAAG;UAEH;QAAA;MAAA;IAGP;AAEA,WACE;MAAC;MAAA;QACC;QACA,WAAW;QACV,GAAG,IAAI;QACP,GAAG,IAAI;QACP,GAAG;QAEH;MAAA;IAAA;EAGP;AACF;",
|
|
6
6
|
"names": ["Badge"]
|
|
7
7
|
}
|
package/dist/react-bottom-nav.js
CHANGED
package/dist/react-button.js
CHANGED
|
@@ -2,9 +2,9 @@ import {
|
|
|
2
2
|
Button,
|
|
3
3
|
buttonTokens,
|
|
4
4
|
buttonVariants
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-3Y2T26QD.js";
|
|
6
|
+
import "./chunk-QDMLIDYN.js";
|
|
7
|
+
import "./chunk-2Q6HHFAN.js";
|
|
8
8
|
export {
|
|
9
9
|
Button,
|
|
10
10
|
buttonTokens,
|
package/dist/react-calendar.js
CHANGED
package/dist/react-callout.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
cn,
|
|
6
6
|
cva
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2Q6HHFAN.js";
|
|
8
8
|
|
|
9
9
|
// ../react-callout/dist/index.js
|
|
10
10
|
import * as React from "react";
|
|
@@ -14,7 +14,9 @@ function createCallout(props = {}) {
|
|
|
14
14
|
const ariaProps = {};
|
|
15
15
|
if (props.role) {
|
|
16
16
|
ariaProps.role = props.role;
|
|
17
|
-
} else {
|
|
17
|
+
} else if (props.destructive) {
|
|
18
|
+
ariaProps.role = "alert";
|
|
19
|
+
} else if (props.labelled) {
|
|
18
20
|
ariaProps.role = "region";
|
|
19
21
|
}
|
|
20
22
|
return {
|
|
@@ -60,7 +62,10 @@ var calloutDescriptionVariants = cva({
|
|
|
60
62
|
import { jsx } from "react/jsx-runtime";
|
|
61
63
|
var Callout = React.forwardRef(
|
|
62
64
|
function Callout2({ className, variant, asChild = false, ...props }, ref) {
|
|
63
|
-
const api = createCallout({
|
|
65
|
+
const api = createCallout({
|
|
66
|
+
destructive: variant === "destructive",
|
|
67
|
+
labelled: Boolean(props["aria-label"] || props["aria-labelledby"])
|
|
68
|
+
});
|
|
64
69
|
const classes = cn(calloutVariants({ variant }), className);
|
|
65
70
|
if (asChild) {
|
|
66
71
|
return /* @__PURE__ */ jsx(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../callout/src/callout.ts", "../../callout/src/callout.styles.ts", "../../react-callout/src/callout.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { AccessibilityProps } from '@refraction-ui/shared'\n\nexport interface CalloutProps {\n /**
|
|
5
|
-
"mappings": ";;;;;;;;;;;;
|
|
4
|
+
"sourcesContent": ["import type { AccessibilityProps } from '@refraction-ui/shared'\n\nexport interface CalloutProps {\n /** Explicit role; always wins. */\n role?: string\n /** Destructive callouts are announced (`role=\"alert\"`). */\n destructive?: boolean\n /**\n * Whether the callout has an accessible name (`aria-label` /\n * `aria-labelledby`). Only a named callout becomes a `region` landmark — an\n * unnamed region is an axe violation and landmark noise.\n */\n labelled?: boolean\n}\n\nexport interface CalloutAPI {\n ariaProps: Partial<AccessibilityProps>\n dataAttributes: Record<string, string>\n}\n\nexport function createCallout(props: CalloutProps = {}): CalloutAPI {\n const ariaProps: Partial<AccessibilityProps> = {}\n \n if (props.role) {\n ariaProps.role = props.role\n } else if (props.destructive) {\n ariaProps.role = 'alert'\n } else if (props.labelled) {\n ariaProps.role = 'region'\n }\n\n return {\n ariaProps,\n dataAttributes: { 'data-slot': 'callout' },\n }\n}\n\nexport function createCalloutIcon(): { dataAttributes: Record<string, string> } {\n return { dataAttributes: { 'data-slot': 'callout-icon' } }\n}\n\nexport function createCalloutContent(): { dataAttributes: Record<string, string> } {\n return { dataAttributes: { 'data-slot': 'callout-content' } }\n}\n\nexport function createCalloutTitle(): { dataAttributes: Record<string, string> } {\n return { dataAttributes: { 'data-slot': 'callout-title' } }\n}\n\nexport function createCalloutDescription(): { dataAttributes: Record<string, string> } {\n return { dataAttributes: { 'data-slot': 'callout-description' } }\n}", "import { cva } from '@refraction-ui/shared'\n\nexport const calloutVariants = cva({\n base: 'relative w-full rounded-lg border p-4 text-sm flex gap-3',\n variants: {\n variant: {\n default: 'bg-muted/50 border-border text-foreground',\n destructive: 'bg-destructive/10 border-destructive/20 text-destructive',\n success: 'bg-success/10 border-success/20 text-success',\n warning: 'bg-warning/10 border-warning/20 text-warning',\n info: 'bg-info/10 border-info/20 text-info',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n})\n\nexport const calloutTitleVariants = cva({\n base: 'font-semibold leading-none tracking-tight mb-1',\n})\n\nexport const calloutDescriptionVariants = cva({\n base: 'text-sm opacity-90 leading-relaxed',\n})\n", "import * as React from 'react'\nimport {\n createCallout,\n createCalloutIcon,\n createCalloutContent,\n createCalloutTitle,\n createCalloutDescription,\n calloutVariants,\n calloutTitleVariants,\n calloutDescriptionVariants,\n} from '@refraction-ui/callout'\nimport { cn } from '@refraction-ui/shared'\nimport { Slot } from '@refraction-ui/react-slot'\n\nexport interface CalloutProps extends React.HTMLAttributes<HTMLDivElement> {\n variant?: 'default' | 'destructive' | 'success' | 'warning' | 'info'\n /** Merge the callout's classes/props onto the single child element instead\n * of rendering a `<div>` (Radix-style `asChild`). Expects exactly one React\n * element child. */\n asChild?: boolean\n}\n\nexport const Callout = React.forwardRef<HTMLDivElement, CalloutProps>(\n function Callout({ className, variant, asChild = false, ...props }, ref) {\n const api = createCallout({\n destructive: variant === 'destructive',\n labelled: Boolean(props['aria-label'] || props['aria-labelledby']),\n })\n const classes = cn(calloutVariants({ variant }), className)\n\n if (asChild) {\n return (\n <Slot\n ref={ref as React.Ref<HTMLElement>}\n className={classes}\n {...api.ariaProps}\n {...api.dataAttributes}\n {...props}\n />\n )\n }\n\n return (\n <div\n ref={ref}\n className={classes}\n {...api.ariaProps}\n {...api.dataAttributes}\n {...props}\n />\n )\n },\n)\n\nexport const CalloutIcon = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function CalloutIcon({ className, ...props }, ref) {\n const api = createCalloutIcon()\n return (\n <div\n ref={ref}\n className={cn('flex-shrink-0 mt-0.5', className)}\n {...api.dataAttributes}\n {...props}\n />\n )\n },\n)\n\nexport const CalloutContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function CalloutContent({ className, ...props }, ref) {\n const api = createCalloutContent()\n return (\n <div\n ref={ref}\n className={cn('flex-1', className)}\n {...api.dataAttributes}\n {...props}\n />\n )\n },\n)\n\nexport const CalloutTitle = React.forwardRef<HTMLHeadingElement, React.HTMLAttributes<HTMLHeadingElement>>(\n function CalloutTitle({ className, ...props }, ref) {\n const api = createCalloutTitle()\n return (\n <h5\n ref={ref}\n className={cn(calloutTitleVariants(), className)}\n {...api.dataAttributes}\n {...props}\n />\n )\n },\n)\n\nexport const CalloutDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function CalloutDescription({ className, ...props }, ref) {\n const api = createCalloutDescription()\n return (\n <div\n ref={ref}\n className={cn(calloutDescriptionVariants(), className)}\n {...api.dataAttributes}\n {...props}\n />\n )\n },\n)\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;AAoBO,SAAS,cAAc,QAAsB,CAAA,GAAgB;AAClE,QAAM,YAAyC,CAAA;AAE/C,MAAI,MAAM,MAAM;AACd,cAAU,OAAO,MAAM;EACzB,WAAW,MAAM,aAAa;AAC5B,cAAU,OAAO;EACnB,WAAW,MAAM,UAAU;AACzB,cAAU,OAAO;EACnB;AAEA,SAAO;IACL;IACA,gBAAgB,EAAE,aAAa,UAAA;EAAU;AAE7C;AAEO,SAAS,oBAAgE;AAC9E,SAAO,EAAE,gBAAgB,EAAE,aAAa,eAAA,EAAe;AACzD;AAEO,SAAS,uBAAmE;AACjF,SAAO,EAAE,gBAAgB,EAAE,aAAa,kBAAA,EAAkB;AAC5D;AAEO,SAAS,qBAAiE;AAC/E,SAAO,EAAE,gBAAgB,EAAE,aAAa,gBAAA,EAAgB;AAC1D;AAEO,SAAS,2BAAuE;AACrF,SAAO,EAAE,gBAAgB,EAAE,aAAa,sBAAA,EAAsB;AAChE;ACjDO,IAAM,kBAAkB,IAAI;EACjC,MAAM;EACN,UAAU;IACR,SAAS;MACP,SAAS;MACT,aAAa;MACb,SAAS;MACT,SAAS;MACT,MAAM;IAAA;EACR;EAEF,iBAAiB;IACf,SAAS;EAAA;AAEb,CAAC;AAEM,IAAM,uBAAuB,IAAI;EACtC,MAAM;AACR,CAAC;AAEM,IAAM,6BAA6B,IAAI;EAC5C,MAAM;AACR,CAAC;;;;ACFM,IAAM,UAAgB;EAC3B,SAASA,SAAQ,EAAE,WAAW,SAAS,UAAU,OAAO,GAAG,MAAA,GAAS,KAAK;AACvE,UAAM,MAAM,cAAc;MACxB,aAAa,YAAY;MACzB,UAAU,QAAQ,MAAM,YAAY,KAAK,MAAM,iBAAiB,CAAC;IAAA,CAClE;AACD,UAAM,UAAU,GAAG,gBAAgB,EAAE,QAAA,CAAS,GAAG,SAAS;AAE1D,QAAI,SAAS;AACX,aACE;QAAC;QAAA;UACC;UACA,WAAW;UACV,GAAG,IAAI;UACP,GAAG,IAAI;UACP,GAAG;QAAA;MAAA;IAGV;AAEA,WACE;MAAC;MAAA;QACC;QACA,WAAW;QACV,GAAG,IAAI;QACP,GAAG,IAAI;QACP,GAAG;MAAA;IAAA;EAGV;AACF;AAEO,IAAM,cAAoB;EAC/B,SAASC,aAAY,EAAE,WAAW,GAAG,MAAA,GAAS,KAAK;AACjD,UAAM,MAAM,kBAAA;AACZ,WACE;MAAC;MAAA;QACC;QACA,WAAW,GAAG,wBAAwB,SAAS;QAC9C,GAAG,IAAI;QACP,GAAG;MAAA;IAAA;EAGV;AACF;AAEO,IAAM,iBAAuB;EAClC,SAASC,gBAAe,EAAE,WAAW,GAAG,MAAA,GAAS,KAAK;AACpD,UAAM,MAAM,qBAAA;AACZ,WACE;MAAC;MAAA;QACC;QACA,WAAW,GAAG,UAAU,SAAS;QAChC,GAAG,IAAI;QACP,GAAG;MAAA;IAAA;EAGV;AACF;AAEO,IAAM,eAAqB;EAChC,SAASC,cAAa,EAAE,WAAW,GAAG,MAAA,GAAS,KAAK;AAClD,UAAM,MAAM,mBAAA;AACZ,WACE;MAAC;MAAA;QACC;QACA,WAAW,GAAG,qBAAA,GAAwB,SAAS;QAC9C,GAAG,IAAI;QACP,GAAG;MAAA;IAAA;EAGV;AACF;AAEO,IAAM,qBAA2B;EACtC,SAASC,oBAAmB,EAAE,WAAW,GAAG,MAAA,GAAS,KAAK;AACxD,UAAM,MAAM,yBAAA;AACZ,WACE;MAAC;MAAA;QACC;QACA,WAAW,GAAG,2BAAA,GAA8B,SAAS;QACpD,GAAG,IAAI;QACP,GAAG;MAAA;IAAA;EAGV;AACF;",
|
|
6
6
|
"names": ["Callout", "CalloutIcon", "CalloutContent", "CalloutTitle", "CalloutDescription"]
|
|
7
7
|
}
|
package/dist/react-card-grid.js
CHANGED
package/dist/react-card.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
cn,
|
|
6
6
|
cva
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2Q6HHFAN.js";
|
|
8
8
|
|
|
9
9
|
// ../react-card/dist/index.js
|
|
10
10
|
import * as React from "react";
|
|
@@ -94,9 +94,9 @@ var cardFooterVariants = cva({
|
|
|
94
94
|
// ../react-card/dist/index.js
|
|
95
95
|
import { jsx } from "react/jsx-runtime";
|
|
96
96
|
var Card = React.forwardRef(
|
|
97
|
-
function Card2({ className, variant, asChild = false, ...props }, ref) {
|
|
97
|
+
function Card2({ className, variant, padding, asChild = false, ...props }, ref) {
|
|
98
98
|
const api = createCard();
|
|
99
|
-
const classes = cn(cardVariants({ variant }), className);
|
|
99
|
+
const classes = cn(cardVariants({ variant, padding }), className);
|
|
100
100
|
if (asChild) {
|
|
101
101
|
return /* @__PURE__ */ jsx(
|
|
102
102
|
Slot,
|
|
@@ -136,10 +136,10 @@ var CardHeader = React.forwardRef(
|
|
|
136
136
|
}
|
|
137
137
|
);
|
|
138
138
|
var CardTitle = React.forwardRef(
|
|
139
|
-
function CardTitle2({ className, ...props }, ref) {
|
|
139
|
+
function CardTitle2({ className, as: Heading = "h3", ...props }, ref) {
|
|
140
140
|
const api = createCardTitle();
|
|
141
141
|
return /* @__PURE__ */ jsx(
|
|
142
|
-
|
|
142
|
+
Heading,
|
|
143
143
|
{
|
|
144
144
|
ref,
|
|
145
145
|
className: cn(cardTitleVariants(), className),
|