@plasmicpkgs/antd5 0.0.209 → 0.0.211
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/.tsbuildinfo +1 -1
- package/dist/antd.esm.js +2 -2
- package/dist/antd.esm.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/skinny/registerTabs.cjs.js +2 -2
- package/skinny/registerTabs.cjs.js.map +1 -1
- package/skinny/registerTabs.esm.js +2 -2
- package/skinny/registerTabs.esm.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/antd5",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.211",
|
|
4
4
|
"description": "Plasmic registration calls for antd components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -65,10 +65,10 @@
|
|
|
65
65
|
"@babel/preset-env": "^7.22.15",
|
|
66
66
|
"@babel/preset-react": "^7.22.15",
|
|
67
67
|
"@babel/preset-typescript": "^7.22.15",
|
|
68
|
-
"@plasmicapp/data-sources": "0.1.
|
|
69
|
-
"@plasmicapp/host": "1.0.
|
|
70
|
-
"@plasmicapp/query": "0.1.
|
|
71
|
-
"@plasmicapp/react-web": "0.2.
|
|
68
|
+
"@plasmicapp/data-sources": "0.1.147",
|
|
69
|
+
"@plasmicapp/host": "1.0.189",
|
|
70
|
+
"@plasmicapp/query": "0.1.78",
|
|
71
|
+
"@plasmicapp/react-web": "0.2.316",
|
|
72
72
|
"@rollup/plugin-commonjs": "^11.0.0",
|
|
73
73
|
"@rollup/plugin-json": "^4.0.0",
|
|
74
74
|
"@rollup/plugin-node-resolve": "^9.0.0",
|
|
@@ -108,5 +108,5 @@
|
|
|
108
108
|
"publishConfig": {
|
|
109
109
|
"access": "public"
|
|
110
110
|
},
|
|
111
|
-
"gitHead": "
|
|
111
|
+
"gitHead": "d610e0b0246d0f56d641248b95b7b10f235e68c5"
|
|
112
112
|
}
|
|
@@ -48,6 +48,8 @@ const AntdTabItem = ({ children }) => {
|
|
|
48
48
|
};
|
|
49
49
|
function getTabItems(items) {
|
|
50
50
|
var _a, _b, _c;
|
|
51
|
+
if (!React__default.default.isValidElement(items) && Array.isArray(items))
|
|
52
|
+
return [...items];
|
|
51
53
|
return ((_a = items == null ? void 0 : items.type) == null ? void 0 : _a.name) == AntdTabItem.name ? [items] : (_c = (_b = items == null ? void 0 : items.props) == null ? void 0 : _b.children) == null ? void 0 : _c.flat(1);
|
|
52
54
|
}
|
|
53
55
|
function getTabItemKeys(items) {
|
|
@@ -98,8 +100,6 @@ function AntdTabs(props) {
|
|
|
98
100
|
[animateTabBar, animateTabContent, animated]
|
|
99
101
|
);
|
|
100
102
|
const items = React.useMemo(() => {
|
|
101
|
-
if (!React__default.default.isValidElement(itemsRaw))
|
|
102
|
-
return [];
|
|
103
103
|
const tabItems = getTabItems(itemsRaw);
|
|
104
104
|
return tabItems.map((currentItem) => {
|
|
105
105
|
var _a2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerTabs.cjs.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Tabs } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const tabsComponentName = \"plasmic-antd5-tabs\";\nexport const tabItemComponentName = \"plasmic-antd5-tab-item\";\n\ntype TabItemType = NonNullable<\n React.ComponentProps<typeof Tabs>[\"items\"]\n>[number];\n\nexport const AntdTabItem: React.FC<TabItemType> = ({ children }) => {\n return <div>{children}</div>;\n};\n\nfunction getTabItems(items: ReactElement): React.ReactElement<TabItemType>[] {\n return (items?.type as any)?.name == AntdTabItem.name\n ? [items]\n : items?.props?.children?.flat(1);\n}\n\nfunction getTabItemKeys(items: ReactElement): string[] {\n const keys: string[] = [];\n traverseReactEltTree(items, (elt) => {\n if (\n (elt?.type as any)?.name === AntdTabItem.name &&\n typeof elt?.key === \"string\"\n ) {\n keys.push(`${elt.key}`);\n }\n });\n return keys;\n}\n\ntype TabsProps = Omit<\n React.ComponentProps<typeof Tabs>,\n \"items\" | \"animated\" | \"tabBarExtraContent\" | \"renderTabBar\"\n> & {\n items: ReactElement;\n animated: boolean;\n animateTabBar: boolean;\n animateTabContent: boolean;\n tabBarExtraContentLeft: React.ReactNode;\n tabBarExtraContentRight: React.ReactNode;\n sticky: boolean;\n stickyOffset: number;\n tabBarBackground: string;\n tabsScopeClassName?: string;\n tabsDropdownScopeClassName?: string;\n};\n\nexport function AntdTabs(props: TabsProps) {\n const {\n items: itemsRaw,\n animated,\n animateTabBar,\n animateTabContent,\n tabBarExtraContentLeft,\n tabBarExtraContentRight,\n sticky,\n stickyOffset,\n tabBarBackground,\n className,\n tabPosition,\n tabsScopeClassName,\n tabsDropdownScopeClassName,\n ...rest\n } = props;\n const animationProp: React.ComponentProps<typeof Tabs>[\"animated\"] = useMemo(\n () =>\n animated\n ? {\n inkBar: animateTabBar,\n tabPane: animateTabContent,\n }\n : false,\n [animateTabBar, animateTabContent, animated]\n );\n const items: TabItemType[] = useMemo(() => {\n if (!React.isValidElement(itemsRaw)) return [];\n const tabItems = getTabItems(itemsRaw);\n return tabItems\n .map((currentItem) => {\n return {\n ...currentItem.props,\n key: currentItem.key,\n children: <>{currentItem.props?.children}</>,\n };\n })\n .filter((i) => i != null) as TabItemType[];\n }, [itemsRaw]);\n\n return (\n <Tabs\n className={`${className} ${tabsScopeClassName}`}\n popupClassName={tabsDropdownScopeClassName}\n tabBarExtraContent={{\n left: <>{tabBarExtraContentLeft}</>,\n right: <>{tabBarExtraContentRight}</>,\n }}\n tabPosition={tabPosition}\n /**\n * CAUTION: sticky tab-bars are only supported for tabPosition top.\n * In component metadata, I have specified that sticky prop is hidden when tabPosition !== \"top\".\n * however, and that's where the caution is, that does not mean that any previously set value of sticky is destroyed. It stays there, but just the prop is hidden from the Settings side menu in Plasmic Studio.\n *\n * Which is why I have to also check the tabPosition here. And that's redundant.\n */\n renderTabBar={\n sticky && tabPosition === \"top\"\n ? (tabBarProps, DefaultTabBar) => (\n <div\n style={{\n zIndex: 1,\n position: \"sticky\",\n top: stickyOffset || 0,\n }}\n >\n <DefaultTabBar\n {...tabBarProps}\n style={{ backgroundColor: tabBarBackground }}\n />\n </div>\n )\n : undefined\n }\n animated={animationProp}\n items={items}\n {...rest}\n />\n );\n}\n\n// function NavigateTabs({ componentProps, studioOps }: ActionProps<any>) {\n// const tabPanes: string[] = getTabItemKeys(componentProps.items);\n// const buttonStyle = {\n// width: \"100%\",\n// borderColor: \"#f3f3f2\",\n// borderRadius: 6,\n// fontSize: 12,\n// };\n// const activeKey = componentProps.activeKey;\n// const currTabPos = activeKey\n// ? tabPanes.findIndex((tabKey) => {\n// return tabKey === activeKey;\n// })\n// : 0;\n\n// return (\n// <div\n// style={{\n// width: \"100%\",\n// display: \"flex\",\n// flexDirection: \"row\",\n// gap: \"4px\",\n// justifyContent: \"space-between\",\n// }}\n// >\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const prevTabPos =\n// (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n// }\n// }}\n// >\n// Prev tab\n// </Button>\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const nextTabPos = (currTabPos + 1) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });\n// }\n// }}\n// >\n// Next tab\n// </Button>\n// </div>\n// );\n// }\n\nfunction OutlineMessage() {\n return <div>* To re-arrange tab panes, use the Outline panel</div>;\n}\n\nexport function registerTabs(loader?: Registerable) {\n registerComponentHelper(loader, AntdTabs, {\n name: tabsComponentName,\n displayName: \"Tabs\",\n defaultStyles: {\n width: \"stretch\",\n overflow: \"scroll\",\n },\n props: {\n activeKey: {\n editOnly: true,\n displayName: \"Active tab key\",\n uncontrolledProp: \"defaultActiveKey\",\n type: \"choice\",\n description: `Initial active tab's key`,\n options: (ps) => getTabItemKeys(ps.items),\n },\n animated: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Change tabs with animation\",\n },\n animateTabBar: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Animate the tab bar when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n animateTabContent: {\n type: \"boolean\",\n defaultValue: false,\n description: \"Fade-in tab content when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n centered: {\n type: \"boolean\",\n description: \"Center-align the tab bar\",\n },\n type: {\n type: \"choice\",\n defaultValueHint: \"line\",\n options: [\"line\", \"card\"],\n description: \"Basic style of tabs\",\n },\n items: {\n type: \"slot\",\n hidePlaceholder: true,\n allowedComponents: [tabItemComponentName],\n ...({ mergeWithParent: true } as any), // to make the tab items selectable from the components outline pane in Plasmic Studio.\n defaultValue: [\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"1\",\n label: {\n type: \"text\",\n value: \"First Item\",\n },\n children: {\n type: \"text\",\n value: \"First Children\",\n },\n },\n },\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"2\",\n label: {\n type: \"text\",\n value: \"Second Item\",\n },\n children: {\n type: \"text\",\n value: \"Second Children\",\n },\n },\n },\n ],\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n options: [\"large\", \"middle\", \"small\"],\n description: \"Preset tab bar size\",\n },\n tabBarExtraContentLeft: {\n type: \"slot\",\n displayName: \"Extra content on left side\",\n hidePlaceholder: true,\n },\n tabBarExtraContentRight: {\n type: \"slot\",\n displayName: \"Extra content on right side\",\n hidePlaceholder: true,\n },\n tabBarGutter: {\n type: \"number\",\n displayName: \"Tab gap\",\n description: \"Gap (in pixels) between tabs\",\n advanced: true,\n },\n tabPosition: {\n type: \"choice\",\n defaultValueHint: \"top\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n description: \"Position of tabs\",\n },\n destroyInactiveTabPane: {\n type: \"boolean\",\n description: `Destroy/Unmount inactive tab pane when changing tab`,\n advanced: true,\n },\n sticky: {\n type: \"boolean\",\n advanced: true,\n description: \"Stick tab bar to the top of the page when scrolling.\",\n defaultValue: false,\n hidden: (ps) => ps.tabPosition !== \"top\",\n },\n stickyOffset: {\n type: \"number\",\n advanced: true,\n description:\n \"Distance (in pixels) between the sticky tab bar and the top of the page as you scroll.\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabBarBackground: {\n type: \"color\",\n advanced: true,\n defaultValue: \"#FFF\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabsScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabs\",\n } as any,\n tabBarClassName: {\n type: \"class\",\n displayName: \"Tab bar\",\n selectors: [\n {\n selector: \":tabs.ant-tabs .ant-tabs-nav\",\n label: \"Base\",\n },\n ],\n },\n tabsDropdownScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabsDropdown\",\n } as any,\n tabsDropdownClassName: {\n type: \"class\",\n displayName: \"Overflow tabs menu\",\n selectors: [\n {\n selector: \":tabsDropdown.ant-tabs-dropdown .ant-tabs-dropdown-menu\",\n label: \"Base\",\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"activeKey\", type: \"string\" }],\n },\n onTabClick: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n { name: \"tabKey\", type: \"string\" },\n { name: \"mouseEvent\", type: \"object\" },\n ],\n },\n onTabScroll: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"scrollInfo\", type: \"object\" }],\n },\n },\n states: {\n activeKey: {\n type: \"writable\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n // {\n // type: \"custom-action\",\n // control: NavigateTabs,\n // },\n {\n type: \"button-action\",\n label: \"Add new tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingKeys = getTabItemKeys(componentProps.items);\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingKeys.length + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n const index = existingKeys.findIndex((k) => {\n return strKey === k;\n });\n if (index === -1) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const tabKey = generateNewKey();\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: tabKey,\n label: {\n type: \"text\",\n value: `Tab Label ${tabKey}`,\n },\n children: {\n type: \"text\",\n value: `Tab Children ${tabKey}`,\n },\n },\n },\n \"items\"\n );\n studioOps.updateProps({ activeKey: tabKey });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n if (componentProps.activeKey) {\n const tabPanes = getTabItemKeys(componentProps.items);\n const activeKey = componentProps.activeKey;\n const currTabPos = tabPanes.findIndex((tabKey) => {\n return tabKey === activeKey;\n });\n\n if (currTabPos !== -1) {\n studioOps.removeFromSlotAt(currTabPos, \"items\");\n if (tabPanes.length - 1 > 0) {\n const prevTabPos =\n (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n }\n }\n }\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabs\",\n });\n\n registerComponentHelper(loader, AntdTabItem, {\n name: tabItemComponentName,\n displayName: \"Tab Item\",\n props: {\n disabled: {\n type: \"boolean\",\n description: \"Disable this tab\",\n },\n forceRender: {\n type: \"boolean\",\n description: `Force render of content in the tab, not lazy render after clicking on the tab`,\n advanced: true,\n },\n key: {\n type: \"string\",\n description: `Unique identifier for this tab`,\n displayName: \"Tab key\",\n },\n label: {\n type: \"slot\",\n displayName: \"Tab title\",\n defaultValue: \"Tab\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabItem\",\n parentComponentName: tabsComponentName,\n });\n}\n"],"names":["React","traverseReactEltTree","useMemo","_a","Tabs","registerComponentHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASO,MAAM,iBAAoB,GAAA,qBAAA;AAC1B,MAAM,oBAAuB,GAAA,yBAAA;AAM7B,MAAM,WAAqC,GAAA,CAAC,EAAE,QAAA,EAAe,KAAA;AAClE,EAAO,uBAAAA,sBAAA,CAAA,aAAA,CAAC,aAAK,QAAS,CAAA,CAAA;AACxB,EAAA;AAEA,SAAS,YAAY,KAAwD,EAAA;AApB7E,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAqBE,EAAA,OAAA,CAAA,CAAQ,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,KAAP,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,KAAQ,YAAY,IAC7C,GAAA,CAAC,KAAK,CAAA,GAAA,CACN,EAAO,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,KAAA,KAAP,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,KAAd,mBAAwB,IAAK,CAAA,CAAA,CAAA,CAAA;AACnC,CAAA;AAEA,SAAS,eAAe,KAA+B,EAAA;AACrD,EAAA,MAAM,OAAiB,EAAC,CAAA;AACxB,EAAqBC,0BAAA,CAAA,KAAA,EAAO,CAAC,GAAQ,KAAA;AA5BvC,IAAA,IAAA,EAAA,CAAA;AA6BI,IACG,IAAA,CAAA,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,SAAL,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,MAAS,YAAY,IACzC,IAAA,QAAO,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,CAAA,KAAQ,QACpB,EAAA;AACA,MAAK,IAAA,CAAA,IAAA,CAAK,CAAG,EAAA,GAAA,CAAI,GAAK,CAAA,CAAA,CAAA,CAAA;AAAA,KACxB;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;AAmBO,SAAS,SAAS,KAAkB,EAAA;AACzC,EAAA,MAeI,EAdF,GAAA,KAAA,EAAA;AAAA,IAAO,KAAA,EAAA,QAAA;AAAA,IACP,QAAA;AAAA,IACA,aAAA;AAAA,IACA,iBAAA;AAAA,IACA,sBAAA;AAAA,IACA,uBAAA;AAAA,IACA,MAAA;AAAA,IACA,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,0BAAA;AAAA,GAtEJ,GAwEM,EADC,EAAA,IAAA,GAAA,SAAA,CACD,EADC,EAAA;AAAA,IAbH,OAAA;AAAA,IACA,UAAA;AAAA,IACA,eAAA;AAAA,IACA,mBAAA;AAAA,IACA,wBAAA;AAAA,IACA,yBAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA,kBAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,oBAAA;AAAA,IACA,4BAAA;AAAA,GAAA,CAAA,CAAA;AAGF,EAAA,MAAM,aAA+D,GAAAC,aAAA;AAAA,IACnE,MACE,QACI,GAAA;AAAA,MACE,MAAQ,EAAA,aAAA;AAAA,MACR,OAAS,EAAA,iBAAA;AAAA,KAEX,GAAA,KAAA;AAAA,IACN,CAAC,aAAe,EAAA,iBAAA,EAAmB,QAAQ,CAAA;AAAA,GAC7C,CAAA;AACA,EAAM,MAAA,KAAA,GAAuBA,cAAQ,MAAM;AACzC,IAAI,IAAA,CAACF,sBAAM,CAAA,cAAA,CAAe,QAAQ,CAAA;AAAG,MAAA,OAAO,EAAC,CAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,YAAY,QAAQ,CAAA,CAAA;AACrC,IAAO,OAAA,QAAA,CACJ,GAAI,CAAA,CAAC,WAAgB,KAAA;AAvF5B,MAAAG,IAAAA,GAAAA,CAAAA;AAwFQ,MAAO,OAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACF,YAAY,KADV,CAAA,EAAA;AAAA,QAEL,KAAK,WAAY,CAAA,GAAA;AAAA,QACjB,0BAAaA,sBAAAA,CAAAA,aAAAA,CAAAA,sBAAAA,CAAAA,QAAAA,EAAAA,IAAAA,EAAAA,CAAAA,GAAAA,GAAA,YAAY,KAAZ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAmB,QAAS,CAAA;AAAA,OAC3C,CAAA,CAAA;AAAA,KACD,CACA,CAAA,MAAA,CAAO,CAAC,CAAA,KAAM,KAAK,IAAI,CAAA,CAAA;AAAA,GAC5B,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEb,EACE,uBAAAH,sBAAA,CAAA,aAAA;AAAA,IAACI,SAAA;AAAA,IAAA,cAAA,CAAA;AAAA,MACC,SAAA,EAAW,GAAG,SAAa,CAAA,CAAA,EAAA,kBAAA,CAAA,CAAA;AAAA,MAC3B,cAAgB,EAAA,0BAAA;AAAA,MAChB,kBAAoB,EAAA;AAAA,QAClB,IAAA,8FAAS,sBAAuB,CAAA;AAAA,QAChC,KAAA,8FAAU,uBAAwB,CAAA;AAAA,OACpC;AAAA,MACA,WAAA;AAAA,MAQA,cACE,MAAU,IAAA,WAAA,KAAgB,KACtB,GAAA,CAAC,aAAa,aACZ,qBAAAJ,sBAAA,CAAA,aAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAO,EAAA;AAAA,YACL,MAAQ,EAAA,CAAA;AAAA,YACR,QAAU,EAAA,QAAA;AAAA,YACV,KAAK,YAAgB,IAAA,CAAA;AAAA,WACvB;AAAA,SAAA;AAAA,wBAEAA,sBAAA,CAAA,aAAA;AAAA,UAAC,aAAA;AAAA,UAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACK,WADL,CAAA,EAAA;AAAA,YAEC,KAAA,EAAO,EAAE,eAAA,EAAiB,gBAAiB,EAAA;AAAA,WAAA,CAAA;AAAA,SAC7C;AAAA,OAGJ,GAAA,KAAA,CAAA;AAAA,MAEN,QAAU,EAAA,aAAA;AAAA,MACV,KAAA;AAAA,KACI,EAAA,IAAA,CAAA;AAAA,GACN,CAAA;AAEJ,CAAA;AAsDA,SAAS,cAAiB,GAAA;AACxB,EAAO,uBAAAA,sBAAA,CAAA,aAAA,CAAC,aAAI,kDAAgD,CAAA,CAAA;AAC9D,CAAA;AAEO,SAAS,aAAa,MAAuB,EAAA;AAClD,EAAAK,6BAAA,CAAwB,QAAQ,QAAU,EAAA;AAAA,IACxC,IAAM,EAAA,iBAAA;AAAA,IACN,WAAa,EAAA,MAAA;AAAA,IACb,aAAe,EAAA;AAAA,MACb,KAAO,EAAA,SAAA;AAAA,MACP,QAAU,EAAA,QAAA;AAAA,KACZ;AAAA,IACA,KAAO,EAAA;AAAA,MACL,SAAW,EAAA;AAAA,QACT,QAAU,EAAA,IAAA;AAAA,QACV,WAAa,EAAA,gBAAA;AAAA,QACb,gBAAkB,EAAA,kBAAA;AAAA,QAClB,IAAM,EAAA,QAAA;AAAA,QACN,WAAa,EAAA,CAAA,wBAAA,CAAA;AAAA,QACb,OAAS,EAAA,CAAC,EAAO,KAAA,cAAA,CAAe,GAAG,KAAK,CAAA;AAAA,OAC1C;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,SAAA;AAAA,QACN,YAAc,EAAA,IAAA;AAAA,QACd,WAAa,EAAA,4BAAA;AAAA,OACf;AAAA,MACA,aAAe,EAAA;AAAA,QACb,IAAM,EAAA,SAAA;AAAA,QACN,YAAc,EAAA,IAAA;AAAA,QACd,WAAa,EAAA,yCAAA;AAAA,QACb,MAAQ,EAAA,CAAC,EAAO,KAAA,CAAC,EAAG,CAAA,QAAA;AAAA,OACtB;AAAA,MACA,iBAAmB,EAAA;AAAA,QACjB,IAAM,EAAA,SAAA;AAAA,QACN,YAAc,EAAA,KAAA;AAAA,QACd,WAAa,EAAA,yCAAA;AAAA,QACb,MAAQ,EAAA,CAAC,EAAO,KAAA,CAAC,EAAG,CAAA,QAAA;AAAA,OACtB;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,SAAA;AAAA,QACN,WAAa,EAAA,0BAAA;AAAA,OACf;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,QAAA;AAAA,QACN,gBAAkB,EAAA,MAAA;AAAA,QAClB,OAAA,EAAS,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,QACxB,WAAa,EAAA,qBAAA;AAAA,OACf;AAAA,MACA,KAAO,EAAA,aAAA,CAAA,cAAA,CAAA;AAAA,QACL,IAAM,EAAA,MAAA;AAAA,QACN,eAAiB,EAAA,IAAA;AAAA,QACjB,iBAAA,EAAmB,CAAC,oBAAoB,CAAA;AAAA,OACpC,EAAA,EAAE,eAAiB,EAAA,IAAA,EAJlB,CAAA,EAAA;AAAA;AAAA,QAKL,YAAc,EAAA;AAAA,UACZ;AAAA,YACE,IAAM,EAAA,WAAA;AAAA,YACN,IAAM,EAAA,oBAAA;AAAA,YACN,KAAO,EAAA;AAAA,cACL,GAAK,EAAA,GAAA;AAAA,cACL,KAAO,EAAA;AAAA,gBACL,IAAM,EAAA,MAAA;AAAA,gBACN,KAAO,EAAA,YAAA;AAAA,eACT;AAAA,cACA,QAAU,EAAA;AAAA,gBACR,IAAM,EAAA,MAAA;AAAA,gBACN,KAAO,EAAA,gBAAA;AAAA,eACT;AAAA,aACF;AAAA,WACF;AAAA,UACA;AAAA,YACE,IAAM,EAAA,WAAA;AAAA,YACN,IAAM,EAAA,oBAAA;AAAA,YACN,KAAO,EAAA;AAAA,cACL,GAAK,EAAA,GAAA;AAAA,cACL,KAAO,EAAA;AAAA,gBACL,IAAM,EAAA,MAAA;AAAA,gBACN,KAAO,EAAA,aAAA;AAAA,eACT;AAAA,cACA,QAAU,EAAA;AAAA,gBACR,IAAM,EAAA,MAAA;AAAA,gBACN,KAAO,EAAA,iBAAA;AAAA,eACT;AAAA,aACF;AAAA,WACF;AAAA,SACF;AAAA,OACF,CAAA;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,QAAA;AAAA,QACN,gBAAkB,EAAA,QAAA;AAAA,QAClB,OAAS,EAAA,CAAC,OAAS,EAAA,QAAA,EAAU,OAAO,CAAA;AAAA,QACpC,WAAa,EAAA,qBAAA;AAAA,OACf;AAAA,MACA,sBAAwB,EAAA;AAAA,QACtB,IAAM,EAAA,MAAA;AAAA,QACN,WAAa,EAAA,4BAAA;AAAA,QACb,eAAiB,EAAA,IAAA;AAAA,OACnB;AAAA,MACA,uBAAyB,EAAA;AAAA,QACvB,IAAM,EAAA,MAAA;AAAA,QACN,WAAa,EAAA,6BAAA;AAAA,QACb,eAAiB,EAAA,IAAA;AAAA,OACnB;AAAA,MACA,YAAc,EAAA;AAAA,QACZ,IAAM,EAAA,QAAA;AAAA,QACN,WAAa,EAAA,SAAA;AAAA,QACb,WAAa,EAAA,8BAAA;AAAA,QACb,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,MACA,WAAa,EAAA;AAAA,QACX,IAAM,EAAA,QAAA;AAAA,QACN,gBAAkB,EAAA,KAAA;AAAA,QAClB,OAAS,EAAA,CAAC,KAAO,EAAA,OAAA,EAAS,UAAU,MAAM,CAAA;AAAA,QAC1C,WAAa,EAAA,kBAAA;AAAA,OACf;AAAA,MACA,sBAAwB,EAAA;AAAA,QACtB,IAAM,EAAA,SAAA;AAAA,QACN,WAAa,EAAA,CAAA,mDAAA,CAAA;AAAA,QACb,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,SAAA;AAAA,QACN,QAAU,EAAA,IAAA;AAAA,QACV,WAAa,EAAA,sDAAA;AAAA,QACb,YAAc,EAAA,KAAA;AAAA,QACd,MAAQ,EAAA,CAAC,EAAO,KAAA,EAAA,CAAG,WAAgB,KAAA,KAAA;AAAA,OACrC;AAAA,MACA,YAAc,EAAA;AAAA,QACZ,IAAM,EAAA,QAAA;AAAA,QACN,QAAU,EAAA,IAAA;AAAA,QACV,WACE,EAAA,wFAAA;AAAA,QACF,QAAQ,CAAC,EAAA,KAAO,GAAG,WAAgB,KAAA,KAAA,IAAS,CAAC,EAAG,CAAA,MAAA;AAAA,OAClD;AAAA,MACA,gBAAkB,EAAA;AAAA,QAChB,IAAM,EAAA,OAAA;AAAA,QACN,QAAU,EAAA,IAAA;AAAA,QACV,YAAc,EAAA,MAAA;AAAA,QACd,QAAQ,CAAC,EAAA,KAAO,GAAG,WAAgB,KAAA,KAAA,IAAS,CAAC,EAAG,CAAA,MAAA;AAAA,OAClD;AAAA,MACA,kBAAoB,EAAA;AAAA,QAClB,IAAM,EAAA,iBAAA;AAAA,QACN,SAAW,EAAA,MAAA;AAAA,OACb;AAAA,MACA,eAAiB,EAAA;AAAA,QACf,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,SAAA;AAAA,QACb,SAAW,EAAA;AAAA,UACT;AAAA,YACE,QAAU,EAAA,8BAAA;AAAA,YACV,KAAO,EAAA,MAAA;AAAA,WACT;AAAA,SACF;AAAA,OACF;AAAA,MACA,0BAA4B,EAAA;AAAA,QAC1B,IAAM,EAAA,iBAAA;AAAA,QACN,SAAW,EAAA,cAAA;AAAA,OACb;AAAA,MACA,qBAAuB,EAAA;AAAA,QACrB,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,oBAAA;AAAA,QACb,SAAW,EAAA;AAAA,UACT;AAAA,YACE,QAAU,EAAA,yDAAA;AAAA,YACV,KAAO,EAAA,MAAA;AAAA,WACT;AAAA,SACF;AAAA,OACF;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,cAAA;AAAA,QACN,QAAU,EAAA,IAAA;AAAA,QACV,UAAU,CAAC,EAAE,MAAM,WAAa,EAAA,IAAA,EAAM,UAAU,CAAA;AAAA,OAClD;AAAA,MACA,UAAY,EAAA;AAAA,QACV,IAAM,EAAA,cAAA;AAAA,QACN,QAAU,EAAA,IAAA;AAAA,QACV,QAAU,EAAA;AAAA,UACR,EAAE,IAAA,EAAM,QAAU,EAAA,IAAA,EAAM,QAAS,EAAA;AAAA,UACjC,EAAE,IAAA,EAAM,YAAc,EAAA,IAAA,EAAM,QAAS,EAAA;AAAA,SACvC;AAAA,OACF;AAAA,MACA,WAAa,EAAA;AAAA,QACX,IAAM,EAAA,cAAA;AAAA,QACN,QAAU,EAAA,IAAA;AAAA,QACV,UAAU,CAAC,EAAE,MAAM,YAAc,EAAA,IAAA,EAAM,UAAU,CAAA;AAAA,OACnD;AAAA,KACF;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,SAAW,EAAA;AAAA,QACT,IAAM,EAAA,UAAA;AAAA,QACN,SAAW,EAAA,WAAA;AAAA,QACX,YAAc,EAAA,UAAA;AAAA,QACd,YAAc,EAAA,MAAA;AAAA,OAChB;AAAA,KACF;AAAA,IACA,OAAS,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAKP;AAAA,QACE,IAAM,EAAA,eAAA;AAAA,QACN,KAAO,EAAA,aAAA;AAAA,QACP,OAAS,EAAA,CAAC,EAAE,cAAA,EAAgB,WAAkC,KAAA;AAE5D,UAAA,MAAM,iBAAiB,MAAM;AAC3B,YAAM,MAAA,YAAA,GAAe,cAAe,CAAA,cAAA,CAAe,KAAK,CAAA,CAAA;AAExD,YAAA,KAAA,IACM,eAAe,CACnB,EAAA,YAAA,IAAgB,YAAa,CAAA,MAAA,GAAS,GACtC,YACA,EAAA,EAAA;AACA,cAAM,MAAA,MAAA,GAAS,aAAa,QAAS,EAAA,CAAA;AACrC,cAAA,MAAM,KAAQ,GAAA,YAAA,CAAa,SAAU,CAAA,CAAC,CAAM,KAAA;AAC1C,gBAAA,OAAO,MAAW,KAAA,CAAA,CAAA;AAAA,eACnB,CAAA,CAAA;AACD,cAAA,IAAI,UAAU,CAAI,CAAA,EAAA;AAChB,gBAAO,OAAA,MAAA,CAAA;AAAA,eACT;AAAA,aACF;AAEA,YAAO,OAAA,KAAA,CAAA,CAAA;AAAA,WACT,CAAA;AAEA,UAAA,MAAM,SAAS,cAAe,EAAA,CAAA;AAC9B,UAAU,SAAA,CAAA,YAAA;AAAA,YACR;AAAA,cACE,IAAM,EAAA,WAAA;AAAA,cACN,IAAM,EAAA,oBAAA;AAAA,cACN,KAAO,EAAA;AAAA,gBACL,GAAK,EAAA,MAAA;AAAA,gBACL,KAAO,EAAA;AAAA,kBACL,IAAM,EAAA,MAAA;AAAA,kBACN,OAAO,CAAa,UAAA,EAAA,MAAA,CAAA,CAAA;AAAA,iBACtB;AAAA,gBACA,QAAU,EAAA;AAAA,kBACR,IAAM,EAAA,MAAA;AAAA,kBACN,OAAO,CAAgB,aAAA,EAAA,MAAA,CAAA,CAAA;AAAA,iBACzB;AAAA,eACF;AAAA,aACF;AAAA,YACA,OAAA;AAAA,WACF,CAAA;AACA,UAAA,SAAA,CAAU,WAAY,CAAA,EAAE,SAAW,EAAA,MAAA,EAAQ,CAAA,CAAA;AAAA,SAC7C;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,eAAA;AAAA,QACN,KAAO,EAAA,oBAAA;AAAA,QACP,OAAS,EAAA,CAAC,EAAE,cAAA,EAAgB,WAAkC,KAAA;AAC5D,UAAA,IAAI,eAAe,SAAW,EAAA;AAC5B,YAAM,MAAA,QAAA,GAAW,cAAe,CAAA,cAAA,CAAe,KAAK,CAAA,CAAA;AACpD,YAAA,MAAM,YAAY,cAAe,CAAA,SAAA,CAAA;AACjC,YAAA,MAAM,UAAa,GAAA,QAAA,CAAS,SAAU,CAAA,CAAC,MAAW,KAAA;AAChD,cAAA,OAAO,MAAW,KAAA,SAAA,CAAA;AAAA,aACnB,CAAA,CAAA;AAED,YAAA,IAAI,eAAe,CAAI,CAAA,EAAA;AACrB,cAAU,SAAA,CAAA,gBAAA,CAAiB,YAAY,OAAO,CAAA,CAAA;AAC9C,cAAI,IAAA,QAAA,CAAS,MAAS,GAAA,CAAA,GAAI,CAAG,EAAA;AAC3B,gBAAA,MAAM,UACH,GAAA,CAAA,UAAA,GAAa,CAAI,GAAA,QAAA,CAAS,UAAU,QAAS,CAAA,MAAA,CAAA;AAChD,gBAAA,SAAA,CAAU,YAAY,EAAE,SAAA,EAAW,QAAS,CAAA,UAAU,GAAG,CAAA,CAAA;AAAA,eAC3D;AAAA,aACF;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,eAAA;AAAA,QACN,OAAS,EAAA,cAAA;AAAA,OACX;AAAA,KACF;AAAA,IACA,UAAY,EAAA,wCAAA;AAAA,IACZ,UAAY,EAAA,UAAA;AAAA,GACb,CAAA,CAAA;AAED,EAAAA,6BAAA,CAAwB,QAAQ,WAAa,EAAA;AAAA,IAC3C,IAAM,EAAA,oBAAA;AAAA,IACN,WAAa,EAAA,UAAA;AAAA,IACb,KAAO,EAAA;AAAA,MACL,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,SAAA;AAAA,QACN,WAAa,EAAA,kBAAA;AAAA,OACf;AAAA,MACA,WAAa,EAAA;AAAA,QACX,IAAM,EAAA,SAAA;AAAA,QACN,WAAa,EAAA,CAAA,6EAAA,CAAA;AAAA,QACb,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,MACA,GAAK,EAAA;AAAA,QACH,IAAM,EAAA,QAAA;AAAA,QACN,WAAa,EAAA,CAAA,8BAAA,CAAA;AAAA,QACb,WAAa,EAAA,SAAA;AAAA,OACf;AAAA,MACA,KAAO,EAAA;AAAA,QACL,IAAM,EAAA,MAAA;AAAA,QACN,WAAa,EAAA,WAAA;AAAA,QACb,YAAc,EAAA,KAAA;AAAA,OAChB;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,MAAA;AAAA,QACN,eAAiB,EAAA,IAAA;AAAA,OACnB;AAAA,KACF;AAAA,IACA,UAAY,EAAA,wCAAA;AAAA,IACZ,UAAY,EAAA,aAAA;AAAA,IACZ,mBAAqB,EAAA,iBAAA;AAAA,GACtB,CAAA,CAAA;AACH;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"registerTabs.cjs.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Tabs } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const tabsComponentName = \"plasmic-antd5-tabs\";\nexport const tabItemComponentName = \"plasmic-antd5-tab-item\";\n\ntype TabItemType = NonNullable<\n React.ComponentProps<typeof Tabs>[\"items\"]\n>[number];\n\nexport const AntdTabItem: React.FC<TabItemType> = ({ children }) => {\n return <div>{children}</div>;\n};\n\nfunction getTabItems(items: ReactElement): React.ReactElement<TabItemType>[] {\n if (!React.isValidElement(items) && Array.isArray(items)) return [...items]; // indicates a single TabItem on repeat\n return (items?.type as any)?.name == AntdTabItem.name\n ? [items]\n : items?.props?.children?.flat(1);\n}\n\nfunction getTabItemKeys(items: ReactElement): string[] {\n const keys: string[] = [];\n traverseReactEltTree(items, (elt) => {\n if (\n (elt?.type as any)?.name === AntdTabItem.name &&\n typeof elt?.key === \"string\"\n ) {\n keys.push(`${elt.key}`);\n }\n });\n return keys;\n}\n\ntype TabsProps = Omit<\n React.ComponentProps<typeof Tabs>,\n \"items\" | \"animated\" | \"tabBarExtraContent\" | \"renderTabBar\"\n> & {\n items: ReactElement;\n animated: boolean;\n animateTabBar: boolean;\n animateTabContent: boolean;\n tabBarExtraContentLeft: React.ReactNode;\n tabBarExtraContentRight: React.ReactNode;\n sticky: boolean;\n stickyOffset: number;\n tabBarBackground: string;\n tabsScopeClassName?: string;\n tabsDropdownScopeClassName?: string;\n};\n\nexport function AntdTabs(props: TabsProps) {\n const {\n items: itemsRaw,\n animated,\n animateTabBar,\n animateTabContent,\n tabBarExtraContentLeft,\n tabBarExtraContentRight,\n sticky,\n stickyOffset,\n tabBarBackground,\n className,\n tabPosition,\n tabsScopeClassName,\n tabsDropdownScopeClassName,\n ...rest\n } = props;\n const animationProp: React.ComponentProps<typeof Tabs>[\"animated\"] = useMemo(\n () =>\n animated\n ? {\n inkBar: animateTabBar,\n tabPane: animateTabContent,\n }\n : false,\n [animateTabBar, animateTabContent, animated]\n );\n const items: TabItemType[] = useMemo(() => {\n const tabItems = getTabItems(itemsRaw);\n return tabItems\n .map((currentItem) => {\n return {\n ...currentItem.props,\n key: currentItem.key,\n children: <>{currentItem.props?.children}</>,\n };\n })\n .filter((i) => i != null) as TabItemType[];\n }, [itemsRaw]);\n\n return (\n <Tabs\n className={`${className} ${tabsScopeClassName}`}\n popupClassName={tabsDropdownScopeClassName}\n tabBarExtraContent={{\n left: <>{tabBarExtraContentLeft}</>,\n right: <>{tabBarExtraContentRight}</>,\n }}\n tabPosition={tabPosition}\n /**\n * CAUTION: sticky tab-bars are only supported for tabPosition top.\n * In component metadata, I have specified that sticky prop is hidden when tabPosition !== \"top\".\n * however, and that's where the caution is, that does not mean that any previously set value of sticky is destroyed. It stays there, but just the prop is hidden from the Settings side menu in Plasmic Studio.\n *\n * Which is why I have to also check the tabPosition here. And that's redundant.\n */\n renderTabBar={\n sticky && tabPosition === \"top\"\n ? (tabBarProps, DefaultTabBar) => (\n <div\n style={{\n zIndex: 1,\n position: \"sticky\",\n top: stickyOffset || 0,\n }}\n >\n <DefaultTabBar\n {...tabBarProps}\n style={{ backgroundColor: tabBarBackground }}\n />\n </div>\n )\n : undefined\n }\n animated={animationProp}\n items={items}\n {...rest}\n />\n );\n}\n\n// function NavigateTabs({ componentProps, studioOps }: ActionProps<any>) {\n// const tabPanes: string[] = getTabItemKeys(componentProps.items);\n// const buttonStyle = {\n// width: \"100%\",\n// borderColor: \"#f3f3f2\",\n// borderRadius: 6,\n// fontSize: 12,\n// };\n// const activeKey = componentProps.activeKey;\n// const currTabPos = activeKey\n// ? tabPanes.findIndex((tabKey) => {\n// return tabKey === activeKey;\n// })\n// : 0;\n\n// return (\n// <div\n// style={{\n// width: \"100%\",\n// display: \"flex\",\n// flexDirection: \"row\",\n// gap: \"4px\",\n// justifyContent: \"space-between\",\n// }}\n// >\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const prevTabPos =\n// (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n// }\n// }}\n// >\n// Prev tab\n// </Button>\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const nextTabPos = (currTabPos + 1) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });\n// }\n// }}\n// >\n// Next tab\n// </Button>\n// </div>\n// );\n// }\n\nfunction OutlineMessage() {\n return <div>* To re-arrange tab panes, use the Outline panel</div>;\n}\n\nexport function registerTabs(loader?: Registerable) {\n registerComponentHelper(loader, AntdTabs, {\n name: tabsComponentName,\n displayName: \"Tabs\",\n defaultStyles: {\n width: \"stretch\",\n overflow: \"scroll\",\n },\n props: {\n activeKey: {\n editOnly: true,\n displayName: \"Active tab key\",\n uncontrolledProp: \"defaultActiveKey\",\n type: \"choice\",\n description: `Initial active tab's key`,\n options: (ps) => getTabItemKeys(ps.items),\n },\n animated: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Change tabs with animation\",\n },\n animateTabBar: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Animate the tab bar when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n animateTabContent: {\n type: \"boolean\",\n defaultValue: false,\n description: \"Fade-in tab content when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n centered: {\n type: \"boolean\",\n description: \"Center-align the tab bar\",\n },\n type: {\n type: \"choice\",\n defaultValueHint: \"line\",\n options: [\"line\", \"card\"],\n description: \"Basic style of tabs\",\n },\n items: {\n type: \"slot\",\n hidePlaceholder: true,\n allowedComponents: [tabItemComponentName],\n ...({ mergeWithParent: true } as any), // to make the tab items selectable from the components outline pane in Plasmic Studio.\n defaultValue: [\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"1\",\n label: {\n type: \"text\",\n value: \"First Item\",\n },\n children: {\n type: \"text\",\n value: \"First Children\",\n },\n },\n },\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"2\",\n label: {\n type: \"text\",\n value: \"Second Item\",\n },\n children: {\n type: \"text\",\n value: \"Second Children\",\n },\n },\n },\n ],\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n options: [\"large\", \"middle\", \"small\"],\n description: \"Preset tab bar size\",\n },\n tabBarExtraContentLeft: {\n type: \"slot\",\n displayName: \"Extra content on left side\",\n hidePlaceholder: true,\n },\n tabBarExtraContentRight: {\n type: \"slot\",\n displayName: \"Extra content on right side\",\n hidePlaceholder: true,\n },\n tabBarGutter: {\n type: \"number\",\n displayName: \"Tab gap\",\n description: \"Gap (in pixels) between tabs\",\n advanced: true,\n },\n tabPosition: {\n type: \"choice\",\n defaultValueHint: \"top\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n description: \"Position of tabs\",\n },\n destroyInactiveTabPane: {\n type: \"boolean\",\n description: `Destroy/Unmount inactive tab pane when changing tab`,\n advanced: true,\n },\n sticky: {\n type: \"boolean\",\n advanced: true,\n description: \"Stick tab bar to the top of the page when scrolling.\",\n defaultValue: false,\n hidden: (ps) => ps.tabPosition !== \"top\",\n },\n stickyOffset: {\n type: \"number\",\n advanced: true,\n description:\n \"Distance (in pixels) between the sticky tab bar and the top of the page as you scroll.\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabBarBackground: {\n type: \"color\",\n advanced: true,\n defaultValue: \"#FFF\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabsScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabs\",\n } as any,\n tabBarClassName: {\n type: \"class\",\n displayName: \"Tab bar\",\n selectors: [\n {\n selector: \":tabs.ant-tabs .ant-tabs-nav\",\n label: \"Base\",\n },\n ],\n },\n tabsDropdownScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabsDropdown\",\n } as any,\n tabsDropdownClassName: {\n type: \"class\",\n displayName: \"Overflow tabs menu\",\n selectors: [\n {\n selector: \":tabsDropdown.ant-tabs-dropdown .ant-tabs-dropdown-menu\",\n label: \"Base\",\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"activeKey\", type: \"string\" }],\n },\n onTabClick: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n { name: \"tabKey\", type: \"string\" },\n { name: \"mouseEvent\", type: \"object\" },\n ],\n },\n onTabScroll: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"scrollInfo\", type: \"object\" }],\n },\n },\n states: {\n activeKey: {\n type: \"writable\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n // {\n // type: \"custom-action\",\n // control: NavigateTabs,\n // },\n {\n type: \"button-action\",\n label: \"Add new tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingKeys = getTabItemKeys(componentProps.items);\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingKeys.length + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n const index = existingKeys.findIndex((k) => {\n return strKey === k;\n });\n if (index === -1) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const tabKey = generateNewKey();\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: tabKey,\n label: {\n type: \"text\",\n value: `Tab Label ${tabKey}`,\n },\n children: {\n type: \"text\",\n value: `Tab Children ${tabKey}`,\n },\n },\n },\n \"items\"\n );\n studioOps.updateProps({ activeKey: tabKey });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n if (componentProps.activeKey) {\n const tabPanes = getTabItemKeys(componentProps.items);\n const activeKey = componentProps.activeKey;\n const currTabPos = tabPanes.findIndex((tabKey) => {\n return tabKey === activeKey;\n });\n\n if (currTabPos !== -1) {\n studioOps.removeFromSlotAt(currTabPos, \"items\");\n if (tabPanes.length - 1 > 0) {\n const prevTabPos =\n (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n }\n }\n }\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabs\",\n });\n\n registerComponentHelper(loader, AntdTabItem, {\n name: tabItemComponentName,\n displayName: \"Tab Item\",\n props: {\n disabled: {\n type: \"boolean\",\n description: \"Disable this tab\",\n },\n forceRender: {\n type: \"boolean\",\n description: `Force render of content in the tab, not lazy render after clicking on the tab`,\n advanced: true,\n },\n key: {\n type: \"string\",\n description: `Unique identifier for this tab`,\n displayName: \"Tab key\",\n },\n label: {\n type: \"slot\",\n displayName: \"Tab title\",\n defaultValue: \"Tab\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabItem\",\n parentComponentName: tabsComponentName,\n });\n}\n"],"names":["React","traverseReactEltTree","useMemo","_a","Tabs","registerComponentHelper"],"mappings":"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"}
|
|
@@ -42,6 +42,8 @@ const AntdTabItem = ({ children }) => {
|
|
|
42
42
|
};
|
|
43
43
|
function getTabItems(items) {
|
|
44
44
|
var _a, _b, _c;
|
|
45
|
+
if (!React.isValidElement(items) && Array.isArray(items))
|
|
46
|
+
return [...items];
|
|
45
47
|
return ((_a = items == null ? void 0 : items.type) == null ? void 0 : _a.name) == AntdTabItem.name ? [items] : (_c = (_b = items == null ? void 0 : items.props) == null ? void 0 : _b.children) == null ? void 0 : _c.flat(1);
|
|
46
48
|
}
|
|
47
49
|
function getTabItemKeys(items) {
|
|
@@ -92,8 +94,6 @@ function AntdTabs(props) {
|
|
|
92
94
|
[animateTabBar, animateTabContent, animated]
|
|
93
95
|
);
|
|
94
96
|
const items = useMemo(() => {
|
|
95
|
-
if (!React.isValidElement(itemsRaw))
|
|
96
|
-
return [];
|
|
97
97
|
const tabItems = getTabItems(itemsRaw);
|
|
98
98
|
return tabItems.map((currentItem) => {
|
|
99
99
|
var _a2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerTabs.esm.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Tabs } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const tabsComponentName = \"plasmic-antd5-tabs\";\nexport const tabItemComponentName = \"plasmic-antd5-tab-item\";\n\ntype TabItemType = NonNullable<\n React.ComponentProps<typeof Tabs>[\"items\"]\n>[number];\n\nexport const AntdTabItem: React.FC<TabItemType> = ({ children }) => {\n return <div>{children}</div>;\n};\n\nfunction getTabItems(items: ReactElement): React.ReactElement<TabItemType>[] {\n return (items?.type as any)?.name == AntdTabItem.name\n ? [items]\n : items?.props?.children?.flat(1);\n}\n\nfunction getTabItemKeys(items: ReactElement): string[] {\n const keys: string[] = [];\n traverseReactEltTree(items, (elt) => {\n if (\n (elt?.type as any)?.name === AntdTabItem.name &&\n typeof elt?.key === \"string\"\n ) {\n keys.push(`${elt.key}`);\n }\n });\n return keys;\n}\n\ntype TabsProps = Omit<\n React.ComponentProps<typeof Tabs>,\n \"items\" | \"animated\" | \"tabBarExtraContent\" | \"renderTabBar\"\n> & {\n items: ReactElement;\n animated: boolean;\n animateTabBar: boolean;\n animateTabContent: boolean;\n tabBarExtraContentLeft: React.ReactNode;\n tabBarExtraContentRight: React.ReactNode;\n sticky: boolean;\n stickyOffset: number;\n tabBarBackground: string;\n tabsScopeClassName?: string;\n tabsDropdownScopeClassName?: string;\n};\n\nexport function AntdTabs(props: TabsProps) {\n const {\n items: itemsRaw,\n animated,\n animateTabBar,\n animateTabContent,\n tabBarExtraContentLeft,\n tabBarExtraContentRight,\n sticky,\n stickyOffset,\n tabBarBackground,\n className,\n tabPosition,\n tabsScopeClassName,\n tabsDropdownScopeClassName,\n ...rest\n } = props;\n const animationProp: React.ComponentProps<typeof Tabs>[\"animated\"] = useMemo(\n () =>\n animated\n ? {\n inkBar: animateTabBar,\n tabPane: animateTabContent,\n }\n : false,\n [animateTabBar, animateTabContent, animated]\n );\n const items: TabItemType[] = useMemo(() => {\n if (!React.isValidElement(itemsRaw)) return [];\n const tabItems = getTabItems(itemsRaw);\n return tabItems\n .map((currentItem) => {\n return {\n ...currentItem.props,\n key: currentItem.key,\n children: <>{currentItem.props?.children}</>,\n };\n })\n .filter((i) => i != null) as TabItemType[];\n }, [itemsRaw]);\n\n return (\n <Tabs\n className={`${className} ${tabsScopeClassName}`}\n popupClassName={tabsDropdownScopeClassName}\n tabBarExtraContent={{\n left: <>{tabBarExtraContentLeft}</>,\n right: <>{tabBarExtraContentRight}</>,\n }}\n tabPosition={tabPosition}\n /**\n * CAUTION: sticky tab-bars are only supported for tabPosition top.\n * In component metadata, I have specified that sticky prop is hidden when tabPosition !== \"top\".\n * however, and that's where the caution is, that does not mean that any previously set value of sticky is destroyed. It stays there, but just the prop is hidden from the Settings side menu in Plasmic Studio.\n *\n * Which is why I have to also check the tabPosition here. And that's redundant.\n */\n renderTabBar={\n sticky && tabPosition === \"top\"\n ? (tabBarProps, DefaultTabBar) => (\n <div\n style={{\n zIndex: 1,\n position: \"sticky\",\n top: stickyOffset || 0,\n }}\n >\n <DefaultTabBar\n {...tabBarProps}\n style={{ backgroundColor: tabBarBackground }}\n />\n </div>\n )\n : undefined\n }\n animated={animationProp}\n items={items}\n {...rest}\n />\n );\n}\n\n// function NavigateTabs({ componentProps, studioOps }: ActionProps<any>) {\n// const tabPanes: string[] = getTabItemKeys(componentProps.items);\n// const buttonStyle = {\n// width: \"100%\",\n// borderColor: \"#f3f3f2\",\n// borderRadius: 6,\n// fontSize: 12,\n// };\n// const activeKey = componentProps.activeKey;\n// const currTabPos = activeKey\n// ? tabPanes.findIndex((tabKey) => {\n// return tabKey === activeKey;\n// })\n// : 0;\n\n// return (\n// <div\n// style={{\n// width: \"100%\",\n// display: \"flex\",\n// flexDirection: \"row\",\n// gap: \"4px\",\n// justifyContent: \"space-between\",\n// }}\n// >\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const prevTabPos =\n// (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n// }\n// }}\n// >\n// Prev tab\n// </Button>\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const nextTabPos = (currTabPos + 1) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });\n// }\n// }}\n// >\n// Next tab\n// </Button>\n// </div>\n// );\n// }\n\nfunction OutlineMessage() {\n return <div>* To re-arrange tab panes, use the Outline panel</div>;\n}\n\nexport function registerTabs(loader?: Registerable) {\n registerComponentHelper(loader, AntdTabs, {\n name: tabsComponentName,\n displayName: \"Tabs\",\n defaultStyles: {\n width: \"stretch\",\n overflow: \"scroll\",\n },\n props: {\n activeKey: {\n editOnly: true,\n displayName: \"Active tab key\",\n uncontrolledProp: \"defaultActiveKey\",\n type: \"choice\",\n description: `Initial active tab's key`,\n options: (ps) => getTabItemKeys(ps.items),\n },\n animated: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Change tabs with animation\",\n },\n animateTabBar: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Animate the tab bar when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n animateTabContent: {\n type: \"boolean\",\n defaultValue: false,\n description: \"Fade-in tab content when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n centered: {\n type: \"boolean\",\n description: \"Center-align the tab bar\",\n },\n type: {\n type: \"choice\",\n defaultValueHint: \"line\",\n options: [\"line\", \"card\"],\n description: \"Basic style of tabs\",\n },\n items: {\n type: \"slot\",\n hidePlaceholder: true,\n allowedComponents: [tabItemComponentName],\n ...({ mergeWithParent: true } as any), // to make the tab items selectable from the components outline pane in Plasmic Studio.\n defaultValue: [\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"1\",\n label: {\n type: \"text\",\n value: \"First Item\",\n },\n children: {\n type: \"text\",\n value: \"First Children\",\n },\n },\n },\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"2\",\n label: {\n type: \"text\",\n value: \"Second Item\",\n },\n children: {\n type: \"text\",\n value: \"Second Children\",\n },\n },\n },\n ],\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n options: [\"large\", \"middle\", \"small\"],\n description: \"Preset tab bar size\",\n },\n tabBarExtraContentLeft: {\n type: \"slot\",\n displayName: \"Extra content on left side\",\n hidePlaceholder: true,\n },\n tabBarExtraContentRight: {\n type: \"slot\",\n displayName: \"Extra content on right side\",\n hidePlaceholder: true,\n },\n tabBarGutter: {\n type: \"number\",\n displayName: \"Tab gap\",\n description: \"Gap (in pixels) between tabs\",\n advanced: true,\n },\n tabPosition: {\n type: \"choice\",\n defaultValueHint: \"top\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n description: \"Position of tabs\",\n },\n destroyInactiveTabPane: {\n type: \"boolean\",\n description: `Destroy/Unmount inactive tab pane when changing tab`,\n advanced: true,\n },\n sticky: {\n type: \"boolean\",\n advanced: true,\n description: \"Stick tab bar to the top of the page when scrolling.\",\n defaultValue: false,\n hidden: (ps) => ps.tabPosition !== \"top\",\n },\n stickyOffset: {\n type: \"number\",\n advanced: true,\n description:\n \"Distance (in pixels) between the sticky tab bar and the top of the page as you scroll.\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabBarBackground: {\n type: \"color\",\n advanced: true,\n defaultValue: \"#FFF\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabsScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabs\",\n } as any,\n tabBarClassName: {\n type: \"class\",\n displayName: \"Tab bar\",\n selectors: [\n {\n selector: \":tabs.ant-tabs .ant-tabs-nav\",\n label: \"Base\",\n },\n ],\n },\n tabsDropdownScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabsDropdown\",\n } as any,\n tabsDropdownClassName: {\n type: \"class\",\n displayName: \"Overflow tabs menu\",\n selectors: [\n {\n selector: \":tabsDropdown.ant-tabs-dropdown .ant-tabs-dropdown-menu\",\n label: \"Base\",\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"activeKey\", type: \"string\" }],\n },\n onTabClick: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n { name: \"tabKey\", type: \"string\" },\n { name: \"mouseEvent\", type: \"object\" },\n ],\n },\n onTabScroll: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"scrollInfo\", type: \"object\" }],\n },\n },\n states: {\n activeKey: {\n type: \"writable\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n // {\n // type: \"custom-action\",\n // control: NavigateTabs,\n // },\n {\n type: \"button-action\",\n label: \"Add new tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingKeys = getTabItemKeys(componentProps.items);\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingKeys.length + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n const index = existingKeys.findIndex((k) => {\n return strKey === k;\n });\n if (index === -1) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const tabKey = generateNewKey();\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: tabKey,\n label: {\n type: \"text\",\n value: `Tab Label ${tabKey}`,\n },\n children: {\n type: \"text\",\n value: `Tab Children ${tabKey}`,\n },\n },\n },\n \"items\"\n );\n studioOps.updateProps({ activeKey: tabKey });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n if (componentProps.activeKey) {\n const tabPanes = getTabItemKeys(componentProps.items);\n const activeKey = componentProps.activeKey;\n const currTabPos = tabPanes.findIndex((tabKey) => {\n return tabKey === activeKey;\n });\n\n if (currTabPos !== -1) {\n studioOps.removeFromSlotAt(currTabPos, \"items\");\n if (tabPanes.length - 1 > 0) {\n const prevTabPos =\n (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n }\n }\n }\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabs\",\n });\n\n registerComponentHelper(loader, AntdTabItem, {\n name: tabItemComponentName,\n displayName: \"Tab Item\",\n props: {\n disabled: {\n type: \"boolean\",\n description: \"Disable this tab\",\n },\n forceRender: {\n type: \"boolean\",\n description: `Force render of content in the tab, not lazy render after clicking on the tab`,\n advanced: true,\n },\n key: {\n type: \"string\",\n description: `Unique identifier for this tab`,\n displayName: \"Tab key\",\n },\n label: {\n type: \"slot\",\n displayName: \"Tab title\",\n defaultValue: \"Tab\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabItem\",\n parentComponentName: tabsComponentName,\n });\n}\n"],"names":["_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerTabs.esm.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Tabs } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const tabsComponentName = \"plasmic-antd5-tabs\";\nexport const tabItemComponentName = \"plasmic-antd5-tab-item\";\n\ntype TabItemType = NonNullable<\n React.ComponentProps<typeof Tabs>[\"items\"]\n>[number];\n\nexport const AntdTabItem: React.FC<TabItemType> = ({ children }) => {\n return <div>{children}</div>;\n};\n\nfunction getTabItems(items: ReactElement): React.ReactElement<TabItemType>[] {\n if (!React.isValidElement(items) && Array.isArray(items)) return [...items]; // indicates a single TabItem on repeat\n return (items?.type as any)?.name == AntdTabItem.name\n ? [items]\n : items?.props?.children?.flat(1);\n}\n\nfunction getTabItemKeys(items: ReactElement): string[] {\n const keys: string[] = [];\n traverseReactEltTree(items, (elt) => {\n if (\n (elt?.type as any)?.name === AntdTabItem.name &&\n typeof elt?.key === \"string\"\n ) {\n keys.push(`${elt.key}`);\n }\n });\n return keys;\n}\n\ntype TabsProps = Omit<\n React.ComponentProps<typeof Tabs>,\n \"items\" | \"animated\" | \"tabBarExtraContent\" | \"renderTabBar\"\n> & {\n items: ReactElement;\n animated: boolean;\n animateTabBar: boolean;\n animateTabContent: boolean;\n tabBarExtraContentLeft: React.ReactNode;\n tabBarExtraContentRight: React.ReactNode;\n sticky: boolean;\n stickyOffset: number;\n tabBarBackground: string;\n tabsScopeClassName?: string;\n tabsDropdownScopeClassName?: string;\n};\n\nexport function AntdTabs(props: TabsProps) {\n const {\n items: itemsRaw,\n animated,\n animateTabBar,\n animateTabContent,\n tabBarExtraContentLeft,\n tabBarExtraContentRight,\n sticky,\n stickyOffset,\n tabBarBackground,\n className,\n tabPosition,\n tabsScopeClassName,\n tabsDropdownScopeClassName,\n ...rest\n } = props;\n const animationProp: React.ComponentProps<typeof Tabs>[\"animated\"] = useMemo(\n () =>\n animated\n ? {\n inkBar: animateTabBar,\n tabPane: animateTabContent,\n }\n : false,\n [animateTabBar, animateTabContent, animated]\n );\n const items: TabItemType[] = useMemo(() => {\n const tabItems = getTabItems(itemsRaw);\n return tabItems\n .map((currentItem) => {\n return {\n ...currentItem.props,\n key: currentItem.key,\n children: <>{currentItem.props?.children}</>,\n };\n })\n .filter((i) => i != null) as TabItemType[];\n }, [itemsRaw]);\n\n return (\n <Tabs\n className={`${className} ${tabsScopeClassName}`}\n popupClassName={tabsDropdownScopeClassName}\n tabBarExtraContent={{\n left: <>{tabBarExtraContentLeft}</>,\n right: <>{tabBarExtraContentRight}</>,\n }}\n tabPosition={tabPosition}\n /**\n * CAUTION: sticky tab-bars are only supported for tabPosition top.\n * In component metadata, I have specified that sticky prop is hidden when tabPosition !== \"top\".\n * however, and that's where the caution is, that does not mean that any previously set value of sticky is destroyed. It stays there, but just the prop is hidden from the Settings side menu in Plasmic Studio.\n *\n * Which is why I have to also check the tabPosition here. And that's redundant.\n */\n renderTabBar={\n sticky && tabPosition === \"top\"\n ? (tabBarProps, DefaultTabBar) => (\n <div\n style={{\n zIndex: 1,\n position: \"sticky\",\n top: stickyOffset || 0,\n }}\n >\n <DefaultTabBar\n {...tabBarProps}\n style={{ backgroundColor: tabBarBackground }}\n />\n </div>\n )\n : undefined\n }\n animated={animationProp}\n items={items}\n {...rest}\n />\n );\n}\n\n// function NavigateTabs({ componentProps, studioOps }: ActionProps<any>) {\n// const tabPanes: string[] = getTabItemKeys(componentProps.items);\n// const buttonStyle = {\n// width: \"100%\",\n// borderColor: \"#f3f3f2\",\n// borderRadius: 6,\n// fontSize: 12,\n// };\n// const activeKey = componentProps.activeKey;\n// const currTabPos = activeKey\n// ? tabPanes.findIndex((tabKey) => {\n// return tabKey === activeKey;\n// })\n// : 0;\n\n// return (\n// <div\n// style={{\n// width: \"100%\",\n// display: \"flex\",\n// flexDirection: \"row\",\n// gap: \"4px\",\n// justifyContent: \"space-between\",\n// }}\n// >\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const prevTabPos =\n// (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n// }\n// }}\n// >\n// Prev tab\n// </Button>\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const nextTabPos = (currTabPos + 1) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });\n// }\n// }}\n// >\n// Next tab\n// </Button>\n// </div>\n// );\n// }\n\nfunction OutlineMessage() {\n return <div>* To re-arrange tab panes, use the Outline panel</div>;\n}\n\nexport function registerTabs(loader?: Registerable) {\n registerComponentHelper(loader, AntdTabs, {\n name: tabsComponentName,\n displayName: \"Tabs\",\n defaultStyles: {\n width: \"stretch\",\n overflow: \"scroll\",\n },\n props: {\n activeKey: {\n editOnly: true,\n displayName: \"Active tab key\",\n uncontrolledProp: \"defaultActiveKey\",\n type: \"choice\",\n description: `Initial active tab's key`,\n options: (ps) => getTabItemKeys(ps.items),\n },\n animated: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Change tabs with animation\",\n },\n animateTabBar: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Animate the tab bar when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n animateTabContent: {\n type: \"boolean\",\n defaultValue: false,\n description: \"Fade-in tab content when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n centered: {\n type: \"boolean\",\n description: \"Center-align the tab bar\",\n },\n type: {\n type: \"choice\",\n defaultValueHint: \"line\",\n options: [\"line\", \"card\"],\n description: \"Basic style of tabs\",\n },\n items: {\n type: \"slot\",\n hidePlaceholder: true,\n allowedComponents: [tabItemComponentName],\n ...({ mergeWithParent: true } as any), // to make the tab items selectable from the components outline pane in Plasmic Studio.\n defaultValue: [\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"1\",\n label: {\n type: \"text\",\n value: \"First Item\",\n },\n children: {\n type: \"text\",\n value: \"First Children\",\n },\n },\n },\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"2\",\n label: {\n type: \"text\",\n value: \"Second Item\",\n },\n children: {\n type: \"text\",\n value: \"Second Children\",\n },\n },\n },\n ],\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n options: [\"large\", \"middle\", \"small\"],\n description: \"Preset tab bar size\",\n },\n tabBarExtraContentLeft: {\n type: \"slot\",\n displayName: \"Extra content on left side\",\n hidePlaceholder: true,\n },\n tabBarExtraContentRight: {\n type: \"slot\",\n displayName: \"Extra content on right side\",\n hidePlaceholder: true,\n },\n tabBarGutter: {\n type: \"number\",\n displayName: \"Tab gap\",\n description: \"Gap (in pixels) between tabs\",\n advanced: true,\n },\n tabPosition: {\n type: \"choice\",\n defaultValueHint: \"top\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n description: \"Position of tabs\",\n },\n destroyInactiveTabPane: {\n type: \"boolean\",\n description: `Destroy/Unmount inactive tab pane when changing tab`,\n advanced: true,\n },\n sticky: {\n type: \"boolean\",\n advanced: true,\n description: \"Stick tab bar to the top of the page when scrolling.\",\n defaultValue: false,\n hidden: (ps) => ps.tabPosition !== \"top\",\n },\n stickyOffset: {\n type: \"number\",\n advanced: true,\n description:\n \"Distance (in pixels) between the sticky tab bar and the top of the page as you scroll.\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabBarBackground: {\n type: \"color\",\n advanced: true,\n defaultValue: \"#FFF\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabsScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabs\",\n } as any,\n tabBarClassName: {\n type: \"class\",\n displayName: \"Tab bar\",\n selectors: [\n {\n selector: \":tabs.ant-tabs .ant-tabs-nav\",\n label: \"Base\",\n },\n ],\n },\n tabsDropdownScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabsDropdown\",\n } as any,\n tabsDropdownClassName: {\n type: \"class\",\n displayName: \"Overflow tabs menu\",\n selectors: [\n {\n selector: \":tabsDropdown.ant-tabs-dropdown .ant-tabs-dropdown-menu\",\n label: \"Base\",\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"activeKey\", type: \"string\" }],\n },\n onTabClick: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n { name: \"tabKey\", type: \"string\" },\n { name: \"mouseEvent\", type: \"object\" },\n ],\n },\n onTabScroll: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"scrollInfo\", type: \"object\" }],\n },\n },\n states: {\n activeKey: {\n type: \"writable\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n // {\n // type: \"custom-action\",\n // control: NavigateTabs,\n // },\n {\n type: \"button-action\",\n label: \"Add new tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingKeys = getTabItemKeys(componentProps.items);\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingKeys.length + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n const index = existingKeys.findIndex((k) => {\n return strKey === k;\n });\n if (index === -1) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const tabKey = generateNewKey();\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: tabKey,\n label: {\n type: \"text\",\n value: `Tab Label ${tabKey}`,\n },\n children: {\n type: \"text\",\n value: `Tab Children ${tabKey}`,\n },\n },\n },\n \"items\"\n );\n studioOps.updateProps({ activeKey: tabKey });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n if (componentProps.activeKey) {\n const tabPanes = getTabItemKeys(componentProps.items);\n const activeKey = componentProps.activeKey;\n const currTabPos = tabPanes.findIndex((tabKey) => {\n return tabKey === activeKey;\n });\n\n if (currTabPos !== -1) {\n studioOps.removeFromSlotAt(currTabPos, \"items\");\n if (tabPanes.length - 1 > 0) {\n const prevTabPos =\n (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n }\n }\n }\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabs\",\n });\n\n registerComponentHelper(loader, AntdTabItem, {\n name: tabItemComponentName,\n displayName: \"Tab Item\",\n props: {\n disabled: {\n type: \"boolean\",\n description: \"Disable this tab\",\n },\n forceRender: {\n type: \"boolean\",\n description: `Force render of content in the tab, not lazy render after clicking on the tab`,\n advanced: true,\n },\n key: {\n type: \"string\",\n description: `Unique identifier for this tab`,\n displayName: \"Tab key\",\n },\n label: {\n type: \"slot\",\n displayName: \"Tab title\",\n defaultValue: \"Tab\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabItem\",\n parentComponentName: tabsComponentName,\n });\n}\n"],"names":["_a"],"mappings":"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"}
|