@overmap-ai/blocks 1.0.27 → 1.0.28

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 (73) hide show
  1. package/dist/Buttons/index.d.ts +1 -1
  2. package/dist/Buttons/typings.d.ts +7 -5
  3. package/dist/CollapsibleTree/CollapsibleTree.d.ts +5 -0
  4. package/dist/CollapsibleTree/context.d.ts +14 -0
  5. package/dist/CollapsibleTree/index.d.ts +2 -0
  6. package/dist/CollapsibleTree/typings.d.ts +71 -0
  7. package/dist/DialogMenu/Provider.d.ts +6 -0
  8. package/dist/DialogMenu/components/DialogCommandMenu.d.ts +6 -0
  9. package/dist/DialogMenu/components/DialogMultiSelectMenu.d.ts +6 -0
  10. package/dist/DialogMenu/components/DialogSelectMenu.d.ts +7 -0
  11. package/dist/DialogMenu/components/index.d.ts +3 -0
  12. package/dist/DialogMenu/constants.d.ts +3 -0
  13. package/dist/DialogMenu/content/Content.d.ts +8 -0
  14. package/dist/DialogMenu/content/SubContent.d.ts +5 -0
  15. package/dist/DialogMenu/content/index.d.ts +2 -0
  16. package/dist/DialogMenu/context.d.ts +14 -0
  17. package/dist/DialogMenu/groups/Group.d.ts +3 -0
  18. package/dist/DialogMenu/groups/MultiSelectGroup.d.ts +3 -0
  19. package/dist/DialogMenu/groups/SelectGroup.d.ts +3 -0
  20. package/dist/DialogMenu/groups/index.d.ts +3 -0
  21. package/dist/DialogMenu/index.d.ts +20 -0
  22. package/dist/DialogMenu/items/Item.d.ts +3 -0
  23. package/dist/DialogMenu/items/MultiSelectItem.d.ts +3 -0
  24. package/dist/DialogMenu/items/SelectItem.d.ts +3 -0
  25. package/dist/DialogMenu/items/Separator.d.ts +4 -0
  26. package/dist/DialogMenu/items/SubTrigger.d.ts +3 -0
  27. package/dist/DialogMenu/items/index.d.ts +5 -0
  28. package/dist/DialogMenu/root/Root.d.ts +6 -0
  29. package/dist/DialogMenu/root/index.d.ts +1 -0
  30. package/dist/DialogMenu/typings.d.ts +59 -0
  31. package/dist/Dialogs/BaseDialog/BaseDialog.d.ts +3 -0
  32. package/dist/Dialogs/BaseDialog/index.d.ts +2 -0
  33. package/dist/Dialogs/BaseDialog/typings.d.ts +31 -0
  34. package/dist/Dialogs/Dialog/typings.d.ts +2 -7
  35. package/dist/Dialogs/Dialog/utils.d.ts +1 -1
  36. package/dist/Dialogs/Overlay/Overlay.d.ts +7 -0
  37. package/dist/Dialogs/Overlay/index.d.ts +1 -0
  38. package/dist/Dialogs/index.d.ts +2 -0
  39. package/dist/Dialogs/typings.d.ts +5 -0
  40. package/dist/DownloadButtonUtility/DownloadButtonUtility.d.ts +7 -0
  41. package/dist/DownloadButtonUtility/index.d.ts +1 -0
  42. package/dist/Layout/SlideOutOverlay.d.ts +2 -2
  43. package/dist/Layout/index.d.ts +1 -1
  44. package/dist/OvermapInputItem/OvermapInputItem.d.ts +6 -0
  45. package/dist/OvermapInputItem/index.d.ts +2 -0
  46. package/dist/OvermapInputItem/typings.d.ts +4 -0
  47. package/dist/OvermapItem/OvermapItem.d.ts +5 -0
  48. package/dist/OvermapItem/constants.d.ts +2 -0
  49. package/dist/OvermapItem/index.d.ts +2 -0
  50. package/dist/OvermapItem/typings.d.ts +24 -0
  51. package/dist/OvermapItemGroup/OvermapItemGroup.d.ts +3 -0
  52. package/dist/OvermapItemGroup/context.d.ts +9 -0
  53. package/dist/OvermapItemGroup/index.d.ts +3 -0
  54. package/dist/OvermapItemGroup/typings.d.ts +7 -0
  55. package/dist/RiIcon/RiIcon.d.ts +7 -0
  56. package/dist/RiIcon/index.d.ts +1 -0
  57. package/dist/SelectContext/Provider.d.ts +14 -0
  58. package/dist/SelectContext/context.d.ts +5 -0
  59. package/dist/SelectContext/index.d.ts +3 -0
  60. package/dist/SelectContext/typings.d.ts +10 -0
  61. package/dist/Table/typings.d.ts +1 -0
  62. package/dist/ToggleButton/ToggleButton.d.ts +8 -0
  63. package/dist/ToggleButton/index.d.ts +1 -0
  64. package/dist/blocks.js +1012 -164
  65. package/dist/blocks.js.map +1 -1
  66. package/dist/blocks.umd.cjs +1013 -169
  67. package/dist/blocks.umd.cjs.map +1 -1
  68. package/dist/constants.d.ts +1 -0
  69. package/dist/index.d.ts +9 -1
  70. package/dist/style.css +100 -28
  71. package/dist/typings.d.ts +4 -0
  72. package/dist/utils.d.ts +10 -4
  73. package/package.json +8 -3
