@tamagui/collection 1.113.0 → 1.113.2
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.
|
@@ -4,89 +4,71 @@ import { isWeb } from "@tamagui/constants";
|
|
|
4
4
|
import { Slot, createStyledContext } from "@tamagui/core";
|
|
5
5
|
import React from "react";
|
|
6
6
|
function createCollection(name) {
|
|
7
|
-
var {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
ref = React.useRef(null),
|
|
22
|
-
itemMap = React.useRef(/* @__PURE__ */new Map()).current;
|
|
23
|
-
return /* @__PURE__ */_jsx(CollectionProviderImpl, {
|
|
24
|
-
scope: __scopeCollection,
|
|
25
|
-
itemMap,
|
|
26
|
-
collectionRef: ref,
|
|
27
|
-
children
|
|
28
|
-
});
|
|
29
|
-
};
|
|
7
|
+
var { Provider: CollectionProviderImpl, useStyledContext: useCollectionContext } = createStyledContext({
|
|
8
|
+
collectionRef: {
|
|
9
|
+
current: null
|
|
10
|
+
},
|
|
11
|
+
itemMap: /* @__PURE__ */ new Map()
|
|
12
|
+
}), CollectionProvider = function(props) {
|
|
13
|
+
var { __scopeCollection, children } = props, ref = React.useRef(null), itemMap = React.useRef(/* @__PURE__ */ new Map()).current;
|
|
14
|
+
return /* @__PURE__ */ _jsx(CollectionProviderImpl, {
|
|
15
|
+
scope: __scopeCollection,
|
|
16
|
+
itemMap,
|
|
17
|
+
collectionRef: ref,
|
|
18
|
+
children
|
|
19
|
+
});
|
|
20
|
+
};
|
|
30
21
|
CollectionProvider.displayName = "CollectionProvider";
|
|
31
|
-
var COLLECTION_SLOT_NAME = name + "CollectionSlot",
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
} = props,
|
|
37
|
-
context = useCollectionContext(__scopeCollection),
|
|
38
|
-
composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
|
|
39
|
-
return /* @__PURE__ */_jsx(Slot, {
|
|
40
|
-
ref: composedRefs,
|
|
41
|
-
children
|
|
42
|
-
});
|
|
22
|
+
var COLLECTION_SLOT_NAME = name + "CollectionSlot", CollectionSlot = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {
|
|
23
|
+
var { __scopeCollection, children } = props, context = useCollectionContext(__scopeCollection), composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
|
|
24
|
+
return /* @__PURE__ */ _jsx(Slot, {
|
|
25
|
+
ref: composedRefs,
|
|
26
|
+
children
|
|
43
27
|
});
|
|
28
|
+
});
|
|
44
29
|
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
|
45
|
-
var ITEM_SLOT_NAME = name + "CollectionItemSlot",
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
ref,
|
|
59
|
-
...itemData
|
|
60
|
-
}), function () {
|
|
61
|
-
return void context.itemMap.delete(ref);
|
|
62
|
-
};
|
|
63
|
-
}), /* @__PURE__ */_jsx(Slot, {
|
|
64
|
-
[ITEM_DATA_ATTR]: "",
|
|
65
|
-
ref: composedRefs,
|
|
66
|
-
children
|
|
67
|
-
});
|
|
30
|
+
var ITEM_SLOT_NAME = name + "CollectionItemSlot", ITEM_DATA_ATTR = "data-collection-item", CollectionItemSlot = /* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {
|
|
31
|
+
var { __scopeCollection, children, ...itemData } = props, ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), context = useCollectionContext(__scopeCollection);
|
|
32
|
+
return React.useEffect(function() {
|
|
33
|
+
return context.itemMap.set(ref, {
|
|
34
|
+
ref,
|
|
35
|
+
...itemData
|
|
36
|
+
}), function() {
|
|
37
|
+
return void context.itemMap.delete(ref);
|
|
38
|
+
};
|
|
39
|
+
}), /* @__PURE__ */ _jsx(Slot, {
|
|
40
|
+
[ITEM_DATA_ATTR]: "",
|
|
41
|
+
ref: composedRefs,
|
|
42
|
+
children
|
|
68
43
|
});
|
|
44
|
+
});
|
|
69
45
|
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
|
70
46
|
function useCollection(__scopeCollection) {
|
|
71
|
-
var context = useCollectionContext(__scopeCollection),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
47
|
+
var context = useCollectionContext(__scopeCollection), getItems = React.useCallback(function() {
|
|
48
|
+
if (!isWeb)
|
|
49
|
+
return [];
|
|
50
|
+
var collectionNode = context.collectionRef.current;
|
|
51
|
+
if (!collectionNode) return [];
|
|
52
|
+
var orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`)), items = Array.from(context.itemMap.values()), orderedItems = items.sort(function(a, b) {
|
|
53
|
+
return orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current);
|
|
54
|
+
});
|
|
55
|
+
return orderedItems;
|
|
56
|
+
}, [
|
|
57
|
+
context.collectionRef,
|
|
58
|
+
context.itemMap
|
|
59
|
+
]);
|
|
83
60
|
return getItems;
|
|
84
61
|
}
|
|
85
|
-
return [
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
62
|
+
return [
|
|
63
|
+
{
|
|
64
|
+
Provider: CollectionProvider,
|
|
65
|
+
Slot: CollectionSlot,
|
|
66
|
+
ItemSlot: CollectionItemSlot
|
|
67
|
+
},
|
|
68
|
+
useCollection
|
|
69
|
+
];
|
|
90
70
|
}
|
|
91
|
-
export {
|
|
92
|
-
|
|
71
|
+
export {
|
|
72
|
+
createCollection
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=Collection.js.map
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/ui/collection/src/Collection.tsx"],
|
|
4
|
+
"mappings": ";AAAA,SAASA,uBAAuB;AAChC,SAASC,aAAa;AAEtB,SAASC,MAAMC,2BAA2B;AAC1C,OAAOC,WAAW;AAWlB,SAASC,iBACPC,MAAY;AAoBZ,MAAM,EAAEC,UAAUC,wBAAwBC,kBAAkBC,qBAAoB,IAC9EP,oBAAkC;IAChCQ,eAAe;MAAEC,SAAS;IAAK;IAC/BC,SAAS,oBAAIC,IAAAA;EACf,CAAA,GAEIC,qBAGD,SAACC,OAAAA;AACJ,QAAM,EAAEC,mBAAmBC,SAAQ,IAAKF,OAClCG,MAAMf,MAAMgB,OAA0B,IAAA,GACtCP,UAAUT,MAAMgB,OAAgC,oBAAIN,IAAAA,CAAAA,EAAOF;AACjE,WACE,qBAACJ,wBAAAA;MACCa,OAAOJ;MACPJ;MACAF,eAAeQ;;;EAKrB;AAEAJ,qBAAmBO,cAAc;AAMjC,MAAMC,uBAAuBjB,OAAO,kBAE9BkB,iBAAiBpB,sBAAMqB,WAG3B,SAACT,OAAOU,cAAAA;AACR,QAAM,EAAET,mBAAmBC,SAAQ,IAAKF,OAClCW,UAAUjB,qBAAqBO,iBAAAA,GAC/BW,eAAe5B,gBAAgB0B,cAAcC,QAAQhB,aAAa;AACxE,WAAO,qBAACT,MAAAA;MAAKiB,KAAKS;;;EACpB,CAAA;AAEAJ,iBAAeF,cAAcC;AAM7B,MAAMM,iBAAiBvB,OAAO,sBACxBwB,iBAAiB,wBAMjBC,qBAAqB3B,sBAAMqB,WAG/B,SAACT,OAAOU,cAAAA;AACR,QAAM,EAAET,mBAAmBC,UAAU,GAAGc,SAAAA,IAAahB,OAC/CG,MAAMf,MAAMgB,OAAoB,IAAA,GAChCQ,eAAe5B,gBAAgB0B,cAAcP,GAAAA,GAC7CQ,UAAUjB,qBAAqBO,iBAAAA;AAErCb,iBAAM6B,UAAU,WAAA;AACdN,qBAAQd,QAAQqB,IAAIf,KAAK;QAAEA;QAAK,GAAIa;MAAiC,CAAA,GAC9D,WAAA;eAAM,KAAKL,QAAQd,QAAQsB,OAAOhB,GAAAA;;IAC3C,CAAA,GAGE,qBAACjB,MAAAA;MAAW,CAAC4B,cAAAA,GAAiB;MAAMX,KAAKS;;;EAI7C,CAAA;AAEAG,qBAAmBT,cAAcO;AAMjC,WAASO,cAAcnB,mBAAsB;AAC3C,QAAMU,UAAUjB,qBAAqBO,iBAAAA,GAE/BoB,WAAWjC,MAAMkC,YAAY,WAAA;AACjC,UAAI,CAACrC;AACH,eAAO,CAAA;AAGT,UAAMsC,iBAAiBZ,QAAQhB,cAAcC;AAC7C,UAAI,CAAC2B,eAAgB,QAAO,CAAA;AAC5B,UAAMC,eAAeC,MAAMC,KACzBH,eAAeI,iBAAiB,IAAIb,cAAAA,GAAiB,CAAA,GAEjDc,QAAQH,MAAMC,KAAKf,QAAQd,QAAQgC,OAAM,CAAA,GACzCC,eAAeF,MAAMG,KACzB,SAACC,GAAGC,GAAAA;eACFT,aAAaU,QAAQF,EAAE7B,IAAIP,OAAO,IAClC4B,aAAaU,QAAQD,EAAE9B,IAAIP,OAAO;;AAEtC,aAAOkC;IACT,GAAG;MAACnB,QAAQhB;MAAegB,QAAQd;KAAQ;AAE3C,WAAOwB;EACT;AAEA,SAAO;IACL;MAAE9B,UAAUQ;MAAoBb,MAAMsB;MAAgB2B,UAAUpB;IAAmB;IACnFK;;AAEJ;",
|
|
5
|
+
"names": ["useComposedRefs", "isWeb", "Slot", "createStyledContext", "React", "createCollection", "name", "Provider", "CollectionProviderImpl", "useStyledContext", "useCollectionContext", "collectionRef", "current", "itemMap", "Map", "CollectionProvider", "props", "__scopeCollection", "children", "ref", "useRef", "scope", "displayName", "COLLECTION_SLOT_NAME", "CollectionSlot", "forwardRef", "forwardedRef", "context", "composedRefs", "ITEM_SLOT_NAME", "ITEM_DATA_ATTR", "CollectionItemSlot", "itemData", "useEffect", "set", "delete", "useCollection", "getItems", "useCallback", "collectionNode", "orderedNodes", "Array", "from", "querySelectorAll", "items", "values", "orderedItems", "sort", "a", "b", "indexOf", "ItemSlot"]
|
|
6
|
+
}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./Collection
|
|
2
|
-
//# sourceMappingURL=index.
|
|
1
|
+
export * from "./Collection";
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/collection",
|
|
3
|
-
"version": "1.113.
|
|
3
|
+
"version": "1.113.2",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.css"
|
|
6
6
|
],
|
|
@@ -33,16 +33,16 @@
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@tamagui/compose-refs": "1.113.
|
|
37
|
-
"@tamagui/constants": "1.113.
|
|
38
|
-
"@tamagui/core": "1.113.
|
|
39
|
-
"@tamagui/create-context": "1.113.
|
|
40
|
-
"@tamagui/polyfill-dev": "1.113.
|
|
41
|
-
"@tamagui/stacks": "1.113.
|
|
42
|
-
"@tamagui/use-controllable-state": "1.113.
|
|
36
|
+
"@tamagui/compose-refs": "1.113.2",
|
|
37
|
+
"@tamagui/constants": "1.113.2",
|
|
38
|
+
"@tamagui/core": "1.113.2",
|
|
39
|
+
"@tamagui/create-context": "1.113.2",
|
|
40
|
+
"@tamagui/polyfill-dev": "1.113.2",
|
|
41
|
+
"@tamagui/stacks": "1.113.2",
|
|
42
|
+
"@tamagui/use-controllable-state": "1.113.2"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@tamagui/build": "1.113.
|
|
45
|
+
"@tamagui/build": "1.113.2",
|
|
46
46
|
"react": "^18.2.0 || ^19.0.0"
|
|
47
47
|
},
|
|
48
48
|
"publishConfig": {
|