@genesislcap/rapid-design-system 14.488.2 → 14.489.0-canary.FUI-2574-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.
@@ -28531,8 +28531,8 @@
28531
28531
  "text": "boolean"
28532
28532
  },
28533
28533
  "default": "false",
28534
- "fieldName": "disabled",
28535
28534
  "description": "The disabled state of the listbox.",
28535
+ "fieldName": "disabled",
28536
28536
  "inheritedFrom": {
28537
28537
  "name": "Combobox",
28538
28538
  "module": "src/combobox/combobox.ts"
@@ -29268,6 +29268,7 @@
29268
29268
  "text": "boolean"
29269
29269
  },
29270
29270
  "default": "false",
29271
+ "description": "Enables server-side filtering: typed input refetches from the server with a criteria\ninstead of filtering the already-loaded options client-side.",
29271
29272
  "inheritedFrom": {
29272
29273
  "name": "Combobox",
29273
29274
  "module": "src/combobox/combobox.ts"
@@ -29406,6 +29407,20 @@
29406
29407
  "module": "src/combobox/combobox.ts"
29407
29408
  }
29408
29409
  },
29410
+ {
29411
+ "kind": "field",
29412
+ "name": "scrollableListbox",
29413
+ "type": {
29414
+ "text": "HTMLElement | null"
29415
+ },
29416
+ "privacy": "public",
29417
+ "description": "The scrollable element hosting the dropdown options. Part of the public contract for\nslotted datasources (e.g. options-datasource infinite scroll) to observe scrolling.",
29418
+ "readonly": true,
29419
+ "inheritedFrom": {
29420
+ "name": "Combobox",
29421
+ "module": "src/combobox/combobox.ts"
29422
+ }
29423
+ },
29409
29424
  {
29410
29425
  "kind": "method",
29411
29426
  "name": "slottedOptionsChanged",
@@ -29434,6 +29449,21 @@
29434
29449
  "module": "src/combobox/combobox.ts"
29435
29450
  }
29436
29451
  },
29452
+ {
29453
+ "kind": "method",
29454
+ "name": "enableAsyncForInfiniteScrollDatasource",
29455
+ "privacy": "private",
29456
+ "return": {
29457
+ "type": {
29458
+ "text": "void"
29459
+ }
29460
+ },
29461
+ "description": "When the slotted datasource pages its options (infinite scroll), only a page of the\nresource is loaded client-side, so filtering typed input locally is meaningless.\nSwitch to async mode so input refetches from the server with a criteria instead;\nfurther pages honour that criteria. This overrides an explicit `async=\"false\"` on\nthe combobox — infinite-scroll datasources cannot support client-side filtering.",
29462
+ "inheritedFrom": {
29463
+ "name": "Combobox",
29464
+ "module": "src/combobox/combobox.ts"
29465
+ }
29466
+ },
29437
29467
  {
29438
29468
  "kind": "field",
29439
29469
  "name": "indicator",
@@ -29504,6 +29534,14 @@
29504
29534
  "name": "Combobox",
29505
29535
  "module": "src/combobox/combobox.ts"
29506
29536
  }
29537
+ },
29538
+ {
29539
+ "description": "Fired when the dropdown opens or closes. detail: `OpenChangeEventDetail`",
29540
+ "name": "open-change",
29541
+ "inheritedFrom": {
29542
+ "name": "Combobox",
29543
+ "module": "src/combobox/combobox.ts"
29544
+ }
29507
29545
  }
29508
29546
  ]
29509
29547
  },
@@ -32097,6 +32135,20 @@
32097
32135
  }
32098
32136
  ],
32099
32137
  "members": [
32138
+ {
32139
+ "kind": "field",
32140
+ "name": "scrollableListbox",
32141
+ "type": {
32142
+ "text": "HTMLElement | null"
32143
+ },
32144
+ "privacy": "public",
32145
+ "description": "The scrollable element hosting the dropdown options. Part of the public contract for\nslotted datasources (e.g. options-datasource infinite scroll) to observe scrolling.",
32146
+ "readonly": true,
32147
+ "inheritedFrom": {
32148
+ "name": "Select",
32149
+ "module": "src/select/select.ts"
32150
+ }
32151
+ },
32100
32152
  {
32101
32153
  "kind": "method",
32102
32154
  "name": "openChanged",
@@ -32542,6 +32594,14 @@
32542
32594
  }
32543
32595
  ],
