@mt-gloss/ui 0.1.139 → 0.2.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.
Files changed (107) hide show
  1. package/{BaseAsyncButton-CJlY7Uik.js → BaseAsyncButton-Cq_l7clO.js} +29 -30
  2. package/COMMITS-Dm8qIHaq.js +444 -0
  3. package/Expandable-BcmIxWR8.js +13807 -0
  4. package/UIContext-DP6JGCto.js +1731 -0
  5. package/catalog.js +120 -122
  6. package/composites-panels.js +581 -1404
  7. package/index.d.ts +4 -2
  8. package/index.js +2368 -2029
  9. package/internals.js +80 -81
  10. package/lib/base/BaseAccordion/BaseAccordion.d.ts +4 -24
  11. package/lib/base/BaseCard/BaseCard.d.ts +8 -48
  12. package/lib/base/BaseCheckbox/BaseCheckbox.d.ts +1 -6
  13. package/lib/base/BaseInput/BaseInput.d.ts +1 -6
  14. package/lib/base/BaseMaskedInput/BaseMaskedInput.d.ts +1 -6
  15. package/lib/base/BaseMenu/BaseMenu.d.ts +2 -12
  16. package/lib/base/BaseRadio/BaseRadio.d.ts +1 -6
  17. package/lib/base/BaseRating/BaseRating.d.ts +1 -6
  18. package/lib/base/BaseSegmentedControl/BaseSegmentedControl.d.ts +1 -6
  19. package/lib/base/BaseSelect/BaseSelect.d.ts +2 -12
  20. package/lib/base/BaseTextarea/BaseTextarea.d.ts +1 -6
  21. package/lib/base/BaseToggle/BaseToggle.d.ts +1 -6
  22. package/lib/base/BaseTooltip/BaseTooltip.d.ts +1 -6
  23. package/lib/composites/dashboard/BellPopover/BellPopover.d.ts +0 -12
  24. package/lib/composites/forms/PasswordInput.d.ts +1 -6
  25. package/lib/composites/forms/PhoneInput.d.ts +1 -6
  26. package/lib/composites/forms/SearchInput.d.ts +1 -6
  27. package/lib/composites/forms/TagInput.d.ts +1 -6
  28. package/lib/composites/inputs/FilterChip.d.ts +1 -6
  29. package/lib/composites/overlay/SplitButton/SplitButton.d.ts +1 -6
  30. package/lib/composites/panels/PanelChrome.d.ts +1 -23
  31. package/lib/composites/panels/PanelSlot.d.ts +3 -14
  32. package/lib/composites/panels/coordinator/types.d.ts +1 -12
  33. package/lib/composites/panels/index.d.ts +4 -7
  34. package/lib/composites/panels/shells/CatalogAddShell.d.ts +8 -21
  35. package/lib/composites/panels/shells/CatalogReplaceShell.d.ts +4 -9
  36. package/lib/composites/panels/shells/PageMgmtShell.d.ts +3 -28
  37. package/lib/composites/panels/shells/SettingsShell.d.ts +3 -57
  38. package/lib/composites/panels/shells/index.d.ts +2 -4
  39. package/lib/composites/panels/shells/internals/CatalogLensPicker.d.ts +1 -14
  40. package/lib/composites/panels/shells/internals/CatalogTileGrid.d.ts +1 -18
  41. package/lib/composites/panels/shells/internals/PageMgmtFooter.d.ts +0 -11
  42. package/lib/composites/panels/shells/internals/PageMgmtRow.d.ts +1 -6
  43. package/lib/composites/panels/shells/internals/catalog-mocks.d.ts +8 -145
  44. package/lib/composites/panels/stage3d/CloneStage.d.ts +1 -11
  45. package/lib/containers/ContainerDialog/ContainerDialog.d.ts +3 -18
  46. package/lib/containers/ContainerFormSection/ContainerFormSection.d.ts +1 -6
  47. package/lib/containers/ContainerPanel/ContainerPanel.d.ts +1 -6
  48. package/lib/containers/ContainerTable/ContainerTable.d.ts +1 -6
  49. package/lib/containers/ContainerToolbar/ContainerToolbar.d.ts +1 -6
  50. package/lib/presets/PresetAccordion/PresetAccordion.d.ts +4 -24
  51. package/lib/presets/PresetBadge/PresetBadge.d.ts +1 -6
  52. package/lib/presets/PresetCard/PresetCard.d.ts +8 -48
  53. package/lib/presets/PresetCheckbox/PresetCheckbox.d.ts +1 -6
  54. package/lib/presets/PresetChip/PresetChip.d.ts +1 -6
  55. package/lib/presets/PresetColorPicker/PresetColorPicker.d.ts +1 -6
  56. package/lib/presets/PresetDatePicker/PresetDatePicker.d.ts +1 -6
  57. package/lib/presets/PresetDateRangePicker/PresetDateRangePicker.d.ts +1 -6
  58. package/lib/presets/PresetFileUpload/PresetFileUpload.d.ts +1 -6
  59. package/lib/presets/PresetInput/PresetInput.d.ts +1 -6
  60. package/lib/presets/PresetLink/PresetLink.d.ts +1 -6
  61. package/lib/presets/PresetMaskedInput/PresetMaskedInput.d.ts +1 -6
  62. package/lib/presets/PresetMenu/PresetMenu.d.ts +2 -12
  63. package/lib/presets/PresetNumberInput/PresetNumberInput.d.ts +1 -6
  64. package/lib/presets/PresetRadio/PresetRadio.d.ts +1 -6
  65. package/lib/presets/PresetRangeSlider/PresetRangeSlider.d.ts +1 -6
  66. package/lib/presets/PresetRating/PresetRating.d.ts +1 -6
  67. package/lib/presets/PresetTextarea/PresetTextarea.d.ts +1 -6
  68. package/lib/presets/PresetTimePicker/PresetTimePicker.d.ts +1 -6
  69. package/lib/presets/PresetToggle/PresetToggle.d.ts +1 -6
  70. package/lib/primitives/dashboard/ResizePill/ResizePill.d.ts +1 -7
  71. package/lib/primitives/dashboard/index.d.ts +0 -1
  72. package/lib/wrappers/Actionable/Actionable.d.ts +1 -6
  73. package/lib/wrappers/AsyncLoader/AsyncLoader.d.ts +1 -6
  74. package/lib/wrappers/ButtonGroup/ButtonGroup.d.ts +1 -6
  75. package/lib/wrappers/CheckboxGroup/CheckboxGroup.d.ts +1 -6
  76. package/lib/wrappers/Dismissible/Dismissible.d.ts +1 -6
  77. package/lib/wrappers/Expandable/Expandable.d.ts +1 -6
  78. package/lib/wrappers/InputGroup/InputGroup.d.ts +2 -12
  79. package/lib/wrappers/RadioGroup/RadioGroup.d.ts +1 -6
  80. package/lib/wrappers/Selectable/Selectable.d.ts +1 -6
  81. package/lib/wrappers/Sortable/Sortable.d.ts +1 -6
  82. package/package.json +1 -1
  83. package/ui.css +1 -1
  84. package/BaseText-Dxbk1JJa.js +0 -66
  85. package/COMMITS-DEdHYT0E.js +0 -963
  86. package/Expandable-DA4NFzCR.js +0 -13243
  87. package/MetricCard-DOPtBpek.js +0 -698
  88. package/UIContext-CGQI_KJk.js +0 -1808
  89. package/lib/composites/panels/chrome-v2/PanelBody.d.ts +0 -5
  90. package/lib/composites/panels/chrome-v2/PanelChromeV2.d.ts +0 -18
  91. package/lib/composites/panels/chrome-v2/PanelFooter.d.ts +0 -6
  92. package/lib/composites/panels/chrome-v2/PanelFooterMessage.d.ts +0 -6
  93. package/lib/composites/panels/chrome-v2/PanelHeader.d.ts +0 -10
  94. package/lib/composites/panels/chrome-v2/PanelNavigation.d.ts +0 -5
  95. package/lib/composites/panels/chrome-v2/PanelStage.d.ts +0 -5
  96. package/lib/composites/panels/chrome-v2/index.d.ts +0 -23
  97. package/lib/composites/panels/coordinator/settingsBufferSchemas.d.ts +0 -13
  98. package/lib/composites/panels/hooks/useEditingCardId.d.ts +0 -16
  99. package/lib/composites/panels/shells/MetricInfoShell.d.ts +0 -29
  100. package/lib/composites/panels/shells/NotificationCenterShell.d.ts +0 -2
  101. package/lib/composites/panels/shells/settings/GhostSlotPill.d.ts +0 -7
  102. package/lib/composites/panels/shells/settings/SlotsControls.d.ts +0 -11
  103. package/lib/composites/panels/shells/settings/TimeframeControls.d.ts +0 -6
  104. package/lib/composites/panels/shells/settings/index.d.ts +0 -14
  105. package/lib/primitives/dashboard/SettingsTabStrip/SettingsTabStrip.d.ts +0 -17
  106. package/lib/primitives/dashboard/SettingsTabStrip/index.d.ts +0 -6
  107. package/lib/primitives/dashboard/SettingsTabStrip/types.d.ts +0 -12
