@bioturing/components 0.19.0 → 0.20.0
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/components/{Badge → badge}/component.js.map +1 -1
- package/dist/components/{Breadcrumb → breadcrumb}/component.js.map +1 -1
- package/dist/components/{Breadcrumb → breadcrumb}/useItemRender.js +6 -5
- package/dist/components/breadcrumb/useItemRender.js.map +1 -0
- package/dist/components/{Button → button}/component.js.map +1 -1
- package/dist/components/{Checkbox → checkbox}/component.js +1 -0
- package/dist/components/checkbox/component.js.map +1 -0
- package/dist/components/choice-list/component.js +54 -0
- package/dist/components/choice-list/component.js.map +1 -0
- package/dist/components/choice-list/style.css +1 -0
- package/dist/components/cmdk/command-score.js +48 -0
- package/dist/components/cmdk/command-score.js.map +1 -0
- package/dist/components/cmdk/index.js +611 -0
- package/dist/components/cmdk/index.js.map +1 -0
- package/dist/components/{CodeBlock → code-block}/component.js +4 -4
- package/dist/components/code-block/component.js.map +1 -0
- package/dist/components/{Collapse → collapse}/component.js.map +1 -1
- package/dist/components/{ColorSelect → color-select}/component.js +10 -10
- package/dist/components/color-select/component.js.map +1 -0
- package/dist/components/drag-drop/context.js.map +1 -0
- package/dist/components/drag-drop/draggable.js.map +1 -0
- package/dist/components/drag-drop/droppable.js.map +1 -0
- package/dist/components/{DragDrop → drag-drop}/hooks.js +1 -0
- package/dist/components/drag-drop/hooks.js.map +1 -0
- package/dist/components/drag-drop/index.js.map +1 -0
- package/dist/components/{DragDrop → drag-drop}/value.js +4 -4
- package/dist/components/drag-drop/value.js.map +1 -0
- package/dist/components/dropdown-menu/component.js +199 -0
- package/dist/components/dropdown-menu/component.js.map +1 -0
- package/dist/components/dropdown-menu/style.css +1 -0
- package/dist/components/{DSRoot → ds-root}/component.js +3 -3
- package/dist/components/ds-root/component.js.map +1 -0
- package/dist/components/ds-root/context.js.map +1 -0
- package/dist/components/{Empty → empty}/component.js +6 -5
- package/dist/components/empty/component.js.map +1 -0
- package/dist/components/{Field → field}/component.js.map +1 -1
- package/dist/components/{Form → form}/component.js.map +1 -1
- package/dist/components/{Form → form}/item.js +1 -1
- package/dist/components/form/item.js.map +1 -0
- package/dist/components/hooks/useCharts.js +1 -1
- package/dist/components/hooks/useCharts.js.map +1 -1
- package/dist/components/{IconButton → icon-button}/component.js +2 -2
- package/dist/components/icon-button/component.js.map +1 -0
- package/dist/components/input/component.js +26 -0
- package/dist/components/input/component.js.map +1 -0
- package/dist/components/{Modal → modal}/Modal.js +3 -3
- package/dist/components/modal/Modal.js.map +1 -0
- package/dist/components/{Modal → modal}/ModalProvider.js.map +1 -1
- package/dist/components/{Modal → modal}/ModalService.js +3 -2
- package/dist/components/modal/ModalService.js.map +1 -0
- package/dist/components/{Modal → modal}/constants.js.map +1 -1
- package/dist/components/{Modal → modal}/functions.js +8 -7
- package/dist/components/modal/functions.js.map +1 -0
- package/dist/components/{Modal → modal}/index.js.map +1 -1
- package/dist/components/{Nav → nav}/context.js.map +1 -1
- package/dist/components/{Nav → nav}/group.js.map +1 -1
- package/dist/components/{Nav → nav}/heading.js.map +1 -1
- package/dist/components/{Nav → nav}/index.js +3 -2
- package/dist/components/nav/index.js.map +1 -0
- package/dist/components/{Nav → nav}/item.js +0 -1
- package/dist/components/nav/item.js.map +1 -0
- package/dist/components/{Popover → popover}/component.js.map +1 -1
- package/dist/components/{PopupPanel → popup-panel}/component.js +47 -47
- package/dist/components/popup-panel/component.js.map +1 -0
- package/dist/components/popup-panel/constants.js.map +1 -0
- package/dist/components/{Radio → radio}/component.js +6 -5
- package/dist/components/radio/component.js.map +1 -0
- package/dist/components/scroll-area/component.js.map +1 -0
- package/dist/components/{Segmented → segmented}/component.js +3 -2
- package/dist/components/segmented/component.js.map +1 -0
- package/dist/components/{Select → select}/component.js +7 -6
- package/dist/components/select/component.js.map +1 -0
- package/dist/components/{Slider → slider}/component.js.map +1 -1
- package/dist/components/{Spin → spin}/component.js +5 -4
- package/dist/components/spin/component.js.map +1 -0
- package/dist/components/{Splitter → splitter}/component.js.map +1 -1
- package/dist/components/{Stack → stack}/Stack.js.map +1 -1
- package/dist/components/{Stack → stack}/StackChild.js.map +1 -1
- package/dist/components/{Stack → stack}/index.js.map +1 -1
- package/dist/components/{Switch → switch}/component.js +3 -2
- package/dist/components/switch/component.js.map +1 -0
- package/dist/components/{Table → table}/component.js +1 -1
- package/dist/components/{Table → table}/component.js.map +1 -1
- package/dist/components/{Tag → tag}/component.js.map +1 -1
- package/dist/components/theme-provider/component.js.map +1 -0
- package/dist/components/{Toast → toast}/component.js +4 -4
- package/dist/components/toast/component.js.map +1 -0
- package/dist/components/{Toast → toast}/function.js.map +1 -1
- package/dist/components/{Tooltip → tooltip}/component.js.map +1 -1
- package/dist/components/{Tour → tour}/component.js.map +1 -1
- package/dist/components/{Transition → transition}/component.js.map +1 -1
- package/dist/components/{Tree → tree}/components.js.map +1 -1
- package/dist/components/{Tree → tree}/helpers.js.map +1 -1
- package/dist/components/{Tree → tree}/useTreeCommon.js.map +1 -1
- package/dist/components/{Tree → tree}/useUniqueKeysTree.js.map +1 -1
- package/dist/components/{Truncate → truncate}/component.js.map +1 -1
- package/dist/components/{Truncate → truncate}/helpers.js.map +1 -1
- package/dist/components/{Upload → upload}/component.js +1 -1
- package/dist/components/{Upload → upload}/component.js.map +1 -1
- package/dist/components/{Upload → upload}/dragger.js.map +1 -1
- package/dist/components/{Upload → upload}/hooks.js.map +1 -1
- package/dist/components/{Upload → upload}/item.js +7 -6
- package/dist/components/upload/item.js.map +1 -0
- package/dist/components/{Upload → upload}/utils.js.map +1 -1
- package/dist/components/utils/WithRenderProp.js +15 -0
- package/dist/components/utils/WithRenderProp.js.map +1 -0
- package/dist/components/{VerticalCollapsiblePanel → vertical-collapsible-panel}/component.js +9 -9
- package/dist/components/vertical-collapsible-panel/component.js.map +1 -0
- package/dist/index.d.ts +223 -2
- package/dist/index.js +158 -154
- package/dist/index.js.map +1 -1
- package/dist/metadata.js +14 -0
- package/dist/metadata.js.map +1 -1
- package/package.json +2 -1
- package/dist/components/Breadcrumb/useItemRender.js.map +0 -1
- package/dist/components/Checkbox/component.js.map +0 -1
- package/dist/components/CodeBlock/component.js.map +0 -1
- package/dist/components/ColorSelect/component.js.map +0 -1
- package/dist/components/DSRoot/component.js.map +0 -1
- package/dist/components/DSRoot/context.js.map +0 -1
- package/dist/components/DragDrop/context.js.map +0 -1
- package/dist/components/DragDrop/draggable.js.map +0 -1
- package/dist/components/DragDrop/droppable.js.map +0 -1
- package/dist/components/DragDrop/hooks.js.map +0 -1
- package/dist/components/DragDrop/index.js.map +0 -1
- package/dist/components/DragDrop/value.js.map +0 -1
- package/dist/components/DropdownMenu/component.js +0 -156
- package/dist/components/DropdownMenu/component.js.map +0 -1
- package/dist/components/DropdownMenu/style.css +0 -1
- package/dist/components/Empty/component.js.map +0 -1
- package/dist/components/Form/item.js.map +0 -1
- package/dist/components/IconButton/component.js.map +0 -1
- package/dist/components/Input/component.js +0 -25
- package/dist/components/Input/component.js.map +0 -1
- package/dist/components/Modal/Modal.js.map +0 -1
- package/dist/components/Modal/ModalService.js.map +0 -1
- package/dist/components/Modal/functions.js.map +0 -1
- package/dist/components/Nav/index.js.map +0 -1
- package/dist/components/Nav/item.js.map +0 -1
- package/dist/components/PopupPanel/component.js.map +0 -1
- package/dist/components/PopupPanel/constants.js.map +0 -1
- package/dist/components/Radio/component.js.map +0 -1
- package/dist/components/ScrollArea/component.js.map +0 -1
- package/dist/components/Segmented/component.js.map +0 -1
- package/dist/components/Select/component.js.map +0 -1
- package/dist/components/Spin/component.js.map +0 -1
- package/dist/components/Switch/component.js.map +0 -1
- package/dist/components/ThemeProvider/component.js.map +0 -1
- package/dist/components/Toast/component.js.map +0 -1
- package/dist/components/Upload/item.js.map +0 -1
- package/dist/components/VerticalCollapsiblePanel/component.js.map +0 -1
- /package/dist/components/{Badge → badge}/component.js +0 -0
- /package/dist/components/{Badge → badge}/style.css +0 -0
- /package/dist/components/{Breadcrumb → breadcrumb}/component.js +0 -0
- /package/dist/components/{Breadcrumb → breadcrumb}/style.css +0 -0
- /package/dist/components/{Button → button}/component.js +0 -0
- /package/dist/components/{Button → button}/style.css +0 -0
- /package/dist/components/{Checkbox → checkbox}/style.css +0 -0
- /package/dist/components/{CodeBlock → code-block}/style.css +0 -0
- /package/dist/components/{Collapse → collapse}/component.js +0 -0
- /package/dist/components/{Collapse → collapse}/style.css +0 -0
- /package/dist/components/{ColorSelect → color-select}/style.css +0 -0
- /package/dist/components/{DragDrop → drag-drop}/context.js +0 -0
- /package/dist/components/{DragDrop → drag-drop}/draggable.js +0 -0
- /package/dist/components/{DragDrop → drag-drop}/droppable.js +0 -0
- /package/dist/components/{DragDrop → drag-drop}/index.js +0 -0
- /package/dist/components/{DragDrop → drag-drop}/style.css +0 -0
- /package/dist/components/{DSRoot → ds-root}/context.js +0 -0
- /package/dist/components/{DSRoot → ds-root}/style.css +0 -0
- /package/dist/components/{Empty → empty}/style.css +0 -0
- /package/dist/components/{Field → field}/component.js +0 -0
- /package/dist/components/{Field → field}/style.css +0 -0
- /package/dist/components/{Form → form}/component.js +0 -0
- /package/dist/components/{Form → form}/style.css +0 -0
- /package/dist/components/{IconButton → icon-button}/style.css +0 -0
- /package/dist/components/{Modal → modal}/ModalProvider.js +0 -0
- /package/dist/components/{Modal → modal}/constants.js +0 -0
- /package/dist/components/{Modal → modal}/index.js +0 -0
- /package/dist/components/{Modal → modal}/style.css +0 -0
- /package/dist/components/{Nav → nav}/context.js +0 -0
- /package/dist/components/{Nav → nav}/group.js +0 -0
- /package/dist/components/{Nav → nav}/heading.js +0 -0
- /package/dist/components/{Nav → nav}/style.css +0 -0
- /package/dist/components/{Popover → popover}/component.js +0 -0
- /package/dist/components/{PopupPanel → popup-panel}/constants.js +0 -0
- /package/dist/components/{PopupPanel → popup-panel}/style.css +0 -0
- /package/dist/components/{Radio → radio}/style.css +0 -0
- /package/dist/components/{ScrollArea → scroll-area}/component.js +0 -0
- /package/dist/components/{ScrollArea → scroll-area}/style.css +0 -0
- /package/dist/components/{Segmented → segmented}/style.css +0 -0
- /package/dist/components/{Select → select}/style.css +0 -0
- /package/dist/components/{Slider → slider}/component.js +0 -0
- /package/dist/components/{Spin → spin}/style.css +0 -0
- /package/dist/components/{Splitter → splitter}/component.js +0 -0
- /package/dist/components/{Splitter → splitter}/style.css +0 -0
- /package/dist/components/{Stack → stack}/Stack.js +0 -0
- /package/dist/components/{Stack → stack}/StackChild.js +0 -0
- /package/dist/components/{Stack → stack}/index.js +0 -0
- /package/dist/components/{Stack → stack}/style.css +0 -0
- /package/dist/components/{Switch → switch}/style.css +0 -0
- /package/dist/components/{Table → table}/style.css +0 -0
- /package/dist/components/{Tag → tag}/component.js +0 -0
- /package/dist/components/{Tag → tag}/style.css +0 -0
- /package/dist/components/{ThemeProvider → theme-provider}/component.js +0 -0
- /package/dist/components/{ThemeProvider → theme-provider}/style.css +0 -0
- /package/dist/components/{Toast → toast}/function.js +0 -0
- /package/dist/components/{Toast → toast}/style.css +0 -0
- /package/dist/components/{Tooltip → tooltip}/component.js +0 -0
- /package/dist/components/{Tooltip → tooltip}/style.css +0 -0
- /package/dist/components/{Tour → tour}/component.js +0 -0
- /package/dist/components/{Tour → tour}/style.css +0 -0
- /package/dist/components/{Transition → transition}/component.js +0 -0
- /package/dist/components/{Tree → tree}/components.js +0 -0
- /package/dist/components/{Tree → tree}/helpers.js +0 -0
- /package/dist/components/{Tree → tree}/style.css +0 -0
- /package/dist/components/{Tree → tree}/useTreeCommon.js +0 -0
- /package/dist/components/{Tree → tree}/useUniqueKeysTree.js +0 -0
- /package/dist/components/{Truncate → truncate}/component.js +0 -0
- /package/dist/components/{Truncate → truncate}/helpers.js +0 -0
- /package/dist/components/{Truncate → truncate}/style.css +0 -0
- /package/dist/components/{Upload → upload}/dragger.js +0 -0
- /package/dist/components/{Upload → upload}/hooks.js +0 -0
- /package/dist/components/{Upload → upload}/style.css +0 -0
- /package/dist/components/{Upload → upload}/utils.js +0 -0
- /package/dist/components/{VerticalCollapsiblePanel → vertical-collapsible-panel}/style.css +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sources":["../../../src/components/modal/functions.tsx"],"sourcesContent":["\"use client\";\nimport React, { JSX } from \"react\";\nimport type { ModalFuncProps as AntModalFuncProps } from \"antd\";\nimport { modalManager } from \"./ModalService\";\nimport { ModalProps } from \"./Modal\";\n\n// Extend Ant ModalFuncProps to include 'default'\nexport type ModalType = NonNullable<AntModalFuncProps[\"type\"]> | \"default\";\n\n// export type ModalFuncProps = Omit<AntModalFuncProps, \"type\"> & {\n// type?: ModalType;\n// };\n\nexport type ModalFuncProps = ModalProps & {\n /**\n * Content to be displayed in the modal\n * Similar to children prop in Modal component\n * Keep this to be compatible with antd ModalFuncProps\n */\n content?: React.ReactNode;\n};\n\nexport type ModalUpdateConfig =\n | Partial<ModalFuncProps>\n | ((prev: ModalFuncProps) => ModalFuncProps);\n\nexport interface ModalRef {\n update: (config: ModalUpdateConfig) => void;\n destroy: () => void;\n}\n\nfunction createModal(config: ModalFuncProps): ModalRef {\n // capture trigger element for focus restoration\n const trigger =\n document.activeElement instanceof HTMLElement\n ? document.activeElement\n : undefined;\n const { type = \"default\", ...restConfig } = config;\n\n const id = modalManager.generateId();\n // initialize modal as open\n modalManager.emit({\n type: \"add\",\n payload: {\n id,\n type,\n trigger,\n ...restConfig,\n },\n });\n return {\n update: (cfg: ModalUpdateConfig) =>\n modalManager.emit({ type: \"update\", payload: { id, config: cfg } }),\n destroy: () => modalManager.emit({ type: \"destroy\", payload: { id } }),\n };\n}\n\nexport const confirm = (config: ModalFuncProps): ModalRef =>\n createModal({ ...config, type: \"confirm\" });\nexport const info = (config: ModalFuncProps): ModalRef =>\n createModal({ ...config, type: \"info\" });\nexport const success = (config: ModalFuncProps): ModalRef =>\n createModal({ ...config, type: \"success\" });\nexport const error = (config: ModalFuncProps): ModalRef =>\n createModal({ ...config, type: \"error\" });\nexport const warning = (config: ModalFuncProps): ModalRef =>\n createModal({ ...config, type: \"warning\" });\n\n/**\n * Open a default (normal) modal\n */\nexport const open = (config: ModalFuncProps): ModalRef =>\n createModal({ ...config, type: \"default\" });\n\nexport const destroyAll = (): void => modalManager.emit({ type: \"destroyAll\" });\n"],"names":["createModal","config","trigger","type","restConfig","id","modalManager","cfg","confirm","info","success","error","warning","open","destroyAll"],"mappings":";;AA+BA,SAASA,EAAYC,GAAkC;AAErD,QAAMC,IACJ,SAAS,yBAAyB,cAC9B,SAAS,gBACT,QACA,EAAE,MAAAC,IAAO,WAAW,GAAGC,EAAe,IAAAH,GAEtCI,IAAKC,EAAa,WAAW;AAEnC,SAAAA,EAAa,KAAK;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA,MACP,IAAAD;AAAA,MACA,MAAAF;AAAA,MACA,SAAAD;AAAA,MACA,GAAGE;AAAA,IAAA;AAAA,EACL,CACD,GACM;AAAA,IACL,QAAQ,CAACG,MACPD,EAAa,KAAK,EAAE,MAAM,UAAU,SAAS,EAAE,IAAAD,GAAI,QAAQE,KAAO;AAAA,IACpE,SAAS,MAAMD,EAAa,KAAK,EAAE,MAAM,WAAW,SAAS,EAAE,IAAAD,IAAM,CAAA;AAAA,EACvE;AACF;AAEa,MAAAG,IAAU,CAACP,MACtBD,EAAY,EAAE,GAAGC,GAAQ,MAAM,UAAW,CAAA,GAC/BQ,IAAO,CAACR,MACnBD,EAAY,EAAE,GAAGC,GAAQ,MAAM,OAAQ,CAAA,GAC5BS,IAAU,CAACT,MACtBD,EAAY,EAAE,GAAGC,GAAQ,MAAM,UAAW,CAAA,GAC/BU,IAAQ,CAACV,MACpBD,EAAY,EAAE,GAAGC,GAAQ,MAAM,QAAS,CAAA,GAC7BW,IAAU,CAACX,MACtBD,EAAY,EAAE,GAAGC,GAAQ,MAAM,UAAW,CAAA,GAK/BY,IAAO,CAACZ,MACnBD,EAAY,EAAE,GAAGC,GAAQ,MAAM,UAAW,CAAA,GAE/Ba,IAAa,MAAYR,EAAa,KAAK,EAAE,MAAM,aAAc,CAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/modal/index.ts"],"sourcesContent":["\"use client\";\nimport useApp from \"antd/es/app/useApp\";\nimport { Modal as MainModal } from \"./Modal\";\nimport {\n confirm,\n info,\n success,\n error,\n warning,\n open,\n destroyAll,\n type ModalFuncProps,\n} from \"./functions\";\nimport { ModalProvider, type ModalProviderProps } from \"./ModalProvider\";\n\nimport \"./style.css\";\n\nconst useModal = () => {\n return useApp().modal;\n};\n\n// Export the Modal component with static methods\nexport const Modal = Object.assign(MainModal, {\n Provider: ModalProvider,\n open,\n info,\n success,\n error,\n warning,\n confirm,\n destroyAll,\n useModal,\n});\n\nexport { ModalFuncProps, ModalProviderProps };\n"],"names":["useModal","useApp","Modal","MainModal","ModalProvider","open","info","success","error","warning","confirm","destroyAll"],"mappings":";;;;;;AAiBA,MAAMA,IAAW,MACRC,EAAS,EAAA,OAILC,IAAQ,OAAO,OAAOC,GAAW;AAAA,EAC5C,UAAUC;AAAA,EACV,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAX;AACF,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../src/components/nav/context.ts"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\nexport const NavGroupContext = React.createContext<{\n size: \"small\" | \"medium\" | \"large\";\n collapsible?: boolean;\n} | null>(null);\n\nexport const useNavGroupContext = () => {\n const context = React.useContext(NavGroupContext);\n if (!context) {\n throw new Error(\"useNavGroupContext must be used within a NavGroup\");\n }\n return context;\n};\n"],"names":["NavGroupContext","React"],"mappings":";;AAIa,MAAAA,IAAkBC,EAAM,cAG3B,IAAI;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"group.js","sources":["../../../src/components/nav/group.tsx"],"sourcesContent":["\"use client\";\nimport React, { forwardRef } from \"react\";\nimport { useCls } from \"../utils\";\nimport { NavGroupContext } from \"./context\";\n\nexport interface NavGroupProps extends React.ComponentPropsWithoutRef<\"div\"> {\n /**\n * Size of the nav\n * @default \"medium\"\n */\n size?: \"small\" | \"medium\" | \"large\";\n /**\n * Weather it's collapsible or not\n */\n collapsible?: boolean;\n}\n\nconst NavGroup = forwardRef(\n (\n { children, size = \"medium\", collapsible }: NavGroupProps,\n ref: React.ForwardedRef<HTMLDivElement>\n ) => {\n const cls = useCls();\n return (\n <NavGroupContext.Provider value={{ size, collapsible }}>\n <div className={cls(\"nav-group\", `nav-${size}`)} ref={ref}>\n {children}\n </div>\n </NavGroupContext.Provider>\n );\n }\n);\n\nNavGroup.displayName = \"NavGroup\";\n\nexport { NavGroup };\n"],"names":["NavGroup","forwardRef","children","size","collapsible","ref","cls","useCls","jsx","NavGroupContext"],"mappings":";;;;;AAiBA,MAAMA,IAAWC;AAAA,EACf,CACE,EAAE,UAAAC,GAAU,MAAAC,IAAO,UAAU,aAAAC,EAAA,GAC7BC,MACG;AACH,UAAMC,IAAMC,EAAO;AAEjB,WAAA,gBAAAC,EAACC,EAAgB,UAAhB,EAAyB,OAAO,EAAE,MAAAN,GAAM,aAAAC,KACvC,UAAA,gBAAAI,EAAC,SAAI,WAAWF,EAAI,aAAa,OAAOH,CAAI,EAAE,GAAG,KAAAE,GAC9C,UAAAH,EACH,CAAA,GACF;AAAA,EAAA;AAGN;AAEAF,EAAS,cAAc;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"heading.js","sources":["../../../src/components/nav/heading.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { clsx, useCls } from \"../utils\";\n\nexport interface NavHeadingProps\n extends React.HTMLAttributes<HTMLHeadingElement> {\n children: React.ReactNode;\n}\n\nexport const NavHeading = ({\n children,\n className,\n ...rest\n}: NavHeadingProps) => {\n const cls = useCls();\n return (\n <h3 className={clsx(cls(\"nav-heading\"), className)} {...rest}>\n <span className={cls(\"nav-heading-text\")}>{children}</span>\n </h3>\n );\n};\n"],"names":["NavHeading","children","className","rest","cls","useCls","clsx"],"mappings":";;;;AASO,MAAMA,IAAa,CAAC;AAAA,EACzB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,MAAuB;AACrB,QAAMC,IAAMC,EAAO;AACnB,2BACG,MAAG,EAAA,WAAWC,EAAKF,EAAI,aAAa,GAAGF,CAAS,GAAI,GAAGC,GACtD,4BAAC,QAAK,EAAA,WAAWC,EAAI,kBAAkB,GAAI,UAAAH,EAAS,CAAA,GACtD;AAEJ;"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { NavItem as o } from "./item.js";
|
|
2
3
|
import { NavHeading as r } from "./heading.js";
|
|
3
4
|
import { NavGroup as m } from "./group.js";
|
|
4
5
|
import './style.css';/* empty css */
|
|
5
|
-
const
|
|
6
|
+
const a = {
|
|
6
7
|
Item: o,
|
|
7
8
|
Heading: r,
|
|
8
9
|
Group: m
|
|
9
10
|
};
|
|
10
11
|
export {
|
|
11
|
-
|
|
12
|
+
a as Nav
|
|
12
13
|
};
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/nav/index.tsx"],"sourcesContent":["\"use client\";\nimport { NavItem, NavItemProps } from \"./item\";\nimport { NavHeading, NavHeadingProps } from \"./heading\";\nimport { NavGroup, NavGroupProps } from \"./group\";\n\nimport \"./style.css\";\n\nexport const Nav = {\n Item: NavItem,\n Heading: NavHeading,\n Group: NavGroup,\n};\n\nexport type { NavItemProps, NavHeadingProps, NavGroupProps };\n"],"names":["Nav","NavItem","NavHeading","NavGroup"],"mappings":";;;;;AAOO,MAAMA,IAAM;AAAA,EACjB,MAAMC;AAAA,EACN,SAASC;AAAA,EACT,OAAOC;AACT;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../src/components/nav/item.tsx"],"sourcesContent":["\"use client\";\nimport React, {\n useState,\n type MouseEvent,\n forwardRef,\n isValidElement,\n useMemo,\n} from \"react\";\nimport { clsx, useCls } from \"../utils\";\nimport { Transition } from \"../transition\";\nimport { useRender } from \"@base-ui-components/react/use-render\";\n\nexport interface NavItemProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * The icon to display in the nav item\n */\n icon?: React.ReactNode;\n /**\n * Whether the nav item is active\n */\n active?: boolean;\n /**\n * The render prop to render the nav item\n */\n render?: useRender.RenderProp<{\n active: boolean;\n icon?: React.ReactNode;\n }>;\n /**\n * The size of the nav item\n * @default \"medium\"\n */\n size?: \"small\" | \"medium\" | \"large\";\n /**\n * Whether to change the icon weight on active state\n * @default true\n */\n changeIconWeightOnActive?: boolean;\n}\n\n// Define a type for elements that can have a weight prop\ntype ElementWithWeight = React.ReactElement<{ weight?: string }>;\n\n// Type guard to check if an element can accept a weight prop\nconst canHaveWeightProp = (el: React.ReactNode): el is ElementWithWeight => {\n return isValidElement(el);\n};\n\nconst NavItemImpl = <T extends HTMLElement>(\n {\n icon,\n active = false,\n render,\n className,\n children,\n changeIconWeightOnActive = true,\n ...rest\n }: NavItemProps,\n ref: React.Ref<T>\n) => {\n const cls = useCls();\n\n // Apply weight prop only if the element can accept it\n const renderedIcon = useMemo(() => {\n if (!changeIconWeightOnActive || !active || !canHaveWeightProp(icon)) {\n return icon;\n }\n return React.cloneElement(icon, { weight: \"fill\" });\n }, [icon, changeIconWeightOnActive, active]);\n\n return useRender({\n render: render ?? <button className={clsx(cls(\"nav-item\"), className)} />,\n ref,\n props: {\n \"data-active\": active || undefined,\n \"aria-expanded\": rest[\"aria-expanded\"],\n className: undefined,\n ...rest,\n children: (\n <>\n <span className={cls(\"nav-item-icon\")}>{renderedIcon}</span>\n <span className={cls(\"nav-item-content\")}>{children}</span>\n </>\n ),\n },\n state: { active, icon },\n });\n};\n\nconst NavItem = forwardRef(NavItemImpl) as <T extends HTMLElement>(\n props: NavItemProps & { ref?: React.Ref<T> }\n) => ReturnType<typeof NavItemImpl>;\n\nexport { NavItem };\n"],"names":["canHaveWeightProp","el","isValidElement","NavItemImpl","icon","active","render","className","children","changeIconWeightOnActive","rest","ref","cls","useCls","renderedIcon","useMemo","React","useRender","jsx","clsx","jsxs","Fragment","NavItem","forwardRef"],"mappings":";;;;;;AA6CA,MAAMA,IAAoB,CAACC,MAClBC,EAAeD,CAAE,GAGpBE,IAAc,CAClB;AAAA,EACE,MAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,0BAAAC,IAA2B;AAAA,EAC3B,GAAGC;AACL,GACAC,MACG;AACH,QAAMC,IAAMC,EAAO,GAGbC,IAAeC,EAAQ,MACvB,CAACN,KAA4B,CAACJ,KAAU,CAACL,EAAkBI,CAAI,IAC1DA,IAEFY,EAAM,aAAaZ,GAAM,EAAE,QAAQ,QAAQ,GACjD,CAACA,GAAMK,GAA0BJ,CAAM,CAAC;AAE3C,SAAOY,EAAU;AAAA,IACf,QAAQX,KAAU,gBAAAY,EAAC,UAAO,EAAA,WAAWC,EAAKP,EAAI,UAAU,GAAGL,CAAS,EAAG,CAAA;AAAA,IACvE,KAAAI;AAAA,IACA,OAAO;AAAA,MACL,eAAeN,KAAU;AAAA,MACzB,iBAAiBK,EAAK,eAAe;AAAA,MACrC,WAAW;AAAA,MACX,GAAGA;AAAA,MACH,UAEI,gBAAAU,EAAAC,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAAH,EAAC,QAAK,EAAA,WAAWN,EAAI,eAAe,GAAI,UAAaE,GAAA;AAAA,0BACpD,QAAK,EAAA,WAAWF,EAAI,kBAAkB,GAAI,UAAAJ,EAAS,CAAA;AAAA,MAAA,EACtD,CAAA;AAAA,IAEJ;AAAA,IACA,OAAO,EAAE,QAAAH,GAAQ,MAAAD,EAAK;AAAA,EAAA,CACvB;AACH,GAEMkB,IAAUC,EAAWpB,CAAW;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/popover/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntPopover,\n type PopoverProps as AntPopoverProps,\n} from \"antd/es/popover\";\n\n// Define props interface extending Ant Design's PopoverProps\nexport interface PopoverProps extends AntPopoverProps {\n /**\n * Arrow config for of the popover\n * @default false\n */\n arrow?: AntPopoverProps[\"arrow\"];\n}\n\n// Create Popover component\nexport const Popover = ({\n className,\n style,\n arrow = false,\n ...rest\n}: PopoverProps) => {\n return (\n <AntPopover className={className} arrow={arrow} style={style} {...rest} />\n );\n};\n"],"names":["Popover","className","style","arrow","rest","AntPopover"],"mappings":";;;AAgBO,MAAMA,IAAU,CAAC;AAAA,EACtB,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,GAAGC;AACL,wBAEKC,GAAW,EAAA,WAAAJ,GAAsB,OAAAE,GAAc,OAAAD,GAAe,GAAGE,GAAM;"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
2
|
+
import { jsx as o, jsxs as d, Fragment as a } from "react/jsx-runtime";
|
|
3
3
|
import { Popover as i } from "@base-ui-components/react/popover";
|
|
4
4
|
import { useState as f, useCallback as k, useEffect as C, useMemo as N } from "react";
|
|
5
5
|
import s from "antd/es/flex";
|
|
6
6
|
import { X as ee } from "@bioturing/assets";
|
|
7
7
|
import { PopupPanelSize as te } from "./constants.js";
|
|
8
|
-
import { useResizable as
|
|
9
|
-
import
|
|
8
|
+
import { useResizable as oe } from "react-use-resizable";
|
|
9
|
+
import re from "merge-refs";
|
|
10
10
|
import './style.css';/* empty css */
|
|
11
|
-
import { useControlledState as
|
|
11
|
+
import { useControlledState as ne } from "../hooks/useControlledState.js";
|
|
12
12
|
import { useCls as pe, parseAntdPlacement as ie } from "../utils/antdUtils.js";
|
|
13
|
-
import { clsx as
|
|
14
|
-
import { IconButton as de } from "../
|
|
13
|
+
import { clsx as n } from "../utils/cn.js";
|
|
14
|
+
import { IconButton as de } from "../icon-button/component.js";
|
|
15
15
|
const we = ({
|
|
16
16
|
children: O,
|
|
17
17
|
placement: S,
|
|
@@ -25,8 +25,8 @@ const we = ({
|
|
|
25
25
|
anchor: V,
|
|
26
26
|
beforeCloseButton: P,
|
|
27
27
|
afterCloseButton: H,
|
|
28
|
-
afterTitle:
|
|
29
|
-
size:
|
|
28
|
+
afterTitle: c,
|
|
29
|
+
size: g = "medium",
|
|
30
30
|
footer: l,
|
|
31
31
|
defaultOpen: $,
|
|
32
32
|
resizable: A = !1,
|
|
@@ -34,25 +34,25 @@ const we = ({
|
|
|
34
34
|
modal: M = !1,
|
|
35
35
|
closeOnClickOutside: T = !0
|
|
36
36
|
}) => {
|
|
37
|
-
const [U, y] =
|
|
37
|
+
const [U, y] = ne(
|
|
38
38
|
D,
|
|
39
39
|
W,
|
|
40
40
|
$ ?? !1
|
|
41
41
|
// Always provide a default value to prevent undefined
|
|
42
|
-
), t = pe(), b = ie(S), [v, X] = f(null), [q, G] = f(), [J, K] = f(), L = k((
|
|
43
|
-
X(
|
|
42
|
+
), t = pe(), b = ie(S), [v, X] = f(null), [q, G] = f(), [J, K] = f(), L = k((r) => {
|
|
43
|
+
X(r);
|
|
44
44
|
}, []);
|
|
45
45
|
C(() => {
|
|
46
46
|
if (!v) return;
|
|
47
|
-
const
|
|
47
|
+
const r = new ResizeObserver((u) => {
|
|
48
48
|
for (const p of u)
|
|
49
49
|
G(p.contentRect.width), K(p.contentRect.height);
|
|
50
50
|
});
|
|
51
|
-
return
|
|
52
|
-
|
|
51
|
+
return r.observe(v), () => {
|
|
52
|
+
r.disconnect();
|
|
53
53
|
};
|
|
54
54
|
}, [v]);
|
|
55
|
-
const w = N(() => /* @__PURE__ */
|
|
55
|
+
const w = N(() => /* @__PURE__ */ o(ee, { size: 16 }), []), Q = k(() => /* @__PURE__ */ d("div", { className: n(t("popup-panel-header"), e == null ? void 0 : e.header), children: [
|
|
56
56
|
/* @__PURE__ */ d(
|
|
57
57
|
s,
|
|
58
58
|
{
|
|
@@ -60,18 +60,18 @@ const we = ({
|
|
|
60
60
|
gap: 8,
|
|
61
61
|
className: t("popup-panel-title-wrapper"),
|
|
62
62
|
children: [
|
|
63
|
-
/* @__PURE__ */
|
|
63
|
+
/* @__PURE__ */ o(
|
|
64
64
|
i.Title,
|
|
65
65
|
{
|
|
66
|
-
render: /* @__PURE__ */
|
|
66
|
+
render: /* @__PURE__ */ o("div", { className: n(t("grow", "truncate"), e == null ? void 0 : e.title), children: h })
|
|
67
67
|
}
|
|
68
68
|
),
|
|
69
69
|
/* @__PURE__ */ d("div", { className: "flex items-center gap-2", children: [
|
|
70
70
|
P,
|
|
71
|
-
/* @__PURE__ */
|
|
71
|
+
/* @__PURE__ */ o(
|
|
72
72
|
i.Close,
|
|
73
73
|
{
|
|
74
|
-
render: /* @__PURE__ */
|
|
74
|
+
render: /* @__PURE__ */ o(de, { children: w })
|
|
75
75
|
}
|
|
76
76
|
),
|
|
77
77
|
H
|
|
@@ -79,17 +79,17 @@ const we = ({
|
|
|
79
79
|
]
|
|
80
80
|
}
|
|
81
81
|
),
|
|
82
|
-
|
|
82
|
+
c || null
|
|
83
83
|
] }), [
|
|
84
84
|
H,
|
|
85
|
-
|
|
85
|
+
c,
|
|
86
86
|
P,
|
|
87
87
|
t,
|
|
88
88
|
e == null ? void 0 : e.header,
|
|
89
89
|
e == null ? void 0 : e.title,
|
|
90
90
|
w,
|
|
91
91
|
h
|
|
92
|
-
]), [z, x] = f(!1), { getRootProps: Y, getHandleProps: R, rootRef: Z } =
|
|
92
|
+
]), [z, x] = f(!1), { getRootProps: Y, getHandleProps: R, rootRef: Z } = oe({
|
|
93
93
|
initialWidth: q,
|
|
94
94
|
initialHeight: J,
|
|
95
95
|
onDragStart: () => x(!0),
|
|
@@ -98,72 +98,72 @@ const we = ({
|
|
|
98
98
|
C(() => {
|
|
99
99
|
z ? document.body.style.userSelect = "none" : document.body.style.userSelect = "";
|
|
100
100
|
}, [z]);
|
|
101
|
-
const { ref: _, ...B } = Y(), m = (
|
|
102
|
-
if (!
|
|
101
|
+
const { ref: _, ...B } = Y(), m = (r, u) => {
|
|
102
|
+
if (!r.current) return;
|
|
103
103
|
const { widthDiff: p } = u;
|
|
104
|
-
|
|
104
|
+
r.current.style.left = `${parseInt(r.current.style.left || "0") - p}px`;
|
|
105
105
|
};
|
|
106
106
|
return /* @__PURE__ */ d(
|
|
107
107
|
i.Root,
|
|
108
108
|
{
|
|
109
109
|
openOnHover: E === "hover" ? !0 : I,
|
|
110
110
|
open: U,
|
|
111
|
-
onOpenChange: (
|
|
112
|
-
p === "outside-press" && !T || y(
|
|
111
|
+
onOpenChange: (r, u, p) => {
|
|
112
|
+
p === "outside-press" && !T || y(r, u, p);
|
|
113
113
|
},
|
|
114
114
|
modal: M,
|
|
115
115
|
children: [
|
|
116
|
-
/* @__PURE__ */
|
|
116
|
+
/* @__PURE__ */ o(
|
|
117
117
|
i.Trigger,
|
|
118
118
|
{
|
|
119
119
|
render: O,
|
|
120
|
-
className:
|
|
120
|
+
className: n(t("popup-panel-trigger"), e == null ? void 0 : e.trigger)
|
|
121
121
|
}
|
|
122
122
|
),
|
|
123
|
-
/* @__PURE__ */
|
|
123
|
+
/* @__PURE__ */ o(i.Portal, { children: /* @__PURE__ */ o(
|
|
124
124
|
i.Positioner,
|
|
125
125
|
{
|
|
126
|
-
className:
|
|
126
|
+
className: n(t("popup-panel-root"), e == null ? void 0 : e.root),
|
|
127
127
|
side: b.placement,
|
|
128
128
|
align: b.align,
|
|
129
129
|
sideOffset: 4,
|
|
130
130
|
anchor: V,
|
|
131
131
|
style: {
|
|
132
|
-
"--size-width":
|
|
132
|
+
"--size-width": g ? te[g] : void 0
|
|
133
133
|
},
|
|
134
134
|
children: /* @__PURE__ */ d(
|
|
135
135
|
i.Popup,
|
|
136
136
|
{
|
|
137
|
-
className:
|
|
137
|
+
className: n(
|
|
138
138
|
t("popup-panel"),
|
|
139
|
-
t(`popup-panel-size-${
|
|
139
|
+
t(`popup-panel-size-${g}`),
|
|
140
140
|
F,
|
|
141
141
|
e == null ? void 0 : e.popup
|
|
142
142
|
),
|
|
143
|
-
ref:
|
|
143
|
+
ref: re(_, L),
|
|
144
144
|
...B,
|
|
145
145
|
...z ? { "data-resizing": !0 } : {},
|
|
146
146
|
children: [
|
|
147
147
|
h && Q(),
|
|
148
|
-
/* @__PURE__ */
|
|
148
|
+
/* @__PURE__ */ o(
|
|
149
149
|
"div",
|
|
150
150
|
{
|
|
151
|
-
className:
|
|
152
|
-
children: /* @__PURE__ */
|
|
151
|
+
className: n(t("popup-panel-content"), e == null ? void 0 : e.content),
|
|
152
|
+
children: /* @__PURE__ */ o("div", { className: t("popup-panel-content-inner"), children: j })
|
|
153
153
|
}
|
|
154
154
|
),
|
|
155
|
-
l && /* @__PURE__ */
|
|
155
|
+
l && /* @__PURE__ */ o(
|
|
156
156
|
"div",
|
|
157
157
|
{
|
|
158
|
-
className:
|
|
158
|
+
className: n(t("popup-panel-footer"), e == null ? void 0 : e.footer),
|
|
159
159
|
children: typeof l == "function" ? l({ close: () => y(!1) }) : l
|
|
160
160
|
}
|
|
161
161
|
),
|
|
162
162
|
A && /* @__PURE__ */ d(a, { children: [
|
|
163
|
-
/* @__PURE__ */
|
|
163
|
+
/* @__PURE__ */ o(
|
|
164
164
|
"div",
|
|
165
165
|
{
|
|
166
|
-
className:
|
|
166
|
+
className: n(
|
|
167
167
|
t("popup-panel-resize-handle"),
|
|
168
168
|
e == null ? void 0 : e.resizeHandle
|
|
169
169
|
),
|
|
@@ -173,10 +173,10 @@ const we = ({
|
|
|
173
173
|
})
|
|
174
174
|
}
|
|
175
175
|
),
|
|
176
|
-
/* @__PURE__ */
|
|
176
|
+
/* @__PURE__ */ o(
|
|
177
177
|
"div",
|
|
178
178
|
{
|
|
179
|
-
className:
|
|
179
|
+
className: n(
|
|
180
180
|
t("popup-panel-resize-handle"),
|
|
181
181
|
e == null ? void 0 : e.resizeHandle
|
|
182
182
|
),
|
|
@@ -184,14 +184,14 @@ const we = ({
|
|
|
184
184
|
...R({
|
|
185
185
|
reverse: !0,
|
|
186
186
|
lockVertical: !0,
|
|
187
|
-
onResize: (
|
|
187
|
+
onResize: (r) => m(Z, r)
|
|
188
188
|
})
|
|
189
189
|
}
|
|
190
190
|
),
|
|
191
|
-
/* @__PURE__ */
|
|
191
|
+
/* @__PURE__ */ o(
|
|
192
192
|
"div",
|
|
193
193
|
{
|
|
194
|
-
className:
|
|
194
|
+
className: n(
|
|
195
195
|
t("popup-panel-resize-handle"),
|
|
196
196
|
e == null ? void 0 : e.resizeHandle
|
|
197
197
|
),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/popup-panel/component.tsx"],"sourcesContent":["\"use client\";\nimport { useCls, clsx, parseAntdPlacement } from \"../utils\";\nimport { Popover } from \"@base-ui-components/react/popover\";\n\nimport { type PopoverProps } from \"antd/es/popover\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport Flex from \"antd/es/flex\";\nimport { IconButton } from \"../icon-button\";\nimport { X } from \"@bioturing/assets\";\nimport { PopupPanelSize } from \"./constants\";\nimport { useControlledState } from \"../hooks\";\nimport { useResizable, type MoveValues } from \"react-use-resizable\";\nimport mergeRefs from \"merge-refs\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport interface PopupPanelProps\n extends Omit<\n React.ComponentPropsWithRef<\"div\">,\n \"title\" | \"content\" | \"children\"\n > {\n /** The trigger element that opens the popup panel */\n children?: React.ComponentProps<typeof Popover.Trigger>[\"render\"];\n /** Placement of the popup panel relative to its trigger */\n placement?: PopoverProps[\"placement\"];\n /** Whether to open the popup panel on hover */\n openOnHover?: boolean;\n /** Controls the open state of the popup panel */\n open?: boolean;\n /** Callback fired when the open state changes */\n onOpenChange?: Popover.Root.Props[\"onOpenChange\"];\n /** Content to display inside the popup panel */\n content?: React.ReactNode;\n /** Title text or element to display in the panel header */\n title?: React.ReactNode;\n /** The event that triggers the popup panel */\n /**\n * @default \"click\"\n */\n trigger?: \"click\" | \"hover\";\n /** Custom anchor element for positioning the panel */\n anchor?: Popover.Positioner.Props[\"anchor\"];\n /** Content to display before the close button */\n beforeCloseButton?: React.ReactNode;\n /** Content to display after the close button */\n afterCloseButton?: React.ReactNode;\n /** Content to display after the title */\n afterTitle?: React.ReactNode;\n /**\n * Predefined sizes for the popup panel\n * - xsmall: 320px\n * - small: 400px\n * - medium: 480px (default)\n * - large: 640px\n * - xlarge: 840px\n * @default \"medium\" for default type, \"xsmall\" for other types\n */\n size?: keyof typeof PopupPanelSize;\n /**\n * Footer content for the popup panel\n * Can be a React node or a function that returns a React node\n */\n footer?:\n | React.ReactNode\n | ((props: { close: () => void }) => React.ReactNode);\n /**\n * Whether the panel should be open by default when uncontrolled\n * @default false\n */\n defaultOpen?: boolean;\n /**\n * Whether the panel should be resizable\n * @default false\n */\n resizable?: boolean;\n /**\n * Custom class names for different parts of the popup panel\n * @default {}\n */\n classNames?: {\n root?: string;\n trigger?: string;\n popup?: string;\n header?: string;\n title?: string;\n content?: string;\n footer?: string;\n resizeHandle?: string;\n };\n /**\n * Whether to close the panel when clicking outside\n * @default true\n */\n closeOnClickOutside?: boolean;\n /**\n * Whether to use modal mode\n * @default false\n */\n modal?: Popover.Root.Props[\"modal\"];\n}\n\nexport const PopupPanel = ({\n children,\n placement,\n openOnHover = false,\n open: outsideOpen,\n onOpenChange: outsideOnOpenChange,\n content,\n title,\n trigger = \"click\",\n className,\n anchor,\n beforeCloseButton,\n afterCloseButton,\n afterTitle,\n size = \"medium\",\n footer,\n defaultOpen,\n resizable = false,\n classNames,\n modal = false,\n closeOnClickOutside = true,\n}: PopupPanelProps) => {\n // Use controlled state with proper initialization to prevent switching between controlled/uncontrolled\n const [open, setOpen] = useControlledState(\n outsideOpen,\n outsideOnOpenChange,\n defaultOpen ?? false // Always provide a default value to prevent undefined\n );\n\n const cls = useCls();\n const headlessUIPlacement = parseAntdPlacement(placement);\n // We don't need triggerRef since we're using callbackRef for the popup\n const [popupRef, setPopupRef] = useState<HTMLDivElement | null>(null);\n const [width, setWidth] = useState<number>();\n const [height, setHeight] = useState<number>();\n const callbackRef = useCallback((node: HTMLDivElement) => {\n setPopupRef(node);\n }, []);\n useEffect(() => {\n if (!popupRef) return;\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n setWidth(entry.contentRect.width);\n setHeight(entry.contentRect.height);\n }\n });\n observer.observe(popupRef);\n return () => {\n observer.disconnect();\n };\n }, [popupRef]);\n\n const defaultCloseIcon = useMemo(() => <X size={16} />, []);\n const renderTitle = useCallback(() => {\n return (\n <div className={clsx(cls(\"popup-panel-header\"), classNames?.header)}>\n <Flex\n align=\"center\"\n gap={8}\n className={cls(\"popup-panel-title-wrapper\")}\n >\n <Popover.Title\n render={\n <div className={clsx(cls(\"grow\", \"truncate\"), classNames?.title)}>\n {title}\n </div>\n }\n ></Popover.Title>\n <div className=\"flex items-center gap-2\">\n {beforeCloseButton}\n <Popover.Close\n render={<IconButton>{defaultCloseIcon}</IconButton>}\n />\n {afterCloseButton}\n </div>\n </Flex>\n {afterTitle ? afterTitle : null}\n </div>\n );\n }, [\n afterCloseButton,\n afterTitle,\n beforeCloseButton,\n cls,\n classNames?.header,\n classNames?.title,\n defaultCloseIcon,\n title,\n ]);\n const [resizing, setResizing] = useState(false);\n const { getRootProps, getHandleProps, rootRef } = useResizable({\n initialWidth: width,\n initialHeight: height,\n onDragStart: () => setResizing(true),\n onDragEnd: () => setResizing(false),\n });\n useEffect(() => {\n if (resizing) {\n document.body.style.userSelect = \"none\";\n } else {\n document.body.style.userSelect = \"\";\n }\n }, [resizing]);\n const { ref: rootRefProp, ...rootPropsWithoutRef } = getRootProps();\n // Handle reverse handle change for vertical resizing\n // Currently not used but kept for future implementation\n // const _onReverseHandleChangeVertical = (\n // parent: React.RefObject<HTMLDivElement>,\n // values: MoveValues\n // ) => {\n // if (!parent.current) return;\n // const { heightDiff } = values;\n // parent.current.style.top = `${\n // parseInt(parent.current.style.top || \"0\") - heightDiff\n // }px`;\n // };\n\n // Handle reverse handle change\n const onReverseHandleChangeHorizontal = (\n parent: React.RefObject<HTMLDivElement>,\n values: MoveValues\n ) => {\n if (!parent.current) return;\n const { widthDiff } = values;\n parent.current.style.left = `${\n parseInt(parent.current.style.left || \"0\") - widthDiff\n }px`;\n };\n\n return (\n <Popover.Root\n openOnHover={trigger === \"hover\" ? true : openOnHover}\n open={open}\n onOpenChange={(open, event, reason) => {\n if (reason === \"outside-press\" && !closeOnClickOutside) return;\n setOpen(open, event, reason);\n }}\n modal={modal}\n >\n <Popover.Trigger\n render={children}\n className={clsx(cls(\"popup-panel-trigger\"), classNames?.trigger)}\n ></Popover.Trigger>\n <Popover.Portal>\n <Popover.Positioner\n className={clsx(cls(\"popup-panel-root\"), classNames?.root)}\n side={headlessUIPlacement.placement}\n align={headlessUIPlacement.align}\n sideOffset={4}\n anchor={anchor}\n style={\n {\n \"--size-width\": size ? PopupPanelSize[size] : undefined,\n } as React.CSSProperties\n }\n >\n <Popover.Popup\n className={clsx(\n cls(\"popup-panel\"),\n cls(`popup-panel-size-${size}`),\n className,\n classNames?.popup\n )}\n ref={mergeRefs(rootRefProp, callbackRef)}\n {...rootPropsWithoutRef}\n {...(resizing ? { \"data-resizing\": true } : {})}\n >\n {/* <div ref={popupRef}> */}\n {title && renderTitle()}\n <div\n className={clsx(cls(\"popup-panel-content\"), classNames?.content)}\n >\n <div className={cls(\"popup-panel-content-inner\")}>{content}</div>\n </div>\n {footer && (\n <div\n className={clsx(cls(\"popup-panel-footer\"), classNames?.footer)}\n >\n {typeof footer === \"function\"\n ? footer({ close: () => setOpen(false) })\n : footer}\n </div>\n )}\n {resizable && (\n <>\n <div\n className={clsx(\n cls(\"popup-panel-resize-handle\"),\n classNames?.resizeHandle\n )}\n data-placement=\"bottom-left\"\n {...getHandleProps({\n lockHorizontal: true,\n })}\n />\n <div\n className={clsx(\n cls(\"popup-panel-resize-handle\"),\n classNames?.resizeHandle\n )}\n data-placement=\"top-left\"\n {...getHandleProps({\n reverse: true,\n lockVertical: true,\n onResize: (values) =>\n onReverseHandleChangeHorizontal(rootRef, values),\n })}\n />\n <div\n className={clsx(\n cls(\"popup-panel-resize-handle\"),\n classNames?.resizeHandle\n )}\n data-placement=\"top-right\"\n {...getHandleProps({\n lockVertical: true,\n })}\n />\n </>\n )}\n </Popover.Popup>\n </Popover.Positioner>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n"],"names":["PopupPanel","children","placement","openOnHover","outsideOpen","outsideOnOpenChange","content","title","trigger","className","anchor","beforeCloseButton","afterCloseButton","afterTitle","size","footer","defaultOpen","resizable","classNames","modal","closeOnClickOutside","open","setOpen","useControlledState","cls","useCls","headlessUIPlacement","parseAntdPlacement","popupRef","setPopupRef","useState","width","setWidth","height","setHeight","callbackRef","useCallback","node","useEffect","observer","entries","entry","defaultCloseIcon","useMemo","jsx","X","renderTitle","jsxs","clsx","Flex","Popover","IconButton","resizing","setResizing","getRootProps","getHandleProps","rootRef","useResizable","rootRefProp","rootPropsWithoutRef","onReverseHandleChangeHorizontal","parent","values","widthDiff","event","reason","PopupPanelSize","mergeRefs","Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../src/components/popup-panel/constants.ts"],"sourcesContent":["// Size map for predefined modal sizes\nexport enum PopupPanelSize {\n xsmall = \"320px\",\n small = \"400px\",\n medium = \"480px\",\n large = \"640px\",\n xlarge = \"840px\",\n}\n"],"names":["PopupPanelSize"],"mappings":"AACY,IAAAA,sBAAAA,OACVA,EAAA,SAAS,SACTA,EAAA,QAAQ,SACRA,EAAA,SAAS,SACTA,EAAA,QAAQ,SACRA,EAAA,SAAS,SALCA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
+
import e, { Button as u, Group as a } from "antd/es/radio";
|
|
3
4
|
import { forwardRef as d } from "react";
|
|
4
5
|
import './style.css';/* empty css */
|
|
5
|
-
const
|
|
6
|
+
const s = ({ className: o, style: r, ...t }, n) => /* @__PURE__ */ i(e, { ref: n, className: o, style: r, ...t }), p = (o) => /* @__PURE__ */ i(a, { ...o }), c = d(
|
|
6
7
|
({ className: o, style: r, ...t }, n) => /* @__PURE__ */ i(
|
|
7
8
|
u,
|
|
8
9
|
{
|
|
@@ -12,9 +13,9 @@ const p = ({ className: o, style: r, ...t }, n) => /* @__PURE__ */ i(a, { ref: n
|
|
|
12
13
|
...t
|
|
13
14
|
}
|
|
14
15
|
)
|
|
15
|
-
),
|
|
16
|
-
Group:
|
|
17
|
-
Button:
|
|
16
|
+
), m = d(s), j = Object.assign(m, {
|
|
17
|
+
Group: p,
|
|
18
|
+
Button: c
|
|
18
19
|
});
|
|
19
20
|
export {
|
|
20
21
|
j as Radio
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/radio/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntdRadio,\n Group as AntdRadioGroup,\n Button as AntdRadioButton,\n} from \"antd/es/radio\";\nimport { forwardRef } from \"react\";\nimport type { RadioProps, RadioRef, RadioGroupProps } from \"./interface\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nconst RadioInner = (\n { className, style, ...rest }: RadioProps,\n ref: React.Ref<RadioRef>\n) => {\n return <AntdRadio ref={ref} className={className} style={style} {...rest} />;\n};\n\nconst RadioGroup = (\n props: RadioGroupProps & { ref?: React.Ref<HTMLDivElement> }\n) => {\n return <AntdRadioGroup {...props} />;\n};\n\nconst RadioButton = forwardRef<RadioRef, RadioProps>(\n ({ className, style, ...rest }, ref) => {\n return (\n <AntdRadioButton\n ref={ref}\n className={className}\n style={style}\n {...rest}\n />\n );\n }\n);\n\nconst ForwardedRadio = forwardRef<RadioRef, RadioProps>(RadioInner);\n\nexport const Radio = Object.assign(ForwardedRadio, {\n Group: RadioGroup,\n Button: RadioButton,\n});\n"],"names":["RadioInner","className","style","rest","ref","AntdRadio","RadioGroup","props","jsx","AntdRadioGroup","RadioButton","forwardRef","AntdRadioButton","ForwardedRadio","Radio"],"mappings":";;;;;AAYA,MAAMA,IAAa,CACjB,EAAE,WAAAC,GAAW,OAAAC,GAAO,GAAGC,KACvBC,wBAEQC,GAAU,EAAA,KAAAD,GAAU,WAAAH,GAAsB,OAAAC,GAAe,GAAGC,GAAM,GAGtEG,IAAa,CACjBC,MAEO,gBAAAC,EAACC,GAAgB,EAAA,GAAGF,EAAO,CAAA,GAG9BG,IAAcC;AAAA,EAClB,CAAC,EAAE,WAAAV,GAAW,OAAAC,GAAO,GAAGC,EAAA,GAAQC,MAE5B,gBAAAI;AAAA,IAACI;AAAAA,IAAA;AAAA,MACC,KAAAR;AAAA,MACA,WAAAH;AAAA,MACA,OAAAC;AAAA,MACC,GAAGC;AAAA,IAAA;AAAA,EACN;AAGN,GAEMU,IAAiBF,EAAiCX,CAAU,GAErDc,IAAQ,OAAO,OAAOD,GAAgB;AAAA,EACjD,OAAOP;AAAA,EACP,QAAQI;AACV,CAAC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/scroll-area/component.tsx"],"sourcesContent":["\"use client\";\nimport { type ReactNode } from \"react\";\nimport { ScrollArea as BaseScrollArea } from \"@base-ui-components/react\";\nimport { clsx, useCls } from \"../utils\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport interface ScrollAreaProps {\n children: ReactNode;\n /**\n * Additional class name for the root component\n */\n className?: string;\n /**\n * Custom class names for each part of the scroll area\n */\n classNames?: {\n /**\n * Class name for the viewport element\n */\n viewport?: string;\n /**\n * Class name for the scrollbar element\n */\n scrollbar?: string;\n /**\n * Class name for the thumb element\n */\n thumb?: string;\n };\n /**\n * Orientation of the scrollbar\n * @default \"vertical\"\n */\n orientation?: \"vertical\" | \"horizontal\";\n}\n\nexport const ScrollArea = ({\n children,\n className,\n classNames = {},\n orientation = \"vertical\",\n}: ScrollAreaProps) => {\n const cls = useCls();\n return (\n <BaseScrollArea.Root className={clsx(cls(\"scroll-area\"), className)}>\n <BaseScrollArea.Viewport\n className={clsx(cls(\"scroll-area-viewport\"), classNames?.viewport)}\n >\n <BaseScrollArea.Content className={clsx(cls(\"scroll-area-content\"))}>\n {children}\n </BaseScrollArea.Content>\n </BaseScrollArea.Viewport>\n <BaseScrollArea.Scrollbar\n className={clsx(cls(\"scroll-area-scrollbar\"), classNames?.scrollbar)}\n orientation={orientation}\n data-orientation={orientation}\n >\n <BaseScrollArea.Thumb\n className={clsx(cls(\"scroll-area-thumb\"), classNames?.thumb)}\n />\n </BaseScrollArea.Scrollbar>\n </BaseScrollArea.Root>\n );\n};\n"],"names":["ScrollArea","children","className","classNames","orientation","cls","useCls","jsxs","BaseScrollArea","clsx","jsx"],"mappings":";;;;;;AAsCO,MAAMA,IAAa,CAAC;AAAA,EACzB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC,IAAa,CAAC;AAAA,EACd,aAAAC,IAAc;AAChB,MAAuB;AACrB,QAAMC,IAAMC,EAAO;AAEjB,SAAA,gBAAAC,EAACC,EAAe,MAAf,EAAoB,WAAWC,EAAKJ,EAAI,aAAa,GAAGH,CAAS,GAChE,UAAA;AAAA,IAAA,gBAAAQ;AAAA,MAACF,EAAe;AAAA,MAAf;AAAA,QACC,WAAWC,EAAKJ,EAAI,sBAAsB,GAAGF,KAAA,gBAAAA,EAAY,QAAQ;AAAA,QAEjE,UAAA,gBAAAO,EAACF,EAAe,SAAf,EAAuB,WAAWC,EAAKJ,EAAI,qBAAqB,CAAC,GAC/D,UAAAJ,EACH,CAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACA,gBAAAS;AAAA,MAACF,EAAe;AAAA,MAAf;AAAA,QACC,WAAWC,EAAKJ,EAAI,uBAAuB,GAAGF,KAAA,gBAAAA,EAAY,SAAS;AAAA,QACnE,aAAAC;AAAA,QACA,oBAAkBA;AAAA,QAElB,UAAA,gBAAAM;AAAA,UAACF,EAAe;AAAA,UAAf;AAAA,YACC,WAAWC,EAAKJ,EAAI,mBAAmB,GAAGF,KAAA,gBAAAA,EAAY,KAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MAC7D;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
3
|
import r from "antd/es/segmented";
|
|
3
4
|
import { forwardRef as m } from "react";
|
|
4
5
|
import './style.css';/* empty css */
|
|
5
|
-
const o = ({ className: s, ...e }, t) => /* @__PURE__ */ n(r, { ref: t, ...e }), i = m(o),
|
|
6
|
+
const o = ({ className: s, ...e }, t) => /* @__PURE__ */ n(r, { ref: t, ...e }), i = m(o), p = i;
|
|
6
7
|
export {
|
|
7
|
-
|
|
8
|
+
p as Segmented
|
|
8
9
|
};
|
|
9
10
|
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/segmented/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntSegmented,\n type SegmentedProps as AntSegmentedProps,\n} from \"antd/es/segmented\";\n\nimport { forwardRef } from \"react\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport type RcSegmentedValue = string | number;\n\n// Define props interface with default type parameter\nexport interface SegmentedProps<T = RcSegmentedValue>\n extends AntSegmentedProps<T> {}\n\n// Create inner function with default type parameter\nconst MainSegmentedInner = <T,>(\n { className, ...rest }: SegmentedProps<T>,\n ref: React.Ref<React.ComponentRef<typeof AntSegmented>>\n) => {\n return <AntSegmented ref={ref} {...rest} />;\n};\n\n// Use forwardRef with type assertion\nconst MainSegmented = forwardRef(MainSegmentedInner) as <T = RcSegmentedValue>(\n props: SegmentedProps<T> & {\n ref?: React.Ref<React.ComponentRef<typeof AntSegmented>>;\n }\n) => ReturnType<typeof MainSegmentedInner>;\n\nexport const Segmented = MainSegmented;\n"],"names":["MainSegmentedInner","className","rest","ref","jsx","AntSegmented","MainSegmented","forwardRef","Segmented"],"mappings":";;;;;AAkBA,MAAMA,IAAqB,CACzB,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAChBC,MAEQ,gBAAAC,EAAAC,GAAA,EAAa,KAAAF,GAAW,GAAGD,EAAM,CAAA,GAIrCI,IAAgBC,EAAWP,CAAkB,GAMtCQ,IAAYF;"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as o, jsxs as N, Fragment as D } from "react/jsx-runtime";
|
|
2
3
|
import { CaretDown as R } from "@bioturing/assets";
|
|
3
4
|
import a from "antd/es/select";
|
|
4
5
|
import y from "antd/es/checkbox";
|
|
5
6
|
import { forwardRef as U } from "react";
|
|
6
7
|
import { useFloatingPortalNode as W, useFloating as q, autoUpdate as B, offset as H, autoPlacement as J, shift as K, size as L, FloatingOverlay as Q } from "@floating-ui/react";
|
|
7
|
-
import { PopupPanelSize as w } from "../
|
|
8
|
+
import { PopupPanelSize as w } from "../popup-panel/constants.js";
|
|
8
9
|
import { toMerged as T } from "es-toolkit";
|
|
9
10
|
import './style.css';/* empty css */
|
|
10
11
|
import { useControlledState as V } from "../hooks/useControlledState.js";
|
|
@@ -27,14 +28,14 @@ const X = ({
|
|
|
27
28
|
...j
|
|
28
29
|
}, p) => {
|
|
29
30
|
var x;
|
|
30
|
-
const E = W({}),
|
|
31
|
+
const E = W({}), u = i === "multiple" || i === "tags", [d, g] = V(
|
|
31
32
|
k,
|
|
32
33
|
M || P,
|
|
33
34
|
v
|
|
34
35
|
), { floatingStyles: S, refs: h } = q({
|
|
35
36
|
placement: "bottom-start",
|
|
36
37
|
transform: !1,
|
|
37
|
-
open: r &&
|
|
38
|
+
open: r && d,
|
|
38
39
|
middleware: [
|
|
39
40
|
H({
|
|
40
41
|
mainAxis: 4
|
|
@@ -68,7 +69,7 @@ const X = ({
|
|
|
68
69
|
whileElementsMounted: B
|
|
69
70
|
}), b = C(
|
|
70
71
|
"ds-select-popup",
|
|
71
|
-
|
|
72
|
+
u && "ds-select-multiple",
|
|
72
73
|
((x = n == null ? void 0 : n.popup) == null ? void 0 : x.root) || F,
|
|
73
74
|
r && "ds-select-popup-enhanced"
|
|
74
75
|
), A = e && typeof e == "string" && e in w ? w[e] : typeof e == "number" ? e + "px" : e || "fit-content";
|
|
@@ -79,7 +80,7 @@ const X = ({
|
|
|
79
80
|
p && (typeof p == "function" ? p(t) : p.current = t), t && h.setReference(t == null ? void 0 : t.nativeElement);
|
|
80
81
|
},
|
|
81
82
|
suffixIcon: /* @__PURE__ */ o(R, { weight: "bold" }),
|
|
82
|
-
open:
|
|
83
|
+
open: d,
|
|
83
84
|
onOpenChange: g,
|
|
84
85
|
popupClassName: b,
|
|
85
86
|
classNames: {
|
|
@@ -88,7 +89,7 @@ const X = ({
|
|
|
88
89
|
},
|
|
89
90
|
...n
|
|
90
91
|
},
|
|
91
|
-
...
|
|
92
|
+
...u ? {
|
|
92
93
|
menuItemSelectedIcon: ({ isSelected: t }) => /* @__PURE__ */ o("span", { className: "ant-select-checkbox-indicator", children: t ? /* @__PURE__ */ o(y, { checked: !0 }) : /* @__PURE__ */ o(y, { checked: !1 }) })
|
|
93
94
|
} : {},
|
|
94
95
|
mode: i,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/select/component.tsx"],"sourcesContent":["\"use client\";\nimport { CaretDown } from \"@bioturing/assets\";\nimport {\n default as AntSelect,\n type BaseOptionType,\n type DefaultOptionType,\n type SelectProps as AntSelectProps,\n} from \"antd/es/select\";\nimport { default as Checkbox } from \"antd/es/checkbox\";\nimport { CSSProperties, forwardRef } from \"react\";\nimport {\n useFloating,\n offset,\n autoPlacement,\n shift,\n size,\n autoUpdate,\n useFloatingPortalNode,\n FloatingOverlay,\n} from \"@floating-ui/react\";\nimport { useControlledState } from \"../hooks\";\nimport React from \"react\";\nimport { clsx } from \"../utils\";\nimport { PopupPanelSize } from \"../popup-panel/constants\";\nimport { toMerged } from \"es-toolkit\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\n// Define props interface extending Ant Design's SelectProps\nexport interface SelectProps<\n ValueType = unknown,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends AntSelectProps<ValueType, OptionType> {\n /**\n * Whether to enhance the positioner using floating-ui\n * @default false\n */\n enhancePositioner?: boolean;\n /**\n * Size of the popup panel\n * Will be ignored if enhancePositioner is false\n */\n popupSize?: string | number | PopupPanelSize;\n}\n\nexport type {\n BaseOptionType as SelectBaseOptionType,\n DefaultOptionType as SelectDefaultOptionType,\n};\n\n// Create inner function\nconst MainSelectInner = <\n ValueType = unknown,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n>(\n {\n mode,\n className,\n open: openProp,\n defaultOpen,\n onOpenChange,\n popupClassName,\n onDropdownVisibleChange,\n enhancePositioner,\n getPopupContainer,\n popupSize,\n popupRender,\n dropdownRender,\n classNames,\n styles = {},\n ...rest\n }: SelectProps<ValueType, OptionType>,\n ref: React.Ref<React.ComponentRef<typeof AntSelect>>\n) => {\n const portalNode = useFloatingPortalNode({});\n const isMultiple = mode === \"multiple\" || mode === \"tags\";\n const [open, setOpen] = useControlledState(\n openProp,\n onOpenChange || onDropdownVisibleChange,\n defaultOpen\n );\n // enhancePositioner\n const { floatingStyles, refs } = useFloating({\n placement: \"bottom-start\",\n transform: false,\n open: enhancePositioner && open,\n middleware: [\n offset({\n mainAxis: 4,\n }),\n autoPlacement({\n allowedPlacements: [\n \"bottom-start\",\n \"bottom-end\",\n \"bottom\",\n \"top-start\",\n \"top-end\",\n \"top\",\n ],\n }),\n shift({\n padding: 8,\n }),\n size({\n padding: 8,\n apply({ availableHeight, availableWidth, elements }) {\n // 2. Or, use a CSS variable:\n elements.floating.style.setProperty(\n \"--available-width\",\n availableWidth + \"px\"\n );\n elements.floating.style.setProperty(\n \"--available-height\",\n availableHeight + \"px\"\n );\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n const dsPopupClassName = clsx(\n \"ds-select-popup\",\n isMultiple && \"ds-select-multiple\",\n classNames?.popup?.root || popupClassName,\n enhancePositioner && \"ds-select-popup-enhanced\"\n );\n const popupWidth =\n popupSize && typeof popupSize === \"string\" && popupSize in PopupPanelSize\n ? PopupPanelSize[popupSize as keyof typeof PopupPanelSize]\n : typeof popupSize === \"number\"\n ? popupSize + \"px\"\n : popupSize || \"fit-content\";\n return (\n <AntSelect\n // ref={ref}\n ref={(node) => {\n if (ref) {\n if (typeof ref == \"function\") {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n if (!node) return;\n refs.setReference(node?.nativeElement as HTMLElement);\n }}\n suffixIcon={<CaretDown weight=\"bold\" />}\n open={open}\n onOpenChange={setOpen}\n // for old version\n popupClassName={dsPopupClassName}\n classNames={{\n popup: {\n root: dsPopupClassName,\n },\n ...classNames,\n }}\n {...(isMultiple\n ? {\n menuItemSelectedIcon: ({ isSelected }) => (\n <span className=\"ant-select-checkbox-indicator\">\n {isSelected ? (\n <Checkbox checked />\n ) : (\n <Checkbox checked={false} />\n )}\n </span>\n ),\n }\n : {})}\n mode={mode}\n className={clsx(\"ds-select\", className)}\n styles={\n enhancePositioner\n ? toMerged(styles, {\n popup: {\n root: {\n transition: \"none\",\n ...floatingStyles,\n \"--ds-select-popup-width\": popupWidth,\n } as CSSProperties,\n },\n })\n : styles\n }\n getPopupContainer={\n getPopupContainer ||\n (enhancePositioner ? () => portalNode || document.body : undefined)\n }\n popupRender={(menu) => {\n // Use a more specific type that includes both style and ref properties\n const renderMenu = () =>\n popupRender\n ? popupRender(menu)\n : dropdownRender\n ? dropdownRender(menu)\n : menu;\n if (!enhancePositioner) {\n return renderMenu();\n }\n return (\n <>\n <FloatingOverlay lockScroll onClick={() => setOpen(false)} />\n <div\n ref={(node) => {\n if (!node) return;\n const popupEl = node.closest(\n \".ds-select-dropdown\"\n ) as HTMLDivElement;\n refs.setFloating(popupEl);\n }}\n >\n {renderMenu()}\n </div>\n </>\n );\n }}\n {...rest}\n />\n );\n};\n\n// Use forwardRef with type assertion\nconst MainSelect = forwardRef(MainSelectInner) as <\n ValueType = unknown,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n>(\n props: SelectProps<ValueType, OptionType> & {\n ref?: React.ForwardedRef<React.ComponentRef<typeof AntSelect>>;\n }\n) => ReturnType<typeof MainSelectInner>;\n\nexport const Select = Object.assign(MainSelect, {\n Option: AntSelect.Option,\n OptGroup: AntSelect.OptGroup,\n});\n"],"names":["MainSelectInner","mode","className","openProp","defaultOpen","onOpenChange","popupClassName","onDropdownVisibleChange","enhancePositioner","getPopupContainer","popupSize","popupRender","dropdownRender","classNames","styles","rest","ref","portalNode","useFloatingPortalNode","isMultiple","open","setOpen","useControlledState","floatingStyles","refs","useFloating","offset","autoPlacement","shift","size","availableHeight","availableWidth","elements","autoUpdate","dsPopupClassName","clsx","_a","popupWidth","PopupPanelSize","jsx","AntSelect","node","CaretDown","isSelected","Checkbox","toMerged","menu","renderMenu","jsxs","Fragment","FloatingOverlay","popupEl","MainSelect","forwardRef","Select"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/slider/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntSlider,\n type SliderSingleProps,\n type SliderRangeProps,\n} from \"antd/es/slider\";\nimport { useCls, clsx } from \"../utils\";\n\n// Define props interface extending Ant Design's SliderProps\nexport type SliderProps = SliderSingleProps | SliderRangeProps;\n\nexport type { SliderSingleProps, SliderRangeProps };\n\n// Create Slider component\nconst Slider = ({ className, tooltip = {}, style, ...rest }: SliderProps) => {\n const cls = useCls();\n return (\n <AntSlider\n className={clsx(cls(\"slider\"), className)}\n style={style}\n {...rest}\n tooltip={{\n arrow: false,\n ...tooltip,\n }}\n />\n );\n};\n\nexport { Slider };\n"],"names":["Slider","className","tooltip","style","rest","cls","useCls","jsx","AntSlider","clsx"],"mappings":";;;;;AAcM,MAAAA,IAAS,CAAC,EAAE,WAAAC,GAAW,SAAAC,IAAU,CAAA,GAAI,OAAAC,GAAO,GAAGC,QAAwB;AAC3E,QAAMC,IAAMC,EAAO;AAEjB,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKJ,EAAI,QAAQ,GAAGJ,CAAS;AAAA,MACxC,OAAAE;AAAA,MACC,GAAGC;AAAA,MACJ,SAAS;AAAA,QACP,OAAO;AAAA,QACP,GAAGF;AAAA,MAAA;AAAA,IACL;AAAA,EACF;AAEJ;"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
3
|
import i from "antd/es/spin";
|
|
3
4
|
import './style.css';/* empty css */
|
|
4
5
|
import { useCls as p } from "../utils/antdUtils.js";
|
|
5
|
-
const
|
|
6
|
-
const s = p(), t =
|
|
7
|
-
return /* @__PURE__ */ o(i, { indicator: t, ...
|
|
6
|
+
const l = ({ indicator: n, ...r }) => {
|
|
7
|
+
const s = p(), t = n || /* @__PURE__ */ o("span", { className: s("spin-loader") });
|
|
8
|
+
return /* @__PURE__ */ o(i, { indicator: t, ...r });
|
|
8
9
|
};
|
|
9
10
|
export {
|
|
10
|
-
|
|
11
|
+
l as Spin
|
|
11
12
|
};
|
|
12
13
|
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/spin/component.tsx"],"sourcesContent":["\"use client\";\nimport { useCls } from \"../utils\";\nimport { default as AntdSpin, SpinProps as AntdSpinProps } from \"antd/es/spin\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport type SpinProps = AntdSpinProps;\n\nexport const Spin = ({ indicator, ...rest }: SpinProps) => {\n const cls = useCls();\n const spinIndicator = indicator || <span className={cls(\"spin-loader\")} />;\n return <AntdSpin indicator={spinIndicator} {...rest} />;\n};\n"],"names":["Spin","indicator","rest","cls","useCls","spinIndicator","jsx","AntdSpin"],"mappings":";;;;;AASO,MAAMA,IAAO,CAAC,EAAE,WAAAC,GAAW,GAAGC,QAAsB;AACzD,QAAMC,IAAMC,EAAO,GACbC,IAAgBJ,KAAa,gBAAAK,EAAC,UAAK,WAAWH,EAAI,aAAa,GAAG;AACxE,SAAQ,gBAAAG,EAAAC,GAAA,EAAS,WAAWF,GAAgB,GAAGH,GAAM;AACvD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../../src/components/splitter/component.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { default as AntdSplitter } from \"antd/es/splitter/Splitter\";\nimport { default as AntdSplitterPanel } from \"antd/es/splitter/Panel\";\nimport type {\n SplitterProps as AntdSplitterProps,\n PanelProps as AntdSplitterPanelProps,\n} from \"antd/es/splitter/interface\";\nimport { useCls, clsx } from \"../utils\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport type SplitterProps = React.PropsWithChildren<AntdSplitterProps> & {\n showSplitBar?: boolean;\n};\n\nexport type SplitterPanelProps =\n React.PropsWithChildren<AntdSplitterPanelProps>;\n\nconst SplitterPanel: React.FC<SplitterPanelProps> = ({\n children,\n className,\n style,\n ...rest\n}) => {\n return (\n <AntdSplitterPanel className={className} style={style} {...rest}>\n {children}\n </AntdSplitterPanel>\n );\n};\n\nconst MainSplitter: React.FC<SplitterProps> = ({\n children,\n className = \"\",\n style = {},\n showSplitBar = true,\n ...rest\n}) => {\n const cls = useCls();\n return (\n <AntdSplitter\n className={clsx(\n cls(\"splitter\"),\n !showSplitBar && cls(\"splitter-hidden-split-bar\"),\n className\n )}\n style={style}\n {...rest}\n >\n {children}\n </AntdSplitter>\n );\n};\n\nexport const Splitter = Object.assign(MainSplitter, {\n Panel: SplitterPanel,\n});\n\n// For backward compatibility\nexport const Split = Splitter;\n"],"names":["SplitterPanel","children","className","style","rest","AntdSplitterPanel","MainSplitter","showSplitBar","cls","useCls","jsx","AntdSplitter","clsx","Splitter","Split"],"mappings":";;;;;;;AAoBA,MAAMA,IAA8C,CAAC;AAAA,EACnD,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,wBAEKC,GAAkB,EAAA,WAAAH,GAAsB,OAAAC,GAAe,GAAGC,GACxD,UAAAH,GACH,GAIEK,IAAwC,CAAC;AAAA,EAC7C,UAAAL;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,OAAAC,IAAQ,CAAC;AAAA,EACT,cAAAI,IAAe;AAAA,EACf,GAAGH;AACL,MAAM;AACJ,QAAMI,IAAMC,EAAO;AAEjB,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTJ,EAAI,UAAU;AAAA,QACd,CAACD,KAAgBC,EAAI,2BAA2B;AAAA,QAChDN;AAAA,MACF;AAAA,MACA,OAAAC;AAAA,MACC,GAAGC;AAAA,MAEH,UAAAH;AAAA,IAAA;AAAA,EACH;AAEJ,GAEaY,IAAW,OAAO,OAAOP,GAAc;AAAA,EAClD,OAAON;AACT,CAAC,GAGYc,IAAQD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stack.js","sources":["../../../src/components/
|
|
1
|
+
{"version":3,"file":"Stack.js","sources":["../../../src/components/stack/Stack.tsx"],"sourcesContent":["\"use client\";\nimport React, { forwardRef } from \"react\";\nimport { cn, useCls } from \"../utils\";\n\nexport type StackGap = 0 | 1 | 2 | 4 | 8 | 12 | 16 | 24 | 28 | 32 | 40 | 48;\n\nexport interface StackProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Whether the stack should hug its content (inline-flex) instead of filling available space\n * @default false\n */\n hug?: boolean;\n\n /**\n * Vertical alignment of items within the stack\n * @default \"flex-start\"\n */\n align?: \"flex-start\" | \"flex-end\" | \"center\" | \"stretch\" | \"baseline\";\n\n /**\n * Horizontal alignment of items within the stack\n * @default \"flex-start\"\n */\n justify?:\n | \"flex-start\"\n | \"flex-end\"\n | \"center\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n\n /**\n * Whether the stack should render items vertically\n * @default false\n */\n vertical?: boolean;\n\n /**\n * Gap between stack items in pixels\n * @default 0\n */\n gap?: StackGap;\n\n /**\n * Wrap items to multiple lines if needed\n * @default false\n */\n wrap?: boolean;\n\n /**\n * Children of the stack\n */\n children?: React.ReactNode;\n}\n\nexport const Stack = forwardRef<HTMLDivElement, StackProps>(\n (\n {\n hug = false,\n align = \"flex-start\",\n justify = \"flex-start\",\n vertical = false,\n gap = 0,\n wrap = false,\n className,\n children,\n ...rest\n },\n ref\n ) => {\n const cls = useCls();\n\n return (\n <div\n ref={ref}\n className={cn(\n cls(\"stack\"),\n hug ? cls(\"stack-hug\") : cls(\"stack-fill\"),\n cls(`stack-gap-${gap}`),\n vertical ? cls(\"stack-vertical\") : cls(\"stack-horizontal\"),\n wrap && cls(\"stack-wrap\"),\n cls(`stack-align-${align}`),\n cls(`stack-justify-${justify}`),\n className\n )}\n {...rest}\n >\n {children}\n </div>\n );\n }\n);\n\nStack.displayName = \"Stack\";\n"],"names":["Stack","forwardRef","hug","align","justify","vertical","gap","wrap","className","children","rest","ref","cls","useCls","jsx","cn"],"mappings":";;;;;AAuDO,MAAMA,IAAQC;AAAA,EACnB,CACE;AAAA,IACE,KAAAC,IAAM;AAAA,IACN,OAAAC,IAAQ;AAAA,IACR,SAAAC,IAAU;AAAA,IACV,UAAAC,IAAW;AAAA,IACX,KAAAC,IAAM;AAAA,IACN,MAAAC,IAAO;AAAA,IACP,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,KAELC,MACG;AACH,UAAMC,IAAMC,EAAO;AAGjB,WAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAH;AAAA,QACA,WAAWI;AAAA,UACTH,EAAI,OAAO;AAAA,UACLA,EAANV,IAAU,cAAmB,YAAR;AAAA,UACrBU,EAAI,aAAaN,CAAG,EAAE;AAAA,UACXM,EAAXP,IAAe,mBAAwB,kBAAR;AAAA,UAC/BE,KAAQK,EAAI,YAAY;AAAA,UACxBA,EAAI,eAAeT,CAAK,EAAE;AAAA,UAC1BS,EAAI,iBAAiBR,CAAO,EAAE;AAAA,UAC9BI;AAAA,QACF;AAAA,QACC,GAAGE;AAAA,QAEH,UAAAD;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;AAEAT,EAAM,cAAc;"}
|