@tcn/ui 0.11.0 → 0.12.1

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 (102) hide show
  1. package/dist/feedback/index.d.ts +1 -0
  2. package/dist/feedback/index.d.ts.map +1 -1
  3. package/dist/feedback/index.js +6 -4
  4. package/dist/feedback/index.js.map +1 -1
  5. package/dist/feedback/progress/progress.d.ts +7 -0
  6. package/dist/feedback/progress/progress.d.ts.map +1 -0
  7. package/dist/feedback/progress/progress.js +38 -0
  8. package/dist/feedback/progress/progress.js.map +1 -0
  9. package/dist/feedback/progress/progress_bar.d.ts +0 -1
  10. package/dist/feedback/progress/progress_bar.d.ts.map +1 -1
  11. package/dist/feedback/progress/progress_bar.js +6 -46
  12. package/dist/feedback/progress/progress_bar.js.map +1 -1
  13. package/dist/form/field/common/status_input/status_input.js +4 -3
  14. package/dist/form/field/common/status_input/status_input.js.map +1 -1
  15. package/dist/inputs/suggestions/suggestion_list.d.ts.map +1 -1
  16. package/dist/inputs/suggestions/suggestion_list.js +145 -127
  17. package/dist/inputs/suggestions/suggestion_list.js.map +1 -1
  18. package/dist/overlay/frame/frame.d.ts.map +1 -1
  19. package/dist/overlay/frame/frame.js +65 -65
  20. package/dist/overlay/frame/frame.js.map +1 -1
  21. package/dist/progress_bar-CPP0Jyv-.js +38 -0
  22. package/dist/progress_bar-CPP0Jyv-.js.map +1 -0
  23. package/dist/progress_bar.css +1 -1
  24. package/dist/stacks/box/bottom_resize_handle.d.ts +2 -8
  25. package/dist/stacks/box/bottom_resize_handle.d.ts.map +1 -1
  26. package/dist/stacks/box/bottom_resize_handle.js.map +1 -1
  27. package/dist/stacks/box/box.d.ts +2 -2
  28. package/dist/stacks/box/box.d.ts.map +1 -1
  29. package/dist/stacks/box/box.js.map +1 -1
  30. package/dist/stacks/box/end_resize_handle.d.ts +2 -8
  31. package/dist/stacks/box/end_resize_handle.d.ts.map +1 -1
  32. package/dist/stacks/box/end_resize_handle.js.map +1 -1
  33. package/dist/stacks/box/left_resize_handle.d.ts +2 -8
  34. package/dist/stacks/box/left_resize_handle.d.ts.map +1 -1
  35. package/dist/stacks/box/left_resize_handle.js.map +1 -1
  36. package/dist/stacks/box/resize_handlers.d.ts +3 -2
  37. package/dist/stacks/box/resize_handlers.d.ts.map +1 -1
  38. package/dist/stacks/box/resize_handlers.js +36 -32
  39. package/dist/stacks/box/resize_handlers.js.map +1 -1
  40. package/dist/stacks/box/right_resize_handle.d.ts +2 -8
  41. package/dist/stacks/box/right_resize_handle.d.ts.map +1 -1
  42. package/dist/stacks/box/right_resize_handle.js.map +1 -1
  43. package/dist/stacks/box/start_resize_handle.d.ts +2 -8
  44. package/dist/stacks/box/start_resize_handle.d.ts.map +1 -1
  45. package/dist/stacks/box/start_resize_handle.js.map +1 -1
  46. package/dist/stacks/box/top_resize_handle.d.ts +2 -8
  47. package/dist/stacks/box/top_resize_handle.d.ts.map +1 -1
  48. package/dist/stacks/box/top_resize_handle.js.map +1 -1
  49. package/dist/stacks/box/types.d.ts +18 -0
  50. package/dist/stacks/box/types.d.ts.map +1 -0
  51. package/dist/stacks/h_collapsible_box.js +25 -25
  52. package/dist/stacks/h_collapsible_box.js.map +1 -1
  53. package/dist/stacks/index.d.ts +1 -0
  54. package/dist/stacks/index.d.ts.map +1 -1
  55. package/dist/stacks/v_collapsible_box.js +25 -25
  56. package/dist/stacks/v_collapsible_box.js.map +1 -1
  57. package/dist/surfaces/modal/modal.d.ts +3 -4
  58. package/dist/surfaces/modal/modal.d.ts.map +1 -1
  59. package/dist/surfaces/modal/modal.js +10 -8
  60. package/dist/surfaces/modal/modal.js.map +1 -1
  61. package/dist/surfaces/pop_confirm/pop_confirm.d.ts.map +1 -1
  62. package/dist/surfaces/pop_confirm/pop_confirm.js +18 -12
  63. package/dist/surfaces/pop_confirm/pop_confirm.js.map +1 -1
  64. package/dist/surfaces/tooltip/tooltip.d.ts.map +1 -1
  65. package/dist/surfaces/tooltip/tooltip.js +22 -20
  66. package/dist/surfaces/tooltip/tooltip.js.map +1 -1
  67. package/dist/surfaces/window/window.d.ts +3 -4
  68. package/dist/surfaces/window/window.d.ts.map +1 -1
  69. package/dist/surfaces/window/window.js +20 -18
  70. package/dist/surfaces/window/window.js.map +1 -1
  71. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  72. package/dist/themes/themes/ergo/ergo_theme.js +3 -1
  73. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
  74. package/package.json +1 -1
  75. package/src/feedback/index.ts +1 -0
  76. package/src/feedback/progress/progress.module.css +5 -0
  77. package/src/feedback/progress/progress.stories.tsx +48 -0
  78. package/src/feedback/progress/progress.tsx +39 -0
  79. package/src/feedback/progress/progress_bar.module.css +4 -28
  80. package/src/feedback/progress/progress_bar.stories.tsx +1 -1
  81. package/src/feedback/progress/progress_bar.tsx +14 -26
  82. package/src/inputs/select/select.stories.tsx +23 -2
  83. package/src/inputs/suggestions/suggestion_list.tsx +58 -39
  84. package/src/overlay/frame/frame.tsx +10 -12
  85. package/src/stacks/box/bottom_resize_handle.tsx +2 -13
  86. package/src/stacks/box/box.tsx +4 -2
  87. package/src/stacks/box/end_resize_handle.tsx +3 -13
  88. package/src/stacks/box/left_resize_handle.tsx +3 -13
  89. package/src/stacks/box/resize_handlers.ts +22 -18
  90. package/src/stacks/box/right_resize_handle.tsx +2 -13
  91. package/src/stacks/box/start_resize_handle.tsx +3 -13
  92. package/src/stacks/box/top_resize_handle.tsx +3 -12
  93. package/src/stacks/box/types.ts +44 -0
  94. package/src/stacks/h_collapsible_box.tsx +2 -2
  95. package/src/stacks/index.ts +1 -0
  96. package/src/stacks/v_collapsible_box.tsx +2 -2
  97. package/src/surfaces/modal/modal.tsx +6 -4
  98. package/src/surfaces/pop_confirm/pop_confirm.tsx +8 -2
  99. package/src/surfaces/tooltip/tooltip.tsx +2 -1
  100. package/src/surfaces/window/window.stories.tsx +9 -1
  101. package/src/surfaces/window/window.tsx +6 -4
  102. package/src/themes/themes/ergo/ergo_theme.css +3 -1
