@k3-universe/react-kit 0.0.42 → 0.0.43

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.
package/dist/index.js CHANGED
@@ -20229,15 +20229,23 @@ function Autocomplete({
20229
20229
  useImperativeHandle(
20230
20230
  ref,
20231
20231
  () => ({
20232
- reset: handleClear
20232
+ reset: handleClear,
20233
+ experimental_injectInternalOptions: (options2) => {
20234
+ if (Array.isArray(options2)) {
20235
+ options2.forEach((opt) => {
20236
+ storeOption(opt);
20237
+ });
20238
+ }
20239
+ }
20233
20240
  }),
20234
- [handleClear]
20241
+ [handleClear, storeOption]
20235
20242
  );
20236
20243
  const showClearButton = clearable && (isMultiple && selectedItems.length > 0 || !isMultiple && currentValue !== null && currentValue !== void 0 && !Array.isArray(currentValue));
20237
20244
  return /* @__PURE__ */ jsxs(Popover, { open: isOpen, onOpenChange: setIsOpen, children: [
20238
20245
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
20239
20246
  "div",
20240
20247
  {
20248
+ inert: disabled,
20241
20249
  className: cn$1(
20242
20250
  "flex min-h-10 items-center gap-2 rounded-md border border-border bg-background px-3 py-2 text-sm",
20243
20251
  "ring-offset-background",
@@ -20372,6 +20380,7 @@ function AutocompleteField({
20372
20380
  onChange,
20373
20381
  className
20374
20382
  }) {
20383
+ const acRef = useRef(null);
20375
20384
  const options = (field.options ?? []).filter(
20376
20385
  (o2) => o2.value !== null && o2.value !== void 0
20377
20386
  ).map((o2) => ({
@@ -20397,9 +20406,16 @@ function AutocompleteField({
20397
20406
  defaultValueShaped = typeof field.defaultValue === "string" || typeof field.defaultValue === "number" || field.defaultValue === null ? field.defaultValue : null;
20398
20407
  }
20399
20408
  }
20409
+ useEffect(() => {
20410
+ var _a2;
20411
+ if (value == null || value === "") {
20412
+ (_a2 = acRef.current) == null ? void 0 : _a2.reset();
20413
+ }
20414
+ }, [value]);
20400
20415
  return /* @__PURE__ */ jsx(
20401
- Autocomplete,
20416
+ ForwardedRefAutocomplete,
20402
20417
  {
20418
+ ref: acRef,
20403
20419
  mode: field.autocompleteMode ?? "client",
20404
20420
  options,
20405
20421
  fetcher: field.fetcher,
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/AutocompleteField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CA+ElB"}
1
+ {"version":3,"file":"AutocompleteField.d.ts","sourceRoot":"","sources":["../../../../../../src/kit/builder/form/components/fields/AutocompleteField.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,2CAwFlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/kit/components/autocomplete/Autocomplete.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/kit/components/autocomplete/Autocomplete.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k3-universe/react-kit",
3
- "version": "0.0.42",
3
+ "version": "0.0.43",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -1,4 +1,5 @@
1
- import { Autocomplete } from '../../../../../kit/components/autocomplete/Autocomplete';
1
+ import { useEffect, useRef } from 'react';
2
+ import { ForwardedRefAutocomplete } from '../../../../../kit/components/autocomplete/Autocomplete';
2
3
  import type { AutocompleteOption } from '../../../../../kit/components/autocomplete/types';
3
4
  import type { FieldRenderProps } from './types';
4
5
 
@@ -8,6 +9,8 @@ export function AutocompleteField({
8
9
  onChange,
9
10
  className,
10
11
  }: FieldRenderProps) {
12
+ const acRef = useRef<any>(null);
13
+
11
14
  const options: AutocompleteOption[] = (field.options ?? [])
12
15
  .filter(
13
16
  (o): o is { label: string; value: string | number } =>
@@ -56,8 +59,15 @@ export function AutocompleteField({
56
59
  }
57
60
  }
58
61
 
62
+ useEffect(() => {
63
+ if (value == null || value === "") {
64
+ acRef.current?.reset();
65
+ }
66
+ }, [value]);
67
+
59
68
  return (
60
- <Autocomplete
69
+ <ForwardedRefAutocomplete
70
+ ref={acRef}
61
71
  mode={field.autocompleteMode ?? 'client'}
62
72
  options={options}
63
73
  fetcher={field.fetcher}
@@ -502,8 +502,13 @@ export function Autocomplete<T = unknown>({
502
502
  ref,
503
503
  () => ({
504
504
  reset: handleClear,
505
+ experimental_injectInternalOptions: (options: AutocompleteOption[]) => {
506
+ if(Array.isArray(options)) {
507
+ options.forEach(opt => { storeOption(opt as never); })
508
+ }
509
+ },
505
510
  }),
506
- [handleClear]
511
+ [handleClear, storeOption]
507
512
  );
508
513
 
509
514
  const showClearButton =
@@ -518,6 +523,7 @@ export function Autocomplete<T = unknown>({
518
523
  <Popover open={isOpen} onOpenChange={setIsOpen}>
519
524
  <PopoverTrigger asChild>
520
525
  <div
526
+ inert={disabled}
521
527
  className={cn(
522
528
  'flex min-h-10 items-center gap-2 rounded-md border border-border bg-background px-3 py-2 text-sm',
523
529
  'ring-offset-background',