@@ -1,5 +0,0 @@
1
- import { ReactNode } from 'react';
2
- export interface PanelBodyProps {
3
- children: ReactNode;
4
- }
5
- export declare function PanelBody({ children }: PanelBodyProps): ReactNode;
@@ -1,18 +0,0 @@
1
- import { ReactNode } from 'react';
2
- export interface PanelChromeV2Props {
3
- children: ReactNode;
4
- onClose: () => void;
5
- title?: string;
6
- /** D-03 — 'no-stage' (Var A) omits stage entirely; 'with-stage' (Var B) mounts <PanelStage> with chassis-owned geometry. */
7
- variant?: 'no-stage' | 'with-stage';
8
- /** Var B only — stage content (e.g. <CloneCard …/>). Ignored when variant='no-stage'. */
9
- stage?: ReactNode;
10
- /** Optional pill-tab row between stage/header and body. Shell supplies the tab widget. */
11
- navigation?: ReactNode;
12
- /** D-06 — 2-slot footer. Shells compose 3-button arrangements as a fragment in `right`. */
13
- footer?: {
14
- left?: ReactNode;
15
- right?: ReactNode;
16
- };
17
- }
18
- export declare function PanelChromeV2({ children, onClose, title, variant, stage, navigation, footer, }: PanelChromeV2Props): ReactNode;
@@ -1,6 +0,0 @@
1
- import { ReactNode } from 'react';
2
- export interface PanelFooterProps {
3
- left?: ReactNode;
4
- right?: ReactNode;
5
- }
6
- export declare function PanelFooter({ left, right }: PanelFooterProps): ReactNode;
@@ -1,6 +0,0 @@
1
- import { ReactNode } from 'react';
2
- export interface PanelFooterMessageProps {
3
- primary: string;
4
- secondary?: string;
5
- }
6
- export declare function PanelFooterMessage({ primary, secondary }: PanelFooterMessageProps): ReactNode;
@@ -1,10 +0,0 @@
1
- import { ReactNode } from 'react';
2
- export interface PanelHeaderProps {
3
- title?: string;
4
- onClose: () => void;
5
- /** Phase 11.6-CR-01: id wired by PanelChromeV2 via React.useId() so the dialog
6
- * root's aria-labelledby points at the title span. WAI-ARIA 1.2 §3.15
7
- * requires every role="dialog" to carry an accessible name. */
8
- titleId?: string;
9
- }
10
- export declare function PanelHeader({ title, onClose, titleId }: PanelHeaderProps): ReactNode;
@@ -1,5 +0,0 @@
1
- import { ReactNode } from 'react';
2
- export interface PanelNavigationProps {
3
- children: ReactNode;
4
- }
5
- export declare function PanelNavigation({ children }: PanelNavigationProps): ReactNode;
@@ -1,5 +0,0 @@
1
- import { ReactNode } from 'react';
2
- export interface PanelStageProps {
3
- children: ReactNode;
4
- }
5
- export declare function PanelStage({ children }: PanelStageProps): ReactNode;
@@ -1,23 +0,0 @@
1
- /**
2
- * chrome-v2 barrel — Phase 11.6 P2 (D-02 flat layout).
3
- *
4
- * Re-exports the composer + 5 sub-components + the two-line message
5
- * sub-primitive. composites/panels/index.ts re-exports this whole barrel.
6
- *
7
- * Consumers (shells, reptime-cloud) import from '../chrome-v2' (intra-pkg)
8
- * or '@mt-gloss/ui/composites/panels' (cross-pkg via panels barrel).
9
- */
10
- export { PanelChromeV2 } from './PanelChromeV2';
11
- export type { PanelChromeV2Props } from './PanelChromeV2';
12
- export { PanelHeader } from './PanelHeader';
13
- export type { PanelHeaderProps } from './PanelHeader';
14
- export { PanelStage } from './PanelStage';
15
- export type { PanelStageProps } from './PanelStage';
16
- export { PanelNavigation } from './PanelNavigation';
17
- export type { PanelNavigationProps } from './PanelNavigation';
18
- export { PanelBody } from './PanelBody';
19
- export type { PanelBodyProps } from './PanelBody';
20
- export { PanelFooter } from './PanelFooter';
21
- export type { PanelFooterProps } from './PanelFooter';
22
- export { PanelFooterMessage } from './PanelFooterMessage';
23
- export type { PanelFooterMessageProps } from './PanelFooterMessage';
@@ -1,13 +0,0 @@
1
- /**
2
- * Normalizes a buffer value for a given key before writing to bufferByCard.
3
- * Called inside the SET_BUFFER_VALUE reducer case (coordinator.ts).
4
- * Unknown keys pass through unchanged (forward-compat).
5
- *
6
- * Post-M003-S002-CFG discriminated union (D-14):
7
- * timeframe → 30 (default), slots → []
8
- *
9
- * @param key buffer-value key — 'timeframe' | 'slots' | any forward-compat string
10
- * @param value unknown
11
- * @returns normalized value (clamped, parsed, or passthrough)
12
- */
13
- export declare function normalizeBufferValue(key: string, value: unknown): unknown;
@@ -1,16 +0,0 @@
1
- /**
2
- * useEditingCardId — derives the currently-editing card ID from coordinator state.
3
- *
4
- * Returns the cardId when activePanelId === 'settings' AND the trigger is a card-overflow.
5
- * Returns null otherwise.
6
- *
7
- * Phase 16 D-05: pure derivation — zero new state slice. Supersedes PHASE-C editingCardId slice proposal.
8
- *
9
- * Consumers (Phase 16):
10
- * - reptime MetricCardSlot — useSortable({ disabled: ... || !!editingCardId })
11
- * - reptime MetricCardSlot — useDraggable({ disabled: ... || !!editingCardId })
12
- * - reptime useEdgeHoverResize — enabled: !editingCardId
13
- * - reptime EmptyCellPackAffordance.onClick — early-return + dispatch SET_LOCK_HINT
14
- * - reptime toolbar `+` button — disabled attribute
15
- */
16
- export declare function useEditingCardId(): string | null;
@@ -1,29 +0,0 @@
1
- import { default as React } from 'react';
2
- import { PanelShellProps } from '../PanelHost';
3
- export interface MetricInfoBlock {
4
- /** Metric display name from getMetricInfo(metricTypeId).title. */
5
- title: string;
6
- /** Metric description from getMetricInfo(metricTypeId).description. */
7
- description: string;
8
- }
9
- export interface MetricInfoShellProps extends PanelShellProps {
10
- /** Span of the source card (1|2|3). Plumbed by reptime MetricSettingsPanel. */
11
- cardSpan?: 1 | 2 | 3;
12
- /**
13
- * Render-as-children path for the Stage 3D clone. Mirrors SettingsShell's
14
- * previewSlot prop (D-09 — verbatim reuse). Consumer (reptime) builds this
15
- * by calling renderCard(card, span, ...) so the clone is a 1:1 representation
16
- * of the live card.
17
- */
18
- previewSlot?: React.ReactNode;
19
- /**
20
- * Metric name + description block rendered below the CloneStage (D-05).
21
- * Consumer pulls these from getMetricInfo(metricTypeId) at
22
- * reptime-cloud/.../app/data/metricInfo/helpers.ts.
23
- */
24
- metricInfo: MetricInfoBlock;
25
- }
26
- export declare function MetricInfoShell({ isOpen, cardSpan, previewSlot, metricInfo, }: MetricInfoShellProps): import("react/jsx-runtime").JSX.Element;
27
- export declare namespace MetricInfoShell {
28
- var displayName: string;
29
- }
@@ -1,2 +0,0 @@
1
- import { PanelShellProps } from '../PanelHost';
2
- export declare function NotificationCenterShell({ isOpen }: PanelShellProps): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +0,0 @@
1
- import { default as React } from 'react';
2
- export interface GhostSlotPillProps {
3
- id: string;
4
- onActivate: () => void;
5
- disabled?: boolean;
6
- }
7
- export declare function GhostSlotPill({ id, onActivate, disabled, }: GhostSlotPillProps): React.ReactElement;
@@ -1,11 +0,0 @@
1
- import { default as React } from 'react';
2
- export interface SlotsControlsProps {
3
- value: ReadonlyArray<string>;
4
- onChange: (next: ReadonlyArray<string>) => void;
5
- /**
6
- * M003-S005-SLT D-08 — natural slot list from the card registry. Ghosts =
7
- * naturalSlots filtered to !value.includes. Default [].
8
- */
9
- naturalSlots?: ReadonlyArray<string>;
10
- }
11
- export declare function SlotsControls({ value, onChange, naturalSlots, }: SlotsControlsProps): React.ReactElement;
@@ -1,6 +0,0 @@
1
- import { default as React } from 'react';
2
- export interface TimeframeControlsProps {
3
- value: number;
4
- onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
5
- }
6
- export declare function TimeframeControls({ value, onChange }: TimeframeControlsProps): React.ReactElement;
@@ -1,14 +0,0 @@
1
- /**
2
- * SettingsShell tab-body components. Each renders inside SettingsShell's role=tabpanel via React
3
- * conditional render (CC-15/16). Phase 16 D-08 keeps these co-located with SettingsShell — they are
4
- * not standalone primitives.
5
- *
6
- * M003-S002-CFG (2026-05-26): ThresholdControls + ColorControls removed per D-10 (per-metric-type
7
- * threshold + color deferred to later product conversation).
8
- */
9
- export { TimeframeControls } from './TimeframeControls';
10
- export type { TimeframeControlsProps } from './TimeframeControls';
11
- export { SlotsControls } from './SlotsControls';
12
- export type { SlotsControlsProps } from './SlotsControls';
13
- export { GhostSlotPill } from './GhostSlotPill';
14
- export type { GhostSlotPillProps } from './GhostSlotPill';
@@ -1,17 +0,0 @@
1
- import { default as React } from 'react';
2
- import { SettingsTabStripProps } from './types';
3
- /**
4
- * SettingsTabStrip — WAI-ARIA Tabs pattern primitive for the Settings panel dimension strip.
5
- *
6
- * - Roles: container role='tablist'; each button role='tab'; activeTab has aria-selected='true' + tabIndex=0
7
- * - Keyboard: ArrowLeft/Right (wrap), Home, End — automatic activation (focus = select)
8
- * - Active indicator: motion.span with layoutId='settings-active-tab-indicator'; gated by useReducedMotionPanel
9
- *
10
- * Returns null when dimensions.length < 2 (single-dimension panels skip the strip).
11
- *
12
- * Phase 16 D-09. Avoids collision with existing presets/PresetSegmentedControl (role=radiogroup).
13
- */
14
- export declare function SettingsTabStrip({ dimensions, activeTab, onSelect, reduced: reducedProp, labels, ariaLabel, }: SettingsTabStripProps): React.ReactElement | null;
15
- export declare namespace SettingsTabStrip {
16
- var displayName: string;
17
- }
@@ -1,6 +0,0 @@
1
- /**
2
- * SettingsTabStrip barrel — WAI-ARIA Tabs pattern primitive for Settings panel dimension strip.
3
- * Phase 16 D-09. Use INSIDE SettingsShell to render the 3-or-4 tab navigation.
4
- */
5
- export { SettingsTabStrip } from './SettingsTabStrip';
6
- export type { SettingsTabStripProps, SettingsDimension } from './types';
@@ -1,12 +0,0 @@
1
- export type SettingsDimension = 'timeframe' | 'threshold' | 'slots' | 'color';
2
- export interface SettingsTabStripProps {
3
- dimensions: ReadonlyArray<SettingsDimension>;
4
- activeTab: SettingsDimension;
5
- onSelect: (next: SettingsDimension) => void;
6
- /** Override; when omitted, the component reads useReducedMotionPanel(). */
7
- reduced?: boolean;
8
- /** Optional label overrides; defaults to DIM_LABELS. */
9
- labels?: Partial<Record<SettingsDimension, string>>;
10
- /** Defaults to 'Settings dimensions'. */
11
- ariaLabel?: string;
12
- }