@lablup/ui-common 0.1.0-alpha.9 → 0.2.0-alpha.15
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/NOTICE +62 -0
- package/README.md +490 -68
- package/astryx/components/AlertModal.doc.mjs +91 -0
- package/astryx/components/AlertModal.tsx +3 -0
- package/astryx/components/BoardItemTitle.doc.mjs +51 -0
- package/astryx/components/BoardItemTitle.tsx +3 -0
- package/astryx/components/BooleanToken.doc.mjs +57 -0
- package/astryx/components/BooleanToken.tsx +3 -0
- package/astryx/components/BulkEditFormItem.doc.mjs +68 -0
- package/astryx/components/BulkEditFormItem.tsx +3 -0
- package/astryx/components/BulkErrorModal.doc.mjs +75 -0
- package/astryx/components/BulkErrorModal.tsx +3 -0
- package/astryx/components/ColorPicker.doc.mjs +88 -0
- package/astryx/components/ColorPicker.tsx +3 -0
- package/astryx/components/ConfirmPopover.doc.mjs +99 -0
- package/astryx/components/ConfirmPopover.tsx +3 -0
- package/astryx/components/CountBadge.doc.mjs +93 -0
- package/astryx/components/CountBadge.tsx +3 -0
- package/astryx/components/CountdownBorder.doc.mjs +57 -0
- package/astryx/components/CountdownBorder.tsx +3 -0
- package/astryx/components/DataGrid.doc.mjs +166 -0
- package/astryx/components/DataGrid.tsx +3 -0
- package/astryx/components/DeleteConfirmModal.doc.mjs +163 -0
- package/astryx/components/DeleteConfirmModal.tsx +3 -0
- package/astryx/components/DividedRow.doc.mjs +85 -0
- package/astryx/components/DividedRow.tsx +3 -0
- package/astryx/components/DoubleBadge.doc.mjs +40 -0
- package/astryx/components/DoubleBadge.tsx +3 -0
- package/astryx/components/DoubleToken.doc.mjs +38 -0
- package/astryx/components/DoubleToken.tsx +3 -0
- package/astryx/components/Form.doc.mjs +113 -0
- package/astryx/components/Form.tsx +3 -0
- package/astryx/components/IconWithTooltip.doc.mjs +57 -0
- package/astryx/components/IconWithTooltip.tsx +3 -0
- package/astryx/components/ImageWithFallback.doc.mjs +47 -0
- package/astryx/components/ImageWithFallback.tsx +3 -0
- package/astryx/components/ListBanner.doc.mjs +50 -0
- package/astryx/components/ListBanner.tsx +3 -0
- package/astryx/components/Modal.doc.mjs +176 -0
- package/astryx/components/Modal.tsx +3 -0
- package/astryx/components/NotificationItem.doc.mjs +52 -0
- package/astryx/components/NotificationItem.tsx +3 -0
- package/astryx/components/NotificationStack.doc.mjs +66 -0
- package/astryx/components/NotificationStack.tsx +3 -0
- package/astryx/components/OverlayScrollbar.doc.mjs +49 -0
- package/astryx/components/OverlayScrollbar.tsx +3 -0
- package/astryx/components/PageHeader.doc.mjs +94 -0
- package/astryx/components/PageHeader.tsx +3 -0
- package/astryx/components/PagedSelector.doc.mjs +183 -0
- package/astryx/components/PagedSelector.tsx +3 -0
- package/astryx/components/ProgressWithLabel.doc.mjs +69 -0
- package/astryx/components/ProgressWithLabel.tsx +3 -0
- package/astryx/components/SelectionLabel.doc.mjs +55 -0
- package/astryx/components/SelectionLabel.tsx +3 -0
- package/astryx/components/Statistic.doc.mjs +84 -0
- package/astryx/components/Statistic.tsx +3 -0
- package/astryx/components/StepNumberInput.doc.mjs +102 -0
- package/astryx/components/StepNumberInput.tsx +3 -0
- package/astryx/components/TextHighlighter.doc.mjs +47 -0
- package/astryx/components/TextHighlighter.tsx +3 -0
- package/astryx/components/TokenList.doc.mjs +58 -0
- package/astryx/components/TokenList.tsx +3 -0
- package/astryx/components/TokenRow.doc.mjs +62 -0
- package/astryx/components/TokenRow.tsx +3 -0
- package/astryx/components/UncontrolledInput.doc.mjs +68 -0
- package/astryx/components/UncontrolledInput.tsx +3 -0
- package/astryx/components/UnitGrid.doc.mjs +107 -0
- package/astryx/components/UnitGrid.tsx +3 -0
- package/astryx/docs/ui-common.doc.mjs +112 -0
- package/astryx.integration.mjs +35 -0
- package/dist/assets/components/BoardItemTitle/BoardItemTitle.css +2 -0
- package/dist/assets/components/BulkErrorModal/BulkErrorModal.css +2 -0
- package/dist/assets/components/ColorPicker/ColorPicker.css +2 -0
- package/dist/assets/components/CountBadge/CountBadge.css +2 -0
- package/dist/assets/components/CountdownBorder/CountdownBorder.css +2 -0
- package/dist/assets/components/DataGrid/DataGrid.css +2 -0
- package/dist/assets/components/DeleteConfirmModal/DeleteConfirmModal.css +2 -0
- package/dist/assets/components/DigitPopIn/DigitPopIn.css +2 -0
- package/dist/assets/components/DividedRow/DividedRow.css +2 -0
- package/dist/assets/components/DoubleBadge/DoubleBadge.css +2 -0
- package/dist/assets/components/DoubleToken/DoubleToken.css +2 -0
- package/dist/assets/components/ErrorState/ErrorState.css +2 -1
- package/dist/assets/components/Form/FormItemVisual.css +2 -0
- package/dist/assets/components/IconWithTooltip/IconWithTooltip.css +2 -0
- package/dist/assets/components/ImageWithFallback/ImageWithFallback.css +2 -0
- package/dist/assets/components/ListBanner/ListBanner.css +2 -0
- package/dist/assets/components/Modal/Modal.css +2 -0
- package/dist/assets/components/NotificationItem/NotificationItem.css +2 -0
- package/dist/assets/components/NotificationStack/NotificationStack.css +2 -0
- package/dist/assets/components/OverlayScrollbar/OverlayScrollbar.css +2 -0
- package/dist/assets/components/PageHeader/PageHeader.css +2 -1
- package/dist/assets/components/PageLayout/PageLayout.css +2 -1
- package/dist/assets/components/PagedSelector/PagedSelector.css +2 -0
- package/dist/assets/components/ProgressWithLabel/ProgressWithLabel.css +2 -0
- package/dist/assets/components/Skeleton/SkeletonCard.css +2 -1
- package/dist/assets/components/Skeleton/SkeletonChart.css +2 -1
- package/dist/assets/components/Skeleton/SkeletonRow.css +2 -1
- package/dist/assets/components/Skeleton/SkeletonShape.css +2 -0
- package/dist/assets/components/Skeleton/SkeletonText.css +2 -1
- package/dist/assets/components/SmoothHeight/SmoothHeight.css +2 -1
- package/dist/assets/components/StatCard/StatCard.css +2 -1
- package/dist/assets/components/Statistic/Statistic.css +2 -0
- package/dist/assets/components/StepNumberInput/NumberStepper.css +2 -0
- package/dist/assets/components/TextHighlighter/TextHighlighter.css +2 -0
- package/dist/assets/components/TokenList/TokenList.css +2 -0
- package/dist/assets/components/TokenRow/TokenRow.css +2 -0
- package/dist/assets/components/UnitGrid/UnitGrid.css +2 -0
- package/dist/astryx/AppShell.d.ts +1 -0
- package/dist/astryx/AppShell.js +1 -0
- package/dist/astryx/AspectRatio.d.ts +1 -0
- package/dist/astryx/AspectRatio.js +1 -0
- package/dist/astryx/Avatar.d.ts +1 -0
- package/dist/astryx/Avatar.js +1 -0
- package/dist/astryx/AvatarGroup.d.ts +1 -0
- package/dist/astryx/AvatarGroup.js +1 -0
- package/dist/astryx/Badge.d.ts +1 -0
- package/dist/astryx/Badge.js +1 -0
- package/dist/astryx/Banner.d.ts +1 -0
- package/dist/astryx/Banner.js +1 -0
- package/dist/astryx/BaseProps.d.ts +1 -0
- package/dist/astryx/BaseProps.js +1 -0
- package/dist/astryx/Blockquote.d.ts +1 -0
- package/dist/astryx/Blockquote.js +1 -0
- package/dist/astryx/BottomSheet.d.ts +1 -0
- package/dist/astryx/BottomSheet.js +1 -0
- package/dist/astryx/Breadcrumbs.d.ts +1 -0
- package/dist/astryx/Breadcrumbs.js +1 -0
- package/dist/astryx/Button.d.ts +1 -0
- package/dist/astryx/Button.js +1 -0
- package/dist/astryx/ButtonGroup.d.ts +1 -0
- package/dist/astryx/ButtonGroup.js +1 -0
- package/dist/astryx/Calendar/utils.d.ts +1 -0
- package/dist/astryx/Calendar/utils.js +1 -0
- package/dist/astryx/Calendar.d.ts +1 -0
- package/dist/astryx/Calendar.js +1 -0
- package/dist/astryx/Card.d.ts +1 -0
- package/dist/astryx/Card.js +1 -0
- package/dist/astryx/Carousel.d.ts +1 -0
- package/dist/astryx/Carousel.js +1 -0
- package/dist/astryx/Center.d.ts +1 -0
- package/dist/astryx/Center.js +1 -0
- package/dist/astryx/Chat.d.ts +1 -0
- package/dist/astryx/Chat.js +1 -0
- package/dist/astryx/CheckboxInput.d.ts +1 -0
- package/dist/astryx/CheckboxInput.js +1 -0
- package/dist/astryx/CheckboxList.d.ts +1 -0
- package/dist/astryx/CheckboxList.js +1 -0
- package/dist/astryx/Citation.d.ts +1 -0
- package/dist/astryx/Citation.js +1 -0
- package/dist/astryx/ClickableCard.d.ts +1 -0
- package/dist/astryx/ClickableCard.js +1 -0
- package/dist/astryx/Code.d.ts +1 -0
- package/dist/astryx/Code.js +1 -0
- package/dist/astryx/CodeBlock.d.ts +1 -0
- package/dist/astryx/CodeBlock.js +1 -0
- package/dist/astryx/Collapsible.d.ts +1 -0
- package/dist/astryx/Collapsible.js +1 -0
- package/dist/astryx/CommandPalette.d.ts +1 -0
- package/dist/astryx/CommandPalette.js +1 -0
- package/dist/astryx/ContextMenu.d.ts +1 -0
- package/dist/astryx/ContextMenu.js +1 -0
- package/dist/astryx/DateInput.d.ts +1 -0
- package/dist/astryx/DateInput.js +1 -0
- package/dist/astryx/DateRangeInput.d.ts +1 -0
- package/dist/astryx/DateRangeInput.js +1 -0
- package/dist/astryx/DateTimeInput.d.ts +1 -0
- package/dist/astryx/DateTimeInput.js +1 -0
- package/dist/astryx/Divider.d.ts +1 -0
- package/dist/astryx/Divider.js +1 -0
- package/dist/astryx/DropdownMenu.d.ts +1 -0
- package/dist/astryx/DropdownMenu.js +1 -0
- package/dist/astryx/EmptyState.d.ts +1 -0
- package/dist/astryx/EmptyState.js +1 -0
- package/dist/astryx/Field.d.ts +1 -0
- package/dist/astryx/Field.js +1 -0
- package/dist/astryx/FieldStatus.d.ts +1 -0
- package/dist/astryx/FieldStatus.js +1 -0
- package/dist/astryx/FileInput.d.ts +1 -0
- package/dist/astryx/FileInput.js +1 -0
- package/dist/astryx/FormLayout.d.ts +1 -0
- package/dist/astryx/FormLayout.js +1 -0
- package/dist/astryx/Grid.d.ts +1 -0
- package/dist/astryx/Grid.js +1 -0
- package/dist/astryx/HStack.d.ts +1 -0
- package/dist/astryx/HStack.js +1 -0
- package/dist/astryx/Heading.d.ts +1 -0
- package/dist/astryx/Heading.js +1 -0
- package/dist/astryx/HoverCard.d.ts +1 -0
- package/dist/astryx/HoverCard.js +1 -0
- package/dist/astryx/Icon.d.ts +1 -0
- package/dist/astryx/Icon.js +1 -0
- package/dist/astryx/IconButton.d.ts +1 -0
- package/dist/astryx/IconButton.js +1 -0
- package/dist/astryx/Indicator.d.ts +1 -0
- package/dist/astryx/Indicator.js +1 -0
- package/dist/astryx/InputGroup.d.ts +1 -0
- package/dist/astryx/InputGroup.js +1 -0
- package/dist/astryx/InteractiveRoleContext.d.ts +1 -0
- package/dist/astryx/InteractiveRoleContext.js +1 -0
- package/dist/astryx/Item.d.ts +1 -0
- package/dist/astryx/Item.js +1 -0
- package/dist/astryx/Kbd.d.ts +1 -0
- package/dist/astryx/Kbd.js +1 -0
- package/dist/astryx/Layer.d.ts +1 -0
- package/dist/astryx/Layer.js +1 -0
- package/dist/astryx/Layout.d.ts +1 -0
- package/dist/astryx/Layout.js +1 -0
- package/dist/astryx/Lightbox.d.ts +1 -0
- package/dist/astryx/Lightbox.js +1 -0
- package/dist/astryx/Link.d.ts +1 -0
- package/dist/astryx/Link.js +1 -0
- package/dist/astryx/List.d.ts +1 -0
- package/dist/astryx/List.js +1 -0
- package/dist/astryx/Markdown/utils.d.ts +1 -0
- package/dist/astryx/Markdown/utils.js +1 -0
- package/dist/astryx/Markdown.d.ts +1 -0
- package/dist/astryx/Markdown.js +1 -0
- package/dist/astryx/MetadataList.d.ts +1 -0
- package/dist/astryx/MetadataList.js +1 -0
- package/dist/astryx/MobileNav.d.ts +1 -0
- package/dist/astryx/MobileNav.js +1 -0
- package/dist/astryx/MoreMenu.d.ts +1 -0
- package/dist/astryx/MoreMenu.js +1 -0
- package/dist/astryx/MultiSelector.d.ts +1 -0
- package/dist/astryx/MultiSelector.js +1 -0
- package/dist/astryx/NavIcon.d.ts +1 -0
- package/dist/astryx/NavIcon.js +1 -0
- package/dist/astryx/NavMenu.d.ts +1 -0
- package/dist/astryx/NavMenu.js +1 -0
- package/dist/astryx/NumberInput.d.ts +1 -0
- package/dist/astryx/NumberInput.js +1 -0
- package/dist/astryx/Outline.d.ts +1 -0
- package/dist/astryx/Outline.js +1 -0
- package/dist/astryx/OverflowList.d.ts +1 -0
- package/dist/astryx/OverflowList.js +1 -0
- package/dist/astryx/Overlay.d.ts +1 -0
- package/dist/astryx/Overlay.js +1 -0
- package/dist/astryx/Pagination.d.ts +1 -0
- package/dist/astryx/Pagination.js +1 -0
- package/dist/astryx/Popover.d.ts +1 -0
- package/dist/astryx/Popover.js +1 -0
- package/dist/astryx/PowerSearch/utils.d.ts +1 -0
- package/dist/astryx/PowerSearch/utils.js +1 -0
- package/dist/astryx/PowerSearch.d.ts +1 -0
- package/dist/astryx/PowerSearch.js +1 -0
- package/dist/astryx/ProgressBar.d.ts +1 -0
- package/dist/astryx/ProgressBar.js +1 -0
- package/dist/astryx/RadioList.d.ts +1 -0
- package/dist/astryx/RadioList.js +1 -0
- package/dist/astryx/Resizable/utils.d.ts +1 -0
- package/dist/astryx/Resizable/utils.js +1 -0
- package/dist/astryx/Resizable.d.ts +1 -0
- package/dist/astryx/Resizable.js +1 -0
- package/dist/astryx/ScrollableArea.d.ts +1 -0
- package/dist/astryx/ScrollableArea.js +1 -0
- package/dist/astryx/Section.d.ts +1 -0
- package/dist/astryx/Section.js +1 -0
- package/dist/astryx/SegmentedControl.d.ts +1 -0
- package/dist/astryx/SegmentedControl.js +1 -0
- package/dist/astryx/SelectableCard.d.ts +1 -0
- package/dist/astryx/SelectableCard.js +1 -0
- package/dist/astryx/Selector/utils.d.ts +1 -0
- package/dist/astryx/Selector/utils.js +1 -0
- package/dist/astryx/Selector.d.ts +1 -0
- package/dist/astryx/Selector.js +1 -0
- package/dist/astryx/SideNav.d.ts +1 -0
- package/dist/astryx/SideNav.js +1 -0
- package/dist/astryx/SizeContext.d.ts +1 -0
- package/dist/astryx/SizeContext.js +1 -0
- package/dist/astryx/Skeleton.d.ts +1 -0
- package/dist/astryx/Skeleton.js +1 -0
- package/dist/astryx/Slider.d.ts +1 -0
- package/dist/astryx/Slider.js +1 -0
- package/dist/astryx/Spinner.d.ts +1 -0
- package/dist/astryx/Spinner.js +1 -0
- package/dist/astryx/Stack.d.ts +1 -0
- package/dist/astryx/Stack.js +1 -0
- package/dist/astryx/StatusDot.d.ts +1 -0
- package/dist/astryx/StatusDot.js +1 -0
- package/dist/astryx/Stepper.d.ts +1 -0
- package/dist/astryx/Stepper.js +1 -0
- package/dist/astryx/Switch.d.ts +1 -0
- package/dist/astryx/Switch.js +1 -0
- package/dist/astryx/TabList.d.ts +1 -0
- package/dist/astryx/TabList.js +1 -0
- package/dist/astryx/Table/utils.d.ts +1 -0
- package/dist/astryx/Table/utils.js +1 -0
- package/dist/astryx/Table.d.ts +1 -0
- package/dist/astryx/Table.js +1 -0
- package/dist/astryx/Text.d.ts +1 -0
- package/dist/astryx/Text.js +1 -0
- package/dist/astryx/TextArea.d.ts +1 -0
- package/dist/astryx/TextArea.js +1 -0
- package/dist/astryx/TextInput.d.ts +1 -0
- package/dist/astryx/TextInput.js +1 -0
- package/dist/astryx/Thumbnail.d.ts +1 -0
- package/dist/astryx/Thumbnail.js +1 -0
- package/dist/astryx/TimeInput.d.ts +1 -0
- package/dist/astryx/TimeInput.js +1 -0
- package/dist/astryx/Timestamp.d.ts +1 -0
- package/dist/astryx/Timestamp.js +1 -0
- package/dist/astryx/Toast.d.ts +1 -0
- package/dist/astryx/Toast.js +1 -0
- package/dist/astryx/ToggleButton.d.ts +1 -0
- package/dist/astryx/ToggleButton.js +1 -0
- package/dist/astryx/Token.d.ts +1 -0
- package/dist/astryx/Token.js +1 -0
- package/dist/astryx/Tokenizer.d.ts +1 -0
- package/dist/astryx/Tokenizer.js +1 -0
- package/dist/astryx/Toolbar.d.ts +1 -0
- package/dist/astryx/Toolbar.js +1 -0
- package/dist/astryx/Tooltip.d.ts +1 -0
- package/dist/astryx/Tooltip.js +1 -0
- package/dist/astryx/TopNav.d.ts +1 -0
- package/dist/astryx/TopNav.js +1 -0
- package/dist/astryx/TreeList.d.ts +1 -0
- package/dist/astryx/TreeList.js +1 -0
- package/dist/astryx/Typeahead/utils.d.ts +1 -0
- package/dist/astryx/Typeahead/utils.js +1 -0
- package/dist/astryx/Typeahead.d.ts +1 -0
- package/dist/astryx/Typeahead.js +1 -0
- package/dist/astryx/VStack.d.ts +1 -0
- package/dist/astryx/VStack.js +1 -0
- package/dist/astryx/VisuallyHidden.d.ts +1 -0
- package/dist/astryx/VisuallyHidden.js +1 -0
- package/dist/astryx/astryx.css +3 -0
- package/dist/astryx/hooks.d.ts +1 -0
- package/dist/astryx/hooks.js +1 -0
- package/dist/astryx/i18n.d.ts +1 -0
- package/dist/astryx/i18n.js +1 -0
- package/dist/astryx/lab/lab.css +3 -0
- package/dist/astryx/lab.d.ts +6 -0
- package/dist/astryx/lab.js +6 -0
- package/dist/astryx/naming.d.ts +1 -0
- package/dist/astryx/naming.js +1 -0
- package/dist/astryx/reset.css +3 -0
- package/dist/astryx/tailwind-theme.css +3 -0
- package/dist/astryx/theme/neutral/built.d.ts +1 -0
- package/dist/astryx/theme/neutral/built.js +1 -0
- package/dist/astryx/theme/neutral/theme.css +3 -0
- package/dist/astryx/theme/neutral.d.ts +1 -0
- package/dist/astryx/theme/neutral.js +1 -0
- package/dist/astryx/theme/syntax.d.ts +1 -0
- package/dist/astryx/theme/syntax.js +1 -0
- package/dist/astryx/theme/tokens.d.ts +1 -0
- package/dist/astryx/theme/tokens.js +1 -0
- package/dist/astryx/theme/tokens.stylex.d.ts +1 -0
- package/dist/astryx/theme/tokens.stylex.js +1 -0
- package/dist/astryx/theme.d.ts +1 -0
- package/dist/astryx/theme.js +1 -0
- package/dist/astryx/utils.d.ts +1 -0
- package/dist/astryx/utils.js +1 -0
- package/dist/components/AlertModal/AlertModal.d.ts +14 -0
- package/dist/components/AlertModal/AlertModal.js +56 -0
- package/dist/components/AlertModal/AlertModal.js.map +1 -0
- package/dist/components/AlertModal/index.d.ts +2 -0
- package/dist/components/AlertModal/index.js +2 -0
- package/dist/components/BoardItemTitle/BoardItemTitle.d.ts +15 -0
- package/dist/components/BoardItemTitle/BoardItemTitle2.js +42 -0
- package/dist/components/BoardItemTitle/BoardItemTitle2.js.map +1 -0
- package/dist/components/BoardItemTitle/index.d.ts +2 -0
- package/dist/components/BoardItemTitle/index.js +2 -0
- package/dist/components/BooleanToken/BooleanToken.d.ts +15 -0
- package/dist/components/BooleanToken/BooleanToken.js +19 -0
- package/dist/components/BooleanToken/BooleanToken.js.map +1 -0
- package/dist/components/BooleanToken/BooleanToken.messages.d.ts +10 -0
- package/dist/components/BooleanToken/BooleanToken.messages.js +16 -0
- package/dist/components/BooleanToken/BooleanToken.messages.js.map +1 -0
- package/dist/components/BooleanToken/index.d.ts +2 -0
- package/dist/components/BooleanToken/index.js +2 -0
- package/dist/components/BulkEditFormItem/BulkEditFormItem.d.ts +24 -0
- package/dist/components/BulkEditFormItem/BulkEditFormItem.js +93 -0
- package/dist/components/BulkEditFormItem/BulkEditFormItem.js.map +1 -0
- package/dist/components/BulkEditFormItem/BulkEditFormItem.messages.d.ts +14 -0
- package/dist/components/BulkEditFormItem/BulkEditFormItem.messages.js +20 -0
- package/dist/components/BulkEditFormItem/BulkEditFormItem.messages.js.map +1 -0
- package/dist/components/BulkEditFormItem/index.d.ts +2 -0
- package/dist/components/BulkEditFormItem/index.js +2 -0
- package/dist/components/BulkErrorModal/BulkErrorModal.d.ts +23 -0
- package/dist/components/BulkErrorModal/BulkErrorModal.messages.d.ts +10 -0
- package/dist/components/BulkErrorModal/BulkErrorModal.messages.js +16 -0
- package/dist/components/BulkErrorModal/BulkErrorModal.messages.js.map +1 -0
- package/dist/components/BulkErrorModal/BulkErrorModal2.js +55 -0
- package/dist/components/BulkErrorModal/BulkErrorModal2.js.map +1 -0
- package/dist/components/BulkErrorModal/index.d.ts +2 -0
- package/dist/components/BulkErrorModal/index.js +2 -0
- package/dist/components/ColorPicker/ColorPicker.d.ts +43 -0
- package/dist/components/ColorPicker/ColorPicker.messages.d.ts +18 -0
- package/dist/components/ColorPicker/ColorPicker.messages.js +24 -0
- package/dist/components/ColorPicker/ColorPicker.messages.js.map +1 -0
- package/dist/components/ColorPicker/ColorPicker2.js +117 -0
- package/dist/components/ColorPicker/ColorPicker2.js.map +1 -0
- package/dist/components/ColorPicker/index.d.ts +2 -0
- package/dist/components/ColorPicker/index.js +2 -0
- package/dist/components/ConfirmPopover/ConfirmPopover.d.ts +35 -0
- package/dist/components/ConfirmPopover/ConfirmPopover.js +75 -0
- package/dist/components/ConfirmPopover/ConfirmPopover.js.map +1 -0
- package/dist/components/ConfirmPopover/index.d.ts +2 -0
- package/dist/components/ConfirmPopover/index.js +2 -0
- package/dist/components/CountBadge/CountBadge.d.ts +24 -0
- package/dist/components/CountBadge/CountBadge2.js +35 -0
- package/dist/components/CountBadge/CountBadge2.js.map +1 -0
- package/dist/components/CountBadge/index.d.ts +2 -0
- package/dist/components/CountBadge/index.js +2 -0
- package/dist/components/CountdownBorder/CountdownBorder.d.ts +22 -0
- package/dist/components/CountdownBorder/CountdownBorder2.js +63 -0
- package/dist/components/CountdownBorder/CountdownBorder2.js.map +1 -0
- package/dist/components/CountdownBorder/index.d.ts +2 -0
- package/dist/components/CountdownBorder/index.js +2 -0
- package/dist/components/DataGrid/DataGrid.d.ts +212 -0
- package/dist/components/DataGrid/DataGrid.messages.d.ts +70 -0
- package/dist/components/DataGrid/DataGrid.messages.js +76 -0
- package/dist/components/DataGrid/DataGrid.messages.js.map +1 -0
- package/dist/components/DataGrid/DataGrid2.js +447 -0
- package/dist/components/DataGrid/DataGrid2.js.map +1 -0
- package/dist/components/DataGrid/DataGridExportModal.d.ts +30 -0
- package/dist/components/DataGrid/DataGridExportModal.js +125 -0
- package/dist/components/DataGrid/DataGridExportModal.js.map +1 -0
- package/dist/components/DataGrid/DataGridSettingsModal.d.ts +36 -0
- package/dist/components/DataGrid/DataGridSettingsModal.js +177 -0
- package/dist/components/DataGrid/DataGridSettingsModal.js.map +1 -0
- package/dist/components/DataGrid/index.d.ts +6 -0
- package/dist/components/DataGrid/index.js +4 -0
- package/dist/components/DataGrid/nodeToPlainText.d.ts +6 -0
- package/dist/components/DataGrid/nodeToPlainText.js +9 -0
- package/dist/components/DataGrid/nodeToPlainText.js.map +1 -0
- package/dist/components/DeleteConfirmModal/DeleteConfirmModal.d.ts +78 -0
- package/dist/components/DeleteConfirmModal/DeleteConfirmModal.messages.d.ts +30 -0
- package/dist/components/DeleteConfirmModal/DeleteConfirmModal.messages.js +36 -0
- package/dist/components/DeleteConfirmModal/DeleteConfirmModal.messages.js.map +1 -0
- package/dist/components/DeleteConfirmModal/DeleteConfirmModal2.js +102 -0
- package/dist/components/DeleteConfirmModal/DeleteConfirmModal2.js.map +1 -0
- package/dist/components/DeleteConfirmModal/index.d.ts +2 -0
- package/dist/components/DeleteConfirmModal/index.js +2 -0
- package/dist/components/DigitPopIn/DigitPopIn.d.ts +8 -0
- package/dist/components/DigitPopIn/DigitPopIn2.js +30 -0
- package/dist/components/DigitPopIn/DigitPopIn2.js.map +1 -0
- package/dist/components/DigitPopIn/index.d.ts +2 -0
- package/dist/components/DigitPopIn/index.js +2 -0
- package/dist/components/DividedRow/DividedRow.d.ts +27 -0
- package/dist/components/DividedRow/DividedRow2.js +63 -0
- package/dist/components/DividedRow/DividedRow2.js.map +1 -0
- package/dist/components/DividedRow/index.d.ts +2 -0
- package/dist/components/DividedRow/index.js +2 -0
- package/dist/components/DoubleBadge/DoubleBadge.d.ts +14 -0
- package/dist/components/DoubleBadge/DoubleBadge2.js +28 -0
- package/dist/components/DoubleBadge/DoubleBadge2.js.map +1 -0
- package/dist/components/DoubleBadge/index.d.ts +2 -0
- package/dist/components/DoubleBadge/index.js +2 -0
- package/dist/components/DoubleToken/DoubleToken.d.ts +24 -0
- package/dist/components/DoubleToken/DoubleToken2.js +38 -0
- package/dist/components/DoubleToken/DoubleToken2.js.map +1 -0
- package/dist/components/DoubleToken/index.d.ts +2 -0
- package/dist/components/DoubleToken/index.js +2 -0
- package/dist/components/ErrorState/ErrorState.d.ts +7 -16
- package/dist/components/ErrorState/ErrorState2.js +33 -33
- package/dist/components/ErrorState/ErrorState2.js.map +1 -1
- package/dist/components/Form/ErrorList.d.ts +13 -0
- package/dist/components/Form/ErrorList.js +21 -0
- package/dist/components/Form/ErrorList.js.map +1 -0
- package/dist/components/Form/Field.d.ts +88 -0
- package/dist/components/Form/Field.js +212 -0
- package/dist/components/Form/Field.js.map +1 -0
- package/dist/components/Form/Form.d.ts +70 -0
- package/dist/components/Form/Form.js +130 -0
- package/dist/components/Form/Form.js.map +1 -0
- package/dist/components/Form/Form.messages.d.ts +96 -0
- package/dist/components/Form/Form.messages.js +96 -0
- package/dist/components/Form/Form.messages.js.map +1 -0
- package/dist/components/Form/FormConfigProvider.d.ts +20 -0
- package/dist/components/Form/FormConfigProvider.js +31 -0
- package/dist/components/Form/FormConfigProvider.js.map +1 -0
- package/dist/components/Form/FormItem.d.ts +56 -0
- package/dist/components/Form/FormItem.js +164 -0
- package/dist/components/Form/FormItem.js.map +1 -0
- package/dist/components/Form/FormItemVisual.d.ts +56 -0
- package/dist/components/Form/FormItemVisual2.js +117 -0
- package/dist/components/Form/FormItemVisual2.js.map +1 -0
- package/dist/components/Form/FormStore.d.ts +109 -0
- package/dist/components/Form/FormStore.js +494 -0
- package/dist/components/Form/FormStore.js.map +1 -0
- package/dist/components/Form/List.d.ts +22 -0
- package/dist/components/Form/List.js +65 -0
- package/dist/components/Form/List.js.map +1 -0
- package/dist/components/Form/context.d.ts +91 -0
- package/dist/components/Form/context.js +34 -0
- package/dist/components/Form/context.js.map +1 -0
- package/dist/components/Form/feedbackIcons.d.ts +13 -0
- package/dist/components/Form/feedbackIcons.js +45 -0
- package/dist/components/Form/feedbackIcons.js.map +1 -0
- package/dist/components/Form/index.d.ts +30 -0
- package/dist/components/Form/index.js +18 -0
- package/dist/components/Form/index.js.map +1 -0
- package/dist/components/Form/interface.d.ts +212 -0
- package/dist/components/Form/isEqual.d.ts +1 -0
- package/dist/components/Form/isEqual.js +61 -0
- package/dist/components/Form/isEqual.js.map +1 -0
- package/dist/components/Form/messages.d.ts +15 -0
- package/dist/components/Form/messages.js +52 -0
- package/dist/components/Form/messages.js.map +1 -0
- package/dist/components/Form/namePath.d.ts +78 -0
- package/dist/components/Form/namePath.js +120 -0
- package/dist/components/Form/namePath.js.map +1 -0
- package/dist/components/Form/useWatch.d.ts +11 -0
- package/dist/components/Form/useWatch.js +43 -0
- package/dist/components/Form/useWatch.js.map +1 -0
- package/dist/components/Form/validate.d.ts +16 -0
- package/dist/components/Form/validate.js +214 -0
- package/dist/components/Form/validate.js.map +1 -0
- package/dist/components/IconWithTooltip/IconWithTooltip.d.ts +19 -0
- package/dist/components/IconWithTooltip/IconWithTooltip2.js +38 -0
- package/dist/components/IconWithTooltip/IconWithTooltip2.js.map +1 -0
- package/dist/components/IconWithTooltip/accessibleLabel.d.ts +2 -0
- package/dist/components/IconWithTooltip/accessibleLabel.js +33 -0
- package/dist/components/IconWithTooltip/accessibleLabel.js.map +1 -0
- package/dist/components/IconWithTooltip/index.d.ts +2 -0
- package/dist/components/IconWithTooltip/index.js +2 -0
- package/dist/components/ImageWithFallback/ImageWithFallback.d.ts +11 -0
- package/dist/components/ImageWithFallback/ImageWithFallback2.js +28 -0
- package/dist/components/ImageWithFallback/ImageWithFallback2.js.map +1 -0
- package/dist/components/ImageWithFallback/index.d.ts +2 -0
- package/dist/components/ImageWithFallback/index.js +2 -0
- package/dist/components/ListBanner/ListBanner.d.ts +17 -0
- package/dist/components/ListBanner/ListBanner2.js +27 -0
- package/dist/components/ListBanner/ListBanner2.js.map +1 -0
- package/dist/components/ListBanner/index.d.ts +2 -0
- package/dist/components/ListBanner/index.js +2 -0
- package/dist/components/Modal/Modal.d.ts +65 -0
- package/dist/components/Modal/Modal2.js +226 -0
- package/dist/components/Modal/Modal2.js.map +1 -0
- package/dist/components/Modal/index.d.ts +15 -0
- package/dist/components/Modal/index.js +4 -0
- package/dist/components/Modal/modalStack.d.ts +64 -0
- package/dist/components/Modal/modalStack.js +81 -0
- package/dist/components/Modal/modalStack.js.map +1 -0
- package/dist/components/NotificationItem/NotificationItem.d.ts +14 -0
- package/dist/components/NotificationItem/NotificationItem2.js +40 -0
- package/dist/components/NotificationItem/NotificationItem2.js.map +1 -0
- package/dist/components/NotificationItem/index.d.ts +2 -0
- package/dist/components/NotificationItem/index.js +2 -0
- package/dist/components/NotificationStack/NotificationStack.d.ts +56 -0
- package/dist/components/NotificationStack/NotificationStack.messages.d.ts +6 -0
- package/dist/components/NotificationStack/NotificationStack.messages.js +10 -0
- package/dist/components/NotificationStack/NotificationStack.messages.js.map +1 -0
- package/dist/components/NotificationStack/NotificationStack2.js +154 -0
- package/dist/components/NotificationStack/NotificationStack2.js.map +1 -0
- package/dist/components/NotificationStack/index.d.ts +2 -0
- package/dist/components/NotificationStack/index.js +2 -0
- package/dist/components/OverlayScrollbar/OverlayScrollbar.d.ts +13 -0
- package/dist/components/OverlayScrollbar/OverlayScrollbar2.js +69 -0
- package/dist/components/OverlayScrollbar/OverlayScrollbar2.js.map +1 -0
- package/dist/components/OverlayScrollbar/index.d.ts +2 -0
- package/dist/components/OverlayScrollbar/index.js +2 -0
- package/dist/components/PageHeader/PageHeader.d.ts +24 -8
- package/dist/components/PageHeader/PageHeader.messages.d.ts +6 -0
- package/dist/components/PageHeader/PageHeader.messages.js +10 -0
- package/dist/components/PageHeader/PageHeader.messages.js.map +1 -0
- package/dist/components/PageHeader/PageHeader2.js +57 -30
- package/dist/components/PageHeader/PageHeader2.js.map +1 -1
- package/dist/components/PageLayout/PageLayout2.js +2 -2
- package/dist/components/PageLayout/PageLayout2.js.map +1 -1
- package/dist/components/PagedSelector/PagedSelector.d.ts +107 -0
- package/dist/components/PagedSelector/PagedSelector.messages.d.ts +30 -0
- package/dist/components/PagedSelector/PagedSelector.messages.js +36 -0
- package/dist/components/PagedSelector/PagedSelector.messages.js.map +1 -0
- package/dist/components/PagedSelector/PagedSelector2.js +220 -0
- package/dist/components/PagedSelector/PagedSelector2.js.map +1 -0
- package/dist/components/PagedSelector/PanelSearchInput.d.ts +22 -0
- package/dist/components/PagedSelector/PanelSearchInput.js +95 -0
- package/dist/components/PagedSelector/PanelSearchInput.js.map +1 -0
- package/dist/components/PagedSelector/index.d.ts +2 -0
- package/dist/components/PagedSelector/index.js +2 -0
- package/dist/components/ProgressWithLabel/ProgressWithLabel.d.ts +26 -0
- package/dist/components/ProgressWithLabel/ProgressWithLabel2.js +44 -0
- package/dist/components/ProgressWithLabel/ProgressWithLabel2.js.map +1 -0
- package/dist/components/ProgressWithLabel/index.d.ts +2 -0
- package/dist/components/ProgressWithLabel/index.js +2 -0
- package/dist/components/SelectionLabel/SelectionLabel.d.ts +23 -0
- package/dist/components/SelectionLabel/SelectionLabel.js +29 -0
- package/dist/components/SelectionLabel/SelectionLabel.js.map +1 -0
- package/dist/components/SelectionLabel/SelectionLabel.messages.d.ts +10 -0
- package/dist/components/SelectionLabel/SelectionLabel.messages.js +16 -0
- package/dist/components/SelectionLabel/SelectionLabel.messages.js.map +1 -0
- package/dist/components/SelectionLabel/index.d.ts +2 -0
- package/dist/components/SelectionLabel/index.js +2 -0
- package/dist/components/Skeleton/Skeleton.messages.d.ts +18 -0
- package/dist/components/Skeleton/Skeleton.messages.js +24 -0
- package/dist/components/Skeleton/Skeleton.messages.js.map +1 -0
- package/dist/components/Skeleton/SkeletonCard.d.ts +4 -9
- package/dist/components/Skeleton/SkeletonCard2.js +53 -53
- package/dist/components/Skeleton/SkeletonCard2.js.map +1 -1
- package/dist/components/Skeleton/SkeletonChart.d.ts +5 -11
- package/dist/components/Skeleton/SkeletonChart2.js +51 -45
- package/dist/components/Skeleton/SkeletonChart2.js.map +1 -1
- package/dist/components/Skeleton/SkeletonRow.d.ts +5 -10
- package/dist/components/Skeleton/SkeletonRow2.js +35 -34
- package/dist/components/Skeleton/SkeletonRow2.js.map +1 -1
- package/dist/components/Skeleton/SkeletonShape.d.ts +10 -0
- package/dist/components/Skeleton/SkeletonShape2.js +23 -0
- package/dist/components/Skeleton/SkeletonShape2.js.map +1 -0
- package/dist/components/Skeleton/SkeletonText.d.ts +4 -9
- package/dist/components/Skeleton/SkeletonText2.js +22 -17
- package/dist/components/Skeleton/SkeletonText2.js.map +1 -1
- package/dist/components/Skeleton/index.d.ts +3 -5
- package/dist/components/Skeleton/index.js +4 -5
- package/dist/components/SmoothHeight/SmoothHeight2.js +2 -2
- package/dist/components/SmoothHeight/SmoothHeight2.js.map +1 -1
- package/dist/components/StatCard/StatCard.d.ts +28 -16
- package/dist/components/StatCard/StatCard2.js +96 -89
- package/dist/components/StatCard/StatCard2.js.map +1 -1
- package/dist/components/StatCard/index.d.ts +1 -1
- package/dist/components/Statistic/Statistic.d.ts +30 -0
- package/dist/components/Statistic/Statistic.messages.d.ts +6 -0
- package/dist/components/Statistic/Statistic.messages.js +10 -0
- package/dist/components/Statistic/Statistic.messages.js.map +1 -0
- package/dist/components/Statistic/Statistic2.js +75 -0
- package/dist/components/Statistic/Statistic2.js.map +1 -0
- package/dist/components/Statistic/index.d.ts +2 -0
- package/dist/components/Statistic/index.js +2 -0
- package/dist/components/StepNumberInput/NumberStepper.d.ts +29 -0
- package/dist/components/StepNumberInput/NumberStepper.messages.d.ts +10 -0
- package/dist/components/StepNumberInput/NumberStepper.messages.js +16 -0
- package/dist/components/StepNumberInput/NumberStepper.messages.js.map +1 -0
- package/dist/components/StepNumberInput/NumberStepper2.js +50 -0
- package/dist/components/StepNumberInput/NumberStepper2.js.map +1 -0
- package/dist/components/StepNumberInput/StepNumberInput.d.ts +33 -0
- package/dist/components/StepNumberInput/StepNumberInput.js +48 -0
- package/dist/components/StepNumberInput/StepNumberInput.js.map +1 -0
- package/dist/components/StepNumberInput/index.d.ts +4 -0
- package/dist/components/StepNumberInput/index.js +3 -0
- package/dist/components/TextHighlighter/TextHighlighter.d.ts +14 -0
- package/dist/components/TextHighlighter/TextHighlighter2.js +29 -0
- package/dist/components/TextHighlighter/TextHighlighter2.js.map +1 -0
- package/dist/components/TextHighlighter/index.d.ts +2 -0
- package/dist/components/TextHighlighter/index.js +2 -0
- package/dist/components/TokenList/TokenList.d.ts +18 -0
- package/dist/components/TokenList/TokenList2.js +55 -0
- package/dist/components/TokenList/TokenList2.js.map +1 -0
- package/dist/components/TokenList/index.d.ts +2 -0
- package/dist/components/TokenList/index.js +2 -0
- package/dist/components/TokenRow/TokenRow.d.ts +27 -0
- package/dist/components/TokenRow/TokenRow.messages.d.ts +6 -0
- package/dist/components/TokenRow/TokenRow.messages.js +10 -0
- package/dist/components/TokenRow/TokenRow.messages.js.map +1 -0
- package/dist/components/TokenRow/TokenRow2.js +29 -0
- package/dist/components/TokenRow/TokenRow2.js.map +1 -0
- package/dist/components/TokenRow/index.d.ts +2 -0
- package/dist/components/TokenRow/index.js +2 -0
- package/dist/components/UncontrolledInput/UncontrolledInput.d.ts +29 -0
- package/dist/components/UncontrolledInput/UncontrolledInput.js +49 -0
- package/dist/components/UncontrolledInput/UncontrolledInput.js.map +1 -0
- package/dist/components/UncontrolledInput/UncontrolledInput.messages.d.ts +6 -0
- package/dist/components/UncontrolledInput/UncontrolledInput.messages.js +10 -0
- package/dist/components/UncontrolledInput/UncontrolledInput.messages.js.map +1 -0
- package/dist/components/UncontrolledInput/index.d.ts +2 -0
- package/dist/components/UncontrolledInput/index.js +2 -0
- package/dist/components/UnitGrid/UnitGrid.d.ts +56 -0
- package/dist/components/UnitGrid/UnitGrid.geometry.d.ts +102 -0
- package/dist/components/UnitGrid/UnitGrid.geometry.js +172 -0
- package/dist/components/UnitGrid/UnitGrid.geometry.js.map +1 -0
- package/dist/components/UnitGrid/UnitGrid.messages.d.ts +14 -0
- package/dist/components/UnitGrid/UnitGrid.messages.js +20 -0
- package/dist/components/UnitGrid/UnitGrid.messages.js.map +1 -0
- package/dist/components/UnitGrid/UnitGrid2.js +393 -0
- package/dist/components/UnitGrid/UnitGrid2.js.map +1 -0
- package/dist/components/UnitGrid/UnitGridSkeleton.d.ts +9 -0
- package/dist/components/UnitGrid/UnitGridSkeleton.js +73 -0
- package/dist/components/UnitGrid/UnitGridSkeleton.js.map +1 -0
- package/dist/components/UnitGrid/index.d.ts +4 -0
- package/dist/components/UnitGrid/index.js +3 -0
- package/dist/forks/ComplexSelector/ComplexSelector.d.ts +144 -0
- package/dist/forks/ComplexSelector/ComplexSelector.js +157 -0
- package/dist/forks/ComplexSelector/ComplexSelector.js.map +1 -0
- package/dist/forks/ComplexSelector/ComplexSelector.styles.d.ts +125 -0
- package/dist/forks/ComplexSelector/ComplexSelector.styles.js +129 -0
- package/dist/forks/ComplexSelector/ComplexSelector.styles.js.map +1 -0
- package/dist/forks/ComplexSelector/index.d.ts +7 -0
- package/dist/forks/ComplexSelector/index.js +2 -0
- package/dist/forks/Drawer/Drawer.d.ts +98 -0
- package/dist/forks/Drawer/Drawer.js +94 -0
- package/dist/forks/Drawer/Drawer.js.map +1 -0
- package/dist/forks/Drawer/Drawer.styles.d.ts +99 -0
- package/dist/forks/Drawer/Drawer.styles.js +94 -0
- package/dist/forks/Drawer/Drawer.styles.js.map +1 -0
- package/dist/forks/Drawer/index.d.ts +6 -0
- package/dist/forks/Drawer/index.js +2 -0
- package/dist/forks/Drawer/useDrawerDialogPresence.d.ts +19 -0
- package/dist/forks/Drawer/useDrawerDialogPresence.js +62 -0
- package/dist/forks/Drawer/useDrawerDialogPresence.js.map +1 -0
- package/dist/forks/Tour/Tour.d.ts +58 -0
- package/dist/forks/Tour/Tour.js +55 -0
- package/dist/forks/Tour/Tour.js.map +1 -0
- package/dist/forks/Tour/TourContext.d.ts +37 -0
- package/dist/forks/Tour/TourContext.js +8 -0
- package/dist/forks/Tour/TourContext.js.map +1 -0
- package/dist/forks/Tour/TourStep.d.ts +43 -0
- package/dist/forks/Tour/TourStep.js +134 -0
- package/dist/forks/Tour/TourStep.js.map +1 -0
- package/dist/forks/Tour/TourStep.styles.d.ts +23 -0
- package/dist/forks/Tour/TourStep.styles.js +28 -0
- package/dist/forks/Tour/TourStep.styles.js.map +1 -0
- package/dist/forks/Tour/index.d.ts +11 -0
- package/dist/forks/Tour/index.js +4 -0
- package/dist/forks/Tour/useTour.d.ts +26 -0
- package/dist/forks/Tour/useTour.js +20 -0
- package/dist/forks/Tour/useTour.js.map +1 -0
- package/dist/forks/compiled.d.ts +5 -0
- package/dist/forks/compiled.js +8 -0
- package/dist/forks/compiled.js.map +1 -0
- package/dist/i18n/catalog.d.ts +12 -0
- package/dist/i18n/catalog.js +46 -0
- package/dist/i18n/catalog.js.map +1 -0
- package/dist/i18n/common.messages.d.ts +31 -0
- package/dist/i18n/common.messages.js +32 -0
- package/dist/i18n/common.messages.js.map +1 -0
- package/dist/i18n/index.d.ts +21 -0
- package/dist/i18n/index.js +3 -0
- package/dist/i18n/locales/de-DE.js +331 -0
- package/dist/i18n/locales/de-DE.js.map +1 -0
- package/dist/i18n/locales/el-GR.js +331 -0
- package/dist/i18n/locales/el-GR.js.map +1 -0
- package/dist/i18n/locales/es-ES.js +331 -0
- package/dist/i18n/locales/es-ES.js.map +1 -0
- package/dist/i18n/locales/fi-FI.js +331 -0
- package/dist/i18n/locales/fi-FI.js.map +1 -0
- package/dist/i18n/locales/fr-FR.js +331 -0
- package/dist/i18n/locales/fr-FR.js.map +1 -0
- package/dist/i18n/locales/id-ID.js +331 -0
- package/dist/i18n/locales/id-ID.js.map +1 -0
- package/dist/i18n/locales/it-IT.js +331 -0
- package/dist/i18n/locales/it-IT.js.map +1 -0
- package/dist/i18n/locales/ja-JP.js +351 -0
- package/dist/i18n/locales/ja-JP.js.map +1 -0
- package/dist/i18n/locales/ko-KR.js +351 -0
- package/dist/i18n/locales/ko-KR.js.map +1 -0
- package/dist/i18n/locales/mn-MN.js +327 -0
- package/dist/i18n/locales/mn-MN.js.map +1 -0
- package/dist/i18n/locales/ms-MY.js +331 -0
- package/dist/i18n/locales/ms-MY.js.map +1 -0
- package/dist/i18n/locales/pl-PL.js +331 -0
- package/dist/i18n/locales/pl-PL.js.map +1 -0
- package/dist/i18n/locales/pt-BR.js +331 -0
- package/dist/i18n/locales/pt-BR.js.map +1 -0
- package/dist/i18n/locales/pt-PT.js +331 -0
- package/dist/i18n/locales/pt-PT.js.map +1 -0
- package/dist/i18n/locales/ru-RU.js +331 -0
- package/dist/i18n/locales/ru-RU.js.map +1 -0
- package/dist/i18n/locales/th-TH.js +331 -0
- package/dist/i18n/locales/th-TH.js.map +1 -0
- package/dist/i18n/locales/tr-TR.js +331 -0
- package/dist/i18n/locales/tr-TR.js.map +1 -0
- package/dist/i18n/locales/vi-VN.js +331 -0
- package/dist/i18n/locales/vi-VN.js.map +1 -0
- package/dist/i18n/locales/zh-CN.js +331 -0
- package/dist/i18n/locales/zh-CN.js.map +1 -0
- package/dist/i18n/locales/zh-TW.js +331 -0
- package/dist/i18n/locales/zh-TW.js.map +1 -0
- package/dist/i18n/messages.d.ts +13 -0
- package/dist/i18n/messages.js +63 -0
- package/dist/i18n/messages.js.map +1 -0
- package/dist/i18n/translateWithNodes.d.ts +3 -0
- package/dist/i18n/translateWithNodes.js +14 -0
- package/dist/i18n/translateWithNodes.js.map +1 -0
- package/dist/i18n/useUicTranslator.d.ts +5 -0
- package/dist/i18n/useUicTranslator.js +38 -0
- package/dist/i18n/useUicTranslator.js.map +1 -0
- package/dist/index.d.ts +101 -27
- package/dist/index.js +63 -23
- package/dist/instance.d.ts +31 -0
- package/dist/instance.js +33 -0
- package/dist/instance.js.map +1 -0
- package/dist/legacy-tokens.css +177 -0
- package/dist/locales/af-ZA.json +954 -0
- package/dist/locales/ar-SA.json +994 -0
- package/dist/locales/ca-ES.json +970 -0
- package/dist/locales/cs-CZ.json +986 -0
- package/dist/locales/da-DK.json +962 -0
- package/dist/locales/de-DE.json +962 -0
- package/dist/locales/el-GR.json +986 -0
- package/dist/locales/en.json +1482 -0
- package/dist/locales/es-ES.json +974 -0
- package/dist/locales/fi-FI.json +986 -0
- package/dist/locales/fr-FR.json +950 -0
- package/dist/locales/he-IL.json +986 -0
- package/dist/locales/hu-HU.json +986 -0
- package/dist/locales/it-IT.json +974 -0
- package/dist/locales/ja-JP.json +994 -0
- package/dist/locales/ko-KR.json +986 -0
- package/dist/locales/nl-NL.json +950 -0
- package/dist/locales/no-NO.json +974 -0
- package/dist/locales/pl-PL.json +978 -0
- package/dist/locales/pseudo.json +1112 -0
- package/dist/locales/pt-BR.json +978 -0
- package/dist/locales/pt-PT.json +978 -0
- package/dist/locales/ro-RO.json +978 -0
- package/dist/locales/ru-RU.json +986 -0
- package/dist/locales/sr-SP.json +986 -0
- package/dist/locales/sv-SE.json +982 -0
- package/dist/locales/tr-TR.json +986 -0
- package/dist/locales/uk-UA.json +986 -0
- package/dist/locales/vi-VN.json +982 -0
- package/dist/locales/zh-CN.json +994 -0
- package/dist/locales/zh-TW.json +994 -0
- package/dist/styles/base.css +24 -2
- package/dist/styles/themes/orange-dark.css +4 -0
- package/dist/styles/themes/orange-light.css +4 -0
- package/dist/theme/lablup/built/lablup.d.ts +13 -0
- package/dist/theme/lablup/built/lablup.js +567 -0
- package/dist/theme/lablup/built/lablup.variants.d.ts +16 -0
- package/dist/theme/lablup/built/theme.css +716 -0
- package/dist/theme/lablup/index.d.ts +9 -0
- package/dist/theme/lablup/index.js +2 -0
- package/dist/theme/lablup/lablupTheme.d.ts +10 -0
- package/dist/theme/lablup/lablupTheme.js +21 -0
- package/dist/theme/lablup/lablupTheme.js.map +1 -0
- package/dist/ui-common-locales/de-DE.json +326 -0
- package/dist/ui-common-locales/el-GR.json +326 -0
- package/dist/ui-common-locales/en.json +346 -0
- package/dist/ui-common-locales/es-ES.json +326 -0
- package/dist/ui-common-locales/fi-FI.json +326 -0
- package/dist/ui-common-locales/fr-FR.json +326 -0
- package/dist/ui-common-locales/id-ID.json +326 -0
- package/dist/ui-common-locales/it-IT.json +326 -0
- package/dist/ui-common-locales/ja-JP.json +346 -0
- package/dist/ui-common-locales/ko-KR.json +346 -0
- package/dist/ui-common-locales/mn-MN.json +322 -0
- package/dist/ui-common-locales/ms-MY.json +326 -0
- package/dist/ui-common-locales/pl-PL.json +326 -0
- package/dist/ui-common-locales/pt-BR.json +326 -0
- package/dist/ui-common-locales/pt-PT.json +326 -0
- package/dist/ui-common-locales/ru-RU.json +326 -0
- package/dist/ui-common-locales/th-TH.json +326 -0
- package/dist/ui-common-locales/tr-TR.json +326 -0
- package/dist/ui-common-locales/vi-VN.json +326 -0
- package/dist/ui-common-locales/zh-CN.json +326 -0
- package/dist/ui-common-locales/zh-TW.json +326 -0
- package/dist/ui-common.css +51 -0
- package/exports.customs.json +62 -0
- package/exports.exclude.json +47 -0
- package/package.json +565 -21
- package/dist/assets/components/Badge/Badge.css +0 -1
- package/dist/assets/components/BaseCard/BaseCard.css +0 -1
- package/dist/assets/components/Button/Button.css +0 -1
- package/dist/assets/components/DataTable/DataTable.css +0 -1
- package/dist/assets/components/Drawer/Drawer.css +0 -1
- package/dist/assets/components/EmptyState/EmptyState.css +0 -1
- package/dist/assets/components/ProgressBar/ProgressBar.css +0 -1
- package/dist/assets/components/Skeleton/Skeleton.css +0 -1
- package/dist/assets/components/StatusTag/StatusTag.css +0 -1
- package/dist/assets/components/Tabs/Tabs.css +0 -1
- package/dist/assets/components/Tooltip/Tooltip.css +0 -1
- package/dist/components/Badge/Badge.d.ts +0 -7
- package/dist/components/Badge/Badge2.js +0 -20
- package/dist/components/Badge/Badge2.js.map +0 -1
- package/dist/components/Badge/index.d.ts +0 -2
- package/dist/components/Badge/index.js +0 -2
- package/dist/components/BaseCard/BaseCard.d.ts +0 -57
- package/dist/components/BaseCard/BaseCard2.js +0 -37
- package/dist/components/BaseCard/BaseCard2.js.map +0 -1
- package/dist/components/BaseCard/index.d.ts +0 -2
- package/dist/components/BaseCard/index.js +0 -2
- package/dist/components/Button/Button.d.ts +0 -54
- package/dist/components/Button/Button2.js +0 -75
- package/dist/components/Button/Button2.js.map +0 -1
- package/dist/components/Button/index.d.ts +0 -5
- package/dist/components/Button/index.js +0 -2
- package/dist/components/DataTable/DataTable.d.ts +0 -144
- package/dist/components/DataTable/DataTable2.js +0 -244
- package/dist/components/DataTable/DataTable2.js.map +0 -1
- package/dist/components/DataTable/index.d.ts +0 -2
- package/dist/components/DataTable/index.js +0 -2
- package/dist/components/Drawer/Drawer.d.ts +0 -25
- package/dist/components/Drawer/Drawer2.js +0 -107
- package/dist/components/Drawer/Drawer2.js.map +0 -1
- package/dist/components/Drawer/index.d.ts +0 -2
- package/dist/components/Drawer/index.js +0 -2
- package/dist/components/EmptyState/EmptyState.d.ts +0 -52
- package/dist/components/EmptyState/EmptyState.example.d.ts +0 -8
- package/dist/components/EmptyState/EmptyState2.js +0 -62
- package/dist/components/EmptyState/EmptyState2.js.map +0 -1
- package/dist/components/EmptyState/index.d.ts +0 -10
- package/dist/components/EmptyState/index.js +0 -2
- package/dist/components/ProgressBar/ProgressBar.d.ts +0 -22
- package/dist/components/ProgressBar/ProgressBar2.js +0 -37
- package/dist/components/ProgressBar/ProgressBar2.js.map +0 -1
- package/dist/components/ProgressBar/index.d.ts +0 -2
- package/dist/components/ProgressBar/index.js +0 -2
- package/dist/components/Skeleton/Skeleton.d.ts +0 -25
- package/dist/components/Skeleton/Skeleton2.js +0 -27
- package/dist/components/Skeleton/Skeleton2.js.map +0 -1
- package/dist/components/StatusTag/StatusTag.d.ts +0 -38
- package/dist/components/StatusTag/StatusTag2.js +0 -45
- package/dist/components/StatusTag/StatusTag2.js.map +0 -1
- package/dist/components/StatusTag/index.d.ts +0 -2
- package/dist/components/StatusTag/index.js +0 -2
- package/dist/components/Tabs/Tabs.d.ts +0 -94
- package/dist/components/Tabs/Tabs2.js +0 -412
- package/dist/components/Tabs/Tabs2.js.map +0 -1
- package/dist/components/Tabs/index.d.ts +0 -2
- package/dist/components/Tabs/index.js +0 -2
- package/dist/components/Tooltip/Tooltip.d.ts +0 -16
- package/dist/components/Tooltip/Tooltip2.js +0 -68
- package/dist/components/Tooltip/Tooltip2.js.map +0 -1
- package/dist/components/Tooltip/index.d.ts +0 -2
- package/dist/components/Tooltip/index.js +0 -2
- package/dist/hooks/index.js +0 -2
- package/dist/icons/AlertCircleIcon.d.ts +0 -11
- package/dist/icons/AlertCircleIcon.js +0 -26
- package/dist/icons/AlertCircleIcon.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormItem.js","names":[],"sources":["../../../src/components/Form/FormItem.tsx"],"sourcesContent":["/**\n * `Form.Item`: the visual shell (`FormItemVisual`) bound to a `Field`.\n *\n * Four behaviours are load-bearing:\n *\n * 1. `required` is not derived from `rules` naively. Function rules\n * (`({ getFieldValue }) => ({ required: … })`) are evaluated against the\n * live form to decide whether the marker shows; a `warningOnly` required\n * rule does not show it.\n * 2. Layout-only items aggregate their children's errors. An item with no\n * `name` wrapping `noStyle` children collects their metas through\n * `NoStyleItemContext`; without it their messages disappear.\n * 3. `help={false}` opts out of bubbling, so a nested item that renders its\n * own help does not report into an ancestor as well.\n * 4. `noStyle` is a pure passthrough: state only, no shell.\n */\nimport Field, { type FieldProps } from \"./Field\";\nimport FormItemVisual from \"./FormItemVisual\";\nimport {\n FieldContext,\n FormConfigContext,\n FormItemInputContext,\n FormItemLayoutContext,\n ListContext,\n NoStyleItemContext,\n type FormItemCol,\n type FormItemStatusContextValue,\n type FormLayout,\n type RequiredMark,\n} from \"./context\";\nimport type {\n InternalFormInstance,\n Meta,\n Rule,\n RuleObject,\n StoreValue,\n} from \"./interface\";\nimport { toArray, type InternalNamePath, type NamePath } from \"./namePath\";\nimport * as React from \"react\";\n\nimport { useUicTranslator } from \"../../i18n/useUicTranslator\";\n\nconst NAME_SPLIT = \"__SPLIT__\";\n\n/** antd's id scheme: `formName_a_b`, with a guard for a reserved DOM name. */\nconst ID_BLACKLIST = [\"parentNode\"];\nfunction getFieldId(namePath: InternalNamePath, formName?: string): string | undefined {\n if (!namePath.length) return undefined;\n const mergedId = namePath.join(\"_\");\n if (formName) return `${formName}_${mergedId}`;\n return ID_BLACKLIST.includes(mergedId) ? `form_item_${mergedId}` : mergedId;\n}\n\nfunction genEmptyMeta(): Meta {\n return {\n errors: [],\n warnings: [],\n touched: false,\n validating: false,\n name: [],\n validated: false,\n };\n}\n\nfunction getStatus(\n errors: React.ReactNode[],\n warnings: React.ReactNode[],\n meta: Meta,\n hasFeedback?: boolean,\n validateStatus?: FormItemStatusContextValue[\"status\"],\n): FormItemStatusContextValue[\"status\"] {\n if (validateStatus !== undefined) return validateStatus;\n if (meta.validating) return \"validating\";\n if (errors.length) return \"error\";\n if (warnings.length) return \"warning\";\n if (meta.touched || (hasFeedback && meta.validated)) return \"success\";\n return \"\";\n}\n\nexport interface FormItemProps<Values = any> extends Omit<\n FieldProps,\n \"children\" | \"name\" | \"onMetaChange\" | \"isList\"\n> {\n name?: NamePath;\n label?: React.ReactNode;\n /**\n * A node, or antd's `{ title, icon, placement, ... }` object form. `title`\n * becomes the tooltip body and `icon` the trigger glyph, rendered behind a\n * hover/focus target after the label. The other keys describe antd's\n * overlay and are ignored.\n */\n tooltip?: React.ReactNode | FormItemTooltipConfig;\n extra?: React.ReactNode;\n /** `false` also suppresses meta bubbling to an ancestor item. */\n help?: React.ReactNode;\n /** Overrides the asterisk derived from `rules`. */\n required?: boolean;\n /** Render no wrapper; bubble this field's meta to the nearest ancestor item. */\n noStyle?: boolean;\n hidden?: boolean;\n layout?: FormLayout;\n className?: string;\n style?: React.CSSProperties;\n hasFeedback?: boolean;\n validateStatus?: FormItemStatusContextValue[\"status\"];\n colon?: boolean;\n labelAlign?: \"left\" | \"right\";\n labelCol?: FormItemCol;\n wrapperCol?: FormItemCol;\n labelWrap?: boolean;\n htmlFor?: string;\n id?: string;\n fieldKey?: React.Key | React.Key[];\n children?: React.ReactNode | ((form: InternalFormInstance) => React.ReactNode);\n __values?: Values;\n}\n\nexport interface FormItemTooltipConfig {\n title?: React.ReactNode;\n icon?: React.ReactNode;\n placement?: string;\n [key: string]: unknown;\n}\n\nconst isTooltipConfig = (\n tooltip: FormItemProps[\"tooltip\"],\n): tooltip is FormItemTooltipConfig =>\n !!tooltip &&\n typeof tooltip === \"object\" &&\n !React.isValidElement(tooltip) &&\n \"title\" in tooltip;\n\n/** The tooltip BODY — antd's `tooltip` node, or the config object's `title`. */\nfunction normalizeTooltip(tooltip: FormItemProps[\"tooltip\"]): React.ReactNode {\n return isTooltipConfig(tooltip) ? tooltip.title : (tooltip as React.ReactNode);\n}\n\n/** The tooltip TRIGGER glyph — antd's `tooltip.icon`, when supplied. */\nfunction tooltipIcon(tooltip: FormItemProps[\"tooltip\"]): React.ReactNode {\n return isTooltipConfig(tooltip) ? tooltip.icon : undefined;\n}\n\ntype SubMetaMap = Record<\n string,\n {\n errors?: React.ReactNode[];\n warnings?: React.ReactNode[];\n name?: InternalNamePath;\n }\n>;\n\nconst FormItem = <Values,>(props: FormItemProps<Values>) => {\n const {\n name,\n label,\n tooltip,\n extra,\n help,\n required,\n noStyle,\n hidden,\n layout: propsLayout,\n className,\n style,\n hasFeedback,\n validateStatus,\n children,\n rules,\n dependencies,\n shouldUpdate,\n messageVariables,\n trigger = \"onChange\",\n validateTrigger,\n colon,\n labelAlign,\n labelCol,\n wrapperCol,\n labelWrap,\n htmlFor,\n fieldKey: _fieldKey,\n id: _id,\n __values: _values,\n ...restFieldProps\n } = props;\n\n const fieldContext = React.useContext(FieldContext);\n const { optionalLabel } = React.useContext(FormConfigContext);\n const t = useUicTranslator();\n const {\n layout: formLayout,\n requiredMark,\n name: formName,\n disabled: formDisabled,\n size: formSize,\n colon: formColon,\n labelAlign: formLabelAlign,\n labelCol: formLabelCol,\n wrapperCol: formWrapperCol,\n labelWrap: formLabelWrap,\n } = React.useContext(FormItemLayoutContext);\n const notifyParentMetaChange = React.useContext(NoStyleItemContext);\n const listContext = React.useContext(ListContext);\n\n const layout = propsLayout || formLayout;\n const mergedLabelCol = labelCol ?? formLabelCol;\n const mergedWrapperColProp = wrapperCol ?? formWrapperCol;\n /**\n * antd's `FormItemInput`: a LABEL-LESS item in a form that declares a\n * `labelCol` gets that span as a wrapper OFFSET, so its control still lines\n * up with the labelled rows above it.\n */\n const mergedWrapperCol =\n label === null &&\n !labelCol &&\n !wrapperCol &&\n formLabelCol?.span !== undefined &&\n formLabelCol.span < 24\n ? { ...mergedWrapperColProp, offset: formLabelCol.span }\n : mergedWrapperColProp;\n const mergedValidateTrigger =\n validateTrigger !== undefined ? validateTrigger : fieldContext.validateTrigger;\n\n const [meta, setMeta] = React.useState<Meta>(genEmptyMeta);\n const [subFieldErrors, setSubFieldErrors] = React.useState<SubMetaMap>({});\n // A removed list row no longer resolves through the key manager, so the\n // path used to unpublish it has to be the one we published under.\n const fieldKeyPathRef = React.useRef<InternalNamePath | null>(null);\n\n const onMetaChange = (nextMeta: Meta & { destroy?: boolean }) => {\n const keyInfo = listContext?.getKey(nextMeta.name);\n setMeta(nextMeta.destroy ? genEmptyMeta() : nextMeta);\n\n if (noStyle && help !== false && notifyParentMetaChange) {\n let namePath: InternalNamePath = nextMeta.name;\n if (!nextMeta.destroy) {\n if (keyInfo !== undefined) {\n const [fieldKey, restPath] = keyInfo;\n namePath = [fieldKey as string | number, ...restPath];\n fieldKeyPathRef.current = namePath;\n }\n } else {\n namePath = fieldKeyPathRef.current || namePath;\n }\n notifyParentMetaChange(nextMeta, namePath as React.Key[]);\n }\n };\n\n const onSubItemMetaChange = (\n subMeta: SubMetaMap[string] & { name: InternalNamePath; destroy?: boolean },\n uniqueKeys: React.Key[],\n ) => {\n setSubFieldErrors((prev) => {\n const clone = { ...prev };\n // name: ['user', 1] + key: [4] => 'user__SPLIT__4' — keyed by ROW\n // IDENTITY, so removing a list row drops the right entry.\n const mergedNameKey = [...subMeta.name.slice(0, -1), ...uniqueKeys].join(\n NAME_SPLIT,\n );\n if (subMeta.destroy) {\n delete clone[mergedNameKey];\n } else {\n clone[mergedNameKey] = subMeta;\n }\n return clone;\n });\n };\n\n const mergedErrors: React.ReactNode[] = [\n ...meta.errors,\n ...Object.values(subFieldErrors).flatMap((sub) => sub.errors ?? []),\n ];\n const mergedWarnings: React.ReactNode[] = [\n ...meta.warnings,\n ...Object.values(subFieldErrors).flatMap((sub) => sub.warnings ?? []),\n ];\n\n const renderLayout = (\n baseChildren: React.ReactNode,\n fieldId?: string,\n isRequired?: boolean,\n fieldHandle?: string,\n ) => {\n const status: FormItemStatusContextValue = {\n status: getStatus(\n mergedErrors,\n mergedWarnings,\n meta,\n hasFeedback,\n validateStatus,\n ),\n errors: mergedErrors,\n warnings: mergedWarnings,\n hasFeedback,\n isFormItemInput: true,\n };\n\n // A `noStyle` item contributes state only. Its errors were already sent\n // upward through `notifyParentMetaChange`.\n if (noStyle && !hidden) {\n return (\n <FormItemInputContext.Provider value={status}>\n {baseChildren}\n </FormItemInputContext.Provider>\n );\n }\n\n // antd keeps `-required` on the label in every case and hides the GLYPH\n // for `false` / `'optional'` / a function mark, because the label itself\n // then carries the hint. Mirrored so `.uic-form-item__label--required`\n // stays a stable anchor while the asterisk obeys the same rule.\n const requiredMarkType =\n requiredMark === false\n ? (\"hidden\" as const)\n : requiredMark === \"optional\" || typeof requiredMark === \"function\"\n ? (\"optional\" as const)\n : undefined;\n // An explicit `required` wins over the rules-derived value, and it is the\n // ONLY source on a layout-only item (no `name`, so no rules to derive\n // from). `BulkEditFormItem` renders exactly that shape — it drops\n // `name` from the item and drives the marker by hand.\n const mergedRequired = required !== undefined ? required : !!isRequired;\n const mergedLabel = applyRequiredMark(\n label,\n mergedRequired,\n requiredMark,\n optionalLabel ?? t(\"uic.Form.optional\"),\n );\n\n return (\n <FormItemInputContext.Provider value={status}>\n <FormItemVisual\n label={mergedLabel}\n labelTitle={typeof label === \"string\" ? label : undefined}\n tooltip={normalizeTooltip(tooltip)}\n tooltipIcon={tooltipIcon(tooltip)}\n extra={extra}\n help={help}\n required={mergedRequired}\n requiredMarkType={requiredMarkType}\n layout={layout}\n size={formSize}\n colon={colon ?? formColon}\n labelAlign={labelAlign ?? formLabelAlign}\n labelCol={mergedLabelCol}\n wrapperCol={mergedWrapperCol}\n labelWrap={labelWrap ?? formLabelWrap}\n status={status.status}\n hasFeedback={hasFeedback}\n className={className}\n style={style}\n hidden={hidden}\n fieldId={fieldId}\n fieldHandle={fieldHandle}\n htmlFor={htmlFor}\n errors={mergedErrors}\n warnings={mergedWarnings}\n >\n <NoStyleItemContext.Provider value={onSubItemMetaChange}>\n {baseChildren}\n </NoStyleItemContext.Provider>\n </FormItemVisual>\n </FormItemInputContext.Provider>\n );\n };\n\n const hasName = name !== undefined && name !== null;\n const isRenderProps = typeof children === \"function\";\n\n // Pure layout item: no field is registered, but the shell still renders and\n // still aggregates the `noStyle` children nested inside it.\n if (!hasName && !isRenderProps && !dependencies) {\n return renderLayout(children as React.ReactNode);\n }\n\n // `${label}` in a validate message resolves to the item's label when it is\n // a plain string, else to its name — matching antd's `messageVariables`.\n let variables: Record<string, string> = {};\n if (typeof label === \"string\") {\n variables.label = label;\n } else if (name) {\n variables.label = String(name);\n }\n if (messageVariables) {\n variables = { ...variables, ...messageVariables };\n }\n\n return (\n <Field\n {...restFieldProps}\n name={name}\n rules={rules}\n dependencies={dependencies}\n shouldUpdate={shouldUpdate}\n messageVariables={variables}\n trigger={trigger}\n validateTrigger={mergedValidateTrigger}\n onMetaChange={onMetaChange}\n >\n {(control, renderMeta, context) => {\n const mergedName = toArray(name as any).length ? renderMeta.name : [];\n const fieldId = getFieldId(mergedName, formName);\n const isRequired =\n required !== undefined ? required : isRuleRequired(rules, context);\n\n let childNode: React.ReactNode = null;\n\n if (isRenderProps && (shouldUpdate || dependencies) && !hasName) {\n childNode = (children as (form: InternalFormInstance) => React.ReactNode)(\n context,\n );\n } else if (React.isValidElement(children)) {\n const element = children as React.ReactElement<Record<string, any>>;\n const childProps: Record<string, any> = {\n ...element.props,\n ...control,\n };\n if (!childProps.id) {\n childProps.id = fieldId;\n }\n // Astryx controls replace `id` with their own `useId()` but pass\n // `data-*` through; this is what `FormStore.getFieldDOMNode` finds.\n if (mergedName.length) {\n childProps[\"data-uic-field-id\"] = mergedName.join(\"_\");\n }\n if (formDisabled && childProps.disabled === undefined) {\n childProps.disabled = true;\n }\n\n const describedbyArr: string[] = [];\n if (help || mergedErrors.length > 0) {\n describedbyArr.push(`${fieldId}_help`);\n }\n if (extra) {\n describedbyArr.push(`${fieldId}_extra`);\n }\n if (describedbyArr.length) {\n childProps[\"aria-describedby\"] = describedbyArr.join(\" \");\n }\n if (mergedErrors.length > 0) {\n childProps[\"aria-invalid\"] = \"true\";\n }\n if (isRequired) {\n childProps[\"aria-required\"] = \"true\";\n }\n\n // Keep the child's own handlers: `control[trigger]` writes to the\n // store, then the author's handler runs.\n const triggers = new Set<string>([\n ...toArray(trigger),\n ...toArray(mergedValidateTrigger as string | string[]),\n ]);\n triggers.forEach((eventName) => {\n childProps[eventName] = (...args: any[]) => {\n control[eventName]?.(...args);\n (element.props as any)[eventName]?.(...args);\n };\n });\n\n childNode = React.cloneElement(element, childProps);\n } else {\n childNode = children as React.ReactNode;\n }\n\n return renderLayout(\n childNode,\n fieldId,\n isRequired,\n mergedName.length ? mergedName.join(\"_\") : undefined,\n );\n }}\n </Field>\n );\n};\n\n/**\n * Evaluate `rules` — INCLUDING function rules, against the live form — to\n * decide whether the required marker shows. A `warningOnly` required rule\n * does not count: it is advice, not a requirement.\n */\nfunction isRuleRequired(\n rules: Rule[] | undefined,\n form: InternalFormInstance,\n): boolean {\n return !!rules?.some((rule) => {\n if (typeof rule === \"function\") {\n const resolved = rule(form) as RuleObject | undefined;\n return !!resolved?.required && !resolved?.warningOnly;\n }\n return !!rule?.required && !rule?.warningOnly;\n });\n}\n\n/**\n * `requiredMark` decorates the LABEL. A function or `'optional'` mark replaces\n * the asterisk entirely, as in antd: the label itself then carries the hint.\n */\nfunction applyRequiredMark(\n label: React.ReactNode,\n required: boolean,\n requiredMark: RequiredMark | undefined,\n optionalLabel: React.ReactNode,\n): React.ReactNode {\n if (label === undefined || label === null) return label;\n if (typeof requiredMark === \"function\") {\n return requiredMark(label, { required });\n }\n if (requiredMark === \"optional\" && !required) {\n // antd renders the bare locale string and spaces it with\n // `margin-inline-start: marginXXS`, so the gap survives text selection and\n // copy. The engine had baked a literal leading space into the string,\n // which put \" (optional)\" in `label.textContent` where antd has\n // \"(optional)\".\n return (\n <>\n {label}\n <span className=\"uic-form-item__optional\">{optionalLabel}</span>\n </>\n );\n }\n return label;\n}\n\n/** Errors/warnings of the nearest enclosing `Form.Item`. */\nexport const useFormItemStatus = () => {\n const { status, errors = [], warnings = [] } = React.useContext(FormItemInputContext);\n return { status, errors, warnings };\n};\n\nexport { getFieldId };\nexport default FormItem;\nexport type { StoreValue };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type FormItemLayout = "vertical" | "horizontal" | "inline";
|
|
3
|
+
export type FormItemSize = "small" | "middle" | "large";
|
|
4
|
+
export type FormItemStatus = "success" | "warning" | "error" | "validating" | "";
|
|
5
|
+
/** antd's `Col` props, reduced to `span`, `offset`, `flex`, `className` and `style`. */
|
|
6
|
+
export interface FormItemCol {
|
|
7
|
+
span?: number;
|
|
8
|
+
offset?: number;
|
|
9
|
+
flex?: string | number;
|
|
10
|
+
className?: string;
|
|
11
|
+
style?: React.CSSProperties;
|
|
12
|
+
}
|
|
13
|
+
export interface FormItemVisualProps {
|
|
14
|
+
label?: React.ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* `<label title>`. Separate from `label` because it is taken from the
|
|
17
|
+
* original prop, before `requiredMark` wraps it: a function mark turns the
|
|
18
|
+
* label into an element and the title would disappear.
|
|
19
|
+
*/
|
|
20
|
+
labelTitle?: string;
|
|
21
|
+
/** The tooltip body, rendered behind a help glyph after the label. */
|
|
22
|
+
tooltip?: React.ReactNode;
|
|
23
|
+
/** The tooltip trigger glyph. Defaults to a question mark in a circle. */
|
|
24
|
+
tooltipIcon?: React.ReactNode;
|
|
25
|
+
extra?: React.ReactNode;
|
|
26
|
+
help?: React.ReactNode;
|
|
27
|
+
/** Renders the required marker. Independent of the `required` rule. */
|
|
28
|
+
required?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* How the marker is drawn: `'optional'` and `'hidden'` hide the asterisk (a
|
|
31
|
+
* function or `'optional'` `requiredMark` puts the hint in the label).
|
|
32
|
+
*/
|
|
33
|
+
requiredMarkType?: "optional" | "hidden";
|
|
34
|
+
layout?: FormItemLayout;
|
|
35
|
+
size?: FormItemSize;
|
|
36
|
+
colon?: boolean;
|
|
37
|
+
labelAlign?: "left" | "right";
|
|
38
|
+
labelCol?: FormItemCol;
|
|
39
|
+
wrapperCol?: FormItemCol;
|
|
40
|
+
labelWrap?: boolean;
|
|
41
|
+
errors?: React.ReactNode[];
|
|
42
|
+
warnings?: React.ReactNode[];
|
|
43
|
+
/** Merged validation status; drives colours, the feedback icon and controls. */
|
|
44
|
+
status?: FormItemStatus;
|
|
45
|
+
hasFeedback?: boolean;
|
|
46
|
+
fieldId?: string;
|
|
47
|
+
/** Same handle as the control's `data-uic-field-id`, for a child that forwards nothing to the DOM. */
|
|
48
|
+
fieldHandle?: string;
|
|
49
|
+
htmlFor?: string;
|
|
50
|
+
className?: string;
|
|
51
|
+
style?: React.CSSProperties;
|
|
52
|
+
hidden?: boolean;
|
|
53
|
+
children?: React.ReactNode;
|
|
54
|
+
}
|
|
55
|
+
export declare const FormItemVisual: React.FC<FormItemVisualProps>;
|
|
56
|
+
export default FormItemVisual;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import e from "./feedbackIcons.js";
|
|
3
|
+
import * as t from "react";
|
|
4
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
5
|
+
import { Tooltip as i } from "@astryxdesign/core/Tooltip";
|
|
6
|
+
import { CircleHelp as a } from "lucide-react";
|
|
7
|
+
//#region src/components/Form/FormItemVisual.tsx
|
|
8
|
+
var o = (...e) => e.filter(Boolean).join(" "), s = 24, c = (e, t) => {
|
|
9
|
+
if (!e) return;
|
|
10
|
+
let n = { ...e.style };
|
|
11
|
+
if (e.span !== void 0) {
|
|
12
|
+
let r = `${e.span / s * 100}%`;
|
|
13
|
+
n.maxWidth = r, t === "label" && (n.flex = `0 0 ${r}`);
|
|
14
|
+
}
|
|
15
|
+
return e.flex !== void 0 && (n.flex = typeof e.flex == "number" ? `${e.flex} ${e.flex} auto` : e.flex), e.offset !== void 0 && (n.marginInlineStart = `${e.offset / s * 100}%`), n;
|
|
16
|
+
}, l = ({ label: s, labelTitle: l, tooltip: u, tooltipIcon: d, extra: f, help: p, required: m, requiredMarkType: h, layout: g = "vertical", size: _, colon: v, labelAlign: y, labelCol: b, wrapperCol: x, labelWrap: S, errors: C = [], warnings: w = [], status: T, hasFeedback: E, fieldId: D, fieldHandle: O, htmlFor: k, className: A, style: j, hidden: M, children: N }) => {
|
|
17
|
+
let P = p != null && p !== !1, F = P || C.length > 0 || w.length > 0, I = t.useRef(null), L = t.useRef(null), [R, z] = t.useState(null), [B, V] = t.useState(0);
|
|
18
|
+
t.useLayoutEffect(() => {
|
|
19
|
+
F && I.current ? z(Number.parseInt(getComputedStyle(I.current).marginBottom, 10) || 0) : z(null);
|
|
20
|
+
}, [F]), t.useLayoutEffect(() => {
|
|
21
|
+
V(f && L.current ? L.current.clientHeight : 0);
|
|
22
|
+
}, [f]);
|
|
23
|
+
let H = s == null ? null : /* @__PURE__ */ n("div", {
|
|
24
|
+
className: o("uic-form-item__label-col", b?.className),
|
|
25
|
+
"data-align": y === "left" ? "left" : void 0,
|
|
26
|
+
"data-wrap": S ? "" : void 0,
|
|
27
|
+
style: c(b, "label"),
|
|
28
|
+
children: /* @__PURE__ */ r("label", {
|
|
29
|
+
htmlFor: k ?? D,
|
|
30
|
+
className: o("uic-form-item__label", m && "uic-form-item__label--required"),
|
|
31
|
+
"data-required-mark": h,
|
|
32
|
+
"data-no-colon": v === !1 ? "" : void 0,
|
|
33
|
+
title: l ?? (typeof s == "string" ? s : void 0),
|
|
34
|
+
children: [s, u ? /* @__PURE__ */ n(i, {
|
|
35
|
+
content: u,
|
|
36
|
+
children: /* @__PURE__ */ n("span", {
|
|
37
|
+
className: "uic-form-item__tooltip",
|
|
38
|
+
role: "button",
|
|
39
|
+
tabIndex: 0,
|
|
40
|
+
"aria-label": typeof s == "string" ? `${s} — info` : "info",
|
|
41
|
+
onClick: (e) => e.preventDefault(),
|
|
42
|
+
children: d ?? /* @__PURE__ */ n(a, { size: "1em" })
|
|
43
|
+
})
|
|
44
|
+
}) : null]
|
|
45
|
+
})
|
|
46
|
+
}), U = P ? [{
|
|
47
|
+
key: "help",
|
|
48
|
+
node: p,
|
|
49
|
+
kind: T === "error" ? "error" : T === "warning" ? "warning" : null
|
|
50
|
+
}] : [...C.map((e, t) => ({
|
|
51
|
+
key: `e-${t}`,
|
|
52
|
+
node: e,
|
|
53
|
+
kind: "error"
|
|
54
|
+
})), ...w.map((e, t) => ({
|
|
55
|
+
key: `w-${t}`,
|
|
56
|
+
node: e,
|
|
57
|
+
kind: "warning"
|
|
58
|
+
}))], W = U.length ? /* @__PURE__ */ n("div", {
|
|
59
|
+
id: D ? `${D}_help` : void 0,
|
|
60
|
+
className: "uic-form-item__explain",
|
|
61
|
+
children: U.map((e) => /* @__PURE__ */ n("div", {
|
|
62
|
+
className: e.kind ? `uic-form-item__explain-${e.kind}` : void 0,
|
|
63
|
+
children: e.node
|
|
64
|
+
}, e.key))
|
|
65
|
+
}) : null, G = f ? /* @__PURE__ */ n("div", {
|
|
66
|
+
ref: L,
|
|
67
|
+
id: D ? `${D}_extra` : void 0,
|
|
68
|
+
className: "uic-form-item__extra",
|
|
69
|
+
children: f
|
|
70
|
+
}) : null, K = E && T ? /* @__PURE__ */ n("span", {
|
|
71
|
+
className: "uic-form-item__feedback-icon",
|
|
72
|
+
"data-status": T,
|
|
73
|
+
children: e(T)
|
|
74
|
+
}) : null, q = /* @__PURE__ */ r("div", {
|
|
75
|
+
className: o("uic-form-item__control", x?.className),
|
|
76
|
+
"data-span": x?.span === void 0 ? void 0 : "",
|
|
77
|
+
style: c(x, "control"),
|
|
78
|
+
children: [/* @__PURE__ */ r("div", {
|
|
79
|
+
className: "uic-form-item__control-input",
|
|
80
|
+
children: [/* @__PURE__ */ n("div", {
|
|
81
|
+
className: "uic-form-item__control-input-content",
|
|
82
|
+
children: N
|
|
83
|
+
}), K]
|
|
84
|
+
}), W || G ? /* @__PURE__ */ r("div", {
|
|
85
|
+
className: "uic-form-item__additional",
|
|
86
|
+
style: R ? { minHeight: R + B } : void 0,
|
|
87
|
+
children: [W, G]
|
|
88
|
+
}) : null]
|
|
89
|
+
});
|
|
90
|
+
return /* @__PURE__ */ r("div", {
|
|
91
|
+
ref: I,
|
|
92
|
+
className: o("uic-form-item", A),
|
|
93
|
+
"data-uic-field-item": O,
|
|
94
|
+
"data-layout": g,
|
|
95
|
+
"data-size": _,
|
|
96
|
+
"data-status": T || void 0,
|
|
97
|
+
"data-feedback": K ? "" : void 0,
|
|
98
|
+
"data-hidden": M ? "" : void 0,
|
|
99
|
+
style: M ? {
|
|
100
|
+
display: "none",
|
|
101
|
+
...j
|
|
102
|
+
} : j,
|
|
103
|
+
children: [/* @__PURE__ */ r("div", {
|
|
104
|
+
className: "uic-form-item__row",
|
|
105
|
+
children: [H, q]
|
|
106
|
+
}), R ? /* @__PURE__ */ n("div", {
|
|
107
|
+
"aria-hidden": !0,
|
|
108
|
+
className: "uic-form-item__margin-offset",
|
|
109
|
+
style: { marginBottom: -R }
|
|
110
|
+
}) : null]
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
//#endregion
|
|
114
|
+
export { l as FormItemVisual, l as default };
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=FormItemVisual2.js.map
|
|
117
|
+
import "../../assets/components/Form/FormItemVisual.css";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormItemVisual2.js","names":[],"sources":["../../../src/components/Form/FormItemVisual.tsx"],"sourcesContent":["/**\n * The presentational shell of a form item: label, control, explain and extra,\n * laid out the way antd lays out `Form.Item` (`layout`, `labelCol` /\n * `wrapperCol` spans, `colon`, `labelAlign`, `labelWrap`, `size`,\n * `hasFeedback`, `validateStatus`), so a form moved onto the engine keeps its\n * geometry. Styles are in `FormItemVisual.css`.\n *\n * .uic-form-item\n * .uic-form-item__row\n * .uic-form-item__label-col\n * label.uic-form-item__label (+ .uic-form-item__tooltip)\n * .uic-form-item__control\n * .uic-form-item__control-input\n * .uic-form-item__control-input-content\n * .uic-form-item__feedback-icon\n * .uic-form-item__additional\n * .uic-form-item__explain (.uic-form-item__explain-error / -warning rows)\n * .uic-form-item__extra\n * .uic-form-item__margin-offset\n */\nimport { CircleHelp } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Tooltip } from \"@astryxdesign/core/Tooltip\";\n\nimport getFeedbackIcon from \"./feedbackIcons\";\nimport \"./FormItemVisual.css\";\n\nexport type FormItemLayout = \"vertical\" | \"horizontal\" | \"inline\";\nexport type FormItemSize = \"small\" | \"middle\" | \"large\";\nexport type FormItemStatus = \"success\" | \"warning\" | \"error\" | \"validating\" | \"\";\n\n/** antd's `Col` props, reduced to `span`, `offset`, `flex`, `className` and `style`. */\nexport interface FormItemCol {\n span?: number;\n offset?: number;\n flex?: string | number;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface FormItemVisualProps {\n label?: React.ReactNode;\n /**\n * `<label title>`. Separate from `label` because it is taken from the\n * original prop, before `requiredMark` wraps it: a function mark turns the\n * label into an element and the title would disappear.\n */\n labelTitle?: string;\n /** The tooltip body, rendered behind a help glyph after the label. */\n tooltip?: React.ReactNode;\n /** The tooltip trigger glyph. Defaults to a question mark in a circle. */\n tooltipIcon?: React.ReactNode;\n extra?: React.ReactNode;\n help?: React.ReactNode;\n /** Renders the required marker. Independent of the `required` rule. */\n required?: boolean;\n /**\n * How the marker is drawn: `'optional'` and `'hidden'` hide the asterisk (a\n * function or `'optional'` `requiredMark` puts the hint in the label).\n */\n requiredMarkType?: \"optional\" | \"hidden\";\n layout?: FormItemLayout;\n size?: FormItemSize;\n colon?: boolean;\n labelAlign?: \"left\" | \"right\";\n labelCol?: FormItemCol;\n wrapperCol?: FormItemCol;\n labelWrap?: boolean;\n errors?: React.ReactNode[];\n warnings?: React.ReactNode[];\n /** Merged validation status; drives colours, the feedback icon and controls. */\n status?: FormItemStatus;\n hasFeedback?: boolean;\n fieldId?: string;\n /** Same handle as the control's `data-uic-field-id`, for a child that forwards nothing to the DOM. */\n fieldHandle?: string;\n htmlFor?: string;\n className?: string;\n style?: React.CSSProperties;\n hidden?: boolean;\n children?: React.ReactNode;\n}\n\nconst cx = (...names: (string | false | undefined)[]) =>\n names.filter(Boolean).join(\" \");\n\n/**\n * antd grid: `span` / `offset` are 24ths. On the label a span is a fixed\n * basis; on the control it is only a max-width, because antd's horizontal\n * control rule (`flex: 1 1 0`) outranks the column's basis.\n */\nconst GRID_MAX = 24;\nconst colStyle = (\n col: FormItemCol | undefined,\n role: \"label\" | \"control\",\n): React.CSSProperties | undefined => {\n if (!col) return undefined;\n const style: React.CSSProperties = { ...col.style };\n if (col.span !== undefined) {\n const pct = `${(col.span / GRID_MAX) * 100}%`;\n style.maxWidth = pct;\n if (role === \"label\") style.flex = `0 0 ${pct}`;\n }\n if (col.flex !== undefined) {\n style.flex =\n typeof col.flex === \"number\" ? `${col.flex} ${col.flex} auto` : col.flex;\n }\n if (col.offset !== undefined) {\n style.marginInlineStart = `${(col.offset / GRID_MAX) * 100}%`;\n }\n return style;\n};\n\nexport const FormItemVisual: React.FC<FormItemVisualProps> = ({\n label,\n labelTitle,\n tooltip,\n tooltipIcon,\n extra,\n help,\n required,\n requiredMarkType,\n layout = \"vertical\",\n size,\n colon,\n labelAlign,\n labelCol,\n wrapperCol,\n labelWrap,\n errors = [],\n warnings = [],\n status,\n hasFeedback,\n fieldId,\n fieldHandle,\n htmlFor,\n className,\n style,\n hidden,\n children,\n}) => {\n const hasHelp = help !== undefined && help !== null && help !== false;\n // antd's trigger for the reserved-space / margin-offset pair.\n const hasExplain = hasHelp || errors.length > 0 || warnings.length > 0;\n\n /**\n * antd reserves the item's own computed `margin-bottom` inside the\n * additional block while an explain block shows, and cancels it with a\n * negative-margin spacer, so one line of error causes no layout jump. The\n * computed value is read, so a `style.marginBottom` override still nets out.\n */\n const itemRef = React.useRef<HTMLDivElement>(null);\n const extraRef = React.useRef<HTMLDivElement>(null);\n const [marginBottom, setMarginBottom] = React.useState<number | null>(null);\n const [extraHeight, setExtraHeight] = React.useState(0);\n\n React.useLayoutEffect(() => {\n if (hasExplain && itemRef.current) {\n setMarginBottom(\n Number.parseInt(getComputedStyle(itemRef.current).marginBottom, 10) || 0,\n );\n } else {\n setMarginBottom(null);\n }\n }, [hasExplain]);\n\n React.useLayoutEffect(() => {\n setExtraHeight(extra && extraRef.current ? extraRef.current.clientHeight : 0);\n }, [extra]);\n\n const labelNode =\n label === undefined || label === null ? null : (\n <div\n className={cx(\"uic-form-item__label-col\", labelCol?.className)}\n data-align={labelAlign === \"left\" ? \"left\" : undefined}\n data-wrap={labelWrap ? \"\" : undefined}\n style={colStyle(labelCol, \"label\")}\n >\n <label\n htmlFor={htmlFor ?? fieldId}\n className={cx(\n \"uic-form-item__label\",\n required && \"uic-form-item__label--required\",\n )}\n data-required-mark={requiredMarkType}\n // The colon is drawn in every layout and hidden in vertical, as in\n // antd, so a vertical label measures the same.\n data-no-colon={colon === false ? \"\" : undefined}\n title={labelTitle ?? (typeof label === \"string\" ? label : undefined)}\n >\n {label}\n {tooltip ? (\n <Tooltip content={tooltip}>\n <span\n className=\"uic-form-item__tooltip\"\n role=\"button\"\n tabIndex={0}\n aria-label={typeof label === \"string\" ? `${label} — info` : \"info\"}\n // The label is a `<label htmlFor>`: a click inside it would\n // move focus to the control the moment the hint is tapped.\n onClick={(e) => e.preventDefault()}\n >\n {tooltipIcon ?? <CircleHelp size=\"1em\" />}\n </span>\n </Tooltip>\n ) : null}\n </label>\n </div>\n );\n\n // antd's `ErrorList`: `help` replaces the error/warning list and takes the\n // item's status, so `validateStatus=\"error\" help=\"…\"` paints the help red.\n const helpKind =\n status === \"error\" ? \"error\" : status === \"warning\" ? \"warning\" : null;\n const explainRows: Array<{\n key: string;\n node: React.ReactNode;\n kind: \"error\" | \"warning\" | null;\n }> = hasHelp\n ? [{ key: \"help\", node: help, kind: helpKind }]\n : [\n ...errors.map((e, i) => ({ key: `e-${i}`, node: e, kind: \"error\" as const })),\n ...warnings.map((w, i) => ({\n key: `w-${i}`,\n node: w,\n kind: \"warning\" as const,\n })),\n ];\n\n const explainNode = explainRows.length ? (\n <div\n id={fieldId ? `${fieldId}_help` : undefined}\n className=\"uic-form-item__explain\"\n >\n {explainRows.map((row) => (\n <div\n key={row.key}\n className={row.kind ? `uic-form-item__explain-${row.kind}` : undefined}\n >\n {row.node}\n </div>\n ))}\n </div>\n ) : null;\n\n const extraNode = extra ? (\n <div\n ref={extraRef}\n id={fieldId ? `${fieldId}_extra` : undefined}\n className=\"uic-form-item__extra\"\n >\n {extra}\n </div>\n ) : null;\n\n const feedbackNode =\n hasFeedback && status ? (\n <span className=\"uic-form-item__feedback-icon\" data-status={status}>\n {getFeedbackIcon(status)}\n </span>\n ) : null;\n\n const control = (\n <div\n className={cx(\"uic-form-item__control\", wrapperCol?.className)}\n data-span={wrapperCol?.span !== undefined ? \"\" : undefined}\n style={colStyle(wrapperCol, \"control\")}\n >\n <div className=\"uic-form-item__control-input\">\n <div className=\"uic-form-item__control-input-content\">{children}</div>\n {feedbackNode}\n </div>\n {explainNode || extraNode ? (\n <div\n className=\"uic-form-item__additional\"\n style={marginBottom ? { minHeight: marginBottom + extraHeight } : undefined}\n >\n {explainNode}\n {extraNode}\n </div>\n ) : null}\n </div>\n );\n\n return (\n <div\n ref={itemRef}\n className={cx(\"uic-form-item\", className)}\n data-uic-field-item={fieldHandle}\n data-layout={layout}\n data-size={size}\n data-status={status || undefined}\n data-feedback={feedbackNode ? \"\" : undefined}\n data-hidden={hidden ? \"\" : undefined}\n // `display: none` inline too: hiding a field is a correctness property\n // and must hold even without the stylesheet.\n style={hidden ? { display: \"none\", ...style } : style}\n >\n <div className=\"uic-form-item__row\">\n {labelNode}\n {control}\n </div>\n {marginBottom ? (\n <div\n aria-hidden\n className=\"uic-form-item__margin-offset\"\n style={{ marginBottom: -marginBottom }}\n />\n ) : null}\n </div>\n );\n};\n\nexport default FormItemVisual;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { FieldData, FieldError, InternalHooks, InternalFormInstance, Meta, StoreValue, ScrollOptions } from './interface';
|
|
2
|
+
import { NamePath, Store } from './namePath';
|
|
3
|
+
/**
|
|
4
|
+
* Wait for the next paint before validating dependency children, so a rule
|
|
5
|
+
* built from `useWatch` sees the value the dependency just produced instead
|
|
6
|
+
* of the previous render's.
|
|
7
|
+
*/
|
|
8
|
+
export declare function delayFrame(): Promise<void>;
|
|
9
|
+
export declare class FormStore {
|
|
10
|
+
private forceRootUpdate;
|
|
11
|
+
private subscribable;
|
|
12
|
+
private store;
|
|
13
|
+
private fieldEntities;
|
|
14
|
+
private initialValues;
|
|
15
|
+
private callbacks;
|
|
16
|
+
private validateMessages;
|
|
17
|
+
private preserve?;
|
|
18
|
+
private lastValidatePromise;
|
|
19
|
+
private watcherCenter;
|
|
20
|
+
/** Paths of `preserve: false` fields alive at the previous unmount. */
|
|
21
|
+
private prevWithoutPreserves;
|
|
22
|
+
constructor(forceRootUpdate: () => void);
|
|
23
|
+
getForm: () => InternalFormInstance;
|
|
24
|
+
getInternalHooks: (key: string) => InternalHooks | null;
|
|
25
|
+
private useSubscribe;
|
|
26
|
+
private setCallbacks;
|
|
27
|
+
private setValidateMessages;
|
|
28
|
+
private setPreserve;
|
|
29
|
+
/**
|
|
30
|
+
* `init` is true only on the very first render, so later `initialValues`
|
|
31
|
+
* prop changes update what `resetFields()` will restore WITHOUT stomping
|
|
32
|
+
* the values the user already typed.
|
|
33
|
+
*/
|
|
34
|
+
private setInitialValues;
|
|
35
|
+
private destroyForm;
|
|
36
|
+
private getInitialValue;
|
|
37
|
+
private registerWatch;
|
|
38
|
+
private notifyWatch;
|
|
39
|
+
private updateStore;
|
|
40
|
+
private getFieldEntities;
|
|
41
|
+
private getFieldsMap;
|
|
42
|
+
private getFieldEntitiesForNamePathList;
|
|
43
|
+
/**
|
|
44
|
+
* `getFieldsValue()` — only REGISTERED fields.
|
|
45
|
+
* `getFieldsValue(true)` — the raw store, including values with no
|
|
46
|
+
* mounted field.
|
|
47
|
+
* `getFieldsValue(['a','b'])`— those paths and everything beneath them.
|
|
48
|
+
*/
|
|
49
|
+
getFieldsValue: (nameList?: NamePath[] | true | {
|
|
50
|
+
strict?: boolean;
|
|
51
|
+
filter?: (meta: Meta) => boolean;
|
|
52
|
+
}, filterFunc?: (meta: Meta) => boolean) => Store;
|
|
53
|
+
getFieldValue: (name: NamePath) => StoreValue;
|
|
54
|
+
getFieldsError: (nameList?: NamePath[]) => FieldError[];
|
|
55
|
+
getFieldError: (name: NamePath) => string[];
|
|
56
|
+
getFieldWarning: (name: NamePath) => string[];
|
|
57
|
+
isFieldsTouched: (...args: any[]) => boolean;
|
|
58
|
+
isFieldTouched: (name: NamePath) => boolean;
|
|
59
|
+
isFieldsValidating: (nameList?: NamePath[]) => boolean;
|
|
60
|
+
isFieldValidating: (name: NamePath) => boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Apply per-field `initialValue` props. Form-level `initialValues` wins;
|
|
63
|
+
* two fields declaring `initialValue` for the same path is ambiguous and
|
|
64
|
+
* neither is applied.
|
|
65
|
+
*/
|
|
66
|
+
private resetWithFieldInitialValue;
|
|
67
|
+
resetFields: (nameList?: NamePath[]) => void;
|
|
68
|
+
setFields: (fields: FieldData[]) => void;
|
|
69
|
+
private getFields;
|
|
70
|
+
private initEntityValue;
|
|
71
|
+
private isMergedPreserve;
|
|
72
|
+
private registerField;
|
|
73
|
+
private dispatch;
|
|
74
|
+
private notifyObservers;
|
|
75
|
+
/**
|
|
76
|
+
* Re-validate and re-render the fields that declare `namePath` in their
|
|
77
|
+
* `dependencies`, transitively. Only DIRTY dependents are re-validated —
|
|
78
|
+
* that is why a pristine field does not flash an error the moment an
|
|
79
|
+
* unrelated field changes.
|
|
80
|
+
*/
|
|
81
|
+
private triggerDependenciesUpdate;
|
|
82
|
+
private updateValue;
|
|
83
|
+
setFieldsValue: (store: Store) => void;
|
|
84
|
+
setFieldValue: (name: NamePath, value: StoreValue) => void;
|
|
85
|
+
private getDependencyChildrenFields;
|
|
86
|
+
private triggerOnFieldsChange;
|
|
87
|
+
validateFields: (arg1?: any, arg2?: any) => Promise<Store>;
|
|
88
|
+
submit: () => void;
|
|
89
|
+
getFieldInstance: (name: NamePath) => HTMLElement | undefined;
|
|
90
|
+
scrollToField: (name: NamePath, options?: ScrollOptions) => void;
|
|
91
|
+
focusField: (name: NamePath) => void;
|
|
92
|
+
/**
|
|
93
|
+
* The control carrying `data-uic-field-id` (Astryx inputs drop the `id`
|
|
94
|
+
* `FormItem` gives them but keep `data-*`), else the item wrapper carrying
|
|
95
|
+
* `data-uic-field-item` (a child that forwards nothing to the DOM).
|
|
96
|
+
*/
|
|
97
|
+
private getFieldDOMNode;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Create (or adopt) a form instance.
|
|
101
|
+
*
|
|
102
|
+
* The instance lives in `useState`'s lazy initialiser rather than a ref: both
|
|
103
|
+
* give "construct exactly once", but a ref would have to be read AND written
|
|
104
|
+
* during render, which React's rules-of-refs lint rightly rejects. The
|
|
105
|
+
* `forceUpdate` handed to the store is the escape hatch for the one case
|
|
106
|
+
* field subscriptions cannot express — a `<Form>` whose children read values
|
|
107
|
+
* without registering a field.
|
|
108
|
+
*/
|
|
109
|
+
export default function useForm<Values = any>(form?: InternalFormInstance): [InternalFormInstance];
|