@orz/ui 0.0.0-stage → 0.0.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/LICENSE +29 -0
- package/README.md +541 -2
- package/dist/components/avatar.d.ts +14 -0
- package/dist/components/avatar.d.ts.map +1 -0
- package/dist/components/avatar.js +23 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.d.ts +10 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/badge.js +26 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/button.d.ts +11 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +40 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/card.d.ts +12 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js +25 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/color-picker.d.ts +58 -0
- package/dist/components/color-picker.d.ts.map +1 -0
- package/dist/components/color-picker.js +950 -0
- package/dist/components/color-picker.js.map +1 -0
- package/dist/components/confirm-dialog.d.ts +26 -0
- package/dist/components/confirm-dialog.d.ts.map +1 -0
- package/dist/components/confirm-dialog.js +18 -0
- package/dist/components/confirm-dialog.js.map +1 -0
- package/dist/components/dialog.d.ts +26 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/dialog.js +149 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +30 -0
- package/dist/components/dropdown-menu.d.ts.map +1 -0
- package/dist/components/dropdown-menu.js +100 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/filter-menu.d.ts +98 -0
- package/dist/components/filter-menu.d.ts.map +1 -0
- package/dist/components/filter-menu.js +745 -0
- package/dist/components/filter-menu.js.map +1 -0
- package/dist/components/highlighted-input.d.ts +40 -0
- package/dist/components/highlighted-input.d.ts.map +1 -0
- package/dist/components/highlighted-input.js +95 -0
- package/dist/components/highlighted-input.js.map +1 -0
- package/dist/components/hover-card.d.ts +7 -0
- package/dist/components/hover-card.d.ts.map +1 -0
- package/dist/components/hover-card.js +22 -0
- package/dist/components/hover-card.js.map +1 -0
- package/dist/components/input.d.ts +4 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/input.js +7 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/label.d.ts +5 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/label.js +8 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/link-chip.d.ts +67 -0
- package/dist/components/link-chip.d.ts.map +1 -0
- package/dist/components/link-chip.js +71 -0
- package/dist/components/link-chip.js.map +1 -0
- package/dist/components/load-failure.d.ts +24 -0
- package/dist/components/load-failure.d.ts.map +1 -0
- package/dist/components/load-failure.js +27 -0
- package/dist/components/load-failure.js.map +1 -0
- package/dist/components/load-more.d.ts +15 -0
- package/dist/components/load-more.d.ts.map +1 -0
- package/dist/components/load-more.js +25 -0
- package/dist/components/load-more.js.map +1 -0
- package/dist/components/media-controls.d.ts +50 -0
- package/dist/components/media-controls.d.ts.map +1 -0
- package/dist/components/media-controls.js +71 -0
- package/dist/components/media-controls.js.map +1 -0
- package/dist/components/popover.d.ts +9 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/popover.js +82 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/query-box.d.ts +78 -0
- package/dist/components/query-box.d.ts.map +1 -0
- package/dist/components/query-box.js +332 -0
- package/dist/components/query-box.js.map +1 -0
- package/dist/components/query-highlight.d.ts +14 -0
- package/dist/components/query-highlight.d.ts.map +1 -0
- package/dist/components/query-highlight.js +132 -0
- package/dist/components/query-highlight.js.map +1 -0
- package/dist/components/select.d.ts +19 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +38 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +5 -0
- package/dist/components/separator.d.ts.map +1 -0
- package/dist/components/separator.js +9 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/sheet.d.ts +16 -0
- package/dist/components/sheet.d.ts.map +1 -0
- package/dist/components/sheet.js +41 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/skeleton.d.ts +3 -0
- package/dist/components/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton.js +7 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.d.ts +8 -0
- package/dist/components/slider.d.ts.map +1 -0
- package/dist/components/slider.js +14 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/sonner.d.ts +4 -0
- package/dist/components/sonner.d.ts.map +1 -0
- package/dist/components/sonner.js +26 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/switch.d.ts +5 -0
- package/dist/components/switch.d.ts.map +1 -0
- package/dist/components/switch.js +8 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.d.ts +11 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/table.js +28 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +8 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +18 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/textarea.d.ts +4 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/textarea.js +7 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/theme-editor/draft.d.ts +235 -0
- package/dist/components/theme-editor/draft.d.ts.map +1 -0
- package/dist/components/theme-editor/draft.js +638 -0
- package/dist/components/theme-editor/draft.js.map +1 -0
- package/dist/components/theme-editor/export-panel.d.ts +14 -0
- package/dist/components/theme-editor/export-panel.d.ts.map +1 -0
- package/dist/components/theme-editor/export-panel.js +39 -0
- package/dist/components/theme-editor/export-panel.js.map +1 -0
- package/dist/components/theme-editor/form.d.ts +69 -0
- package/dist/components/theme-editor/form.d.ts.map +1 -0
- package/dist/components/theme-editor/form.js +350 -0
- package/dist/components/theme-editor/form.js.map +1 -0
- package/dist/components/theme-editor/import-panel.d.ts +21 -0
- package/dist/components/theme-editor/import-panel.d.ts.map +1 -0
- package/dist/components/theme-editor/import-panel.js +117 -0
- package/dist/components/theme-editor/import-panel.js.map +1 -0
- package/dist/components/theme-editor/theme-list.d.ts +23 -0
- package/dist/components/theme-editor/theme-list.d.ts.map +1 -0
- package/dist/components/theme-editor/theme-list.js +42 -0
- package/dist/components/theme-editor/theme-list.js.map +1 -0
- package/dist/components/theme-editor/token-list.d.ts +30 -0
- package/dist/components/theme-editor/token-list.d.ts.map +1 -0
- package/dist/components/theme-editor/token-list.js +124 -0
- package/dist/components/theme-editor/token-list.js.map +1 -0
- package/dist/components/theme-editor/tokens.d.ts +37 -0
- package/dist/components/theme-editor/tokens.d.ts.map +1 -0
- package/dist/components/theme-editor/tokens.js +155 -0
- package/dist/components/theme-editor/tokens.js.map +1 -0
- package/dist/components/theme-editor.d.ts +26 -0
- package/dist/components/theme-editor.d.ts.map +1 -0
- package/dist/components/theme-editor.js +467 -0
- package/dist/components/theme-editor.js.map +1 -0
- package/dist/components/theme-menu.d.ts +28 -0
- package/dist/components/theme-menu.d.ts.map +1 -0
- package/dist/components/theme-menu.js +308 -0
- package/dist/components/theme-menu.js.map +1 -0
- package/dist/components/tooltip.d.ts +11 -0
- package/dist/components/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip.js +18 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/unsaved-changes-dialog.d.ts +39 -0
- package/dist/components/unsaved-changes-dialog.d.ts.map +1 -0
- package/dist/components/unsaved-changes-dialog.js +46 -0
- package/dist/components/unsaved-changes-dialog.js.map +1 -0
- package/dist/hooks/scroll-insets.d.ts +89 -0
- package/dist/hooks/scroll-insets.d.ts.map +1 -0
- package/dist/hooks/scroll-insets.js +265 -0
- package/dist/hooks/scroll-insets.js.map +1 -0
- package/dist/hooks/use-element-height.d.ts +11 -0
- package/dist/hooks/use-element-height.d.ts.map +1 -0
- package/dist/hooks/use-element-height.js +33 -0
- package/dist/hooks/use-element-height.js.map +1 -0
- package/dist/hooks/use-media-query.d.ts +22 -0
- package/dist/hooks/use-media-query.d.ts.map +1 -0
- package/dist/hooks/use-media-query.js +38 -0
- package/dist/hooks/use-media-query.js.map +1 -0
- package/dist/hooks/use-overlay-scrollbars.d.ts +31 -0
- package/dist/hooks/use-overlay-scrollbars.d.ts.map +1 -0
- package/dist/hooks/use-overlay-scrollbars.js +80 -0
- package/dist/hooks/use-overlay-scrollbars.js.map +1 -0
- package/dist/hooks/use-paged-append.d.ts +7 -0
- package/dist/hooks/use-paged-append.d.ts.map +1 -0
- package/dist/hooks/use-paged-append.js +53 -0
- package/dist/hooks/use-paged-append.js.map +1 -0
- package/dist/hooks/use-query-completion.d.ts +27 -0
- package/dist/hooks/use-query-completion.d.ts.map +1 -0
- package/dist/hooks/use-query-completion.js +100 -0
- package/dist/hooks/use-query-completion.js.map +1 -0
- package/dist/hooks/use-slash-shortcut.d.ts +9 -0
- package/dist/hooks/use-slash-shortcut.d.ts.map +1 -0
- package/dist/hooks/use-slash-shortcut.js +38 -0
- package/dist/hooks/use-slash-shortcut.js.map +1 -0
- package/dist/hooks/viewport-chrome.d.ts +50 -0
- package/dist/hooks/viewport-chrome.d.ts.map +1 -0
- package/dist/hooks/viewport-chrome.js +170 -0
- package/dist/hooks/viewport-chrome.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/cell-width-table.d.ts +3 -0
- package/dist/lib/cell-width-table.d.ts.map +1 -0
- package/dist/lib/cell-width-table.js +6 -0
- package/dist/lib/cell-width-table.js.map +1 -0
- package/dist/lib/cell-width.d.ts +7 -0
- package/dist/lib/cell-width.d.ts.map +1 -0
- package/dist/lib/cell-width.js +50 -0
- package/dist/lib/cell-width.js.map +1 -0
- package/dist/lib/clipboard.d.ts +8 -0
- package/dist/lib/clipboard.d.ts.map +1 -0
- package/dist/lib/clipboard.js +19 -0
- package/dist/lib/clipboard.js.map +1 -0
- package/dist/lib/color.d.ts +40 -0
- package/dist/lib/color.d.ts.map +1 -0
- package/dist/lib/color.js +177 -0
- package/dist/lib/color.js.map +1 -0
- package/dist/lib/scroll-map.d.ts +20 -0
- package/dist/lib/scroll-map.d.ts.map +1 -0
- package/dist/lib/scroll-map.js +46 -0
- package/dist/lib/scroll-map.js.map +1 -0
- package/dist/lib/text-metrics.d.ts +33 -0
- package/dist/lib/text-metrics.d.ts.map +1 -0
- package/dist/lib/text-metrics.js +89 -0
- package/dist/lib/text-metrics.js.map +1 -0
- package/dist/lib/theme-file.d.ts +51 -0
- package/dist/lib/theme-file.d.ts.map +1 -0
- package/dist/lib/theme-file.js +511 -0
- package/dist/lib/theme-file.js.map +1 -0
- package/dist/lib/unsaved-guard.d.ts +33 -0
- package/dist/lib/unsaved-guard.d.ts.map +1 -0
- package/dist/lib/unsaved-guard.js +37 -0
- package/dist/lib/unsaved-guard.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/theme/custom.d.ts +8 -0
- package/dist/theme/custom.d.ts.map +1 -0
- package/dist/theme/custom.js +56 -0
- package/dist/theme/custom.js.map +1 -0
- package/dist/theme/index.d.ts +6 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +5 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/paint-guard.d.ts +20 -0
- package/dist/theme/paint-guard.d.ts.map +1 -0
- package/dist/theme/paint-guard.js +120 -0
- package/dist/theme/paint-guard.js.map +1 -0
- package/dist/theme/picks.d.ts +22 -0
- package/dist/theme/picks.d.ts.map +1 -0
- package/dist/theme/picks.js +43 -0
- package/dist/theme/picks.js.map +1 -0
- package/dist/theme/pref.d.ts +39 -0
- package/dist/theme/pref.d.ts.map +1 -0
- package/dist/theme/pref.js +129 -0
- package/dist/theme/pref.js.map +1 -0
- package/dist/theme/provider.d.ts +41 -0
- package/dist/theme/provider.d.ts.map +1 -0
- package/dist/theme/provider.js +103 -0
- package/dist/theme/provider.js.map +1 -0
- package/dist/theme/store.d.ts +104 -0
- package/dist/theme/store.d.ts.map +1 -0
- package/dist/theme/store.js +509 -0
- package/dist/theme/store.js.map +1 -0
- package/package.json +94 -3
- package/styles.css +79 -0
- package/theme.css +186 -0
- package/vendor/shadcn-tailwind.css +664 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-menu.js","sourceRoot":"","sources":["../../src/components/filter-menu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ComponentProps, ReactNode, RefObject } from "react";
|
|
2
|
+
/** Where the caret is: an offset in the string. */
|
|
3
|
+
export type CaretPosition = {
|
|
4
|
+
caret: number;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* A one-line input that shows its own text through a mirror layer, so the
|
|
8
|
+
* text can be coloured while the input keeps being an input (T-262).
|
|
9
|
+
*
|
|
10
|
+
* The border and background belong to the wrapper; the mirror draws the
|
|
11
|
+
* coloured text inside it; the input lies on top with no background and no
|
|
12
|
+
* text colour, contributing only its caret and its selection. That order is
|
|
13
|
+
* what keeps native selection, undo, IME composition, autofill and every
|
|
14
|
+
* keyboard behaviour intact — a `contenteditable` or an array of chips would
|
|
15
|
+
* have to reimplement all of them, and Chinese composition is exactly where
|
|
16
|
+
* such reimplementations fail.
|
|
17
|
+
*
|
|
18
|
+
* This component does not know what a qualifier is. It takes the string and a
|
|
19
|
+
* function that draws it, and reports where the caret is; what the colours
|
|
20
|
+
* mean belongs to the caller.
|
|
21
|
+
*
|
|
22
|
+
* While an IME is composing, the two layers trade places: the input's own
|
|
23
|
+
* text becomes visible and the mirror keeps only its backgrounds. Pre-commit
|
|
24
|
+
* text — the underlined candidate an IME shows before it is chosen — is drawn
|
|
25
|
+
* by the browser inside the input, and a transparent input would swallow it.
|
|
26
|
+
* For anyone typing Chinese, Japanese or Korean this is the common path, not
|
|
27
|
+
* an edge.
|
|
28
|
+
*/
|
|
29
|
+
export declare function HighlightedInput({ value, onValueChange, render, onCaretChange, inputRef, padding, className, ...rest }: Omit<ComponentProps<"input">, "value" | "onChange" | "children"> & {
|
|
30
|
+
value: string;
|
|
31
|
+
onValueChange: (next: string) => void;
|
|
32
|
+
/** The same characters as `value`, in spans. Never a different string. */
|
|
33
|
+
render: (value: string) => ReactNode;
|
|
34
|
+
/** Where the caret is, after anything that could have moved it. */
|
|
35
|
+
onCaretChange?: (position: CaretPosition) => void;
|
|
36
|
+
inputRef?: RefObject<HTMLInputElement | null>;
|
|
37
|
+
/** Extra padding, applied to both layers so they keep measuring alike. */
|
|
38
|
+
padding?: string;
|
|
39
|
+
}): import("react").JSX.Element;
|
|
40
|
+
//# sourceMappingURL=highlighted-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlighted-input.d.ts","sourceRoot":"","sources":["../../src/components/highlighted-input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlE,mDAAmD;AACnD,MAAM,MAAM,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAW9C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,aAAa,EACb,MAAM,EACN,aAAa,EACb,QAAQ,EACR,OAAO,EACP,SAAS,EACT,GAAG,IAAI,EACR,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,0EAA0E;IAC1E,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACrC,mEAAmE;IACnE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC9C,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,+BAmHA"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useLayoutEffect, useRef, useState } from "react";
|
|
3
|
+
import { cn } from "../lib/utils.js";
|
|
4
|
+
/**
|
|
5
|
+
* Everything that decides where a glyph lands, worn by both layers. They have
|
|
6
|
+
* to measure identically — the mirror is painted under a transparent input,
|
|
7
|
+
* and one pixel of drift puts the caret beside the character it is standing
|
|
8
|
+
* on rather than on it. Nothing here may differ between the two, and no span
|
|
9
|
+
* inside the mirror may add width of its own.
|
|
10
|
+
*/
|
|
11
|
+
const METRICS = "px-2.5 py-1 text-base md:text-sm";
|
|
12
|
+
/**
|
|
13
|
+
* A one-line input that shows its own text through a mirror layer, so the
|
|
14
|
+
* text can be coloured while the input keeps being an input (T-262).
|
|
15
|
+
*
|
|
16
|
+
* The border and background belong to the wrapper; the mirror draws the
|
|
17
|
+
* coloured text inside it; the input lies on top with no background and no
|
|
18
|
+
* text colour, contributing only its caret and its selection. That order is
|
|
19
|
+
* what keeps native selection, undo, IME composition, autofill and every
|
|
20
|
+
* keyboard behaviour intact — a `contenteditable` or an array of chips would
|
|
21
|
+
* have to reimplement all of them, and Chinese composition is exactly where
|
|
22
|
+
* such reimplementations fail.
|
|
23
|
+
*
|
|
24
|
+
* This component does not know what a qualifier is. It takes the string and a
|
|
25
|
+
* function that draws it, and reports where the caret is; what the colours
|
|
26
|
+
* mean belongs to the caller.
|
|
27
|
+
*
|
|
28
|
+
* While an IME is composing, the two layers trade places: the input's own
|
|
29
|
+
* text becomes visible and the mirror keeps only its backgrounds. Pre-commit
|
|
30
|
+
* text — the underlined candidate an IME shows before it is chosen — is drawn
|
|
31
|
+
* by the browser inside the input, and a transparent input would swallow it.
|
|
32
|
+
* For anyone typing Chinese, Japanese or Korean this is the common path, not
|
|
33
|
+
* an edge.
|
|
34
|
+
*/
|
|
35
|
+
export function HighlightedInput({ value, onValueChange, render, onCaretChange, inputRef, padding, className, ...rest }) {
|
|
36
|
+
const own = useRef(null);
|
|
37
|
+
const input = inputRef ?? own;
|
|
38
|
+
const [scroll, setScroll] = useState(0);
|
|
39
|
+
const [composing, setComposing] = useState(false);
|
|
40
|
+
const reported = useRef({ caret: 0 });
|
|
41
|
+
const report = () => {
|
|
42
|
+
const el = input.current;
|
|
43
|
+
if (el === null)
|
|
44
|
+
return;
|
|
45
|
+
setScroll(el.scrollLeft);
|
|
46
|
+
const caret = el.selectionStart ?? el.value.length;
|
|
47
|
+
// Only on a real change: this also runs after every render, and handing
|
|
48
|
+
// the caller a fresh object each time would spin it.
|
|
49
|
+
if (reported.current.caret === caret)
|
|
50
|
+
return;
|
|
51
|
+
reported.current = { caret };
|
|
52
|
+
onCaretChange?.(reported.current);
|
|
53
|
+
};
|
|
54
|
+
// No dependency list, deliberately: the browser moves `scrollLeft` as the
|
|
55
|
+
// value and the caret change, and the render that follows was queued
|
|
56
|
+
// before it did. `report` bails when nothing actually moved.
|
|
57
|
+
useLayoutEffect(report);
|
|
58
|
+
return (_jsxs("div", { className: cn("relative h-8 rounded-lg border border-input bg-transparent transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 dark:bg-input/30", className), children: [_jsx("div", { "aria-hidden": true, className: cn(
|
|
59
|
+
// `items-center` because that is what an input does with its single
|
|
60
|
+
// line, and a block layout would sit it at the top instead.
|
|
61
|
+
"pointer-events-none absolute inset-0 flex items-center",
|
|
62
|
+
// Reaching into the spans, because each one sets its own colour and
|
|
63
|
+
// a colour on the parent would lose to it.
|
|
64
|
+
composing && "[&_span]:text-transparent", METRICS, padding), children: _jsx("div", { className: "min-w-0 flex-1 overflow-hidden", children: _jsx("span", { className: "block w-max whitespace-pre", style: { transform: `translateX(${-scroll}px)` }, children: render(value) }) }) }), _jsx("input", { ...rest, ref: input, value: value, onChange: (e) => {
|
|
65
|
+
onValueChange(e.target.value);
|
|
66
|
+
report();
|
|
67
|
+
}, onScroll: (e) => {
|
|
68
|
+
report();
|
|
69
|
+
rest.onScroll?.(e);
|
|
70
|
+
}, onSelect: (e) => {
|
|
71
|
+
report();
|
|
72
|
+
rest.onSelect?.(e);
|
|
73
|
+
}, onKeyUp: (e) => {
|
|
74
|
+
report();
|
|
75
|
+
rest.onKeyUp?.(e);
|
|
76
|
+
}, onClick: (e) => {
|
|
77
|
+
report();
|
|
78
|
+
rest.onClick?.(e);
|
|
79
|
+
}, onFocus: (e) => {
|
|
80
|
+
report();
|
|
81
|
+
rest.onFocus?.(e);
|
|
82
|
+
}, onCompositionStart: (e) => {
|
|
83
|
+
setComposing(true);
|
|
84
|
+
rest.onCompositionStart?.(e);
|
|
85
|
+
}, onCompositionEnd: (e) => {
|
|
86
|
+
setComposing(false);
|
|
87
|
+
rest.onCompositionEnd?.(e);
|
|
88
|
+
}, className: cn("relative h-full w-full min-w-0 bg-transparent caret-foreground outline-none placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", composing ? "text-foreground" : "text-transparent",
|
|
89
|
+
// Translucent, or the selection paints over the mirror and the
|
|
90
|
+
// reader loses sight of the very text they are selecting.
|
|
91
|
+
"selection:bg-primary/30", composing
|
|
92
|
+
? "selection:text-foreground"
|
|
93
|
+
: "selection:text-transparent", METRICS, padding) })] }));
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=highlighted-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlighted-input.js","sourceRoot":"","sources":["../../src/components/highlighted-input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HoverCard as HoverCardPrimitive } from "radix-ui";
|
|
2
|
+
import type * as React from "react";
|
|
3
|
+
declare function HoverCard({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function HoverCardTrigger({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>): React.JSX.Element;
|
|
5
|
+
declare function HoverCardContent({ className, align, sideOffset, collisionPadding, ...props }: React.ComponentProps<typeof HoverCardPrimitive.Content>): React.JSX.Element;
|
|
6
|
+
export { HoverCard, HoverCardContent, HoverCardTrigger };
|
|
7
|
+
//# sourceMappingURL=hover-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hover-card.d.ts","sourceRoot":"","sources":["../../src/components/hover-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,iBAAS,SAAS,CAAC,EACjB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,qBAEtD;AAED,iBAAS,gBAAgB,CAAC,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,qBAIzD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,KAAe,EACf,UAAc,EAId,gBAAoB,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,qBAmBzD;AAED,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { HoverCard as HoverCardPrimitive } from "radix-ui";
|
|
3
|
+
import { cn } from "../lib/utils.js";
|
|
4
|
+
function HoverCard({ ...props }) {
|
|
5
|
+
return _jsx(HoverCardPrimitive.Root, { "data-slot": "hover-card", ...props });
|
|
6
|
+
}
|
|
7
|
+
function HoverCardTrigger({ ...props }) {
|
|
8
|
+
return (_jsx(HoverCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props }));
|
|
9
|
+
}
|
|
10
|
+
function HoverCardContent({ className, align = "start", sideOffset = 4,
|
|
11
|
+
// As PopoverContent and DropdownMenuContent do. Without it the available
|
|
12
|
+
// width runs to the viewport's own edge, which a 448px card then sits flush
|
|
13
|
+
// against on a narrow screen.
|
|
14
|
+
collisionPadding = 8, ...props }) {
|
|
15
|
+
return (_jsx(HoverCardPrimitive.Portal, { children: _jsx(HoverCardPrimitive.Content, { "data-slot": "hover-card-content", align: align, sideOffset: sideOffset, collisionPadding: collisionPadding,
|
|
16
|
+
// `collisionPadding` moves a card, it cannot shrink one, so the fixed
|
|
17
|
+
// `w-[28rem]` needs the cap beside it to survive a 390px viewport;
|
|
18
|
+
// Radix has already deducted the padding from that variable.
|
|
19
|
+
className: cn("z-50 w-[28rem] max-w-(--radix-hover-card-content-available-width) origin-(--radix-hover-card-content-transform-origin) rounded-lg border bg-popover p-3 text-popover-foreground shadow-lg ring-1 ring-foreground/5 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props }) }));
|
|
20
|
+
}
|
|
21
|
+
export { HoverCard, HoverCardContent, HoverCardTrigger };
|
|
22
|
+
//# sourceMappingURL=hover-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hover-card.js","sourceRoot":"","sources":["../../src/components/hover-card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,SAAS,SAAS,CAAC,EACjB,GAAG,KAAK,EAC6C;IACrD,OAAO,KAAC,kBAAkB,CAAC,IAAI,iBAAW,YAAY,KAAK,KAAK,GAAI,CAAC;AACvE,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,GAAG,KAAK,EACgD;IACxD,OAAO,CACL,KAAC,kBAAkB,CAAC,OAAO,iBAAW,oBAAoB,KAAK,KAAK,GAAI,CACzE,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,KAAK,GAAG,OAAO,EACf,UAAU,GAAG,CAAC;AACd,yEAAyE;AACzE,4EAA4E;AAC5E,8BAA8B;AAC9B,gBAAgB,GAAG,CAAC,EACpB,GAAG,KAAK,EACgD;IACxD,OAAO,CACL,KAAC,kBAAkB,CAAC,MAAM,cACxB,KAAC,kBAAkB,CAAC,OAAO,iBACf,oBAAoB,EAC9B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB;YAClC,sEAAsE;YACtE,mEAAmE;YACnE,6DAA6D;YAC7D,SAAS,EAAE,EAAE,CACX,+gBAA+gB,EAC/gB,SAAS,CACV,KACG,KAAK,GACT,GACwB,CAC7B,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAY1E;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/utils.js";
|
|
3
|
+
function Input({ className, type, ...props }) {
|
|
4
|
+
return (_jsx("input", { type: type, "data-slot": "input", className: cn("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className), ...props }));
|
|
5
|
+
}
|
|
6
|
+
export { Input };
|
|
7
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAiC;IACzE,OAAO,CACL,gBACE,IAAI,EAAE,IAAI,eACA,OAAO,EACjB,SAAS,EAAE,EAAE,CACX,6oBAA6oB,EAC7oB,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,qBAWlD;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Label as LabelPrimitive } from "radix-ui";
|
|
3
|
+
import { cn } from "../lib/utils.js";
|
|
4
|
+
function Label({ className, ...props }) {
|
|
5
|
+
return (_jsx(LabelPrimitive.Root, { "data-slot": "label", className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }));
|
|
6
|
+
}
|
|
7
|
+
export { Label };
|
|
8
|
+
//# sourceMappingURL=label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAGnD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,SAAS,KAAK,CAAC,EACb,SAAS,EACT,GAAG,KAAK,EACyC;IACjD,OAAO,CACL,KAAC,cAAc,CAAC,IAAI,iBACR,OAAO,EACjB,SAAS,EAAE,EAAE,CACX,qNAAqN,EACrN,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* `.markdown-body a` underlines every link, and a border saying "clickable"
|
|
4
|
+
* on top of an underline says it twice; hover takes over what the underline
|
|
5
|
+
* was for. The utilities layer is emitted after the components layer that
|
|
6
|
+
* rule lives in, so `no-underline` wins without a specificity fight.
|
|
7
|
+
*/
|
|
8
|
+
export declare const RICH_CHIP_SKIN = "rounded-sm border bg-muted/40 px-[0.3em] py-px no-underline hover:border-ring hover:bg-muted focus-visible:outline-1 focus-visible:outline-offset-1 focus-visible:outline-ring";
|
|
9
|
+
/**
|
|
10
|
+
* `items-baseline` is what puts the chip's label baseline on the paragraph's:
|
|
11
|
+
* every child then shares one baseline, and the container reports it as its
|
|
12
|
+
* own. Measured at 1024px and 390px, the label sits 0.00px off the
|
|
13
|
+
* surrounding text; `align-items: center` or the flex default puts it 2.39px
|
|
14
|
+
* out.
|
|
15
|
+
*
|
|
16
|
+
* `leading-[1.2]` is how tall the chip is drawn. Against the body's 1.6 it
|
|
17
|
+
* has room to spare, and vscode's 1.25 does not — that one overruns the line
|
|
18
|
+
* by 0.11px.
|
|
19
|
+
*
|
|
20
|
+
* `-my-[2px]` is how tall the line has to think it is. The drawn box is
|
|
21
|
+
* `1.2em` plus RICH_CHIP_SKIN's `border` and `py-px`, and a heading's line is
|
|
22
|
+
* `1.25em`, so leading alone only fits wherever `4px` is under `0.05em` —
|
|
23
|
+
* every heading under 80px was 2.59–3.13px taller than its chipless
|
|
24
|
+
* neighbour (T-498). A line box measures an atomic inline by its margin box,
|
|
25
|
+
* so giving those 4px back as margin is what the line reads, while the
|
|
26
|
+
* border box still paints where the baseline puts it: unchanged at the
|
|
27
|
+
* body's 22.39px, and T-460's 0.00px label baseline with it. The 2px is the
|
|
28
|
+
* skin's own border and padding per side, so neither may move without this
|
|
29
|
+
* following.
|
|
30
|
+
*/
|
|
31
|
+
export declare const RICH_CHIP_STRUCTURE = "inline-flex max-w-full items-baseline gap-[0.24em] align-baseline -my-[2px] leading-[1.2] whitespace-nowrap";
|
|
32
|
+
/**
|
|
33
|
+
* `self-center` sits the icon beside the text rather than above it: an SVG
|
|
34
|
+
* has no baseline of its own, so under `items-baseline` it would hang its
|
|
35
|
+
* whole box off the shared one, 1px taller a chip with the glyph riding high.
|
|
36
|
+
*
|
|
37
|
+
* `1em`, because a chip inside a heading is drawn at the heading's font size
|
|
38
|
+
* and a glyph in `rem` stays at the body's — 14px beside 28px text (T-495).
|
|
39
|
+
*/
|
|
40
|
+
export declare const RICH_CHIP_ICON = "inline size-[1em] self-center";
|
|
41
|
+
/**
|
|
42
|
+
* `overflow: hidden` degrades an inline box's baseline to its bottom edge but
|
|
43
|
+
* leaves a flex item's alone, which is why the label is a child of the chip
|
|
44
|
+
* rather than the chip itself.
|
|
45
|
+
*/
|
|
46
|
+
export declare const RICH_CHIP_LABEL = "min-w-0 flex-initial truncate";
|
|
47
|
+
/** Modifier-clicks (new tab, forced download) keep native link behavior. */
|
|
48
|
+
export declare function isPlainLeftClick(e: React.MouseEvent): boolean;
|
|
49
|
+
export type LinkChipProps = React.ComponentProps<"a"> & {
|
|
50
|
+
/** Drawn before the label, at the label's font size. */
|
|
51
|
+
icon?: React.ComponentType<{
|
|
52
|
+
className?: string;
|
|
53
|
+
}>;
|
|
54
|
+
/** A bordered chip; default false, underlined on hover. */
|
|
55
|
+
boxed?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Render the single child element (a router's link, say) as the chip; its
|
|
58
|
+
* own children become the label.
|
|
59
|
+
*/
|
|
60
|
+
asChild?: boolean;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* An inline link that sits on the line of the text around it, with an
|
|
64
|
+
* optional icon and a label that truncates rather than wraps.
|
|
65
|
+
*/
|
|
66
|
+
export declare function LinkChip({ icon: Icon, boxed, asChild, className, children, ...props }: LinkChipProps): React.JSX.Element;
|
|
67
|
+
//# sourceMappingURL=link-chip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-chip.d.ts","sourceRoot":"","sources":["../../src/components/link-chip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,mLACuJ,CAAC;AAEnL;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,mBAAmB,gHAC+E,CAAC;AAEhH;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,kCAAkC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,eAAe,kCAAkC,CAAC;AAE/D,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAE7D;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IACtD,wDAAwD;IACxD,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EAAE,IAAI,EACV,KAAa,EACb,OAAe,EACf,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,aAAa,qBAgCf"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Slot } from "radix-ui";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "../lib/utils.js";
|
|
5
|
+
/**
|
|
6
|
+
* `.markdown-body a` underlines every link, and a border saying "clickable"
|
|
7
|
+
* on top of an underline says it twice; hover takes over what the underline
|
|
8
|
+
* was for. The utilities layer is emitted after the components layer that
|
|
9
|
+
* rule lives in, so `no-underline` wins without a specificity fight.
|
|
10
|
+
*/
|
|
11
|
+
export const RICH_CHIP_SKIN = "rounded-sm border bg-muted/40 px-[0.3em] py-px no-underline hover:border-ring hover:bg-muted focus-visible:outline-1 focus-visible:outline-offset-1 focus-visible:outline-ring";
|
|
12
|
+
/**
|
|
13
|
+
* `items-baseline` is what puts the chip's label baseline on the paragraph's:
|
|
14
|
+
* every child then shares one baseline, and the container reports it as its
|
|
15
|
+
* own. Measured at 1024px and 390px, the label sits 0.00px off the
|
|
16
|
+
* surrounding text; `align-items: center` or the flex default puts it 2.39px
|
|
17
|
+
* out.
|
|
18
|
+
*
|
|
19
|
+
* `leading-[1.2]` is how tall the chip is drawn. Against the body's 1.6 it
|
|
20
|
+
* has room to spare, and vscode's 1.25 does not — that one overruns the line
|
|
21
|
+
* by 0.11px.
|
|
22
|
+
*
|
|
23
|
+
* `-my-[2px]` is how tall the line has to think it is. The drawn box is
|
|
24
|
+
* `1.2em` plus RICH_CHIP_SKIN's `border` and `py-px`, and a heading's line is
|
|
25
|
+
* `1.25em`, so leading alone only fits wherever `4px` is under `0.05em` —
|
|
26
|
+
* every heading under 80px was 2.59–3.13px taller than its chipless
|
|
27
|
+
* neighbour (T-498). A line box measures an atomic inline by its margin box,
|
|
28
|
+
* so giving those 4px back as margin is what the line reads, while the
|
|
29
|
+
* border box still paints where the baseline puts it: unchanged at the
|
|
30
|
+
* body's 22.39px, and T-460's 0.00px label baseline with it. The 2px is the
|
|
31
|
+
* skin's own border and padding per side, so neither may move without this
|
|
32
|
+
* following.
|
|
33
|
+
*/
|
|
34
|
+
export const RICH_CHIP_STRUCTURE = "inline-flex max-w-full items-baseline gap-[0.24em] align-baseline -my-[2px] leading-[1.2] whitespace-nowrap";
|
|
35
|
+
/**
|
|
36
|
+
* `self-center` sits the icon beside the text rather than above it: an SVG
|
|
37
|
+
* has no baseline of its own, so under `items-baseline` it would hang its
|
|
38
|
+
* whole box off the shared one, 1px taller a chip with the glyph riding high.
|
|
39
|
+
*
|
|
40
|
+
* `1em`, because a chip inside a heading is drawn at the heading's font size
|
|
41
|
+
* and a glyph in `rem` stays at the body's — 14px beside 28px text (T-495).
|
|
42
|
+
*/
|
|
43
|
+
export const RICH_CHIP_ICON = "inline size-[1em] self-center";
|
|
44
|
+
/**
|
|
45
|
+
* `overflow: hidden` degrades an inline box's baseline to its bottom edge but
|
|
46
|
+
* leaves a flex item's alone, which is why the label is a child of the chip
|
|
47
|
+
* rather than the chip itself.
|
|
48
|
+
*/
|
|
49
|
+
export const RICH_CHIP_LABEL = "min-w-0 flex-initial truncate";
|
|
50
|
+
/** Modifier-clicks (new tab, forced download) keep native link behavior. */
|
|
51
|
+
export function isPlainLeftClick(e) {
|
|
52
|
+
return !e.ctrlKey && !e.metaKey && !e.shiftKey && !e.altKey;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* An inline link that sits on the line of the text around it, with an
|
|
56
|
+
* optional icon and a label that truncates rather than wraps.
|
|
57
|
+
*/
|
|
58
|
+
export function LinkChip({ icon: Icon, boxed = false, asChild = false, className, children, ...props }) {
|
|
59
|
+
const content = (label) => (_jsxs(_Fragment, { children: [Icon && _jsx(Icon, { className: RICH_CHIP_ICON }), _jsx("span", { className: RICH_CHIP_LABEL, children: label })] }));
|
|
60
|
+
const chipProps = {
|
|
61
|
+
"data-slot": "link-chip",
|
|
62
|
+
className: cn(RICH_CHIP_STRUCTURE, boxed ? RICH_CHIP_SKIN : "hover:underline", className),
|
|
63
|
+
...props,
|
|
64
|
+
};
|
|
65
|
+
if (asChild &&
|
|
66
|
+
React.isValidElement(children)) {
|
|
67
|
+
return (_jsx(Slot.Root, { ...chipProps, children: React.cloneElement(children, undefined, content(children.props.children)) }));
|
|
68
|
+
}
|
|
69
|
+
return _jsx("a", { ...chipProps, children: content(children) });
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=link-chip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-chip.js","sourceRoot":"","sources":["../../src/components/link-chip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,gLAAgL,CAAC;AAEnL;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,6GAA6G,CAAC;AAEhH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,+BAA+B,CAAC;AAE9D;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAE/D,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,CAAmB;IAClD,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9D,CAAC;AAcD;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,IAAI,EAAE,IAAI,EACV,KAAK,GAAG,KAAK,EACb,OAAO,GAAG,KAAK,EACf,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACM;IACd,MAAM,OAAO,GAAG,CAAC,KAAsB,EAAE,EAAE,CAAC,CAC1C,8BACG,IAAI,IAAI,KAAC,IAAI,IAAC,SAAS,EAAE,cAAc,GAAI,EAC5C,eAAM,SAAS,EAAE,eAAe,YAAG,KAAK,GAAQ,IAC/C,CACJ,CAAC;IACF,MAAM,SAAS,GAAG;QAChB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,EAAE,CACX,mBAAmB,EACnB,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,EAC1C,SAAS,CACV;QACD,GAAG,KAAK;KACT,CAAC;IAEF,IACE,OAAO;QACP,KAAK,CAAC,cAAc,CAAiC,QAAQ,CAAC,EAC9D,CAAC;QACD,OAAO,CACL,KAAC,IAAI,CAAC,IAAI,OAAK,SAAS,YACrB,KAAK,CAAC,YAAY,CACjB,QAAQ,EACR,SAAS,EACT,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CACjC,GACS,CACb,CAAC;IACJ,CAAC;IACD,OAAO,eAAO,SAAS,YAAG,OAAO,CAAC,QAAQ,CAAC,GAAK,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ReactNode, Ref } from "react";
|
|
2
|
+
export declare function LoadFailure({ message, detail, onRetry, retrying, retryRef, size, className, }: {
|
|
3
|
+
message: ReactNode;
|
|
4
|
+
detail: string | undefined;
|
|
5
|
+
onRetry: () => void;
|
|
6
|
+
retrying: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Retry is the only control a surface with nothing to display still offers,
|
|
9
|
+
* which makes it the place focus has to go when an overlay opened from that
|
|
10
|
+
* surface closes and its own opener is gone (T-430).
|
|
11
|
+
*/
|
|
12
|
+
retryRef?: Ref<HTMLButtonElement>;
|
|
13
|
+
size?: "sm" | "xs";
|
|
14
|
+
className?: string;
|
|
15
|
+
}): import("react").JSX.Element;
|
|
16
|
+
export declare function RefreshFailure({ what, detail, onRetry, retrying, size, className, }: {
|
|
17
|
+
what: string;
|
|
18
|
+
detail: string | undefined;
|
|
19
|
+
onRetry: () => void;
|
|
20
|
+
retrying: boolean;
|
|
21
|
+
size?: "sm" | "xs";
|
|
22
|
+
className?: string;
|
|
23
|
+
}): import("react").JSX.Element;
|
|
24
|
+
//# sourceMappingURL=load-failure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-failure.d.ts","sourceRoot":"","sources":["../../src/components/load-failure.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AA4D5C,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAW,EACX,SAAS,GACV,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAaA;AAED,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,IAAW,EACX,SAAS,GACV,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAYA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/utils.js";
|
|
3
|
+
import { Button } from "./button.js";
|
|
4
|
+
/**
|
|
5
|
+
* `LoadFailure` occupies a surface that has nothing to display;
|
|
6
|
+
* `RefreshFailure` sits above content retained after a transient refresh
|
|
7
|
+
* failure. Both expose the raw error on the message and a retry for only the
|
|
8
|
+
* failed read. A failure here does not recover by itself — unlike a
|
|
9
|
+
* connection banner, which heals once the server is back — so the exit has to
|
|
10
|
+
* be a control, not a promise.
|
|
11
|
+
*
|
|
12
|
+
* `size` scales the whole row — message and button together — because `xs`
|
|
13
|
+
* exists for `text-xs` surfaces sitting in 16px contexts, where an inherited
|
|
14
|
+
* size would strand the message at body scale next to a proportioned button;
|
|
15
|
+
* `sm` stays inheriting for body-scale surfaces. `className` merges last for
|
|
16
|
+
* margins and one-off adjustments.
|
|
17
|
+
*/
|
|
18
|
+
function FailureRow({ message, detail, onRetry, retrying, retryRef, size, className, textClassName, }) {
|
|
19
|
+
return (_jsxs("div", { role: "status", className: cn(textClassName, "flex flex-wrap items-baseline gap-x-2 gap-y-1", size === "xs" ? "text-xs" : null, className), children: [_jsx("span", { title: detail, children: message }), _jsx(Button, { ref: retryRef, variant: "outline", size: size, onClick: onRetry, disabled: retrying, children: "Retry" })] }));
|
|
20
|
+
}
|
|
21
|
+
export function LoadFailure({ message, detail, onRetry, retrying, retryRef, size = "sm", className, }) {
|
|
22
|
+
return (_jsx(FailureRow, { message: message, detail: detail, onRetry: onRetry, retrying: retrying, retryRef: retryRef, size: size, className: className, textClassName: "text-destructive" }));
|
|
23
|
+
}
|
|
24
|
+
export function RefreshFailure({ what, detail, onRetry, retrying, size = "sm", className, }) {
|
|
25
|
+
return (_jsx(FailureRow, { message: `Couldn't refresh ${what} (${detail}) — showing saved data.`, detail: detail, onRetry: onRetry, retrying: retrying, size: size, className: className, textClassName: "text-amber-800 dark:text-amber-200" }));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=load-failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-failure.js","sourceRoot":"","sources":["../../src/components/load-failure.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAc,CAAC;AAEtC;;;;;;;;;;;;;GAaG;AACH,SAAS,UAAU,CAAC,EAClB,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,aAAa,GAUd;IACC,OAAO,CACL,eACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,aAAa,EACb,+CAA+C,EAC/C,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAChC,SAAS,CACV,aAED,eAAM,KAAK,EAAE,MAAM,YAAG,OAAO,GAAQ,EACrC,KAAC,MAAM,IACL,GAAG,EAAE,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,sBAGX,IACL,CACP,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,EAC1B,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,SAAS,GAcV;IACC,OAAO,CACL,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,aAAa,EAAC,kBAAkB,GAChC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,SAAS,GAQV;IACC,OAAO,CACL,KAAC,UAAU,IACT,OAAO,EAAE,oBAAoB,IAAI,KAAK,MAAM,yBAAyB,EACrE,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,aAAa,EAAC,oCAAoC,GAClD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
export declare function LoadMoreFailure({ error, onRetry, retrying, focusRequested, className, }: {
|
|
3
|
+
error: Error;
|
|
4
|
+
onRetry: () => void;
|
|
5
|
+
retrying: boolean;
|
|
6
|
+
focusRequested: RefObject<boolean>;
|
|
7
|
+
className?: string;
|
|
8
|
+
}): import("react").JSX.Element;
|
|
9
|
+
export declare function LoadMoreFooter({ pending, error, onLoadMore, focusRequested, }: {
|
|
10
|
+
pending: boolean;
|
|
11
|
+
error: Error | null;
|
|
12
|
+
onLoadMore: () => void;
|
|
13
|
+
focusRequested: RefObject<boolean>;
|
|
14
|
+
}): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=load-more.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-more.d.ts","sourceRoot":"","sources":["../../src/components/load-more.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAI1D,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,QAAQ,EACR,cAAc,EACd,SAAS,GACV,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAsBA;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,UAAU,EACV,cAAc,GACf,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CACpC,+BAoBA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { Button } from "./button.js";
|
|
4
|
+
import { LoadFailure } from "./load-failure.js";
|
|
5
|
+
export function LoadMoreFailure({ error, onRetry, retrying, focusRequested, className, }) {
|
|
6
|
+
const failure = useRef(null);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (retrying || !focusRequested.current)
|
|
9
|
+
return;
|
|
10
|
+
// Consume the click once even when the reader has moved elsewhere, so
|
|
11
|
+
// later remounts cannot deliver stale focus.
|
|
12
|
+
focusRequested.current = false;
|
|
13
|
+
if (document.activeElement !== document.body)
|
|
14
|
+
return;
|
|
15
|
+
failure.current?.querySelector("button")?.focus();
|
|
16
|
+
});
|
|
17
|
+
return (_jsx("div", { ref: failure, className: "contents", children: _jsx(LoadFailure, { message: `Could not load more: ${error.message}`, detail: error.message, onRetry: onRetry, retrying: retrying, className: className }) }));
|
|
18
|
+
}
|
|
19
|
+
export function LoadMoreFooter({ pending, error, onLoadMore, focusRequested, }) {
|
|
20
|
+
if (error) {
|
|
21
|
+
return (_jsx(LoadMoreFailure, { error: error, onRetry: onLoadMore, retrying: pending, focusRequested: focusRequested, className: "justify-center" }));
|
|
22
|
+
}
|
|
23
|
+
return (_jsx("div", { className: "text-center", children: _jsx(Button, { variant: "outline", size: "sm", onClick: onLoadMore, children: pending ? "Loading…" : "Load more" }) }));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=load-more.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-more.js","sourceRoot":"","sources":["../../src/components/load-more.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAC;AAEjD,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,OAAO,EACP,QAAQ,EACR,cAAc,EACd,SAAS,GAOV;IACC,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,IAAI,CAAC,cAAc,CAAC,OAAO;YAAE,OAAO;QAChD,sEAAsE;QACtE,6CAA6C;QAC7C,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI;YAAE,OAAO;QACrD,OAAO,CAAC,OAAO,EAAE,aAAa,CAAoB,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,cAAK,GAAG,EAAE,OAAO,EAAE,SAAS,EAAC,UAAU,YACrC,KAAC,WAAW,IACV,OAAO,EAAE,wBAAwB,KAAK,CAAC,OAAO,EAAE,EAChD,MAAM,EAAE,KAAK,CAAC,OAAO,EACrB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,GACpB,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,UAAU,EACV,cAAc,GAMf;IACC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,OAAO,EACjB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAC,gBAAgB,GAC1B,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,aAAa,YAC1B,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,UAAU,YACpD,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,GAC5B,GACL,CACP,CAAC;AACJ,CAAC"}
|