@xanui/ui 1.1.16 → 1.1.17
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/Accordion/index.js +3 -18
- package/Accordion/index.js.map +1 -1
- package/Accordion/index.mjs +2 -15
- package/Accordion/index.mjs.map +1 -1
- package/Alert/index.js +5 -24
- package/Alert/index.js.map +1 -1
- package/Alert/index.mjs +2 -19
- package/Alert/index.mjs.map +1 -1
- package/Avatar/index.js +2 -13
- package/Avatar/index.js.map +1 -1
- package/Avatar/index.mjs +2 -11
- package/Avatar/index.mjs.map +1 -1
- package/Badge/index.js +2 -12
- package/Badge/index.js.map +1 -1
- package/Badge/index.mjs +2 -10
- package/Badge/index.mjs.map +1 -1
- package/Box/index.js +2 -12
- package/Box/index.js.map +1 -1
- package/Box/index.mjs +2 -10
- package/Box/index.mjs.map +1 -1
- package/Button/index.js +4 -17
- package/Button/index.js.map +1 -1
- package/Button/index.mjs +2 -13
- package/Button/index.mjs.map +1 -1
- package/ButtonGroup/index.js +2 -12
- package/ButtonGroup/index.js.map +1 -1
- package/ButtonGroup/index.mjs +2 -10
- package/ButtonGroup/index.mjs.map +1 -1
- package/Calendar/index.js +16 -35
- package/Calendar/index.js.map +1 -1
- package/Calendar/index.mjs +2 -19
- package/Calendar/index.mjs.map +1 -1
- package/CalendarInput/index.js +4 -23
- package/CalendarInput/index.js.map +1 -1
- package/CalendarInput/index.mjs +2 -19
- package/CalendarInput/index.mjs.map +1 -1
- package/Checkbox/index.js +2 -16
- package/Checkbox/index.js.map +1 -1
- package/Checkbox/index.mjs +2 -14
- package/Checkbox/index.mjs.map +1 -1
- package/Chip/index.js +3 -14
- package/Chip/index.js.map +1 -1
- package/Chip/index.mjs +2 -11
- package/Chip/index.mjs.map +1 -1
- package/CircleProgress/index.js +2 -13
- package/CircleProgress/index.js.map +1 -1
- package/CircleProgress/index.mjs +2 -11
- package/CircleProgress/index.mjs.map +1 -1
- package/ClickOutside/index.js +2 -13
- package/ClickOutside/index.js.map +1 -1
- package/ClickOutside/index.mjs +2 -11
- package/ClickOutside/index.mjs.map +1 -1
- package/Collaps/index.js +2 -12
- package/Collaps/index.js.map +1 -1
- package/Collaps/index.mjs +2 -10
- package/Collaps/index.mjs.map +1 -1
- package/Container/index.js +2 -12
- package/Container/index.js.map +1 -1
- package/Container/index.mjs +2 -10
- package/Container/index.mjs.map +1 -1
- package/Datatable/FilterBox.js +10 -28
- package/Datatable/FilterBox.js.map +1 -1
- package/Datatable/FilterBox.mjs +7 -23
- package/Datatable/FilterBox.mjs.map +1 -1
- package/Datatable/Row.js +11 -30
- package/Datatable/Row.js.map +1 -1
- package/Datatable/Row.mjs +7 -24
- package/Datatable/Row.mjs.map +1 -1
- package/Datatable/SelectedBox.js +5 -17
- package/Datatable/SelectedBox.js.map +1 -1
- package/Datatable/SelectedBox.mjs +4 -14
- package/Datatable/SelectedBox.mjs.map +1 -1
- package/Datatable/Table.js +4 -16
- package/Datatable/Table.js.map +1 -1
- package/Datatable/Table.mjs +2 -12
- package/Datatable/Table.mjs.map +1 -1
- package/Datatable/TableHead.js +18 -25
- package/Datatable/TableHead.js.map +1 -1
- package/Datatable/TableHead.mjs +18 -23
- package/Datatable/TableHead.mjs.map +1 -1
- package/Datatable/index.d.ts +2 -67
- package/Datatable/index.js +21 -36
- package/Datatable/index.js.map +1 -1
- package/Datatable/index.mjs +20 -33
- package/Datatable/index.mjs.map +1 -1
- package/Datatable/types.d.ts +69 -0
- package/Divider/index.js +2 -12
- package/Divider/index.js.map +1 -1
- package/Divider/index.mjs +2 -10
- package/Divider/index.mjs.map +1 -1
- package/Drawer/index.js +4 -16
- package/Drawer/index.js.map +1 -1
- package/Drawer/index.mjs +2 -12
- package/Drawer/index.mjs.map +1 -1
- package/Form/index.js +2 -13
- package/Form/index.js.map +1 -1
- package/Form/index.mjs +2 -11
- package/Form/index.mjs.map +1 -1
- package/GridContainer/index.js +2 -12
- package/GridContainer/index.js.map +1 -1
- package/GridContainer/index.mjs +2 -10
- package/GridContainer/index.mjs.map +1 -1
- package/GridItem/index.js +2 -12
- package/GridItem/index.js.map +1 -1
- package/GridItem/index.mjs +2 -10
- package/GridItem/index.mjs.map +1 -1
- package/IconButton/index.js +3 -15
- package/IconButton/index.js.map +1 -1
- package/IconButton/index.mjs +2 -12
- package/IconButton/index.mjs.map +1 -1
- package/Image/index.js +2 -13
- package/Image/index.js.map +1 -1
- package/Image/index.mjs +2 -11
- package/Image/index.mjs.map +1 -1
- package/Input/index.js +3 -15
- package/Input/index.js.map +1 -1
- package/Input/index.mjs +2 -12
- package/Input/index.mjs.map +1 -1
- package/Label/index.js +2 -12
- package/Label/index.js.map +1 -1
- package/Label/index.mjs +2 -10
- package/Label/index.mjs.map +1 -1
- package/Layer/index.js +4 -17
- package/Layer/index.js.map +1 -1
- package/Layer/index.mjs +2 -13
- package/Layer/index.mjs.map +1 -1
- package/LineProgress/index.js +2 -13
- package/LineProgress/index.js.map +1 -1
- package/LineProgress/index.mjs +2 -11
- package/LineProgress/index.mjs.map +1 -1
- package/List/index.js +2 -12
- package/List/index.js.map +1 -1
- package/List/index.mjs +2 -10
- package/List/index.mjs.map +1 -1
- package/ListItem/index.js +3 -14
- package/ListItem/index.js.map +1 -1
- package/ListItem/index.mjs +2 -11
- package/ListItem/index.mjs.map +1 -1
- package/LoadingBox/index.js +3 -14
- package/LoadingBox/index.js.map +1 -1
- package/LoadingBox/index.mjs +2 -11
- package/LoadingBox/index.mjs.map +1 -1
- package/Menu/index.js +3 -16
- package/Menu/index.js.map +1 -1
- package/Menu/index.mjs +2 -13
- package/Menu/index.mjs.map +1 -1
- package/Modal/index.d.ts +1 -1
- package/Modal/index.js +3 -15
- package/Modal/index.js.map +1 -1
- package/Modal/index.mjs +2 -12
- package/Modal/index.mjs.map +1 -1
- package/NoSSR/index.js +2 -10
- package/NoSSR/index.js.map +1 -1
- package/NoSSR/index.mjs +2 -8
- package/NoSSR/index.mjs.map +1 -1
- package/Option/index.js +3 -13
- package/Option/index.js.map +1 -1
- package/Option/index.mjs +2 -10
- package/Option/index.mjs.map +1 -1
- package/Paper/index.js +2 -12
- package/Paper/index.js.map +1 -1
- package/Paper/index.mjs +2 -10
- package/Paper/index.mjs.map +1 -1
- package/Portal/index.js +2 -13
- package/Portal/index.js.map +1 -1
- package/Portal/index.mjs +2 -11
- package/Portal/index.mjs.map +1 -1
- package/Radio/index.js +3 -15
- package/Radio/index.js.map +1 -1
- package/Radio/index.mjs +2 -12
- package/Radio/index.mjs.map +1 -1
- package/Scrollbar/index.js +2 -13
- package/Scrollbar/index.js.map +1 -1
- package/Scrollbar/index.mjs +2 -11
- package/Scrollbar/index.mjs.map +1 -1
- package/Select/index.js +5 -22
- package/Select/index.js.map +1 -1
- package/Select/index.mjs +2 -17
- package/Select/index.mjs.map +1 -1
- package/Stack/index.js +2 -12
- package/Stack/index.js.map +1 -1
- package/Stack/index.mjs +2 -10
- package/Stack/index.mjs.map +1 -1
- package/Switch/index.js +2 -13
- package/Switch/index.js.map +1 -1
- package/Switch/index.mjs +2 -11
- package/Switch/index.mjs.map +1 -1
- package/Tab/index.js +3 -15
- package/Tab/index.js.map +1 -1
- package/Tab/index.mjs +2 -12
- package/Tab/index.mjs.map +1 -1
- package/Table/index.js +3 -14
- package/Table/index.js.map +1 -1
- package/Table/index.mjs +2 -11
- package/Table/index.mjs.map +1 -1
- package/TableBody/index.js +2 -12
- package/TableBody/index.js.map +1 -1
- package/TableBody/index.mjs +2 -10
- package/TableBody/index.mjs.map +1 -1
- package/TableCell/index.js +2 -12
- package/TableCell/index.js.map +1 -1
- package/TableCell/index.mjs +2 -10
- package/TableCell/index.mjs.map +1 -1
- package/TableFooter/index.js +2 -12
- package/TableFooter/index.js.map +1 -1
- package/TableFooter/index.mjs +2 -10
- package/TableFooter/index.mjs.map +1 -1
- package/TableHead/index.js +2 -12
- package/TableHead/index.js.map +1 -1
- package/TableHead/index.mjs +2 -10
- package/TableHead/index.mjs.map +1 -1
- package/TablePagination/index.d.ts +1 -0
- package/TablePagination/index.js +14 -35
- package/TablePagination/index.js.map +1 -1
- package/TablePagination/index.mjs +12 -31
- package/TablePagination/index.mjs.map +1 -1
- package/TableRow/index.js +2 -12
- package/TableRow/index.js.map +1 -1
- package/TableRow/index.mjs +2 -10
- package/TableRow/index.mjs.map +1 -1
- package/Tabs/index.js +3 -14
- package/Tabs/index.js.map +1 -1
- package/Tabs/index.mjs +3 -12
- package/Tabs/index.mjs.map +1 -1
- package/Text/index.js +2 -12
- package/Text/index.js.map +1 -1
- package/Text/index.mjs +2 -10
- package/Text/index.mjs.map +1 -1
- package/Toast/index.js +4 -18
- package/Toast/index.js.map +1 -1
- package/Toast/index.mjs +2 -14
- package/Toast/index.mjs.map +1 -1
- package/Tooltip/index.js +3 -14
- package/Tooltip/index.js.map +1 -1
- package/Tooltip/index.mjs +2 -11
- package/Tooltip/index.mjs.map +1 -1
- package/ViewBox/index.js +3 -14
- package/ViewBox/index.js.map +1 -1
- package/ViewBox/index.mjs +2 -11
- package/ViewBox/index.mjs.map +1 -1
- package/index.js +1 -116
- package/index.js.map +1 -1
- package/index.mjs +1 -56
- package/index.mjs.map +1 -1
- package/package.json +11 -2
- package/readme.md +104 -104
- package/useAlert/index.js +5 -19
- package/useAlert/index.js.map +1 -1
- package/useAlert/index.mjs +2 -14
- package/useAlert/index.mjs.map +1 -1
- package/useBlurCss/index.js +2 -10
- package/useBlurCss/index.js.map +1 -1
- package/useBlurCss/index.mjs +2 -8
- package/useBlurCss/index.mjs.map +1 -1
- package/useCorner/index.js +2 -7
- package/useCorner/index.js.map +1 -1
- package/useCorner/index.mjs +1 -4
- package/useCorner/index.mjs.map +1 -1
- package/useLayer/index.js +3 -14
- package/useLayer/index.js.map +1 -1
- package/useLayer/index.mjs +2 -11
- package/useLayer/index.mjs.map +1 -1
- package/useModal/index.js +3 -14
- package/useModal/index.js.map +1 -1
- package/useModal/index.mjs +2 -11
- package/useModal/index.mjs.map +1 -1
package/Menu/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/Menu/index.tsx"],"sourcesContent":["\"use client\";\r\nimport { ReactNode, useEffect, useState, useRef } from \"react\";\r\nimport { Tag, TagProps, useBreakpointProps, useBreakpointPropsType, useInterface, TransitionProps, Transition } from \"@xanui/core\";\r\nimport Portal, { PortalProps } from \"../Portal\";\r\nimport ClickOutside from \"../ClickOutside\";\r\n\r\nexport type PlacementTypes =\r\n | \"top\"\r\n | \"top-left\"\r\n | \"top-right\"\r\n | \"bottom\"\r\n | \"bottom-left\"\r\n | \"bottom-right\"\r\n | \"right\"\r\n | \"right-top\"\r\n | \"right-bottom\"\r\n | \"left\"\r\n | \"left-top\"\r\n | \"left-bottom\";\r\n\r\nexport type MenuProps = {\r\n children?: ReactNode;\r\n target?: HTMLElement;\r\n placement?: useBreakpointPropsType<PlacementTypes>;\r\n zIndex?: number;\r\n onClickOutside?: (e: MouseEvent) => void;\r\n slotProps?: {\r\n transition?: Omit<TransitionProps, \"open\">;\r\n portal?: Omit<PortalProps, \"children\">;\r\n content?: Omit<TagProps<\"div\">, \"children\">;\r\n };\r\n};\r\n\r\nconst placements: PlacementTypes[] = [\r\n \"top\",\r\n \"top-left\",\r\n \"top-right\",\r\n \"bottom\",\r\n \"bottom-left\",\r\n \"bottom-right\",\r\n \"right\",\r\n \"right-top\",\r\n \"right-bottom\",\r\n \"left\",\r\n \"left-top\",\r\n \"left-bottom\",\r\n];\r\n\r\nconst getTransformOrigin = (placement: PlacementTypes) => {\r\n switch (placement) {\r\n case \"top\":\r\n return \"bottom\";\r\n case \"top-left\":\r\n return \"bottom left\";\r\n case \"top-right\":\r\n return \"bottom right\";\r\n case \"bottom\":\r\n return \"top\";\r\n case \"bottom-left\":\r\n return \"top left\";\r\n case \"bottom-right\":\r\n return \"top right\";\r\n case \"left\":\r\n return \"right\";\r\n case \"left-top\":\r\n return \"top right\";\r\n case \"left-bottom\":\r\n return \"bottom right\";\r\n case \"right\":\r\n return \"left\";\r\n case \"right-top\":\r\n return \"top left\";\r\n case \"right-bottom\":\r\n return \"bottom left\";\r\n default:\r\n return \"top\";\r\n }\r\n};\r\n\r\n// Compute coordinates for each placement\r\nconst computePosition = (\r\n placement: PlacementTypes,\r\n menu: HTMLElement,\r\n target: HTMLElement\r\n) => {\r\n const { width: mw, height: mh } = menu.getBoundingClientRect();\r\n const {\r\n top: tt,\r\n left: tl,\r\n bottom: tb,\r\n right: tr,\r\n width: tw,\r\n height: th,\r\n } = target.getBoundingClientRect();\r\n\r\n const positions: Record<PlacementTypes, { top: number; left: number }> = {\r\n \"bottom-left\": { top: tb, left: tl },\r\n \"bottom-right\": { top: tb, left: tr - mw },\r\n bottom: { top: tb, left: tl + (tw - mw) / 2 },\r\n\r\n \"top-left\": { top: tt - mh, left: tl },\r\n \"top-right\": { top: tt - mh, left: tr - mw },\r\n top: { top: tt - mh, left: tl + (tw - mw) / 2 },\r\n\r\n left: { top: tt + (th - mh) / 2, left: tl - mw },\r\n \"left-top\": { top: tt, left: tl - mw },\r\n \"left-bottom\": { top: tb - mh, left: tl - mw },\r\n\r\n right: { top: tt + (th - mh) / 2, left: tr },\r\n \"right-top\": { top: tt, left: tr },\r\n \"right-bottom\": { top: tb - mh, left: tr },\r\n };\r\n\r\n return positions[placement];\r\n};\r\n\r\n\r\n// Check if menu is off-screen\r\nconst isOffScreen = (menu: HTMLElement) => {\r\n const { x, y, width, height } = menu.getBoundingClientRect();\r\n return x < 0 || y < 0 || x + width > window.innerWidth || y + height > window.innerHeight;\r\n};\r\n\r\n// Try to place menu and fallback if off-screen\r\nconst placeMenu = (placement: PlacementTypes, menu: HTMLElement, target: HTMLElement) => {\r\n let pos = computePosition(placement, menu, target);\r\n menu.style.top = pos.top + \"px\";\r\n menu.style.left = pos.left + \"px\";\r\n\r\n if (isOffScreen(menu)) {\r\n for (const p of placements) {\r\n const fallbackPos = computePosition(p, menu, target);\r\n menu.style.top = fallbackPos.top + \"px\";\r\n menu.style.left = fallbackPos.left + \"px\";\r\n if (!isOffScreen(menu)) return p;\r\n }\r\n }\r\n return placement;\r\n};\r\n\r\nconst Menu = ({ children, target, ...props }: MenuProps) => {\r\n let [{ onClickOutside, placement, zIndex, slotProps }] = useInterface<any>(\"Menu\", props, {});\r\n const _p: any = {};\r\n if (placement) _p.placement = placement;\r\n const p: any = useBreakpointProps(_p);\r\n placement = p.placement || \"bottom-left\";\r\n\r\n const isOpen = Boolean(target);\r\n const [closed, setClosed] = useState(!isOpen);\r\n const [placed, setPlaced] = useState<PlacementTypes>(placement);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n\r\n // Open/close effect\r\n useEffect(() => {\r\n if (closed && isOpen) setClosed(false);\r\n }, [isOpen]);\r\n\r\n\r\n useEffect(() => {\r\n if (!closed && target && menuRef.current) {\r\n const updatePosition = () => {\r\n if (menuRef.current && target) {\r\n const p = placeMenu(placement!, menuRef.current, target);\r\n setPlaced(p);\r\n }\r\n };\r\n\r\n updatePosition();\r\n\r\n window.addEventListener(\"resize\", updatePosition);\r\n window.addEventListener(\"scroll\", updatePosition, true);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", updatePosition);\r\n window.removeEventListener(\"scroll\", updatePosition, true);\r\n };\r\n }\r\n return undefined;\r\n }, [closed, target, placement]);\r\n\r\n if (closed) return null;\r\n\r\n return (\r\n <Portal {...slotProps?.portal}>\r\n <ClickOutside\r\n onClickOutside={(e: MouseEvent) => {\r\n if (e.target !== target) {\r\n onClickOutside && onClickOutside(e);\r\n }\r\n }}\r\n ref={menuRef}\r\n sx={{ position: \"fixed\", zIndex: 1500 + (zIndex || 0) }}\r\n >\r\n <Transition\r\n duration={200}\r\n easing=\"fast\"\r\n variant=\"grow\"\r\n {...slotProps?.transition}\r\n open={isOpen}\r\n onClosed={() => {\r\n setClosed(true);\r\n slotProps?.transition?.onClosed?.();\r\n }}\r\n >\r\n <Tag\r\n baseClass=\"menu-content\"\r\n {...slotProps?.content}\r\n sxr={{\r\n overflow: \"hidden\",\r\n bgcolor: \"background.primary\",\r\n shadow: 2,\r\n radius: 1,\r\n transformOrigin: getTransformOrigin(placed),\r\n ...slotProps?.content?.sx,\r\n }}\r\n >\r\n {children}\r\n </Tag>\r\n </Transition>\r\n </ClickOutside>\r\n </Portal>\r\n );\r\n};\r\n\r\nexport default Menu;\r\n"],"names":[],"mappings":";;;;;;;;AAiCA;;;;;;;;;;;;;;AAeA;;AAEQ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;;AAEZ;AAEA;AACA;AAKI;AACA;AASA;;;AAGI;;AAGA;AACA;AAEA;;AAEA;AAEA;;;;AAKJ;AACJ;AAGA;AACA;AACI;;AAEJ;AAEA;AACA;;;;AAKI;AACI;;;;AAII;AAAwB;;;AAGhC;AACJ;AAEA;;;;;AAGI;AAAe;AACf;AACA;AAEA;;;AAGA;;;;;AAKA;;;;AAMY;AACI;;;AAGR;AAEA;AAEA;;AAGA;AACI;;AAEJ;;AAEJ;;AAGJ;AAAY;;AAMI;AACI;;;;;;;AAmCxB;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/Menu/index.tsx"],"sourcesContent":["\"use client\";\nimport { ReactNode, useEffect, useState, useRef } from \"react\";\nimport { Tag, TagProps, useBreakpointProps, useBreakpointPropsType, useInterface, TransitionProps, Transition } from \"@xanui/core\";\nimport Portal, { PortalProps } from \"../Portal\";\nimport ClickOutside from \"../ClickOutside\";\n\nexport type PlacementTypes =\n | \"top\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"right\"\n | \"right-top\"\n | \"right-bottom\"\n | \"left\"\n | \"left-top\"\n | \"left-bottom\";\n\nexport type MenuProps = {\n children?: ReactNode;\n target?: HTMLElement;\n placement?: useBreakpointPropsType<PlacementTypes>;\n zIndex?: number;\n onClickOutside?: (e: MouseEvent) => void;\n slotProps?: {\n transition?: Omit<TransitionProps, \"open\">;\n portal?: Omit<PortalProps, \"children\">;\n content?: Omit<TagProps<\"div\">, \"children\">;\n };\n};\n\nconst placements: PlacementTypes[] = [\n \"top\",\n \"top-left\",\n \"top-right\",\n \"bottom\",\n \"bottom-left\",\n \"bottom-right\",\n \"right\",\n \"right-top\",\n \"right-bottom\",\n \"left\",\n \"left-top\",\n \"left-bottom\",\n];\n\nconst getTransformOrigin = (placement: PlacementTypes) => {\n switch (placement) {\n case \"top\":\n return \"bottom\";\n case \"top-left\":\n return \"bottom left\";\n case \"top-right\":\n return \"bottom right\";\n case \"bottom\":\n return \"top\";\n case \"bottom-left\":\n return \"top left\";\n case \"bottom-right\":\n return \"top right\";\n case \"left\":\n return \"right\";\n case \"left-top\":\n return \"top right\";\n case \"left-bottom\":\n return \"bottom right\";\n case \"right\":\n return \"left\";\n case \"right-top\":\n return \"top left\";\n case \"right-bottom\":\n return \"bottom left\";\n default:\n return \"top\";\n }\n};\n\n// Compute coordinates for each placement\nconst computePosition = (\n placement: PlacementTypes,\n menu: HTMLElement,\n target: HTMLElement\n) => {\n const { width: mw, height: mh } = menu.getBoundingClientRect();\n const {\n top: tt,\n left: tl,\n bottom: tb,\n right: tr,\n width: tw,\n height: th,\n } = target.getBoundingClientRect();\n\n const positions: Record<PlacementTypes, { top: number; left: number }> = {\n \"bottom-left\": { top: tb, left: tl },\n \"bottom-right\": { top: tb, left: tr - mw },\n bottom: { top: tb, left: tl + (tw - mw) / 2 },\n\n \"top-left\": { top: tt - mh, left: tl },\n \"top-right\": { top: tt - mh, left: tr - mw },\n top: { top: tt - mh, left: tl + (tw - mw) / 2 },\n\n left: { top: tt + (th - mh) / 2, left: tl - mw },\n \"left-top\": { top: tt, left: tl - mw },\n \"left-bottom\": { top: tb - mh, left: tl - mw },\n\n right: { top: tt + (th - mh) / 2, left: tr },\n \"right-top\": { top: tt, left: tr },\n \"right-bottom\": { top: tb - mh, left: tr },\n };\n\n return positions[placement];\n};\n\n\n// Check if menu is off-screen\nconst isOffScreen = (menu: HTMLElement) => {\n const { x, y, width, height } = menu.getBoundingClientRect();\n return x < 0 || y < 0 || x + width > window.innerWidth || y + height > window.innerHeight;\n};\n\n// Try to place menu and fallback if off-screen\nconst placeMenu = (placement: PlacementTypes, menu: HTMLElement, target: HTMLElement) => {\n let pos = computePosition(placement, menu, target);\n menu.style.top = pos.top + \"px\";\n menu.style.left = pos.left + \"px\";\n\n if (isOffScreen(menu)) {\n for (const p of placements) {\n const fallbackPos = computePosition(p, menu, target);\n menu.style.top = fallbackPos.top + \"px\";\n menu.style.left = fallbackPos.left + \"px\";\n if (!isOffScreen(menu)) return p;\n }\n }\n return placement;\n};\n\nconst Menu = ({ children, target, ...props }: MenuProps) => {\n let [{ onClickOutside, placement, zIndex, slotProps }] = useInterface<any>(\"Menu\", props, {});\n const _p: any = {};\n if (placement) _p.placement = placement;\n const p: any = useBreakpointProps(_p);\n placement = p.placement || \"bottom-left\";\n\n const isOpen = Boolean(target);\n const [closed, setClosed] = useState(!isOpen);\n const [placed, setPlaced] = useState<PlacementTypes>(placement);\n const menuRef = useRef<HTMLDivElement>(null);\n\n // Open/close effect\n useEffect(() => {\n if (closed && isOpen) setClosed(false);\n }, [isOpen]);\n\n\n useEffect(() => {\n if (!closed && target && menuRef.current) {\n const updatePosition = () => {\n if (menuRef.current && target) {\n const p = placeMenu(placement!, menuRef.current, target);\n setPlaced(p);\n }\n };\n\n updatePosition();\n\n window.addEventListener(\"resize\", updatePosition);\n window.addEventListener(\"scroll\", updatePosition, true);\n\n return () => {\n window.removeEventListener(\"resize\", updatePosition);\n window.removeEventListener(\"scroll\", updatePosition, true);\n };\n }\n return undefined;\n }, [closed, target, placement]);\n\n if (closed) return null;\n\n return (\n <Portal {...slotProps?.portal}>\n <ClickOutside\n onClickOutside={(e: MouseEvent) => {\n if (e.target !== target) {\n onClickOutside && onClickOutside(e);\n }\n }}\n ref={menuRef}\n sx={{ position: \"fixed\", zIndex: 1500 + (zIndex || 0) }}\n >\n <Transition\n duration={200}\n easing=\"fast\"\n variant=\"grow\"\n {...slotProps?.transition}\n open={isOpen}\n onClosed={() => {\n setClosed(true);\n slotProps?.transition?.onClosed?.();\n }}\n >\n <Tag\n baseClass=\"menu-content\"\n {...slotProps?.content}\n sxr={{\n overflow: \"hidden\",\n bgcolor: \"background.primary\",\n shadow: 2,\n radius: 1,\n transformOrigin: getTransformOrigin(placed),\n ...slotProps?.content?.sx,\n }}\n >\n {children}\n </Tag>\n </Transition>\n </ClickOutside>\n </Portal>\n );\n};\n\nexport default Menu;\n"],"names":["_jsx"],"mappings":"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"}
|
package/Modal/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ type ModalProps = UseModalProps & {
|
|
|
8
8
|
};
|
|
9
9
|
declare const Modal: {
|
|
10
10
|
({ children, open, ...props }: ModalProps): react_jsx_runtime.JSX.Element;
|
|
11
|
-
open(children: ModalProps["children"], props?: Omit<ModalProps, "children">): {
|
|
11
|
+
open(children: ModalProps["children"], props?: Omit<ModalProps, "children" | "open">): {
|
|
12
12
|
open: () => void;
|
|
13
13
|
close: () => void;
|
|
14
14
|
};
|
package/Modal/index.js
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var tslib = require('tslib');
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var index = require('../useModal/index.js');
|
|
8
|
-
var core = require('@xanui/core');
|
|
9
|
-
|
|
10
|
-
const Modal = (_a) => {
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),React=require('react'),index=require('../useModal/index.js'),core=require('@xanui/core');const Modal = (_a) => {
|
|
11
2
|
var { children, open } = _a, props = tslib.__rest(_a, ["children", "open"]);
|
|
12
3
|
const ref = React.useRef(null);
|
|
13
|
-
const modal = index(jsxRuntime.jsx(jsxRuntime.Fragment, { children: children }), Object.assign(Object.assign({}, props), { onClickOutside: () => {
|
|
4
|
+
const modal = index.default(jsxRuntime.jsx(jsxRuntime.Fragment, { children: children }), Object.assign(Object.assign({}, props), { onClickOutside: () => {
|
|
14
5
|
if (props === null || props === void 0 ? void 0 : props.onClickOutside) {
|
|
15
6
|
props.onClickOutside();
|
|
16
7
|
}
|
|
@@ -53,7 +44,4 @@ Modal.open = (children, props) => {
|
|
|
53
44
|
};
|
|
54
45
|
Modal.close = () => {
|
|
55
46
|
core.Renderar.unrender(ActionModal);
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
module.exports = Modal;
|
|
59
|
-
//# sourceMappingURL=index.js.map
|
|
47
|
+
};exports.default=Modal;//# sourceMappingURL=index.js.map
|
package/Modal/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/Modal/index.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/Modal/index.tsx"],"sourcesContent":["\"use client\";\nimport { ReactNode, useEffect, useRef } from \"react\";\nimport useModal, { UseModalProps } from \"../useModal\";\nimport { Renderar, Tag } from \"@xanui/core\";\n\nexport type ModalProps = UseModalProps & {\n children: ReactNode;\n open: boolean;\n}\n\nconst Modal = ({ children, open, ...props }: ModalProps) => {\n const ref = useRef<HTMLDivElement>(null);\n\n const modal = useModal(<>{children}</>, {\n ...props,\n onClickOutside: () => {\n if (props?.onClickOutside) {\n props.onClickOutside()\n }\n },\n slotProps: {\n layer: {\n portal: {\n container: ref?.current || undefined\n }\n }\n }\n })\n\n useEffect(() => {\n if (open) {\n modal.open()\n } else {\n modal.close()\n }\n }, [open])\n return <Tag ref={ref}></Tag>\n}\n\nconst ActionModal = ({ children, ...props }: ModalProps) => {\n return (\n <Modal {...props}>\n {children}\n </Modal>\n )\n}\n\nModal.open = (children: ModalProps['children'], props?: Omit<ModalProps, 'children' | \"open\">) => {\n const m = Renderar.render(ActionModal as any, {\n open: true,\n ...props,\n children,\n onClosed: () => {\n m.unrender()\n if (props?.onClosed) {\n props.onClosed()\n }\n }\n })\n\n return {\n open: () => {\n m.updateProps({ open: true })\n },\n close: () => {\n m.updateProps({ open: false })\n },\n }\n};\n\nModal.close = () => {\n Renderar.unrender(ActionModal as any)\n}\n\nexport default Modal;"],"names":["__rest","useRef","useModal","_jsx","_Fragment","useEffect","Tag","Renderar"],"mappings":"kOAUA,MAAM,KAAK,GAAG,CAAC,EAAwC,KAAI;QAA5C,EAAE,QAAQ,EAAE,IAAI,EAAA,GAAA,EAAwB,EAAnB,KAAK,GAAAA,YAAA,CAAA,EAAA,EAA1B,oBAA4B,CAAF;AACtC,IAAA,MAAM,GAAG,GAAGC,YAAM,CAAiB,IAAI,CAAC;AAExC,IAAA,MAAM,KAAK,GAAGC,aAAQ,CAACC,cAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAI,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAChC,KAAK,CAAA,EAAA,EACR,cAAc,EAAE,MAAK;YAClB,IAAI,KAAK,aAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,cAAc,EAAE;gBACxB,KAAK,CAAC,cAAc,EAAE;YACzB;QACH,CAAC,EACD,SAAS,EAAE;AACR,YAAA,KAAK,EAAE;AACJ,gBAAA,MAAM,EAAE;oBACL,SAAS,EAAE,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,KAAI;AAC7B;AACH;AACH,SAAA,EAAA,CAAA,CACF;IAEFC,eAAS,CAAC,MAAK;QACZ,IAAI,IAAI,EAAE;YACP,KAAK,CAAC,IAAI,EAAE;QACf;aAAO;YACJ,KAAK,CAAC,KAAK,EAAE;QAChB;AACH,IAAA,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACV,IAAA,OAAOF,eAACG,QAAG,EAAA,EAAC,GAAG,EAAE,GAAG,GAAQ;AAC/B;AAEA,MAAM,WAAW,GAAG,CAAC,EAAkC,KAAI;AAAtC,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAwB,EAAnB,KAAK,GAAAN,YAAA,CAAA,EAAA,EAApB,YAAsB,CAAF;IACtC,QACGG,eAAC,KAAK,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,KAAK,EAAA,EAAA,QAAA,EACZ,QAAQ,EAAA,CAAA,CACJ;AAEd,CAAC;AAED,KAAK,CAAC,IAAI,GAAG,CAAC,QAAgC,EAAE,KAA6C,KAAI;AAC9F,IAAA,MAAM,CAAC,GAAGI,aAAQ,CAAC,MAAM,CAAC,WAAkB,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACzC,IAAI,EAAE,IAAI,EAAA,EACP,KAAK,CAAA,EAAA,EACR,QAAQ,EACR,QAAQ,EAAE,MAAK;YACZ,CAAC,CAAC,QAAQ,EAAE;YACZ,IAAI,KAAK,aAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,QAAQ,EAAE;gBAClB,KAAK,CAAC,QAAQ,EAAE;YACnB;AACH,QAAA,CAAC,IACF;IAEF,OAAO;QACJ,IAAI,EAAE,MAAK;YACR,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,EAAE,MAAK;YACT,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACjC,CAAC;KACH;AACJ,CAAC;AAED,KAAK,CAAC,KAAK,GAAG,MAAK;AAChB,IAAAA,aAAQ,CAAC,QAAQ,CAAC,WAAkB,CAAC;AACxC,CAAC"}
|
package/Modal/index.mjs
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { __rest } from 'tslib';
|
|
3
|
-
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
4
|
-
import { useRef, useEffect } from 'react';
|
|
5
|
-
import useModal from '../useModal/index.mjs';
|
|
6
|
-
import { Tag, Renderar } from '@xanui/core';
|
|
7
|
-
|
|
8
|
-
const Modal = (_a) => {
|
|
1
|
+
import {__rest}from'tslib';import {jsx,Fragment}from'react/jsx-runtime';import {useRef,useEffect}from'react';import useModal from'../useModal/index.mjs';import {Tag,Renderar}from'@xanui/core';const Modal = (_a) => {
|
|
9
2
|
var { children, open } = _a, props = __rest(_a, ["children", "open"]);
|
|
10
3
|
const ref = useRef(null);
|
|
11
4
|
const modal = useModal(jsx(Fragment, { children: children }), Object.assign(Object.assign({}, props), { onClickOutside: () => {
|
|
@@ -51,7 +44,4 @@ Modal.open = (children, props) => {
|
|
|
51
44
|
};
|
|
52
45
|
Modal.close = () => {
|
|
53
46
|
Renderar.unrender(ActionModal);
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export { Modal as default };
|
|
57
|
-
//# sourceMappingURL=index.mjs.map
|
|
47
|
+
};export{Modal as default};//# sourceMappingURL=index.mjs.map
|
package/Modal/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/Modal/index.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/Modal/index.tsx"],"sourcesContent":["\"use client\";\nimport { ReactNode, useEffect, useRef } from \"react\";\nimport useModal, { UseModalProps } from \"../useModal\";\nimport { Renderar, Tag } from \"@xanui/core\";\n\nexport type ModalProps = UseModalProps & {\n children: ReactNode;\n open: boolean;\n}\n\nconst Modal = ({ children, open, ...props }: ModalProps) => {\n const ref = useRef<HTMLDivElement>(null);\n\n const modal = useModal(<>{children}</>, {\n ...props,\n onClickOutside: () => {\n if (props?.onClickOutside) {\n props.onClickOutside()\n }\n },\n slotProps: {\n layer: {\n portal: {\n container: ref?.current || undefined\n }\n }\n }\n })\n\n useEffect(() => {\n if (open) {\n modal.open()\n } else {\n modal.close()\n }\n }, [open])\n return <Tag ref={ref}></Tag>\n}\n\nconst ActionModal = ({ children, ...props }: ModalProps) => {\n return (\n <Modal {...props}>\n {children}\n </Modal>\n )\n}\n\nModal.open = (children: ModalProps['children'], props?: Omit<ModalProps, 'children' | \"open\">) => {\n const m = Renderar.render(ActionModal as any, {\n open: true,\n ...props,\n children,\n onClosed: () => {\n m.unrender()\n if (props?.onClosed) {\n props.onClosed()\n }\n }\n })\n\n return {\n open: () => {\n m.updateProps({ open: true })\n },\n close: () => {\n m.updateProps({ open: false })\n },\n }\n};\n\nModal.close = () => {\n Renderar.unrender(ActionModal as any)\n}\n\nexport default Modal;"],"names":["_jsx","_Fragment"],"mappings":"gMAUA,MAAM,KAAK,GAAG,CAAC,EAAwC,KAAI;QAA5C,EAAE,QAAQ,EAAE,IAAI,EAAA,GAAA,EAAwB,EAAnB,KAAK,GAAA,MAAA,CAAA,EAAA,EAA1B,oBAA4B,CAAF;AACtC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC;AAExC,IAAA,MAAM,KAAK,GAAG,QAAQ,CAACA,GAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAI,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAChC,KAAK,CAAA,EAAA,EACR,cAAc,EAAE,MAAK;YAClB,IAAI,KAAK,aAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,cAAc,EAAE;gBACxB,KAAK,CAAC,cAAc,EAAE;YACzB;QACH,CAAC,EACD,SAAS,EAAE;AACR,YAAA,KAAK,EAAE;AACJ,gBAAA,MAAM,EAAE;oBACL,SAAS,EAAE,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,KAAI;AAC7B;AACH;AACH,SAAA,EAAA,CAAA,CACF;IAEF,SAAS,CAAC,MAAK;QACZ,IAAI,IAAI,EAAE;YACP,KAAK,CAAC,IAAI,EAAE;QACf;aAAO;YACJ,KAAK,CAAC,KAAK,EAAE;QAChB;AACH,IAAA,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACV,IAAA,OAAOD,IAAC,GAAG,EAAA,EAAC,GAAG,EAAE,GAAG,GAAQ;AAC/B;AAEA,MAAM,WAAW,GAAG,CAAC,EAAkC,KAAI;AAAtC,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAwB,EAAnB,KAAK,GAAA,MAAA,CAAA,EAAA,EAApB,YAAsB,CAAF;IACtC,QACGA,IAAC,KAAK,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,KAAK,EAAA,EAAA,QAAA,EACZ,QAAQ,EAAA,CAAA,CACJ;AAEd,CAAC;AAED,KAAK,CAAC,IAAI,GAAG,CAAC,QAAgC,EAAE,KAA6C,KAAI;AAC9F,IAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAkB,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACzC,IAAI,EAAE,IAAI,EAAA,EACP,KAAK,CAAA,EAAA,EACR,QAAQ,EACR,QAAQ,EAAE,MAAK;YACZ,CAAC,CAAC,QAAQ,EAAE;YACZ,IAAI,KAAK,aAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,QAAQ,EAAE;gBAClB,KAAK,CAAC,QAAQ,EAAE;YACnB;AACH,QAAA,CAAC,IACF;IAEF,OAAO;QACJ,IAAI,EAAE,MAAK;YACR,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,EAAE,MAAK;YACT,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACjC,CAAC;KACH;AACJ,CAAC;AAED,KAAK,CAAC,KAAK,GAAG,MAAK;AAChB,IAAA,QAAQ,CAAC,QAAQ,CAAC,WAAkB,CAAC;AACxC,CAAC"}
|
package/NoSSR/index.js
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var React = require('react');
|
|
5
|
-
|
|
6
|
-
const NoSSR = ({ children }) => {
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var React=require('react');const NoSSR = ({ children }) => {
|
|
7
2
|
const [isClient, setIsClient] = React.useState(false);
|
|
8
3
|
React.useEffect(() => {
|
|
9
4
|
setIsClient(true);
|
|
10
5
|
}, []);
|
|
11
6
|
return isClient ? children : null;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
module.exports = NoSSR;
|
|
15
|
-
//# sourceMappingURL=index.js.map
|
|
7
|
+
};exports.default=NoSSR;//# sourceMappingURL=index.js.map
|
package/NoSSR/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/NoSSR/index.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/NoSSR/index.tsx"],"sourcesContent":["\"use client\";\nimport { useEffect, useState } from \"react\";\n\nconst NoSSR = ({ children }: any) => {\n const [isClient, setIsClient] = useState(false);\n useEffect(() => {\n setIsClient(true);\n }, [])\n return isClient ? children : null\n}\n\nexport default NoSSR"],"names":["useState","useEffect"],"mappings":"iGAGA,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAO,KAAI;IAChC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC;IAC/CC,eAAS,CAAC,MAAK;QACX,WAAW,CAAC,IAAI,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC;IACN,OAAO,QAAQ,GAAG,QAAQ,GAAG,IAAI;AACrC"}
|
package/NoSSR/index.mjs
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
|
-
|
|
4
|
-
const NoSSR = ({ children }) => {
|
|
1
|
+
import {useState,useEffect}from'react';const NoSSR = ({ children }) => {
|
|
5
2
|
const [isClient, setIsClient] = useState(false);
|
|
6
3
|
useEffect(() => {
|
|
7
4
|
setIsClient(true);
|
|
8
5
|
}, []);
|
|
9
6
|
return isClient ? children : null;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export { NoSSR as default };
|
|
13
|
-
//# sourceMappingURL=index.mjs.map
|
|
7
|
+
};export{NoSSR as default};//# sourceMappingURL=index.mjs.map
|
package/NoSSR/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/NoSSR/index.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/NoSSR/index.tsx"],"sourcesContent":["\"use client\";\nimport { useEffect, useState } from \"react\";\n\nconst NoSSR = ({ children }: any) => {\n const [isClient, setIsClient] = useState(false);\n useEffect(() => {\n setIsClient(true);\n }, [])\n return isClient ? children : null\n}\n\nexport default NoSSR"],"names":[],"mappings":"uCAGA,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAO,KAAI;IAChC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC/C,SAAS,CAAC,MAAK;QACX,WAAW,CAAC,IAAI,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC;IACN,OAAO,QAAQ,GAAG,QAAQ,GAAG,IAAI;AACrC"}
|
package/Option/index.js
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib = require('tslib');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var React = require('react');
|
|
6
|
-
var index = require('../ListItem/index.js');
|
|
7
|
-
|
|
8
|
-
const Option = React.forwardRef((_a, ref) => {
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),React=require('react'),index=require('../ListItem/index.js');const Option = React.forwardRef((_a, ref) => {
|
|
9
2
|
var { value, children } = _a, props = tslib.__rest(_a, ["value", "children"]);
|
|
10
|
-
return (jsxRuntime.jsx(index, Object.assign({}, props, { ref: ref, children: children })));
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
module.exports = Option;
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
3
|
+
return (jsxRuntime.jsx(index.default, Object.assign({}, props, { ref: ref, children: children })));
|
|
4
|
+
});exports.default=Option;//# sourceMappingURL=index.js.map
|
package/Option/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/Option/index.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/Option/index.tsx"],"sourcesContent":["\nimport React from 'react'\nimport ListItem, { ListItemProps } from '../ListItem'\n\nexport type OptionProps = ListItemProps & {\n value: string | number;\n}\n\nconst Option = React.forwardRef(({ value, children, ...props }: OptionProps, ref: React.Ref<any>) => {\n return (\n <ListItem {...props} ref={ref}>{children}</ListItem>\n )\n})\n\nexport default Option"],"names":["__rest","_jsx","ListItem"],"mappings":"sMAQA,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,EAA0C,EAAE,GAAmB,KAAI;QAAnE,EAAE,KAAK,EAAE,QAAQ,EAAA,GAAA,EAAyB,EAApB,KAAK,GAAAA,YAAA,CAAA,EAAA,EAA3B,qBAA6B,CAAF;AACxD,IAAA,QACIC,cAAA,CAACC,aAAQ,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,KAAK,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAA,CAAY;AAE5D,CAAC"}
|
package/Option/index.mjs
CHANGED
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import ListItem from '../ListItem/index.mjs';
|
|
5
|
-
|
|
6
|
-
const Option = React.forwardRef((_a, ref) => {
|
|
1
|
+
import {__rest}from'tslib';import {jsx}from'react/jsx-runtime';import React from'react';import ListItem from'../ListItem/index.mjs';const Option = React.forwardRef((_a, ref) => {
|
|
7
2
|
var { value, children } = _a, props = __rest(_a, ["value", "children"]);
|
|
8
3
|
return (jsx(ListItem, Object.assign({}, props, { ref: ref, children: children })));
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
export { Option as default };
|
|
12
|
-
//# sourceMappingURL=index.mjs.map
|
|
4
|
+
});export{Option as default};//# sourceMappingURL=index.mjs.map
|
package/Option/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/Option/index.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/Option/index.tsx"],"sourcesContent":["\nimport React from 'react'\nimport ListItem, { ListItemProps } from '../ListItem'\n\nexport type OptionProps = ListItemProps & {\n value: string | number;\n}\n\nconst Option = React.forwardRef(({ value, children, ...props }: OptionProps, ref: React.Ref<any>) => {\n return (\n <ListItem {...props} ref={ref}>{children}</ListItem>\n )\n})\n\nexport default Option"],"names":["_jsx"],"mappings":"oIAQA,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,EAA0C,EAAE,GAAmB,KAAI;QAAnE,EAAE,KAAK,EAAE,QAAQ,EAAA,GAAA,EAAyB,EAApB,KAAK,GAAA,MAAA,CAAA,EAAA,EAA3B,qBAA6B,CAAF;AACxD,IAAA,QACIA,GAAA,CAAC,QAAQ,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,KAAK,EAAA,EAAE,GAAG,EAAE,GAAG,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAA,CAAY;AAE5D,CAAC"}
|
package/Paper/index.js
CHANGED
|
@@ -1,15 +1,5 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib = require('tslib');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var React = require('react');
|
|
6
|
-
var core = require('@xanui/core');
|
|
7
|
-
|
|
8
|
-
const Paper = React.forwardRef((_a, ref) => {
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),React=require('react'),core=require('@xanui/core');const Paper = React.forwardRef((_a, ref) => {
|
|
9
2
|
var { children } = _a, rest = tslib.__rest(_a, ["children"]);
|
|
10
3
|
let [props] = core.useInterface("default", rest, {});
|
|
11
4
|
return (jsxRuntime.jsx(core.Tag, Object.assign({}, props, { sxr: Object.assign({ radius: 1, p: 1.5, bgcolor: "background.secondary", color: "text.primary" }, props === null || props === void 0 ? void 0 : props.sx), baseClass: 'default', ref: ref, children: children })));
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
module.exports = Paper;
|
|
15
|
-
//# sourceMappingURL=index.js.map
|
|
5
|
+
});exports.default=Paper;//# sourceMappingURL=index.js.map
|
package/Paper/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/Paper/index.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/Paper/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useInterface } from '@xanui/core';\n\nexport type PaperProps<T extends TagComponentType = \"div\"> = TagProps<T>\n\nconst Paper = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...rest }: PaperProps<T>, ref?: React.Ref<any>) => {\n let [props] = useInterface<any>(\"default\", rest, {})\n return (\n <Tag\n {...props}\n sxr={{\n radius: 1,\n p: 1.5,\n bgcolor: \"background.secondary\",\n color: \"text.primary\",\n ...props?.sx\n }}\n baseClass='default'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Paper\n"],"names":["__rest","useInterface","_jsx","Tag"],"mappings":"4LAMA,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAoC,EAAE,GAAoB,KAAI;AAA9D,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA0B,EAArB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;AACnF,IAAA,IAAI,CAAC,KAAK,CAAC,GAAGC,iBAAY,CAAM,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;AACpD,IAAA,QACIC,cAAA,CAACC,QAAG,oBACI,KAAK,EAAA,EACT,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACC,MAAM,EAAE,CAAC,EACT,CAAC,EAAE,GAAG,EACN,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,cAAc,EAAA,EAClB,KAAK,KAAA,IAAA,IAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAA,EAEhB,SAAS,EAAC,SAAS,EACnB,GAAG,EAAE,GAAG,YACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC"}
|
package/Paper/index.mjs
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { useInterface, Tag } from '@xanui/core';
|
|
5
|
-
|
|
6
|
-
const Paper = React.forwardRef((_a, ref) => {
|
|
1
|
+
import {__rest}from'tslib';import {jsx}from'react/jsx-runtime';import React from'react';import {useInterface,Tag}from'@xanui/core';const Paper = React.forwardRef((_a, ref) => {
|
|
7
2
|
var { children } = _a, rest = __rest(_a, ["children"]);
|
|
8
3
|
let [props] = useInterface("default", rest, {});
|
|
9
4
|
return (jsx(Tag, Object.assign({}, props, { sxr: Object.assign({ radius: 1, p: 1.5, bgcolor: "background.secondary", color: "text.primary" }, props === null || props === void 0 ? void 0 : props.sx), baseClass: 'default', ref: ref, children: children })));
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
export { Paper as default };
|
|
13
|
-
//# sourceMappingURL=index.mjs.map
|
|
5
|
+
});export{Paper as default};//# sourceMappingURL=index.mjs.map
|
package/Paper/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/Paper/index.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/Paper/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useInterface } from '@xanui/core';\n\nexport type PaperProps<T extends TagComponentType = \"div\"> = TagProps<T>\n\nconst Paper = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...rest }: PaperProps<T>, ref?: React.Ref<any>) => {\n let [props] = useInterface<any>(\"default\", rest, {})\n return (\n <Tag\n {...props}\n sxr={{\n radius: 1,\n p: 1.5,\n bgcolor: \"background.secondary\",\n color: \"text.primary\",\n ...props?.sx\n }}\n baseClass='default'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Paper\n"],"names":["_jsx"],"mappings":"mIAMA,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAoC,EAAE,GAAoB,KAAI;AAA9D,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA0B,EAArB,IAAI,GAAA,MAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;AACnF,IAAA,IAAI,CAAC,KAAK,CAAC,GAAG,YAAY,CAAM,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;AACpD,IAAA,QACIA,GAAA,CAAC,GAAG,oBACI,KAAK,EAAA,EACT,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACC,MAAM,EAAE,CAAC,EACT,CAAC,EAAE,GAAG,EACN,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,cAAc,EAAA,EAClB,KAAK,KAAA,IAAA,IAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAA,EAEhB,SAAS,EAAC,SAAS,EACnB,GAAG,EAAE,GAAG,YACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC"}
|
package/Portal/index.js
CHANGED
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var React = require('react');
|
|
6
|
-
var ReactDOM = require('react-dom');
|
|
7
|
-
var core = require('@xanui/core');
|
|
8
|
-
|
|
9
|
-
const Portal = ({ children, appendTo, container }) => {
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var jsxRuntime=require('react/jsx-runtime'),React=require('react'),ReactDOM=require('react-dom'),core=require('@xanui/core');const Portal = ({ children, appendTo, container }) => {
|
|
10
2
|
const theme = core.useTheme();
|
|
11
3
|
appendTo = appendTo || document.body;
|
|
12
4
|
const c = React.useMemo(() => {
|
|
@@ -21,7 +13,4 @@ const Portal = ({ children, appendTo, container }) => {
|
|
|
21
13
|
};
|
|
22
14
|
}, []);
|
|
23
15
|
return ReactDOM.createPortal(jsxRuntime.jsx(core.ThemeProvider, { theme: theme.name, children: children }), c);
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
module.exports = Portal;
|
|
27
|
-
//# sourceMappingURL=index.js.map
|
|
16
|
+
};exports.default=Portal;//# sourceMappingURL=index.js.map
|
package/Portal/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/Portal/index.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/Portal/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useMemo } from 'react'\nimport ReactDOM from 'react-dom';\nimport { useTheme, ThemeProvider } from '@xanui/core';\nexport type PortalProps = {\n children?: React.ReactNode;\n appendTo?: HTMLElement;\n container?: HTMLElement;\n}\n\nconst Portal = ({ children, appendTo, container }: PortalProps) => {\n const theme = useTheme()\n appendTo = appendTo || document.body\n\n const c = useMemo(() => {\n let _con: HTMLElement = container || document.createElement(\"div\");\n appendTo.appendChild(_con);\n _con.className = \"xui-portal\"\n return _con\n }, [])\n\n useEffect(() => {\n return () => {\n (appendTo as any).removeChild(c);\n }\n }, [])\n\n return ReactDOM.createPortal(\n <ThemeProvider theme={theme.name}>\n {children}\n </ThemeProvider>,\n c,\n );\n}\n\nexport default Portal"],"names":["useTheme","useMemo","useEffect","_jsx","ThemeProvider"],"mappings":"mMAUA,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAe,KAAI;AAC9D,IAAA,MAAM,KAAK,GAAGA,aAAQ,EAAE;AACxB,IAAA,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI;AAEpC,IAAA,MAAM,CAAC,GAAGC,aAAO,CAAC,MAAK;QACnB,IAAI,IAAI,GAAgB,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAClE,QAAA,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,YAAY;AAC7B,QAAA,OAAO,IAAI;IACf,CAAC,EAAE,EAAE,CAAC;IAENC,eAAS,CAAC,MAAK;AACX,QAAA,OAAO,MAAK;AACP,YAAA,QAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;AACpC,QAAA,CAAC;IACL,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,QAAQ,CAAC,YAAY,CACxBC,cAAA,CAACC,kBAAa,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAA,QAAA,EAC3B,QAAQ,GACG,EAChB,CAAC,CACJ;AACL"}
|
package/Portal/index.mjs
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { useMemo, useEffect } from 'react';
|
|
4
|
-
import ReactDOM from 'react-dom';
|
|
5
|
-
import { useTheme, ThemeProvider } from '@xanui/core';
|
|
6
|
-
|
|
7
|
-
const Portal = ({ children, appendTo, container }) => {
|
|
1
|
+
import {jsx}from'react/jsx-runtime';import {useMemo,useEffect}from'react';import ReactDOM from'react-dom';import {useTheme,ThemeProvider}from'@xanui/core';const Portal = ({ children, appendTo, container }) => {
|
|
8
2
|
const theme = useTheme();
|
|
9
3
|
appendTo = appendTo || document.body;
|
|
10
4
|
const c = useMemo(() => {
|
|
@@ -19,7 +13,4 @@ const Portal = ({ children, appendTo, container }) => {
|
|
|
19
13
|
};
|
|
20
14
|
}, []);
|
|
21
15
|
return ReactDOM.createPortal(jsx(ThemeProvider, { theme: theme.name, children: children }), c);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export { Portal as default };
|
|
25
|
-
//# sourceMappingURL=index.mjs.map
|
|
16
|
+
};export{Portal as default};//# sourceMappingURL=index.mjs.map
|
package/Portal/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/Portal/index.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/Portal/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useMemo } from 'react'\nimport ReactDOM from 'react-dom';\nimport { useTheme, ThemeProvider } from '@xanui/core';\nexport type PortalProps = {\n children?: React.ReactNode;\n appendTo?: HTMLElement;\n container?: HTMLElement;\n}\n\nconst Portal = ({ children, appendTo, container }: PortalProps) => {\n const theme = useTheme()\n appendTo = appendTo || document.body\n\n const c = useMemo(() => {\n let _con: HTMLElement = container || document.createElement(\"div\");\n appendTo.appendChild(_con);\n _con.className = \"xui-portal\"\n return _con\n }, [])\n\n useEffect(() => {\n return () => {\n (appendTo as any).removeChild(c);\n }\n }, [])\n\n return ReactDOM.createPortal(\n <ThemeProvider theme={theme.name}>\n {children}\n </ThemeProvider>,\n c,\n );\n}\n\nexport default Portal"],"names":["_jsx"],"mappings":"2JAUA,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAe,KAAI;AAC9D,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE;AACxB,IAAA,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI;AAEpC,IAAA,MAAM,CAAC,GAAG,OAAO,CAAC,MAAK;QACnB,IAAI,IAAI,GAAgB,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAClE,QAAA,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,YAAY;AAC7B,QAAA,OAAO,IAAI;IACf,CAAC,EAAE,EAAE,CAAC;IAEN,SAAS,CAAC,MAAK;AACX,QAAA,OAAO,MAAK;AACP,YAAA,QAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;AACpC,QAAA,CAAC;IACL,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,QAAQ,CAAC,YAAY,CACxBA,GAAA,CAAC,aAAa,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAA,QAAA,EAC3B,QAAQ,GACG,EAChB,CAAC,CACJ;AACL"}
|
package/Radio/index.js
CHANGED
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var core = require('@xanui/core');
|
|
6
|
-
var CheckIcon = require('@xanui/icons/RadioButtonChecked');
|
|
7
|
-
var UnCheckIcon = require('@xanui/icons/RadioButtonUnchecked');
|
|
8
|
-
var index = require('../Checkbox/index.js');
|
|
9
|
-
|
|
10
|
-
const Radio = React.forwardRef((props, ref) => {
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var jsxRuntime=require('react/jsx-runtime'),React=require('react'),core=require('@xanui/core'),CheckIcon=require('@xanui/icons/RadioButtonChecked'),UnCheckIcon=require('@xanui/icons/RadioButtonUnchecked'),index=require('../Checkbox/index.js');const Radio = React.forwardRef((props, ref) => {
|
|
11
2
|
let [rest] = core.useInterface("Radio", props, {});
|
|
12
|
-
return jsxRuntime.jsx(index, Object.assign({ checkIcon: jsxRuntime.jsx(CheckIcon, {}), uncheckIcon: jsxRuntime.jsx(UnCheckIcon, {}) }, rest, { type: "radio", ref: ref, classNames: ['radio', ...((rest === null || rest === void 0 ? void 0 : rest.classNames) || [])] }));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
module.exports = Radio;
|
|
16
|
-
//# sourceMappingURL=index.js.map
|
|
3
|
+
return jsxRuntime.jsx(index.default, Object.assign({ checkIcon: jsxRuntime.jsx(CheckIcon, {}), uncheckIcon: jsxRuntime.jsx(UnCheckIcon, {}) }, rest, { type: "radio", ref: ref, classNames: ['radio', ...((rest === null || rest === void 0 ? void 0 : rest.classNames) || [])] }));
|
|
4
|
+
});exports.default=Radio;//# sourceMappingURL=index.js.map
|
package/Radio/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/Radio/index.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/Radio/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { useInterface } from '@xanui/core';\nimport CheckIcon from '@xanui/icons/RadioButtonChecked'\nimport UnCheckIcon from '@xanui/icons/RadioButtonUnchecked'\nimport Checkbox, { CheckboxProps } from '../Checkbox';\n\nexport type RadioProps = CheckboxProps\nconst Radio = React.forwardRef((props: RadioProps, ref?: React.Ref<any>) => {\n let [rest] = useInterface<any>(\"Radio\", props, {})\n return <Checkbox\n checkIcon={<CheckIcon />}\n uncheckIcon={<UnCheckIcon />}\n {...rest}\n type=\"radio\"\n ref={ref}\n classNames={['radio', ...(rest?.classNames || [])]}\n />\n})\n\nexport default Radio\n"],"names":["useInterface","_jsx","Checkbox"],"mappings":"yTAQA,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAiB,EAAE,GAAoB,KAAI;AACvE,IAAA,IAAI,CAAC,IAAI,CAAC,GAAGA,iBAAY,CAAM,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IAClD,OAAOC,cAAA,CAACC,aAAQ,EAAA,MAAA,CAAA,MAAA,CAAA,EACZ,SAAS,EAAED,cAAA,CAAC,SAAS,KAAG,EACxB,WAAW,EAAEA,cAAA,CAAC,WAAW,KAAG,EAAA,EACxB,IAAI,IACR,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAA,IAAI,aAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,UAAU,KAAI,EAAE,CAAC,CAAC,EAAA,CAAA,CACpD;AACN,CAAC"}
|
package/Radio/index.mjs
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { useInterface } from '@xanui/core';
|
|
4
|
-
import CheckIcon from '@xanui/icons/RadioButtonChecked';
|
|
5
|
-
import UnCheckIcon from '@xanui/icons/RadioButtonUnchecked';
|
|
6
|
-
import Checkbox from '../Checkbox/index.mjs';
|
|
7
|
-
|
|
8
|
-
const Radio = React.forwardRef((props, ref) => {
|
|
1
|
+
import {jsx}from'react/jsx-runtime';import React from'react';import {useInterface}from'@xanui/core';import CheckIcon from'@xanui/icons/RadioButtonChecked';import UnCheckIcon from'@xanui/icons/RadioButtonUnchecked';import Checkbox from'../Checkbox/index.mjs';const Radio = React.forwardRef((props, ref) => {
|
|
9
2
|
let [rest] = useInterface("Radio", props, {});
|
|
10
3
|
return jsx(Checkbox, Object.assign({ checkIcon: jsx(CheckIcon, {}), uncheckIcon: jsx(UnCheckIcon, {}) }, rest, { type: "radio", ref: ref, classNames: ['radio', ...((rest === null || rest === void 0 ? void 0 : rest.classNames) || [])] }));
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
export { Radio as default };
|
|
14
|
-
//# sourceMappingURL=index.mjs.map
|
|
4
|
+
});export{Radio as default};//# sourceMappingURL=index.mjs.map
|
package/Radio/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/Radio/index.tsx"],"sourcesContent":["\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/Radio/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { useInterface } from '@xanui/core';\nimport CheckIcon from '@xanui/icons/RadioButtonChecked'\nimport UnCheckIcon from '@xanui/icons/RadioButtonUnchecked'\nimport Checkbox, { CheckboxProps } from '../Checkbox';\n\nexport type RadioProps = CheckboxProps\nconst Radio = React.forwardRef((props: RadioProps, ref?: React.Ref<any>) => {\n let [rest] = useInterface<any>(\"Radio\", props, {})\n return <Checkbox\n checkIcon={<CheckIcon />}\n uncheckIcon={<UnCheckIcon />}\n {...rest}\n type=\"radio\"\n ref={ref}\n classNames={['radio', ...(rest?.classNames || [])]}\n />\n})\n\nexport default Radio\n"],"names":["_jsx"],"mappings":"kQAQA,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAiB,EAAE,GAAoB,KAAI;AACvE,IAAA,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAM,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IAClD,OAAOA,GAAA,CAAC,QAAQ,EAAA,MAAA,CAAA,MAAA,CAAA,EACZ,SAAS,EAAEA,GAAA,CAAC,SAAS,KAAG,EACxB,WAAW,EAAEA,GAAA,CAAC,WAAW,KAAG,EAAA,EACxB,IAAI,IACR,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAA,IAAI,aAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,UAAU,KAAI,EAAE,CAAC,CAAC,EAAA,CAAA,CACpD;AACN,CAAC"}
|
package/Scrollbar/index.js
CHANGED
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var tslib = require('tslib');
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var core = require('@xanui/core');
|
|
7
|
-
var React = require('react');
|
|
8
|
-
|
|
9
|
-
const Scrollbar = React.forwardRef((_a, ref) => {
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),core=require('@xanui/core'),React=require('react');const Scrollbar = React.forwardRef((_a, ref) => {
|
|
10
2
|
var { children } = _a, rest = tslib.__rest(_a, ["children"]);
|
|
11
3
|
let [_b] = core.useInterface("Scrollbar", rest, {}), { onScroll, onScrollEnd } = _b, props = tslib.__rest(_b, ["onScroll", "onScrollEnd"]);
|
|
12
4
|
const innerRef = React.useRef(null);
|
|
@@ -53,7 +45,4 @@ const Scrollbar = React.forwardRef((_a, ref) => {
|
|
|
53
45
|
width: "100%",
|
|
54
46
|
overflow: "auto",
|
|
55
47
|
}, children: children })));
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
module.exports = Scrollbar;
|
|
59
|
-
//# sourceMappingURL=index.js.map
|
|
48
|
+
});exports.default=Scrollbar;//# sourceMappingURL=index.js.map
|
package/Scrollbar/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/Scrollbar/index.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/Scrollbar/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tag, TagComponentType, TagProps, useInterface } from '@xanui/core';\nimport React, { ReactNode, UIEvent, useImperativeHandle, useRef } from 'react'\n\nexport type ScrollbarProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\n children?: ReactNode;\n onScrollEnd?: (e: UIEvent<HTMLDivElement>) => void;\n}\n\nexport type ScrollbarHandle = {\n scrollTo: (pos: number) => void;\n scrollToBottom: () => void;\n scrollToTop: () => void;\n};\n\nconst Scrollbar = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...rest }: ScrollbarProps<T>, ref: React.Ref<ScrollbarHandle>) => {\n let [{ onScroll, onScrollEnd, ...props }] = useInterface<any>(\"Scrollbar\", rest, {})\n const innerRef = useRef<HTMLDivElement>(null);\n\n useImperativeHandle(ref, () => ({\n scrollTo(pos: number) {\n innerRef.current?.scrollTo({\n top: pos,\n behavior: \"smooth\"\n });\n },\n scrollToBottom() {\n if (!innerRef.current) return;\n const ele = innerRef.current;\n ele.scrollTo({\n top: ele.scrollHeight,\n behavior: \"smooth\"\n });\n },\n scrollToTop() {\n innerRef.current?.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n }\n }));\n\n if (onScroll || onScrollEnd) {\n props.onScroll = (e: UIEvent<HTMLDivElement>) => {\n if (onScrollEnd) {\n const ele: any = e.target\n const scrollTop = ele.scrollTop\n const scrollHeight = ele.scrollHeight\n const clientHeight = ele.clientHeight\n const isScrollDown = scrollHeight - scrollTop <= clientHeight + 1\n isScrollDown && onScrollEnd(e)\n }\n onScroll && onScroll(e)\n }\n }\n\n return (\n <Tag\n {...props}\n ref={innerRef}\n baseClass='scrollbar'\n sxr={{\n height: \"100%\",\n width: \"100%\",\n overflow: \"auto\",\n }}\n >\n {children}\n </Tag>\n )\n})\n\nexport default Scrollbar "],"names":["__rest","useInterface","useRef","useImperativeHandle","_jsx","Tag"],"mappings":"4LAgBA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAwC,EAAE,GAA+B,KAAI;AAA7E,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IACvF,IAAI,CAAA,EAAA,CAAA,GAAwCC,iBAAY,CAAM,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,EAA/E,EAAE,QAAQ,EAAE,WAAW,EAAA,GAAA,EAAY,EAAP,KAAK,GAAAD,YAAA,CAAA,EAAA,EAAjC,CAAA,UAAA,EAAA,aAAA,CAAmC,CAA4C;AACpF,IAAA,MAAM,QAAQ,GAAGE,YAAM,CAAiB,IAAI,CAAC;AAE7C,IAAAC,yBAAmB,CAAC,GAAG,EAAE,OAAO;AAC5B,QAAA,QAAQ,CAAC,GAAW,EAAA;;AAChB,YAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,CAAC;AACvB,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,QAAQ,EAAE;AACb,aAAA,CAAC;QACN,CAAC;QACD,cAAc,GAAA;YACV,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE;AACvB,YAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO;YAC5B,GAAG,CAAC,QAAQ,CAAC;gBACT,GAAG,EAAE,GAAG,CAAC,YAAY;AACrB,gBAAA,QAAQ,EAAE;AACb,aAAA,CAAC;QACN,CAAC;QACD,WAAW,GAAA;;AACP,YAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,CAAC;AACvB,gBAAA,GAAG,EAAE,CAAC;AACN,gBAAA,QAAQ,EAAE;AACb,aAAA,CAAC;QACN;AACH,KAAA,CAAC,CAAC;AAEH,IAAA,IAAI,QAAQ,IAAI,WAAW,EAAE;AACzB,QAAA,KAAK,CAAC,QAAQ,GAAG,CAAC,CAA0B,KAAI;YAC5C,IAAI,WAAW,EAAE;AACb,gBAAA,MAAM,GAAG,GAAQ,CAAC,CAAC,MAAM;AACzB,gBAAA,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS;AAC/B,gBAAA,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY;AACrC,gBAAA,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY;gBACrC,MAAM,YAAY,GAAG,YAAY,GAAG,SAAS,IAAI,YAAY,GAAG,CAAC;AACjE,gBAAA,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC;YAClC;AACA,YAAA,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC;AAC3B,QAAA,CAAC;IACL;AAEA,IAAA,QACIC,cAAA,CAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,KAAK,EAAA,EACT,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,WAAW,EACrB,GAAG,EAAE;AACD,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,QAAQ,EAAE,MAAM;SACnB,EAAA,QAAA,EAEA,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC"}
|
package/Scrollbar/index.mjs
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { __rest } from 'tslib';
|
|
3
|
-
import { jsx } from 'react/jsx-runtime';
|
|
4
|
-
import { useInterface, Tag } from '@xanui/core';
|
|
5
|
-
import React, { useRef, useImperativeHandle } from 'react';
|
|
6
|
-
|
|
7
|
-
const Scrollbar = React.forwardRef((_a, ref) => {
|
|
1
|
+
import {__rest}from'tslib';import {jsx}from'react/jsx-runtime';import {useInterface,Tag}from'@xanui/core';import React,{useRef,useImperativeHandle}from'react';const Scrollbar = React.forwardRef((_a, ref) => {
|
|
8
2
|
var { children } = _a, rest = __rest(_a, ["children"]);
|
|
9
3
|
let [_b] = useInterface("Scrollbar", rest, {}), { onScroll, onScrollEnd } = _b, props = __rest(_b, ["onScroll", "onScrollEnd"]);
|
|
10
4
|
const innerRef = useRef(null);
|
|
@@ -51,7 +45,4 @@ const Scrollbar = React.forwardRef((_a, ref) => {
|
|
|
51
45
|
width: "100%",
|
|
52
46
|
overflow: "auto",
|
|
53
47
|
}, children: children })));
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
export { Scrollbar as default };
|
|
57
|
-
//# sourceMappingURL=index.mjs.map
|
|
48
|
+
});export{Scrollbar as default};//# sourceMappingURL=index.mjs.map
|
package/Scrollbar/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/Scrollbar/index.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/Scrollbar/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tag, TagComponentType, TagProps, useInterface } from '@xanui/core';\nimport React, { ReactNode, UIEvent, useImperativeHandle, useRef } from 'react'\n\nexport type ScrollbarProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\n children?: ReactNode;\n onScrollEnd?: (e: UIEvent<HTMLDivElement>) => void;\n}\n\nexport type ScrollbarHandle = {\n scrollTo: (pos: number) => void;\n scrollToBottom: () => void;\n scrollToTop: () => void;\n};\n\nconst Scrollbar = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...rest }: ScrollbarProps<T>, ref: React.Ref<ScrollbarHandle>) => {\n let [{ onScroll, onScrollEnd, ...props }] = useInterface<any>(\"Scrollbar\", rest, {})\n const innerRef = useRef<HTMLDivElement>(null);\n\n useImperativeHandle(ref, () => ({\n scrollTo(pos: number) {\n innerRef.current?.scrollTo({\n top: pos,\n behavior: \"smooth\"\n });\n },\n scrollToBottom() {\n if (!innerRef.current) return;\n const ele = innerRef.current;\n ele.scrollTo({\n top: ele.scrollHeight,\n behavior: \"smooth\"\n });\n },\n scrollToTop() {\n innerRef.current?.scrollTo({\n top: 0,\n behavior: \"smooth\"\n });\n }\n }));\n\n if (onScroll || onScrollEnd) {\n props.onScroll = (e: UIEvent<HTMLDivElement>) => {\n if (onScrollEnd) {\n const ele: any = e.target\n const scrollTop = ele.scrollTop\n const scrollHeight = ele.scrollHeight\n const clientHeight = ele.clientHeight\n const isScrollDown = scrollHeight - scrollTop <= clientHeight + 1\n isScrollDown && onScrollEnd(e)\n }\n onScroll && onScroll(e)\n }\n }\n\n return (\n <Tag\n {...props}\n ref={innerRef}\n baseClass='scrollbar'\n sxr={{\n height: \"100%\",\n width: \"100%\",\n overflow: \"auto\",\n }}\n >\n {children}\n </Tag>\n )\n})\n\nexport default Scrollbar "],"names":["_jsx"],"mappings":"+JAgBA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAwC,EAAE,GAA+B,KAAI;AAA7E,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAA,MAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IACvF,IAAI,CAAA,EAAA,CAAA,GAAwC,YAAY,CAAM,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,EAA/E,EAAE,QAAQ,EAAE,WAAW,EAAA,GAAA,EAAY,EAAP,KAAK,GAAA,MAAA,CAAA,EAAA,EAAjC,CAAA,UAAA,EAAA,aAAA,CAAmC,CAA4C;AACpF,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC;AAE7C,IAAA,mBAAmB,CAAC,GAAG,EAAE,OAAO;AAC5B,QAAA,QAAQ,CAAC,GAAW,EAAA;;AAChB,YAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,CAAC;AACvB,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,QAAQ,EAAE;AACb,aAAA,CAAC;QACN,CAAC;QACD,cAAc,GAAA;YACV,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE;AACvB,YAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO;YAC5B,GAAG,CAAC,QAAQ,CAAC;gBACT,GAAG,EAAE,GAAG,CAAC,YAAY;AACrB,gBAAA,QAAQ,EAAE;AACb,aAAA,CAAC;QACN,CAAC;QACD,WAAW,GAAA;;AACP,YAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,CAAC;AACvB,gBAAA,GAAG,EAAE,CAAC;AACN,gBAAA,QAAQ,EAAE;AACb,aAAA,CAAC;QACN;AACH,KAAA,CAAC,CAAC;AAEH,IAAA,IAAI,QAAQ,IAAI,WAAW,EAAE;AACzB,QAAA,KAAK,CAAC,QAAQ,GAAG,CAAC,CAA0B,KAAI;YAC5C,IAAI,WAAW,EAAE;AACb,gBAAA,MAAM,GAAG,GAAQ,CAAC,CAAC,MAAM;AACzB,gBAAA,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS;AAC/B,gBAAA,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY;AACrC,gBAAA,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY;gBACrC,MAAM,YAAY,GAAG,YAAY,GAAG,SAAS,IAAI,YAAY,GAAG,CAAC;AACjE,gBAAA,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC;YAClC;AACA,YAAA,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC;AAC3B,QAAA,CAAC;IACL;AAEA,IAAA,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,KAAK,EAAA,EACT,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,WAAW,EACrB,GAAG,EAAE;AACD,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,QAAQ,EAAE,MAAM;SACnB,EAAA,QAAA,EAEA,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC"}
|
package/Select/index.js
CHANGED
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var tslib = require('tslib');
|
|
5
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var index = require('../Input/index.js');
|
|
8
|
-
var index$3 = require('../List/index.js');
|
|
9
|
-
var index$2 = require('../Menu/index.js');
|
|
10
|
-
var index$1 = require('../Stack/index.js');
|
|
11
|
-
var DownIcon = require('@xanui/icons/KeyboardArrowDown');
|
|
12
|
-
var UpIcon = require('@xanui/icons/KeyboardArrowUp');
|
|
13
|
-
var core = require('@xanui/core');
|
|
14
|
-
|
|
15
|
-
const Select = React.forwardRef((_a, ref) => {
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),React=require('react'),index=require('../Input/index.js'),index$3=require('../List/index.js'),index$2=require('../Menu/index.js'),index$1=require('../Stack/index.js'),DownIcon=require('@xanui/icons/KeyboardArrowDown'),UpIcon=require('@xanui/icons/KeyboardArrowUp'),core=require('@xanui/core');const Select = React.forwardRef((_a, ref) => {
|
|
16
2
|
var _b, _c, _d, _e;
|
|
17
3
|
var { onChange, value, children } = _a, props = tslib.__rest(_a, ["onChange", "value", "children"]);
|
|
18
4
|
let [{ slotProps, color, variant, placeholder }] = core.useInterface("Select", props, {});
|
|
@@ -41,12 +27,9 @@ const Select = React.forwardRef((_a, ref) => {
|
|
|
41
27
|
};
|
|
42
28
|
}, [children, value]);
|
|
43
29
|
const toggleMenu = () => setTarget(target ? null : conRef.current);
|
|
44
|
-
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(index, Object.assign({ color: color, variant: variant === "soft" ? "fill" : variant, endIcon: jsxRuntime.jsxs(index$1, { flexDirection: "row", component: "span", children: [" ", (target ? jsxRuntime.jsx(UpIcon, {}) : jsxRuntime.jsx(DownIcon, {}))] }), readOnly: true, value: typeof selectedProps.children === 'string' ? selectedProps.children : value, cursor: "pointer", userSelect: "none", startIcon: selectedProps.startIcon, focused: !!target, placeholder: placeholder }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.input, { slotProps: {
|
|
30
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(index.default, Object.assign({ color: color, variant: variant === "soft" ? "fill" : variant, endIcon: jsxRuntime.jsxs(index$1.default, { flexDirection: "row", component: "span", children: [" ", (target ? jsxRuntime.jsx(UpIcon, {}) : jsxRuntime.jsx(DownIcon, {}))] }), readOnly: true, value: typeof selectedProps.children === 'string' ? selectedProps.children : value, cursor: "pointer", userSelect: "none", startIcon: selectedProps.startIcon, focused: !!target, placeholder: placeholder }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.input, { slotProps: {
|
|
45
31
|
container: Object.assign(Object.assign({ cursor: "pointer", userSelect: "none" }, (((_c = (_b = slotProps === null || slotProps === void 0 ? void 0 : slotProps.input) === null || _b === void 0 ? void 0 : _b.slotProps) === null || _c === void 0 ? void 0 : _c.container) || {})), { onClick: toggleMenu })
|
|
46
|
-
}, containerRef: conRef, ref: ref })), jsxRuntime.jsx(index$2, Object.assign({ target: target, placement: "bottom" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.menu, { slotProps: {
|
|
32
|
+
}, containerRef: conRef, ref: ref })), jsxRuntime.jsx(index$2.default, Object.assign({ target: target, placement: "bottom" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.menu, { slotProps: {
|
|
47
33
|
content: Object.assign({ mt: .5, width: conRef && ((_d = conRef === null || conRef === void 0 ? void 0 : conRef.current) === null || _d === void 0 ? void 0 : _d.clientWidth) }, (_e = slotProps === null || slotProps === void 0 ? void 0 : slotProps.menu) === null || _e === void 0 ? void 0 : _e.content)
|
|
48
|
-
}, onClickOutside: toggleMenu, children: jsxRuntime.jsx(index$3, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.list, { color: color, variant: variant, children: childs })) }))] }));
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
module.exports = Select;
|
|
52
|
-
//# sourceMappingURL=index.js.map
|
|
34
|
+
}, onClickOutside: toggleMenu, children: jsxRuntime.jsx(index$3.default, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.list, { color: color, variant: variant, children: childs })) }))] }));
|
|
35
|
+
});exports.default=Select;//# sourceMappingURL=index.js.map
|