@@ -1,2 +1,3 @@
1
1
  import { Size } from "./typings";
2
2
  export declare const SizeMapping: Record<Size, "1" | "2" | "3">;
3
+ export declare const DEFAULT_ICON_SIZE = "15px";
package/dist/index.d.ts CHANGED
@@ -3,8 +3,10 @@ export * from "./Breadcrumb";
3
3
  export * from "./Buttons";
4
4
  export * from "./ButtonGroup";
5
5
  export * from "./Dialogs";
6
+ export * from "./DialogMenu";
6
7
  export * from "./Flex";
7
8
  export * from "./BaseMenuGroups";
9
+ export * from "./CollapsibleTree";
8
10
  export * from "./ContextMenu";
9
11
  export * from "./ContextActionMenu";
10
12
  export * from "./ContextMultiSelectMenu";
@@ -13,6 +15,7 @@ export * from "./DropdownMenu";
13
15
  export * from "./DropdownItemMenu";
14
16
  export * from "./DropdownSelect";
15
17
  export * from "./DropdownMultiSelect";
18
+ export * from "./DownloadButtonUtility";
16
19
  export * from "./HoverUtility";
17
20
  export * from "./Select";
18
21
  export * from "./MultiSelect";
@@ -31,11 +34,16 @@ export * from "./ToggleGroup";
31
34
  export * from "./Toolbar";
32
35
  export * from "./Toast";
33
36
  export * from "./Tooltip";
37
+ export * from "./ToggleButton";
34
38
  export * from "./Text";
39
+ export * from "./RiIcon";
35
40
  export * from "./Theme";
36
41
  export * from "./Separator";
37
42
  export * from "./OvermapErrorBoundary";
38
- export { useSeverityColor, useViewportSize, useKeyboardShortcut, useStopEventPropagation, useTextFilter, splitTextForEllipsisAndExpansion, } from "./utils.ts";
43
+ export * from "./OvermapItem";
44
+ export * from "./OvermapItemGroup";
45
+ export * from "./OvermapInputItem";
46
+ export { useSeverityColor, useViewportSize, useKeyboardShortcut, useStopEventPropagation, useTextFilter, splitTextForEllipsisAndExpansion, useSize, } from "./utils";
39
47
  export * from "./Checkbox";
40
48
  export * from "./Table";
41
49
  export * from "./Spinner";
package/dist/style.css CHANGED
@@ -50,7 +50,7 @@
50
50
  }
51
51
  ._hoverSpin360Clockwise_r73gr_35:hover:not(:disabled) svg {
52
52
  transform: rotate(360deg) !important;
53
- }@keyframes _spin_isifr_9 {
53
+ }@keyframes _spin_1oknc_9 {
54
54
  0% {
55
55
  transform: rotate(0deg);
56
56
  }
@@ -58,13 +58,13 @@
58
58
  transform: rotate(360deg);
59
59
  }
