@1771technologies/lytenyte-pro 2.1.1 → 2.1.3-dev.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.
@@ -154,10 +154,10 @@ export function SmartSelectRoot(p) {
154
154
  ]);
155
155
  const lightDismiss = useCallback((el) => {
156
156
  const closest = getNearestMatching(el, (el) => el === triggerEl);
157
- if (!closest)
157
+ if (!closest || p.kind === "basic" || p.kind === "multi")
158
158
  return true;
159
159
  return false;
160
- }, [triggerEl]);
160
+ }, [p.kind, triggerEl]);
161
161
  return (_jsx(SmartSelectProvider, { value: value, children: _jsxs(Popover, { open: open, onOpenChange: onOpenChange, onOpenChangeComplete: p.onOpenChangeComplete, focusTrap: false, modal: false, anchor: triggerEl, lightDismiss: lightDismiss, children: [trigger, triggerEl && createPortal(container, p.kind === "combo" ? triggerEl.parentElement : triggerEl)] }) }));
162
162
  }
163
163
  function DefaultChildren(p) {
@@ -4,8 +4,7 @@ import { useState } from "react";
4
4
  import { SmartSelectRoot } from "./root.js";
5
5
  import { Option } from "./option.js";
6
6
  import { SmartSelectContainer } from "./container.js";
7
- import { Chip } from "./chip.js";
8
- import { MultiTrigger } from "./triggers/multi-trigger.js";
7
+ import { BasicSelectTrigger } from "./triggers/basic-trigger.js";
9
8
  const options = [
10
9
  { id: "js", label: "JavaScript" },
11
10
  { id: "ts", label: "TypeScript" },
@@ -20,17 +19,15 @@ const options = [
20
19
  { id: "swift", label: "Swift" },
21
20
  ];
22
21
  export default function SmartSelect() {
23
- const [value, setValue] = useState([options[0]]);
22
+ const [value, setValue] = useState(options[0]);
24
23
  void setValue;
25
24
  return (_jsx("div", { style: { display: "flex", justifyContent: "center", padding: 20 }, children: _jsx(SmartSelectRoot, { options: options, value: value, onOptionChange: (v) => {
26
25
  if (!v)
27
26
  return;
28
27
  setValue(v);
29
- }, closeOnSelect: false, kind: "multi", container: (p) => {
28
+ }, closeOnSelect: false, kind: "basic", container: (p) => {
30
29
  return (_jsxs(SmartSelectContainer, { children: [p.loading && _jsx("div", { children: "Loading...." }), p.children] }));
31
- }, trigger: _jsx(MultiTrigger, { render: _jsxs("button", { "data-ln-button": "website", "data-ln-size": "md", children: [_jsx("div", { children: "Select Items" }), _jsx("div", {})] }), className: "flex items-center", children: value.map((x) => {
32
- return (_jsx(Chip, { option: x, render: (p) => (_jsxs("div", { children: [x.label, p.active && "A"] })) }, x.id));
33
- }) }), children: (p) => {
30
+ }, trigger: _jsx(BasicSelectTrigger, { children: value.label }), children: (p) => {
34
31
  return (_jsxs(Option, { ...p, children: [_jsx("div", { children: p.option.label }), _jsx("div", { children: p.selected && "✔️" })] }));
35
32
  } }) }));
36
33
  }
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { useSmartSelect } from "../context.js";
4
4
  import { mergeProps } from "../../../hooks/use-slot/merge-props.js";
@@ -13,6 +13,6 @@ function BasicSelectTriggerBase(props, ref) {
13
13
  const triggerControls = useSelectControls(false, noop);
14
14
  const p = mergeProps(props, triggerControls);
15
15
  const combined = useCombinedRefs(setTrigger, ref, inputRef);
16
- return _jsx("button", { ...p, ref: combined, "data-ln-smart-select-trigger": true, "data-ln-open": open });
16
+ return (_jsx("button", { ...p, ref: combined, "data-ln-smart-select-trigger": true, "data-ln-open": open, children: _jsx(_Fragment, { children: props.children }) }));
17
17
  }
18
18
  export const BasicSelectTrigger = forwardRef(BasicSelectTriggerBase);
@@ -1,5 +1,5 @@
1
1
  export declare function useSelectControls(isMulti: boolean, setActiveChip: (s: string | null) => void): {
2
- onClick: () => void;
2
+ onClickCapture: () => void;
3
3
  onBlur: (e: import("react").FocusEvent<HTMLButtonElement, Element>) => void;
4
4
  onKeyDown: (e: import("react").KeyboardEvent<HTMLButtonElement>) => void;
5
5
  };
@@ -5,7 +5,7 @@ export function useSelectControls(isMulti, setActiveChip) {
5
5
  const { open, onOpenChange, openOnClick, setActiveId, container, rtl, trigger, onOptionsChange, kindAndValue: { value }, openKeys, closeKeys, options, onOptionSelect, } = useSmartSelect();
6
6
  return useMemo(() => {
7
7
  return {
8
- onClick: () => {
8
+ onClickCapture: () => {
9
9
  if (!open && openOnClick)
10
10
  onOpenChange(true);
11
11
  },
@@ -1,9 +1,10 @@
1
1
  import { useMemo, useRef } from "react";
2
2
  import { computeField } from "@1771technologies/lytenyte-core/internal";
3
- import { measureText } from "@1771technologies/lytenyte-shared";
3
+ import {} from "@1771technologies/lytenyte-shared";
4
4
  import { pivotPaths } from "./auxiliary-functions/pivot-paths.js";
5
5
  import { applyReferenceColumn } from "./auxiliary-functions/apply-reference-column.js";
6
6
  import { equal, itemsWithIdToMap } from "@1771technologies/js-utils";
7
+ import { measureText } from "@1771technologies/dom-utils";
7
8
  export function usePivotColumns(pivotMode, pivotControlled, model, leafs, filtered, processor) {
8
9
  const measures = model?.measures;
9
10
  const columns = model?.columns;
package/dist/index.d.ts CHANGED
@@ -113,7 +113,7 @@ export { useServerDataSource } from "./data-source-server/use-server-data-source
113
113
  export type * from "./data-source-server/types.js";
114
114
  export type { RowSourceTree, UseTreeDataSourceParams } from "./data-source-tree/use-tree-data-source.js";
115
115
  export { useTreeDataSource } from "./data-source-tree/use-tree-data-source.js";
116
- export { measureText } from "@1771technologies/lytenyte-shared";
116
+ export { measureText } from "@1771technologies/dom-utils";
117
117
  export { moveRelative, equal, arrayShallow } from "@1771technologies/js-utils";
118
118
  export { getRowDragData, computeField } from "@1771technologies/lytenyte-core/internal";
119
119
  export { virtualFromXY } from "./components/virtual-from-coordinates.js";
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ Grid.Viewport = GridCore.Viewport;
17
17
  export { useClientDataSource } from "./data-source-client/use-client-data-source.js";
18
18
  export { useServerDataSource } from "./data-source-server/use-server-data-source.js";
19
19
  export { useTreeDataSource } from "./data-source-tree/use-tree-data-source.js";
20
- export { measureText } from "@1771technologies/lytenyte-shared";
20
+ export { measureText } from "@1771technologies/dom-utils";
21
21
  export { moveRelative, equal, arrayShallow } from "@1771technologies/js-utils";
22
22
  export { getRowDragData, computeField } from "@1771technologies/lytenyte-core/internal";
23
23
  export { virtualFromXY } from "./components/virtual-from-coordinates.js";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@1771technologies/lytenyte-pro",
3
3
  "description": "Blazingly fast headless React data grid with 100s of features.",
4
- "version": "2.1.1",
4
+ "version": "2.1.3-dev.0",
5
5
  "type": "module",
6
6
  "license": "COMMERCIAL",
7
7
  "files": [
@@ -85,14 +85,14 @@
85
85
  "access": "public"
86
86
  },
87
87
  "dependencies": {
88
- "@1771technologies/lytenyte-core": "2.1.1",
89
- "@1771technologies/lytenyte-shared": "2.1.1",
90
- "@1771technologies/js-utils": "2.1.1",
91
- "@1771technologies/dom-utils": "2.1.1",
92
- "@1771technologies/lytenyte-design": "2.1.1"
88
+ "@1771technologies/lytenyte-shared": "2.1.3-dev.0",
89
+ "@1771technologies/js-utils": "2.1.3-dev.0",
90
+ "@1771technologies/dom-utils": "2.1.3-dev.0",
91
+ "@1771technologies/lytenyte-design": "2.1.3-dev.0",
92
+ "@1771technologies/lytenyte-core": "2.1.3-dev.0"
93
93
  },
94
94
  "devDependencies": {
95
- "@1771technologies/grid-sample-data": "2.1.1"
95
+ "@1771technologies/grid-sample-data": "2.1.3-dev.0"
96
96
  },
97
97
  "peerDependencies": {
98
98
  "react": "18.0.0 || ^19.0.0",