@womp/kookie-ui 0.36.0 → 0.37.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/components.css +0 -20
- package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
- package/dist/cjs/components/_internal/base-menu.utils.js.map +2 -2
- package/dist/cjs/components/_internal/menu-context.js +1 -1
- package/dist/cjs/components/_internal/menu-context.js.map +2 -2
- package/dist/cjs/components/_internal/pane-chrome.js +1 -1
- package/dist/cjs/components/_internal/pane-chrome.js.map +2 -2
- package/dist/cjs/components/_internal/shell-bottom.d.ts +3 -3
- package/dist/cjs/components/_internal/shell-bottom.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-bottom.js +1 -1
- package/dist/cjs/components/_internal/shell-bottom.js.map +3 -3
- package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-handles.js +1 -1
- package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
- package/dist/cjs/components/_internal/shell-inspector.d.ts +3 -3
- package/dist/cjs/components/_internal/shell-inspector.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-inspector.js +1 -1
- package/dist/cjs/components/_internal/shell-inspector.js.map +3 -3
- package/dist/cjs/components/_internal/shell-pane.d.ts +2 -7
- package/dist/cjs/components/_internal/shell-pane.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-pane.js +1 -1
- package/dist/cjs/components/_internal/shell-pane.js.map +3 -3
- package/dist/cjs/components/_internal/shell-resizable.d.ts +3 -9
- package/dist/cjs/components/_internal/shell-resizable.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-resizable.js +1 -1
- package/dist/cjs/components/_internal/shell-resizable.js.map +3 -3
- package/dist/cjs/components/_internal/shell-resize.d.ts +0 -4
- package/dist/cjs/components/_internal/shell-resize.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-resize.js +1 -1
- package/dist/cjs/components/_internal/shell-resize.js.map +2 -2
- package/dist/cjs/components/_internal/shell-rest.d.ts +1 -6
- package/dist/cjs/components/_internal/shell-rest.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-rest.js +1 -1
- package/dist/cjs/components/_internal/shell-rest.js.map +3 -3
- package/dist/cjs/components/_internal/shell-sidebar.d.ts +3 -3
- package/dist/cjs/components/_internal/shell-sidebar.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
- package/dist/cjs/components/_internal/shell-store.d.ts +0 -10
- package/dist/cjs/components/_internal/shell-store.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-store.js +1 -1
- package/dist/cjs/components/_internal/shell-store.js.map +3 -3
- package/dist/cjs/components/accordion.js +1 -1
- package/dist/cjs/components/accordion.js.map +1 -1
- package/dist/cjs/components/accordion.props.d.ts +4 -3
- package/dist/cjs/components/accordion.props.d.ts.map +1 -1
- package/dist/cjs/components/accordion.props.js +1 -1
- package/dist/cjs/components/accordion.props.js.map +1 -1
- package/dist/cjs/components/checkbox-group.js +1 -1
- package/dist/cjs/components/checkbox-group.js.map +3 -3
- package/dist/cjs/components/checkbox-group.primitive.d.ts +0 -10
- package/dist/cjs/components/checkbox-group.primitive.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-group.primitive.js +1 -1
- package/dist/cjs/components/checkbox-group.primitive.js.map +3 -3
- package/dist/cjs/components/context-menu.d.ts +1 -5
- package/dist/cjs/components/context-menu.d.ts.map +1 -1
- package/dist/cjs/components/context-menu.js +1 -1
- package/dist/cjs/components/context-menu.js.map +3 -3
- package/dist/cjs/components/dropdown-menu.js +1 -1
- package/dist/cjs/components/dropdown-menu.js.map +2 -2
- package/dist/cjs/components/index.js +2 -2
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/components/navigator.js.map +2 -2
- package/dist/cjs/components/schemas/index.d.ts +1 -1
- package/dist/cjs/components/schemas/index.d.ts.map +1 -1
- package/dist/cjs/components/schemas/index.js +1 -1
- package/dist/cjs/components/schemas/index.js.map +3 -3
- package/dist/cjs/components/schemas/shell.schema.d.ts +6 -112
- package/dist/cjs/components/schemas/shell.schema.d.ts.map +1 -1
- package/dist/cjs/components/schemas/shell.schema.js +1 -1
- package/dist/cjs/components/schemas/shell.schema.js.map +3 -3
- package/dist/cjs/components/separator.js +1 -1
- package/dist/cjs/components/separator.js.map +2 -2
- package/dist/cjs/components/shell.context.d.ts +1 -45
- package/dist/cjs/components/shell.context.d.ts.map +1 -1
- package/dist/cjs/components/shell.context.js +1 -1
- package/dist/cjs/components/shell.context.js.map +4 -4
- package/dist/cjs/components/shell.d.ts +7 -37
- package/dist/cjs/components/shell.d.ts.map +1 -1
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +4 -4
- package/dist/cjs/components/shell.types.d.ts +6 -27
- package/dist/cjs/components/shell.types.d.ts.map +1 -1
- package/dist/cjs/components/shell.types.js +1 -1
- package/dist/cjs/components/shell.types.js.map +2 -2
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +2 -2
- package/dist/cjs/components/toolbar.js +1 -1
- package/dist/cjs/components/toolbar.js.map +2 -2
- package/dist/cjs/hooks/use-breakpoint.js +1 -1
- package/dist/cjs/hooks/use-breakpoint.js.map +2 -2
- package/dist/cjs/index.js +4 -4
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/props/index.js +1 -1
- package/dist/cjs/props/index.js.map +1 -1
- package/dist/esm/{chunk-5RLGDXOM.js → chunk-2K46JPUL.js} +2 -2
- package/dist/esm/chunk-3DBHPBG6.js +3 -0
- package/dist/esm/{chunk-ASBTPKH3.js.map → chunk-3DBHPBG6.js.map} +2 -2
- package/dist/esm/chunk-3K7E4XL3.js +3 -0
- package/dist/esm/chunk-3K7E4XL3.js.map +7 -0
- package/dist/esm/chunk-3LR7KMBE.js +3 -0
- package/dist/esm/chunk-3LR7KMBE.js.map +7 -0
- package/dist/esm/chunk-5U2LEJLU.js +3 -0
- package/dist/esm/chunk-5U2LEJLU.js.map +7 -0
- package/dist/esm/{chunk-IN6D33TU.js → chunk-5XO3PLDH.js} +2 -2
- package/dist/esm/{chunk-COLJWVN7.js → chunk-AQR42GKA.js} +2 -2
- package/dist/esm/{chunk-FTNZWAPB.js → chunk-ARPUPT4M.js} +2 -2
- package/dist/esm/{chunk-ISCZ57VL.js → chunk-DJGZ4K3V.js} +2 -2
- package/dist/esm/{chunk-PMXIQ5B4.js → chunk-FKCKELUB.js} +2 -2
- package/dist/esm/chunk-H7GH3DTF.js +3 -0
- package/dist/esm/chunk-H7GH3DTF.js.map +7 -0
- package/dist/esm/{chunk-E6MOZSYV.js → chunk-HNOT2HS4.js} +2 -2
- package/dist/esm/chunk-LBAC2X4U.js +3 -0
- package/dist/esm/{chunk-5BXCPANF.js.map → chunk-LBAC2X4U.js.map} +3 -3
- package/dist/esm/{chunk-MAA6LEE2.js → chunk-MDQ7ZHOS.js} +1 -1
- package/dist/esm/chunk-MDQ7ZHOS.js.map +7 -0
- package/dist/esm/chunk-MQA3BKF4.js +3 -0
- package/dist/esm/chunk-MQA3BKF4.js.map +7 -0
- package/dist/esm/chunk-MXNPCJPV.js +3 -0
- package/dist/esm/chunk-MXNPCJPV.js.map +7 -0
- package/dist/esm/chunk-QBVTI32A.js +2 -0
- package/dist/esm/chunk-QBVTI32A.js.map +7 -0
- package/dist/esm/{chunk-EB4AG3OL.js → chunk-REELD6CT.js} +2 -2
- package/dist/esm/chunk-RYXIRZQW.js +3 -0
- package/dist/esm/chunk-RYXIRZQW.js.map +7 -0
- package/dist/esm/chunk-S66WR5R7.js +3 -0
- package/dist/esm/{chunk-MXEOE4LA.js.map → chunk-S66WR5R7.js.map} +2 -2
- package/dist/esm/chunk-SECVO3CW.js +3 -0
- package/dist/esm/chunk-SECVO3CW.js.map +7 -0
- package/dist/esm/chunk-SHDZYFUN.js +3 -0
- package/dist/esm/chunk-SHDZYFUN.js.map +7 -0
- package/dist/esm/{chunk-3M5ZM67R.js → chunk-TCFBNE6A.js} +2 -2
- package/dist/esm/chunk-U7P64MXD.js +3 -0
- package/dist/esm/chunk-U7P64MXD.js.map +7 -0
- package/dist/esm/chunk-UFYQC5XY.js +3 -0
- package/dist/esm/chunk-UFYQC5XY.js.map +7 -0
- package/dist/esm/{chunk-G66WDIIV.js → chunk-WJKCXGVN.js} +2 -2
- package/dist/esm/chunk-XBDAE77C.js +3 -0
- package/dist/esm/chunk-XBDAE77C.js.map +7 -0
- package/dist/esm/{chunk-SIYOLE6P.js → chunk-YM47BXKK.js} +2 -2
- package/dist/esm/components/_internal/base-menu.utils.js +1 -1
- package/dist/esm/components/_internal/menu-context.js +1 -1
- package/dist/esm/components/_internal/pane-chrome.js +1 -1
- package/dist/esm/components/_internal/shell-bottom.d.ts +3 -3
- package/dist/esm/components/_internal/shell-bottom.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-bottom.js +1 -1
- package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-handles.js +1 -1
- package/dist/esm/components/_internal/shell-inspector.d.ts +3 -3
- package/dist/esm/components/_internal/shell-inspector.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-inspector.js +1 -1
- package/dist/esm/components/_internal/shell-pane.d.ts +2 -7
- package/dist/esm/components/_internal/shell-pane.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-pane.js +1 -1
- package/dist/esm/components/_internal/shell-resizable.d.ts +3 -9
- package/dist/esm/components/_internal/shell-resizable.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-resizable.js +1 -1
- package/dist/esm/components/_internal/shell-resize.d.ts +0 -4
- package/dist/esm/components/_internal/shell-resize.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-resize.js +1 -1
- package/dist/esm/components/_internal/shell-rest.d.ts +1 -6
- package/dist/esm/components/_internal/shell-rest.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-rest.js +1 -1
- package/dist/esm/components/_internal/shell-sidebar.d.ts +3 -3
- package/dist/esm/components/_internal/shell-sidebar.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js +1 -1
- package/dist/esm/components/_internal/shell-store.d.ts +0 -10
- package/dist/esm/components/_internal/shell-store.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-store.js +1 -1
- package/dist/esm/components/accordion.js +1 -1
- package/dist/esm/components/accordion.props.d.ts +4 -3
- package/dist/esm/components/accordion.props.d.ts.map +1 -1
- package/dist/esm/components/accordion.props.js +1 -1
- package/dist/esm/components/checkbox-group.js +1 -1
- package/dist/esm/components/checkbox-group.primitive.d.ts +0 -10
- package/dist/esm/components/checkbox-group.primitive.d.ts.map +1 -1
- package/dist/esm/components/checkbox-group.primitive.js +1 -1
- package/dist/esm/components/context-menu.d.ts +1 -5
- package/dist/esm/components/context-menu.d.ts.map +1 -1
- package/dist/esm/components/context-menu.js +1 -1
- package/dist/esm/components/dropdown-menu.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/navigator.js +1 -1
- package/dist/esm/components/schemas/index.d.ts +1 -1
- package/dist/esm/components/schemas/index.d.ts.map +1 -1
- package/dist/esm/components/schemas/index.js +1 -1
- package/dist/esm/components/schemas/index.js.map +2 -2
- package/dist/esm/components/schemas/shell.schema.d.ts +6 -112
- package/dist/esm/components/schemas/shell.schema.d.ts.map +1 -1
- package/dist/esm/components/schemas/shell.schema.js +1 -1
- package/dist/esm/components/separator.js +1 -1
- package/dist/esm/components/shell.context.d.ts +1 -45
- package/dist/esm/components/shell.context.d.ts.map +1 -1
- package/dist/esm/components/shell.context.js +1 -1
- package/dist/esm/components/shell.d.ts +7 -37
- package/dist/esm/components/shell.d.ts.map +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/shell.types.d.ts +6 -27
- package/dist/esm/components/shell.types.d.ts.map +1 -1
- package/dist/esm/components/shell.types.js +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/toolbar.js +1 -1
- package/dist/esm/components/virtual-menu.js +1 -1
- package/dist/esm/hooks/use-breakpoint.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/props/index.js +1 -1
- package/package.json +1 -1
- package/schemas/index.json +13 -335
- package/schemas/shell-bottom.json +2 -63
- package/schemas/shell-inspector.json +2 -63
- package/schemas/shell-panel.json +2 -63
- package/schemas/shell-rail.json +2 -38
- package/schemas/shell-sidebar.json +5 -102
- package/schemas/shell-trigger.json +0 -6
- package/src/components/_internal/shell-bottom.tsx +6 -26
- package/src/components/_internal/shell-handles.tsx +2 -32
- package/src/components/_internal/shell-inspector.tsx +6 -26
- package/src/components/_internal/shell-pane.tsx +7 -56
- package/src/components/_internal/shell-resizable.tsx +6 -81
- package/src/components/_internal/shell-resize.tsx +0 -4
- package/src/components/_internal/shell-rest.ts +2 -11
- package/src/components/_internal/shell-sidebar.tsx +8 -30
- package/src/components/_internal/shell-store.tsx +1 -34
- package/src/components/accordion.props.tsx +2 -4
- package/src/components/checkbox-group.primitive.tsx +0 -12
- package/src/components/context-menu.tsx +1 -6
- package/src/components/schemas/index.ts +0 -1
- package/src/components/schemas/shell.schema.ts +3 -20
- package/src/components/shell.context.tsx +5 -112
- package/src/components/shell.css +1 -29
- package/src/components/shell.tsx +12 -97
- package/src/components/shell.types.ts +6 -28
- package/styles.css +0 -20
- package/dist/cjs/components/shell.hooks.d.ts +0 -10
- package/dist/cjs/components/shell.hooks.d.ts.map +0 -1
- package/dist/cjs/components/shell.hooks.js +0 -3
- package/dist/cjs/components/shell.hooks.js.map +0 -7
- package/dist/esm/chunk-2VSRZ4IT.js +0 -3
- package/dist/esm/chunk-2VSRZ4IT.js.map +0 -7
- package/dist/esm/chunk-2WFN4D52.js +0 -3
- package/dist/esm/chunk-2WFN4D52.js.map +0 -7
- package/dist/esm/chunk-4OJRLS5N.js +0 -3
- package/dist/esm/chunk-4OJRLS5N.js.map +0 -7
- package/dist/esm/chunk-4TTRPCGG.js +0 -3
- package/dist/esm/chunk-4TTRPCGG.js.map +0 -7
- package/dist/esm/chunk-5BXCPANF.js +0 -3
- package/dist/esm/chunk-ASBTPKH3.js +0 -3
- package/dist/esm/chunk-B447PNRD.js +0 -3
- package/dist/esm/chunk-B447PNRD.js.map +0 -7
- package/dist/esm/chunk-BJVXB3PN.js +0 -3
- package/dist/esm/chunk-BJVXB3PN.js.map +0 -7
- package/dist/esm/chunk-DNY4WWZF.js +0 -3
- package/dist/esm/chunk-DNY4WWZF.js.map +0 -7
- package/dist/esm/chunk-HQT32HQ6.js +0 -3
- package/dist/esm/chunk-HQT32HQ6.js.map +0 -7
- package/dist/esm/chunk-I77CYEBT.js +0 -2
- package/dist/esm/chunk-I77CYEBT.js.map +0 -7
- package/dist/esm/chunk-KGCGT4MJ.js +0 -3
- package/dist/esm/chunk-KGCGT4MJ.js.map +0 -7
- package/dist/esm/chunk-M26LLCQC.js +0 -3
- package/dist/esm/chunk-M26LLCQC.js.map +0 -7
- package/dist/esm/chunk-MAA6LEE2.js.map +0 -7
- package/dist/esm/chunk-MXEOE4LA.js +0 -3
- package/dist/esm/chunk-TS4QCDSI.js +0 -3
- package/dist/esm/chunk-TS4QCDSI.js.map +0 -7
- package/dist/esm/chunk-XOAOSRTH.js +0 -3
- package/dist/esm/chunk-XOAOSRTH.js.map +0 -7
- package/dist/esm/chunk-XUCR7L4G.js +0 -3
- package/dist/esm/chunk-XUCR7L4G.js.map +0 -7
- package/dist/esm/components/shell.hooks.d.ts +0 -10
- package/dist/esm/components/shell.hooks.d.ts.map +0 -1
- package/dist/esm/components/shell.hooks.js +0 -3
- package/dist/esm/components/shell.hooks.js.map +0 -7
- package/src/components/shell.hooks.ts +0 -20
- /package/dist/esm/{chunk-5RLGDXOM.js.map → chunk-2K46JPUL.js.map} +0 -0
- /package/dist/esm/{chunk-IN6D33TU.js.map → chunk-5XO3PLDH.js.map} +0 -0
- /package/dist/esm/{chunk-COLJWVN7.js.map → chunk-AQR42GKA.js.map} +0 -0
- /package/dist/esm/{chunk-FTNZWAPB.js.map → chunk-ARPUPT4M.js.map} +0 -0
- /package/dist/esm/{chunk-ISCZ57VL.js.map → chunk-DJGZ4K3V.js.map} +0 -0
- /package/dist/esm/{chunk-PMXIQ5B4.js.map → chunk-FKCKELUB.js.map} +0 -0
- /package/dist/esm/{chunk-E6MOZSYV.js.map → chunk-HNOT2HS4.js.map} +0 -0
- /package/dist/esm/{chunk-EB4AG3OL.js.map → chunk-REELD6CT.js.map} +0 -0
- /package/dist/esm/{chunk-3M5ZM67R.js.map → chunk-TCFBNE6A.js.map} +0 -0
- /package/dist/esm/{chunk-G66WDIIV.js.map → chunk-WJKCXGVN.js.map} +0 -0
- /package/dist/esm/{chunk-SIYOLE6P.js.map → chunk-YM47BXKK.js.map} +0 -0
package/schemas/shell-rail.json
CHANGED
|
@@ -111,44 +111,8 @@
|
|
|
111
111
|
},
|
|
112
112
|
"children": {},
|
|
113
113
|
"open": {
|
|
114
|
-
"description": "The open state, when controlled
|
|
115
|
-
"
|
|
116
|
-
{
|
|
117
|
-
"type": "boolean"
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
"anyOf": [
|
|
121
|
-
{
|
|
122
|
-
"type": "boolean"
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
"type": "object",
|
|
126
|
-
"properties": {
|
|
127
|
-
"initial": {
|
|
128
|
-
"type": "boolean"
|
|
129
|
-
},
|
|
130
|
-
"xs": {
|
|
131
|
-
"type": "boolean"
|
|
132
|
-
},
|
|
133
|
-
"sm": {
|
|
134
|
-
"type": "boolean"
|
|
135
|
-
},
|
|
136
|
-
"md": {
|
|
137
|
-
"type": "boolean"
|
|
138
|
-
},
|
|
139
|
-
"lg": {
|
|
140
|
-
"type": "boolean"
|
|
141
|
-
},
|
|
142
|
-
"xl": {
|
|
143
|
-
"type": "boolean"
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
"additionalProperties": false
|
|
147
|
-
}
|
|
148
|
-
],
|
|
149
|
-
"description": "Responsive open state"
|
|
150
|
-
}
|
|
151
|
-
]
|
|
114
|
+
"description": "The open state, when controlled",
|
|
115
|
+
"type": "boolean"
|
|
152
116
|
},
|
|
153
117
|
"defaultOpen": {
|
|
154
118
|
"description": "The starting state. A responsive object leaves the pane untouched, with that object as the answer at each breakpoint.",
|
|
@@ -158,109 +158,12 @@
|
|
|
158
158
|
"sizeUpdateMs": {
|
|
159
159
|
"type": "number"
|
|
160
160
|
},
|
|
161
|
-
"snapPoints": {
|
|
162
|
-
"description": "Deprecated, removed in 1.0",
|
|
163
|
-
"type": "array",
|
|
164
|
-
"items": {
|
|
165
|
-
"type": "number"
|
|
166
|
-
}
|
|
167
|
-
},
|
|
168
|
-
"snapTolerance": {
|
|
169
|
-
"description": "Deprecated, removed in 1.0",
|
|
170
|
-
"type": "number"
|
|
171
|
-
},
|
|
172
|
-
"collapseThreshold": {
|
|
173
|
-
"description": "Deprecated, removed in 1.0",
|
|
174
|
-
"type": "number"
|
|
175
|
-
},
|
|
176
|
-
"paneId": {
|
|
177
|
-
"description": "Deprecated, removed in 1.0",
|
|
178
|
-
"type": "string"
|
|
179
|
-
},
|
|
180
|
-
"persistence": {
|
|
181
|
-
"type": "object",
|
|
182
|
-
"properties": {},
|
|
183
|
-
"description": "Deprecated, removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.",
|
|
184
|
-
"additionalProperties": false
|
|
185
|
-
},
|
|
186
161
|
"state": {
|
|
187
|
-
"description": "The state, when controlled
|
|
188
|
-
"
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
"collapsed",
|
|
193
|
-
"expanded"
|
|
194
|
-
],
|
|
195
|
-
"description": "Sidebar state"
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
"anyOf": [
|
|
199
|
-
{
|
|
200
|
-
"type": "string",
|
|
201
|
-
"enum": [
|
|
202
|
-
"collapsed",
|
|
203
|
-
"expanded"
|
|
204
|
-
],
|
|
205
|
-
"description": "Sidebar state"
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
"type": "object",
|
|
209
|
-
"properties": {
|
|
210
|
-
"initial": {
|
|
211
|
-
"type": "string",
|
|
212
|
-
"enum": [
|
|
213
|
-
"collapsed",
|
|
214
|
-
"expanded"
|
|
215
|
-
],
|
|
216
|
-
"description": "Sidebar state"
|
|
217
|
-
},
|
|
218
|
-
"xs": {
|
|
219
|
-
"type": "string",
|
|
220
|
-
"enum": [
|
|
221
|
-
"collapsed",
|
|
222
|
-
"expanded"
|
|
223
|
-
],
|
|
224
|
-
"description": "Sidebar state"
|
|
225
|
-
},
|
|
226
|
-
"sm": {
|
|
227
|
-
"type": "string",
|
|
228
|
-
"enum": [
|
|
229
|
-
"collapsed",
|
|
230
|
-
"expanded"
|
|
231
|
-
],
|
|
232
|
-
"description": "Sidebar state"
|
|
233
|
-
},
|
|
234
|
-
"md": {
|
|
235
|
-
"type": "string",
|
|
236
|
-
"enum": [
|
|
237
|
-
"collapsed",
|
|
238
|
-
"expanded"
|
|
239
|
-
],
|
|
240
|
-
"description": "Sidebar state"
|
|
241
|
-
},
|
|
242
|
-
"lg": {
|
|
243
|
-
"type": "string",
|
|
244
|
-
"enum": [
|
|
245
|
-
"collapsed",
|
|
246
|
-
"expanded"
|
|
247
|
-
],
|
|
248
|
-
"description": "Sidebar state"
|
|
249
|
-
},
|
|
250
|
-
"xl": {
|
|
251
|
-
"type": "string",
|
|
252
|
-
"enum": [
|
|
253
|
-
"collapsed",
|
|
254
|
-
"expanded"
|
|
255
|
-
],
|
|
256
|
-
"description": "Sidebar state"
|
|
257
|
-
}
|
|
258
|
-
},
|
|
259
|
-
"additionalProperties": false
|
|
260
|
-
}
|
|
261
|
-
],
|
|
262
|
-
"description": "Responsive sidebar state"
|
|
263
|
-
}
|
|
162
|
+
"description": "The state, when controlled",
|
|
163
|
+
"type": "string",
|
|
164
|
+
"enum": [
|
|
165
|
+
"collapsed",
|
|
166
|
+
"expanded"
|
|
264
167
|
]
|
|
265
168
|
},
|
|
266
169
|
"defaultState": {
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
"target": {
|
|
8
8
|
"type": "string",
|
|
9
9
|
"enum": [
|
|
10
|
-
"left",
|
|
11
10
|
"rail",
|
|
12
11
|
"panel",
|
|
13
12
|
"sidebar",
|
|
@@ -26,11 +25,6 @@
|
|
|
26
25
|
"collapse"
|
|
27
26
|
]
|
|
28
27
|
},
|
|
29
|
-
"peekOnHover": {
|
|
30
|
-
"default": false,
|
|
31
|
-
"description": "Deprecated, removed in 1.0. Shows a preview of a closed pane on hover.",
|
|
32
|
-
"type": "boolean"
|
|
33
|
-
},
|
|
34
28
|
"type": {
|
|
35
29
|
"default": "button",
|
|
36
30
|
"description": "The button type",
|
|
@@ -7,14 +7,14 @@ import { PaneResizeContext } from './shell-resize.js';
|
|
|
7
7
|
import { BottomHandle, PaneHandle } from './shell-handles.js';
|
|
8
8
|
import { usePane, paneAttributes, usePresentationTable } from './shell-pane.js';
|
|
9
9
|
import { splitHandles, useInitialPaneSize, useResizablePane, type SizeChangeMeta } from './shell-resizable.js';
|
|
10
|
-
import { useFrameRegistration
|
|
11
|
-
import { bottomAnchoredGrowth, detailRest, toPaneValue
|
|
10
|
+
import { useFrameRegistration } from './shell-store.js';
|
|
11
|
+
import { bottomAnchoredGrowth, detailRest, toPaneValue } from './shell-rest.js';
|
|
12
12
|
import { PageScope } from './page-scope.js';
|
|
13
13
|
import { readBreakpoint } from '../../hooks/use-breakpoint.js';
|
|
14
|
-
import type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps } from '../shell.types.js';
|
|
14
|
+
import type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps, PaneOpenChangeReason } from '../shell.types.js';
|
|
15
15
|
|
|
16
|
-
type BottomOpenChangeMeta = { reason:
|
|
17
|
-
type BottomControlledProps = { open: boolean
|
|
16
|
+
type BottomOpenChangeMeta = { reason: PaneOpenChangeReason };
|
|
17
|
+
type BottomControlledProps = { open: boolean; onOpenChange?: (open: boolean, meta: BottomOpenChangeMeta) => void; defaultOpen?: never };
|
|
18
18
|
/** Since 0.8.0 `defaultOpen` takes a responsive object here too, as the docs already said it did. */
|
|
19
19
|
type BottomUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: BottomOpenChangeMeta) => void; open?: never };
|
|
20
20
|
type BottomSizeControlledProps = { size: number | string; defaultSize?: never };
|
|
@@ -50,16 +50,9 @@ export const Bottom = React.forwardRef<HTMLDivElement, BottomPublicProps>((props
|
|
|
50
50
|
maxSize = 400,
|
|
51
51
|
resizable = false,
|
|
52
52
|
collapsible = true,
|
|
53
|
-
onExpand,
|
|
54
|
-
onCollapse,
|
|
55
53
|
onResize,
|
|
56
54
|
onResizeStart,
|
|
57
55
|
onResizeEnd,
|
|
58
|
-
snapPoints,
|
|
59
|
-
snapTolerance,
|
|
60
|
-
collapseThreshold,
|
|
61
|
-
paneId,
|
|
62
|
-
persistence,
|
|
63
56
|
children,
|
|
64
57
|
style,
|
|
65
58
|
size,
|
|
@@ -83,17 +76,10 @@ export const Bottom = React.forwardRef<HTMLDivElement, BottomPublicProps>((props
|
|
|
83
76
|
presentationTable: table,
|
|
84
77
|
builtIn: detailRest,
|
|
85
78
|
onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),
|
|
86
|
-
onExpand,
|
|
87
|
-
onCollapse,
|
|
88
79
|
size: expandedSize,
|
|
89
80
|
});
|
|
90
81
|
useFrameRegistration('bottom', flush);
|
|
91
82
|
|
|
92
|
-
React.useEffect(() => {
|
|
93
|
-
if (snapPoints !== undefined || collapseThreshold !== undefined || paneId !== undefined || persistence !== undefined) {
|
|
94
|
-
warnOnce('Shell.Bottom: `snapPoints`, `collapseThreshold`, `paneId` and `persistence` are deprecated and are removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.');
|
|
95
|
-
}
|
|
96
|
-
}, [snapPoints, collapseThreshold, paneId, persistence]);
|
|
97
83
|
|
|
98
84
|
const elementRef = React.useRef<HTMLElement | null>(null);
|
|
99
85
|
const composedRef = useComposedRefs(ref, pane.setElement, elementRef);
|
|
@@ -119,14 +105,8 @@ export const Bottom = React.forwardRef<HTMLDivElement, BottomPublicProps>((props
|
|
|
119
105
|
onResize,
|
|
120
106
|
onResizeStart,
|
|
121
107
|
onResizeEnd,
|
|
122
|
-
snapPoints,
|
|
123
|
-
snapTolerance,
|
|
124
|
-
collapseThreshold,
|
|
125
|
-
paneId,
|
|
126
|
-
persistence,
|
|
127
108
|
overlaying: pane.overlaying,
|
|
128
109
|
overlayingNow: () => table[readBreakpoint()] === 'overlay',
|
|
129
|
-
requestCollapse: () => pane.setValue('closed', 'toggle'),
|
|
130
110
|
requestToggle: () => pane.toggle('toggle'),
|
|
131
111
|
});
|
|
132
112
|
|
|
@@ -137,7 +117,7 @@ export const Bottom = React.forwardRef<HTMLDivElement, BottomPublicProps>((props
|
|
|
137
117
|
|
|
138
118
|
return (
|
|
139
119
|
<div
|
|
140
|
-
{...
|
|
120
|
+
{...domProps}
|
|
141
121
|
id={pane.id}
|
|
142
122
|
ref={composedRef}
|
|
143
123
|
className={classNames('kui-ShellPane', 'kui-ShellBottom', className)}
|
|
@@ -27,12 +27,8 @@ export const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsW
|
|
|
27
27
|
onResize,
|
|
28
28
|
onResizeStart,
|
|
29
29
|
onResizeEnd,
|
|
30
|
-
snapPoints,
|
|
31
|
-
snapTolerance,
|
|
32
|
-
collapseThreshold,
|
|
33
30
|
collapsible,
|
|
34
31
|
target,
|
|
35
|
-
requestCollapse,
|
|
36
32
|
requestToggle,
|
|
37
33
|
} = usePaneResize();
|
|
38
34
|
|
|
@@ -158,9 +154,6 @@ export const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsW
|
|
|
158
154
|
onResizeStart?.(startSize);
|
|
159
155
|
|
|
160
156
|
let current = startSize;
|
|
161
|
-
// The unclamped size, so `collapseThreshold` is compared before the
|
|
162
|
-
// clamp: a threshold below `minSize` can then still collapse the pane.
|
|
163
|
-
let raw = startSize;
|
|
164
157
|
let frame = 0;
|
|
165
158
|
let pending: number | null = null;
|
|
166
159
|
const flush = () => {
|
|
@@ -189,8 +182,7 @@ export const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsW
|
|
|
189
182
|
if (ev === lastHandledMove) return;
|
|
190
183
|
lastHandledMove = ev;
|
|
191
184
|
const client = orientation === 'vertical' ? ev.clientX : ev.clientY;
|
|
192
|
-
|
|
193
|
-
current = clamp(raw);
|
|
185
|
+
current = clamp(startSize + (client - startClient) * sign);
|
|
194
186
|
write(container, current);
|
|
195
187
|
pending = current;
|
|
196
188
|
if (!frame) frame = requestAnimationFrame(flush);
|
|
@@ -232,29 +224,7 @@ export const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsW
|
|
|
232
224
|
if (frame) cancelAnimationFrame(frame);
|
|
233
225
|
flush();
|
|
234
226
|
|
|
235
|
-
|
|
236
|
-
// A drag past the threshold closes the pane and keeps no size: the
|
|
237
|
-
// pane opens again at the size it had before the drag. The drag
|
|
238
|
-
// still ends, at that size, so a consumer that started something
|
|
239
|
-
// in onResizeStart can stop it.
|
|
240
|
-
write(container, startSize);
|
|
241
|
-
onResize?.(startSize);
|
|
242
|
-
cleanup();
|
|
243
|
-
requestCollapse?.();
|
|
244
|
-
onResizeEnd?.(startSize);
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
let settled = current;
|
|
249
|
-
if (snapPoints && snapPoints.length) {
|
|
250
|
-
const nearest = snapPoints.reduce((acc, p) => (Math.abs(p - current) < Math.abs(acc - current) ? p : acc), snapPoints[0]);
|
|
251
|
-
if (Math.abs(nearest - current) <= snapTolerance) {
|
|
252
|
-
settled = clamp(nearest);
|
|
253
|
-
write(container, settled);
|
|
254
|
-
onResize?.(settled);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
onResizeEnd?.(settled);
|
|
227
|
+
onResizeEnd?.(current);
|
|
258
228
|
cleanup();
|
|
259
229
|
};
|
|
260
230
|
|
|
@@ -7,14 +7,14 @@ import { PaneResizeContext } from './shell-resize.js';
|
|
|
7
7
|
import { InspectorHandle, PaneHandle } from './shell-handles.js';
|
|
8
8
|
import { usePane, paneAttributes, usePresentationTable } from './shell-pane.js';
|
|
9
9
|
import { splitHandles, useInitialPaneSize, useResizablePane, type SizeChangeMeta } from './shell-resizable.js';
|
|
10
|
-
import { useFrameRegistration
|
|
11
|
-
import { detailRest, endAnchoredGrowth, toPaneValue
|
|
10
|
+
import { useFrameRegistration } from './shell-store.js';
|
|
11
|
+
import { detailRest, endAnchoredGrowth, toPaneValue } from './shell-rest.js';
|
|
12
12
|
import { PageScope } from './page-scope.js';
|
|
13
13
|
import { readBreakpoint } from '../../hooks/use-breakpoint.js';
|
|
14
|
-
import type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps } from '../shell.types.js';
|
|
14
|
+
import type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps, PaneOpenChangeReason } from '../shell.types.js';
|
|
15
15
|
|
|
16
|
-
type InspectorOpenChangeMeta = { reason:
|
|
17
|
-
type InspectorControlledProps = { open: boolean
|
|
16
|
+
type InspectorOpenChangeMeta = { reason: PaneOpenChangeReason };
|
|
17
|
+
type InspectorControlledProps = { open: boolean; onOpenChange?: (open: boolean, meta: InspectorOpenChangeMeta) => void; defaultOpen?: never };
|
|
18
18
|
type InspectorUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: InspectorOpenChangeMeta) => void; open?: never };
|
|
19
19
|
type InspectorSizeControlledProps = { size: number | string; defaultSize?: never };
|
|
20
20
|
type InspectorSizeUncontrolledProps = { defaultSize?: number | string; size?: never };
|
|
@@ -52,16 +52,9 @@ export const Inspector = React.forwardRef<HTMLDivElement, InspectorPublicProps>(
|
|
|
52
52
|
maxSize = 500,
|
|
53
53
|
resizable = false,
|
|
54
54
|
collapsible = true,
|
|
55
|
-
onExpand,
|
|
56
|
-
onCollapse,
|
|
57
55
|
onResize,
|
|
58
56
|
onResizeStart,
|
|
59
57
|
onResizeEnd,
|
|
60
|
-
snapPoints,
|
|
61
|
-
snapTolerance,
|
|
62
|
-
collapseThreshold,
|
|
63
|
-
paneId,
|
|
64
|
-
persistence,
|
|
65
58
|
children,
|
|
66
59
|
style,
|
|
67
60
|
onSizeChange,
|
|
@@ -85,17 +78,10 @@ export const Inspector = React.forwardRef<HTMLDivElement, InspectorPublicProps>(
|
|
|
85
78
|
presentationTable: table,
|
|
86
79
|
builtIn: detailRest,
|
|
87
80
|
onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),
|
|
88
|
-
onExpand,
|
|
89
|
-
onCollapse,
|
|
90
81
|
size: expandedSize,
|
|
91
82
|
});
|
|
92
83
|
useFrameRegistration('inspector', flush);
|
|
93
84
|
|
|
94
|
-
React.useEffect(() => {
|
|
95
|
-
if (snapPoints !== undefined || collapseThreshold !== undefined || paneId !== undefined || persistence !== undefined) {
|
|
96
|
-
warnOnce('Shell.Inspector: `snapPoints`, `collapseThreshold`, `paneId` and `persistence` are deprecated and are removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.');
|
|
97
|
-
}
|
|
98
|
-
}, [snapPoints, collapseThreshold, paneId, persistence]);
|
|
99
85
|
|
|
100
86
|
const elementRef = React.useRef<HTMLElement | null>(null);
|
|
101
87
|
const composedRef = useComposedRefs(ref, pane.setElement, elementRef);
|
|
@@ -121,14 +107,8 @@ export const Inspector = React.forwardRef<HTMLDivElement, InspectorPublicProps>(
|
|
|
121
107
|
onResize,
|
|
122
108
|
onResizeStart,
|
|
123
109
|
onResizeEnd,
|
|
124
|
-
snapPoints,
|
|
125
|
-
snapTolerance,
|
|
126
|
-
collapseThreshold,
|
|
127
|
-
paneId,
|
|
128
|
-
persistence,
|
|
129
110
|
overlaying: pane.overlaying,
|
|
130
111
|
overlayingNow: () => table[readBreakpoint()] === 'overlay',
|
|
131
|
-
requestCollapse: () => pane.setValue('closed', 'toggle'),
|
|
132
112
|
requestToggle: () => pane.toggle('toggle'),
|
|
133
113
|
});
|
|
134
114
|
|
|
@@ -138,7 +118,7 @@ export const Inspector = React.forwardRef<HTMLDivElement, InspectorPublicProps>(
|
|
|
138
118
|
const initialSize = useInitialPaneSize(size, defaultSize, minSize, maxSize);
|
|
139
119
|
return (
|
|
140
120
|
<div
|
|
141
|
-
{...
|
|
121
|
+
{...domProps}
|
|
142
122
|
role={domProps.role ?? 'complementary'}
|
|
143
123
|
id={pane.id}
|
|
144
124
|
ref={composedRef}
|
|
@@ -9,10 +9,8 @@ import {
|
|
|
9
9
|
notifyShellStore,
|
|
10
10
|
tableAttributes,
|
|
11
11
|
tableOf,
|
|
12
|
-
usePeeking,
|
|
13
12
|
useShellStore,
|
|
14
13
|
useStableKey,
|
|
15
|
-
warnOnce,
|
|
16
14
|
type OpenChangeReason,
|
|
17
15
|
type PaneEntry,
|
|
18
16
|
type PaneValue,
|
|
@@ -28,8 +26,8 @@ export type UsePaneOptions = {
|
|
|
28
26
|
/** The prop names a warning should use: `open`/`defaultOpen`, or `state`/`defaultState`. */
|
|
29
27
|
propNames: { controlled: string; default: string };
|
|
30
28
|
id: string | undefined;
|
|
31
|
-
/** The controlled value.
|
|
32
|
-
controlled:
|
|
29
|
+
/** The controlled value. */
|
|
30
|
+
controlled: PaneValue | undefined;
|
|
33
31
|
/**
|
|
34
32
|
* The uncontrolled default. A single value fixes where the pane starts. A
|
|
35
33
|
* responsive object leaves the pane untouched (`auto`), with that object as
|
|
@@ -44,8 +42,6 @@ export type UsePaneOptions = {
|
|
|
44
42
|
onChange: ((value: PaneValue, reason: OpenChangeReason) => void) | undefined;
|
|
45
43
|
/** The value a toggle moves to. Defaults to open and closed in turn. */
|
|
46
44
|
toggleNext?: (current: PaneValue, defaultHere: PaneValue | undefined) => PaneValue;
|
|
47
|
-
onExpand: (() => void) | undefined;
|
|
48
|
-
onCollapse: (() => void) | undefined;
|
|
49
45
|
/** The pane's designed open width, published for the panes beside it. */
|
|
50
46
|
size: number;
|
|
51
47
|
};
|
|
@@ -54,15 +50,6 @@ export type PaneController = ReturnType<typeof usePane>;
|
|
|
54
50
|
|
|
55
51
|
const isMap = (value: ResponsiveValue | undefined): value is Partial<Record<Breakpoint, PaneValue>> => typeof value === 'object' && value !== null;
|
|
56
52
|
|
|
57
|
-
/** The first value a responsive object states, smallest breakpoint first. */
|
|
58
|
-
function firstStated(map: Partial<Record<Breakpoint, PaneValue>>): PaneValue {
|
|
59
|
-
for (const bp of ['initial', 'xs', 'sm', 'md', 'lg', 'xl'] as const) {
|
|
60
|
-
const value = map[bp];
|
|
61
|
-
if (value !== undefined) return value;
|
|
62
|
-
}
|
|
63
|
-
return 'closed';
|
|
64
|
-
}
|
|
65
|
-
|
|
66
53
|
/** Everything the togglable panes share: their state, their registry entry and their callbacks. */
|
|
67
54
|
export function usePane(options: UsePaneOptions) {
|
|
68
55
|
const { name, label, propNames, presentationTable, builtIn } = options;
|
|
@@ -71,34 +58,21 @@ export function usePane(options: UsePaneOptions) {
|
|
|
71
58
|
const id = options.id ?? `shell-${name}${generatedId}`;
|
|
72
59
|
|
|
73
60
|
const controlled = options.controlled !== undefined;
|
|
74
|
-
const
|
|
75
|
-
if (controlledIsMap) {
|
|
76
|
-
warnOnce(
|
|
77
|
-
`Shell.${label}: a responsive \`${propNames.controlled}\` is deprecated and is removed in 1.0. ` +
|
|
78
|
-
`Pass a boolean and decide it from your own state, or use \`${propNames.default}\` with a responsive object.`,
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// A responsive controlled value is resolved the way a responsive default
|
|
83
|
-
// is: it becomes the table an untouched pane follows, so the stylesheet
|
|
84
|
-
// answers it at each breakpoint (right in the server HTML, with no
|
|
85
|
-
// callback on a crossing) and the app's prop is still the only writer.
|
|
86
|
-
const controlledMap = controlledIsMap ? (options.controlled as Partial<Record<Breakpoint, PaneValue>>) : undefined;
|
|
87
|
-
const autoSource = controlledMap ?? (isMap(options.defaultValue) ? options.defaultValue : undefined);
|
|
61
|
+
const autoSource = isMap(options.defaultValue) ? options.defaultValue : undefined;
|
|
88
62
|
const autoKey = useStableKey(autoSource);
|
|
89
63
|
const [inner, setInner] = React.useState<'auto' | PaneValue>(() => (typeof options.defaultValue === 'string' ? options.defaultValue : 'auto'));
|
|
90
64
|
|
|
91
65
|
// What an untouched pane shows at each breakpoint: a responsive default
|
|
92
66
|
// where it states one, the pane's own default where it does not.
|
|
93
67
|
const autoTable = React.useMemo(
|
|
94
|
-
() =>
|
|
68
|
+
() => tableOf<PaneValue>(autoSource, (bp) => builtIn(presentationTable[bp])),
|
|
95
69
|
// `autoKey` stands for the responsive object, which is usually a new literal each render.
|
|
96
70
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
97
|
-
[autoKey,
|
|
71
|
+
[autoKey, presentationTable, builtIn],
|
|
98
72
|
);
|
|
99
73
|
|
|
100
74
|
let state: 'auto' | PaneValue = inner;
|
|
101
|
-
if (controlled) state =
|
|
75
|
+
if (options.controlled !== undefined) state = options.controlled;
|
|
102
76
|
|
|
103
77
|
// Only a pane whose answer depends on the window subscribes to it, so a
|
|
104
78
|
// pane with one presentation and one default never re-renders on a resize.
|
|
@@ -194,23 +168,6 @@ export function usePane(options: UsePaneOptions) {
|
|
|
194
168
|
};
|
|
195
169
|
}, [store, name, id, value, presentation, presentationTable, overlayLive, options.size, setValue, toggle]);
|
|
196
170
|
|
|
197
|
-
// onExpand/onCollapse fire when the pane's state changes and that changes
|
|
198
|
-
// whether it is shown: a user's toggle, or a controlled prop. Never on
|
|
199
|
-
// mount, and never because the window crossed a breakpoint.
|
|
200
|
-
const callbacks = React.useRef({ onExpand: options.onExpand, onCollapse: options.onCollapse });
|
|
201
|
-
useLayoutEffect(() => {
|
|
202
|
-
callbacks.current = { onExpand: options.onExpand, onCollapse: options.onCollapse };
|
|
203
|
-
});
|
|
204
|
-
const previous = React.useRef({ state, shown });
|
|
205
|
-
React.useEffect(() => {
|
|
206
|
-
const before = previous.current;
|
|
207
|
-
if (before.state !== state && before.shown !== undefined && shown !== undefined && before.shown !== shown) {
|
|
208
|
-
if (shown) callbacks.current.onExpand?.();
|
|
209
|
-
else callbacks.current.onCollapse?.();
|
|
210
|
-
}
|
|
211
|
-
previous.current = { state, shown };
|
|
212
|
-
}, [state, shown]);
|
|
213
|
-
|
|
214
171
|
// Development guards. Once per mount, not once per render.
|
|
215
172
|
useLayoutEffect(() => {
|
|
216
173
|
if (process.env.NODE_ENV === 'production') return;
|
|
@@ -229,8 +186,6 @@ export function usePane(options: UsePaneOptions) {
|
|
|
229
186
|
}
|
|
230
187
|
}, [controlled, label, propNames.controlled]);
|
|
231
188
|
|
|
232
|
-
const peeking = usePeeking(store, name) && shown === false && !overlaying;
|
|
233
|
-
|
|
234
189
|
return {
|
|
235
190
|
store,
|
|
236
191
|
id,
|
|
@@ -240,7 +195,6 @@ export function usePane(options: UsePaneOptions) {
|
|
|
240
195
|
presentation,
|
|
241
196
|
overlaying,
|
|
242
197
|
overlayLive,
|
|
243
|
-
peeking,
|
|
244
198
|
ready,
|
|
245
199
|
breakpoint,
|
|
246
200
|
autoTable,
|
|
@@ -253,16 +207,13 @@ export function usePane(options: UsePaneOptions) {
|
|
|
253
207
|
|
|
254
208
|
/** The data attributes every togglable pane renders. */
|
|
255
209
|
export function paneAttributes(pane: PaneController, presentationAttributes: Record<string, string>) {
|
|
256
|
-
const { state, value, presentation
|
|
210
|
+
const { state, value, presentation } = pane;
|
|
257
211
|
return {
|
|
258
212
|
...presentationAttributes,
|
|
259
213
|
'data-state': state,
|
|
260
214
|
...(state === 'auto' ? tableAttributes('auto', pane.autoTable) : {}),
|
|
261
215
|
'data-presentation': presentation,
|
|
262
216
|
'data-mode': value === undefined ? undefined : value === 'closed' ? 'collapsed' : 'expanded',
|
|
263
|
-
// Kept for stylesheets written against 0.7: set while a stacked pane is open.
|
|
264
|
-
'data-open': presentation === 'stacked' && shown ? '' : undefined,
|
|
265
|
-
'data-peek': pane.peeking ? '' : undefined,
|
|
266
217
|
} as const;
|
|
267
218
|
}
|
|
268
219
|
|