60
60
  }
61
- ._spinner_isifr_9 {
61
+ ._spinner_1oknc_9 {
62
62
  width: 16px;
63
63
  height: 16px;
64
64
  border-radius: 9999px;
65
- border: 2px solid white;
65
+ border: 2px solid var(--gray-12);
66
66
  border-bottom: 2px solid transparent;
67
- animation: _spin_isifr_9 1s linear infinite;
67
+ animation: _spin_1oknc_9 1s linear infinite;
68
68
  }._merged_wdgxo_1 > .rt-BaseButton:not(:first-of-type):not(:last-of-type) {
69
69
  border-radius: 0;
70
70
  }
@@ -85,6 +85,88 @@
85
85
  border-bottom-left-radius: 0;
86
86
  }._separators_1f7v1_1 > *:not(:last-of-type) {
87
87
  border-bottom: 1px solid var(--gray-a6);
88
+ }._OverlayContent_1nr9w_1 {
89
+ position: fixed;
90
+ inset: 0;
91
+ }
92
+
93
+ ._OverlayOverlay_1nr9w_6 {
94
+ position: fixed;
95
+ inset: 0;
96
+ }._DialogMenuItem_1ojd2_1 {
97
+ position: relative;
98
+ outline: none;
99
+ user-select: none;
100
+ }
101
+ ._DialogMenuItem_1ojd2_1:after {
102
+ content: "";
103
+ position: absolute;
104
+ inset: 0;
105
+ background-color: transparent;
106
+ border-radius: var(--radius-2);
107
+ }
108
+ ._DialogMenuItem_1ojd2_1:hover:after, ._DialogMenuItem_1ojd2_1:focus-within:after {
109
+ background-color: var(--gray-a3);
110
+ }
111
+ ._DialogMenuItem_1ojd2_1:active:after {
112
+ background-color: var(--gray-a4);
113
+ }._light_1u8fs_1 span {
114
+ color: var(--gray-a3);
115
+ }
116
+ ._light_1u8fs_1 [role=separator] {
117
+ background-color: var(--gray-a3);
118
+ }
119
+
120
+ ._bold_1u8fs_8 span {
121
+ color: var(--gray-a9);
122
+ }
123
+ ._bold_1u8fs_8 [role=separator] {
124
+ background-color: var(--gray-a9);
125
+ }
126
+
127
+ ._full_1u8fs_15 span {
128
+ color: var(--gray-a12);
129
+ }
130
+ ._full_1u8fs_15 [role=separator] {
131
+ background-color: var(--gray-a12);
132
+ }
133
+
134
+ ._Text_1u8fs_22 {
135
+ color: var(--gray-a6);
136
+ }._OvermapInputItem_1jgzv_1 {
137
+ outline: none;
138
+ width: 100%;
139
+ height: 100%;
140
+ border: none;
141
+ background: transparent;
142
+ font-size: inherit;
143
+ }._DialogContentScrollArea_i3a60_1 {
144
+ height: 100%;
145
+ overflow: hidden;
146
+ width: 100%;
147
+ margin-right: calc(-1 * var(--space-3));
148
+ }
149
+ ._DialogContentScrollArea_i3a60_1 > [data-orientation=vertical] {
150
+ right: calc(-1 * var(--scrollarea-scrollbar-size)) !important;
151
+ }._DialogMenuWrapper_16hy0_1 {
152
+ display: flex;
153
+ justify-content: center;
154
+ overflow: hidden;
155
+ position: fixed;
156
+ inset: 0;
157
+ pointer-events: none;
158
+ padding: var(--space-9) var(--space-3) var(--space-3) var(--space-3);
159
+ }
160
+
161
+ ._DialogMenu_16hy0_1 {
162
+ pointer-events: all;
163
+ outline: none;
164
+ background: var(--color-background);
165
+ width: min(500px, 100%);
166
+ height: max-content;
167
+ max-height: 50%;
168
+ border-radius: var(--radius-2);
169
+ box-shadow: var(--shadow-5);
88
170
  }._BaseMenuItem_5r3et_1 {
89
171
  font-size: var(--font-size-2);
90
172
  }
