@1771technologies/lytenyte-pro 0.0.39

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 (168) hide show
  1. package/LICENSE +15 -0
  2. package/dist/DialogPortalContext-C2WZTqJ3.js +47 -0
  3. package/dist/InternalBackdrop-Dm9czgoC.js +6746 -0
  4. package/dist/MenuRoot-9n64jNWP.js +724 -0
  5. package/dist/anchor-context-B9sGQdR5.js +35 -0
  6. package/dist/arrow-down-icon-B-3ldODD.js +27 -0
  7. package/dist/arrow-svg-evmXDI_J.js +29 -0
  8. package/dist/column-manager.js +1241 -0
  9. package/dist/cross-icon-CEMLAlFX.js +20 -0
  10. package/dist/dialog.js +506 -0
  11. package/dist/filter-manager.js +1056 -0
  12. package/dist/getPseudoElementBounds-BSHt6WYm.js +26 -0
  13. package/dist/grid-container.js +18 -0
  14. package/dist/icons.js +512 -0
  15. package/dist/index.js +3730 -0
  16. package/dist/lytenyte-pro.css +1948 -0
  17. package/dist/manage-columns-icon-D4CElo5H.js +146 -0
  18. package/dist/menu.js +1639 -0
  19. package/dist/pill-C4Jhdf8E.js +985 -0
  20. package/dist/pill-manager.js +674 -0
  21. package/dist/plus-icon-ToqW5CC-.js +15 -0
  22. package/dist/popover.js +770 -0
  23. package/dist/row-group-icon-BOOju5Vu.js +205 -0
  24. package/dist/search-icon-CcG1lqsn.js +86 -0
  25. package/dist/select-C6xOZZLq.js +2231 -0
  26. package/dist/sort-manager.js +298 -0
  27. package/dist/tickmark-icon-CoogRMoO.js +51 -0
  28. package/dist/types/cell-selection/cell-selection-containers.d.ts +3 -0
  29. package/dist/types/cell-selection/cell-selection-driver.d.ts +1 -0
  30. package/dist/types/cell-selection/cell-style-row.d.ts +8 -0
  31. package/dist/types/column-manager/column-manager-drag-box-controls.d.ts +1 -0
  32. package/dist/types/column-manager/column-manager-drag-box-expander.d.ts +1 -0
  33. package/dist/types/column-manager/column-manager-drag-box-label.d.ts +5 -0
  34. package/dist/types/column-manager/column-manager-drag-box.d.ts +13 -0
  35. package/dist/types/column-manager/column-manager-drag-placeholder.d.ts +5 -0
  36. package/dist/types/column-manager/column-manager-drop-zone.d.ts +10 -0
  37. package/dist/types/column-manager/column-manager-impl.d.ts +36 -0
  38. package/dist/types/column-manager/column-manager-pill.d.ts +4 -0
  39. package/dist/types/column-manager/column-manager-pivot-mode-toggle.d.ts +1 -0
  40. package/dist/types/column-manager/column-manager-search.d.ts +1 -0
  41. package/dist/types/column-manager/column-manager-state.d.ts +8 -0
  42. package/dist/types/column-manager/column-manager-tree-item.d.ts +6 -0
  43. package/dist/types/column-manager/column-manager-tree.d.ts +11 -0
  44. package/dist/types/column-manager/column-manager-types.d.ts +1 -0
  45. package/dist/types/column-manager/column-manager.d.ts +1 -0
  46. package/dist/types/column-manager/column-mananger-context.d.ts +12 -0
  47. package/dist/types/column-manager/utils/all-leafs.d.ts +3 -0
  48. package/dist/types/column-manager/utils/can-hide-item.d.ts +3 -0
  49. package/dist/types/column-manager/utils/handle-item-hide.d.ts +3 -0
  50. package/dist/types/components-internal/button/button.d.ts +9 -0
  51. package/dist/types/components-internal/grid-frame/grid-frame.d.ts +11 -0
  52. package/dist/types/components-internal/radio/radio.d.ts +5 -0
  53. package/dist/types/components-internal/separator/separator.d.ts +8 -0
  54. package/dist/types/components-internal/toggle/toggle.d.ts +7 -0
  55. package/dist/types/dialog/dialog-driver.d.ts +1 -0
  56. package/dist/types/dialog/dialog-impl.d.ts +6 -0
  57. package/dist/types/dialog/dialog.d.ts +8 -0
  58. package/dist/types/dialog/use-dialog-class.d.ts +1 -0
  59. package/dist/types/external.d.ts +2 -0
  60. package/dist/types/filter-manager/combined-to-flat.d.ts +3 -0
  61. package/dist/types/filter-manager/components/apply-filter-button.d.ts +1 -0
  62. package/dist/types/filter-manager/components/clear-filter-button.d.ts +1 -0
  63. package/dist/types/filter-manager/components/flatten-tree-items.d.ts +4 -0
  64. package/dist/types/filter-manager/components/get-child-values.d.ts +2 -0
  65. package/dist/types/filter-manager/components/in-filter-container.d.ts +1 -0
  66. package/dist/types/filter-manager/components/in-filter-error.d.ts +5 -0
  67. package/dist/types/filter-manager/components/in-filter-loading.d.ts +1 -0
  68. package/dist/types/filter-manager/components/in-filter-root.d.ts +11 -0
  69. package/dist/types/filter-manager/components/in-filter-tree.d.ts +15 -0
  70. package/dist/types/filter-manager/components/simple-filter-additional-switch.d.ts +1 -0
  71. package/dist/types/filter-manager/components/simple-filter-operator/date-operator.d.ts +1 -0
  72. package/dist/types/filter-manager/components/simple-filter-operator/number-operator.d.ts +1 -0
  73. package/dist/types/filter-manager/components/simple-filter-operator/simple-filter-operator.d.ts +1 -0
  74. package/dist/types/filter-manager/components/simple-filter-operator/text-operator.d.ts +1 -0
  75. package/dist/types/filter-manager/components/simple-filter-root.d.ts +9 -0
  76. package/dist/types/filter-manager/components/simple-filter-value/date-value.d.ts +1 -0
  77. package/dist/types/filter-manager/components/simple-filter-value/number-value.d.ts +1 -0
  78. package/dist/types/filter-manager/components/simple-filter-value/simple-filter-value.d.ts +1 -0
  79. package/dist/types/filter-manager/components/simple-filter-value/text-value.d.ts +1 -0
  80. package/dist/types/filter-manager/components/use-date-filter-callbacks.d.ts +9 -0
  81. package/dist/types/filter-manager/components/use-in-filter-item-loader.d.ts +7 -0
  82. package/dist/types/filter-manager/components/use-number-filter-callbacks.d.ts +8 -0
  83. package/dist/types/filter-manager/components/use-text-filter-callbacks.d.ts +8 -0
  84. package/dist/types/filter-manager/filter-manager-impl.d.ts +27 -0
  85. package/dist/types/filter-manager/filter-manager.d.ts +1 -0
  86. package/dist/types/filter-manager/filter-state-context.d.ts +16 -0
  87. package/dist/types/filter-manager/flat-to-combined.d.ts +3 -0
  88. package/dist/types/filter-manager/flatten-combined-filter.d.ts +3 -0
  89. package/dist/types/filter-manager/is-filter-complete.d.ts +2 -0
  90. package/dist/types/filter-manager/types.d.ts +15 -0
  91. package/dist/types/filter-manager/use-in-filter.d.ts +5 -0
  92. package/dist/types/filter-manager/use-simple-filters.d.ts +8 -0
  93. package/dist/types/grid-container/grid-container-impl.d.ts +6 -0
  94. package/dist/types/grid-container/grid-container.d.ts +2 -0
  95. package/dist/types/icons.d.ts +1 -0
  96. package/dist/types/index.d.ts +7 -0
  97. package/dist/types/license.d.ts +12 -0
  98. package/dist/types/list-view/list-view-context.d.ts +21 -0
  99. package/dist/types/list-view/list-view.d.ts +26 -0
  100. package/dist/types/lytenyte-pro.d.ts +7 -0
  101. package/dist/types/menu/arrow-svg.d.ts +1 -0
  102. package/dist/types/menu/column-menu/column-menu-driver.d.ts +4 -0
  103. package/dist/types/menu/context-menu/context-menu-driver.d.ts +1 -0
  104. package/dist/types/menu/context-menu/use-context-menu-listener.d.ts +6 -0
  105. package/dist/types/menu/menu-impl.d.ts +17 -0
  106. package/dist/types/menu/menu.d.ts +18 -0
  107. package/dist/types/menu/use-menu-class-name.d.ts +1 -0
  108. package/dist/types/overlay/load-error-overlay.d.ts +1 -0
  109. package/dist/types/overlay/loading-overlay.d.ts +1 -0
  110. package/dist/types/overlay/no-data-overlay.d.ts +1 -0
  111. package/dist/types/overlay/overlay-driver.d.ts +1 -0
  112. package/dist/types/pill/pill.d.ts +5 -0
  113. package/dist/types/pill-manager/pill-manager-agg-menu.d.ts +7 -0
  114. package/dist/types/pill-manager/pill-manager-controls.d.ts +9 -0
  115. package/dist/types/pill-manager/pill-manager-drag-placeholder.d.ts +5 -0
  116. package/dist/types/pill-manager/pill-manager-expander.d.ts +1 -0
  117. package/dist/types/pill-manager/pill-manager-impl.d.ts +49 -0
  118. package/dist/types/pill-manager/pill-manager-pill.d.ts +4 -0
  119. package/dist/types/pill-manager/pill-manager-pills/pill-manager-pills.d.ts +2 -0
  120. package/dist/types/pill-manager/pill-manager-pills/use-aggregation-source.d.ts +2 -0
  121. package/dist/types/pill-manager/pill-manager-pills/use-column-pivot-source.d.ts +2 -0
  122. package/dist/types/pill-manager/pill-manager-pills/use-column-source.d.ts +2 -0
  123. package/dist/types/pill-manager/pill-manager-pills/use-measures-source.d.ts +2 -0
  124. package/dist/types/pill-manager/pill-manager-pills/use-row-groups-source.d.ts +2 -0
  125. package/dist/types/pill-manager/pill-manager-pills/utils.d.ts +3 -0
  126. package/dist/types/pill-manager/pill-manager-row-label.d.ts +22 -0
  127. package/dist/types/pill-manager/pill-manager-row.d.ts +12 -0
  128. package/dist/types/pill-manager/pill-manager-rows.d.ts +1 -0
  129. package/dist/types/pill-manager/pill-manager-separator.d.ts +1 -0
  130. package/dist/types/pill-manager/pill-manager-types.d.ts +36 -0
  131. package/dist/types/pill-manager/pill-manager.d.ts +1 -0
  132. package/dist/types/popover/anchor-context.d.ts +6 -0
  133. package/dist/types/popover/popover-driver.d.ts +1 -0
  134. package/dist/types/popover/popover-impl.d.ts +8 -0
  135. package/dist/types/popover/popover.d.ts +10 -0
  136. package/dist/types/popover/use-popover-class.d.ts +1 -0
  137. package/dist/types/select/select.d.ts +17 -0
  138. package/dist/types/sort-manager/sort-adder.d.ts +4 -0
  139. package/dist/types/sort-manager/sort-apply.d.ts +1 -0
  140. package/dist/types/sort-manager/sort-cancel.d.ts +1 -0
  141. package/dist/types/sort-manager/sort-clear.d.ts +1 -0
  142. package/dist/types/sort-manager/sort-column-select.d.ts +5 -0
  143. package/dist/types/sort-manager/sort-direction-select.d.ts +5 -0
  144. package/dist/types/sort-manager/sort-items-to-sort-model.d.ts +3 -0
  145. package/dist/types/sort-manager/sort-manager-container.d.ts +53 -0
  146. package/dist/types/sort-manager/sort-manager-context.d.ts +4 -0
  147. package/dist/types/sort-manager/sort-manager-impl.d.ts +30 -0
  148. package/dist/types/sort-manager/sort-manager.d.ts +1 -0
  149. package/dist/types/sort-manager/sort-model-to-sort-items.d.ts +4 -0
  150. package/dist/types/sort-manager/sort-remove.d.ts +4 -0
  151. package/dist/types/sort-manager/sort-sort-select.d.ts +5 -0
  152. package/dist/types/sort-manager/use-sort-state.d.ts +8 -0
  153. package/dist/types/sort-manager/use-sortable-column-items.d.ts +9 -0
  154. package/dist/types/types.d.ts +1 -0
  155. package/dist/types/use-client-data-source.d.ts +6 -0
  156. package/dist/types/use-edge-scroll.d.ts +7 -0
  157. package/dist/types/use-grid.d.ts +6 -0
  158. package/dist/types/use-lytenyte.d.ts +10 -0
  159. package/dist/types/use-tree-data-source.d.ts +3 -0
  160. package/dist/types/watermark.d.ts +3 -0
  161. package/dist/types.js +1 -0
  162. package/dist/use-grid-DKvzGZWc.js +916 -0
  163. package/dist/useAnchorPositioning-Cm44rb7y.js +252 -0
  164. package/dist/useBaseUiId-J66PFGv_.js +48 -0
  165. package/dist/useButton-Cy7tjZ__.js +183 -0
  166. package/dist/useCompositeListItem-I14CpQPi.js +51 -0
  167. package/dist/useScrollLock-D6h5lZYs.js +515 -0
  168. package/package.json +96 -0
