@djangocfg/ui-core 2.1.289 → 2.1.290

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@djangocfg/ui-core",
3
- "version": "2.1.289",
3
+ "version": "2.1.290",
4
4
  "description": "Pure React UI component library without Next.js dependencies - for Electron, Vite, CRA apps",
5
5
  "keywords": [
6
6
  "ui-components",
@@ -86,7 +86,7 @@
86
86
  "playground": "playground dev"
87
87
  },
88
88
  "peerDependencies": {
89
- "@djangocfg/i18n": "^2.1.289",
89
+ "@djangocfg/i18n": "^2.1.290",
90
90
  "consola": "^3.4.2",
91
91
  "lucide-react": "^0.545.0",
92
92
  "moment": "^2.30.1",
@@ -148,9 +148,9 @@
148
148
  "vaul": "1.1.2"
149
149
  },
150
150
  "devDependencies": {
151
- "@djangocfg/i18n": "^2.1.289",
151
+ "@djangocfg/i18n": "^2.1.290",
152
152
  "@djangocfg/playground": "workspace:*",
153
- "@djangocfg/typescript-config": "^2.1.289",
153
+ "@djangocfg/typescript-config": "^2.1.290",
154
154
  "@types/node": "^24.7.2",
155
155
  "@types/react": "^19.1.0",
156
156
  "@types/react-dom": "^19.1.0",
@@ -49,7 +49,11 @@ const Accordion = React.forwardRef<
49
49
  );
50
50
 
51
51
  if (isSingle) {
52
- const { onValueChange, value, defaultValue, ...rest } = props as AccordionSingleProps & { onValueChange?: (v: string) => void };
52
+ // Drop ``type`` from ``rest`` we re-apply it below as a literal so
53
+ // the Radix discriminated-union narrows correctly; leaving it in
54
+ // ``rest`` makes TS flag a duplicate (TS2783).
55
+ const { onValueChange, value, defaultValue, type: _t, ...rest } = props as AccordionSingleProps & { onValueChange?: (v: string) => void };
56
+ void _t;
53
57
  const handleValueChange = storageKey
54
58
  ? (newValue: string) => { setStoredSingle(newValue); onValueChange?.(newValue); }
55
59
  : onValueChange;
@@ -69,7 +73,8 @@ const Accordion = React.forwardRef<
69
73
  );
70
74
  }
71
75
 
72
- const { onValueChange, value, defaultValue, ...rest } = props as AccordionMultipleProps & { onValueChange?: (v: string[]) => void };
76
+ const { onValueChange, value, defaultValue, type: _t, ...rest } = props as AccordionMultipleProps & { onValueChange?: (v: string[]) => void };
77
+ void _t;
73
78
  const handleValueChange = storageKey
74
79
  ? (newValue: string[]) => { setStoredMultiple(newValue); onValueChange?.(newValue); }
75
80
  : onValueChange;
@@ -160,9 +160,12 @@ export function Combobox({
160
160
  React.useEffect(() => {
161
161
  if (scrollRef.current && open) {
162
162
  const el = scrollRef.current
163
+ // No min-height here — list should hug its content when there
164
+ // are only a few options, otherwise an empty strip appears below
165
+ // the last item (reproducible with 2–3 options).
163
166
  el.style.cssText = `
164
167
  max-height: 300px !important;
165
- overflow-y: scroll !important;
168
+ overflow-y: auto !important;
166
169
  overflow-x: hidden !important;
167
170
  -webkit-overflow-scrolling: touch !important;
168
171
  overscroll-behavior: contain !important;
@@ -269,10 +272,9 @@ export function Combobox({
269
272
  <div
270
273
  ref={scrollRef}
271
274
  tabIndex={-1}
272
- className="overflow-y-scroll overflow-x-hidden"
275
+ className="overflow-y-auto overflow-x-hidden"
273
276
  style={{
274
277
  maxHeight: '300px',
275
- minHeight: '100px',
276
278
  }}
277
279
  onWheel={(e) => {
278
280
  e.stopPropagation()