@cube-dev/ui-kit 0.95.0 → 0.96.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/CHANGELOG.md +6 -0
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +1 -1
- package/es/_internal/hooks/use-timer/index.js +1 -1
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/hooks/use-update-effect.js +1 -1
- package/es/_internal/hooks/use-warn.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Block.js +1 -1
- package/es/components/CollectionItem.js +1 -1
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +1 -1
- package/es/components/HiddenInput.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +1 -1
- package/es/components/actions/Action/Action.js +1 -1
- package/es/components/actions/Button/Button.js +26 -16
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/es/components/actions/CommandMenu/index.js +1 -1
- package/es/components/actions/CommandMenu/styled.js +1 -1
- package/es/components/actions/ItemAction/ItemAction.js +1 -1
- package/es/components/actions/ItemAction/index.js +1 -1
- package/es/components/actions/ItemActionContext.js +1 -1
- package/es/components/actions/ItemButton/ItemButton.js +1 -1
- package/es/components/actions/ItemButton/index.js +1 -1
- package/es/components/actions/Link/Link.js +1 -1
- package/es/components/actions/Menu/Menu.js +1 -1
- package/es/components/actions/Menu/MenuItem.js +1 -1
- package/es/components/actions/Menu/MenuSection.js +1 -1
- package/es/components/actions/Menu/MenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/es/components/actions/Menu/context.js +1 -1
- package/es/components/actions/Menu/index.js +1 -1
- package/es/components/actions/Menu/styled.js +1 -1
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/actions/use-anchored-menu.js +1 -1
- package/es/components/actions/use-context-menu.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +1 -1
- package/es/components/content/Alert/Alert.js +1 -1
- package/es/components/content/Alert/index.js +1 -1
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +1 -1
- package/es/components/content/Avatar/Avatar.js +1 -1
- package/es/components/content/Badge/Badge.js +1 -1
- package/es/components/content/Card/Card.js +1 -1
- package/es/components/content/Content.js +1 -1
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/es/components/content/CopyPasteBlock/index.js +1 -1
- package/es/components/content/CopySnippet/CopySnippet.js +1 -1
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Disclosure/Disclosure.js +1 -1
- package/es/components/content/Disclosure/index.js +1 -1
- package/es/components/content/Divider.js +1 -1
- package/es/components/content/Footer.js +1 -1
- package/es/components/content/Header.js +1 -1
- package/es/components/content/HotKeys/HotKeys.js +1 -1
- package/es/components/content/HotKeys/index.js +1 -1
- package/es/components/content/Item/Item.js +2 -1
- package/es/components/content/Item/index.js +1 -1
- package/es/components/content/ItemBadge/ItemBadge.js +1 -1
- package/es/components/content/ItemBadge/index.js +1 -1
- package/es/components/content/Layout/GridLayout.js +50 -0
- package/es/components/content/Layout/Layout.js +190 -0
- package/es/components/content/Layout/LayoutBlock.js +30 -0
- package/es/components/content/Layout/LayoutContent.js +112 -0
- package/es/components/content/Layout/LayoutContext.js +105 -0
- package/es/components/content/Layout/LayoutFlex.js +32 -0
- package/es/components/content/Layout/LayoutFooter.js +46 -0
- package/es/components/content/Layout/LayoutGrid.js +32 -0
- package/es/components/content/Layout/LayoutHeader.js +106 -0
- package/es/components/content/Layout/LayoutPane.js +333 -0
- package/es/components/content/Layout/LayoutPanel.js +419 -0
- package/es/components/content/Layout/LayoutPanelHeader.js +56 -0
- package/es/components/content/Layout/LayoutToolbar.js +36 -0
- package/es/components/content/Layout/hooks/useTinyScrollbar.js +129 -0
- package/es/components/content/Layout/index.js +35 -0
- package/es/components/content/Layout/utils.js +23 -0
- package/es/components/content/List/SectionHeading.js +1 -1
- package/es/components/content/List/index.js +1 -1
- package/es/components/content/Paragraph.js +1 -1
- package/es/components/content/Placeholder/Placeholder.js +1 -1
- package/es/components/content/PrismCode/PrismCode.js +1 -1
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/es/components/content/Result/Result.js +1 -1
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +1 -1
- package/es/components/content/Text.js +1 -1
- package/es/components/content/TextItem/TextItem.js +1 -1
- package/es/components/content/TextItem/index.js +1 -1
- package/es/components/content/Title.js +1 -1
- package/es/components/content/use-auto-tooltip.js +1 -1
- package/es/components/fields/Checkbox/Checkbox.js +1 -1
- package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +1 -1
- package/es/components/fields/ComboBox/ComboBox.js +1 -1
- package/es/components/fields/ComboBox/index.js +1 -1
- package/es/components/fields/DatePicker/DateInput.js +1 -1
- package/es/components/fields/DatePicker/DateInputBase.js +1 -1
- package/es/components/fields/DatePicker/DatePicker.js +1 -1
- package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/es/components/fields/DatePicker/TimeInput.js +1 -1
- package/es/components/fields/DatePicker/index.js +1 -1
- package/es/components/fields/DatePicker/intl.js +1 -1
- package/es/components/fields/DatePicker/parseDate.js +1 -1
- package/es/components/fields/DatePicker/props.js +1 -1
- package/es/components/fields/DatePicker/types.js +1 -1
- package/es/components/fields/DatePicker/utils.js +1 -1
- package/es/components/fields/FileInput/FileInput.js +1 -1
- package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/es/components/fields/FilterListBox/index.js +1 -1
- package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/es/components/fields/FilterPicker/index.js +1 -1
- package/es/components/fields/Input/Input.js +1 -1
- package/es/components/fields/Input/index.js +1 -1
- package/es/components/fields/ListBox/ListBox.js +1 -1
- package/es/components/fields/ListBox/index.js +1 -1
- package/es/components/fields/NumberInput/NumberInput.js +1 -1
- package/es/components/fields/NumberInput/StepButton.js +1 -1
- package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/es/components/fields/Picker/Picker.js +1 -1
- package/es/components/fields/Picker/index.js +1 -1
- package/es/components/fields/RadioGroup/Radio.js +1 -1
- package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +1 -1
- package/es/components/fields/SearchInput/SearchInput.js +1 -1
- package/es/components/fields/SearchInput/index.js +1 -1
- package/es/components/fields/Select/Select.js +1 -1
- package/es/components/fields/Select/index.js +1 -1
- package/es/components/fields/Slider/Gradation.js +1 -1
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +1 -1
- package/es/components/fields/Slider/Slider.js +1 -1
- package/es/components/fields/Slider/SliderBase.js +1 -1
- package/es/components/fields/Slider/SliderInput.js +1 -1
- package/es/components/fields/Slider/SliderThumb.js +1 -1
- package/es/components/fields/Slider/SliderTrack.js +1 -1
- package/es/components/fields/Slider/elements.js +1 -1
- package/es/components/fields/Slider/index.js +1 -1
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +1 -1
- package/es/components/fields/Switch/index.js +1 -1
- package/es/components/fields/TextArea/TextArea.js +1 -1
- package/es/components/fields/TextArea/index.js +1 -1
- package/es/components/fields/TextInput/TextInput.js +1 -1
- package/es/components/fields/TextInput/TextInputBase.js +1 -1
- package/es/components/fields/TextInput/index.js +1 -1
- package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/es/components/fields/TextInputMapper/index.js +1 -1
- package/es/components/fields/index.js +1 -1
- package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +1 -1
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +1 -1
- package/es/components/form/Form/Form.js +1 -1
- package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/es/components/form/Form/ResetButton/index.js +1 -1
- package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/es/components/form/Form/SubmitButton/index.js +1 -1
- package/es/components/form/Form/SubmitError.js +1 -1
- package/es/components/form/Form/index.js +1 -1
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +1 -1
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +1 -1
- package/es/components/form/Form/use-field/use-field.js +1 -1
- package/es/components/form/Form/use-form.js +1 -1
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +1 -1
- package/es/components/form/index.js +1 -1
- package/es/components/form/wrapper.js +1 -1
- package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/es/components/helpers/index.js +1 -1
- package/es/components/layout/Flex.js +1 -1
- package/es/components/layout/Flow.js +1 -1
- package/es/components/layout/Grid.js +1 -1
- package/es/components/layout/Panel.js +1 -1
- package/es/components/layout/Prefix.js +1 -1
- package/es/components/layout/ResizablePanel.js +1 -1
- package/es/components/layout/Space.js +1 -1
- package/es/components/layout/Suffix.js +1 -1
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/es/components/organisms/FileTabs/FileTabs.js +1 -1
- package/es/components/organisms/StatsCard/StatsCard.js +1 -1
- package/es/components/other/Base64Upload/Base64Upload.js +1 -1
- package/es/components/other/Calendar/Calendar.js +1 -1
- package/es/components/other/Calendar/CalendarCell.js +1 -1
- package/es/components/other/Calendar/CalendarGrid.js +1 -1
- package/es/components/other/Calendar/RangeCalendar.js +1 -1
- 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 +8 -3
- 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/Dialog/use-dialog-container.js +1 -1
- package/es/components/overlays/Modal/Modal.js +1 -1
- 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 +1 -1
- package/es/components/overlays/Modal/Tray.js +1 -1
- package/es/components/overlays/Modal/Underlay.js +1 -1
- package/es/components/overlays/Modal/index.js +1 -1
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/es/components/overlays/NewNotifications/index.js +1 -1
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +1 -1
- package/es/components/overlays/OverlayWrapper.js +1 -1
- package/es/components/overlays/Toasts/Toast.js +1 -1
- package/es/components/overlays/Toasts/index.js +1 -1
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/es/components/overlays/Tooltip/Tooltip.js +1 -1
- 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/overlays/Tooltip/index.js +1 -1
- 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/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/shared/InvalidIcon.js +1 -1
- package/es/components/shared/ValidIcon.js +1 -1
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/es/components/status/LoadingAnimation/index.js +1 -1
- package/es/components/status/Spin/Cube.js +1 -1
- package/es/components/status/Spin/InternalSpinner.js +1 -1
- package/es/components/status/Spin/Spin.js +1 -1
- package/es/components/status/Spin/SpinsContainer.js +1 -1
- package/es/components/status/Spin/index.js +1 -1
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +1 -1
- package/es/data/item-themes.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/es/icons/AdjustmentsIcon.js +1 -1
- package/es/icons/AiIcon.js +1 -1
- package/es/icons/AreaChartIcon.js +1 -1
- package/es/icons/BackwardIcon.js +1 -1
- package/es/icons/BarChartIcon.js +1 -1
- package/es/icons/BellFilledIcon.js +1 -1
- package/es/icons/BellIcon.js +1 -1
- package/es/icons/BooleanIcon.js +1 -1
- package/es/icons/CalendarEditIcon.js +1 -1
- package/es/icons/CalendarIcon.js +1 -1
- package/es/icons/CaretDownIcon.js +1 -1
- package/es/icons/CaretUpIcon.js +1 -1
- package/es/icons/ChartAreaStackedIcon.js +1 -1
- package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarGroupedIcon.js +1 -1
- package/es/icons/ChartBarHorizontalIcon.js +1 -1
- package/es/icons/ChartBarLineIcon.js +1 -1
- package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBoxPlot2Icon.js +1 -1
- package/es/icons/ChartBoxPlotIcon.js +1 -1
- package/es/icons/ChartBubbleIcon.js +1 -1
- package/es/icons/ChartDonut2Icon.js +1 -1
- package/es/icons/ChartFunnelIcon.js +1 -1
- package/es/icons/ChartHeatmapIcon.js +1 -1
- package/es/icons/ChartKPIIcon.js +1 -1
- package/es/icons/ChartPie2Icon.js +1 -1
- package/es/icons/ChartScatterIcon.js +1 -1
- package/es/icons/CheckCircleFilledIcon.js +1 -1
- package/es/icons/CheckCircleIcon.js +1 -1
- package/es/icons/CheckIcon.js +1 -1
- package/es/icons/CircleFilledIcon.js +1 -1
- package/es/icons/ClearIcon.js +1 -1
- package/es/icons/CloseCircleFilledIcon.js +1 -1
- package/es/icons/CloseCircleIcon.js +1 -1
- package/es/icons/CloseIcon.js +1 -1
- package/es/icons/CodeIcon.js +1 -1
- package/es/icons/CopyIcon.js +1 -1
- package/es/icons/CountIcon.js +1 -1
- package/es/icons/CubeIcon.js +1 -1
- package/es/icons/CubePauseIcon.js +1 -1
- package/es/icons/CubePlayIcon.js +1 -1
- package/es/icons/CurrencyDollarIcon.js +1 -1
- package/es/icons/DangerIcon.js +1 -1
- package/es/icons/DashboardIcon.js +1 -1
- package/es/icons/DatabaseIcon.js +1 -1
- package/es/icons/DecimalDecreaseIcon.js +1 -1
- package/es/icons/DecimalIncreaseIcon.js +1 -1
- package/es/icons/DirectionIcon.js +1 -1
- package/es/icons/DonutIcon.js +1 -1
- package/es/icons/DownIcon.js +1 -1
- package/es/icons/EditIcon.js +1 -1
- package/es/icons/ExclamationCircleFilledIcon.js +1 -1
- package/es/icons/ExclamationCircleIcon.js +1 -1
- package/es/icons/ExclamationIcon.js +1 -1
- package/es/icons/EyeIcon.js +1 -1
- package/es/icons/EyeInvisibleIcon.js +1 -1
- package/es/icons/FilterIcon.js +1 -1
- package/es/icons/FolderFilledIcon.js +1 -1
- package/es/icons/FolderIcon.js +1 -1
- package/es/icons/FolderOpenFilledIcon.js +1 -1
- package/es/icons/FolderOpenIcon.js +1 -1
- package/es/icons/ForwardIcon.js +1 -1
- package/es/icons/HierarchyIcon.js +1 -1
- package/es/icons/HierarchyOpenIcon.js +1 -1
- package/es/icons/Icon.js +1 -1
- package/es/icons/InfoCircleIcon.js +1 -1
- package/es/icons/InfoIcon.js +1 -1
- package/es/icons/KeyIcon.js +1 -1
- package/es/icons/LeftIcon.js +1 -1
- package/es/icons/LineChartIcon.js +1 -1
- package/es/icons/LoadingIcon.js +1 -1
- package/es/icons/LockFilledIcon.js +1 -1
- package/es/icons/LockIcon.js +1 -1
- package/es/icons/MoreIcon.js +1 -1
- package/es/icons/NotAllowedIcon.js +1 -1
- package/es/icons/Number123Icon.js +1 -1
- package/es/icons/NumberIcon.js +1 -1
- package/es/icons/PauseCircleFilledIcon.js +1 -1
- package/es/icons/PauseCircleIcon.js +1 -1
- package/es/icons/PauseIcon.js +1 -1
- package/es/icons/PercentageIcon.js +1 -1
- package/es/icons/PieChartIcon.js +1 -1
- package/es/icons/PlayCircleIcon.js +1 -1
- package/es/icons/PlayIcon.js +1 -1
- package/es/icons/PlusIcon.js +1 -1
- package/es/icons/ProgressBarIcon.js +1 -1
- package/es/icons/ReloadIcon.js +1 -1
- package/es/icons/ReportIcon.js +1 -1
- package/es/icons/ReturnIcon.js +1 -1
- package/es/icons/RightIcon.js +1 -1
- package/es/icons/SchemeIcon.js +1 -1
- package/es/icons/SearchIcon.js +1 -1
- package/es/icons/SettingsIcon.js +1 -1
- package/es/icons/ShieldFilledIcon.js +1 -1
- package/es/icons/ShieldIcon.js +1 -1
- package/es/icons/SlashIcon.js +1 -1
- package/es/icons/SparklesIcon.js +1 -1
- package/es/icons/SqlIcon.js +1 -1
- package/es/icons/StatsIcon.js +1 -1
- package/es/icons/StopIcon.js +1 -1
- package/es/icons/StringIcon.js +1 -1
- package/es/icons/SwitchIcon.js +1 -1
- package/es/icons/TableIcon.js +1 -1
- package/es/icons/ThumbsDownIcon.js +1 -1
- package/es/icons/ThumbsUpIcon.js +1 -1
- package/es/icons/ThunderboltCrossedIcon.js +1 -1
- package/es/icons/ThunderboltFilledIcon.js +1 -1
- package/es/icons/ThunderboltIcon.js +1 -1
- package/es/icons/TimeIcon.js +1 -1
- package/es/icons/TrashIcon.js +1 -1
- package/es/icons/UnlockIcon.js +1 -1
- package/es/icons/UpIcon.js +1 -1
- package/es/icons/UserGroupIcon.js +1 -1
- package/es/icons/UserIcon.js +1 -1
- package/es/icons/UserLockIcon.js +1 -1
- package/es/icons/ViewIcon.js +1 -1
- package/es/icons/WarningFilledIcon.js +1 -1
- package/es/icons/WarningIcon.js +1 -1
- package/es/icons/add-new-icon.js +1 -1
- package/es/icons/index.js +1 -1
- package/es/icons/wrap-icon.js +1 -1
- package/es/index.js +2 -1
- package/es/provider.js +1 -1
- package/es/providers/TrackingProvider.js +1 -1
- package/es/providers/navigation.types.js +1 -1
- package/es/providers/navigationAdapter.default.js +1 -1
- package/es/services/notification.js +1 -1
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/stories/Form.legacy-stories.js +1 -1
- package/es/stories/FormFieldArgs.js +1 -1
- package/es/stories/{Layout.stories.js → SimpleLayout.stories.js} +2 -2
- package/es/stories/Tasty.stories.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 +1 -1
- package/es/tasty/debug.js +1 -1
- package/es/tasty/index.js +1 -1
- package/es/tasty/injector/index.js +1 -1
- package/es/tasty/injector/injector.js +1 -1
- package/es/tasty/injector/sheet-manager.js +1 -1
- package/es/tasty/injector/types.js +1 -1
- package/es/tasty/parser/classify.js +1 -1
- package/es/tasty/parser/const.js +1 -1
- package/es/tasty/parser/lru.js +1 -1
- package/es/tasty/parser/parser.js +1 -1
- package/es/tasty/parser/tokenizer.js +1 -1
- package/es/tasty/parser/types.js +1 -1
- package/es/tasty/providers/BreakpointsProvider.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/fade.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/inset.js +1 -1
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +23 -9
- package/es/tasty/styles/margin.js +1 -1
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +1 -1
- package/es/tasty/styles/place.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/scrollbar.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 -2
- 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/cache-wrapper.js +1 -1
- package/es/tasty/utils/case-converter.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/getDisplayName.js +1 -1
- package/es/tasty/utils/getModCombinations.js +1 -1
- package/es/tasty/utils/isDevEnv.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/tokens.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/index.js +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/raf.js +1 -1
- package/es/utils/random.js +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/RenderCache.js +1 -1
- package/es/utils/react/Slots.js +1 -1
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/forwardRefWithGenerics.js +1 -1
- package/es/utils/react/index.js +2 -1
- 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/sharedStore.js +1 -1
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useControlledFocusVisible.js +1 -1
- package/es/utils/react/useEventBus.js +1 -1
- package/es/utils/react/useId.js +1 -1
- package/es/utils/react/useIsDarwin.js +1 -1
- package/es/utils/react/useKeySymbols.js +1 -1
- package/es/utils/react/useLayoutEffect.js +1 -1
- package/es/utils/react/useLocalStorage.js +130 -0
- package/es/utils/react/useQaProps.js +1 -1
- package/es/utils/react/useViewportSize.js +1 -1
- package/es/utils/react/wrapNodeIfPlain.js +1 -1
- package/es/utils/tree.js +1 -1
- package/es/utils/warnings.js +1 -1
- package/es/version.js +2 -2
- package/package.json +1 -1
- package/types/components/actions/Button/Button.d.ts +13 -13
- package/types/components/actions/Menu/styled.d.ts +3 -9
- package/types/components/content/Layout/GridLayout.d.ts +36 -0
- package/types/components/content/Layout/Layout.d.ts +25 -0
- package/types/components/content/Layout/LayoutBlock.d.ts +5 -0
- package/types/components/content/Layout/LayoutContent.d.ts +12 -0
- package/types/components/content/Layout/LayoutContext.d.ts +37 -0
- package/types/components/content/Layout/LayoutFlex.d.ts +5 -0
- package/types/components/content/Layout/LayoutFooter.d.ts +7 -0
- package/types/components/content/Layout/LayoutGrid.d.ts +12 -0
- package/types/components/content/Layout/LayoutHeader.d.ts +21 -0
- package/types/components/content/Layout/LayoutPane.d.ts +27 -0
- package/types/components/content/Layout/LayoutPanel.d.ts +47 -0
- package/types/components/content/Layout/LayoutPanelHeader.d.ts +17 -0
- package/types/components/content/Layout/LayoutToolbar.d.ts +5 -0
- package/types/components/content/Layout/hooks/useTinyScrollbar.d.ts +19 -0
- package/types/components/content/Layout/index.d.ts +41 -0
- package/types/components/content/Layout/utils.d.ts +5 -0
- package/types/components/content/List/SectionHeading.d.ts +1 -3
- package/types/components/content/Text.d.ts +7 -28
- package/types/components/fields/DatePicker/DatePickerElement.d.ts +1 -3
- package/types/index.d.ts +2 -0
- package/types/tasty/index.d.ts +1 -1
- package/types/tasty/styles/list.d.ts +7 -4
- package/types/tasty/types.d.ts +9 -4
- package/types/utils/react/index.d.ts +1 -0
- package/types/utils/react/useLocalStorage.d.ts +33 -0
- /package/types/stories/{Layout.stories.d.ts → SimpleLayout.stories.d.ts} +0 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license MIT
|
|
3
|
+
* author: Cube Dev Team
|
|
4
|
+
* @cube-dev/ui-kit v0.96.0
|
|
5
|
+
* Released under the MIT license.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { useCallback, useSyncExternalStore } from 'react';
|
|
9
|
+
import { useEvent } from '../../_internal/hooks/use-event';
|
|
10
|
+
/** Global registry of listeners per key for same-tab cross-instance sync */
|
|
11
|
+
const listeners = new Map();
|
|
12
|
+
/** Notify all listeners for a given key */
|
|
13
|
+
function notifyListeners(key) {
|
|
14
|
+
listeners.get(key)?.forEach((listener) => listener());
|
|
15
|
+
}
|
|
16
|
+
/** Check if localStorage is available */
|
|
17
|
+
function isLocalStorageAvailable() {
|
|
18
|
+
try {
|
|
19
|
+
const testKey = '__localStorage_test__';
|
|
20
|
+
window.localStorage.setItem(testKey, testKey);
|
|
21
|
+
window.localStorage.removeItem(testKey);
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** Safely parse JSON with fallback */
|
|
29
|
+
function parseJSON(value, fallback) {
|
|
30
|
+
if (value === null) {
|
|
31
|
+
return fallback;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
return JSON.parse(value);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return fallback;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/** Get initial value, supporting lazy initializer */
|
|
41
|
+
function getInitialValue(initialValue) {
|
|
42
|
+
return typeof initialValue === 'function'
|
|
43
|
+
? initialValue()
|
|
44
|
+
: initialValue;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A hook to persist state in localStorage with cross-instance synchronization.
|
|
48
|
+
*
|
|
49
|
+
* Features:
|
|
50
|
+
* - JSON serialization/deserialization
|
|
51
|
+
* - Syncs between hook instances with the same key (same tab)
|
|
52
|
+
* - Syncs across browser tabs via storage event
|
|
53
|
+
* - SSR-safe (gracefully handles missing localStorage)
|
|
54
|
+
* - Supports lazy initial value
|
|
55
|
+
*
|
|
56
|
+
* @param key - The localStorage key. Pass `null` or `undefined` to disable the hook.
|
|
57
|
+
* @param initialValue - Initial value or lazy initializer function
|
|
58
|
+
* @returns Tuple of [value, setValue] similar to useState
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```tsx
|
|
62
|
+
* // Basic usage
|
|
63
|
+
* const [theme, setTheme] = useLocalStorage('theme', 'light');
|
|
64
|
+
*
|
|
65
|
+
* // With lazy initializer
|
|
66
|
+
* const [settings, setSettings] = useLocalStorage('settings', () => getDefaultSettings());
|
|
67
|
+
*
|
|
68
|
+
* // Disabled (returns initialValue, setValue is no-op)
|
|
69
|
+
* const [value, setValue] = useLocalStorage(null, 'default');
|
|
70
|
+
*
|
|
71
|
+
* // Conditionally enabled
|
|
72
|
+
* const [data, setData] = useLocalStorage(isEnabled ? 'my-key' : null, {});
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export function useLocalStorage(key, initialValue) {
|
|
76
|
+
const resolvedInitial = getInitialValue(initialValue);
|
|
77
|
+
const subscribe = useCallback((onStoreChange) => {
|
|
78
|
+
if (!key) {
|
|
79
|
+
return () => { };
|
|
80
|
+
}
|
|
81
|
+
// Add to same-tab listeners
|
|
82
|
+
if (!listeners.has(key)) {
|
|
83
|
+
listeners.set(key, new Set());
|
|
84
|
+
}
|
|
85
|
+
listeners.get(key).add(onStoreChange);
|
|
86
|
+
// Listen for cross-tab changes
|
|
87
|
+
const handleStorageEvent = (event) => {
|
|
88
|
+
if (event.key === key) {
|
|
89
|
+
onStoreChange();
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
window.addEventListener('storage', handleStorageEvent);
|
|
93
|
+
return () => {
|
|
94
|
+
listeners.get(key)?.delete(onStoreChange);
|
|
95
|
+
if (listeners.get(key)?.size === 0) {
|
|
96
|
+
listeners.delete(key);
|
|
97
|
+
}
|
|
98
|
+
window.removeEventListener('storage', handleStorageEvent);
|
|
99
|
+
};
|
|
100
|
+
}, [key]);
|
|
101
|
+
const getSnapshot = useCallback(() => {
|
|
102
|
+
if (!key || !isLocalStorageAvailable()) {
|
|
103
|
+
return resolvedInitial;
|
|
104
|
+
}
|
|
105
|
+
return parseJSON(localStorage.getItem(key), resolvedInitial);
|
|
106
|
+
}, [key, resolvedInitial]);
|
|
107
|
+
const getServerSnapshot = useCallback(() => {
|
|
108
|
+
return resolvedInitial;
|
|
109
|
+
}, [resolvedInitial]);
|
|
110
|
+
const storedValue = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
111
|
+
const setValue = useEvent((update) => {
|
|
112
|
+
if (!key || !isLocalStorageAvailable()) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const currentValue = parseJSON(localStorage.getItem(key), resolvedInitial);
|
|
116
|
+
const newValue = typeof update === 'function'
|
|
117
|
+
? update(currentValue)
|
|
118
|
+
: update;
|
|
119
|
+
try {
|
|
120
|
+
localStorage.setItem(key, JSON.stringify(newValue));
|
|
121
|
+
notifyListeners(key);
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
console.error(`[useLocalStorage] Failed to save "${key}":`, error);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
return [storedValue, setValue];
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
|
package/es/utils/tree.js
CHANGED
package/es/utils/warnings.js
CHANGED
package/es/version.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.
|
|
4
|
+
* @cube-dev/ui-kit v0.96.0
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
export const VERSION = '0.
|
|
8
|
+
export const VERSION = '0.96.0';
|
|
9
9
|
if (typeof window !== 'undefined') {
|
|
10
10
|
const version = VERSION;
|
|
11
11
|
// Ensure CubeUIKit is defined on window in a way bundlers recognize
|
package/package.json
CHANGED
|
@@ -53,21 +53,13 @@ export declare const DEFAULT_BUTTON_STYLES: {
|
|
|
53
53
|
readonly 'single-icon | type=link': 0;
|
|
54
54
|
};
|
|
55
55
|
readonly width: {
|
|
56
|
-
readonly '': "
|
|
57
|
-
readonly '
|
|
58
|
-
readonly '
|
|
59
|
-
readonly '
|
|
60
|
-
readonly 'size=large & single-icon': "$size-lg $size-lg";
|
|
61
|
-
readonly 'size=xlarge & single-icon': "$size-xl $size-xl";
|
|
62
|
-
readonly 'type=link': "initial";
|
|
56
|
+
readonly '': "min $size";
|
|
57
|
+
readonly 'left-icon & right-icon': "min ($size * 2 - 2bw)";
|
|
58
|
+
readonly 'single-icon': "fixed $size";
|
|
59
|
+
readonly 'type=link': "min 1ch";
|
|
63
60
|
};
|
|
64
61
|
readonly height: {
|
|
65
|
-
readonly '': "
|
|
66
|
-
readonly 'size=xsmall': "$size-xs $size-xs";
|
|
67
|
-
readonly 'size=small': "$size-sm $size-sm";
|
|
68
|
-
readonly 'size=medium': "$size-md $size-md";
|
|
69
|
-
readonly 'size=large': "$size-lg $size-lg";
|
|
70
|
-
readonly 'size=xlarge': "$size-xl $size-xl";
|
|
62
|
+
readonly '': "fixed $size";
|
|
71
63
|
readonly 'type=link': "initial";
|
|
72
64
|
};
|
|
73
65
|
readonly whiteSpace: "nowrap";
|
|
@@ -75,6 +67,14 @@ export declare const DEFAULT_BUTTON_STYLES: {
|
|
|
75
67
|
readonly '': true;
|
|
76
68
|
readonly 'type=link & !focused': 0;
|
|
77
69
|
};
|
|
70
|
+
readonly $size: {
|
|
71
|
+
readonly '': "$size-md";
|
|
72
|
+
readonly 'size=xsmall': "$size-xs";
|
|
73
|
+
readonly 'size=small': "$size-sm";
|
|
74
|
+
readonly 'size=medium': "$size-md";
|
|
75
|
+
readonly 'size=large': "$size-lg";
|
|
76
|
+
readonly 'size=xlarge': "$size-xl";
|
|
77
|
+
};
|
|
78
78
|
readonly ButtonIcon: {
|
|
79
79
|
readonly width: "min 1fs";
|
|
80
80
|
};
|
|
@@ -71,9 +71,7 @@ export declare const StyledHeader: import("react").ComponentType<{
|
|
|
71
71
|
element?: `A${string}` | `B${string}` | `C${string}` | `D${string}` | `E${string}` | `F${string}` | `G${string}` | `H${string}` | `I${string}` | `J${string}` | `K${string}` | `L${string}` | `M${string}` | `N${string}` | `O${string}` | `P${string}` | `Q${string}` | `R${string}` | `S${string}` | `T${string}` | `U${string}` | `V${string}` | `W${string}` | `X${string}` | `Y${string}` | `Z${string}` | undefined;
|
|
72
72
|
multiple?: boolean | undefined;
|
|
73
73
|
styles?: import("../../../tasty").Styles | undefined;
|
|
74
|
-
mods?:
|
|
75
|
-
[key: string]: string | number | boolean | null | undefined;
|
|
76
|
-
} | undefined;
|
|
74
|
+
mods?: import("../../../tasty").Mods | undefined;
|
|
77
75
|
min?: string | number | undefined;
|
|
78
76
|
max?: string | number | undefined;
|
|
79
77
|
css?: string | undefined;
|
|
@@ -517,9 +515,7 @@ export declare const StyledFooter: import("react").ComponentType<{
|
|
|
517
515
|
element?: `A${string}` | `B${string}` | `C${string}` | `D${string}` | `E${string}` | `F${string}` | `G${string}` | `H${string}` | `I${string}` | `J${string}` | `K${string}` | `L${string}` | `M${string}` | `N${string}` | `O${string}` | `P${string}` | `Q${string}` | `R${string}` | `S${string}` | `T${string}` | `U${string}` | `V${string}` | `W${string}` | `X${string}` | `Y${string}` | `Z${string}` | undefined;
|
|
518
516
|
multiple?: boolean | undefined;
|
|
519
517
|
styles?: import("../../../tasty").Styles | undefined;
|
|
520
|
-
mods?:
|
|
521
|
-
[key: string]: string | number | boolean | null | undefined;
|
|
522
|
-
} | undefined;
|
|
518
|
+
mods?: import("../../../tasty").Mods | undefined;
|
|
523
519
|
min?: string | number | undefined;
|
|
524
520
|
max?: string | number | undefined;
|
|
525
521
|
css?: string | undefined;
|
|
@@ -965,9 +961,7 @@ export declare const StyledSectionHeading: import("react").ComponentType<{
|
|
|
965
961
|
element?: `A${string}` | `B${string}` | `C${string}` | `D${string}` | `E${string}` | `F${string}` | `G${string}` | `H${string}` | `I${string}` | `J${string}` | `K${string}` | `L${string}` | `M${string}` | `N${string}` | `O${string}` | `P${string}` | `Q${string}` | `R${string}` | `S${string}` | `T${string}` | `U${string}` | `V${string}` | `W${string}` | `X${string}` | `Y${string}` | `Z${string}` | undefined;
|
|
966
962
|
multiple?: boolean | undefined;
|
|
967
963
|
styles?: import("../../../tasty").Styles | undefined;
|
|
968
|
-
mods?:
|
|
969
|
-
[key: string]: string | number | boolean | null | undefined;
|
|
970
|
-
} | undefined;
|
|
964
|
+
mods?: import("../../../tasty").Mods | undefined;
|
|
971
965
|
min?: string | number | undefined;
|
|
972
966
|
max?: string | number | undefined;
|
|
973
967
|
css?: string | undefined;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ForwardRefExoticComponent, ReactNode, RefAttributes } from 'react';
|
|
2
|
+
import { Styles } from '../../../tasty';
|
|
3
|
+
import { CubeLayoutProps } from './Layout';
|
|
4
|
+
import { LayoutBlock } from './LayoutBlock';
|
|
5
|
+
import { LayoutContent } from './LayoutContent';
|
|
6
|
+
import { LayoutFlex } from './LayoutFlex';
|
|
7
|
+
import { LayoutFooter } from './LayoutFooter';
|
|
8
|
+
import { LayoutGrid } from './LayoutGrid';
|
|
9
|
+
import { LayoutHeader } from './LayoutHeader';
|
|
10
|
+
import { LayoutPane } from './LayoutPane';
|
|
11
|
+
import { LayoutPanel } from './LayoutPanel';
|
|
12
|
+
import { LayoutPanelHeader } from './LayoutPanelHeader';
|
|
13
|
+
import { LayoutToolbar } from './LayoutToolbar';
|
|
14
|
+
export interface CubeGridLayoutProps extends CubeLayoutProps {
|
|
15
|
+
/** Grid template columns */
|
|
16
|
+
columns?: Styles['gridColumns'];
|
|
17
|
+
/** Grid template rows */
|
|
18
|
+
rows?: Styles['gridRows'];
|
|
19
|
+
/** Grid template shorthand */
|
|
20
|
+
template?: Styles['gridTemplate'];
|
|
21
|
+
children?: ReactNode;
|
|
22
|
+
}
|
|
23
|
+
interface GridLayoutComponent extends ForwardRefExoticComponent<CubeGridLayoutProps & RefAttributes<HTMLDivElement>> {
|
|
24
|
+
Toolbar: typeof LayoutToolbar;
|
|
25
|
+
Header: typeof LayoutHeader;
|
|
26
|
+
Footer: typeof LayoutFooter;
|
|
27
|
+
Content: typeof LayoutContent;
|
|
28
|
+
Block: typeof LayoutBlock;
|
|
29
|
+
Flex: typeof LayoutFlex;
|
|
30
|
+
Grid: typeof LayoutGrid;
|
|
31
|
+
Pane: typeof LayoutPane;
|
|
32
|
+
Panel: typeof LayoutPanel;
|
|
33
|
+
PanelHeader: typeof LayoutPanelHeader;
|
|
34
|
+
}
|
|
35
|
+
declare const GridLayout: GridLayoutComponent;
|
|
36
|
+
export { GridLayout };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BaseProps, BlockStyleProps, ColorStyleProps, FlowStyleProps, OuterStyleProps, Styles } from '../../../tasty';
|
|
3
|
+
export interface CubeLayoutProps extends BaseProps, OuterStyleProps, BlockStyleProps, ColorStyleProps, FlowStyleProps {
|
|
4
|
+
/** Switch to grid display mode */
|
|
5
|
+
isGrid?: boolean;
|
|
6
|
+
/** Grid template columns (when isGrid=true) */
|
|
7
|
+
columns?: Styles['gridColumns'];
|
|
8
|
+
/** Grid template rows (when isGrid=true) */
|
|
9
|
+
rows?: Styles['gridRows'];
|
|
10
|
+
/** Grid template shorthand */
|
|
11
|
+
template?: Styles['gridTemplate'];
|
|
12
|
+
/** Padding for content areas (Layout.Content components). Default: '1x' */
|
|
13
|
+
contentPadding?: Styles['padding'];
|
|
14
|
+
/** Enable transition animation for Inner content when panels open/close */
|
|
15
|
+
hasTransition?: boolean;
|
|
16
|
+
/** Styles for wrapper and Inner sub-element */
|
|
17
|
+
styles?: Styles;
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
/**
|
|
20
|
+
* @internal Force show dev warning even in production (for storybook testing)
|
|
21
|
+
*/
|
|
22
|
+
_forceShowDevWarning?: boolean;
|
|
23
|
+
}
|
|
24
|
+
declare const _Layout: import("react").ForwardRefExoticComponent<CubeLayoutProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
25
|
+
export { _Layout as Layout };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CubeLayoutContentProps } from './LayoutContent';
|
|
2
|
+
export interface CubeLayoutBlockProps extends CubeLayoutContentProps {
|
|
3
|
+
}
|
|
4
|
+
declare const _LayoutBlock: import("react").ForwardRefExoticComponent<CubeLayoutBlockProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export { _LayoutBlock as LayoutBlock };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BaseProps, ContainerStyleProps, Mods } from '../../../tasty';
|
|
3
|
+
export type ScrollbarType = 'default' | 'thin' | 'tiny' | 'none';
|
|
4
|
+
export interface CubeLayoutContentProps extends BaseProps, ContainerStyleProps {
|
|
5
|
+
/** Scrollbar style: 'default' | 'thin' | 'tiny' | 'none' */
|
|
6
|
+
scrollbar?: ScrollbarType;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
/** Additional modifiers to apply */
|
|
9
|
+
mods?: Mods;
|
|
10
|
+
}
|
|
11
|
+
declare const _LayoutContent: import("react").ForwardRefExoticComponent<CubeLayoutContentProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export { _LayoutContent as LayoutContent };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type Side = 'left' | 'top' | 'right' | 'bottom';
|
|
3
|
+
export interface LayoutContextValue {
|
|
4
|
+
registerPanel: (side: Side, size: number) => void;
|
|
5
|
+
unregisterPanel: (side: Side) => void;
|
|
6
|
+
updatePanelSize: (side: Side, size: number) => void;
|
|
7
|
+
setDragging: (isDragging: boolean) => void;
|
|
8
|
+
markReady: () => void;
|
|
9
|
+
panelSizes: Record<Side, number>;
|
|
10
|
+
isDragging: boolean;
|
|
11
|
+
isReady: boolean;
|
|
12
|
+
/** Whether transitions are enabled for panels */
|
|
13
|
+
hasTransition: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const LayoutContext: import("react").Context<LayoutContextValue | null>;
|
|
16
|
+
export declare function useLayoutContext(): LayoutContextValue | null;
|
|
17
|
+
export interface LayoutProviderProps {
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
/** Whether transitions are enabled for panels */
|
|
20
|
+
hasTransition?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function LayoutProvider({ children, hasTransition, }: LayoutProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
/**
|
|
24
|
+
* Provider that resets the layout context for sub-components.
|
|
25
|
+
* Used to prevent panels in nested Layouts from affecting parent layouts.
|
|
26
|
+
*/
|
|
27
|
+
export declare function LayoutContextReset({ children }: {
|
|
28
|
+
children: ReactNode;
|
|
29
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export interface LayoutPanelContextValue {
|
|
31
|
+
/** Callback to change the panel's open state */
|
|
32
|
+
onOpenChange: (isOpen: boolean) => void;
|
|
33
|
+
/** Current open state of the panel */
|
|
34
|
+
isOpen: boolean;
|
|
35
|
+
}
|
|
36
|
+
export declare const LayoutPanelContext: import("react").Context<LayoutPanelContextValue | null>;
|
|
37
|
+
export declare function useLayoutPanelContext(): LayoutPanelContextValue | null;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CubeLayoutContentProps } from './LayoutContent';
|
|
2
|
+
export interface CubeLayoutFlexProps extends CubeLayoutContentProps {
|
|
3
|
+
}
|
|
4
|
+
declare const _LayoutFlex: import("react").ForwardRefExoticComponent<CubeLayoutFlexProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export { _LayoutFlex as LayoutFlex };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CubeLayoutContentProps } from './LayoutContent';
|
|
2
|
+
export interface CubeLayoutFooterProps extends CubeLayoutContentProps {
|
|
3
|
+
/** Inverts the order of children (primary action on right) */
|
|
4
|
+
invertOrder?: boolean;
|
|
5
|
+
}
|
|
6
|
+
declare const _LayoutFooter: import("react").ForwardRefExoticComponent<CubeLayoutFooterProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export { _LayoutFooter as LayoutFooter };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Styles } from '../../../tasty';
|
|
2
|
+
import { CubeLayoutContentProps } from './LayoutContent';
|
|
3
|
+
export interface CubeLayoutGridProps extends CubeLayoutContentProps {
|
|
4
|
+
/** Grid template columns */
|
|
5
|
+
columns?: Styles['gridColumns'];
|
|
6
|
+
/** Grid template rows */
|
|
7
|
+
rows?: Styles['gridRows'];
|
|
8
|
+
/** Grid template shorthand */
|
|
9
|
+
template?: Styles['gridTemplate'];
|
|
10
|
+
}
|
|
11
|
+
declare const _LayoutGrid: import("react").ForwardRefExoticComponent<CubeLayoutGridProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export { _LayoutGrid as LayoutGrid };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { CubeLayoutContentProps } from './LayoutContent';
|
|
3
|
+
export interface CubeLayoutHeaderProps extends CubeLayoutContentProps {
|
|
4
|
+
/** Page/section title */
|
|
5
|
+
title?: ReactNode;
|
|
6
|
+
/** Title heading level (1-6) */
|
|
7
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
8
|
+
/** Content next to the title */
|
|
9
|
+
suffix?: ReactNode;
|
|
10
|
+
/** Content on the right side */
|
|
11
|
+
extra?: ReactNode;
|
|
12
|
+
/** Text below the title */
|
|
13
|
+
subtitle?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Navigation breadcrumbs (max 3 items recommended).
|
|
16
|
+
* Uses Link component which integrates with the navigation provider.
|
|
17
|
+
*/
|
|
18
|
+
breadcrumbs?: Array<[label: string, href: string]>;
|
|
19
|
+
}
|
|
20
|
+
declare const _LayoutHeader: import("react").ForwardRefExoticComponent<CubeLayoutHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
21
|
+
export { _LayoutHeader as LayoutHeader };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BaseProps, ContainerStyleProps, Styles } from '../../../tasty';
|
|
3
|
+
import { ScrollbarType } from './LayoutContent';
|
|
4
|
+
export type ResizeEdge = 'right' | 'bottom';
|
|
5
|
+
export interface CubeLayoutPaneProps extends BaseProps, ContainerStyleProps {
|
|
6
|
+
/** Edge where resize handler appears */
|
|
7
|
+
resizeEdge?: ResizeEdge;
|
|
8
|
+
/** Enable resize functionality */
|
|
9
|
+
isResizable?: boolean;
|
|
10
|
+
/** Controlled size (width for right edge, height for bottom edge) */
|
|
11
|
+
size?: number | string;
|
|
12
|
+
/** Default size for uncontrolled state */
|
|
13
|
+
defaultSize?: number | string;
|
|
14
|
+
/** Minimum size constraint */
|
|
15
|
+
minSize?: number | string;
|
|
16
|
+
/** Maximum size constraint */
|
|
17
|
+
maxSize?: number | string;
|
|
18
|
+
/** Size change callback */
|
|
19
|
+
onSizeChange?: (size: number) => void;
|
|
20
|
+
/** Scrollbar style */
|
|
21
|
+
scrollbar?: ScrollbarType;
|
|
22
|
+
/** Custom styles */
|
|
23
|
+
styles?: Styles;
|
|
24
|
+
children?: ReactNode;
|
|
25
|
+
}
|
|
26
|
+
declare const _LayoutPane: import("react").ForwardRefExoticComponent<CubeLayoutPaneProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
27
|
+
export { _LayoutPane as LayoutPane };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BaseProps, ContainerStyleProps, Styles } from '../../../tasty';
|
|
3
|
+
import { CubeDialogContainerProps } from '../../overlays/Dialog/DialogContainer';
|
|
4
|
+
import { Side } from './LayoutContext';
|
|
5
|
+
export interface CubeLayoutPanelProps extends BaseProps, ContainerStyleProps {
|
|
6
|
+
/** Side of the layout where panel is positioned */
|
|
7
|
+
side: Side;
|
|
8
|
+
/** Panel size (width for left/right, height for top/bottom) - controlled */
|
|
9
|
+
size?: number | string;
|
|
10
|
+
/** Default panel size for uncontrolled state */
|
|
11
|
+
defaultSize?: number | string;
|
|
12
|
+
/** Minimum panel size */
|
|
13
|
+
minSize?: number | string;
|
|
14
|
+
/** Maximum panel size */
|
|
15
|
+
maxSize?: number | string;
|
|
16
|
+
/** Enable resize functionality */
|
|
17
|
+
isResizable?: boolean;
|
|
18
|
+
/** Size change callback */
|
|
19
|
+
onSizeChange?: (size: number) => void;
|
|
20
|
+
/** Controlled open state */
|
|
21
|
+
isOpen?: boolean;
|
|
22
|
+
/** Default open state */
|
|
23
|
+
defaultIsOpen?: boolean;
|
|
24
|
+
/** Open state change callback */
|
|
25
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
26
|
+
/** Enable slide transition on open/close */
|
|
27
|
+
hasTransition?: boolean;
|
|
28
|
+
/** Switch to dialog mode (renders panel inside Dialog) */
|
|
29
|
+
isDialog?: boolean;
|
|
30
|
+
/** Controlled dialog open state */
|
|
31
|
+
isDialogOpen?: boolean;
|
|
32
|
+
/** Default dialog open state */
|
|
33
|
+
defaultIsDialogOpen?: boolean;
|
|
34
|
+
/** Dialog open state change callback */
|
|
35
|
+
onDialogOpenChange?: (isOpen: boolean) => void;
|
|
36
|
+
/** Props passed to Dialog component when in dialog mode */
|
|
37
|
+
dialogProps?: Omit<CubeDialogContainerProps, 'isDismissable' | 'onDismiss' | 'isOpen'>;
|
|
38
|
+
/** Padding for content areas inside the panel. Default: '1x' */
|
|
39
|
+
contentPadding?: Styles['padding'];
|
|
40
|
+
/** localStorage key for persisting panel size. When provided, size is stored and restored across instances. */
|
|
41
|
+
sizeStorageKey?: string;
|
|
42
|
+
/** Styles for the panel */
|
|
43
|
+
styles?: Styles;
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
declare const _LayoutPanel: import("react").ForwardRefExoticComponent<CubeLayoutPanelProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
47
|
+
export { _LayoutPanel as LayoutPanel };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BaseProps, ContainerStyleProps } from '../../../tasty';
|
|
3
|
+
export interface CubeLayoutPanelHeaderProps extends BaseProps, ContainerStyleProps {
|
|
4
|
+
/** Panel title */
|
|
5
|
+
title?: ReactNode;
|
|
6
|
+
/** Title heading level (affects semantics, not visual) */
|
|
7
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
8
|
+
/** Show close button */
|
|
9
|
+
isClosable?: boolean;
|
|
10
|
+
/** Close button click handler */
|
|
11
|
+
onClose?: () => void;
|
|
12
|
+
/** Custom actions to display (overrides default close button) */
|
|
13
|
+
actions?: ReactNode;
|
|
14
|
+
children?: ReactNode;
|
|
15
|
+
}
|
|
16
|
+
declare const _LayoutPanelHeader: import("react").ForwardRefExoticComponent<CubeLayoutPanelHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
17
|
+
export { _LayoutPanelHeader as LayoutPanelHeader };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CubeLayoutContentProps } from './LayoutContent';
|
|
2
|
+
export interface CubeLayoutToolbarProps extends CubeLayoutContentProps {
|
|
3
|
+
}
|
|
4
|
+
declare const _LayoutToolbar: import("react").ForwardRefExoticComponent<CubeLayoutToolbarProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export { _LayoutToolbar as LayoutToolbar };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CSSProperties, RefObject } from 'react';
|
|
2
|
+
export interface TinyScrollbarState {
|
|
3
|
+
hasOverflowY: boolean;
|
|
4
|
+
hasOverflowX: boolean;
|
|
5
|
+
scrollTop: number;
|
|
6
|
+
scrollLeft: number;
|
|
7
|
+
scrollHeight: number;
|
|
8
|
+
scrollWidth: number;
|
|
9
|
+
clientHeight: number;
|
|
10
|
+
clientWidth: number;
|
|
11
|
+
}
|
|
12
|
+
export interface TinyScrollbarResult {
|
|
13
|
+
handleVStyle: CSSProperties;
|
|
14
|
+
handleHStyle: CSSProperties;
|
|
15
|
+
hasOverflowY: boolean;
|
|
16
|
+
hasOverflowX: boolean;
|
|
17
|
+
isScrolling: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare function useTinyScrollbar(ref: RefObject<HTMLElement | null>, enabled: boolean): TinyScrollbarResult;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
2
|
+
import { CubeLayoutProps } from './Layout';
|
|
3
|
+
import { LayoutBlock } from './LayoutBlock';
|
|
4
|
+
import { LayoutContent } from './LayoutContent';
|
|
5
|
+
import { LayoutFlex } from './LayoutFlex';
|
|
6
|
+
import { LayoutFooter } from './LayoutFooter';
|
|
7
|
+
import { LayoutGrid } from './LayoutGrid';
|
|
8
|
+
import { LayoutHeader } from './LayoutHeader';
|
|
9
|
+
import { LayoutPane } from './LayoutPane';
|
|
10
|
+
import { LayoutPanel } from './LayoutPanel';
|
|
11
|
+
import { LayoutPanelHeader } from './LayoutPanelHeader';
|
|
12
|
+
import { LayoutToolbar } from './LayoutToolbar';
|
|
13
|
+
export { GridLayout } from './GridLayout';
|
|
14
|
+
export type { CubeGridLayoutProps } from './GridLayout';
|
|
15
|
+
export type { CubeLayoutProps } from './Layout';
|
|
16
|
+
export type { CubeLayoutBlockProps } from './LayoutBlock';
|
|
17
|
+
export type { CubeLayoutContentProps, ScrollbarType } from './LayoutContent';
|
|
18
|
+
export type { CubeLayoutFlexProps } from './LayoutFlex';
|
|
19
|
+
export type { CubeLayoutGridProps } from './LayoutGrid';
|
|
20
|
+
export type { CubeLayoutFooterProps } from './LayoutFooter';
|
|
21
|
+
export type { CubeLayoutHeaderProps } from './LayoutHeader';
|
|
22
|
+
export type { CubeLayoutPaneProps, ResizeEdge } from './LayoutPane';
|
|
23
|
+
export type { CubeLayoutPanelProps } from './LayoutPanel';
|
|
24
|
+
export type { CubeLayoutPanelHeaderProps } from './LayoutPanelHeader';
|
|
25
|
+
export type { CubeLayoutToolbarProps } from './LayoutToolbar';
|
|
26
|
+
export { LayoutContext, LayoutPanelContext, useLayoutContext, useLayoutPanelContext, } from './LayoutContext';
|
|
27
|
+
export type { LayoutContextValue, LayoutPanelContextValue, Side, } from './LayoutContext';
|
|
28
|
+
interface LayoutComponent extends ForwardRefExoticComponent<CubeLayoutProps & RefAttributes<HTMLDivElement>> {
|
|
29
|
+
Toolbar: typeof LayoutToolbar;
|
|
30
|
+
Header: typeof LayoutHeader;
|
|
31
|
+
Footer: typeof LayoutFooter;
|
|
32
|
+
Content: typeof LayoutContent;
|
|
33
|
+
Block: typeof LayoutBlock;
|
|
34
|
+
Flex: typeof LayoutFlex;
|
|
35
|
+
Grid: typeof LayoutGrid;
|
|
36
|
+
Pane: typeof LayoutPane;
|
|
37
|
+
Panel: typeof LayoutPanel;
|
|
38
|
+
PanelHeader: typeof LayoutPanelHeader;
|
|
39
|
+
}
|
|
40
|
+
declare const Layout: LayoutComponent;
|
|
41
|
+
export { Layout };
|
|
@@ -68,9 +68,7 @@ export declare const SectionHeading: import("react").ComponentType<{
|
|
|
68
68
|
element?: `A${string}` | `B${string}` | `C${string}` | `D${string}` | `E${string}` | `F${string}` | `G${string}` | `H${string}` | `I${string}` | `J${string}` | `K${string}` | `L${string}` | `M${string}` | `N${string}` | `O${string}` | `P${string}` | `Q${string}` | `R${string}` | `S${string}` | `T${string}` | `U${string}` | `V${string}` | `W${string}` | `X${string}` | `Y${string}` | `Z${string}` | undefined;
|
|
69
69
|
multiple?: boolean | undefined;
|
|
70
70
|
styles?: import("../../../tasty").Styles | undefined;
|
|
71
|
-
mods?:
|
|
72
|
-
[key: string]: string | number | boolean | null | undefined;
|
|
73
|
-
} | undefined;
|
|
71
|
+
mods?: import("../../../tasty").Mods | undefined;
|
|
74
72
|
min?: string | number | undefined;
|
|
75
73
|
max?: string | number | undefined;
|
|
76
74
|
css?: string | undefined;
|