@@ -0,0 +1,515 @@
1
+ import * as React from "react";
2
+ import React__default from "react";
3
+ import { u as useEnhancedEffect, P as PropTypes, N as getUserAgent } from "./InternalBackdrop-Dm9czgoC.js";
4
+ import { jsx } from "react/jsx-runtime";
5
+ function useControlled({
6
+ controlled,
7
+ default: defaultProp,
8
+ name,
9
+ state = "value"
10
+ }) {
11
+ const {
12
+ current: isControlled
13
+ } = React.useRef(controlled !== void 0);
14
+ const [valueState, setValue] = React.useState(defaultProp);
15
+ const value = isControlled ? controlled : valueState;
16
+ if (process.env.NODE_ENV !== "production") {
17
+ React.useEffect(() => {
18
+ if (isControlled !== (controlled !== void 0)) {
19
+ console.error([`Base UI: A component is changing the ${isControlled ? "" : "un"}controlled ${state} state of ${name} to be ${isControlled ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled ${name} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", "More info: https://fb.me/react-controlled-components"].join("\n"));
20
+ }
21
+ }, [state, name, controlled]);
22
+ const {
23
+ current: defaultValue
24
+ } = React.useRef(defaultProp);
25
+ React.useEffect(() => {
26
+ if (!isControlled && !Object.is(defaultValue, defaultProp)) {
27
+ console.error([`Base UI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. To suppress this warning opt to use a controlled ${name}.`].join("\n"));
28
+ }
29
+ }, [JSON.stringify(defaultProp)]);
30
+ }
31
+ const setValueIfUncontrolled = React.useCallback((newValue) => {
32
+ if (!isControlled) {
33
+ setValue(newValue);
34
+ }
35
+ }, []);
36
+ return [value, setValueIfUncontrolled];
37
+ }
38
+ const CompositeListContext = /* @__PURE__ */ React.createContext({
39
+ register: () => {
40
+ },
41
+ unregister: () => {
42
+ },
43
+ map: /* @__PURE__ */ new Map(),
44
+ elementsRef: {
45
+ current: []
46
+ }
47
+ });
48
+ if (process.env.NODE_ENV !== "production") {
49
+ CompositeListContext.displayName = "CompositeListContext";
50
+ }
51
+ function useCompositeListContext() {
52
+ return React.useContext(CompositeListContext);
53
+ }
54
+ function useTransitionStatus(open, delayStartingStatus = false) {
55
+ const [transitionStatus, setTransitionStatus] = React.useState();
56
+ const [mounted, setMounted] = React.useState(open);
57
+ if (open && !mounted) {
58
+ setMounted(true);
59
+ if (transitionStatus !== "starting" && !delayStartingStatus) {
60
+ setTransitionStatus("starting");
61
+ }
62
+ }
63
+ if (!open && mounted && transitionStatus !== "ending") {
64
+ setTransitionStatus("ending");
65
+ }
66
+ if (!open && !mounted && transitionStatus === "ending") {
67
+ setTransitionStatus(void 0);
68
+ }
69
+ useEnhancedEffect(() => {
70
+ if (!open) {
71
+ return void 0;
72
+ }
73
+ if (delayStartingStatus) {
74
+ setTransitionStatus("starting");
75
+ }
76
+ const frame = requestAnimationFrame(() => {
77
+ setTransitionStatus(void 0);
78
+ });
79
+ return () => {
80
+ cancelAnimationFrame(frame);
81
+ };
82
+ }, [open, delayStartingStatus]);
83
+ return React.useMemo(() => ({
84
+ mounted,
85
+ setMounted,
86
+ transitionStatus
87
+ }), [mounted, transitionStatus]);
88
+ }
89
+ function sortByDocumentPosition(a, b) {
90
+ const position = a.compareDocumentPosition(b);
91
+ if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) {
92
+ return -1;
93
+ }
94
+ if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) {
95
+ return 1;
96
+ }
97
+ return 0;
98
+ }
99
+ function CompositeList(props) {
100
+ const {
101
+ children,
102
+ elementsRef,
103
+ labelsRef,
104
+ onMapChange
105
+ } = props;
106
+ const [map, setMap] = React.useState(() => /* @__PURE__ */ new Map());
107
+ const register = React.useCallback((node, metadata) => {
108
+ setMap((prevMap) => new Map(prevMap).set(node, metadata ?? null));
109
+ }, []);
110
+ const unregister = React.useCallback((node) => {
111
+ setMap((prevMap) => {
112
+ const nextMap = new Map(prevMap);
113
+ nextMap.delete(node);
114
+ return nextMap;
115
+ });
116
+ }, []);
117
+ const sortedMap = React.useMemo(() => {
118
+ const newMap = /* @__PURE__ */ new Map();
119
+ const sortedNodes = Array.from(map.keys()).sort(sortByDocumentPosition);
120
+ sortedNodes.forEach((node, index) => {
121
+ const metadata = map.get(node) ?? {};
122
+ newMap.set(node, {
123
+ ...metadata,
124
+ index
125
+ });
126
+ });
127
+ return newMap;
128
+ }, [map]);
129
+ useEnhancedEffect(() => {
130
+ onMapChange?.(sortedMap);
131
+ }, [sortedMap, onMapChange]);
132
+ const contextValue = React.useMemo(() => ({
133
+ register,
134
+ unregister,
135
+ map: sortedMap,
136
+ elementsRef,
137
+ labelsRef
138
+ }), [register, unregister, sortedMap, elementsRef, labelsRef]);
139
+ return /* @__PURE__ */ jsx(CompositeListContext.Provider, {
140
+ value: contextValue,
141
+ children
142
+ });
143
+ }
144
+ process.env.NODE_ENV !== "production" ? CompositeList.propTypes = {
145
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
146
+ // │ These PropTypes are generated from the TypeScript type definitions. │
147
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
148
+ // └─────────────────────────────────────────────────────────────────────┘
149
+ /**
150
+ * @ignore
151
+ */
152
+ children: PropTypes.node,
153
+ /**
154
+ * A ref to the list of HTML elements, ordered by their index.
155
+ * `useListNavigation`'s `listRef` prop.
156
+ */
157
+ elementsRef: PropTypes.any,
158
+ /**
159
+ * A ref to the list of element labels, ordered by their index.
160
+ * `useTypeahead`'s `listRef` prop.
161
+ */
162
+ labelsRef: PropTypes.shape({
163
+ current: PropTypes.arrayOf(PropTypes.string).isRequired
164
+ }),
165
+ /**
166
+ * @ignore
167
+ */
168
+ onMapChange: PropTypes.func
169
+ } : void 0;
170
+ const $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== "undefined" ? React__default.useLayoutEffect : () => {
171
+ };
172
+ function $ff5963eb1fccf552$export$e08e3b67e392101e(...callbacks) {
173
+ return (...args) => {
174
+ for (let callback of callbacks) if (typeof callback === "function") callback(...args);
175
+ };
176
+ }
177
+ function $c87311424ea30a05$var$testPlatform(re) {
178
+ var _window_navigator_userAgentData;
179
+ return typeof window !== "undefined" && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator["userAgentData"]) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;
180
+ }
181
+ function $c87311424ea30a05$var$cached(fn) {
182
+ let res = null;
183
+ return () => {
184
+ if (res == null) res = fn();
185
+ return res;
186
+ };
187
+ }
188
+ const $c87311424ea30a05$export$9ac100e40613ea10 = $c87311424ea30a05$var$cached(function() {
189
+ return $c87311424ea30a05$var$testPlatform(/^Mac/i);
190
+ });
191
+ const $c87311424ea30a05$export$186c6964ca17d99 = $c87311424ea30a05$var$cached(function() {
192
+ return $c87311424ea30a05$var$testPlatform(/^iPhone/i);
193
+ });
194
+ const $c87311424ea30a05$export$7bef049ce92e4224 = $c87311424ea30a05$var$cached(function() {
195
+ return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
196
+ $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;
197
+ });
198
+ const $c87311424ea30a05$export$fedb369cb70207f1 = $c87311424ea30a05$var$cached(function() {
199
+ return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();
200
+ });
201
+ function $cc38e7bd3fc7b213$export$2bb74740c4e19def(node, checkForOverflow) {
202
+ if (!node) return false;
203
+ let style = window.getComputedStyle(node);
204
+ let isScrollable = /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);
205
+ if (isScrollable && checkForOverflow) isScrollable = node.scrollHeight !== node.clientHeight || node.scrollWidth !== node.clientWidth;
206
+ return isScrollable;
207
+ }
208
+ function $62d8ded9296f3872$export$cfa2225e87938781(node, checkForOverflow) {
209
+ let scrollableNode = node;
210
+ if ($cc38e7bd3fc7b213$export$2bb74740c4e19def(scrollableNode, checkForOverflow)) scrollableNode = scrollableNode.parentElement;
211
+ while (scrollableNode && !$cc38e7bd3fc7b213$export$2bb74740c4e19def(scrollableNode, checkForOverflow)) scrollableNode = scrollableNode.parentElement;
212
+ return scrollableNode || document.scrollingElement || document.documentElement;
213
+ }
214
+ const $49c51c25361d4cd2$var$visualViewport = typeof document !== "undefined" && window.visualViewport;
215
+ const $49c51c25361d4cd2$var$nonTextInputTypes = /* @__PURE__ */ new Set([
216
+ "checkbox",
217
+ "radio",
218
+ "range",
219
+ "color",
220
+ "file",
221
+ "image",
222
+ "button",
223
+ "submit",
224
+ "reset"
225
+ ]);
226
+ let $49c51c25361d4cd2$var$preventScrollCount = 0;
227
+ let $49c51c25361d4cd2$var$restore;
228
+ function $49c51c25361d4cd2$export$ee0f7cc6afcd1c18(options = {}) {
229
+ let { isDisabled } = options;
230
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
231
+ if (isDisabled) return;
232
+ $49c51c25361d4cd2$var$preventScrollCount++;
233
+ if ($49c51c25361d4cd2$var$preventScrollCount === 1) {
234
+ if ($c87311424ea30a05$export$fedb369cb70207f1()) $49c51c25361d4cd2$var$restore = $49c51c25361d4cd2$var$preventScrollMobileSafari();
235
+ else $49c51c25361d4cd2$var$restore = $49c51c25361d4cd2$var$preventScrollStandard();
236
+ }
237
+ return () => {
238
+ $49c51c25361d4cd2$var$preventScrollCount--;
239
+ if ($49c51c25361d4cd2$var$preventScrollCount === 0) $49c51c25361d4cd2$var$restore();
240
+ };
241
+ }, [
242
+ isDisabled
243
+ ]);
244
+ }
245
+ function $49c51c25361d4cd2$var$preventScrollStandard() {
246
+ return $ff5963eb1fccf552$export$e08e3b67e392101e($49c51c25361d4cd2$var$setStyle(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`), $49c51c25361d4cd2$var$setStyle(document.documentElement, "overflow", "hidden"));
247
+ }
248
+ function $49c51c25361d4cd2$var$preventScrollMobileSafari() {
249
+ let scrollable;
250
+ let restoreScrollableStyles;
251
+ let onTouchStart = (e) => {
252
+ scrollable = $62d8ded9296f3872$export$cfa2225e87938781(e.target, true);
253
+ if (scrollable === document.documentElement && scrollable === document.body) return;
254
+ if (scrollable instanceof HTMLElement && window.getComputedStyle(scrollable).overscrollBehavior === "auto") restoreScrollableStyles = $49c51c25361d4cd2$var$setStyle(scrollable, "overscrollBehavior", "contain");
255
+ };
256
+ let onTouchMove = (e) => {
257
+ if (!scrollable || scrollable === document.documentElement || scrollable === document.body) {
258
+ e.preventDefault();
259
+ return;
260
+ }
261
+ if (scrollable.scrollHeight === scrollable.clientHeight && scrollable.scrollWidth === scrollable.clientWidth) e.preventDefault();
262
+ };
263
+ let onTouchEnd = () => {
264
+ if (restoreScrollableStyles) restoreScrollableStyles();
265
+ };
266
+ let onFocus = (e) => {
267
+ let target = e.target;
268
+ if ($49c51c25361d4cd2$var$willOpenKeyboard(target)) {
269
+ setupStyles();
270
+ target.style.transform = "translateY(-2000px)";
271
+ requestAnimationFrame(() => {
272
+ target.style.transform = "";
273
+ if ($49c51c25361d4cd2$var$visualViewport) {
274
+ if ($49c51c25361d4cd2$var$visualViewport.height < window.innerHeight)
275
+ requestAnimationFrame(() => {
276
+ $49c51c25361d4cd2$var$scrollIntoView(target);
277
+ });
278
+ else
279
+ $49c51c25361d4cd2$var$visualViewport.addEventListener("resize", () => $49c51c25361d4cd2$var$scrollIntoView(target), {
280
+ once: true
281
+ });
282
+ }
283
+ });
284
+ }
285
+ };
286
+ let restoreStyles = null;
287
+ let setupStyles = () => {
288
+ if (restoreStyles) return;
289
+ let onWindowScroll = () => {
290
+ window.scrollTo(0, 0);
291
+ };
292
+ let scrollX = window.pageXOffset;
293
+ let scrollY = window.pageYOffset;
294
+ restoreStyles = $ff5963eb1fccf552$export$e08e3b67e392101e($49c51c25361d4cd2$var$addEvent(window, "scroll", onWindowScroll), $49c51c25361d4cd2$var$setStyle(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`), $49c51c25361d4cd2$var$setStyle(document.documentElement, "overflow", "hidden"), $49c51c25361d4cd2$var$setStyle(document.body, "marginTop", `-${scrollY}px`), () => {
295
+ window.scrollTo(scrollX, scrollY);
296
+ });
297
+ window.scrollTo(0, 0);
298
+ };
299
+ let removeEvents = $ff5963eb1fccf552$export$e08e3b67e392101e($49c51c25361d4cd2$var$addEvent(document, "touchstart", onTouchStart, {
300
+ passive: false,
301
+ capture: true
302
+ }), $49c51c25361d4cd2$var$addEvent(document, "touchmove", onTouchMove, {
303
+ passive: false,
304
+ capture: true
305
+ }), $49c51c25361d4cd2$var$addEvent(document, "touchend", onTouchEnd, {
306
+ passive: false,
307
+ capture: true
308
+ }), $49c51c25361d4cd2$var$addEvent(document, "focus", onFocus, true));
309
+ return () => {
310
+ restoreScrollableStyles === null || restoreScrollableStyles === void 0 ? void 0 : restoreScrollableStyles();
311
+ restoreStyles === null || restoreStyles === void 0 ? void 0 : restoreStyles();
312
+ removeEvents();
313
+ };
314
+ }
315
+ function $49c51c25361d4cd2$var$setStyle(element, style, value) {
316
+ let cur = element.style[style];
317
+ element.style[style] = value;
318
+ return () => {
319
+ element.style[style] = cur;
320
+ };
321
+ }
322
+ function $49c51c25361d4cd2$var$addEvent(target, event, handler, options) {
323
+ target.addEventListener(event, handler, options);
324
+ return () => {
325
+ target.removeEventListener(event, handler, options);
326
+ };
327
+ }
328
+ function $49c51c25361d4cd2$var$scrollIntoView(target) {
329
+ let root = document.scrollingElement || document.documentElement;
330
+ let nextTarget = target;
331
+ while (nextTarget && nextTarget !== root) {
332
+ let scrollable = $62d8ded9296f3872$export$cfa2225e87938781(nextTarget);
333
+ if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== nextTarget) {
334
+ let scrollableTop = scrollable.getBoundingClientRect().top;
335
+ let targetTop = nextTarget.getBoundingClientRect().top;
336
+ if (targetTop > scrollableTop + nextTarget.clientHeight) scrollable.scrollTop += targetTop - scrollableTop;
337
+ }
338
+ nextTarget = scrollable.parentElement;
339
+ }
340
+ }
341
+ function $49c51c25361d4cd2$var$willOpenKeyboard(target) {
342
+ return target instanceof HTMLInputElement && !$49c51c25361d4cd2$var$nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;
343
+ }
344
+ function getNavigatorData() {
345
+ if (typeof navigator === "undefined") {
346
+ return {
347
+ platform: "",
348
+ maxTouchPoints: -1
349
+ };
350
+ }
351
+ const uaData = navigator.userAgentData;
352
+ if (uaData?.platform) {
353
+ return {
354
+ platform: uaData.platform,
355
+ maxTouchPoints: navigator.maxTouchPoints
356
+ };
357
+ }
358
+ return {
359
+ platform: navigator.platform,
360
+ maxTouchPoints: navigator.maxTouchPoints
361
+ };
362
+ }
363
+ function isWebKit() {
364
+ if (typeof CSS === "undefined" || !CSS.supports) {
365
+ return false;
366
+ }
367
+ return CSS.supports("-webkit-backdrop-filter:none");
368
+ }
369
+ function isIOS() {
370
+ const nav = getNavigatorData();
371
+ if (nav.platform === "MacIntel" && nav.maxTouchPoints > 1) {
372
+ return true;
373
+ }
374
+ return /iP(hone|ad|od)|iOS/.test(nav.platform);
375
+ }
376
+ function isFirefox() {
377
+ return /firefox/i.test(getUserAgent());
378
+ }
379
+ function ownerDocument(node) {
380
+ return node && node.ownerDocument || document;
381
+ }
382
+ function ownerWindow(node) {
383
+ const doc = ownerDocument(node);
384
+ return doc.defaultView || window;
385
+ }
386
+ let originalHtmlStyles = {};
387
+ let originalBodyStyles = {};
388
+ let originalHtmlScrollBehavior = "";
389
+ let preventScrollCount = 0;
390
+ let restore = () => {
391
+ };
392
+ function supportsDvh() {
393
+ return typeof CSS !== "undefined" && typeof CSS.supports === "function" && CSS.supports("height", "1dvh");
394
+ }
395
+ function hasInsetScrollbars(referenceElement) {
396
+ if (typeof document === "undefined") {
397
+ return false;
398
+ }
399
+ const doc = ownerDocument(referenceElement);
400
+ const win = ownerWindow(doc);
401
+ return win.innerWidth - doc.documentElement.clientWidth > 0;
402
+ }
403
+ function preventScrollStandard(referenceElement) {
404
+ const doc = ownerDocument(referenceElement);
405
+ const html = doc.documentElement;
406
+ const body = doc.body;
407
+ const win = ownerWindow(html);
408
+ let scrollTop = 0;
409
+ let scrollLeft = 0;
410
+ let resizeRaf = -1;
411
+ if (isWebKit() && (win.visualViewport?.scale ?? 1) !== 1) {
412
+ return () => {
413
+ };
414
+ }
415
+ function lockScroll() {
416
+ const htmlStyles = win.getComputedStyle(html);
417
+ const bodyStyles = win.getComputedStyle(body);
418
+ scrollTop = html.scrollTop;
419
+ scrollLeft = html.scrollLeft;
420
+ originalHtmlStyles = {
421
+ overflowY: html.style.overflowY,
422
+ overflowX: html.style.overflowX
423
+ };
424
+ originalHtmlScrollBehavior = html.style.scrollBehavior;
425
+ originalBodyStyles = {
426
+ position: body.style.position,
427
+ height: body.style.height,
428
+ width: body.style.width,
429
+ boxSizing: body.style.boxSizing,
430
+ overflowY: body.style.overflowY,
431
+ overflowX: body.style.overflowX,
432
+ scrollBehavior: body.style.scrollBehavior
433
+ };
434
+ const hasScrollbarGutterStable = htmlStyles.scrollbarGutter?.includes("stable");
435
+ const isScrollableY = html.scrollHeight > html.clientHeight;
436
+ const isScrollableX = html.scrollWidth > html.clientWidth;
437
+ const hasConstantOverflowY = htmlStyles.overflowY === "scroll" || bodyStyles.overflowY === "scroll";
438
+ const hasConstantOverflowX = htmlStyles.overflowX === "scroll" || bodyStyles.overflowX === "scroll";
439
+ const scrollbarWidth = Math.max(0, win.innerWidth - html.clientWidth);
440
+ const scrollbarHeight = Math.max(0, win.innerHeight - html.clientHeight);
441
+ Object.assign(html.style, {
442
+ overflowY: !hasScrollbarGutterStable && (isScrollableY || hasConstantOverflowY) ? "scroll" : "hidden",
443
+ overflowX: !hasScrollbarGutterStable && (isScrollableX || hasConstantOverflowX) ? "scroll" : "hidden"
444
+ });
445
+ const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);
446
+ const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);
447
+ Object.assign(body.style, {
448
+ position: "relative",
449
+ height: marginY || scrollbarHeight ? `calc(100dvh - ${marginY + scrollbarHeight}px)` : "100dvh",
450
+ width: marginX || scrollbarWidth ? `calc(100vw - ${marginX + scrollbarWidth}px)` : "100vw",
451
+ boxSizing: "border-box",
452
+ overflow: "hidden",
453
+ scrollBehavior: "unset"
454
+ });
455
+ body.scrollTop = scrollTop;
456
+ body.scrollLeft = scrollLeft;
457
+ html.setAttribute("data-base-ui-scroll-locked", "");
458
+ html.style.scrollBehavior = "unset";
459
+ }
460
+ function cleanup() {
461
+ Object.assign(html.style, originalHtmlStyles);
462
+ Object.assign(body.style, originalBodyStyles);
463
+ html.scrollTop = scrollTop;
464
+ html.scrollLeft = scrollLeft;
465
+ html.removeAttribute("data-base-ui-scroll-locked");
466
+ html.style.scrollBehavior = originalHtmlScrollBehavior;
467
+ }
468
+ function handleResize() {
469
+ cleanup();
470
+ cancelAnimationFrame(resizeRaf);
471
+ resizeRaf = requestAnimationFrame(lockScroll);
472
+ }
473
+ lockScroll();
474
+ win.addEventListener("resize", handleResize);
475
+ return () => {
476
+ cancelAnimationFrame(resizeRaf);
477
+ cleanup();
478
+ win.removeEventListener("resize", handleResize);
479
+ };
480
+ }
481
+ function useScrollLock(enabled = true, referenceElement) {
482
+ const isReactAriaHook = React.useMemo(() => enabled && (isIOS() || !supportsDvh() || // macOS Firefox "pops" scroll containers' scrollbars with our standard scroll lock
483
+ isFirefox() && !hasInsetScrollbars(referenceElement)), [enabled, referenceElement]);
484
+ $49c51c25361d4cd2$export$ee0f7cc6afcd1c18({
485
+ // react-aria will remove the scrollbar offset immediately upon close, since we use `open`,
486
+ // not `mounted`, to disable/enable the scroll lock. However since there are no inset
487
+ // scrollbars, no layouting issues occur.
488
+ isDisabled: !isReactAriaHook
489
+ });
490
+ useEnhancedEffect(() => {
491
+ if (!enabled || isReactAriaHook) {
492
+ return void 0;
493
+ }
494
+ preventScrollCount += 1;
495
+ if (preventScrollCount === 1) {
496
+ restore = preventScrollStandard(referenceElement);
497
+ }
498
+ return () => {
499
+ preventScrollCount -= 1;
500
+ if (preventScrollCount === 0) {
501
+ restore();
502
+ }
503
+ };
504
+ }, [enabled, isReactAriaHook, referenceElement]);
505
+ }
506
+ export {
507
+ CompositeList as C,
508
+ useControlled as a,
509
+ useTransitionStatus as b,
510
+ useScrollLock as c,
511
+ ownerWindow as d,
512
+ isWebKit as i,
513
+ ownerDocument as o,
514
+ useCompositeListContext as u
515
+ };
package/package.json ADDED
@@ -0,0 +1,96 @@
1
+ {
2
+ "name": "@1771technologies/lytenyte-pro",
3
+ "version": "0.0.39",
4
+ "license": "COMMERCIAL",
5
+ "type": "module",
6
+ "files": [
7
+ "dist",
8
+ "LICENSE"
9
+ ],
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/types/index.d.ts",
13
+ "import": "./dist/index.js",
14
+ "require": "./dist/index.js"
15
+ },
16
+ "./types": {
17
+ "types": "./dist/types/types.d.ts",
18
+ "import": "./dist/types.js",
19
+ "require": "./dist/types.js"
20
+ },
21
+ "./icons": {
22
+ "types": "./dist/types/icons.d.ts",
23
+ "import": "./dist/icons.js",
24
+ "require": "./dist/icons.js"
25
+ },
26
+ "./grid-container": {
27
+ "types": "./dist/types/grid-container/grid-container.d.ts",
28
+ "import": "./dist/grid-container.js",
29
+ "require": "./dist/grid-container.js"
30
+ },
31
+ "./menu": {
32
+ "types": "./dist/types/menu/menu.d.ts",
33
+ "import": "./dist/menu.js",
34
+ "require": "./dist/menu.js"
35
+ },
36
+ "./column-manager": {
37
+ "types": "./dist/types/column-manager/column-manager.d.ts",
38
+ "import": "./dist/column-manager.js",
39
+ "require": "./dist/column-manager.js"
40
+ },
41
+ "./pill-manager": {
42
+ "types": "./dist/types/pill-manager/pill-manager.d.ts",
43
+ "import": "./dist/pill-manager.js",
44
+ "require": "./dist/pill-manager.js"
45
+ },
46
+ "./sort-manager": {
47
+ "types": "./dist/types/sort-manager/sort-manager.d.ts",
48
+ "import": "./dist/sort-manager.js",
49
+ "require": "./dist/sort-manager.js"
50
+ },
51
+ "./dialog": {
52
+ "types": "./dist/types/dialog/dialog.d.ts",
53
+ "import": "./dist/dialog.js",
54
+ "require": "./dist/dialog.js"
55
+ },
56
+ "./popover": {
57
+ "types": "./dist/types/popover/popover.d.ts",
58
+ "import": "./dist/popover.js",
59
+ "require": "./dist/popover.js"
60
+ },
61
+ "./filters": {
62
+ "types": "./dist/types/filter-manager/filter-manager.d.ts",
63
+ "import": "./dist/filter-manager.js",
64
+ "require": "./dist/filter-manager.js"
65
+ },
66
+ "./grid.css": "./dist/lytenyte-pro.css"
67
+ },
68
+ "peerDependencies": {
69
+ "react": "^18.0.0 || ^19.0.0",
70
+ "react-dom": "^18.0.0 || ^19.0.0"
71
+ },
72
+ "dependencies": {
73
+ "@1771technologies/grid-client-data-source-pro": "0.0.39",
74
+ "@1771technologies/grid-core": "0.0.39",
75
+ "@1771technologies/grid-design": "0.0.39",
76
+ "@1771technologies/grid-provider": "0.0.39",
77
+ "@1771technologies/grid-store-pro": "0.0.39",
78
+ "@1771technologies/grid-tree-data-source": "0.0.39",
79
+ "@1771technologies/grid-types": "0.0.39",
80
+ "@1771technologies/js-utils": "0.0.39",
81
+ "@1771technologies/lytenyte-core": "0.0.39",
82
+ "@1771technologies/positioner": "0.0.39",
83
+ "@1771technologies/react-cascada": "0.0.39",
84
+ "@1771technologies/react-dragon": "0.0.39",
85
+ "@1771technologies/react-popover": "0.0.39",
86
+ "@1771technologies/react-sizer": "0.0.39",
87
+ "@1771technologies/react-split-pane": "0.0.39",
88
+ "@1771technologies/react-utils": "0.0.39",
89
+ "@base-ui-components/react": "1.0.0-alpha.7"
90
+ },
91
+ "devDependencies": {
92
+ "@types/react": "^19.0.1",
93
+ "@types/react-dom": "^19.0.2"
94
+ },
95
+ "access": "public"
96
+ }