@yamada-ui/react
Version:
React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion
1 lines • 1.94 kB
Source Map (JSON)
{"version":3,"file":"button-group.cjs","names":["ButtonPropsContext","IconButtonPropsContext","Group"],"sources":["../../../../src/components/button/button-group.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Component, ThemeProps, WithoutThemeProps } from \"../../core\"\nimport type { GroupProps } from \"../group\"\nimport type { ButtonProps } from \"./button\"\nimport type { ButtonStyle } from \"./button.style\"\nimport { useMemo } from \"react\"\nimport { Group } from \"../group\"\nimport { ButtonPropsContext } from \"./button\"\nimport { IconButtonPropsContext } from \"./icon-button\"\n\nexport interface ButtonGroupRootProps\n extends WithoutThemeProps<GroupProps, ButtonStyle>,\n ThemeProps<ButtonStyle> {\n /**\n * If `true`, all wrapped button will be disabled.\n *\n * @default false\n */\n disabled?: boolean\n}\n\n/**\n * `Button` is an interactive component that allows users to perform actions such as submitting forms and toggling modals.\n *\n * @see https://yamada-ui.com/docs/components/button\n */\nexport const ButtonGroupRoot = (({\n size,\n variant,\n attached,\n disabled,\n ...rest\n}: ButtonGroupRootProps) => {\n const context = useMemo<ButtonProps>(\n () => ({\n size,\n variant,\n disabled,\n focusVisibleRing: attached ? \"inside\" : undefined,\n }),\n [size, variant, disabled, attached],\n )\n\n return (\n <ButtonPropsContext value={context}>\n <IconButtonPropsContext value={context}>\n <Group attached={attached} {...rest} />\n </IconButtonPropsContext>\n </ButtonPropsContext>\n )\n}) as Component<\"div\", ButtonGroupRootProps>\n"],"mappings":";;;;;;;;;;;;;;;;;;AA2BA,MAAa,oBAAoB,EAC/B,MACA,SACA,UACA,SACA,GAAG,WACuB;CAC1B,MAAM,oCACG;EACL;EACA;EACA;EACA,kBAAkB,WAAW,WAAW;EACzC,GACD;EAAC;EAAM;EAAS;EAAU;EAAS,CACpC;AAED,QACE,2CAACA;EAAmB,OAAO;YACzB,2CAACC;GAAuB,OAAO;aAC7B,2CAACC;IAAgB;IAAU,GAAI;KAAQ;IAChB;GACN"}