@cube-dev/ui-kit 0.0.0-canary-00505d5 → 0.0.0-canary-5bf7ae4
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/cjs/_internal/hooks/index.js +22 -0
- package/cjs/_internal/hooks/use-deprecation-warning.js +43 -0
- package/cjs/_internal/index.js +22 -0
- package/cjs/components/Base.js +6 -9
- package/cjs/components/Block.js +3 -6
- package/cjs/components/GlobalStyles.js +1 -1
- package/cjs/components/GridProvider.js +3 -3
- package/cjs/components/HiddenInput.js +1 -1
- package/cjs/components/OpenTrasition.js +1 -1
- package/cjs/components/Root.js +5 -7
- package/cjs/components/actions/Action.js +5 -7
- package/cjs/components/actions/Button/Button.js +3 -3
- package/cjs/components/actions/Button/Submit.js +1 -1
- package/cjs/components/actions/Button/index.js +1 -1
- package/cjs/components/actions/ButtonGroup/ButtonGroup.js +3 -3
- package/cjs/components/actions/index.js +1 -1
- package/cjs/components/content/ActiveZone/ActiveZone.js +5 -7
- package/cjs/components/{organisms → content}/Alert/Alert.js +12 -14
- package/cjs/components/content/Alert/index.js +22 -0
- package/cjs/components/content/Alert/types.js +11 -0
- package/cjs/components/content/Alert/use-alert.js +32 -0
- package/cjs/components/content/Avatar/Avatar.js +4 -6
- package/cjs/components/content/Badge/Badge.js +3 -6
- package/cjs/components/content/Card/Card.js +4 -6
- package/cjs/components/content/Content.js +4 -7
- package/cjs/components/{organisms → content}/CopySnippet/CopySnippet.js +3 -4
- package/cjs/components/content/CopySnippet/index.js +22 -0
- package/cjs/components/content/Divider.js +5 -7
- package/cjs/components/content/Footer.js +5 -8
- package/cjs/components/content/Header.js +4 -7
- package/cjs/components/content/Paragraph.js +4 -5
- package/cjs/components/content/Placeholder/Placeholder.js +4 -6
- package/cjs/components/content/PrismCode/PrismCode.js +2 -3
- package/cjs/components/content/Result/Result.js +3 -6
- package/cjs/components/content/Skeleton/Skeleton.js +1 -1
- package/cjs/components/content/Tag/Tag.js +4 -7
- package/cjs/components/content/Text.js +4 -7
- package/cjs/components/content/Title.js +5 -8
- package/cjs/components/forms/Checkbox/Checkbox.js +9 -12
- package/cjs/components/forms/Checkbox/CheckboxGroup.js +7 -9
- package/cjs/components/forms/Checkbox/context.js +1 -1
- package/cjs/components/forms/FieldWrapper.js +2 -2
- package/cjs/components/forms/FileInput/FileInput.js +4 -6
- package/cjs/components/forms/Form/Field.js +1 -1
- package/cjs/components/forms/Form/Form.js +4 -6
- package/cjs/components/forms/Form/index.js +1 -1
- package/cjs/components/forms/Form/useForm.js +3 -3
- package/cjs/components/forms/Form/validation.js +1 -1
- package/cjs/components/forms/Label.js +4 -8
- package/cjs/components/forms/NumberInput/NumberInput.js +1 -1
- package/cjs/components/forms/NumberInput/StepButton.js +1 -1
- package/cjs/components/forms/PasswordInput/PasswordInput.js +1 -1
- package/cjs/components/forms/RadioGroup/Radio.js +8 -11
- package/cjs/components/forms/RadioGroup/RadioGroup.js +7 -9
- package/cjs/components/forms/RadioGroup/context.js +1 -1
- package/cjs/components/forms/SearchInput/SearchInput.js +1 -1
- package/cjs/components/forms/Switch/Switch.js +10 -13
- package/cjs/components/forms/TextArea/TextArea.js +1 -1
- package/cjs/components/forms/TextInput/TextInput.js +1 -1
- package/cjs/components/forms/TextInput/TextInputBase.js +7 -9
- package/cjs/components/forms/index.js +1 -1
- package/cjs/components/layout/Flex.js +4 -6
- package/cjs/components/layout/Flow.js +5 -7
- package/cjs/components/layout/Grid.js +4 -6
- package/cjs/components/layout/Prefix.js +5 -7
- package/cjs/components/layout/Space.js +4 -6
- package/cjs/components/layout/Suffix.js +5 -7
- package/cjs/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/cjs/components/navigation/Link/Link.js +1 -1
- package/cjs/components/organisms/FileTabs/FileTabs.js +1 -1
- package/cjs/components/organisms/Modal/Modal.js +1 -1
- package/cjs/components/organisms/StatsCard/StatsCard.js +1 -1
- package/cjs/components/other/Base64Upload/Base64Upload.js +4 -6
- package/cjs/components/other/CloudLogo/CloudLogo.js +1 -1
- package/cjs/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/cjs/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/cjs/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/cjs/components/overlays/AlertDialog/index.js +1 -1
- package/cjs/components/overlays/AlertDialog/types.js +1 -1
- package/cjs/components/overlays/Dialog/Dialog.js +5 -7
- package/cjs/components/overlays/Dialog/DialogContainer.js +1 -1
- package/cjs/components/overlays/Dialog/DialogForm.js +1 -1
- package/cjs/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/cjs/components/overlays/Dialog/context.js +1 -1
- package/cjs/components/overlays/Dialog/index.js +1 -1
- package/cjs/components/overlays/Modal/Modal.js +3 -3
- package/cjs/components/overlays/Modal/OpenTransition.js +1 -1
- package/cjs/components/overlays/Modal/Overlay.js +1 -1
- package/cjs/components/overlays/Modal/Popover.js +3 -3
- package/cjs/components/overlays/Modal/Tray.js +3 -3
- package/cjs/components/overlays/Modal/Underlay.js +3 -3
- package/cjs/components/overlays/Modal/index.js +1 -1
- package/cjs/components/overlays/Notification/Notification.js +1 -1
- package/cjs/components/overlays/OverlayWrapper.js +1 -1
- package/cjs/components/overlays/Tooltip/Tooltip.js +5 -7
- package/cjs/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/cjs/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/cjs/components/overlays/Tooltip/context.js +1 -1
- package/cjs/components/pickers/ComboBox/ComboBox.js +7 -9
- package/cjs/components/pickers/Menu/Menu.js +4 -6
- package/cjs/components/pickers/Menu/MenuButton.js +1 -1
- package/cjs/components/pickers/Menu/MenuItem.js +1 -1
- package/cjs/components/pickers/Menu/MenuSection.js +1 -1
- package/cjs/components/pickers/Menu/MenuTrigger.js +1 -1
- package/cjs/components/pickers/Menu/context.js +1 -1
- package/cjs/components/pickers/Menu/styled.js +1 -1
- package/cjs/components/pickers/Select/Select.js +12 -15
- package/cjs/components/portal/Portal.js +1 -1
- package/cjs/components/portal/PortalProvider.js +1 -1
- package/cjs/components/portal/index.js +1 -1
- package/cjs/components/portal/storybook/templates/CustomRoot.js +1 -1
- package/cjs/components/portal/storybook/templates/PortalOrder.js +1 -1
- package/cjs/components/portal/storybook/templates/basic.js +1 -1
- package/cjs/components/portal/storybook/templates/index.js +1 -1
- package/cjs/components/portal/types.js +1 -1
- package/cjs/components/portal/usePortal.js +1 -1
- package/cjs/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/cjs/components/status/Spin/Spin.js +1 -1
- package/cjs/data/themes.js +1 -1
- package/cjs/index.js +11 -19
- package/cjs/provider.js +4 -5
- package/cjs/services/notification.js +1 -1
- package/cjs/shared/form.js +1 -1
- package/cjs/shared/index.js +1 -1
- package/cjs/stories/FormFieldArgs.js +1 -1
- package/cjs/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/cjs/stories/components/DialogFormApp.js +1 -1
- package/cjs/stories/components/StyledButton.js +1 -1
- package/cjs/stories/lists/baseProps.js +12 -12
- package/cjs/styled/index.js +22 -0
- package/cjs/styled/styled.js +17 -22
- package/cjs/tasty/index.js +13 -1
- package/cjs/tasty/providers/BreakpointsProvider.js +1 -1
- package/cjs/tasty/providers/StylesProvider.js +1 -1
- package/cjs/tasty/styles/align.js +1 -1
- package/cjs/tasty/styles/border.js +1 -1
- package/cjs/tasty/styles/boxShadow.combinator.js +1 -1
- package/cjs/tasty/styles/color.js +1 -1
- package/cjs/tasty/styles/createStyle.js +1 -1
- package/cjs/tasty/styles/dimension.js +1 -1
- package/cjs/tasty/styles/display.js +1 -1
- package/cjs/tasty/styles/fill.js +1 -1
- package/cjs/tasty/styles/flow.js +1 -1
- package/cjs/tasty/styles/font.js +1 -1
- package/cjs/tasty/styles/fontStyle.js +1 -1
- package/cjs/tasty/styles/gap.js +1 -1
- package/cjs/tasty/styles/groupRadius.js +1 -1
- package/cjs/tasty/styles/height.js +1 -1
- package/cjs/tasty/styles/index.js +1 -1
- package/cjs/tasty/styles/justify.js +1 -1
- package/cjs/tasty/styles/list.js +1 -1
- package/cjs/tasty/styles/margin.js +1 -1
- package/cjs/tasty/styles/marginBlock.js +1 -1
- package/cjs/tasty/styles/marginInline.js +1 -1
- package/cjs/tasty/styles/outline.js +1 -1
- package/cjs/tasty/styles/padding.js +1 -1
- package/cjs/tasty/styles/paddingBlock.js +1 -1
- package/cjs/tasty/styles/paddingInline.js +1 -1
- package/cjs/tasty/styles/predefined.js +1 -1
- package/cjs/tasty/styles/preset.js +1 -1
- package/cjs/tasty/styles/radius.js +1 -1
- package/cjs/tasty/styles/reset.js +1 -1
- package/cjs/tasty/styles/shadow.js +1 -1
- package/cjs/tasty/styles/styledScrollbar.js +1 -1
- package/cjs/tasty/styles/transition.js +1 -1
- package/cjs/tasty/styles/types.js +1 -1
- package/cjs/tasty/styles/width.js +1 -1
- package/cjs/tasty/tasty.js +1 -1
- package/cjs/tasty/types.js +1 -1
- package/cjs/tasty/utils/colors.js +1 -1
- package/cjs/tasty/utils/dotize.js +1 -1
- package/cjs/tasty/utils/filterBaseProps.js +1 -1
- package/cjs/tasty/utils/index.js +1 -1
- package/cjs/tasty/utils/mergeStyles.js +1 -1
- package/cjs/tasty/utils/modAttrs.js +1 -1
- package/cjs/tasty/utils/renderStyles.js +1 -1
- package/cjs/tasty/utils/responsive.js +1 -1
- package/cjs/tasty/utils/string.js +1 -1
- package/cjs/tasty/utils/styles.js +1 -1
- package/cjs/tasty/utils/warnings.js +1 -1
- package/cjs/test/index.js +1 -1
- package/cjs/test/setup.js +1 -1
- package/cjs/test/utils/index.js +1 -1
- package/cjs/test/utils/wait.js +1 -1
- package/cjs/tokens.js +1 -1
- package/cjs/utils/ResizeSensor.js +1 -1
- package/cjs/utils/modules.js +1 -1
- package/cjs/utils/promise.js +1 -1
- package/cjs/utils/react/Slots.js +1 -1
- package/cjs/utils/react/chain.js +1 -1
- package/cjs/utils/react/index.js +3 -3
- package/cjs/utils/react/interactions.js +1 -1
- package/cjs/utils/react/isTextOnly.js +1 -1
- package/cjs/utils/react/mapProps.js +1 -1
- package/cjs/utils/react/mergeProps.js +1 -1
- package/cjs/utils/react/nullableValue.js +1 -1
- package/cjs/utils/react/useCombinedRefs.js +1 -1
- package/cjs/utils/react/useId.js +1 -1
- package/cjs/utils/react/useLayoutEffect.js +1 -1
- package/cjs/utils/react/wrapNodeIfPlain.js +1 -1
- package/cjs/utils/transitions.js +1 -1
- package/cjs/utils/tree.js +1 -1
- package/cjs/utils/warnings.js +22 -2
- package/es/_internal/hooks/index.js +10 -0
- package/es/_internal/hooks/use-deprecation-warning.js +20 -0
- package/es/_internal/index.js +10 -0
- package/es/components/Base.js +2 -5
- package/es/components/Block.js +2 -5
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +2 -2
- package/es/components/HiddenInput.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +2 -4
- package/es/components/actions/Action.js +3 -5
- package/es/components/actions/Button/Button.js +2 -2
- package/es/components/actions/Button/Submit.js +1 -1
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +2 -2
- package/es/components/actions/index.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +2 -4
- package/es/components/{organisms → content}/Alert/Alert.js +12 -14
- package/es/components/content/Alert/index.js +10 -0
- package/es/components/content/Alert/types.js +10 -0
- package/es/components/content/Alert/use-alert.js +28 -0
- package/es/components/content/Avatar/Avatar.js +2 -4
- package/es/components/content/Badge/Badge.js +2 -5
- package/es/components/content/Card/Card.js +2 -4
- package/es/components/content/Content.js +2 -5
- package/es/components/{organisms → content}/CopySnippet/CopySnippet.js +3 -4
- package/es/components/content/CopySnippet/index.js +10 -0
- package/es/components/content/Divider.js +2 -4
- package/es/components/content/Footer.js +2 -5
- package/es/components/content/Header.js +2 -5
- package/es/components/content/Paragraph.js +2 -3
- package/es/components/content/Placeholder/Placeholder.js +2 -4
- package/es/components/content/PrismCode/PrismCode.js +2 -3
- package/es/components/content/Result/Result.js +2 -5
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +2 -5
- package/es/components/content/Text.js +2 -5
- package/es/components/content/Title.js +2 -5
- package/es/components/forms/Checkbox/Checkbox.js +2 -5
- package/es/components/forms/Checkbox/CheckboxGroup.js +2 -4
- package/es/components/forms/Checkbox/context.js +1 -1
- package/es/components/forms/FieldWrapper.js +2 -2
- package/es/components/forms/FileInput/FileInput.js +2 -4
- package/es/components/forms/Form/Field.js +1 -1
- package/es/components/forms/Form/Form.js +3 -5
- package/es/components/forms/Form/index.js +1 -1
- package/es/components/forms/Form/useForm.js +2 -2
- package/es/components/forms/Form/validation.js +1 -1
- package/es/components/forms/Label.js +2 -6
- package/es/components/forms/NumberInput/NumberInput.js +1 -1
- package/es/components/forms/NumberInput/StepButton.js +1 -1
- package/es/components/forms/PasswordInput/PasswordInput.js +1 -1
- package/es/components/forms/RadioGroup/Radio.js +2 -5
- package/es/components/forms/RadioGroup/RadioGroup.js +2 -4
- package/es/components/forms/RadioGroup/context.js +1 -1
- package/es/components/forms/SearchInput/SearchInput.js +1 -1
- package/es/components/forms/Switch/Switch.js +2 -5
- package/es/components/forms/TextArea/TextArea.js +1 -1
- package/es/components/forms/TextInput/TextInput.js +1 -1
- package/es/components/forms/TextInput/TextInputBase.js +3 -5
- package/es/components/forms/index.js +1 -1
- package/es/components/layout/Flex.js +2 -4
- package/es/components/layout/Flow.js +2 -4
- package/es/components/layout/Grid.js +2 -4
- package/es/components/layout/Prefix.js +2 -4
- package/es/components/layout/Space.js +2 -4
- package/es/components/layout/Suffix.js +2 -4
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/es/components/navigation/Link/Link.js +1 -1
- package/es/components/organisms/FileTabs/FileTabs.js +1 -1
- package/es/components/organisms/Modal/Modal.js +1 -1
- package/es/components/organisms/StatsCard/StatsCard.js +1 -1
- package/es/components/other/Base64Upload/Base64Upload.js +2 -4
- package/es/components/other/CloudLogo/CloudLogo.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/es/components/overlays/AlertDialog/index.js +1 -1
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +2 -4
- package/es/components/overlays/Dialog/DialogContainer.js +1 -1
- package/es/components/overlays/Dialog/DialogForm.js +1 -1
- package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +1 -1
- package/es/components/overlays/Modal/Modal.js +2 -2
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +1 -1
- package/es/components/overlays/Modal/Popover.js +2 -2
- package/es/components/overlays/Modal/Tray.js +2 -2
- package/es/components/overlays/Modal/Underlay.js +2 -2
- package/es/components/overlays/Modal/index.js +1 -1
- package/es/components/overlays/Notification/Notification.js +1 -1
- package/es/components/overlays/OverlayWrapper.js +1 -1
- package/es/components/overlays/Tooltip/Tooltip.js +2 -4
- package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/pickers/ComboBox/ComboBox.js +2 -4
- package/es/components/pickers/Menu/Menu.js +2 -4
- package/es/components/pickers/Menu/MenuButton.js +1 -1
- package/es/components/pickers/Menu/MenuItem.js +1 -1
- package/es/components/pickers/Menu/MenuSection.js +1 -1
- package/es/components/pickers/Menu/MenuTrigger.js +1 -1
- package/es/components/pickers/Menu/context.js +1 -1
- package/es/components/pickers/Menu/styled.js +1 -1
- package/es/components/pickers/Select/Select.js +3 -6
- package/es/components/portal/Portal.js +1 -1
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/storybook/templates/CustomRoot.js +1 -1
- package/es/components/portal/storybook/templates/PortalOrder.js +1 -1
- package/es/components/portal/storybook/templates/basic.js +1 -1
- package/es/components/portal/storybook/templates/index.js +1 -1
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/es/components/status/Spin/Spin.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/index.js +8 -11
- package/es/provider.js +2 -3
- package/es/services/notification.js +1 -1
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/stories/FormFieldArgs.js +1 -1
- package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/es/stories/components/DialogFormApp.js +1 -1
- package/es/stories/components/StyledButton.js +1 -1
- package/es/stories/lists/baseProps.js +2 -2
- package/es/styled/index.js +10 -0
- package/es/styled/styled.js +4 -9
- package/es/tasty/index.js +13 -1
- package/es/tasty/providers/BreakpointsProvider.js +1 -1
- package/es/tasty/providers/StylesProvider.js +1 -1
- package/es/tasty/styles/align.js +1 -1
- package/es/tasty/styles/border.js +1 -1
- package/es/tasty/styles/boxShadow.combinator.js +1 -1
- package/es/tasty/styles/color.js +1 -1
- package/es/tasty/styles/createStyle.js +1 -1
- package/es/tasty/styles/dimension.js +1 -1
- package/es/tasty/styles/display.js +1 -1
- package/es/tasty/styles/fill.js +1 -1
- package/es/tasty/styles/flow.js +1 -1
- package/es/tasty/styles/font.js +1 -1
- package/es/tasty/styles/fontStyle.js +1 -1
- package/es/tasty/styles/gap.js +1 -1
- package/es/tasty/styles/groupRadius.js +1 -1
- package/es/tasty/styles/height.js +1 -1
- package/es/tasty/styles/index.js +1 -1
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +1 -1
- package/es/tasty/styles/margin.js +1 -1
- package/es/tasty/styles/marginBlock.js +1 -1
- package/es/tasty/styles/marginInline.js +1 -1
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +1 -1
- package/es/tasty/styles/paddingBlock.js +1 -1
- package/es/tasty/styles/paddingInline.js +1 -1
- package/es/tasty/styles/predefined.js +1 -1
- package/es/tasty/styles/preset.js +1 -1
- package/es/tasty/styles/radius.js +1 -1
- package/es/tasty/styles/reset.js +1 -1
- package/es/tasty/styles/shadow.js +1 -1
- package/es/tasty/styles/styledScrollbar.js +1 -1
- package/es/tasty/styles/transition.js +1 -1
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +1 -1
- package/es/tasty/tasty.js +1 -1
- package/es/tasty/types.js +1 -1
- package/es/tasty/utils/colors.js +1 -1
- package/es/tasty/utils/dotize.js +1 -1
- package/es/tasty/utils/filterBaseProps.js +1 -1
- package/es/tasty/utils/index.js +1 -1
- package/es/tasty/utils/mergeStyles.js +1 -1
- package/es/tasty/utils/modAttrs.js +1 -1
- package/es/tasty/utils/renderStyles.js +1 -1
- package/es/tasty/utils/responsive.js +1 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +1 -1
- package/es/tasty/utils/warnings.js +1 -1
- package/es/test/index.js +1 -1
- package/es/test/setup.js +1 -1
- package/es/test/utils/index.js +1 -1
- package/es/test/utils/wait.js +1 -1
- package/es/tokens.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/react/Slots.js +1 -1
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/index.js +2 -2
- package/es/utils/react/interactions.js +1 -1
- package/es/utils/react/isTextOnly.js +1 -1
- package/es/utils/react/mapProps.js +1 -1
- package/es/utils/react/mergeProps.js +1 -1
- package/es/utils/react/nullableValue.js +1 -1
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useId.js +1 -1
- package/es/utils/react/useLayoutEffect.js +1 -1
- package/es/utils/react/wrapNodeIfPlain.js +1 -1
- package/es/utils/transitions.js +1 -1
- package/es/utils/tree.js +1 -1
- package/es/utils/warnings.js +20 -1
- package/package.json +1 -1
- package/types/_internal/hooks/index.d.ts +1 -0
- package/types/_internal/hooks/use-deprecation-warning.d.ts +2 -0
- package/types/_internal/index.d.ts +1 -0
- package/types/components/Base.d.ts +1 -1
- package/types/components/Block.d.ts +1 -1
- package/types/components/GridProvider.d.ts +1 -1
- package/types/components/Root.d.ts +1 -1
- package/types/components/actions/Action.d.ts +1 -1
- package/types/components/content/ActiveZone/ActiveZone.d.ts +1 -1
- package/types/components/content/Alert/Alert.d.ts +3 -0
- package/types/components/content/Alert/index.d.ts +2 -0
- package/types/components/content/Alert/types.d.ts +17 -0
- package/types/components/content/Alert/use-alert.d.ts +6 -0
- package/types/components/content/Avatar/Avatar.d.ts +1 -2
- package/types/components/content/Badge/Badge.d.ts +1 -1
- package/types/components/content/Card/Card.d.ts +1 -1
- package/types/components/content/Content.d.ts +1 -1
- package/types/components/{organisms → content}/CopySnippet/CopySnippet.d.ts +2 -2
- package/types/components/content/CopySnippet/index.d.ts +1 -0
- package/types/components/content/Divider.d.ts +1 -1
- package/types/components/content/Footer.d.ts +1 -1
- package/types/components/content/Header.d.ts +1 -1
- package/types/components/content/Paragraph.d.ts +1 -1
- package/types/components/content/Placeholder/Placeholder.d.ts +1 -2
- package/types/components/content/PrismCode/PrismCode.d.ts +1 -2
- package/types/components/content/Result/Result.d.ts +1 -1
- package/types/components/content/Skeleton/Skeleton.d.ts +1 -1
- package/types/components/content/Tag/Tag.d.ts +1 -1
- package/types/components/content/Text.d.ts +1 -2
- package/types/components/content/Title.d.ts +1 -1
- package/types/components/forms/Checkbox/Checkbox.d.ts +1 -1
- package/types/components/forms/Checkbox/CheckboxGroup.d.ts +1 -1
- package/types/components/forms/FieldWrapper.d.ts +1 -1
- package/types/components/forms/FileInput/FileInput.d.ts +1 -2
- package/types/components/forms/Form/Form.d.ts +2 -3
- package/types/components/forms/Label.d.ts +1 -2
- package/types/components/forms/RadioGroup/Radio.d.ts +1 -2
- package/types/components/forms/RadioGroup/RadioGroup.d.ts +1 -2
- package/types/components/forms/Switch/Switch.d.ts +1 -2
- package/types/components/forms/TextInput/TextInputBase.d.ts +1 -2
- package/types/components/layout/Flex.d.ts +1 -1
- package/types/components/layout/Flow.d.ts +1 -1
- package/types/components/layout/Grid.d.ts +1 -1
- package/types/components/layout/Prefix.d.ts +1 -1
- package/types/components/layout/Space.d.ts +1 -1
- package/types/components/layout/Suffix.d.ts +1 -1
- package/types/components/navigation/LegacyTabs/LegacyTabs.d.ts +1 -1
- package/types/components/organisms/FileTabs/FileTabs.d.ts +4 -1
- package/types/components/other/Base64Upload/Base64Upload.d.ts +1 -1
- package/types/components/overlays/AlertDialog/types.d.ts +1 -1
- package/types/components/overlays/Dialog/Dialog.d.ts +1 -1
- package/types/components/overlays/Dialog/DialogTrigger.d.ts +1 -1
- package/types/components/overlays/Modal/Modal.d.ts +1 -2
- package/types/components/overlays/Modal/Popover.d.ts +1 -1
- package/types/components/overlays/Modal/Tray.d.ts +1 -2
- package/types/components/overlays/Tooltip/Tooltip.d.ts +1 -2
- package/types/components/overlays/Tooltip/TooltipProvider.d.ts +1 -1
- package/types/components/overlays/Tooltip/context.d.ts +1 -1
- package/types/components/pickers/Menu/Menu.d.ts +2 -3
- package/types/components/pickers/Menu/styled.d.ts +128 -128
- package/types/components/pickers/Select/Select.d.ts +1 -2
- package/types/index.d.ts +8 -16
- package/types/provider.d.ts +1 -2
- package/types/shared/form.d.ts +1 -2
- package/types/stories/components/StyledButton.d.ts +84 -84
- package/types/styled/index.d.ts +1 -0
- package/types/styled/styled.d.ts +1 -3
- package/types/tasty/index.d.ts +15 -1
- package/types/tasty/styles/index.d.ts +1 -1
- package/types/tasty/styles/preset.d.ts +1 -1
- package/types/tasty/styles/types.d.ts +1 -1
- package/types/tasty/types.d.ts +1 -1
- package/types/utils/react/index.d.ts +1 -1
- package/types/utils/react/mergeProps.d.ts +1 -1
- package/types/utils/react/nullableValue.d.ts +1 -1
- package/types/utils/warnings.d.ts +6 -0
- package/cjs/components/organisms/DirectoryTree/DirectoryTree.js +0 -166
- package/cjs/components/organisms/SearchResults/SearchResults.js +0 -108
- package/cjs/components/organisms/TopBar/TopBar.js +0 -33
- package/es/components/organisms/DirectoryTree/DirectoryTree.js +0 -162
- package/es/components/organisms/SearchResults/SearchResults.js +0 -104
- package/es/components/organisms/TopBar/TopBar.js +0 -29
- package/types/components/organisms/Alert/Alert.d.ts +0 -8
- package/types/components/organisms/DirectoryTree/DirectoryTree.d.ts +0 -44
- package/types/components/organisms/SearchResults/SearchResults.d.ts +0 -31
- package/types/components/organisms/TopBar/TopBar.d.ts +0 -6
|
@@ -7,7 +7,7 @@ export declare function presetStyle({ preset, fontSize, lineHeight, textTransfor
|
|
|
7
7
|
fontWeight: any;
|
|
8
8
|
fontStyle: any;
|
|
9
9
|
font: any;
|
|
10
|
-
}):
|
|
10
|
+
}): Record<string, any> | "";
|
|
11
11
|
export declare namespace presetStyle {
|
|
12
12
|
var __lookupStyles: string[];
|
|
13
13
|
}
|
|
@@ -13,7 +13,7 @@ export interface StylesInterface extends Omit<CSSProperties, 'color' | 'fill' |
|
|
|
13
13
|
* fill="#dark.30" // the dark color with 30% opacity
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
fill?: `#${NamedColor}${OpaquePercentage}` | `rgb(${string})` | `rgba(${string})` | boolean | string;
|
|
16
|
+
fill?: `#${NamedColor}${OpaquePercentage}` | `rgb(${string})` | `rgba(${string})` | boolean | (string & {});
|
|
17
17
|
/** Set the text (current) color of the element
|
|
18
18
|
* ```
|
|
19
19
|
* color="#{name_of_the_color}"
|
package/types/tasty/types.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export interface BasePropsWithoutChildren extends Pick<AllHTMLAttributes<HTMLEle
|
|
|
36
36
|
[key: string]: string | number | null;
|
|
37
37
|
});
|
|
38
38
|
/** User-defined theme for the element. Mapped to data-theme attribute. Use `default`, or `danger`, or any custom string value you need. */
|
|
39
|
-
theme?: 'default' | 'danger' | string;
|
|
39
|
+
theme?: 'default' | 'danger' | (string & {});
|
|
40
40
|
}
|
|
41
41
|
export interface BaseProps extends BasePropsWithoutChildren, Pick<AllHTMLAttributes<HTMLElementTagNameMap['div']>, 'children'> {
|
|
42
42
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { chain } from './chain';
|
|
2
2
|
export { isTextOnly } from './isTextOnly';
|
|
3
3
|
export { mergeProps } from './mergeProps';
|
|
4
|
-
export { modAttrs } from '../../tasty
|
|
4
|
+
export { modAttrs } from '../../tasty';
|
|
5
5
|
export { useSlotProps, SlotProvider, ClearSlots } from './Slots';
|
|
6
6
|
export { useLayoutEffect } from './useLayoutEffect';
|
|
7
7
|
export { useCombinedRefs } from './useCombinedRefs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Props } from '../../tasty
|
|
1
|
+
import { Props } from '../../tasty';
|
|
2
2
|
export declare function castNullableStringValue<T>(props: T): T;
|
|
3
3
|
export declare function castNullableNumberValue<T>(props: T): T;
|
|
4
4
|
export declare function castNullableArrayValue<T>(props: T): T;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
export declare function propDeprecationWarning(name: any, props: any, propList: any): void;
|
|
2
2
|
export declare function accessibilityWarning(...args: any[]): void;
|
|
3
3
|
export declare function warn(...args: any[]): void;
|
|
4
|
+
export declare function deprecationWarning(condition: any, { property, name, betterAlternative, reason, }: {
|
|
5
|
+
property: string;
|
|
6
|
+
name: string;
|
|
7
|
+
betterAlternative: (() => string) | string;
|
|
8
|
+
reason?: (() => string) | string;
|
|
9
|
+
}): void;
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license MIT
|
|
3
|
-
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-00505d5
|
|
5
|
-
* Released under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
"use strict";
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.DirectoryTree = void 0;
|
|
11
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
12
|
-
const react_1 = require("react");
|
|
13
|
-
const icons_1 = require("@ant-design/icons");
|
|
14
|
-
const Flex_1 = require("../../layout/Flex");
|
|
15
|
-
const Action_1 = require("../../actions/Action");
|
|
16
|
-
const actions_1 = require("../../actions");
|
|
17
|
-
const Space_1 = require("../../layout/Space");
|
|
18
|
-
const Block_1 = require("../../Block");
|
|
19
|
-
const IMAGES = {
|
|
20
|
-
created: ((0, jsx_runtime_1.jsxs)("svg", { width: "16", height: "16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { d: "M4.714 8.572h2.714v2.715c0 .078.065.142.143.142h.857a.143.143 0 00.143-.143V8.572h2.715a.143.143 0 00.142-.143v-.857a.143.143 0 00-.142-.143H8.57V4.715a.143.143 0 00-.143-.143h-.857a.143.143 0 00-.143.143V7.43H4.714a.143.143 0 00-.143.143v.857c0 .079.065.143.143.143z", fill: "#67C082" }, void 0), (0, jsx_runtime_1.jsx)("path", { d: "M14.572.857H1.429a.57.57 0 00-.572.572v13.143a.57.57 0 00.572.571h13.143a.57.57 0 00.571-.571V1.429a.57.57 0 00-.571-.572zm-.715 13H2.143V2.143h11.714v11.714z", fill: "#67C082" }, void 0)] }, void 0)),
|
|
21
|
-
deleted: ((0, jsx_runtime_1.jsxs)("svg", { width: "16", height: "16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { d: "M4.714 8.57h6.572a.143.143 0 00.142-.142V7.57a.143.143 0 00-.142-.143H4.714a.143.143 0 00-.143.143v.857c0 .078.065.143.143.143z", fill: "#FF646D" }, void 0), (0, jsx_runtime_1.jsx)("path", { d: "M14.572.857H1.429a.57.57 0 00-.572.572v13.143a.57.57 0 00.572.571h13.143a.57.57 0 00.571-.571V1.429a.57.57 0 00-.571-.572zm-.715 13H2.143V2.143h11.714v11.714z", fill: "#FF646D" }, void 0)] }, void 0)),
|
|
22
|
-
modified: ((0, jsx_runtime_1.jsxs)("svg", { width: "16", height: "16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { d: "M14.572.857H1.429a.57.57 0 00-.572.572v13.143a.57.57 0 00.572.571h13.143a.57.57 0 00.571-.571V1.429a.57.57 0 00-.571-.572zm-.715 13H2.143V2.143h11.714v11.714z", fill: "#FBBC05" }, void 0), (0, jsx_runtime_1.jsx)("circle", { cx: "8", cy: "8", r: "2.222", fill: "#FBBC05" }, void 0)] }, void 0)),
|
|
23
|
-
};
|
|
24
|
-
const TEXT_OVERFLOW_STYLES = {
|
|
25
|
-
whiteSpace: 'nowrap',
|
|
26
|
-
textOverflow: 'ellipsis',
|
|
27
|
-
maxWidth: '100%',
|
|
28
|
-
overflow: 'hidden',
|
|
29
|
-
};
|
|
30
|
-
function calcPadding(indent) {
|
|
31
|
-
return `.75x .5x .75x ${1.5 * indent + 0.5}x`;
|
|
32
|
-
}
|
|
33
|
-
function extractLeafKeys(subTreeData, dirsOnly = false) {
|
|
34
|
-
return subTreeData.reduce((list, item) => {
|
|
35
|
-
if (!item.isLeaf) {
|
|
36
|
-
list.push(item.key);
|
|
37
|
-
list.push(...extractLeafKeys(item.children || []));
|
|
38
|
-
}
|
|
39
|
-
else if (!dirsOnly) {
|
|
40
|
-
list.push(item.key);
|
|
41
|
-
}
|
|
42
|
-
return list;
|
|
43
|
-
}, []);
|
|
44
|
-
}
|
|
45
|
-
const MODE_BG = {
|
|
46
|
-
created: {
|
|
47
|
-
'': '#success.10',
|
|
48
|
-
hovered: '#success.15',
|
|
49
|
-
},
|
|
50
|
-
deleted: {
|
|
51
|
-
'': '#danger.08',
|
|
52
|
-
hovered: '#danger.13',
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
const MODE_COLOR = {
|
|
56
|
-
created: '#success',
|
|
57
|
-
deleted: '#danger',
|
|
58
|
-
};
|
|
59
|
-
function getItemStyles({ isSelected, mode, indent }) {
|
|
60
|
-
return {
|
|
61
|
-
width: 'max 100%',
|
|
62
|
-
radius: true,
|
|
63
|
-
textAlign: 'left',
|
|
64
|
-
fill: isSelected
|
|
65
|
-
? '#purple.05'
|
|
66
|
-
: MODE_BG[mode] || {
|
|
67
|
-
'': '#clear',
|
|
68
|
-
hovered: '#dark.04',
|
|
69
|
-
},
|
|
70
|
-
color: isSelected ? '#purple-text' : MODE_COLOR[mode] || '#dark.75',
|
|
71
|
-
outline: {
|
|
72
|
-
'': '#purple-03.0',
|
|
73
|
-
'focused & focus-visible': '#purple-03',
|
|
74
|
-
},
|
|
75
|
-
fontWeight: isSelected ? 500 : 400,
|
|
76
|
-
padding: calcPadding(indent),
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function Item(props) {
|
|
80
|
-
let { children, mode, indent, onPress, isSelected } = props;
|
|
81
|
-
return ((0, jsx_runtime_1.jsx)(Action_1.Action, { onPress: onPress, styles: getItemStyles({ isSelected, mode, indent }), style: { whiteSpace: 'nowrap' }, children: children }, void 0));
|
|
82
|
-
}
|
|
83
|
-
function sortTreeData(filesTree) {
|
|
84
|
-
filesTree = filesTree.map((item) => {
|
|
85
|
-
return {
|
|
86
|
-
...item,
|
|
87
|
-
children: item.children ? sortTreeData(item.children) : undefined,
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
return filesTree.sort((a, b) => {
|
|
91
|
-
if (!a.isLeaf && b.isLeaf) {
|
|
92
|
-
return -1;
|
|
93
|
-
}
|
|
94
|
-
else if (!b.isLeaf && a.isLeaf) {
|
|
95
|
-
return 1;
|
|
96
|
-
}
|
|
97
|
-
else if (a.title && b.title) {
|
|
98
|
-
return a.title.localeCompare(b.title, 'en', { sensitivity: 'base' });
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
return 0;
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
const HOVER_CSS = `
|
|
106
|
-
&:hover .actions {
|
|
107
|
-
opacity: 1;
|
|
108
|
-
}
|
|
109
|
-
&:not(:hover) .actions {
|
|
110
|
-
opacity: 0;
|
|
111
|
-
}
|
|
112
|
-
`;
|
|
113
|
-
function DirectoryTree(props) {
|
|
114
|
-
let { onSelect, treeData, selectedKey, defaultExpandAll, rootTitle, actionsPanel, onlyDirs, ...otherProps } = props;
|
|
115
|
-
treeData = sortTreeData(treeData);
|
|
116
|
-
const [expanded, setExpanded] = (0, react_1.useState)(['/']);
|
|
117
|
-
const [selected, setSelected] = (0, react_1.useState)(selectedKey);
|
|
118
|
-
const fullTreeData = [
|
|
119
|
-
{
|
|
120
|
-
key: '/',
|
|
121
|
-
title: rootTitle || '/',
|
|
122
|
-
children: treeData,
|
|
123
|
-
},
|
|
124
|
-
];
|
|
125
|
-
(0, react_1.useEffect)(() => {
|
|
126
|
-
setSelected(selectedKey);
|
|
127
|
-
}, [selectedKey]);
|
|
128
|
-
(0, react_1.useEffect)(() => {
|
|
129
|
-
if (defaultExpandAll) {
|
|
130
|
-
setExpanded(extractLeafKeys(fullTreeData, true));
|
|
131
|
-
}
|
|
132
|
-
}, []);
|
|
133
|
-
function toggle(item) {
|
|
134
|
-
if (expanded.includes(item.key)) {
|
|
135
|
-
setExpanded(expanded.filter((key) => key !== item.key));
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
setExpanded([...expanded, item.key]);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
function select(item) {
|
|
142
|
-
onSelect && onSelect(item.key);
|
|
143
|
-
setSelected(item.key);
|
|
144
|
-
}
|
|
145
|
-
function recursiveRender(subTreeData, indent = 0) {
|
|
146
|
-
return subTreeData.reduce((list, item) => {
|
|
147
|
-
if (!item.isLeaf) {
|
|
148
|
-
list.push((0, jsx_runtime_1.jsx)(Item, { indent: indent, isSelected: selected === item.key, onPress: () => select(item), children: (0, jsx_runtime_1.jsxs)(Space_1.Space, { gap: ".5x", css: HOVER_CSS, children: [(0, jsx_runtime_1.jsx)(actions_1.Button, { type: "clear", margin: "-.5x", padding: ".25x", color: {
|
|
149
|
-
'': '#dark.60',
|
|
150
|
-
hovered: '#purple',
|
|
151
|
-
}, onPress: () => toggle(item), label: expanded.includes(item.key) ? 'Collapse' : 'Expand', children: expanded.includes(item.key) ? ((0, jsx_runtime_1.jsx)(icons_1.CaretUpOutlined, {}, void 0)) : ((0, jsx_runtime_1.jsx)(icons_1.CaretDownOutlined, {}, void 0)) }, void 0), (0, jsx_runtime_1.jsxs)(Space_1.Space, { gap: "1x", flexGrow: 1, color: selected === item.key ? '#purple' : '#dark.50', children: [expanded.includes(item.key) ? ((0, jsx_runtime_1.jsx)(icons_1.FolderOpenFilled, {}, void 0)) : ((0, jsx_runtime_1.jsx)(icons_1.FolderFilled, {}, void 0)), (0, jsx_runtime_1.jsx)(Block_1.Block, { style: TEXT_OVERFLOW_STYLES, color: selected === item.key ? '#purple-text' : '#dark.75', children: item.title }, void 0)] }, void 0), actionsPanel && actionsPanel(item)] }, void 0) }, item.key));
|
|
152
|
-
if (expanded.includes(item.key)) {
|
|
153
|
-
list.push(...recursiveRender(item.children || [], indent + 1));
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
else if (!onlyDirs) {
|
|
157
|
-
list.push((0, jsx_runtime_1.jsx)(Item, { indent: indent + 1.7, isSelected: selected === item.key, onPress: () => select(item), mode: item.mode, children: (0, jsx_runtime_1.jsxs)(Space_1.Space, { gap: "1x", css: HOVER_CSS, color: selected === item.key ? '#purple' : '#dark.50', children: [(0, jsx_runtime_1.jsx)(icons_1.FileOutlined, {}, void 0), (0, jsx_runtime_1.jsx)(Block_1.Block, { style: TEXT_OVERFLOW_STYLES, flexGrow: 1, color: selected === item.key ? '#purple-text' : '#dark.75', children: item.title }, void 0), actionsPanel && actionsPanel(item), item.mode && ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { padding: "0 .5x", placeItems: "center", children: IMAGES[item.mode] }, void 0))] }, void 0) }, item.key));
|
|
158
|
-
}
|
|
159
|
-
return list;
|
|
160
|
-
}, []);
|
|
161
|
-
}
|
|
162
|
-
return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { styles: { flow: 'column', fontWeight: 500, width: '100%', gap: '1bw' }, ...otherProps, children: recursiveRender(fullTreeData) }, void 0));
|
|
163
|
-
}
|
|
164
|
-
exports.DirectoryTree = DirectoryTree;
|
|
165
|
-
|
|
166
|
-
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license MIT
|
|
3
|
-
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-00505d5
|
|
5
|
-
* Released under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
"use strict";
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.SearchResults = void 0;
|
|
11
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
12
|
-
const react_1 = require("react");
|
|
13
|
-
const icons_1 = require("@ant-design/icons");
|
|
14
|
-
const Flex_1 = require("../../layout/Flex");
|
|
15
|
-
const Action_1 = require("../../actions/Action");
|
|
16
|
-
const actions_1 = require("../../actions");
|
|
17
|
-
const Space_1 = require("../../layout/Space");
|
|
18
|
-
const Block_1 = require("../../Block");
|
|
19
|
-
const Paragraph_1 = require("../../content/Paragraph");
|
|
20
|
-
const Text_1 = require("../../content/Text");
|
|
21
|
-
const TEXT_OVERFLOW_STYLES = {
|
|
22
|
-
whiteSpace: 'nowrap',
|
|
23
|
-
textOverflow: 'ellipsis',
|
|
24
|
-
maxWidth: '100%',
|
|
25
|
-
overflow: 'hidden',
|
|
26
|
-
};
|
|
27
|
-
function getItemStyles({ indent, isSelected, }) {
|
|
28
|
-
return {
|
|
29
|
-
width: 'max 100%',
|
|
30
|
-
radius: true,
|
|
31
|
-
textAlign: 'left',
|
|
32
|
-
fill: isSelected
|
|
33
|
-
? '#purple.05'
|
|
34
|
-
: {
|
|
35
|
-
'': '#clear',
|
|
36
|
-
hovered: '#dark.04',
|
|
37
|
-
},
|
|
38
|
-
color: isSelected ? '#purple-text' : '#dark.75',
|
|
39
|
-
outline: {
|
|
40
|
-
'': '#purple-03.0',
|
|
41
|
-
'focused & focus-visible': '#purple-03',
|
|
42
|
-
},
|
|
43
|
-
fontWeight: 400,
|
|
44
|
-
padding: `.75x .5x .75x ${indent || 0.5}x`,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
function Item({ children, indent, onPress, isSelected, }) {
|
|
48
|
-
return ((0, jsx_runtime_1.jsx)(Action_1.Action, { onPress: onPress, styles: getItemStyles({ indent, isSelected }), style: { whiteSpace: 'nowrap' }, children: children }, void 0));
|
|
49
|
-
}
|
|
50
|
-
const HOVER_CSS = `
|
|
51
|
-
&:hover .actions {
|
|
52
|
-
opacity: 1;
|
|
53
|
-
}
|
|
54
|
-
&:not(:hover) .actions {
|
|
55
|
-
opacity: 0;
|
|
56
|
-
}
|
|
57
|
-
`;
|
|
58
|
-
function SearchResults({ onSelect, files, selectedKey, defaultExpandAll, ...otherProps }) {
|
|
59
|
-
const [expanded, setExpanded] = (0, react_1.useState)([]);
|
|
60
|
-
const [selected, setSelected] = (0, react_1.useState)(selectedKey);
|
|
61
|
-
(0, react_1.useEffect)(() => {
|
|
62
|
-
setSelected(selectedKey);
|
|
63
|
-
}, [selectedKey]);
|
|
64
|
-
(0, react_1.useEffect)(() => {
|
|
65
|
-
if (defaultExpandAll) {
|
|
66
|
-
setExpanded(files.map((file) => file.key));
|
|
67
|
-
}
|
|
68
|
-
}, []);
|
|
69
|
-
(0, react_1.useEffect)(() => {
|
|
70
|
-
if (defaultExpandAll) {
|
|
71
|
-
setExpanded(files.map((file) => file.key));
|
|
72
|
-
}
|
|
73
|
-
}, [files]);
|
|
74
|
-
function toggle(item) {
|
|
75
|
-
if (expanded.includes(item.key)) {
|
|
76
|
-
setExpanded(expanded.filter((key) => key !== item.key));
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
setExpanded([...expanded, item.key]);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
function select(item, position) {
|
|
83
|
-
const key = typeof item === 'string' ? item : item.key;
|
|
84
|
-
onSelect && onSelect(key.split('|')[0], position);
|
|
85
|
-
setSelected(key);
|
|
86
|
-
}
|
|
87
|
-
const resultsNumber = files.reduce((sum, file) => sum + file.items.length, 0);
|
|
88
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { styles: {
|
|
89
|
-
flow: 'column',
|
|
90
|
-
width: '100%',
|
|
91
|
-
gap: '1bw',
|
|
92
|
-
padding: '2x bottom',
|
|
93
|
-
}, ...otherProps, children: [(0, jsx_runtime_1.jsx)(Paragraph_1.Paragraph, { color: "#dark.50", padding: "1x 0", children: resultsNumber
|
|
94
|
-
? `${resultsNumber} result${resultsNumber > 1 ? 's' : ''} in ${files.length} file${files.length > 1 ? 's' : ''}`
|
|
95
|
-
: 'No results found' }, void 0), files.map((file) => {
|
|
96
|
-
return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Item, { isSelected: selected === file.key, onPress: () => select(file), indent: file.items.length ? null : 2.25, children: (0, jsx_runtime_1.jsxs)(Space_1.Space, { gap: ".5x", css: HOVER_CSS, children: [(0, jsx_runtime_1.jsx)(actions_1.Button, { type: "clear", margin: "-.5x", padding: ".25x", color: {
|
|
97
|
-
'': '#dark.60',
|
|
98
|
-
hovered: '#purple',
|
|
99
|
-
}, onPress: () => toggle(file), label: expanded.includes(file.key) ? 'Collapse' : 'Expand', children: file.items.length ? (expanded.includes(file.key) ? ((0, jsx_runtime_1.jsx)(icons_1.CaretUpOutlined, {}, void 0)) : ((0, jsx_runtime_1.jsx)(icons_1.CaretDownOutlined, {}, void 0))) : null }, void 0), (0, jsx_runtime_1.jsxs)(Space_1.Space, { gap: "1x", flexGrow: 1, color: selected === file.key ? '#purple' : '#dark.50', children: [expanded.includes(file.key) ? ((0, jsx_runtime_1.jsx)(icons_1.FileOutlined, {}, void 0)) : ((0, jsx_runtime_1.jsx)(icons_1.FileOutlined, {}, void 0)), (0, jsx_runtime_1.jsx)(Block_1.Block, { style: TEXT_OVERFLOW_STYLES, color: selected === file.key ? '#purple-text' : '#dark.75', children: file.entry ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [file.before || '', (0, jsx_runtime_1.jsx)(Text_1.Text.Selection, { children: file.entry }, void 0), file.after || ''] }, void 0)) : (file.title) }, void 0)] }, void 0)] }, void 0) }, file.key), (expanded.includes(file.key) ? file.items || [] : []).map((item, i) => {
|
|
100
|
-
const key = `${file.key}|${i}`;
|
|
101
|
-
const isSelected = selected === key;
|
|
102
|
-
return ((0, jsx_runtime_1.jsx)(Item, { indent: 3.5, isSelected: isSelected, onPress: () => select(key, [item.row, item.column]), children: (0, jsx_runtime_1.jsx)(Space_1.Space, { gap: "1x", css: HOVER_CSS, color: isSelected ? '#purple' : '#dark.50', children: (0, jsx_runtime_1.jsxs)(Block_1.Block, { style: TEXT_OVERFLOW_STYLES, flexGrow: 1, color: isSelected ? '#purple-text' : '#dark.75', children: [item.before || '', (0, jsx_runtime_1.jsx)(Text_1.Text.Selection, { children: item.entry }, void 0), item.after || ''] }, void 0) }, void 0) }, key));
|
|
103
|
-
})] }, file.key));
|
|
104
|
-
})] }, void 0));
|
|
105
|
-
}
|
|
106
|
-
exports.SearchResults = SearchResults;
|
|
107
|
-
|
|
108
|
-
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license MIT
|
|
3
|
-
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-00505d5
|
|
5
|
-
* Released under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
"use strict";
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.TopBar = void 0;
|
|
11
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
12
|
-
const Base_1 = require("../../Base");
|
|
13
|
-
const CloudLogo_1 = require("../../other/CloudLogo/CloudLogo");
|
|
14
|
-
const Space_1 = require("../../layout/Space");
|
|
15
|
-
const list_1 = require("../../../tasty/styles/list");
|
|
16
|
-
const styles_1 = require("../../../tasty/utils/styles");
|
|
17
|
-
const filterBaseProps_1 = require("../../../tasty/utils/filterBaseProps");
|
|
18
|
-
const DEFAULT_STYLES = {
|
|
19
|
-
display: 'flex',
|
|
20
|
-
flow: 'row',
|
|
21
|
-
gap: '1x',
|
|
22
|
-
placeContent: 'space-between',
|
|
23
|
-
placeItems: 'center',
|
|
24
|
-
padding: '1x 1.5x',
|
|
25
|
-
fill: '#white',
|
|
26
|
-
};
|
|
27
|
-
function TopBar({ children, onLogoPress, ...props }) {
|
|
28
|
-
const styles = (0, styles_1.extractStyles)(props, list_1.CONTAINER_STYLES, DEFAULT_STYLES);
|
|
29
|
-
return ((0, jsx_runtime_1.jsxs)(Base_1.Base, { role: "banner", styles: styles, ...(0, filterBaseProps_1.filterBaseProps)(props), children: [(0, jsx_runtime_1.jsx)(CloudLogo_1.CloudLogo, { onPress: onLogoPress }, void 0), (0, jsx_runtime_1.jsx)(Space_1.Space, { flexGrow: 1, placeContent: "space-between", children: children }, void 0)] }, void 0));
|
|
30
|
-
}
|
|
31
|
-
exports.TopBar = TopBar;
|
|
32
|
-
|
|
33
|
-
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license MIT
|
|
3
|
-
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-00505d5
|
|
5
|
-
* Released under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
-
import { useEffect, useState } from 'react';
|
|
10
|
-
import { CaretDownOutlined, CaretUpOutlined, FileOutlined, FolderOpenFilled, FolderFilled, } from '@ant-design/icons';
|
|
11
|
-
import { Flex } from '../../layout/Flex';
|
|
12
|
-
import { Action } from '../../actions/Action';
|
|
13
|
-
import { Button } from '../../actions';
|
|
14
|
-
import { Space } from '../../layout/Space';
|
|
15
|
-
import { Block } from '../../Block';
|
|
16
|
-
const IMAGES = {
|
|
17
|
-
created: (_jsxs("svg", { width: "16", height: "16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M4.714 8.572h2.714v2.715c0 .078.065.142.143.142h.857a.143.143 0 00.143-.143V8.572h2.715a.143.143 0 00.142-.143v-.857a.143.143 0 00-.142-.143H8.57V4.715a.143.143 0 00-.143-.143h-.857a.143.143 0 00-.143.143V7.43H4.714a.143.143 0 00-.143.143v.857c0 .079.065.143.143.143z", fill: "#67C082" }, void 0), _jsx("path", { d: "M14.572.857H1.429a.57.57 0 00-.572.572v13.143a.57.57 0 00.572.571h13.143a.57.57 0 00.571-.571V1.429a.57.57 0 00-.571-.572zm-.715 13H2.143V2.143h11.714v11.714z", fill: "#67C082" }, void 0)] }, void 0)),
|
|
18
|
-
deleted: (_jsxs("svg", { width: "16", height: "16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M4.714 8.57h6.572a.143.143 0 00.142-.142V7.57a.143.143 0 00-.142-.143H4.714a.143.143 0 00-.143.143v.857c0 .078.065.143.143.143z", fill: "#FF646D" }, void 0), _jsx("path", { d: "M14.572.857H1.429a.57.57 0 00-.572.572v13.143a.57.57 0 00.572.571h13.143a.57.57 0 00.571-.571V1.429a.57.57 0 00-.571-.572zm-.715 13H2.143V2.143h11.714v11.714z", fill: "#FF646D" }, void 0)] }, void 0)),
|
|
19
|
-
modified: (_jsxs("svg", { width: "16", height: "16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M14.572.857H1.429a.57.57 0 00-.572.572v13.143a.57.57 0 00.572.571h13.143a.57.57 0 00.571-.571V1.429a.57.57 0 00-.571-.572zm-.715 13H2.143V2.143h11.714v11.714z", fill: "#FBBC05" }, void 0), _jsx("circle", { cx: "8", cy: "8", r: "2.222", fill: "#FBBC05" }, void 0)] }, void 0)),
|
|
20
|
-
};
|
|
21
|
-
const TEXT_OVERFLOW_STYLES = {
|
|
22
|
-
whiteSpace: 'nowrap',
|
|
23
|
-
textOverflow: 'ellipsis',
|
|
24
|
-
maxWidth: '100%',
|
|
25
|
-
overflow: 'hidden',
|
|
26
|
-
};
|
|
27
|
-
function calcPadding(indent) {
|
|
28
|
-
return `.75x .5x .75x ${1.5 * indent + 0.5}x`;
|
|
29
|
-
}
|
|
30
|
-
function extractLeafKeys(subTreeData, dirsOnly = false) {
|
|
31
|
-
return subTreeData.reduce((list, item) => {
|
|
32
|
-
if (!item.isLeaf) {
|
|
33
|
-
list.push(item.key);
|
|
34
|
-
list.push(...extractLeafKeys(item.children || []));
|
|
35
|
-
}
|
|
36
|
-
else if (!dirsOnly) {
|
|
37
|
-
list.push(item.key);
|
|
38
|
-
}
|
|
39
|
-
return list;
|
|
40
|
-
}, []);
|
|
41
|
-
}
|
|
42
|
-
const MODE_BG = {
|
|
43
|
-
created: {
|
|
44
|
-
'': '#success.10',
|
|
45
|
-
hovered: '#success.15',
|
|
46
|
-
},
|
|
47
|
-
deleted: {
|
|
48
|
-
'': '#danger.08',
|
|
49
|
-
hovered: '#danger.13',
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
const MODE_COLOR = {
|
|
53
|
-
created: '#success',
|
|
54
|
-
deleted: '#danger',
|
|
55
|
-
};
|
|
56
|
-
function getItemStyles({ isSelected, mode, indent }) {
|
|
57
|
-
return {
|
|
58
|
-
width: 'max 100%',
|
|
59
|
-
radius: true,
|
|
60
|
-
textAlign: 'left',
|
|
61
|
-
fill: isSelected
|
|
62
|
-
? '#purple.05'
|
|
63
|
-
: MODE_BG[mode] || {
|
|
64
|
-
'': '#clear',
|
|
65
|
-
hovered: '#dark.04',
|
|
66
|
-
},
|
|
67
|
-
color: isSelected ? '#purple-text' : MODE_COLOR[mode] || '#dark.75',
|
|
68
|
-
outline: {
|
|
69
|
-
'': '#purple-03.0',
|
|
70
|
-
'focused & focus-visible': '#purple-03',
|
|
71
|
-
},
|
|
72
|
-
fontWeight: isSelected ? 500 : 400,
|
|
73
|
-
padding: calcPadding(indent),
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
function Item(props) {
|
|
77
|
-
let { children, mode, indent, onPress, isSelected } = props;
|
|
78
|
-
return (_jsx(Action, { onPress: onPress, styles: getItemStyles({ isSelected, mode, indent }), style: { whiteSpace: 'nowrap' }, children: children }, void 0));
|
|
79
|
-
}
|
|
80
|
-
function sortTreeData(filesTree) {
|
|
81
|
-
filesTree = filesTree.map((item) => {
|
|
82
|
-
return {
|
|
83
|
-
...item,
|
|
84
|
-
children: item.children ? sortTreeData(item.children) : undefined,
|
|
85
|
-
};
|
|
86
|
-
});
|
|
87
|
-
return filesTree.sort((a, b) => {
|
|
88
|
-
if (!a.isLeaf && b.isLeaf) {
|
|
89
|
-
return -1;
|
|
90
|
-
}
|
|
91
|
-
else if (!b.isLeaf && a.isLeaf) {
|
|
92
|
-
return 1;
|
|
93
|
-
}
|
|
94
|
-
else if (a.title && b.title) {
|
|
95
|
-
return a.title.localeCompare(b.title, 'en', { sensitivity: 'base' });
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
return 0;
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
const HOVER_CSS = `
|
|
103
|
-
&:hover .actions {
|
|
104
|
-
opacity: 1;
|
|
105
|
-
}
|
|
106
|
-
&:not(:hover) .actions {
|
|
107
|
-
opacity: 0;
|
|
108
|
-
}
|
|
109
|
-
`;
|
|
110
|
-
export function DirectoryTree(props) {
|
|
111
|
-
let { onSelect, treeData, selectedKey, defaultExpandAll, rootTitle, actionsPanel, onlyDirs, ...otherProps } = props;
|
|
112
|
-
treeData = sortTreeData(treeData);
|
|
113
|
-
const [expanded, setExpanded] = useState(['/']);
|
|
114
|
-
const [selected, setSelected] = useState(selectedKey);
|
|
115
|
-
const fullTreeData = [
|
|
116
|
-
{
|
|
117
|
-
key: '/',
|
|
118
|
-
title: rootTitle || '/',
|
|
119
|
-
children: treeData,
|
|
120
|
-
},
|
|
121
|
-
];
|
|
122
|
-
useEffect(() => {
|
|
123
|
-
setSelected(selectedKey);
|
|
124
|
-
}, [selectedKey]);
|
|
125
|
-
useEffect(() => {
|
|
126
|
-
if (defaultExpandAll) {
|
|
127
|
-
setExpanded(extractLeafKeys(fullTreeData, true));
|
|
128
|
-
}
|
|
129
|
-
}, []);
|
|
130
|
-
function toggle(item) {
|
|
131
|
-
if (expanded.includes(item.key)) {
|
|
132
|
-
setExpanded(expanded.filter((key) => key !== item.key));
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
setExpanded([...expanded, item.key]);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
function select(item) {
|
|
139
|
-
onSelect && onSelect(item.key);
|
|
140
|
-
setSelected(item.key);
|
|
141
|
-
}
|
|
142
|
-
function recursiveRender(subTreeData, indent = 0) {
|
|
143
|
-
return subTreeData.reduce((list, item) => {
|
|
144
|
-
if (!item.isLeaf) {
|
|
145
|
-
list.push(_jsx(Item, { indent: indent, isSelected: selected === item.key, onPress: () => select(item), children: _jsxs(Space, { gap: ".5x", css: HOVER_CSS, children: [_jsx(Button, { type: "clear", margin: "-.5x", padding: ".25x", color: {
|
|
146
|
-
'': '#dark.60',
|
|
147
|
-
hovered: '#purple',
|
|
148
|
-
}, onPress: () => toggle(item), label: expanded.includes(item.key) ? 'Collapse' : 'Expand', children: expanded.includes(item.key) ? (_jsx(CaretUpOutlined, {}, void 0)) : (_jsx(CaretDownOutlined, {}, void 0)) }, void 0), _jsxs(Space, { gap: "1x", flexGrow: 1, color: selected === item.key ? '#purple' : '#dark.50', children: [expanded.includes(item.key) ? (_jsx(FolderOpenFilled, {}, void 0)) : (_jsx(FolderFilled, {}, void 0)), _jsx(Block, { style: TEXT_OVERFLOW_STYLES, color: selected === item.key ? '#purple-text' : '#dark.75', children: item.title }, void 0)] }, void 0), actionsPanel && actionsPanel(item)] }, void 0) }, item.key));
|
|
149
|
-
if (expanded.includes(item.key)) {
|
|
150
|
-
list.push(...recursiveRender(item.children || [], indent + 1));
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
else if (!onlyDirs) {
|
|
154
|
-
list.push(_jsx(Item, { indent: indent + 1.7, isSelected: selected === item.key, onPress: () => select(item), mode: item.mode, children: _jsxs(Space, { gap: "1x", css: HOVER_CSS, color: selected === item.key ? '#purple' : '#dark.50', children: [_jsx(FileOutlined, {}, void 0), _jsx(Block, { style: TEXT_OVERFLOW_STYLES, flexGrow: 1, color: selected === item.key ? '#purple-text' : '#dark.75', children: item.title }, void 0), actionsPanel && actionsPanel(item), item.mode && (_jsx(Flex, { padding: "0 .5x", placeItems: "center", children: IMAGES[item.mode] }, void 0))] }, void 0) }, item.key));
|
|
155
|
-
}
|
|
156
|
-
return list;
|
|
157
|
-
}, []);
|
|
158
|
-
}
|
|
159
|
-
return (_jsx(Flex, { styles: { flow: 'column', fontWeight: 500, width: '100%', gap: '1bw' }, ...otherProps, children: recursiveRender(fullTreeData) }, void 0));
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license MIT
|
|
3
|
-
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-00505d5
|
|
5
|
-
* Released under the MIT license.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
-
import { useEffect, useState, Fragment } from 'react';
|
|
10
|
-
import { CaretDownOutlined, CaretUpOutlined, FileOutlined, } from '@ant-design/icons';
|
|
11
|
-
import { Flex } from '../../layout/Flex';
|
|
12
|
-
import { Action } from '../../actions/Action';
|
|
13
|
-
import { Button } from '../../actions';
|
|
14
|
-
import { Space } from '../../layout/Space';
|
|
15
|
-
import { Block } from '../../Block';
|
|
16
|
-
import { Paragraph } from '../../content/Paragraph';
|
|
17
|
-
import { Text } from '../../content/Text';
|
|
18
|
-
const TEXT_OVERFLOW_STYLES = {
|
|
19
|
-
whiteSpace: 'nowrap',
|
|
20
|
-
textOverflow: 'ellipsis',
|
|
21
|
-
maxWidth: '100%',
|
|
22
|
-
overflow: 'hidden',
|
|
23
|
-
};
|
|
24
|
-
function getItemStyles({ indent, isSelected, }) {
|
|
25
|
-
return {
|
|
26
|
-
width: 'max 100%',
|
|
27
|
-
radius: true,
|
|
28
|
-
textAlign: 'left',
|
|
29
|
-
fill: isSelected
|
|
30
|
-
? '#purple.05'
|
|
31
|
-
: {
|
|
32
|
-
'': '#clear',
|
|
33
|
-
hovered: '#dark.04',
|
|
34
|
-
},
|
|
35
|
-
color: isSelected ? '#purple-text' : '#dark.75',
|
|
36
|
-
outline: {
|
|
37
|
-
'': '#purple-03.0',
|
|
38
|
-
'focused & focus-visible': '#purple-03',
|
|
39
|
-
},
|
|
40
|
-
fontWeight: 400,
|
|
41
|
-
padding: `.75x .5x .75x ${indent || 0.5}x`,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
function Item({ children, indent, onPress, isSelected, }) {
|
|
45
|
-
return (_jsx(Action, { onPress: onPress, styles: getItemStyles({ indent, isSelected }), style: { whiteSpace: 'nowrap' }, children: children }, void 0));
|
|
46
|
-
}
|
|
47
|
-
const HOVER_CSS = `
|
|
48
|
-
&:hover .actions {
|
|
49
|
-
opacity: 1;
|
|
50
|
-
}
|
|
51
|
-
&:not(:hover) .actions {
|
|
52
|
-
opacity: 0;
|
|
53
|
-
}
|
|
54
|
-
`;
|
|
55
|
-
export function SearchResults({ onSelect, files, selectedKey, defaultExpandAll, ...otherProps }) {
|
|
56
|
-
const [expanded, setExpanded] = useState([]);
|
|
57
|
-
const [selected, setSelected] = useState(selectedKey);
|
|
58
|
-
useEffect(() => {
|
|
59
|
-
setSelected(selectedKey);
|
|
60
|
-
}, [selectedKey]);
|
|
61
|
-
useEffect(() => {
|
|
62
|
-
if (defaultExpandAll) {
|
|
63
|
-
setExpanded(files.map((file) => file.key));
|
|
64
|
-
}
|
|
65
|
-
}, []);
|
|
66
|
-
useEffect(() => {
|
|
67
|
-
if (defaultExpandAll) {
|
|
68
|
-
setExpanded(files.map((file) => file.key));
|
|
69
|
-
}
|
|
70
|
-
}, [files]);
|
|
71
|
-
function toggle(item) {
|
|
72
|
-
if (expanded.includes(item.key)) {
|
|
73
|
-
setExpanded(expanded.filter((key) => key !== item.key));
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
setExpanded([...expanded, item.key]);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
function select(item, position) {
|
|
80
|
-
const key = typeof item === 'string' ? item : item.key;
|
|
81
|
-
onSelect && onSelect(key.split('|')[0], position);
|
|
82
|
-
setSelected(key);
|
|
83
|
-
}
|
|
84
|
-
const resultsNumber = files.reduce((sum, file) => sum + file.items.length, 0);
|
|
85
|
-
return (_jsxs(Flex, { styles: {
|
|
86
|
-
flow: 'column',
|
|
87
|
-
width: '100%',
|
|
88
|
-
gap: '1bw',
|
|
89
|
-
padding: '2x bottom',
|
|
90
|
-
}, ...otherProps, children: [_jsx(Paragraph, { color: "#dark.50", padding: "1x 0", children: resultsNumber
|
|
91
|
-
? `${resultsNumber} result${resultsNumber > 1 ? 's' : ''} in ${files.length} file${files.length > 1 ? 's' : ''}`
|
|
92
|
-
: 'No results found' }, void 0), files.map((file) => {
|
|
93
|
-
return (_jsxs(Fragment, { children: [_jsx(Item, { isSelected: selected === file.key, onPress: () => select(file), indent: file.items.length ? null : 2.25, children: _jsxs(Space, { gap: ".5x", css: HOVER_CSS, children: [_jsx(Button, { type: "clear", margin: "-.5x", padding: ".25x", color: {
|
|
94
|
-
'': '#dark.60',
|
|
95
|
-
hovered: '#purple',
|
|
96
|
-
}, onPress: () => toggle(file), label: expanded.includes(file.key) ? 'Collapse' : 'Expand', children: file.items.length ? (expanded.includes(file.key) ? (_jsx(CaretUpOutlined, {}, void 0)) : (_jsx(CaretDownOutlined, {}, void 0))) : null }, void 0), _jsxs(Space, { gap: "1x", flexGrow: 1, color: selected === file.key ? '#purple' : '#dark.50', children: [expanded.includes(file.key) ? (_jsx(FileOutlined, {}, void 0)) : (_jsx(FileOutlined, {}, void 0)), _jsx(Block, { style: TEXT_OVERFLOW_STYLES, color: selected === file.key ? '#purple-text' : '#dark.75', children: file.entry ? (_jsxs(_Fragment, { children: [file.before || '', _jsx(Text.Selection, { children: file.entry }, void 0), file.after || ''] }, void 0)) : (file.title) }, void 0)] }, void 0)] }, void 0) }, file.key), (expanded.includes(file.key) ? file.items || [] : []).map((item, i) => {
|
|
97
|
-
const key = `${file.key}|${i}`;
|
|
98
|
-
const isSelected = selected === key;
|
|
99
|
-
return (_jsx(Item, { indent: 3.5, isSelected: isSelected, onPress: () => select(key, [item.row, item.column]), children: _jsx(Space, { gap: "1x", css: HOVER_CSS, color: isSelected ? '#purple' : '#dark.50', children: _jsxs(Block, { style: TEXT_OVERFLOW_STYLES, flexGrow: 1, color: isSelected ? '#purple-text' : '#dark.75', children: [item.before || '', _jsx(Text.Selection, { children: item.entry }, void 0), item.after || ''] }, void 0) }, void 0) }, key));
|
|
100
|
-
})] }, file.key));
|
|
101
|
-
})] }, void 0));
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
|