@jini-ai/admin 0.3.8 → 0.3.9
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/core/index.d.ts +0 -3
- package/dist/core/index.js +0 -1
- package/dist/core/ports/index.d.ts +0 -1
- package/dist/core/ports/menus.d.ts +0 -43
- package/dist/core/ports/menus.js +0 -43
- package/dist/react/components/ConfirmDialog/ConfirmDialog.d.ts +2 -1
- package/dist/react/components/ConfirmDialog/ConfirmDialog.hooks.d.ts +37 -1
- package/dist/react/components/ConfirmDialog/ConfirmDialog.hooks.js +42 -1
- package/dist/react/components/ConfirmDialog/ConfirmDialog.js +2 -3
- package/dist/react/components/Sidebar.js +2 -90
- package/dist/react/index.d.ts +3 -1
- package/dist/react/index.js +5 -3
- package/package.json +5 -4
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/navigation.d.ts.map +0 -1
- package/dist/browser/navigation.js.map +0 -1
- package/dist/core/data-table/types.d.ts.map +0 -1
- package/dist/core/data-table/types.js.map +0 -1
- package/dist/core/entities/rules.d.ts +0 -138
- package/dist/core/entities/rules.d.ts.map +0 -1
- package/dist/core/entities/rules.js +0 -344
- package/dist/core/entities/rules.js.map +0 -1
- package/dist/core/gated/types.d.ts.map +0 -1
- package/dist/core/gated/types.js.map +0 -1
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js.map +0 -1
- package/dist/core/manifest/rules.d.ts.map +0 -1
- package/dist/core/manifest/rules.js.map +0 -1
- package/dist/core/manifest/types.d.ts.map +0 -1
- package/dist/core/manifest/types.js.map +0 -1
- package/dist/core/permissions/rules.d.ts.map +0 -1
- package/dist/core/permissions/rules.js.map +0 -1
- package/dist/core/ports/analytics.d.ts.map +0 -1
- package/dist/core/ports/analytics.js.map +0 -1
- package/dist/core/ports/auth.d.ts.map +0 -1
- package/dist/core/ports/auth.js.map +0 -1
- package/dist/core/ports/comments.d.ts.map +0 -1
- package/dist/core/ports/comments.js.map +0 -1
- package/dist/core/ports/database.d.ts.map +0 -1
- package/dist/core/ports/database.js.map +0 -1
- package/dist/core/ports/entities.d.ts +0 -302
- package/dist/core/ports/entities.d.ts.map +0 -1
- package/dist/core/ports/entities.js +0 -47
- package/dist/core/ports/entities.js.map +0 -1
- package/dist/core/ports/forms.d.ts.map +0 -1
- package/dist/core/ports/forms.js.map +0 -1
- package/dist/core/ports/identity.d.ts.map +0 -1
- package/dist/core/ports/identity.js.map +0 -1
- package/dist/core/ports/index.d.ts.map +0 -1
- package/dist/core/ports/index.js.map +0 -1
- package/dist/core/ports/integrations.d.ts.map +0 -1
- package/dist/core/ports/integrations.js.map +0 -1
- package/dist/core/ports/media.d.ts.map +0 -1
- package/dist/core/ports/media.js.map +0 -1
- package/dist/core/ports/members.d.ts.map +0 -1
- package/dist/core/ports/members.js.map +0 -1
- package/dist/core/ports/menus.d.ts.map +0 -1
- package/dist/core/ports/menus.js.map +0 -1
- package/dist/core/ports/plugins.d.ts.map +0 -1
- package/dist/core/ports/plugins.js.map +0 -1
- package/dist/core/ports/recovery.d.ts.map +0 -1
- package/dist/core/ports/recovery.js.map +0 -1
- package/dist/core/ports/redirects.d.ts.map +0 -1
- package/dist/core/ports/redirects.js.map +0 -1
- package/dist/core/ports/seo.d.ts.map +0 -1
- package/dist/core/ports/seo.js.map +0 -1
- package/dist/core/ports/settings.d.ts.map +0 -1
- package/dist/core/ports/settings.js.map +0 -1
- package/dist/core/ports/workspace.d.ts.map +0 -1
- package/dist/core/ports/workspace.js.map +0 -1
- package/dist/core/routing/rules.d.ts.map +0 -1
- package/dist/core/routing/rules.js.map +0 -1
- package/dist/core/routing/types.d.ts.map +0 -1
- package/dist/core/routing/types.js.map +0 -1
- package/dist/core/transport/errors.d.ts.map +0 -1
- package/dist/core/transport/errors.js.map +0 -1
- package/dist/core/transport/http.d.ts.map +0 -1
- package/dist/core/transport/http.js.map +0 -1
- package/dist/core/transport/index.d.ts.map +0 -1
- package/dist/core/transport/index.js.map +0 -1
- package/dist/core/transport/types.d.ts.map +0 -1
- package/dist/core/transport/types.js.map +0 -1
- package/dist/react/components/ConfirmButton/ConfirmButton.d.ts.map +0 -1
- package/dist/react/components/ConfirmButton/ConfirmButton.hooks.d.ts.map +0 -1
- package/dist/react/components/ConfirmButton/ConfirmButton.hooks.js.map +0 -1
- package/dist/react/components/ConfirmButton/ConfirmButton.js.map +0 -1
- package/dist/react/components/ConfirmButton.d.ts +0 -39
- package/dist/react/components/ConfirmButton.d.ts.map +0 -1
- package/dist/react/components/ConfirmButton.js +0 -79
- package/dist/react/components/ConfirmButton.js.map +0 -1
- package/dist/react/components/ConfirmDialog/ConfirmDialog.d.ts.map +0 -1
- package/dist/react/components/ConfirmDialog/ConfirmDialog.hooks.d.ts.map +0 -1
- package/dist/react/components/ConfirmDialog/ConfirmDialog.hooks.js.map +0 -1
- package/dist/react/components/ConfirmDialog/ConfirmDialog.js.map +0 -1
- package/dist/react/components/ConfirmDialog.d.ts +0 -57
- package/dist/react/components/ConfirmDialog.d.ts.map +0 -1
- package/dist/react/components/ConfirmDialog.js +0 -85
- package/dist/react/components/ConfirmDialog.js.map +0 -1
- package/dist/react/components/DataTable.d.ts.map +0 -1
- package/dist/react/components/DataTable.js.map +0 -1
- package/dist/react/components/InteractiveHtmlEditor/InteractiveHtmlEditor.d.ts.map +0 -1
- package/dist/react/components/InteractiveHtmlEditor/InteractiveHtmlEditor.js.map +0 -1
- package/dist/react/components/RowMenu/RowMenu.d.ts.map +0 -1
- package/dist/react/components/RowMenu/RowMenu.hooks.d.ts.map +0 -1
- package/dist/react/components/RowMenu/RowMenu.hooks.js.map +0 -1
- package/dist/react/components/RowMenu/RowMenu.js.map +0 -1
- package/dist/react/components/RowMenu.d.ts +0 -44
- package/dist/react/components/RowMenu.d.ts.map +0 -1
- package/dist/react/components/RowMenu.js +0 -149
- package/dist/react/components/RowMenu.js.map +0 -1
- package/dist/react/components/Sidebar.d.ts.map +0 -1
- package/dist/react/components/Sidebar.js.map +0 -1
- package/dist/react/hooks/use-nav-sections.d.ts.map +0 -1
- package/dist/react/hooks/use-nav-sections.js.map +0 -1
- package/dist/react/hooks/use-sidebar-rail.d.ts.map +0 -1
- package/dist/react/hooks/use-sidebar-rail.js.map +0 -1
- package/dist/react/index.d.ts.map +0 -1
- package/dist/react/index.js.map +0 -1
- package/dist/react/types.d.ts.map +0 -1
- package/dist/react/types.js.map +0 -1
- package/dist/server/composio/bounded-data.d.ts +0 -36
- package/dist/server/composio/bounded-data.d.ts.map +0 -1
- package/dist/server/composio/bounded-data.js +0 -181
- package/dist/server/composio/bounded-data.js.map +0 -1
- package/dist/server/composio/catalog.d.ts +0 -147
- package/dist/server/composio/catalog.d.ts.map +0 -1
- package/dist/server/composio/catalog.js +0 -126
- package/dist/server/composio/catalog.js.map +0 -1
- package/dist/server/composio/composio-config.d.ts +0 -42
- package/dist/server/composio/composio-config.d.ts.map +0 -1
- package/dist/server/composio/composio-config.js +0 -145
- package/dist/server/composio/composio-config.js.map +0 -1
- package/dist/server/composio/composio-descriptions.d.ts +0 -16
- package/dist/server/composio/composio-descriptions.d.ts.map +0 -1
- package/dist/server/composio/composio-descriptions.js +0 -766
- package/dist/server/composio/composio-descriptions.js.map +0 -1
- package/dist/server/composio/composio.d.ts +0 -364
- package/dist/server/composio/composio.d.ts.map +0 -1
- package/dist/server/composio/composio.js +0 -1902
- package/dist/server/composio/composio.js.map +0 -1
- package/dist/server/composio/errors.d.ts +0 -15
- package/dist/server/composio/errors.d.ts.map +0 -1
- package/dist/server/composio/errors.js +0 -16
- package/dist/server/composio/errors.js.map +0 -1
- package/dist/server/composio/file-lock.d.ts +0 -13
- package/dist/server/composio/file-lock.d.ts.map +0 -1
- package/dist/server/composio/file-lock.js +0 -92
- package/dist/server/composio/file-lock.js.map +0 -1
- package/dist/server/composio/index.d.ts +0 -18
- package/dist/server/composio/index.d.ts.map +0 -1
- package/dist/server/composio/index.js +0 -7
- package/dist/server/composio/index.js.map +0 -1
- package/dist/server/composio/json-schema.d.ts +0 -93
- package/dist/server/composio/json-schema.d.ts.map +0 -1
- package/dist/server/composio/json-schema.js +0 -498
- package/dist/server/composio/json-schema.js.map +0 -1
- package/dist/server/composio/output-protection.d.ts +0 -32
- package/dist/server/composio/output-protection.d.ts.map +0 -1
- package/dist/server/composio/output-protection.js +0 -105
- package/dist/server/composio/output-protection.js.map +0 -1
- package/dist/server/composio/service.d.ts +0 -181
- package/dist/server/composio/service.d.ts.map +0 -1
- package/dist/server/composio/service.js +0 -758
- package/dist/server/composio/service.js.map +0 -1
- package/dist/server/index.d.ts +0 -15
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -15
- package/dist/server/index.js.map +0 -1
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export interface ConfirmButtonProps {
|
|
2
|
-
/** Resting-state label, e.g. "Delete". */
|
|
3
|
-
label: string;
|
|
4
|
-
/** Label shown after the first (arming) click, while awaiting the confirming second click. */
|
|
5
|
-
confirmLabel: string;
|
|
6
|
-
/** Fired on the second (confirming) click. The caller owns in-flight/error state after that —
|
|
7
|
-
* this component only owns the armed/disarmed distinction. */
|
|
8
|
-
onConfirm: () => void;
|
|
9
|
-
/** Applies `.btn-danger`. Reserve for genuinely irreversible actions; a reversible-but-access-
|
|
10
|
-
* affecting action (e.g. Disable) should leave this `false` — see {@link ConfirmTone}'s
|
|
11
|
-
* warning-vs-danger split, which this boolean predates and cannot express. */
|
|
12
|
-
destructive?: boolean;
|
|
13
|
-
/** External in-flight flag (e.g. `rowSavingId === row.id`). Shows `pendingLabel` and disables the
|
|
14
|
-
* control. Not itself cancelable — a click already fired `onConfirm` by the time this is true. */
|
|
15
|
-
pending?: boolean;
|
|
16
|
-
pendingLabel?: string;
|
|
17
|
-
/** Disables the control outright — e.g. a built-in row the server would reject anyway. */
|
|
18
|
-
disabled?: boolean;
|
|
19
|
-
className?: string;
|
|
20
|
-
/** Overrides the computed accessible name. Use when several identical-looking controls share a
|
|
21
|
-
* page (one "Delete" per table row) and the row's own text doesn't disambiguate them for a
|
|
22
|
-
* screen-reader user navigating control-by-control rather than row-by-row. */
|
|
23
|
-
ariaLabel?: string;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Two-click in-place confirm button. First click arms it: swaps the visible label to `confirmLabel`
|
|
27
|
-
* and announces the armed state through a `.visually-hidden` live region (a separate region rather
|
|
28
|
-
* than relying on the button's own label swap, since AT support for announcing a text change inside
|
|
29
|
-
* a live-region-less `<button>`'s accessible name is inconsistent across screen readers). Second
|
|
30
|
-
* click fires `onConfirm` and disarms immediately. Losing focus, an outside click, or Escape
|
|
31
|
-
* disarms without firing, so a control armed and then abandoned (a slow screen-reader read-through,
|
|
32
|
-
* a misclick landing elsewhere) cannot later be fired by an unrelated click landing on the same
|
|
33
|
-
* screen position.
|
|
34
|
-
*
|
|
35
|
-
* @complexity O(1) per render/interaction. The two document-level listeners are attached only while
|
|
36
|
-
* armed, not for the component's whole mounted lifetime.
|
|
37
|
-
*/
|
|
38
|
-
export declare function ConfirmButton(props: ConfirmButtonProps): import("react").JSX.Element;
|
|
39
|
-
//# sourceMappingURL=ConfirmButton.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmButton.d.ts","sourceRoot":"","sources":["../../../src/react/components/ConfirmButton.tsx"],"names":[],"mappings":"AAsBA,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,YAAY,EAAE,MAAM,CAAC;IACrB;mEAC+D;IAC/D,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB;;mFAE+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;uGACmG;IACnG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;mFAE+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAuEtD"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useRef, useState } from 'react';
|
|
3
|
-
/**
|
|
4
|
-
* @file Shared two-click, in-place confirmation control for destructive or access-affecting
|
|
5
|
-
* actions.
|
|
6
|
-
*
|
|
7
|
-
* Exists because confirmation coverage is otherwise a coin flip: some screens guard a delete, some
|
|
8
|
-
* ship a bare single-click Disable, and the ones that do guard each reinvent the interaction. This
|
|
9
|
-
* is the one shape every screen can import instead of rebuilding.
|
|
10
|
-
*
|
|
11
|
-
* Chosen over a `window.confirm` wrapper: `window.confirm` blocks the whole tab and cannot carry
|
|
12
|
-
* destructive-vs-warning styling or a screen-reader-specific announcement. Chosen over a shared
|
|
13
|
-
* modal for the common case because the in-place shape needs no new markup at all — it renders as
|
|
14
|
-
* an ordinary `<button>`, optionally with `.btn-danger`.
|
|
15
|
-
*
|
|
16
|
-
* Not a replacement for {@link ConfirmDialog}: an operation with real context to disclose ("this
|
|
17
|
-
* restores a snapshot from 3 days ago and drops 41 entries") needs a modal that can show it. This
|
|
18
|
-
* is for the common case — a single row action that would otherwise be bare or a `window.confirm`.
|
|
19
|
-
*/
|
|
20
|
-
const DEFAULT_PENDING_LABEL = '…';
|
|
21
|
-
/**
|
|
22
|
-
* Two-click in-place confirm button. First click arms it: swaps the visible label to `confirmLabel`
|
|
23
|
-
* and announces the armed state through a `.visually-hidden` live region (a separate region rather
|
|
24
|
-
* than relying on the button's own label swap, since AT support for announcing a text change inside
|
|
25
|
-
* a live-region-less `<button>`'s accessible name is inconsistent across screen readers). Second
|
|
26
|
-
* click fires `onConfirm` and disarms immediately. Losing focus, an outside click, or Escape
|
|
27
|
-
* disarms without firing, so a control armed and then abandoned (a slow screen-reader read-through,
|
|
28
|
-
* a misclick landing elsewhere) cannot later be fired by an unrelated click landing on the same
|
|
29
|
-
* screen position.
|
|
30
|
-
*
|
|
31
|
-
* @complexity O(1) per render/interaction. The two document-level listeners are attached only while
|
|
32
|
-
* armed, not for the component's whole mounted lifetime.
|
|
33
|
-
*/
|
|
34
|
-
export function ConfirmButton(props) {
|
|
35
|
-
const [confirming, setConfirming] = useState(false);
|
|
36
|
-
const buttonRef = useRef(null);
|
|
37
|
-
// Listeners are scoped to the armed window only — an idle (disarmed) ConfirmButton costs nothing
|
|
38
|
-
// beyond the button element itself, so mounting many of them (one per table row) does not add a
|
|
39
|
-
// standing per-row document listener.
|
|
40
|
-
useEffect(() => {
|
|
41
|
-
if (!confirming)
|
|
42
|
-
return;
|
|
43
|
-
function disarm() {
|
|
44
|
-
setConfirming(false);
|
|
45
|
-
}
|
|
46
|
-
function onDocMouseDown(e) {
|
|
47
|
-
if (!buttonRef.current?.contains(e.target))
|
|
48
|
-
disarm();
|
|
49
|
-
}
|
|
50
|
-
function onKeyDown(e) {
|
|
51
|
-
if (e.key === 'Escape')
|
|
52
|
-
disarm();
|
|
53
|
-
}
|
|
54
|
-
document.addEventListener('mousedown', onDocMouseDown);
|
|
55
|
-
document.addEventListener('keydown', onKeyDown);
|
|
56
|
-
return () => {
|
|
57
|
-
document.removeEventListener('mousedown', onDocMouseDown);
|
|
58
|
-
document.removeEventListener('keydown', onKeyDown);
|
|
59
|
-
};
|
|
60
|
-
}, [confirming]);
|
|
61
|
-
function handleClick() {
|
|
62
|
-
if (props.pending || props.disabled)
|
|
63
|
-
return;
|
|
64
|
-
if (!confirming) {
|
|
65
|
-
setConfirming(true);
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
setConfirming(false);
|
|
69
|
-
props.onConfirm();
|
|
70
|
-
}
|
|
71
|
-
const label = props.pending
|
|
72
|
-
? (props.pendingLabel ?? DEFAULT_PENDING_LABEL)
|
|
73
|
-
: confirming
|
|
74
|
-
? props.confirmLabel
|
|
75
|
-
: props.label;
|
|
76
|
-
const className = [props.className, props.destructive ? 'btn-danger' : null].filter(Boolean).join(' ') || undefined;
|
|
77
|
-
return (_jsxs(_Fragment, { children: [_jsx("button", { ref: buttonRef, type: "button", className: className, "data-armed": confirming ? 'true' : undefined, disabled: props.disabled || props.pending, onClick: handleClick, onBlur: () => setConfirming(false), "aria-label": props.ariaLabel, children: label }), _jsx("span", { className: "visually-hidden", role: "status", "aria-live": "polite", children: confirming ? `Press "${props.confirmLabel}" to confirm, or press Escape to cancel.` : '' })] }));
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=ConfirmButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmButton.js","sourceRoot":"","sources":["../../../src/react/components/ConfirmButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,qBAAqB,GAAG,GAAG,CAAC;AA2BlC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAElD,iGAAiG;IACjG,gGAAgG;IAChG,sCAAsC;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,SAAS,MAAM;YACb,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,SAAS,cAAc,CAAC,CAAwB;YAC9C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;gBAAE,MAAM,EAAE,CAAC;QAC/D,CAAC;QACD,SAAS,SAAS,CAAC,CAA2B;YAC5C,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACvD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,SAAS,WAAW;QAClB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QACD,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,KAAK,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO;QACzB,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,qBAAqB,CAAC;QAC/C,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,KAAK,CAAC,YAAY;YACpB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAClB,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IAEpH,OAAO,CACL,8BAOE,iBACE,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,SAAS,gBACR,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EACzC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,gBACtB,KAAK,CAAC,SAAS,YAE1B,KAAK,GACC,EAIT,eAAM,SAAS,EAAC,iBAAiB,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,YAC/D,UAAU,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,YAAY,0CAA0C,CAAC,CAAC,CAAC,EAAE,GACpF,IACN,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../../src/react/components/ConfirmDialog/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;yFACqF;IACrF,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;uGAEmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;wEACoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;;2FAMuF;IACvF,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;uEACmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA2ED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAAE,SAA4B,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,+BAiDpH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmDialog.hooks.d.ts","sourceRoot":"","sources":["../../../../src/react/components/ConfirmDialog/ConfirmDialog.hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvG;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC,8FAA8F;IAC9F,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC/C,SAAS,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC/C,kBAAkB,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACvE,mBAAmB,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CACrE;AAED;kGACkG;AAClG,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,IAAI,KACjB,uBAAuB,CAAC;AAE7B;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,IAAI,GACnB,uBAAuB,CA4DzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmDialog.hooks.js","sourceRoot":"","sources":["../../../../src/react/components/ConfirmDialog/ConfirmDialog.hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAwD,MAAM,OAAO,CAAC;AA2CvG;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAa,EACb,OAA4B,EAC5B,QAAoB;IAEpB,yFAAyF;IACzF,wFAAwF;IACxF,2FAA2F;IAC3F,gGAAgG;IAChG,6FAA6F;IAC7F,2FAA2F;IAC3F,sEAAsE;IACtE,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,kGAAkG;IAClG,yFAAyF;IACzF,kGAAkG;IAClG,kGAAkG;IAClG,8CAA8C;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;YAC5C,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI;oBAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAClC,CAAC;YACD,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACvC,IAAI,MAAM,CAAC,IAAI;oBAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,UAAU,CAAC,OAAO,YAAY,WAAW;gBAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,SAAS,kBAAkB,CAAC,CAAoC;QAC9D,4FAA4F;QAC5F,oFAAoF;QACpF,4FAA4F;QAC5F,4FAA4F;QAC5F,6FAA6F;QAC7F,mCAAmC;QACnC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,OAAO;YAAE,OAAO;QACpB,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,SAAS,mBAAmB,CAAC,CAAgC;QAC3D,gGAAgG;QAChG,+FAA+F;QAC/F,8CAA8C;QAC9C,IAAI,OAAO;YAAE,OAAO;QACpB,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO;YAAE,QAAQ,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;AACpF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../../../src/react/components/ConfirmDialog/ConfirmDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
2
|
-
import { type ConfirmTone } from '../types.js';
|
|
3
|
-
/**
|
|
4
|
-
* @file Shared modal confirmation primitive — the replacement for `window.confirm`, which blocks
|
|
5
|
-
* the whole tab, cannot carry destructive-vs-neutral styling, and reads as a browser artifact
|
|
6
|
-
* rather than part of the product.
|
|
7
|
-
*
|
|
8
|
-
* Built on the native `<dialog>` element (`showModal()`/`close()`) rather than a plain-`<div>`
|
|
9
|
-
* overlay + backdrop idiom: that shape hand-rolls focus trapping, Escape handling, and a backdrop
|
|
10
|
-
* element, all of which the browser's own top layer gives a real `<dialog>` for free, including
|
|
11
|
-
* correct stacking above everything else on the page without a chosen `z-index`.
|
|
12
|
-
*
|
|
13
|
-
* `dialog.showModal()`/`dialog.close()` are guarded by a `typeof` check rather than called
|
|
14
|
-
* unconditionally: jsdom (this package's React test environment, verified directly rather than
|
|
15
|
-
* assumed) does not implement either method at all — calling them throws `TypeError`. The fallback
|
|
16
|
-
* branch below toggles the plain `open` attribute instead, which no browser shipping a real
|
|
17
|
-
* `<dialog>` ever takes (the `showModal`/`close` branch always wins there), so this only changes
|
|
18
|
-
* behavior under jsdom, where it keeps the dialog mountable and its content queryable.
|
|
19
|
-
*
|
|
20
|
-
* Unstyled, like everything in this layer: the `.confirm-dialog` / `.btn-secondary` /
|
|
21
|
-
* `.btn-danger` / `.btn-warning` class names are emitted for the host stylesheet to define.
|
|
22
|
-
*/
|
|
23
|
-
export interface ConfirmDialogProps {
|
|
24
|
-
open: boolean;
|
|
25
|
-
title: string;
|
|
26
|
-
body: ReactNode;
|
|
27
|
-
confirmLabel: string;
|
|
28
|
-
/** @default "Cancel" */
|
|
29
|
-
cancelLabel?: string;
|
|
30
|
-
/** Applies `.btn-warning`/`.btn-danger` to the confirm action. Defaults to `"default"` (no class,
|
|
31
|
-
* the plain primary button). Wins over `destructive` below when both are passed. */
|
|
32
|
-
tone?: ConfirmTone;
|
|
33
|
-
/** @deprecated Use `tone: "danger"` instead — this only ever expressed the danger tier, and the
|
|
34
|
-
* vocabulary has a second one (`"warning"`) this boolean cannot reach. Kept working (mapped to
|
|
35
|
-
* `tone: "danger"` when `tone` is not set) for existing callers rather than a breaking rename. */
|
|
36
|
-
destructive?: boolean;
|
|
37
|
-
/** External in-flight flag. Disables both actions and blocks Escape/backdrop dismissal so a
|
|
38
|
-
* request already underway cannot be raced by a second dismiss. */
|
|
39
|
-
pending?: boolean;
|
|
40
|
-
onConfirm: () => void;
|
|
41
|
-
onCancel: () => void;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Controlled modal confirm. The caller keeps this mounted and toggles `open` — it is never
|
|
45
|
-
* conditionally rendered by its parent — so the effect below has a stable `<dialog>` element to
|
|
46
|
-
* call `showModal()`/`close()` on and to restore focus through when it closes.
|
|
47
|
-
*
|
|
48
|
-
* Focus moves to the *cancel* action on open, not confirm — an operator whose first keystroke after
|
|
49
|
-
* a slow read-through is Enter should land on the safe action, not the destructive one. Both
|
|
50
|
-
* actions are plain `type="button"` (no `<form method="dialog">`, no `type="submit"`), so there is
|
|
51
|
-
* no browser-assigned "default button" for Enter to reach for at all; confirm can only ever fire
|
|
52
|
-
* from an explicit click or explicit Tab-then-Enter onto it.
|
|
53
|
-
*
|
|
54
|
-
* @complexity O(1) per open/close transition — one `showModal`/`close` call and one focus move.
|
|
55
|
-
*/
|
|
56
|
-
export declare function ConfirmDialog(props: ConfirmDialogProps): import("react").JSX.Element;
|
|
57
|
-
//# sourceMappingURL=ConfirmDialog.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/react/components/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6C,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AACvG,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;yFACqF;IACrF,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;uGAEmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;wEACoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BA0FtD"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useId, useRef } from 'react';
|
|
3
|
-
import { resolveTone, toneClassName } from '../types.js';
|
|
4
|
-
const DEFAULT_CANCEL_LABEL = 'Cancel';
|
|
5
|
-
/**
|
|
6
|
-
* Controlled modal confirm. The caller keeps this mounted and toggles `open` — it is never
|
|
7
|
-
* conditionally rendered by its parent — so the effect below has a stable `<dialog>` element to
|
|
8
|
-
* call `showModal()`/`close()` on and to restore focus through when it closes.
|
|
9
|
-
*
|
|
10
|
-
* Focus moves to the *cancel* action on open, not confirm — an operator whose first keystroke after
|
|
11
|
-
* a slow read-through is Enter should land on the safe action, not the destructive one. Both
|
|
12
|
-
* actions are plain `type="button"` (no `<form method="dialog">`, no `type="submit"`), so there is
|
|
13
|
-
* no browser-assigned "default button" for Enter to reach for at all; confirm can only ever fire
|
|
14
|
-
* from an explicit click or explicit Tab-then-Enter onto it.
|
|
15
|
-
*
|
|
16
|
-
* @complexity O(1) per open/close transition — one `showModal`/`close` call and one focus move.
|
|
17
|
-
*/
|
|
18
|
-
export function ConfirmDialog(props) {
|
|
19
|
-
// `useId()`, not a string literal — a hardcoded id breaks the moment a screen mounts two
|
|
20
|
-
// `ConfirmDialog`s at once (a delete-role and a delete-policy confirm on one page, both
|
|
21
|
-
// stay-mounted/toggle-`open` per this component's own doc comment above): two `<h2>`s share one
|
|
22
|
-
// id, and `aria-labelledby` resolves via `getElementById`, which always returns the FIRST match
|
|
23
|
-
// in document order regardless of which dialog is actually open — a screen reader announcing
|
|
24
|
-
// "Delete role?" while the operator is about to confirm "Delete policy?", on a destructive
|
|
25
|
-
// action. `useId()` gives every mounted instance its own id for free.
|
|
26
|
-
const titleId = useId();
|
|
27
|
-
const dialogRef = useRef(null);
|
|
28
|
-
const cancelRef = useRef(null);
|
|
29
|
-
// Captured at the moment `open` flips true, before focus moves into the dialog — the element that
|
|
30
|
-
// had focus then is, by construction, whatever triggered this dialog (a `RowMenu` item's
|
|
31
|
-
// "Delete", a plain trigger button, …). Restored on close rather than left wherever the browser's
|
|
32
|
-
// own modal-focus algorithm happened to land (its default without this is `<body>`, which drops a
|
|
33
|
-
// keyboard user back to the top of the page).
|
|
34
|
-
const triggerRef = useRef(null);
|
|
35
|
-
useEffect(() => {
|
|
36
|
-
const dialog = dialogRef.current;
|
|
37
|
-
if (!dialog)
|
|
38
|
-
return;
|
|
39
|
-
if (props.open) {
|
|
40
|
-
triggerRef.current = document.activeElement;
|
|
41
|
-
if (typeof dialog.showModal === 'function') {
|
|
42
|
-
if (!dialog.open)
|
|
43
|
-
dialog.showModal();
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
dialog.setAttribute('open', '');
|
|
47
|
-
}
|
|
48
|
-
cancelRef.current?.focus();
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
if (typeof dialog.close === 'function') {
|
|
52
|
-
if (dialog.open)
|
|
53
|
-
dialog.close();
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
dialog.removeAttribute('open');
|
|
57
|
-
}
|
|
58
|
-
if (triggerRef.current instanceof HTMLElement)
|
|
59
|
-
triggerRef.current.focus();
|
|
60
|
-
}
|
|
61
|
-
}, [props.open]);
|
|
62
|
-
function handleNativeCancel(e) {
|
|
63
|
-
// Fires on Escape while a real `showModal()`-opened dialog has focus. Always prevented: the
|
|
64
|
-
// effect above is the single source of truth for open/closed (driven by `props.open`), so
|
|
65
|
-
// letting the browser close the element on its own would desync DOM state from React state.
|
|
66
|
-
// Escape still closes the dialog — it just does so by routing through `onCancel`, same as a
|
|
67
|
-
// Cancel-button click, so the caller's `open` state (and therefore this same effect) is what
|
|
68
|
-
// actually calls `dialog.close()`.
|
|
69
|
-
e.preventDefault();
|
|
70
|
-
if (props.pending)
|
|
71
|
-
return;
|
|
72
|
-
props.onCancel();
|
|
73
|
-
}
|
|
74
|
-
function handleBackdropClick(e) {
|
|
75
|
-
// A `<dialog>` element's own box is sized to its content, not the viewport — a click that lands
|
|
76
|
-
// on the `<dialog>` element itself (as opposed to one of its children) is therefore a click on
|
|
77
|
-
// the backdrop area outside that content box.
|
|
78
|
-
if (props.pending)
|
|
79
|
-
return;
|
|
80
|
-
if (e.target === dialogRef.current)
|
|
81
|
-
props.onCancel();
|
|
82
|
-
}
|
|
83
|
-
return (_jsxs("dialog", { ref: dialogRef, className: "confirm-dialog", "aria-labelledby": titleId, onCancel: handleNativeCancel, onClick: handleBackdropClick, children: [_jsx("h2", { id: titleId, children: props.title }), _jsx("div", { className: "confirm-dialog-body", children: props.body }), _jsxs("div", { className: "confirm-dialog-actions", children: [_jsx("button", { ref: cancelRef, type: "button", className: "btn-secondary", disabled: props.pending, onClick: props.onCancel, children: props.cancelLabel ?? DEFAULT_CANCEL_LABEL }), _jsx("button", { type: "button", className: toneClassName(resolveTone(props)), disabled: props.pending, onClick: props.onConfirm, children: props.confirmLabel })] })] }));
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=ConfirmDialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../../src/react/components/ConfirmDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/react/components/DataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEjG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAIH,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,CAAC;AAE3D;0FAC0F;AAC1F,MAAM,WAAW,mBAAmB,CAAC,GAAG;IACtC;;;;iDAI6C;IAC7C,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;IACpC;;;+DAG2D;IAC3D,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C;;;uCAGmC;IACnC,KAAK,EAAE,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,KAAK,MAAM,CAAC;CAC7D;AAED,MAAM,WAAW,eAAe,CAAC,GAAG;IAClC;4EACwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ;mGAC+F;IAC/F,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC7C,qCAAqC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3E;0FACsF;IACtF,IAAI,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc,CAAC,GAAG;IACjC,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C;;2DAEuD;IACvD,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;qBAGiB;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;4BACwB;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,sEAAsE;IACtE,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/D,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACnD;AAmED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,+BAiExD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","sourceRoot":"","sources":["../../../src/react/components/DataTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveHtmlEditor.d.ts","sourceRoot":"","sources":["../../../../src/react/components/InteractiveHtmlEditor/InteractiveHtmlEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,IAAI,eAAe,EACnD,MAAM,yBAAyB,CAAC;AAmCjC;;;wFAGwF;AACxF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAE5D;AA2ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,gCAAgC,GAAG,SAAS,CAelG;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,0BAA0B,CAAC,CAAC;AAElH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAQtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveHtmlEditor.js","sourceRoot":"","sources":["../../../../src/react/components/InteractiveHtmlEditor/InteractiveHtmlEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,qBAAqB,IAAI,UAAU,EACnC,0BAA0B,GAG3B,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;oGAUoG;AACpG,MAAM,uBAAuB,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,CAAU,CAAC;AAErG;;;wFAGwF;AACxF,MAAM,UAAU,uBAAuB,CAAC,EAAW;IACjD,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,iBAAiB,GAAqC;IAC1D,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACb,CAAC;AAEF;uGACuG;AACvG,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;8CAE8C;AAC9C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B;;;;;;;;;;;;;GAaG;AACH,SAAS,aAAa,CAAC,MAAyC;IAC9D,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5F,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,IAAI,CAAC,EAAE;QAAE,OAAO,WAAW,CAAC;IAC5B,OAAO,EAAE,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;AAC9F,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAW;IAClD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAE5E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;AACzG,CAAC;AAID,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,OAAO,CACL,KAAC,UAAU,OACL,KAAK,EACT,kBAAkB,EAAE,uBAAuB,EAC3C,wBAAwB,EAAE,wBAAwB,GAClD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RowMenu.d.ts","sourceRoot":"","sources":["../../../../src/react/components/RowMenu/RowMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;sBAKkB;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;uGAEmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB;;wEAEoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB;;wEAEoE;IACpE,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAC/B;uEACmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiBD,wBAAgB,OAAO,CAAC,EACtB,UAAU,EAAE,eAA4B,EACxC,WAAW,EAAE,UAAU,EACvB,GAAG,KAAK,EACT,EAAE,YAAY,+BA0Fd"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RowMenu.hooks.d.ts","sourceRoot":"","sources":["../../../../src/react/components/RowMenu/RowMenu.hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAEzF;;;;GAIG;AAEH,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9B;AAKD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM;;;;;;;0BAsFb,aAAa,CAAC,iBAAiB,CAAC;uBAUnC,aAAa,CAAC,cAAc,CAAC;2BAoCzB,MAAM,IAAI;EAgBzC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RowMenu.hooks.js","sourceRoot":"","sources":["../../../../src/react/components/RowMenu/RowMenu.hooks.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RowMenu.js","sourceRoot":"","sources":["../../../../src/react/components/RowMenu/RowMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { type ConfirmTone } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* @file Three-dot overflow menu for table rows — replaces the "one visible button per row" pattern
|
|
4
|
-
* so a row can grow more actions (Edit, Disable, Delete, …) without widening the table or producing
|
|
5
|
-
* the wall of buttons that pattern turns into.
|
|
6
|
-
*
|
|
7
|
-
* Portaled to `document.body` and positioned with `getBoundingClientRect()` rather than rendered as
|
|
8
|
-
* an in-flow absolutely-positioned child of the trigger — an admin table normally sits inside a
|
|
9
|
-
* horizontal scroller (`overflow-x: auto`), and per the CSS overflow spec, setting either axis to a
|
|
10
|
-
* non-`visible` value forces the *other* axis to compute as `auto` as well, so a menu positioned to
|
|
11
|
-
* escape the table's own box would be silently clipped by that same scroller. This is the identical
|
|
12
|
-
* problem `Sidebar.tsx`'s `RailTooltip` solves for `.cms-nav`'s `overflow-y: auto` (see that
|
|
13
|
-
* component's doc comment, where it was verified live via `getComputedStyle`) — same fix here: a
|
|
14
|
-
* DOM sibling of the app root, not a descendant of the clipping element.
|
|
15
|
-
*
|
|
16
|
-
* Unstyled: `.row-menu-trigger`, `.row-menu-popup`, `.row-menu-popup-above`, and `.row-menu-item`
|
|
17
|
-
* are emitted for the host stylesheet to define. Only the positioning that has to be measured at
|
|
18
|
-
* runtime is set inline.
|
|
19
|
-
*/
|
|
20
|
-
export interface RowMenuItem {
|
|
21
|
-
key: string;
|
|
22
|
-
label: string;
|
|
23
|
-
onSelect: () => void;
|
|
24
|
-
/** Visual tone — `"warning"` for reversible-but-access-affecting actions (e.g. Disable),
|
|
25
|
-
* `"danger"` for genuinely destructive ones (e.g. Delete). Defaults to `"default"` (neutral).
|
|
26
|
-
* Shares `ConfirmDialog`'s three-tier vocabulary on purpose — a caller wiring up "Disable opens
|
|
27
|
-
* nothing, Delete opens a ConfirmDialog" from the same item list should not have to reconcile
|
|
28
|
-
* two different tone enums to keep the colors matching. Wins over `destructive` below when both
|
|
29
|
-
* are passed. */
|
|
30
|
-
tone?: ConfirmTone;
|
|
31
|
-
/** @deprecated Use `tone: "danger"` instead — this only ever expressed the danger tier, and the
|
|
32
|
-
* vocabulary has a second one (`"warning"`) this boolean cannot reach. Kept working (mapped to
|
|
33
|
-
* `tone: "danger"` when `tone` is not set) for existing callers rather than a breaking rename. */
|
|
34
|
-
destructive?: boolean;
|
|
35
|
-
}
|
|
36
|
-
export interface RowMenuProps {
|
|
37
|
-
items: RowMenuItem[];
|
|
38
|
-
/** Full accessible name for the trigger, e.g. `Actions for "My Post"` — the row's own title
|
|
39
|
-
* doesn't disambiguate a bare "⋯" for a screen-reader user navigating control-by-control rather
|
|
40
|
-
* than row-by-row, same reasoning as `ConfirmButton.ariaLabel`. */
|
|
41
|
-
triggerLabel: string;
|
|
42
|
-
}
|
|
43
|
-
export declare function RowMenu(props: RowMenuProps): import("react").JSX.Element;
|
|
44
|
-
//# sourceMappingURL=RowMenu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RowMenu.d.ts","sourceRoot":"","sources":["../../../src/react/components/RowMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE3E;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;sBAKkB;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;uGAEmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB;;wEAEoE;IACpE,YAAY,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,+BAsM1C"}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
3
|
-
import { createPortal } from 'react-dom';
|
|
4
|
-
import { resolveTone, toneClassName } from '../types.js';
|
|
5
|
-
/** 8px clearance kept between the menu and the viewport edge on every side it's tested against. */
|
|
6
|
-
const VIEWPORT_MARGIN = 8;
|
|
7
|
-
export function RowMenu(props) {
|
|
8
|
-
const [open, setOpen] = useState(false);
|
|
9
|
-
const [position, setPosition] = useState(null);
|
|
10
|
-
const [activeIndex, setActiveIndex] = useState(0);
|
|
11
|
-
const triggerRef = useRef(null);
|
|
12
|
-
const menuRef = useRef(null);
|
|
13
|
-
const itemRefs = useRef([]);
|
|
14
|
-
itemRefs.current = itemRefs.current.slice(0, props.items.length);
|
|
15
|
-
function close(returnFocus) {
|
|
16
|
-
setOpen(false);
|
|
17
|
-
setPosition(null);
|
|
18
|
-
if (returnFocus)
|
|
19
|
-
triggerRef.current?.focus();
|
|
20
|
-
}
|
|
21
|
-
function openAt(index) {
|
|
22
|
-
setActiveIndex(index);
|
|
23
|
-
setOpen(true);
|
|
24
|
-
}
|
|
25
|
-
// Measured after the (initially off-screen, `visibility: hidden`) menu has actually laid out, so
|
|
26
|
-
// `menuRef.current`'s real dimensions are known before deciding above-vs-below — a plain
|
|
27
|
-
// `useEffect` would run one paint too late and produce a visible jump. Recomputed on scroll and
|
|
28
|
-
// resize too: a portaled menu is a DOM sibling of its anchor, not a child, so it does not track
|
|
29
|
-
// the anchor's position on its own the way an in-flow popup would.
|
|
30
|
-
useLayoutEffect(() => {
|
|
31
|
-
if (!open)
|
|
32
|
-
return;
|
|
33
|
-
function reposition() {
|
|
34
|
-
const trigger = triggerRef.current;
|
|
35
|
-
if (!trigger)
|
|
36
|
-
return;
|
|
37
|
-
const rect = trigger.getBoundingClientRect();
|
|
38
|
-
const menuHeight = menuRef.current?.offsetHeight ?? 0;
|
|
39
|
-
const menuWidth = menuRef.current?.offsetWidth ?? 0;
|
|
40
|
-
const spaceBelow = window.innerHeight - rect.bottom;
|
|
41
|
-
const fitsBelow = spaceBelow >= menuHeight + VIEWPORT_MARGIN;
|
|
42
|
-
const placement = fitsBelow || rect.top < menuHeight + VIEWPORT_MARGIN ? 'below' : 'above';
|
|
43
|
-
// Right-aligned to the trigger by default (the trigger is the table's last column), clamped
|
|
44
|
-
// so it never overflows the viewport's left or right edge.
|
|
45
|
-
const left = Math.min(Math.max(VIEWPORT_MARGIN, rect.right - menuWidth), window.innerWidth - menuWidth - VIEWPORT_MARGIN);
|
|
46
|
-
setPosition({
|
|
47
|
-
top: placement === 'below' ? rect.bottom + 4 : rect.top - 4,
|
|
48
|
-
left,
|
|
49
|
-
placement,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
reposition();
|
|
53
|
-
window.addEventListener('scroll', reposition, true);
|
|
54
|
-
window.addEventListener('resize', reposition);
|
|
55
|
-
return () => {
|
|
56
|
-
window.removeEventListener('scroll', reposition, true);
|
|
57
|
-
window.removeEventListener('resize', reposition);
|
|
58
|
-
};
|
|
59
|
-
}, [open]);
|
|
60
|
-
// Click-outside closes. Scoped to the open window only, same lifecycle discipline as
|
|
61
|
-
// `ConfirmButton`'s armed-only document listeners — a closed, idle `RowMenu` costs nothing beyond
|
|
62
|
-
// its trigger button even with many mounted per table.
|
|
63
|
-
useEffect(() => {
|
|
64
|
-
if (!open)
|
|
65
|
-
return;
|
|
66
|
-
function onDocMouseDown(e) {
|
|
67
|
-
const target = e.target;
|
|
68
|
-
if (menuRef.current?.contains(target) || triggerRef.current?.contains(target))
|
|
69
|
-
return;
|
|
70
|
-
close(false);
|
|
71
|
-
}
|
|
72
|
-
document.addEventListener('mousedown', onDocMouseDown);
|
|
73
|
-
return () => document.removeEventListener('mousedown', onDocMouseDown);
|
|
74
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
75
|
-
}, [open]);
|
|
76
|
-
// Keeps real DOM focus on the active item (roving focus via `tabIndex={-1}` on every item except
|
|
77
|
-
// the active one) rather than only tracking `activeIndex` in state — arrow-key navigation needs
|
|
78
|
-
// to move the browser's actual focus for a screen reader to announce it.
|
|
79
|
-
useEffect(() => {
|
|
80
|
-
if (!open)
|
|
81
|
-
return;
|
|
82
|
-
itemRefs.current[activeIndex]?.focus();
|
|
83
|
-
}, [open, activeIndex]);
|
|
84
|
-
function onTriggerKeyDown(e) {
|
|
85
|
-
if (e.key === 'ArrowDown') {
|
|
86
|
-
e.preventDefault();
|
|
87
|
-
openAt(0);
|
|
88
|
-
}
|
|
89
|
-
else if (e.key === 'ArrowUp') {
|
|
90
|
-
e.preventDefault();
|
|
91
|
-
openAt(props.items.length - 1);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
function onMenuKeyDown(e) {
|
|
95
|
-
const count = props.items.length;
|
|
96
|
-
switch (e.key) {
|
|
97
|
-
case 'ArrowDown':
|
|
98
|
-
e.preventDefault();
|
|
99
|
-
setActiveIndex((i) => (i + 1) % count);
|
|
100
|
-
break;
|
|
101
|
-
case 'ArrowUp':
|
|
102
|
-
e.preventDefault();
|
|
103
|
-
setActiveIndex((i) => (i - 1 + count) % count);
|
|
104
|
-
break;
|
|
105
|
-
case 'Home':
|
|
106
|
-
e.preventDefault();
|
|
107
|
-
setActiveIndex(0);
|
|
108
|
-
break;
|
|
109
|
-
case 'End':
|
|
110
|
-
e.preventDefault();
|
|
111
|
-
setActiveIndex(count - 1);
|
|
112
|
-
break;
|
|
113
|
-
case 'Escape':
|
|
114
|
-
e.preventDefault();
|
|
115
|
-
close(true);
|
|
116
|
-
break;
|
|
117
|
-
case 'Tab':
|
|
118
|
-
// Leaving via Tab closes the menu but does not steal focus back to the trigger — the
|
|
119
|
-
// browser's own tab order continues from wherever it lands, matching native menu behavior
|
|
120
|
-
// (and unlike Escape, which is an explicit "back out" gesture).
|
|
121
|
-
close(false);
|
|
122
|
-
break;
|
|
123
|
-
default:
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
function selectItem(item) {
|
|
128
|
-
close(true);
|
|
129
|
-
item.onSelect();
|
|
130
|
-
}
|
|
131
|
-
return (_jsxs(_Fragment, { children: [_jsx("button", { ref: triggerRef, type: "button", className: "row-menu-trigger", "aria-label": props.triggerLabel, "aria-haspopup": "menu", "aria-expanded": open, onClick: () => (open ? close(false) : openAt(0)), onKeyDown: onTriggerKeyDown, children: _jsxs("svg", { viewBox: "0 0 18 18", fill: "currentColor", "aria-hidden": "true", children: [_jsx("circle", { cx: "9", cy: "4.5", r: "1.5" }), _jsx("circle", { cx: "9", cy: "9", r: "1.5" }), _jsx("circle", { cx: "9", cy: "13.5", r: "1.5" })] }) }), open
|
|
132
|
-
? createPortal(_jsx("div", { ref: menuRef, role: "menu", "aria-label": props.triggerLabel, className: `row-menu-popup${position?.placement === 'above' ? ' row-menu-popup-above' : ''}`, style: {
|
|
133
|
-
position: 'fixed',
|
|
134
|
-
top: position ? position.top : -9999,
|
|
135
|
-
left: position ? position.left : -9999,
|
|
136
|
-
// Laid out but invisible until the first `reposition()` measurement lands (see the
|
|
137
|
-
// layout effect above) — keeps `offsetHeight`/`offsetWidth` measurable without a
|
|
138
|
-
// visible flash at the wrong coordinates.
|
|
139
|
-
visibility: position ? 'visible' : 'hidden',
|
|
140
|
-
transform: position?.placement === 'above' ? 'translateY(-100%)' : undefined,
|
|
141
|
-
}, onKeyDown: onMenuKeyDown, children: props.items.map((item, index) => {
|
|
142
|
-
const toneClass = toneClassName(resolveTone(item));
|
|
143
|
-
return (_jsx("button", { ref: (el) => {
|
|
144
|
-
itemRefs.current[index] = el;
|
|
145
|
-
}, type: "button", role: "menuitem", tabIndex: -1, className: ['row-menu-item', toneClass].filter(Boolean).join(' '), onClick: () => selectItem(item), children: item.label }, item.key));
|
|
146
|
-
}) }), document.body)
|
|
147
|
-
: null] }));
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=RowMenu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RowMenu.js","sourceRoot":"","sources":["../../../src/react/components/RowMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/react/components/Sidebar.tsx"],"names":[],"mappings":"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"}
|