@geomak/ui 1.0.0 → 1.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.
package/dist/index.d.cts CHANGED
@@ -1,44 +1,8 @@
1
+ export { C as COLORS, S as SemanticColorKey, a as SemanticRadiusKey, V as VarColorKey, b as VarRadiusKey, c as VarShadowKey, P as palette, s as semanticTokens, v as vars } from './index-CPCiQllz.cjs';
1
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
3
  import React$1 from 'react';
3
4
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
4
5
 
5
- declare const COLORS: {
6
- PALETTE: {
7
- readonly 'true-blue': "#0466C8";
8
- readonly 'usafa-blue': "#0353A4";
9
- readonly 'dark-cornflower-blue': "#023E7D";
10
- readonly 'oxford-blue-700': "#002855";
11
- readonly 'oxford-blue-800': "#001845";
12
- readonly 'oxford-blue-900': "#001233";
13
- readonly independence: "#33415C";
14
- readonly 'black-coral': "#5C677D";
15
- readonly 'roman-silver': "#7D8597";
16
- readonly manatee: "#979DAC";
17
- readonly white: "#fff";
18
- readonly ice: "#DBF1FD";
19
- readonly 'ice-dark': "#d0e3ed";
20
- readonly 'midnight-green-eagle-900': "#013E53";
21
- readonly 'midnight-green-eagle-700': "#125F6C";
22
- readonly 'midnight-green-eagle-500': "#125F6C";
23
- readonly 'rich-black-fogra': "#000202";
24
- readonly 'rich-black-fogra-opaque': "#0000005b";
25
- readonly 'prussian-blue': "#00273A";
26
- readonly 'indigo-dye': "#013C54";
27
- readonly ming: "#0F6372";
28
- readonly skobeloff: "#217479";
29
- readonly 'dark-cyan': "#2A8784";
30
- readonly 'celadon-green': "#297E74";
31
- readonly turquise: "#2EB8B0";
32
- readonly 'oxford-blue-700-opaque': "rgba(0, 40, 85, .3)";
33
- readonly disabled: "#dee2e6";
34
- readonly error: "tomato";
35
- readonly warning: "orange";
36
- readonly success: "lightgreen";
37
- readonly info: "lightblue";
38
- readonly transparent: "rgba(255, 255, 255, .0)";
39
- };
40
- };
41
-
42
6
  declare const Icon: {
43
7
  (): react_jsx_runtime.JSX.Element;
44
8
  Moon: ({ color }: {
@@ -322,14 +286,15 @@ interface ModalProps {
322
286
  children?: React$1.ReactNode;
323
287
  }
324
288
  /**
325
- * Centred modal dialog powered by Radix Dialog.
289
+ * Centred modal dialog powered by Radix Dialog + Framer Motion.
326
290
  *
327
- * The Radix primitive handles focus-trap, escape-to-close, and ARIA roles.
328
- * The VesOPS visual style (scale-in animation, prussian-blue header) is preserved.
291
+ * Radix handles focus-trap, escape-to-close, and ARIA roles.
292
+ * Framer Motion drives the scale + fade enter/exit animation.
293
+ * prefers-reduced-motion is respected via useReducedMotion().
329
294
  *
330
295
  * @example
331
296
  * <Modal isOpen={open} onClose={() => setOpen(false)} title="Confirm" onOk={handleOk}>
332
- * Are you sure?
297
+ * Are you sure you want to delete this item?
333
298
  * </Modal>
334
299
  */
335
300
  declare function Modal({ size, isOpen, onClose, onOk, onCancel, okText, cancelText, hasFooter, title, children, }: ModalProps): react_jsx_runtime.JSX.Element;
@@ -338,7 +303,7 @@ interface DrawerProps {
338
303
  isOpen?: boolean;
339
304
  onClose?: () => void;
340
305
  hasFooter?: boolean;
341
- /** 'left' | 'right' */
306
+ /** 'left' | 'right' — which edge the panel slides from */
342
307
  placement?: 'left' | 'right';
343
308
  width?: number;
344
309
  okText?: string;
@@ -349,10 +314,11 @@ interface DrawerProps {
349
314
  children?: React$1.ReactNode;
350
315
  }
351
316
  /**
352
- * Side-sliding drawer panel powered by Radix Dialog.
317
+ * Side-sliding drawer panel powered by Radix Dialog + Framer Motion.
353
318
  *
354
319
  * Radix handles focus-trap, escape-to-close, and ARIA roles.
355
- * The drawer slides in from the left or right depending on `placement`.
320
+ * Framer Motion drives the slide enter/exit animation.
321
+ * prefers-reduced-motion is respected via useReducedMotion().
356
322
  *
357
323
  * @example
358
324
  * <Drawer isOpen={open} placement="right" onClose={() => setOpen(false)} title="Filters">
@@ -421,7 +387,7 @@ declare function Tabs({ tabs, onTabChange, onTabClose, isLazy, tabsClosable, def
421
387
 
422
388
  interface TreeNode {
423
389
  key: string;
424
- value: string;
390
+ label: string;
425
391
  nodeData?: any;
426
392
  parentLabel?: string;
427
393
  children?: TreeNode[];
@@ -434,26 +400,27 @@ interface TreeItemClickPayload {
434
400
  parentLabel?: string;
435
401
  }
436
402
  interface TreeProps {
437
- structure: TreeNode[];
438
- onItemClick: (payload: TreeItemClickPayload) => void;
403
+ nodes: TreeNode[];
404
+ onNodeClick: (payload: TreeItemClickPayload) => void;
439
405
  defaultExpandAll?: boolean;
440
406
  defaultExpandedKeys?: string[];
441
407
  }
442
408
  /** ─────────────────── public component ─────────────────── */
443
409
  /**
444
- * Hierarchical tree view powered by Radix Accordion (nested).
410
+ * Hierarchical tree view powered by Radix Accordion.
445
411
  *
446
- * Each parent node is an independent Accordion.Root with `type="multiple"` so
447
- * sibling branches are independent. Leaf nodes are plain clickable rows.
412
+ * Each parent node is an independent Accordion.Root with type="multiple" so
413
+ * sibling branches expand independently. Leaf nodes are plain buttons.
414
+ * Expand/collapse is animated via CSS keyframes.
448
415
  *
449
416
  * @example
450
417
  * <Tree
451
- * structure={fleetTree}
452
- * onItemClick={({ key, isParent }) => selectNode(key)}
418
+ * nodes={fleetTree}
419
+ * onNodeClick={({ key, isParent }) => selectNode(key)}
453
420
  * defaultExpandAll
454
421
  * />
455
422
  */
456
- declare function Tree({ structure, onItemClick, defaultExpandAll, defaultExpandedKeys, }: TreeProps): react_jsx_runtime.JSX.Element;
423
+ declare function Tree({ nodes, onNodeClick, defaultExpandAll, defaultExpandedKeys, }: TreeProps): react_jsx_runtime.JSX.Element;
457
424
 
458
425
  interface ToggleItem {
459
426
  key: string;
@@ -1270,4 +1237,4 @@ declare const Temporal: {
1270
1237
  TemporalPicker: typeof TemporalPickerBase;
1271
1238
  };
1272
1239
 
1273
- export { AutoComplete, type AutoCompleteProps, Button, type ButtonProps, COLORS, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, Drawer, type DrawerProps, Dropdown, type DropdownItem, DropdownPill, type DropdownPillProps, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, FileInput, type FileInputProps, GridCard, type GridCardItem, type GridCardProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, MenuBar, MenuBarItem, type MenuBarItemConfig, type MenuBarItemProps, type MenuBarProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, type PaginationOptions, Password, type PasswordProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Temporal, type TemporalPickerProps, TextInput, type TextInputProps, Switch$1 as ThemeSwitch, type ThemeSwitchProps, ToggleButton, type ToggleButtonProps, type ToggleItem, Tooltip, type TooltipProps, TooltipProvider, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Wizard, type WizardProps, type WizardStep, useNotification };
1240
+ export { AutoComplete, type AutoCompleteProps, Button, type ButtonProps, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, Drawer, type DrawerProps, Dropdown, type DropdownItem, DropdownPill, type DropdownPillProps, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, FileInput, type FileInputProps, GridCard, type GridCardItem, type GridCardProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, MenuBar, MenuBarItem, type MenuBarItemConfig, type MenuBarItemProps, type MenuBarProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, type PaginationOptions, Password, type PasswordProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Temporal, type TemporalPickerProps, TextInput, type TextInputProps, Switch$1 as ThemeSwitch, type ThemeSwitchProps, ToggleButton, type ToggleButtonProps, type ToggleItem, Tooltip, type TooltipProps, TooltipProvider, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Wizard, type WizardProps, type WizardStep, useNotification };
package/dist/index.d.ts CHANGED
@@ -1,44 +1,8 @@
1
+ export { C as COLORS, S as SemanticColorKey, a as SemanticRadiusKey, V as VarColorKey, b as VarRadiusKey, c as VarShadowKey, P as palette, s as semanticTokens, v as vars } from './index-CPCiQllz.js';
1
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
3
  import React$1 from 'react';
3
4
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
4
5
 
5
- declare const COLORS: {
6
- PALETTE: {
7
- readonly 'true-blue': "#0466C8";
8
- readonly 'usafa-blue': "#0353A4";
9
- readonly 'dark-cornflower-blue': "#023E7D";
10
- readonly 'oxford-blue-700': "#002855";
11
- readonly 'oxford-blue-800': "#001845";
12
- readonly 'oxford-blue-900': "#001233";
13
- readonly independence: "#33415C";
14
- readonly 'black-coral': "#5C677D";
15
- readonly 'roman-silver': "#7D8597";
16
- readonly manatee: "#979DAC";
17
- readonly white: "#fff";
18
- readonly ice: "#DBF1FD";
19
- readonly 'ice-dark': "#d0e3ed";
20
- readonly 'midnight-green-eagle-900': "#013E53";
21
- readonly 'midnight-green-eagle-700': "#125F6C";
22
- readonly 'midnight-green-eagle-500': "#125F6C";
23
- readonly 'rich-black-fogra': "#000202";
24
- readonly 'rich-black-fogra-opaque': "#0000005b";
25
- readonly 'prussian-blue': "#00273A";
26
- readonly 'indigo-dye': "#013C54";
27
- readonly ming: "#0F6372";
28
- readonly skobeloff: "#217479";
29
- readonly 'dark-cyan': "#2A8784";
30
- readonly 'celadon-green': "#297E74";
31
- readonly turquise: "#2EB8B0";
32
- readonly 'oxford-blue-700-opaque': "rgba(0, 40, 85, .3)";
33
- readonly disabled: "#dee2e6";
34
- readonly error: "tomato";
35
- readonly warning: "orange";
36
- readonly success: "lightgreen";
37
- readonly info: "lightblue";
38
- readonly transparent: "rgba(255, 255, 255, .0)";
39
- };
40
- };
41
-
42
6
  declare const Icon: {
43
7
  (): react_jsx_runtime.JSX.Element;
44
8
  Moon: ({ color }: {
@@ -322,14 +286,15 @@ interface ModalProps {
322
286
  children?: React$1.ReactNode;
323
287
  }
324
288
  /**
325
- * Centred modal dialog powered by Radix Dialog.
289
+ * Centred modal dialog powered by Radix Dialog + Framer Motion.
326
290
  *
327
- * The Radix primitive handles focus-trap, escape-to-close, and ARIA roles.
328
- * The VesOPS visual style (scale-in animation, prussian-blue header) is preserved.
291
+ * Radix handles focus-trap, escape-to-close, and ARIA roles.
292
+ * Framer Motion drives the scale + fade enter/exit animation.
293
+ * prefers-reduced-motion is respected via useReducedMotion().
329
294
  *
330
295
  * @example
331
296
  * <Modal isOpen={open} onClose={() => setOpen(false)} title="Confirm" onOk={handleOk}>
332
- * Are you sure?
297
+ * Are you sure you want to delete this item?
333
298
  * </Modal>
334
299
  */
335
300
  declare function Modal({ size, isOpen, onClose, onOk, onCancel, okText, cancelText, hasFooter, title, children, }: ModalProps): react_jsx_runtime.JSX.Element;
@@ -338,7 +303,7 @@ interface DrawerProps {
338
303
  isOpen?: boolean;
339
304
  onClose?: () => void;
340
305
  hasFooter?: boolean;
341
- /** 'left' | 'right' */
306
+ /** 'left' | 'right' — which edge the panel slides from */
342
307
  placement?: 'left' | 'right';
343
308
  width?: number;
344
309
  okText?: string;
@@ -349,10 +314,11 @@ interface DrawerProps {
349
314
  children?: React$1.ReactNode;
350
315
  }
351
316
  /**
352
- * Side-sliding drawer panel powered by Radix Dialog.
317
+ * Side-sliding drawer panel powered by Radix Dialog + Framer Motion.
353
318
  *
354
319
  * Radix handles focus-trap, escape-to-close, and ARIA roles.
355
- * The drawer slides in from the left or right depending on `placement`.
320
+ * Framer Motion drives the slide enter/exit animation.
321
+ * prefers-reduced-motion is respected via useReducedMotion().
356
322
  *
357
323
  * @example
358
324
  * <Drawer isOpen={open} placement="right" onClose={() => setOpen(false)} title="Filters">
@@ -421,7 +387,7 @@ declare function Tabs({ tabs, onTabChange, onTabClose, isLazy, tabsClosable, def
421
387
 
422
388
  interface TreeNode {
423
389
  key: string;
424
- value: string;
390
+ label: string;
425
391
  nodeData?: any;
426
392
  parentLabel?: string;
427
393
  children?: TreeNode[];
@@ -434,26 +400,27 @@ interface TreeItemClickPayload {
434
400
  parentLabel?: string;
435
401
  }
436
402
  interface TreeProps {
437
- structure: TreeNode[];
438
- onItemClick: (payload: TreeItemClickPayload) => void;
403
+ nodes: TreeNode[];
404
+ onNodeClick: (payload: TreeItemClickPayload) => void;
439
405
  defaultExpandAll?: boolean;
440
406
  defaultExpandedKeys?: string[];
441
407
  }
442
408
  /** ─────────────────── public component ─────────────────── */
443
409
  /**
444
- * Hierarchical tree view powered by Radix Accordion (nested).
410
+ * Hierarchical tree view powered by Radix Accordion.
445
411
  *
446
- * Each parent node is an independent Accordion.Root with `type="multiple"` so
447
- * sibling branches are independent. Leaf nodes are plain clickable rows.
412
+ * Each parent node is an independent Accordion.Root with type="multiple" so
413
+ * sibling branches expand independently. Leaf nodes are plain buttons.
414
+ * Expand/collapse is animated via CSS keyframes.
448
415
  *
449
416
  * @example
450
417
  * <Tree
451
- * structure={fleetTree}
452
- * onItemClick={({ key, isParent }) => selectNode(key)}
418
+ * nodes={fleetTree}
419
+ * onNodeClick={({ key, isParent }) => selectNode(key)}
453
420
  * defaultExpandAll
454
421
  * />
455
422
  */
456
- declare function Tree({ structure, onItemClick, defaultExpandAll, defaultExpandedKeys, }: TreeProps): react_jsx_runtime.JSX.Element;
423
+ declare function Tree({ nodes, onNodeClick, defaultExpandAll, defaultExpandedKeys, }: TreeProps): react_jsx_runtime.JSX.Element;
457
424
 
458
425
  interface ToggleItem {
459
426
  key: string;
@@ -1270,4 +1237,4 @@ declare const Temporal: {
1270
1237
  TemporalPicker: typeof TemporalPickerBase;
1271
1238
  };
1272
1239
 
1273
- export { AutoComplete, type AutoCompleteProps, Button, type ButtonProps, COLORS, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, Drawer, type DrawerProps, Dropdown, type DropdownItem, DropdownPill, type DropdownPillProps, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, FileInput, type FileInputProps, GridCard, type GridCardItem, type GridCardProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, MenuBar, MenuBarItem, type MenuBarItemConfig, type MenuBarItemProps, type MenuBarProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, type PaginationOptions, Password, type PasswordProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Temporal, type TemporalPickerProps, TextInput, type TextInputProps, Switch$1 as ThemeSwitch, type ThemeSwitchProps, ToggleButton, type ToggleButtonProps, type ToggleItem, Tooltip, type TooltipProps, TooltipProvider, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Wizard, type WizardProps, type WizardStep, useNotification };
1240
+ export { AutoComplete, type AutoCompleteProps, Button, type ButtonProps, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, Drawer, type DrawerProps, Dropdown, type DropdownItem, DropdownPill, type DropdownPillProps, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, FileInput, type FileInputProps, GridCard, type GridCardItem, type GridCardProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, MenuBar, MenuBarItem, type MenuBarItemConfig, type MenuBarItemProps, type MenuBarProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, type PaginationOptions, Password, type PasswordProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Temporal, type TemporalPickerProps, TextInput, type TextInputProps, Switch$1 as ThemeSwitch, type ThemeSwitchProps, ToggleButton, type ToggleButtonProps, type ToggleItem, Tooltip, type TooltipProps, TooltipProvider, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Wizard, type WizardProps, type WizardStep, useNotification };