@@ -497,6 +579,19 @@
497
579
  }
498
580
  ._default_1odpt_1 span {
499
581
  display: none;
582
+ }._ToggleButton_13aus_1[data-state=on][data-variant=solid] {
583
+ outline: 2px solid var(--color-focus-root);
584
+ outline-offset: 2px;
585
+ }
586
+ ._ToggleButton_13aus_1[data-state=on][data-variant=solid][data-accent-color=gray] {
587
+ outline-color: var(--accent-8);
588
+ }
589
+ ._ToggleButton_13aus_1[data-state=on][data-variant=soft], ._ToggleButton_13aus_1[data-state=on][data-variant=surface], ._ToggleButton_13aus_1[data-state=on][data-variant=outline] {
590
+ background: var(--accent-9);
591
+ color: var(--accent-9-contrast);
592
+ }
593
+ ._ToggleButton_13aus_1[data-state=on][data-variant=ghost] {
594
+ background-color: var(--accent-a5);
500
595
  }._noWrap_1wpa5_1 {
501
596
  white-space: nowrap;
502
597
  overflow: hidden;
@@ -518,30 +613,7 @@
518
613
  /* fix the cursor token only being applied to HTML buttons */
519
614
  cursor: var(--cursor-button);
520
615
  }
521
- ._light_1u8fs_1 span {
522
- color: var(--gray-a3);
523
- }
524
- ._light_1u8fs_1 [role=separator] {
525
- background-color: var(--gray-a3);
526
- }
527
-
528
- ._bold_1u8fs_8 span {
529
- color: var(--gray-a9);
530
- }
531
- ._bold_1u8fs_8 [role=separator] {
532
- background-color: var(--gray-a9);
533
- }
534
-
535
- ._full_1u8fs_15 span {
536
- color: var(--gray-a12);
537
- }
538
- ._full_1u8fs_15 [role=separator] {
539
- background-color: var(--gray-a12);
540
- }
541
-
542
- ._Text_1u8fs_22 {
543
- color: var(--gray-a6);
544
- }button {
616
+ button {
545
617
  all: unset;
546
618
  }
547
619
 
package/dist/typings.d.ts CHANGED
@@ -6,3 +6,7 @@ export type PropsWithClassNameAndStyle = {
6
6
  className?: string;
7
7
  style?: CSSProperties;
8
8
  };
9
+ export type ViewportSizes = "initial" | "xs" | "sm" | "md" | "lg" | "xl";
10
+ /** Type used to create a mapping from ViewportSizes to the desired value type T. Used to make values responsive and
11
+ * dynamic when the viewport size changes. */
12
+ export type OvermapResponsive<T> = Partial<Record<ViewportSizes, T>> | T;
package/dist/utils.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Responsive, ThemeOptions } from "@radix-ui/themes";
2
- import { ReactNode, ReactElement, SetStateAction, Dispatch } from "react";
3
- import { Severity } from "./typings";
2
+ import { ReactNode, ReactElement, SetStateAction, Dispatch, RefObject } from "react";
3
+ import { OvermapResponsive, Severity, ViewportSizes } from "./typings";
4
4
  /**
5
5
  * Returns an object with mapped key values or a single mapped value
6
6
  * @param value an object or string
@@ -11,8 +11,8 @@ export type AccentColor = ThemeOptions["accentColor"];
11
11
  /** Performs theme-sensitive mapping of a severity to radix color */
12
12
  export declare const useSeverityColor: (severity?: Severity) => AccentColor | undefined;
