@lotics/ui 45.5.0 → 45.5.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.
package/MIGRATION.md CHANGED
@@ -20,11 +20,14 @@ chips from carrying their own remove ✕.
20
20
  now means the removable RESTING chip and takes `(option, { remove })`, so borrowing it for the
21
21
  menu put a ✕ on every option in the list.
22
22
 
23
- **Every option list's rows sit 4px apart.** `OptionList` declared that spacing all along, but
23
+ **Every option list's rows sit 2px apart.** `OptionList` declared that spacing all along, but
24
24
  put it on the ScrollView's viewport rather than its content container, where it fell between
25
25
  nothing — so rows rendered flush and two adjacent SELECTED rows merged into one tinted block. Every
26
26
  selector that opens a list (`Select`, `Picker`, `InlineSelect`, the member pickers, menus) is now
27
- slightly taller for the same number of rows, and a list capped at its 320px max shows one fewer.
27
+ slightly taller for the same number of rows. A field's chips take 4px on BOTH axes the row gap was
28
+ half the column gap, pinching a wrapped field against its own first line. A list row is read top to
29
+ bottom and needs only enough space not to merge with its neighbour; a chip sits beside other
30
+ objects and wants the wider setting.
28
31
 
29
32
  **A multi `InlineSelect`'s chips follow the working set while its list is open** — the draft you
30
33
  are building, not the stored value. Ticking a row or pressing a chip's ✕ now shows immediately
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lotics/ui",
3
- "version": "45.5.0",
3
+ "version": "45.5.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./vite": {
@@ -306,6 +306,9 @@ export function InlineSelect<T extends string, D = unknown>(props: InlineSelectP
306
306
  }
307
307
 
308
308
  const styles = StyleSheet.create({
309
- tags: { flexDirection: "row", alignItems: "center", flexWrap: "wrap", columnGap: 4, rowGap: 2 },
309
+ // ONE gap on both axes: a wrapped chip is the same object as the one beside it,
310
+ // so the second line should breathe like the first. The row gap used to be half
311
+ // the column gap, which pinched a wrapped field against its own first line.
312
+ tags: { flexDirection: "row", alignItems: "center", flexWrap: "wrap", gap: 4 },
310
313
  error: { marginTop: 4 },
311
314
  });
@@ -244,7 +244,11 @@ const styles = StyleSheet.create({
244
244
  maxHeight: 320,
245
245
  },
246
246
  optionsContent: {
247
- gap: 4,
247
+ // 2, where a field's chips sit at 4. A row here is a 40px LIST line read top to
248
+ // bottom, and needs only enough space to stop two tinted rows reading as one
249
+ // block; a chip is an object sitting beside other objects and wants the wider
250
+ // setting. Two numbers because they answer two questions, not one token split.
251
+ gap: 2,
248
252
  },
249
253
  selectAllContainer: {
250
254
  flexDirection: "row",