32544
32596
  "events": [
32597
+ {
32598
+ "description": "Fired when the dropdown opens or closes. detail: `OpenChangeEventDetail`",
32599
+ "name": "open-change",
32600
+ "inheritedFrom": {
32601
+ "name": "Select",
32602
+ "module": "src/select/select.ts"
32603
+ }
32604
+ },
32545
32605
  {
32546
32606
  "description": "Fires a custom 'input' event when the value updates",
32547
32607
  "name": "input",
@@ -86,7 +86,7 @@ import type { TreeItem as TreeItemWC } from './tree-item/tree-item';
86
86
  import type { TreeView as TreeViewWC } from './tree-view/tree-view';
87
87
  import type { UrlInput as UrlInputWC } from './url-input/url-input';
88
88
  import type { AddGroupEventDetail, AddRuleEventDetail, DelGroupEventDetail, DelRuleEventDetail, UpdateGroupEventDetail, UpdateRuleEventDetail } from '@genesislcap/expression-builder';
89
- import type { ClearOptions, FileSelectedEventDetail, FilterChangedEventDetail, FilterClearedEventDetail, MultiselectOption, SelectedOption, StepClickEventDetail, ValidationError, ValidationFailureEventDetail } from '@genesislcap/foundation-ui';
89
+ import type { ClearOptions, FileSelectedEventDetail, FilterChangedEventDetail, FilterClearedEventDetail, MultiselectOption, OpenChangeEventDetail, SelectedOption, StepClickEventDetail, ValidationError, ValidationFailureEventDetail } from '@genesislcap/foundation-ui';
90
90
 
91
91
  /** @internal Maps a web component class to its public props only.
92
92
  * keyof T skips private/protected members, so this avoids the TS error
@@ -280,6 +280,7 @@ export declare const Combobox: React.ForwardRefExoticComponent<
280
280
  React.PropsWithChildren<
281
281
  Omit<PublicOf<ComboboxWC>, 'children' | 'style'> &
282
282
  HTMLWCProps & {
283
+ onOpenChange?: (event: CustomEvent<OpenChangeEventDetail>) => void;
283
284
  }
284
285
  > & React.RefAttributes<ComboboxWC>
285
286
  >;
@@ -637,6 +638,7 @@ export declare const SearchBarCombobox: React.ForwardRefExoticComponent<
637
638
  React.PropsWithChildren<
638
639
  Omit<PublicOf<SearchBarComboboxWC>, 'children' | 'style'> &
639
640
  HTMLWCProps & {
641
+ onOpenChange?: (event: CustomEvent<OpenChangeEventDetail>) => void;
640
642
  }
641
643
  > & React.RefAttributes<SearchBarComboboxWC>
642
644
  >;
@@ -687,6 +689,7 @@ export declare const Select: React.ForwardRefExoticComponent<
687
689
  React.PropsWithChildren<
688
690
  Omit<PublicOf<SelectWC>, 'children' | 'style'> &
689
691
  HTMLWCProps & {
692
+ onOpenChange?: (event: CustomEvent<OpenChangeEventDetail>) => void;
690
693
  }
691
694
  > & React.RefAttributes<SelectWC>
692
695
  >;
package/dist/react.cjs CHANGED
@@ -241,8 +241,20 @@ const Checkbox = React.forwardRef(function Checkbox(props, ref) {
241
241
  });
242
242
 
243
243
  const Combobox = React.forwardRef(function Combobox(props, ref) {
244
- const { children, ...rest } = props;
245
- return React.createElement(customElements.getName(ComboboxWC) ?? '%%prefix%%-combobox', { ...rest, ref }, children);
244
+ const { onOpenChange, children, ...rest } = props;
245
+ const _innerRef = React.useRef(null);
246
+ const _onOpenChangeRef = React.useRef(onOpenChange);
247
+ _onOpenChangeRef.current = onOpenChange;
248
+ React.useLayoutEffect(() => {
249
+ const el = _innerRef.current;
250
+ if (!el) return;
251
+ const _onOpenChangeFn = (e) => _onOpenChangeRef.current?.(e);
252
+ el.addEventListener('open-change', _onOpenChangeFn);
253
+ return () => {
254
+ el.removeEventListener('open-change', _onOpenChangeFn);
255
+ };
256
+ }, []);
257
+ return React.createElement(customElements.getName(ComboboxWC) ?? '%%prefix%%-combobox', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
246
258
  });
247
259
 
248
260
  const ConnectionIndicator = React.forwardRef(function ConnectionIndicator(props, ref) {
@@ -663,8 +675,20 @@ const SchedulerTimezone = React.forwardRef(function SchedulerTimezone(props, ref
663
675
  });
664
676
 
665
677
  const SearchBarCombobox = React.forwardRef(function SearchBarCombobox(props, ref) {
666
- const { children, ...rest } = props;
667
- return React.createElement(customElements.getName(SearchBarComboboxWC) ?? '%%prefix%%-search-bar-combobox', { ...rest, ref }, children);
678
+ const { onOpenChange, children, ...rest } = props;
679
+ const _innerRef = React.useRef(null);
680
+ const _onOpenChangeRef = React.useRef(onOpenChange);
681
+ _onOpenChangeRef.current = onOpenChange;
682
+ React.useLayoutEffect(() => {
683
+ const el = _innerRef.current;
684
+ if (!el) return;
685
+ const _onOpenChangeFn = (e) => _onOpenChangeRef.current?.(e);
686
+ el.addEventListener('open-change', _onOpenChangeFn);
687
+ return () => {
688
+ el.removeEventListener('open-change', _onOpenChangeFn);
689
+ };
690
+ }, []);
691
+ return React.createElement(customElements.getName(SearchBarComboboxWC) ?? '%%prefix%%-search-bar-combobox', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
668
692
  });
669
693
 
670
694
  const SearchBar = React.forwardRef(function SearchBar(props, ref) {
@@ -727,8 +751,20 @@ const SegmentedItem = React.forwardRef(function SegmentedItem(props, ref) {
727
751
  });
728
752
 
729
753
  const Select = React.forwardRef(function Select(props, ref) {
730
- const { children, ...rest } = props;
731
- return React.createElement(customElements.getName(SelectWC) ?? '%%prefix%%-select', { ...rest, ref }, children);
754
+ const { onOpenChange, children, ...rest } = props;
755
+ const _innerRef = React.useRef(null);
756
+ const _onOpenChangeRef = React.useRef(onOpenChange);
757
+ _onOpenChangeRef.current = onOpenChange;
758
+ React.useLayoutEffect(() => {
759
+ const el = _innerRef.current;
760
+ if (!el) return;
761
+ const _onOpenChangeFn = (e) => _onOpenChangeRef.current?.(e);
762
+ el.addEventListener('open-change', _onOpenChangeFn);
763
+ return () => {
764
+ el.removeEventListener('open-change', _onOpenChangeFn);
765
+ };
766
+ }, []);
767
+ return React.createElement(customElements.getName(SelectWC) ?? '%%prefix%%-select', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
732
768
  });
733
769
 
734
770
  const Skeleton = React.forwardRef(function Skeleton(props, ref) {
package/dist/react.mjs CHANGED
@@ -239,8 +239,20 @@ export const Checkbox = React.forwardRef(function Checkbox(props, ref) {
239
239
  });
240
240
 
241
241
  export const Combobox = React.forwardRef(function Combobox(props, ref) {
242
- const { children, ...rest } = props;
243
- return React.createElement(customElements.getName(ComboboxWC) ?? '%%prefix%%-combobox', { ...rest, ref }, children);
242
+ const { onOpenChange, children, ...rest } = props;
243
+ const _innerRef = React.useRef(null);
244
+ const _onOpenChangeRef = React.useRef(onOpenChange);
245
+ _onOpenChangeRef.current = onOpenChange;
246
+ React.useLayoutEffect(() => {
247
+ const el = _innerRef.current;
248
+ if (!el) return;
249
+ const _onOpenChangeFn = (e) => _onOpenChangeRef.current?.(e);
250
+ el.addEventListener('open-change', _onOpenChangeFn);
251
+ return () => {
252
+ el.removeEventListener('open-change', _onOpenChangeFn);
253
+ };
254
+ }, []);
255
+ return React.createElement(customElements.getName(ComboboxWC) ?? '%%prefix%%-combobox', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
244
256
  });
245
257
 
246
258
  export const ConnectionIndicator = React.forwardRef(function ConnectionIndicator(props, ref) {
@@ -661,8 +673,20 @@ export const SchedulerTimezone = React.forwardRef(function SchedulerTimezone(pro
661
673
  });
662
674
 
663
675
  export const SearchBarCombobox = React.forwardRef(function SearchBarCombobox(props, ref) {
664
- const { children, ...rest } = props;
665
- return React.createElement(customElements.getName(SearchBarComboboxWC) ?? '%%prefix%%-search-bar-combobox', { ...rest, ref }, children);
676
+ const { onOpenChange, children, ...rest } = props;
677
+ const _innerRef = React.useRef(null);
678
+ const _onOpenChangeRef = React.useRef(onOpenChange);
679
+ _onOpenChangeRef.current = onOpenChange;
680
+ React.useLayoutEffect(() => {
681
+ const el = _innerRef.current;
682
+ if (!el) return;
683
+ const _onOpenChangeFn = (e) => _onOpenChangeRef.current?.(e);
684
+ el.addEventListener('open-change', _onOpenChangeFn);
685
+ return () => {
686
+ el.removeEventListener('open-change', _onOpenChangeFn);
687
+ };
688
+ }, []);
689
+ return React.createElement(customElements.getName(SearchBarComboboxWC) ?? '%%prefix%%-search-bar-combobox', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
666
690
  });
667
691
 
668
692
  export const SearchBar = React.forwardRef(function SearchBar(props, ref) {
@@ -725,8 +749,20 @@ export const SegmentedItem = React.forwardRef(function SegmentedItem(props, ref)
725
749
  });
726
750
 
727
751
  export const Select = React.forwardRef(function Select(props, ref) {
728
- const { children, ...rest } = props;
729
- return React.createElement(customElements.getName(SelectWC) ?? '%%prefix%%-select', { ...rest, ref }, children);
752
+ const { onOpenChange, children, ...rest } = props;
753
+ const _innerRef = React.useRef(null);
754
+ const _onOpenChangeRef = React.useRef(onOpenChange);
755
+ _onOpenChangeRef.current = onOpenChange;
756
+ React.useLayoutEffect(() => {
757
+ const el = _innerRef.current;
758
+ if (!el) return;
759
+ const _onOpenChangeFn = (e) => _onOpenChangeRef.current?.(e);
760
+ el.addEventListener('open-change', _onOpenChangeFn);
761
+ return () => {
762
+ el.removeEventListener('open-change', _onOpenChangeFn);
763
+ };
764
+ }, []);
765
+ return React.createElement(customElements.getName(SelectWC) ?? '%%prefix%%-select', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
730
766
  });
731
767
 
732
768
  export const Skeleton = React.forwardRef(function Skeleton(props, ref) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/rapid-design-system",
3
3
  "description": "Rapid Design System",
4
- "version": "14.488.2",
4
+ "version": "14.489.0-canary.FUI-2574-1",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -38,13 +38,13 @@
38
38
  },
39
39
  "devDependencies": {
40
40
  "@genesiscommunitysuccess/analyzer-import-alias-plugin": "^5.0.3",
41
- "@genesislcap/foundation-testing": "14.488.2",
42
- "@genesislcap/genx": "14.488.2",
43
- "@genesislcap/rollup-builder": "14.488.2",
44
- "@genesislcap/ts-builder": "14.488.2",
45
- "@genesislcap/uvu-playwright-builder": "14.488.2",
46
- "@genesislcap/vite-builder": "14.488.2",
47
- "@genesislcap/webpack-builder": "14.488.2",
41
+ "@genesislcap/foundation-testing": "14.489.0-canary.FUI-2574-1",
42
+ "@genesislcap/genx": "14.489.0-canary.FUI-2574-1",
43
+ "@genesislcap/rollup-builder": "14.489.0-canary.FUI-2574-1",
44
+ "@genesislcap/ts-builder": "14.489.0-canary.FUI-2574-1",
45
+ "@genesislcap/uvu-playwright-builder": "14.489.0-canary.FUI-2574-1",
46
+ "@genesislcap/vite-builder": "14.489.0-canary.FUI-2574-1",
47
+ "@genesislcap/webpack-builder": "14.489.0-canary.FUI-2574-1",
48
48
  "flexlayout-react": "^0.8.19"
49
49
  },
50
50
  "peerDependencies": {
@@ -56,9 +56,9 @@
56
56
  }
57
57
  },
58
58
  "dependencies": {
59
- "@genesislcap/foundation-logger": "14.488.2",
60
- "@genesislcap/foundation-ui": "14.488.2",
61
- "@genesislcap/foundation-utils": "14.488.2",
59
+ "@genesislcap/foundation-logger": "14.489.0-canary.FUI-2574-1",
60
+ "@genesislcap/foundation-ui": "14.489.0-canary.FUI-2574-1",
61
+ "@genesislcap/foundation-utils": "14.489.0-canary.FUI-2574-1",
62
62
  "@microsoft/fast-colors": "5.3.1",
63
63
  "@microsoft/fast-components": "2.30.6",
64
64
  "@microsoft/fast-element": "1.14.0",
@@ -86,5 +86,5 @@
86
86
  "require": "./dist/react.cjs"
87
87
  }
88
88
  },
89
- "gitHead": "babd82759de2896aaec4b630259c716b59afb1b3"
89
+ "gitHead": "6dbab0f331e0fa7a280534d5cf111f09138c31e4"
90
90
  }