13
13
  export interface ViewportSize {
14
- size: "initial" | "xs" | "sm" | "md" | "lg" | "xl";
15
- prevSize: "initial" | "xs" | "sm" | "md" | "lg" | "xl";
14
+ size: ViewportSizes;
15
+ prevSize: ViewportSizes;
16
16
  xs: boolean;
17
17
  sm: boolean;
18
18
  md: boolean;
@@ -40,6 +40,7 @@ export declare const useStopEventPropagation: () => (event: Event) => void;
40
40
  * @param filterFunction make sure this is wrapped in a useCallback
41
41
  * @param values items that should be filtered on (of type T) */
42
42
  export declare function useTextFilter<T>(values: T[], filterFunction: (value: T, filterValue: string) => boolean): [T[], string, Dispatch<SetStateAction<string>>];
43
+ export declare const useSize: (target: RefObject<HTMLDivElement>) => DOMRectReadOnly | undefined;
43
44
  /** Temporary solution for text overflow where we want the container to expand up to a max height and use ellipsis if
44
45
  * overflow still occurs. Manually break up the text into two lines and conditionally render them in separate divs.
45
46
  * The second line/div should have styling that enables ellipsis.
@@ -51,3 +52,8 @@ export declare const genericMemo: <T>(component: T) => T;
51
52
  export type AllOrNone<T> = T | {
52
53
  [K in keyof T]?: never;
53
54
  };
55
+ /** Custom hook used to activate an OvermapResponsive value, which is simply a mapping from the different viewport sizes,
56
+ * those being "initial", "xs", "sm", "md", "lg", "xl", to a desired value type.
57
+ * @param value an OvermapResponsive value.
58
+ * NOTE: "initial" key must be specified on otherwise an error will be thrown */
59
+ export declare function useOvermapResponsiveValue<T>(value: OvermapResponsive<T>): T | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@overmap-ai/blocks",
3
- "version": "1.0.27",
3
+ "version": "1.0.28",
4
4
  "description": "A collection of React components for building Overmap's UI.",
5
5
  "private": false,
6
6
  "author": "Wôrdn Inc.",
@@ -23,6 +23,7 @@
23
23
  "@emotion/react": "^11.11.1",
24
24
  "@radix-ui/colors": "^3.0.0",
25
25
  "@radix-ui/react-accordion": "^1.1.2",
26
+ "@radix-ui/react-collapsible": "^1.0.3",
26
27
  "@radix-ui/react-context-menu": "^2.1.5",
27
28
  "@radix-ui/react-dialog": "^1.0.5",
28
29
  "@radix-ui/react-dismissable-layer": "^1.0.5",
@@ -31,14 +32,16 @@
31
32
  "@radix-ui/react-menu": "^2.0.6",
32
33
  "@radix-ui/react-slot": "^1.0.2",
33
34
  "@radix-ui/react-toast": "^1.1.5",
35
+ "@radix-ui/react-toggle": "^1.0.3",
34
36
  "@radix-ui/react-toggle-group": "^1.0.4",
35
37
  "@radix-ui/react-toolbar": "^1.0.4",
36
38
  "@radix-ui/themes": "^2.0.0",
37
- "@overmap-ai/react-table-library": "^0.1.1",
38
- "feather-icons-react": "^0.6.2",
39
+ "@react-hook/resize-observer": "^1.2.6",
40
+ "@table-library/react-table-library": "^4.1.7",
39
41
  "re-resizable": "^6.9.11",
40
42
  "react-device-detect": "^2.2.3",
41
43
  "react-error-boundary": "^4.0.13",
44
+ "react-icons": "^5.2.1",
42
45
  "react-responsive": "^9.0.2",
43
46
  "react-transition-group": "^4.4.5"
44
47
  },
@@ -63,6 +66,7 @@
63
66
  "@types/react-dom": "^18.2.7",
64
67
  "@types/react-responsive": "^8.0.7",
65
68
  "@types/react-transition-group": "^4.4.8",
69
+ "@types/uuid": "^9.0.8",
66
70
  "@typescript-eslint/eslint-plugin": "^6.0.0",
67
71
  "@typescript-eslint/parser": "^6.0.0",
68
72
  "@vitejs/plugin-react-swc": "^3.3.2",
@@ -74,6 +78,7 @@
74
78
  "eslint-plugin-react-hooks": "^4.6.0",
75
79
  "eslint-plugin-react-refresh": "^0.4.3",
76
80
  "eslint-plugin-storybook": "^0.6.13",
81
+ "feather-icons-react": "^0.7.0",
77
82
  "husky": "^8.0.3",
78
83
  "lint-staged": "^14.0.1",
79
84
  "prettier": "^3.0.3",