@@ -0,0 +1,44 @@
1
+ import type { HandleProps } from './handle_props.js';
2
+
3
+ export type WidthResizeOrigin = 'left' | 'right';
4
+ export type HeightResizeOrigin = 'top' | 'bottom';
5
+
6
+ export type OnWidthResize = (
7
+ // Newly calculated width
8
+ width: number,
9
+ // Origin of the resize - left or right of the box
10
+ origin: WidthResizeOrigin,
11
+ // Total delta of the resize (the sum of all deltas before end event)
12
+ totalDelta: number,
13
+ // Current delta of the resize (the delta of the current event)
14
+ currentDelta: number,
15
+ // Whether the resize is at the limit of the box, this includes min-content, max-content, and min-width/height
16
+ atLimit: boolean
17
+ ) => void;
18
+
19
+ export type OnHeightResize = (
20
+ // Newly calculated height
21
+ height: number,
22
+ // Origin of the resize - top or bottom of the box
23
+ origin: HeightResizeOrigin,
24
+ // Total delta of the resize (the sum of all deltas before end event)
25
+ totalDelta: number,
26
+ // Current delta of the resize (the delta of the current event)
27
+ currentDelta: number,
28
+ // Whether the resize is at the limit of the box, this includes min-content, max-content, and min-width/height
29
+ atLimit: boolean
30
+ ) => void;
31
+
32
+ export interface HorizontalResizeHandleProps {
33
+ targetRef: React.MutableRefObject<HTMLElement | null>;
34
+ handleProps?: HandleProps;
35
+ onWidthResize?: OnWidthResize;
36
+ onWidthResizeEnd?: (width: number, origin: WidthResizeOrigin) => void;
37
+ }
38
+
39
+ export interface VerticalResizeHandleProps {
40
+ targetRef: React.MutableRefObject<HTMLElement | null>;
41
+ handleProps?: HandleProps;
42
+ onHeightResize?: OnHeightResize;
43
+ onHeightResizeEnd?: (height: number, origin: HeightResizeOrigin) => void;
44
+ }
@@ -32,9 +32,9 @@ export const HCollapsibleBox = React.forwardRef(function CollapsibleBox(
32
32
  data-is-collapsed={!open}
33
33
  data-collapse-orientation="horizontal"
34
34
  data-is-resizing={resizing}
35
- onWidthResize={(width, origin, totalDelta, currentDelta) => {
35
+ onWidthResize={(...args) => {
36
36
  setIsResizing(true);
37
- props.onWidthResize?.(width, origin, totalDelta, currentDelta);
37
+ props.onWidthResize?.(...args);
38
38
  }}
39
39
  onWidthResizeEnd={(width, origin) => {
40
40
  setIsResizing(false);
@@ -1,4 +1,5 @@
1
1
  export * from './box/box.js';
2
+ export * from './box/types.js';
2
3
  export * from './types/alignment.js';
3
4
  export * from './types/as.js';
4
5
  export * from './types/common.js';
@@ -32,9 +32,9 @@ export const VCollapsibleBox = React.forwardRef(function CollapsibleBox(
32
32
  data-is-collapsed={!open}
33
33
  data-collapse-orientation="vertical"
34
34
  data-is-resizing={resizing}
35
- onHeightResize={(height, origin, totalDelta, currentDelta) => {
35
+ onHeightResize={(...args) => {
36
36
  setIsResizing(true);
37
- props.onHeightResize?.(height, origin, totalDelta, currentDelta);
37
+ props.onHeightResize?.(...args);
38
38
  }}
39
39
  onHeightResizeEnd={(height, origin) => {
40
40
  setIsResizing(false);
@@ -1,12 +1,12 @@
1
1
  import { clsx } from 'clsx';
2
2
  import React from 'react';
3
- import { Frame, type FrameOwnProps } from '../../overlay/frame/frame.js';
4
- import { Scaffold, type ScaffoldProps } from '../../layouts/scaffold/scaffold.js';
3
+ import { Frame, type FrameProps } from '../../overlay/frame/frame.js';
4
+ import { Scaffold } from '../../layouts/scaffold/scaffold.js';
5
5
 
6
6
  // Styles
7
7
  import styles from './modal.module.css';
8
8
 
9
- export type ModalProps = FrameOwnProps & ScaffoldProps;
9
+ export type ModalProps = FrameProps;
10
10
 
11
11
  export const Modal = React.forwardRef<HTMLElement, ModalProps>(function Modal(
12
12
  { children, className, isOpen, draggable = false, veil = true, ...props }: ModalProps,
@@ -14,12 +14,14 @@ export const Modal = React.forwardRef<HTMLElement, ModalProps>(function Modal(
14
14
  ) {
15
15
  return (
16
16
  <Frame
17
+ ref={ref}
17
18
  isOpen={isOpen}
18
19
  draggable={draggable}
19
20
  veil={veil}
20
21
  className={clsx(styles['modal'], 'tcn-surface', 'tcn-modal', className)}
22
+ {...props}
21
23
  >
22
- <Scaffold ref={ref} {...props}>
24
+ <Scaffold className={'tcn-modal-scaffold'} width="100%" height="100%">
23
25
  {children}
24
26
  </Scaffold>
25
27
  </Frame>
@@ -11,13 +11,19 @@ export type PopConfirmProps = ElementPopperProps;
11
11
 
12
12
  export const PopConfirm = React.forwardRef<HTMLDivElement, PopConfirmProps>(
13
13
  function PopConfirm(
14
- { children, className, dismissals = [PopperDismissal.CLICK_AWAY], ...props },
14
+ {
15
+ children,
16
+ className,
17
+ precision = 'low',
18
+ dismissals = [PopperDismissal.CLICK_AWAY],
19
+ ...props
20
+ },
15
21
  ref
16
22
  ) {
17
23
  return (
18
24
  <ElementPopper
19
25
  ref={ref}
20
- precision="high"
26
+ precision={precision}
21
27
  className={clsx(className, 'tcn-pop-confirm')}
22
28
  dismissals={dismissals}
23
29
  {...props}
@@ -22,6 +22,7 @@ export const Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(function T
22
22
  verticalOrigin = 'bottom',
23
23
  horizontalAnchor = 'center',
24
24
  horizontalOrigin = 'center',
25
+ precision = 'low', // TODO: Fix caret styles and set to high
25
26
  label,
26
27
  ...props
27
28
  },
@@ -49,7 +50,7 @@ export const Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(function T
49
50
  verticalOrigin={verticalOrigin}
50
51
  horizontalAnchor={horizontalAnchor}
51
52
  horizontalOrigin={horizontalOrigin}
52
- precision="high"
53
+ precision={precision}
53
54
  className={clsx(className, styles.tooltip, 'tcn-surface', 'tcn-tooltip')}
54
55
  {...props}
55
56
  >
@@ -25,7 +25,15 @@ export const WindowStory = () => {
25
25
  return (
26
26
  <ZStack height="100%" width="100%" minHeight="600px">
27
27
  <Button onClick={toggle}>{isOpen ? 'Close' : 'Open'}</Button>
28
- <Window isOpen={isOpen} width="400px" height="500px">
28
+ <Window
29
+ isOpen={isOpen}
30
+ width="400px"
31
+ height="500px"
32
+ minWidth="min-content"
33
+ minHeight="300px"
34
+ maxWidth="600px"
35
+ maxHeight="600px"
36
+ >
29
37
  <DragHandle>
30
38
  <Header>
31
39
  <Title>Window Title</Title>
@@ -1,12 +1,12 @@
1
1
  import { clsx } from 'clsx';
2
2
  import React from 'react';
3
- import { Scaffold, type ScaffoldProps } from '../../layouts/scaffold/scaffold.js';
4
- import { Frame, type FrameOwnProps } from '../../overlay/frame/frame.js';
3
+ import { Frame, type FrameProps } from '../../overlay/frame/frame.js';
4
+ import { Scaffold } from '../../layouts/scaffold/scaffold.js';
5
5
 
6
6
  // Styles
7
7
  import styles from './window.module.css';
8
8
 
9
- export type WindowProps = FrameOwnProps & ScaffoldProps;
9
+ export type WindowProps = FrameProps;
10
10
 
11
11
  export const Window = React.forwardRef<HTMLElement, WindowProps>(function Window(
12
12
  {
@@ -30,8 +30,10 @@ export const Window = React.forwardRef<HTMLElement, WindowProps>(function Window
30
30
  className={clsx(styles['window'], 'tcn-surface', 'tcn-window', className)}
31
31
  width={width}
32
32
  height={height}
33
+ ref={ref}
34
+ {...props}
33
35
  >
34
- <Scaffold ref={ref} {...props}>
36
+ <Scaffold width="100%" height="100%" className={'tcn-window-scaffold'}>
35
37
  {children}
36
38
  </Scaffold>
37
39
  </Frame>
@@ -686,6 +686,7 @@
686
686
  /* MODAL: */
687
687
  .tcn-modal {
688
688
  --divide-header: 0;
689
+ box-shadow: 0px 4px 34px 0px #00000096;
689
690
 
690
691
  :where(.tcn-scaffold) {
691
692
  border-radius: var(--shape-radius-medium);
@@ -710,10 +711,11 @@
710
711
 
711
712
  /* WINDOW: */
712
713
  .tcn-window {
714
+ box-shadow: 0px 4px 34px 0px #00000096;
715
+
713
716
  --divide-header: 0;
714
717
 
715
718
  :where(.tcn-scaffold) {
716
- box-shadow: 0px 4px 34px 0px #00000096;
717
719
  border-radius: var(--shape-radius-medium);
718
720
  background-color: var(--background-color-primary);
719
721
  overflow: hidden;