@webiny/admin-ui 6.2.0-beta.0 → 6.3.0-beta.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/Accordion/Accordion.d.ts +1 -1
- package/Accordion/Accordion.mdx +437 -463
- package/Accordion/components/AccordionContent.js.map +1 -1
- package/Alert/Alert.d.ts +1 -1
- package/Alert/Alert.js.map +1 -1
- package/Alert/Alert.mdx +80 -83
- package/AutoComplete/AutoComplete.mdx +63 -55
- package/Avatar/Avatar.d.ts +1 -1
- package/Avatar/Avatar.js.map +1 -1
- package/Avatar/Avatar.mdx +52 -43
- package/Button/Button.d.ts +1 -1
- package/Button/Button.js.map +1 -1
- package/Button/Button.mdx +50 -42
- package/Button/IconButton.d.ts +1 -1
- package/Button/IconButton.js.map +1 -1
- package/Card/components/CardContent.d.ts +1 -1
- package/Card/components/CardTitle.d.ts +1 -1
- package/Checkbox/Checkbox.mdx +51 -49
- package/Checkbox/primitives/CheckboxPrimitive.d.ts +1 -1
- package/CheckboxGroup/CheckboxGroup.mdx +51 -53
- package/CodeEditor/CodeEditor.mdx +44 -43
- package/ColorPicker/ColorPicker.mdx +41 -40
- package/Command/components/Item.d.ts +1 -1
- package/Command/components/Item.js.map +1 -1
- package/DataTable/DataTable.mdx +537 -542
- package/DataTable/components/ColumnSorter.d.ts +1 -1
- package/DataTable/components/ColumnSorter.js.map +1 -1
- package/Dialog/Dialog.js.map +1 -1
- package/Dialog/components/DialogContent.d.ts +1 -1
- package/Dialog/components/DialogContent.js +1 -1
- package/Dialog/components/DialogContent.js.map +1 -1
- package/Dialog/components/DialogFooter.d.ts +1 -1
- package/Dialog/components/DialogFooter.js.map +1 -1
- package/Dialog/components/DialogTitle.d.ts +1 -1
- package/Drawer/Drawer.js.map +1 -1
- package/Drawer/Drawer.mdx +73 -64
- package/Drawer/components/DrawerContent.d.ts +1 -1
- package/Drawer/components/DrawerContent.js.map +1 -1
- package/DropdownMenu/DropdownMenu.js.map +1 -1
- package/DropdownMenu/DropdownMenu.mdx +155 -256
- package/DropdownMenu/components/DropdownMenuCheckboxItem.js.map +1 -1
- package/DropdownMenu/components/DropdownMenuLabel.js.map +1 -1
- package/FilePicker/FilePicker.mdx +69 -69
- package/FilePicker/primitives/FilePickerPrimitive.d.ts +19 -19
- package/FilePicker/primitives/FilePickerPrimitive.js.map +1 -1
- package/FilePicker/primitives/components/Trigger.d.ts +1 -1
- package/FilePicker/primitives/components/previews/TextOnlyPreview/TextOnlyPreview.d.ts +1 -1
- package/FilePicker/primitives/components/previews/variants.d.ts +1 -1
- package/FilePicker/primitives/components/types.js.map +1 -1
- package/FormComponent/Description.d.ts +1 -1
- package/FormComponent/ErrorMessage.d.ts +1 -1
- package/FormComponent/Note.d.ts +1 -1
- package/Grid/Grid.d.ts +2 -2
- package/Grid/Grid.js.map +1 -1
- package/Grid/Grid.mdx +111 -121
- package/HeaderBar/HeaderBar.mdx +98 -99
- package/Heading/Heading.d.ts +1 -1
- package/Heading/Heading.js.map +1 -1
- package/Heading/Heading.mdx +63 -58
- package/Icon/Icon.d.ts +1 -1
- package/Icon/Icon.js.map +1 -1
- package/Icon/Icon.mdx +79 -147
- package/IconPicker/IconPicker.mdx +66 -64
- package/IconPicker/primitives/IconPickerPrimitive.d.ts +1 -1
- package/IconPicker/primitives/components/IconPickerTrigger.d.ts +1 -1
- package/Image/Image.js.map +1 -1
- package/Input/Input.mdx +67 -56
- package/Input/InputPrimitive.d.ts +1 -1
- package/Label/Label.d.ts +1 -1
- package/Label/Label.js.map +1 -1
- package/Label/Label.mdx +42 -42
- package/Label/components/LabelDescription.d.ts +1 -1
- package/Label/components/LabelRequired.d.ts +1 -1
- package/Label/components/LabelValue.d.ts +1 -1
- package/Link/Link.d.ts +1 -1
- package/Link/Link.mdx +129 -116
- package/List/List.d.ts +1 -1
- package/List/List.js.map +1 -1
- package/List/List.mdx +317 -329
- package/List/components/ListItem.d.ts +1 -1
- package/List/components/ListItem.js.map +1 -1
- package/Loader/Loader.d.ts +2 -2
- package/Loader/Loader.js.map +1 -1
- package/Loader/Loader.mdx +96 -91
- package/MultiAutoComplete/MultiAutoComplete.mdx +52 -51
- package/MultiAutoComplete/primitives/components/MultiAutoCompleteInput.d.ts +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenter.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenterWithUniqueValues.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteSelectedOptionsPresenter.js.map +1 -1
- package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteTemporaryOptionPresenter.js.map +1 -1
- package/MultiFilePicker/MultiFilePicker.mdx +84 -80
- package/MultiFilePicker/primitives/MultiFilePickerPrimitive.js.map +1 -1
- package/Popover/Popover.mdx +112 -118
- package/Popover/primitives/components/PopoverArrow.d.ts +1 -1
- package/Popover/primitives/components/PopoverContent.d.ts +1 -1
- package/RadioGroup/RadioGroup.mdx +62 -59
- package/RadioGroup/primitives/RadioGroupPrimitive.js.map +1 -1
- package/RangeSlider/RangeSlider.mdx +48 -47
- package/RangeSlider/primitives/RangeSliderPrimitive.js.map +1 -1
- package/RangeSlider/primitives/components/RangeSliderValue.d.ts +1 -1
- package/RangeSlider/primitives/components/RangeSliderValue.js.map +1 -1
- package/ScrollArea/ScrollArea.js.map +1 -1
- package/SegmentedControl/SegmentedControl.mdx +59 -59
- package/SegmentedControl/primitives/SegmentedControlPrimitive.d.ts +1 -1
- package/SegmentedControl/primitives/SegmentedControlPrimitive.js.map +1 -1
- package/Select/Select.mdx +52 -43
- package/Select/primitives/components/SelectTrigger.d.ts +1 -1
- package/Select/primitives/components/SelectTrigger.js.map +1 -1
- package/Select/primitives/presenters/SelectPresenter.d.ts +1 -1
- package/Separator/Separator.d.ts +1 -1
- package/Separator/Separator.mdx +139 -150
- package/Sidebar/Sidebar.js.map +1 -1
- package/Sidebar/Sidebar.mdx +66 -88
- package/Sidebar/components/items/SidebarMenuSubItemIndentation.d.ts +1 -1
- package/Sidebar/components/items/SidebarMenuSubItemIndentation.js.map +1 -1
- package/Skeleton/Skeleton.d.ts +1 -1
- package/Skeleton/Skeleton.js.map +1 -1
- package/Skeleton/Skeleton.mdx +37 -37
- package/Slider/Slider.mdx +48 -47
- package/Slider/primitives/SliderPrimitive.js.map +1 -1
- package/Slider/primitives/components/SliderSideValue.d.ts +1 -1
- package/Slider/primitives/components/SliderSideValue.js.map +1 -1
- package/Slider/primitives/components/SliderTooltip.d.ts +1 -1
- package/SteppedProgress/components/SteppedProgressIcon.d.ts +1 -1
- package/SteppedProgress/components/SteppedProgressIcon.js.map +1 -1
- package/SteppedProgress/components/SteppedProgressIndicator.d.ts +1 -1
- package/SteppedProgress/components/SteppedProgressIndicator.js.map +1 -1
- package/Switch/Switch.mdx +44 -42
- package/Switch/primitives/SwitchPrimitive.d.ts +1 -1
- package/Table/Table.d.ts +1 -1
- package/Table/Table.js.map +1 -1
- package/Table/components/Direction.d.ts +1 -1
- package/Table/components/Direction.js.map +1 -1
- package/Table/components/Header.d.ts +1 -1
- package/Table/components/Header.js.map +1 -1
- package/Table/components/Resizer.d.ts +1 -1
- package/Table/components/Resizer.js.map +1 -1
- package/Table/components/Row.d.ts +1 -1
- package/Table/components/Row.js.map +1 -1
- package/Tabs/Tabs.mdx +297 -292
- package/Tabs/components/Content.d.ts +1 -1
- package/Tabs/components/List.d.ts +1 -1
- package/Tabs/components/Trigger.d.ts +1 -1
- package/Tag/Tag.d.ts +1 -1
- package/Tag/Tag.js.map +1 -1
- package/Tag/Tag.mdx +68 -64
- package/Tags/primitives/TagsPrimitive.js.map +1 -1
- package/Text/Text.d.ts +1 -1
- package/Text/Text.mdx +54 -48
- package/Textarea/Textarea.mdx +49 -39
- package/Textarea/TextareaPrimitive.d.ts +1 -1
- package/Textarea/TextareaPrimitive.js.map +1 -1
- package/Toast/Toast.mdx +63 -53
- package/Toast/components/ToastRoot.d.ts +1 -1
- package/Tooltip/Tooltip.mdx +197 -198
- package/Tooltip/components/TooltipArrow.d.ts +1 -1
- package/Tooltip/components/TooltipContent.d.ts +1 -1
- package/Tree/components/Item.d.ts +1 -1
- package/Tree/useTree.d.ts +1 -1
- package/Widget/components/WidgetContent.d.ts +1 -1
- package/package.json +15 -15
|
@@ -3,7 +3,7 @@ import { Tabs as TabsPrimitive } from "radix-ui";
|
|
|
3
3
|
import { type VariantProps } from "../../utils.js";
|
|
4
4
|
declare const tabContentVariants: (props?: ({
|
|
5
5
|
spacing?: "sm" | "md" | "lg" | "xl" | "xs" | "xxl" | null | undefined;
|
|
6
|
-
} & import("class-variance-authority/
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
type ContentProps = Omit<TabsPrimitive.TabsContentProps, "children" | "content"> & VariantProps<typeof tabContentVariants> & {
|
|
8
8
|
content: React.ReactNode;
|
|
9
9
|
};
|
|
@@ -5,7 +5,7 @@ declare const tabListVariants: (props?: ({
|
|
|
5
5
|
size?: "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
6
6
|
spacing?: "sm" | "md" | "lg" | "xl" | "xs" | "xxl" | null | undefined;
|
|
7
7
|
separator?: boolean | null | undefined;
|
|
8
|
-
} & import("class-variance-authority/
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
9
|
type ListProps = TabsPrimitive.TabsListProps & VariantProps<typeof tabListVariants>;
|
|
10
10
|
declare const List: ({ className, spacing, size, separator, ...props }: ListProps) => React.JSX.Element;
|
|
11
11
|
export { List, type ListProps, tabListVariants };
|
|
@@ -4,7 +4,7 @@ import { type VariantProps } from "../../utils.js";
|
|
|
4
4
|
declare const tabTriggerVariants: (props?: ({
|
|
5
5
|
size?: "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
6
6
|
visible?: boolean | null | undefined;
|
|
7
|
-
} & import("class-variance-authority/
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
8
|
type TriggerProps = Omit<TabsPrimitive.TabsTriggerProps, "children"> & VariantProps<typeof tabTriggerVariants> & {
|
|
9
9
|
text: React.ReactNode;
|
|
10
10
|
icon?: React.ReactElement;
|
package/Tag/Tag.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ declare const tagVariants: (props?: ({
|
|
|
5
5
|
isDismissible?: boolean | null | undefined;
|
|
6
6
|
isDisabled?: boolean | null | undefined;
|
|
7
7
|
variant?: "accent" | "neutral-light" | "neutral-strong" | "neutral-base" | "success" | "warning" | "neutral-base-outline" | "neutral-muted" | "neutral-xstrong" | "neutral-dark" | "accent-light" | "success-light" | "destructive" | null | undefined;
|
|
8
|
-
} & import("class-variance-authority/
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
9
|
export interface TagProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "children" | "content">, VariantProps<typeof tagVariants> {
|
|
10
10
|
content: React.ReactNode;
|
|
11
11
|
onDismiss?: (event: React.SyntheticEvent<HTMLSpanElement>) => void;
|
package/Tag/Tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ReactComponent","Close","cn","cva","makeDecoratable","omit","Icon","IconButton","TagPropsProvider","TagSwatchBox","TagIcon","tagVariants","variants","isInteractive","true","isDismissible","false","isDisabled","variant","accent","success","warning","destructive","defaultVariants","DecoratableTag","props","className","content","onClick","onDismiss","dismissIconElement","createElement","dismissIconLabel","disabled","rootProps","dismissButtonVariant","useMemo","includes","dismissIconColor","Object","assign","Boolean","icon","label","color","size","event","stopPropagation","Tag"],"sources":["Tag.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ReactComponent as Close } from \"@webiny/icons/close.svg\";\nimport { cn, cva, makeDecoratable, omit, type VariantProps } from \"~/utils.js\";\nimport { Icon, type IconProps } from \"~/Icon/index.js\";\nimport type { iconButtonVariants } from \"~/Button/index.js\";\nimport { IconButton } from \"~/Button/index.js\";\nimport { TagPropsProvider } from \"~/Tag/TagPropsProvider.js\";\nimport { TagSwatchBox } from \"./TagSwatchBox.js\";\nimport { TagIcon } from \"./TagIcon.js\";\n\nconst tagVariants = cva(\n [\n \"inline-flex items-center gap-xxs rounded-sm text-sm text-regular transition-colors overflow-hidden\",\n \"focus:outline-none\",\n \"h-[20px]\"\n ],\n {\n variants: {\n isInteractive: {\n true: \"cursor-pointer\"\n },\n isDismissible: {\n true: \"pl-xs-plus pt-xxs pb-xxs pr-xs\",\n false: \"px-xs-plus py-xxs\"\n },\n isDisabled: {\n true: \"cursor-not-allowed pointer-events-none\"\n },\n variant: {\n \"neutral-base\": [\n \"bg-transparent text-neutral-primary\",\n \"hover:bg-neutral-light\",\n \"aria-disabled:bg-transparent aria-disabled:text-neutral-disabled\"\n ],\n \"neutral-base-outline\": [\n \"border-sm border-solid px-[calc(var(--padding-xs-plus)-(var(--border-width-sm)))] py-[calc(var(--padding-xxs)-(var(--border-width-sm)))]\",\n \"bg-neutral-base border-neutral-muted text-neutral-primary\",\n \"hover:bg-neutral-light\",\n \"aria-disabled:bg-transparent aria-disabled:border-neutral-dimmed aria-disabled:text-neutral-disabled\"\n ],\n \"neutral-light\": [\n \"bg-neutral-light text-neutral-primary\",\n \"hover:bg-neutral-muted\",\n \"aria-disabled:bg-neutral-light aria-disabled:text-neutral-muted\"\n ],\n \"neutral-muted\": [\n \"bg-neutral-muted text-neutral-primary\",\n \"hover:bg-neutral-strong\",\n \"aria-disabled:bg-neutral-muted aria-disabled:text-neutral-muted\"\n ],\n \"neutral-strong\": [\n \"bg-neutral-strong text-neutral-light\",\n \"hover:bg-neutral-xstrong\",\n \"aria-disabled:bg-neutral-muted\"\n ],\n \"neutral-xstrong\": [\n \"bg-neutral-xstrong text-neutral-light\",\n \"hover:bg-neutral-dark\",\n \"aria-disabled:bg-neutral-strong\"\n ],\n \"neutral-dark\": [\n \"bg-neutral-dark text-neutral-light\",\n \"hover:bg-neutral-xstrong\",\n \"aria-disabled:bg-neutral-strong\"\n ],\n accent: [\n \"bg-primary text-neutral-light\",\n \"hover:bg-primary-strong\",\n \"aria-disabled:bg-primary-disabled\"\n ],\n \"accent-light\": [\n \"bg-primary-subtle text-neutral-primary\",\n \"hover:bg-primary-muted\",\n \"aria-disabled:bg-primary-subtle aria-disabled:text-neutral-muted\"\n ],\n success: [\n \"bg-success text-neutral-light\",\n \"hover:bg-success-strong\",\n \"aria-disabled:bg-success-disabled\"\n ],\n \"success-light\": [\n \"bg-success-subtle text-neutral-primary\",\n \"hover:bg-success-muted\",\n \"aria-disabled:bg-success-subtle aria-disabled:text-neutral-muted\"\n ],\n warning: [\n \"bg-warning-muted text-neutral-primary\",\n \"hover:bg-warning\",\n \"aria-disabled:bg-warning-disabled aria-disabled:text-neutral-disabled\"\n ],\n destructive: [\n \"bg-destructive text-neutral-light\",\n \"hover:bg-destructive-strong\",\n \"aria-disabled:bg-destructive-disabled\"\n ]\n }\n },\n defaultVariants: {\n variant: \"neutral-base\"\n }\n }\n);\n\nexport interface TagProps\n extends Omit<React.HTMLAttributes<HTMLSpanElement>, \"children\" | \"content\">,\n VariantProps<typeof tagVariants> {\n content: React.ReactNode;\n onDismiss?: (event: React.SyntheticEvent<HTMLSpanElement>) => void;\n dismissIconElement?: React.ReactElement;\n dismissIconLabel?: string;\n swatchColor?: string;\n swatchColorIcon?: boolean;\n icon?: React.ReactElement | null;\n disabled?: boolean;\n}\n\nconst DecoratableTag = (props: TagProps) => {\n const {\n className,\n variant,\n content,\n onClick,\n onDismiss,\n dismissIconElement = <Close />,\n dismissIconLabel = \"Close\",\n disabled,\n ...rootProps\n } = omit(props, [\"icon\", \"swatchColor\", \"swatchColorIcon\"]);\n\n const dismissButtonVariant = React.useMemo((): VariantProps<\n typeof iconButtonVariants\n >[\"variant\"] => {\n if (\n variant &&\n [\n \"neutral-strong\",\n \"neutral-xstrong\",\n \"neutral-dark\",\n \"success\",\n \"accent\",\n \"destructive\"\n ].includes(variant)\n ) {\n return \"ghost-negative\";\n }\n\n return \"ghost\";\n }, [variant]);\n\n const dismissIconColor: IconProps[\"color\"] = React.useMemo(() => {\n if (\n variant &&\n [\n \"neutral-strong\",\n \"neutral-xstrong\",\n \"neutral-dark\",\n \"accent\",\n \"success\",\n \"destructive\"\n ].includes(variant)\n ) {\n return \"neutral-negative\";\n }\n\n if (variant && [\"warning\"].includes(variant)) {\n return \"neutral-strong\";\n }\n\n return \"neutral-strong-transparent\";\n }, [variant]);\n\n return (\n <TagPropsProvider props={props}>\n <span\n {...rootProps}\n onClick={onClick}\n className={cn(\n tagVariants({\n variant,\n isDismissible: Boolean(onDismiss),\n isInteractive: Boolean(onClick),\n isDisabled: Boolean(disabled)\n }),\n className\n )}\n aria-disabled={disabled}\n >\n <TagSwatchBox />\n <TagIcon />\n <span className={\"overflow-hidden truncate whitespace-nowrap\"}>{content}</span>\n {onDismiss && (\n <IconButton\n icon={\n <Icon\n icon={dismissIconElement}\n label={dismissIconLabel}\n color={dismissIconColor}\n size={\"sm\"}\n />\n }\n size={\"xxs\"}\n variant={dismissButtonVariant}\n disabled={disabled}\n onClick={event => {\n event.stopPropagation();\n onDismiss(event);\n }}\n />\n )}\n </span>\n </TagPropsProvider>\n );\n};\nconst Tag = makeDecoratable(\"Tag\", DecoratableTag);\n\nexport { Tag };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","ReactComponent","Close","cn","cva","makeDecoratable","omit","Icon","IconButton","TagPropsProvider","TagSwatchBox","TagIcon","tagVariants","variants","isInteractive","true","isDismissible","false","isDisabled","variant","accent","success","warning","destructive","defaultVariants","DecoratableTag","props","className","content","onClick","onDismiss","dismissIconElement","createElement","dismissIconLabel","disabled","rootProps","dismissButtonVariant","useMemo","includes","dismissIconColor","Object","assign","Boolean","icon","label","color","size","event","stopPropagation","Tag"],"sources":["Tag.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ReactComponent as Close } from \"@webiny/icons/close.svg\";\nimport { cn, cva, makeDecoratable, omit, type VariantProps } from \"~/utils.js\";\nimport { Icon, type IconProps } from \"~/Icon/index.js\";\nimport type { iconButtonVariants } from \"~/Button/index.js\";\nimport { IconButton } from \"~/Button/index.js\";\nimport { TagPropsProvider } from \"~/Tag/TagPropsProvider.js\";\nimport { TagSwatchBox } from \"./TagSwatchBox.js\";\nimport { TagIcon } from \"./TagIcon.js\";\n\nconst tagVariants = cva(\n [\n \"inline-flex items-center gap-xxs rounded-sm text-sm text-regular transition-colors overflow-hidden\",\n \"focus:outline-none\",\n \"h-[20px]\"\n ],\n {\n variants: {\n isInteractive: {\n true: \"cursor-pointer\"\n },\n isDismissible: {\n true: \"pl-xs-plus pt-xxs pb-xxs pr-xs\",\n false: \"px-xs-plus py-xxs\"\n },\n isDisabled: {\n true: \"cursor-not-allowed pointer-events-none\"\n },\n variant: {\n \"neutral-base\": [\n \"bg-transparent text-neutral-primary\",\n \"hover:bg-neutral-light\",\n \"aria-disabled:bg-transparent aria-disabled:text-neutral-disabled\"\n ],\n \"neutral-base-outline\": [\n \"border-sm border-solid px-[calc(var(--padding-xs-plus)-(var(--border-width-sm)))] py-[calc(var(--padding-xxs)-(var(--border-width-sm)))]\",\n \"bg-neutral-base border-neutral-muted text-neutral-primary\",\n \"hover:bg-neutral-light\",\n \"aria-disabled:bg-transparent aria-disabled:border-neutral-dimmed aria-disabled:text-neutral-disabled\"\n ],\n \"neutral-light\": [\n \"bg-neutral-light text-neutral-primary\",\n \"hover:bg-neutral-muted\",\n \"aria-disabled:bg-neutral-light aria-disabled:text-neutral-muted\"\n ],\n \"neutral-muted\": [\n \"bg-neutral-muted text-neutral-primary\",\n \"hover:bg-neutral-strong\",\n \"aria-disabled:bg-neutral-muted aria-disabled:text-neutral-muted\"\n ],\n \"neutral-strong\": [\n \"bg-neutral-strong text-neutral-light\",\n \"hover:bg-neutral-xstrong\",\n \"aria-disabled:bg-neutral-muted\"\n ],\n \"neutral-xstrong\": [\n \"bg-neutral-xstrong text-neutral-light\",\n \"hover:bg-neutral-dark\",\n \"aria-disabled:bg-neutral-strong\"\n ],\n \"neutral-dark\": [\n \"bg-neutral-dark text-neutral-light\",\n \"hover:bg-neutral-xstrong\",\n \"aria-disabled:bg-neutral-strong\"\n ],\n accent: [\n \"bg-primary text-neutral-light\",\n \"hover:bg-primary-strong\",\n \"aria-disabled:bg-primary-disabled\"\n ],\n \"accent-light\": [\n \"bg-primary-subtle text-neutral-primary\",\n \"hover:bg-primary-muted\",\n \"aria-disabled:bg-primary-subtle aria-disabled:text-neutral-muted\"\n ],\n success: [\n \"bg-success text-neutral-light\",\n \"hover:bg-success-strong\",\n \"aria-disabled:bg-success-disabled\"\n ],\n \"success-light\": [\n \"bg-success-subtle text-neutral-primary\",\n \"hover:bg-success-muted\",\n \"aria-disabled:bg-success-subtle aria-disabled:text-neutral-muted\"\n ],\n warning: [\n \"bg-warning-muted text-neutral-primary\",\n \"hover:bg-warning\",\n \"aria-disabled:bg-warning-disabled aria-disabled:text-neutral-disabled\"\n ],\n destructive: [\n \"bg-destructive text-neutral-light\",\n \"hover:bg-destructive-strong\",\n \"aria-disabled:bg-destructive-disabled\"\n ]\n }\n },\n defaultVariants: {\n variant: \"neutral-base\"\n }\n }\n);\n\nexport interface TagProps\n extends\n Omit<React.HTMLAttributes<HTMLSpanElement>, \"children\" | \"content\">,\n VariantProps<typeof tagVariants> {\n content: React.ReactNode;\n onDismiss?: (event: React.SyntheticEvent<HTMLSpanElement>) => void;\n dismissIconElement?: React.ReactElement;\n dismissIconLabel?: string;\n swatchColor?: string;\n swatchColorIcon?: boolean;\n icon?: React.ReactElement | null;\n disabled?: boolean;\n}\n\nconst DecoratableTag = (props: TagProps) => {\n const {\n className,\n variant,\n content,\n onClick,\n onDismiss,\n dismissIconElement = <Close />,\n dismissIconLabel = \"Close\",\n disabled,\n ...rootProps\n } = omit(props, [\"icon\", \"swatchColor\", \"swatchColorIcon\"]);\n\n const dismissButtonVariant = React.useMemo((): VariantProps<\n typeof iconButtonVariants\n >[\"variant\"] => {\n if (\n variant &&\n [\n \"neutral-strong\",\n \"neutral-xstrong\",\n \"neutral-dark\",\n \"success\",\n \"accent\",\n \"destructive\"\n ].includes(variant)\n ) {\n return \"ghost-negative\";\n }\n\n return \"ghost\";\n }, [variant]);\n\n const dismissIconColor: IconProps[\"color\"] = React.useMemo(() => {\n if (\n variant &&\n [\n \"neutral-strong\",\n \"neutral-xstrong\",\n \"neutral-dark\",\n \"accent\",\n \"success\",\n \"destructive\"\n ].includes(variant)\n ) {\n return \"neutral-negative\";\n }\n\n if (variant && [\"warning\"].includes(variant)) {\n return \"neutral-strong\";\n }\n\n return \"neutral-strong-transparent\";\n }, [variant]);\n\n return (\n <TagPropsProvider props={props}>\n <span\n {...rootProps}\n onClick={onClick}\n className={cn(\n tagVariants({\n variant,\n isDismissible: Boolean(onDismiss),\n isInteractive: Boolean(onClick),\n isDisabled: Boolean(disabled)\n }),\n className\n )}\n aria-disabled={disabled}\n >\n <TagSwatchBox />\n <TagIcon />\n <span className={\"overflow-hidden truncate whitespace-nowrap\"}>{content}</span>\n {onDismiss && (\n <IconButton\n icon={\n <Icon\n icon={dismissIconElement}\n label={dismissIconLabel}\n color={dismissIconColor}\n size={\"sm\"}\n />\n }\n size={\"xxs\"}\n variant={dismissButtonVariant}\n disabled={disabled}\n onClick={event => {\n event.stopPropagation();\n onDismiss(event);\n }}\n />\n )}\n </span>\n </TagPropsProvider>\n );\n};\nconst Tag = makeDecoratable(\"Tag\", DecoratableTag);\n\nexport { Tag };\n"],"mappings":"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","ignoreList":[]}
|
package/Tag/Tag.mdx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Canvas, Meta, Controls } from
|
|
1
|
+
import { Canvas, Meta, Controls } from "@storybook/addon-docs/blocks";
|
|
2
2
|
|
|
3
|
-
import * as TagStories from
|
|
3
|
+
import * as TagStories from "./Tag.stories";
|
|
4
4
|
|
|
5
5
|
<Meta of={TagStories} />
|
|
6
6
|
|
|
@@ -15,23 +15,23 @@ import React from "react";
|
|
|
15
15
|
import { Tag } from "@webiny/admin-ui";
|
|
16
16
|
|
|
17
17
|
const TagExample = () => {
|
|
18
|
-
|
|
18
|
+
return <Tag content="Label" />;
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export default TagExample;
|
|
22
22
|
|
|
23
23
|
` } }
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
24
|
+
additionalActions={[
|
|
25
|
+
{
|
|
26
|
+
title: 'Open in GitHub',
|
|
27
|
+
onClick: () => {
|
|
28
|
+
window.open(
|
|
29
|
+
'https://github.com/webiny/webiny-js/blob/feat/new-admin-ui/packages/admin-ui/src/Tag/Tag.tsx',
|
|
30
|
+
'_blank'
|
|
31
|
+
);
|
|
32
|
+
},
|
|
33
|
+
}
|
|
34
|
+
]}
|
|
35
35
|
/>
|
|
36
36
|
|
|
37
37
|
<Controls of={TagStories.Documentation} />
|
|
@@ -41,7 +41,7 @@ import React from "react";
|
|
|
41
41
|
import { Tag } from "@webiny/admin-ui";
|
|
42
42
|
|
|
43
43
|
const TagExample = () => {
|
|
44
|
-
|
|
44
|
+
return <Tag content="Label" />;
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
export default TagExample;
|
|
@@ -58,7 +58,7 @@ import React from "react";
|
|
|
58
58
|
import { Tag } from "@webiny/admin-ui";
|
|
59
59
|
|
|
60
60
|
const BasicTagExample = () => {
|
|
61
|
-
|
|
61
|
+
return <Tag content="Label" />;
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
export default BasicTagExample;
|
|
@@ -73,12 +73,12 @@ import React from "react";
|
|
|
73
73
|
import { Tag } from "@webiny/admin-ui";
|
|
74
74
|
|
|
75
75
|
const InteractiveTagExample = () => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
return <Tag
|
|
77
|
+
content="Click me"
|
|
78
|
+
onClick={evt => {
|
|
79
|
+
console.log("Tag clicked", evt);
|
|
80
|
+
}}
|
|
81
|
+
/>;
|
|
82
82
|
};
|
|
83
83
|
|
|
84
84
|
export default InteractiveTagExample;
|
|
@@ -93,12 +93,12 @@ import React from "react";
|
|
|
93
93
|
import { Tag } from "@webiny/admin-ui";
|
|
94
94
|
|
|
95
95
|
const DismissibleTagExample = () => {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
96
|
+
return <Tag
|
|
97
|
+
content="Dismissible"
|
|
98
|
+
onDismiss={evt => {
|
|
99
|
+
console.log("Tag dismissed", evt);
|
|
100
|
+
}}
|
|
101
|
+
/>;
|
|
102
102
|
};
|
|
103
103
|
|
|
104
104
|
export default DismissibleTagExample;
|
|
@@ -114,14 +114,14 @@ import { Tag } from "@webiny/admin-ui";
|
|
|
114
114
|
import { ReactComponent as AddIcon } from "@webiny/icons/add.svg";
|
|
115
115
|
|
|
116
116
|
const CustomDismissIconExample = () => {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
117
|
+
return <Tag
|
|
118
|
+
content="Custom Icon"
|
|
119
|
+
onDismiss={evt => {
|
|
120
|
+
console.log("Tag dismissed", evt);
|
|
121
|
+
}}
|
|
122
|
+
dismissIconElement={<AddIcon />}
|
|
123
|
+
dismissIconLabel="Custom dismiss label"
|
|
124
|
+
/>;
|
|
125
125
|
};
|
|
126
126
|
|
|
127
127
|
export default CustomDismissIconExample;
|
|
@@ -136,24 +136,24 @@ import React from "react";
|
|
|
136
136
|
import { Tag } from "@webiny/admin-ui";
|
|
137
137
|
|
|
138
138
|
const TagVariantsExample = () => {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
};
|
|
139
|
+
return (
|
|
140
|
+
|
|
141
|
+
<div className={"flex gap-sm"}>
|
|
142
|
+
<Tag content={"Neutral base"} variant={"neutral-base"} onDismiss={() => {}} />
|
|
143
|
+
<Tag content={"Neutral base outline"} variant={"neutral-base-outline"} onDismiss={() => {}} />
|
|
144
|
+
<Tag content={"Neutral light"} variant={"neutral-light"} onDismiss={() => {}} />
|
|
145
|
+
<Tag content={"Neutral muted"} variant={"neutral-muted"} onDismiss={() => {}} />
|
|
146
|
+
<Tag content={"Neutral strong"} variant={"neutral-strong"} onDismiss={() => {}} />
|
|
147
|
+
<Tag content={"Neutral xstrong"} variant={"neutral-xstrong"} onDismiss={() => {}} />
|
|
148
|
+
<Tag content={"Neutral dark"} variant={"neutral-dark"} onDismiss={() => {}} />
|
|
149
|
+
<Tag content={"Success"} variant={"success"} onDismiss={() => {}} />
|
|
150
|
+
<Tag content={"Success light"} variant={"success-light"} onDismiss={() => {}} />
|
|
151
|
+
<Tag content={"Warning"} variant={"warning"} onDismiss={() => {}} />
|
|
152
|
+
<Tag content={"Destructive"} variant={"destructive"} onDismiss={() => {}} />
|
|
153
|
+
<Tag content={"Accent"} variant={"accent"} onDismiss={() => {}} />
|
|
154
|
+
<Tag content={"Accent light"} variant={"accent-light"} onDismiss={() => {}} />
|
|
155
|
+
</div>
|
|
156
|
+
); };
|
|
157
157
|
|
|
158
158
|
export default TagVariantsExample;
|
|
159
159
|
` } } />
|
|
@@ -167,12 +167,12 @@ import React from "react";
|
|
|
167
167
|
import { Tag } from "@webiny/admin-ui";
|
|
168
168
|
|
|
169
169
|
const DisabledTagExample = () => {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
170
|
+
return <Tag
|
|
171
|
+
content="Disabled"
|
|
172
|
+
variant="neutral-base"
|
|
173
|
+
onDismiss={() => {}}
|
|
174
|
+
disabled={true}
|
|
175
|
+
/>;
|
|
176
176
|
};
|
|
177
177
|
|
|
178
178
|
export default DisabledTagExample;
|
|
@@ -181,16 +181,20 @@ export default DisabledTagExample;
|
|
|
181
181
|
## Anatomy
|
|
182
182
|
|
|
183
183
|
### Construction
|
|
184
|
-
|
|
184
|
+
|
|
185
|
+
<img src="/images/storybook/tag/construction.png" alt="Construction" />
|
|
185
186
|
|
|
186
187
|
### Style
|
|
187
|
-
|
|
188
|
+
|
|
189
|
+
<img src="/images/storybook/tag/style.png" alt="Style" />
|
|
188
190
|
|
|
189
191
|
### States
|
|
190
|
-
|
|
192
|
+
|
|
193
|
+
<img src="/images/storybook/tag/states.png" alt="States" />
|
|
191
194
|
|
|
192
195
|
## Usage Guidelines
|
|
193
|
-
|
|
196
|
+
|
|
197
|
+
<img src="/images/storybook/tag/usage.png" alt="Usage" />
|
|
194
198
|
|
|
195
199
|
## Best Practices
|
|
196
200
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","ReactComponent","AddIcon","makeDecoratable","useTags","InputPrimitive","Tag","IconButton","DecoratableTagsPrimitive","props","vm","inputValue","addValue","removeValue","inputProps","disabled","inputRef","invalid","onChange","placeholder","size","variant","handleKeyDown","event","key","target","preventDefault","createElement","Object","assign","inputVm","onKeyDown","startIcon","endIcon","onClick","icon","valuesVm","values","length","className","map","tag","id","content","label","onDismiss","protected","undefined","TagsPrimitive"],"sources":["TagsPrimitive.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { ReactComponent as AddIcon } from \"@webiny/icons/add.svg\";\nimport { makeDecoratable } from \"~/utils.js\";\nimport { useTags } from \"./useTags.js\";\nimport { InputPrimitive, type InputPrimitiveProps } from \"~/Input/index.js\";\nimport { Tag } from \"~/Tag/index.js\";\nimport { IconButton } from \"~/Button/index.js\";\nimport type { Icon } from \"~/Icon/index.js\";\n\ninterface TagsPrimitiveProps
|
|
1
|
+
{"version":3,"names":["React","useMemo","ReactComponent","AddIcon","makeDecoratable","useTags","InputPrimitive","Tag","IconButton","DecoratableTagsPrimitive","props","vm","inputValue","addValue","removeValue","inputProps","disabled","inputRef","invalid","onChange","placeholder","size","variant","handleKeyDown","event","key","target","preventDefault","createElement","Object","assign","inputVm","onKeyDown","startIcon","endIcon","onClick","icon","valuesVm","values","length","className","map","tag","id","content","label","onDismiss","protected","undefined","TagsPrimitive"],"sources":["TagsPrimitive.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { ReactComponent as AddIcon } from \"@webiny/icons/add.svg\";\nimport { makeDecoratable } from \"~/utils.js\";\nimport { useTags } from \"./useTags.js\";\nimport { InputPrimitive, type InputPrimitiveProps } from \"~/Input/index.js\";\nimport { Tag } from \"~/Tag/index.js\";\nimport { IconButton } from \"~/Button/index.js\";\nimport type { Icon } from \"~/Icon/index.js\";\n\ninterface TagsPrimitiveProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"size\" | \"onChange\"\n> {\n /**\n * Indicates if the field is disabled.\n */\n disabled?: boolean;\n /**\n * Reference to the input element.\n */\n inputRef?: React.Ref<HTMLInputElement>;\n /**\n * Indicates if the input field is invalid.\n */\n invalid?: boolean;\n /**\n * Callback triggered when a tag is added or removed.\n */\n onChange?: (values: string[]) => void;\n /**\n * Callback triggered when the input value changes.\n */\n onValueInput?: (value: string) => void;\n /**\n * Callback triggered when the value is added to the list.\n */\n onValueAdd?: (value: string) => void;\n /**\n * Callback triggered when a tag is removed.\n */\n onValueRemove?: (value: string) => void;\n /**\n * Placeholder text for the input field.\n */\n placeholder?: string;\n /**\n * Size of the input field.\n * Refer to `InputPrimitiveProps[\"size\"]` for possible values.\n */\n size?: InputPrimitiveProps[\"size\"];\n /**\n * Icon to be displayed at the start of the input field.\n */\n startIcon?: React.ReactElement<typeof Icon> | React.ReactElement;\n /**\n * Variant of the input field.\n * Refer to `InputPrimitiveProps[\"variant\"]` for possible values.\n */\n variant?: InputPrimitiveProps[\"variant\"];\n /**\n * Optional selected item.\n */\n value?: string[];\n /**\n * Protected values cannot be removed by the user, these can be simple strings or regex patterns.\n */\n protectedValues?: string[];\n}\n\nconst DecoratableTagsPrimitive = (props: TagsPrimitiveProps) => {\n const { vm, inputValue, addValue, removeValue } = useTags(props);\n\n const inputProps: InputPrimitiveProps = useMemo(\n () => ({\n disabled: props.disabled,\n inputRef: props.inputRef,\n invalid: props.invalid,\n onChange: inputValue,\n placeholder: props.placeholder,\n size: props.size,\n variant: props.variant\n }),\n [props]\n );\n\n // When user press Enter, add the current input value as a tag\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === \"Enter\" && event.target) {\n event.preventDefault();\n addValue();\n }\n };\n\n return (\n <div>\n <InputPrimitive\n {...inputProps}\n {...vm.inputVm}\n onChange={inputValue}\n onKeyDown={handleKeyDown}\n startIcon={props.startIcon}\n endIcon={\n <IconButton\n onClick={addValue}\n icon={<AddIcon />}\n variant={\"ghost\"}\n disabled={inputProps.disabled}\n />\n }\n />\n\n {vm.valuesVm.values.length > 0 && (\n <div className={\"mt-sm flex flex-wrap gap-xs\"}>\n {vm.valuesVm.values.map(tag => (\n <Tag\n key={tag.id}\n content={tag.label}\n onDismiss={!tag.protected ? () => removeValue(tag.label) : undefined}\n variant={\"neutral-muted\"}\n />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nconst TagsPrimitive = makeDecoratable(\"TagsPrimitive\", DecoratableTagsPrimitive);\n\nexport { TagsPrimitive, type TagsPrimitiveProps };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,cAAc,IAAIC,OAAO,QAAQ,uBAAuB;AACjE,SAASC,eAAe;AACxB,SAASC,OAAO;AAChB,SAASC,cAAc;AACvB,SAASC,GAAG;AACZ,SAASC,UAAU;AA+DnB,MAAMC,wBAAwB,GAAIC,KAAyB,IAAK;EAC5D,MAAM;IAAEC,EAAE;IAAEC,UAAU;IAAEC,QAAQ;IAAEC;EAAY,CAAC,GAAGT,OAAO,CAACK,KAAK,CAAC;EAEhE,MAAMK,UAA+B,GAAGd,OAAO,CAC3C,OAAO;IACHe,QAAQ,EAAEN,KAAK,CAACM,QAAQ;IACxBC,QAAQ,EAAEP,KAAK,CAACO,QAAQ;IACxBC,OAAO,EAAER,KAAK,CAACQ,OAAO;IACtBC,QAAQ,EAAEP,UAAU;IACpBQ,WAAW,EAAEV,KAAK,CAACU,WAAW;IAC9BC,IAAI,EAAEX,KAAK,CAACW,IAAI;IAChBC,OAAO,EAAEZ,KAAK,CAACY;EACnB,CAAC,CAAC,EACF,CAACZ,KAAK,CACV,CAAC;;EAED;EACA,MAAMa,aAAa,GAAIC,KAA4C,IAAK;IACpE,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACE,MAAM,EAAE;MACvCF,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBd,QAAQ,CAAC,CAAC;IACd;EACJ,CAAC;EAED,oBACIb,KAAA,CAAA4B,aAAA,2BACI5B,KAAA,CAAA4B,aAAA,CAACtB,cAAc,EAAAuB,MAAA,CAAAC,MAAA,KACPf,UAAU,EACVJ,EAAE,CAACoB,OAAO;IACdZ,QAAQ,EAAEP,UAAW;IACrBoB,SAAS,EAAET,aAAc;IACzBU,SAAS,EAAEvB,KAAK,CAACuB,SAAU;IAC3BC,OAAO,eACHlC,KAAA,CAAA4B,aAAA,CAACpB,UAAU;MACP2B,OAAO,EAAEtB,QAAS;MAClBuB,IAAI,eAAEpC,KAAA,CAAA4B,aAAA,CAACzB,OAAO,MAAE,CAAE;MAClBmB,OAAO,EAAE,OAAQ;MACjBN,QAAQ,EAAED,UAAU,CAACC;IAAS,CACjC;EACJ,EACJ,CAAC,EAEDL,EAAE,CAAC0B,QAAQ,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC,iBAC1BvC,KAAA,CAAA4B,aAAA;IAAKY,SAAS,EAAE;EAA8B,GACzC7B,EAAE,CAAC0B,QAAQ,CAACC,MAAM,CAACG,GAAG,CAACC,GAAG,iBACvB1C,KAAA,CAAA4B,aAAA,CAACrB,GAAG;IACAkB,GAAG,EAAEiB,GAAG,CAACC,EAAG;IACZC,OAAO,EAAEF,GAAG,CAACG,KAAM;IACnBC,SAAS,EAAE,CAACJ,GAAG,CAACK,SAAS,GAAG,MAAMjC,WAAW,CAAC4B,GAAG,CAACG,KAAK,CAAC,GAAGG,SAAU;IACrE1B,OAAO,EAAE;EAAgB,CAC5B,CACJ,CACA,CAER,CAAC;AAEd,CAAC;AAED,MAAM2B,aAAa,GAAG7C,eAAe,CAAC,eAAe,EAAEK,wBAAwB,CAAC;AAEhF,SAASwC,aAAa","ignoreList":[]}
|
package/Text/Text.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { type VariantProps } from "../utils.js";
|
|
|
3
3
|
type TextTags = "span" | "div";
|
|
4
4
|
declare const textVariants: (props?: ({
|
|
5
5
|
size?: "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
6
|
-
} & import("class-variance-authority/
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
interface TextProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof textVariants> {
|
|
8
8
|
as?: TextTags;
|
|
9
9
|
}
|
package/Text/Text.mdx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Canvas, Meta, Controls } from
|
|
1
|
+
import { Canvas, Meta, Controls } from "@storybook/addon-docs/blocks";
|
|
2
2
|
|
|
3
|
-
import * as TextStories from
|
|
3
|
+
import * as TextStories from "./Text.stories";
|
|
4
4
|
|
|
5
5
|
<Meta of={TextStories} />
|
|
6
6
|
|
|
@@ -15,23 +15,23 @@ import React from "react";
|
|
|
15
15
|
import { Text } from "@webiny/admin-ui";
|
|
16
16
|
|
|
17
17
|
const TextExample = () => {
|
|
18
|
-
|
|
18
|
+
return <Text size="md">Text component example</Text>;
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export default TextExample;
|
|
22
22
|
|
|
23
23
|
` } }
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
24
|
+
additionalActions={[
|
|
25
|
+
{
|
|
26
|
+
title: 'Open in GitHub',
|
|
27
|
+
onClick: () => {
|
|
28
|
+
window.open(
|
|
29
|
+
'https://github.com/webiny/webiny-js/blob/feat/new-admin-ui/packages/admin-ui/src/Text/Text.tsx',
|
|
30
|
+
'_blank'
|
|
31
|
+
);
|
|
32
|
+
},
|
|
33
|
+
}
|
|
34
|
+
]}
|
|
35
35
|
/>
|
|
36
36
|
|
|
37
37
|
<Controls of={TextStories.Documentation} />
|
|
@@ -41,7 +41,7 @@ import React from "react";
|
|
|
41
41
|
import { Text } from "@webiny/admin-ui";
|
|
42
42
|
|
|
43
43
|
const TextExample = () => {
|
|
44
|
-
|
|
44
|
+
return <Text size="md">Text component example</Text>;
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
export default TextExample;
|
|
@@ -56,12 +56,13 @@ import React from "react";
|
|
|
56
56
|
import { Text } from "@webiny/admin-ui";
|
|
57
57
|
|
|
58
58
|
const TextXlExample = () => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
return (
|
|
60
|
+
|
|
61
|
+
<Text size="xl">
|
|
62
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempus tortor eu sapien interdum
|
|
63
|
+
rhoncus.
|
|
64
|
+
</Text>
|
|
65
|
+
); };
|
|
65
66
|
|
|
66
67
|
export default TextXlExample;
|
|
67
68
|
` } } />
|
|
@@ -73,12 +74,13 @@ import React from "react";
|
|
|
73
74
|
import { Text } from "@webiny/admin-ui";
|
|
74
75
|
|
|
75
76
|
const TextLgExample = () => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
return (
|
|
78
|
+
|
|
79
|
+
<Text size="lg">
|
|
80
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempus tortor eu sapien interdum
|
|
81
|
+
rhoncus.
|
|
82
|
+
</Text>
|
|
83
|
+
); };
|
|
82
84
|
|
|
83
85
|
export default TextLgExample;
|
|
84
86
|
` } } />
|
|
@@ -90,12 +92,13 @@ import React from "react";
|
|
|
90
92
|
import { Text } from "@webiny/admin-ui";
|
|
91
93
|
|
|
92
94
|
const TextMdExample = () => {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
95
|
+
return (
|
|
96
|
+
|
|
97
|
+
<Text size="md">
|
|
98
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempus tortor eu sapien interdum
|
|
99
|
+
rhoncus.
|
|
100
|
+
</Text>
|
|
101
|
+
); };
|
|
99
102
|
|
|
100
103
|
export default TextMdExample;
|
|
101
104
|
` } } />
|
|
@@ -107,12 +110,13 @@ import React from "react";
|
|
|
107
110
|
import { Text } from "@webiny/admin-ui";
|
|
108
111
|
|
|
109
112
|
const TextSmExample = () => {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
return (
|
|
114
|
+
|
|
115
|
+
<Text size="sm">
|
|
116
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tempus tortor eu sapien interdum
|
|
117
|
+
rhoncus.
|
|
118
|
+
</Text>
|
|
119
|
+
); };
|
|
116
120
|
|
|
117
121
|
export default TextSmExample;
|
|
118
122
|
` } } />
|
|
@@ -126,15 +130,17 @@ import React from "react";
|
|
|
126
130
|
import { Text } from "@webiny/admin-ui";
|
|
127
131
|
|
|
128
132
|
const TextAsExample = () => {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
return (
|
|
134
|
+
<>
|
|
135
|
+
{/* Render as a div element */}
|
|
136
|
+
<Text as="div" size="md">
|
|
137
|
+
This text is rendered as a div
|
|
138
|
+
</Text>
|
|
139
|
+
|
|
140
|
+
{/* Default is span */}
|
|
141
|
+
<Text size="md">This text is rendered as a span</Text>
|
|
142
|
+
</>
|
|
143
|
+
);
|
|
138
144
|
};
|
|
139
145
|
|
|
140
146
|
export default TextAsExample;
|