@mindlogic-ai/logician-ui 4.0.0 → 5.0.0-alpha.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/MIGRATION-5.0.md +155 -0
- package/USAGE.md +1 -1
- package/codemods/5.0/README.md +244 -0
- package/codemods/5.0/__testfixtures__/badge-variants.input.tsx +20 -0
- package/codemods/5.0/__testfixtures__/badge-variants.output.tsx +21 -0
- package/codemods/5.0/__testfixtures__/button-variants.input.tsx +124 -0
- package/codemods/5.0/__testfixtures__/button-variants.output.tsx +116 -0
- package/codemods/5.0/__testfixtures__/card-gradient.input.tsx +12 -0
- package/codemods/5.0/__testfixtures__/card-gradient.output.tsx +16 -0
- package/codemods/5.0/__testfixtures__/index.input.tsx +43 -0
- package/codemods/5.0/__testfixtures__/index.output.tsx +53 -0
- package/codemods/5.0/__testfixtures__/tag-chip-conflict.input.tsx +10 -0
- package/codemods/5.0/__testfixtures__/tag-chip-conflict.output.tsx +12 -0
- package/codemods/5.0/__testfixtures__/tag-chip-merge.input.tsx +42 -0
- package/codemods/5.0/__testfixtures__/tag-chip-merge.output.tsx +44 -0
- package/codemods/5.0/__testfixtures__/tag-chip.input.tsx +67 -0
- package/codemods/5.0/__testfixtures__/tag-chip.output.tsx +99 -0
- package/codemods/5.0/__testfixtures__/token-renames.input.tsx +88 -0
- package/codemods/5.0/__testfixtures__/token-renames.output.tsx +88 -0
- package/codemods/5.0/badge-variants.js +91 -0
- package/codemods/5.0/button-variants.js +233 -0
- package/codemods/5.0/card-gradient.js +72 -0
- package/codemods/5.0/codemods.test.ts +440 -0
- package/codemods/5.0/index.js +220 -0
- package/codemods/5.0/lib/shared.js +273 -0
- package/codemods/5.0/tag-chip.js +436 -0
- package/codemods/5.0/token-renames.js +231 -0
- package/codemods/vitest.config.ts +22 -0
- package/dist/components/Avatar/Avatar.d.ts +37 -0
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.js +31 -2
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/Avatar.mjs +30 -3
- package/dist/components/Avatar/Avatar.mjs.map +1 -1
- package/dist/components/Avatar/index.d.ts +1 -1
- package/dist/components/Avatar/index.d.ts.map +1 -1
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/Badge.js +10 -6
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Badge/Badge.mjs +11 -7
- package/dist/components/Badge/Badge.mjs.map +1 -1
- package/dist/components/Badge/Badge.styles.d.ts +17 -3
- package/dist/components/Badge/Badge.styles.d.ts.map +1 -1
- package/dist/components/Badge/Badge.styles.js +51 -45
- package/dist/components/Badge/Badge.styles.js.map +1 -1
- package/dist/components/Badge/Badge.styles.mjs +50 -46
- package/dist/components/Badge/Badge.styles.mjs.map +1 -1
- package/dist/components/Badge/Badge.types.d.ts +16 -12
- package/dist/components/Badge/Badge.types.d.ts.map +1 -1
- package/dist/components/Badge/index.d.ts +2 -2
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Banner/Banner.styles.d.ts +7 -3
- package/dist/components/Banner/Banner.styles.d.ts.map +1 -1
- package/dist/components/Banner/Banner.styles.js +43 -27
- package/dist/components/Banner/Banner.styles.js.map +1 -1
- package/dist/components/Banner/Banner.styles.mjs +44 -28
- package/dist/components/Banner/Banner.styles.mjs.map +1 -1
- package/dist/components/Banner/Banner.types.d.ts +1 -1
- package/dist/components/Banner/Banner.types.d.ts.map +1 -1
- package/dist/components/BottomSheet/BottomSheetCloseButton.d.ts.map +1 -1
- package/dist/components/BottomSheet/BottomSheetCloseButton.js +1 -1
- package/dist/components/BottomSheet/BottomSheetCloseButton.js.map +1 -1
- package/dist/components/BottomSheet/BottomSheetCloseButton.mjs +1 -1
- package/dist/components/BottomSheet/BottomSheetCloseButton.mjs.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbLink/BreadcrumbLink.js +1 -1
- package/dist/components/Breadcrumb/BreadcrumbLink/BreadcrumbLink.js.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbLink/BreadcrumbLink.mjs +1 -1
- package/dist/components/Breadcrumb/BreadcrumbLink/BreadcrumbLink.mjs.map +1 -1
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +33 -14
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/Button.legacy.d.ts +53 -0
- package/dist/components/Button/Button.legacy.d.ts.map +1 -0
- package/dist/components/Button/Button.legacy.js +130 -0
- package/dist/components/Button/Button.legacy.js.map +1 -0
- package/dist/components/Button/Button.legacy.mjs +126 -0
- package/dist/components/Button/Button.legacy.mjs.map +1 -0
- package/dist/components/Button/Button.mjs +33 -14
- package/dist/components/Button/Button.mjs.map +1 -1
- package/dist/components/Button/Button.styles.d.ts +38 -26
- package/dist/components/Button/Button.styles.d.ts.map +1 -1
- package/dist/components/Button/Button.styles.js +126 -380
- package/dist/components/Button/Button.styles.js.map +1 -1
- package/dist/components/Button/Button.styles.mjs +125 -381
- package/dist/components/Button/Button.styles.mjs.map +1 -1
- package/dist/components/Button/Button.types.d.ts +43 -37
- package/dist/components/Button/Button.types.d.ts.map +1 -1
- package/dist/components/Button/index.d.ts +2 -2
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/Card/Card.js +1 -7
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Card/Card.mjs +1 -7
- package/dist/components/Card/Card.mjs.map +1 -1
- package/dist/components/Card/Card.styles.d.ts +1 -12
- package/dist/components/Card/Card.styles.d.ts.map +1 -1
- package/dist/components/Card/Card.styles.js +6 -13
- package/dist/components/Card/Card.styles.js.map +1 -1
- package/dist/components/Card/Card.styles.mjs +6 -13
- package/dist/components/Card/Card.styles.mjs.map +1 -1
- package/dist/components/Card/Card.types.d.ts +1 -5
- package/dist/components/Card/Card.types.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxControl.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxControl.js +14 -8
- package/dist/components/Checkbox/CheckboxControl.js.map +1 -1
- package/dist/components/Checkbox/CheckboxControl.mjs +14 -8
- package/dist/components/Checkbox/CheckboxControl.mjs.map +1 -1
- package/dist/components/Chip/Chip.d.ts +5 -1
- package/dist/components/Chip/Chip.d.ts.map +1 -1
- package/dist/components/Chip/Chip.js +24 -18
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/Chip/Chip.mjs +24 -18
- package/dist/components/Chip/Chip.mjs.map +1 -1
- package/dist/components/Chip/Chip.types.d.ts +38 -23
- package/dist/components/Chip/Chip.types.d.ts.map +1 -1
- package/dist/components/Chip/index.d.ts +0 -1
- package/dist/components/Chip/index.d.ts.map +1 -1
- package/dist/components/Code/Code.d.ts.map +1 -1
- package/dist/components/Code/Code.js +2 -2
- package/dist/components/Code/Code.js.map +1 -1
- package/dist/components/Code/Code.mjs +2 -2
- package/dist/components/Code/Code.mjs.map +1 -1
- package/dist/components/CodeTabs/CodeTabs.d.ts.map +1 -1
- package/dist/components/CodeTabs/CodeTabs.js +16 -2
- package/dist/components/CodeTabs/CodeTabs.js.map +1 -1
- package/dist/components/CodeTabs/CodeTabs.mjs +16 -2
- package/dist/components/CodeTabs/CodeTabs.mjs.map +1 -1
- package/dist/components/CodeTabs/CodeTabs.styles.d.ts +27 -0
- package/dist/components/CodeTabs/CodeTabs.styles.d.ts.map +1 -0
- package/dist/components/CodeTabs/CodeTabs.styles.js +32 -0
- package/dist/components/CodeTabs/CodeTabs.styles.js.map +1 -0
- package/dist/components/CodeTabs/CodeTabs.styles.mjs +30 -0
- package/dist/components/CodeTabs/CodeTabs.styles.mjs.map +1 -0
- package/dist/components/CodeTabs/CopyButton.d.ts.map +1 -1
- package/dist/components/CodeTabs/CopyButton.js +6 -3
- package/dist/components/CodeTabs/CopyButton.js.map +1 -1
- package/dist/components/CodeTabs/CopyButton.mjs +6 -3
- package/dist/components/CodeTabs/CopyButton.mjs.map +1 -1
- package/dist/components/Confetti/Confetti.d.ts +6 -9
- package/dist/components/Confetti/Confetti.d.ts.map +1 -1
- package/dist/components/Confetti/Confetti.js +8 -42
- package/dist/components/Confetti/Confetti.js.map +1 -1
- package/dist/components/Confetti/Confetti.mjs +8 -42
- package/dist/components/Confetti/Confetti.mjs.map +1 -1
- package/dist/components/Confetti/confettiColors.d.ts +25 -0
- package/dist/components/Confetti/confettiColors.d.ts.map +1 -0
- package/dist/components/Confetti/confettiColors.js +43 -0
- package/dist/components/Confetti/confettiColors.js.map +1 -0
- package/dist/components/Confetti/confettiColors.mjs +40 -0
- package/dist/components/Confetti/confettiColors.mjs.map +1 -0
- package/dist/components/CopyableCode/CopyableCode.d.ts.map +1 -1
- package/dist/components/CopyableCode/CopyableCode.js +2 -1
- package/dist/components/CopyableCode/CopyableCode.js.map +1 -1
- package/dist/components/CopyableCode/CopyableCode.mjs +2 -1
- package/dist/components/CopyableCode/CopyableCode.mjs.map +1 -1
- package/dist/components/CountBadge/CountBadge.d.ts +41 -0
- package/dist/components/CountBadge/CountBadge.d.ts.map +1 -0
- package/dist/components/CountBadge/CountBadge.js +60 -0
- package/dist/components/CountBadge/CountBadge.js.map +1 -0
- package/dist/components/CountBadge/CountBadge.mjs +58 -0
- package/dist/components/CountBadge/CountBadge.mjs.map +1 -0
- package/dist/components/CountBadge/CountBadge.styles.d.ts +13 -0
- package/dist/components/CountBadge/CountBadge.styles.d.ts.map +1 -0
- package/dist/components/CountBadge/CountBadge.styles.js +42 -0
- package/dist/components/CountBadge/CountBadge.styles.js.map +1 -0
- package/dist/components/CountBadge/CountBadge.styles.mjs +37 -0
- package/dist/components/CountBadge/CountBadge.styles.mjs.map +1 -0
- package/dist/components/CountBadge/CountBadge.types.d.ts +33 -0
- package/dist/components/CountBadge/CountBadge.types.d.ts.map +1 -0
- package/dist/components/CountBadge/index.d.ts +3 -0
- package/dist/components/CountBadge/index.d.ts.map +1 -0
- package/dist/components/DatePicker/RangeDatePicker.js +9 -7
- package/dist/components/DatePicker/RangeDatePicker.js.map +1 -1
- package/dist/components/DatePicker/RangeDatePicker.mjs +9 -7
- package/dist/components/DatePicker/RangeDatePicker.mjs.map +1 -1
- package/dist/components/DatePicker/SingleDatePicker.js +6 -4
- package/dist/components/DatePicker/SingleDatePicker.js.map +1 -1
- package/dist/components/DatePicker/SingleDatePicker.mjs +6 -4
- package/dist/components/DatePicker/SingleDatePicker.mjs.map +1 -1
- package/dist/components/ErrorFallback/ErrorFallback.d.ts.map +1 -1
- package/dist/components/ErrorFallback/ErrorFallback.js +5 -4
- package/dist/components/ErrorFallback/ErrorFallback.js.map +1 -1
- package/dist/components/ErrorFallback/ErrorFallback.mjs +5 -4
- package/dist/components/ErrorFallback/ErrorFallback.mjs.map +1 -1
- package/dist/components/ExpandableText/ExpandableText.js +1 -1
- package/dist/components/ExpandableText/ExpandableText.js.map +1 -1
- package/dist/components/ExpandableText/ExpandableText.mjs +1 -1
- package/dist/components/ExpandableText/ExpandableText.mjs.map +1 -1
- package/dist/components/FileItem/FileItem.d.ts.map +1 -1
- package/dist/components/FileItem/FileItem.js +2 -2
- package/dist/components/FileItem/FileItem.js.map +1 -1
- package/dist/components/FileItem/FileItem.mjs +2 -2
- package/dist/components/FileItem/FileItem.mjs.map +1 -1
- package/dist/components/Form/FieldError/FieldError.d.ts +1 -1
- package/dist/components/Form/FieldError/FieldError.js +2 -2
- package/dist/components/Form/FieldError/FieldError.js.map +1 -1
- package/dist/components/Form/FieldError/FieldError.mjs +2 -2
- package/dist/components/Form/FieldError/FieldError.mjs.map +1 -1
- package/dist/components/Form/FormModalFooter/FormModalFooter.d.ts.map +1 -1
- package/dist/components/Form/FormModalFooter/FormModalFooter.js +19 -1
- package/dist/components/Form/FormModalFooter/FormModalFooter.js.map +1 -1
- package/dist/components/Form/FormModalFooter/FormModalFooter.mjs +19 -1
- package/dist/components/Form/FormModalFooter/FormModalFooter.mjs.map +1 -1
- package/dist/components/Form/FormSection/CollapsibleFormSection.js +1 -0
- package/dist/components/Form/FormSection/CollapsibleFormSection.js.map +1 -1
- package/dist/components/Form/FormSection/CollapsibleFormSection.mjs +1 -0
- package/dist/components/Form/FormSection/CollapsibleFormSection.mjs.map +1 -1
- package/dist/components/FormLabel/FormLabel.js +1 -1
- package/dist/components/FormLabel/FormLabel.js.map +1 -1
- package/dist/components/FormLabel/FormLabel.mjs +1 -1
- package/dist/components/FormLabel/FormLabel.mjs.map +1 -1
- package/dist/components/Icon/_utils/createIcon.d.ts +2 -2
- package/dist/components/Icon/_utils/createIcon.js +2 -2
- package/dist/components/Icon/_utils/createIcon.mjs +2 -2
- package/dist/components/Icon/_utils/createIconGroup.d.ts +1 -1
- package/dist/components/Icon/_utils/createIconGroup.js +1 -1
- package/dist/components/Icon/_utils/createIconGroup.mjs +1 -1
- package/dist/components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/IconButton/IconButton.js +20 -10
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/IconButton/IconButton.mjs +20 -10
- package/dist/components/IconButton/IconButton.mjs.map +1 -1
- package/dist/components/IconButton/IconButton.styles.d.ts +24 -8
- package/dist/components/IconButton/IconButton.styles.d.ts.map +1 -1
- package/dist/components/IconButton/IconButton.styles.js +77 -11
- package/dist/components/IconButton/IconButton.styles.js.map +1 -1
- package/dist/components/IconButton/IconButton.styles.mjs +77 -13
- package/dist/components/IconButton/IconButton.styles.mjs.map +1 -1
- package/dist/components/IconButton/IconButton.types.d.ts +25 -20
- package/dist/components/IconButton/IconButton.types.d.ts.map +1 -1
- package/dist/components/IconButton/index.d.ts +1 -1
- package/dist/components/IconButton/index.d.ts.map +1 -1
- package/dist/components/InlineCode/InlineCode.js +6 -6
- package/dist/components/InlineCode/InlineCode.js.map +1 -1
- package/dist/components/InlineCode/InlineCode.mjs +6 -6
- package/dist/components/InlineCode/InlineCode.mjs.map +1 -1
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.js +12 -10
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Input/Input.mjs +12 -10
- package/dist/components/Input/Input.mjs.map +1 -1
- package/dist/components/LineGraph/LineGraph.d.ts.map +1 -1
- package/dist/components/LineGraph/LineGraph.js +28 -8
- package/dist/components/LineGraph/LineGraph.js.map +1 -1
- package/dist/components/LineGraph/LineGraph.mjs +28 -8
- package/dist/components/LineGraph/LineGraph.mjs.map +1 -1
- package/dist/components/LineGraph/seriesColors.d.ts +22 -0
- package/dist/components/LineGraph/seriesColors.d.ts.map +1 -0
- package/dist/components/LineGraph/seriesColors.js +26 -0
- package/dist/components/LineGraph/seriesColors.js.map +1 -0
- package/dist/components/LineGraph/seriesColors.mjs +23 -0
- package/dist/components/LineGraph/seriesColors.mjs.map +1 -0
- package/dist/components/Loaders/LoaderStatus.d.ts +21 -0
- package/dist/components/Loaders/LoaderStatus.d.ts.map +1 -0
- package/dist/components/Loaders/LoaderStatus.js +29 -0
- package/dist/components/Loaders/LoaderStatus.js.map +1 -0
- package/dist/components/Loaders/LoaderStatus.mjs +27 -0
- package/dist/components/Loaders/LoaderStatus.mjs.map +1 -0
- package/dist/components/Loaders/Loaders.styles.d.ts +21 -0
- package/dist/components/Loaders/Loaders.styles.d.ts.map +1 -0
- package/dist/components/Loaders/Loaders.styles.js +33 -0
- package/dist/components/Loaders/Loaders.styles.js.map +1 -0
- package/dist/components/Loaders/Loaders.styles.mjs +29 -0
- package/dist/components/Loaders/Loaders.styles.mjs.map +1 -0
- package/dist/components/Loaders/Loaders.translations.json.js +19 -0
- package/dist/components/Loaders/Loaders.translations.json.js.map +1 -0
- package/dist/components/Loaders/Loaders.translations.json.mjs +14 -0
- package/dist/components/Loaders/Loaders.translations.json.mjs.map +1 -0
- package/dist/components/Loaders/PageLoader.d.ts +10 -2
- package/dist/components/Loaders/PageLoader.d.ts.map +1 -1
- package/dist/components/Loaders/PageLoader.js +6 -3
- package/dist/components/Loaders/PageLoader.js.map +1 -1
- package/dist/components/Loaders/PageLoader.mjs +7 -4
- package/dist/components/Loaders/PageLoader.mjs.map +1 -1
- package/dist/components/Loaders/SectionLoader.d.ts +2 -4
- package/dist/components/Loaders/SectionLoader.d.ts.map +1 -1
- package/dist/components/Loaders/SectionLoader.js +5 -2
- package/dist/components/Loaders/SectionLoader.js.map +1 -1
- package/dist/components/Loaders/SectionLoader.mjs +6 -3
- package/dist/components/Loaders/SectionLoader.mjs.map +1 -1
- package/dist/components/Loaders/ThinkingDots.d.ts +10 -0
- package/dist/components/Loaders/ThinkingDots.d.ts.map +1 -0
- package/dist/components/Loaders/ThinkingDots.js +20 -0
- package/dist/components/Loaders/ThinkingDots.js.map +1 -0
- package/dist/components/Loaders/ThinkingDots.mjs +18 -0
- package/dist/components/Loaders/ThinkingDots.mjs.map +1 -0
- package/dist/components/Loaders/index.d.ts +2 -1
- package/dist/components/Loaders/index.d.ts.map +1 -1
- package/dist/components/LogicianProvider/LogicianProvider.d.ts +12 -0
- package/dist/components/LogicianProvider/LogicianProvider.d.ts.map +1 -1
- package/dist/components/LogicianProvider/LogicianProvider.js +15 -5
- package/dist/components/LogicianProvider/LogicianProvider.js.map +1 -1
- package/dist/components/LogicianProvider/LogicianProvider.mjs +16 -6
- package/dist/components/LogicianProvider/LogicianProvider.mjs.map +1 -1
- package/dist/components/Menu/MenuItem.d.ts.map +1 -1
- package/dist/components/Menu/MenuItem.js +10 -6
- package/dist/components/Menu/MenuItem.js.map +1 -1
- package/dist/components/Menu/MenuItem.mjs +10 -6
- package/dist/components/Menu/MenuItem.mjs.map +1 -1
- package/dist/components/Menu/MenuList.js +1 -1
- package/dist/components/Menu/MenuList.js.map +1 -1
- package/dist/components/Menu/MenuList.mjs +1 -1
- package/dist/components/Menu/MenuList.mjs.map +1 -1
- package/dist/components/Modal/Modal.d.ts +1 -1
- package/dist/components/Modal/Modal.d.ts.map +1 -1
- package/dist/components/Modal/Modal.js +2 -2
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/Modal.mjs +2 -2
- package/dist/components/Modal/Modal.mjs.map +1 -1
- package/dist/components/Modal/Modal.types.d.ts +12 -0
- package/dist/components/Modal/Modal.types.d.ts.map +1 -1
- package/dist/components/Modal/ModalContext.d.ts +2 -0
- package/dist/components/Modal/ModalContext.d.ts.map +1 -1
- package/dist/components/Modal/ModalContext.js +1 -0
- package/dist/components/Modal/ModalContext.js.map +1 -1
- package/dist/components/Modal/ModalContext.mjs +1 -0
- package/dist/components/Modal/ModalContext.mjs.map +1 -1
- package/dist/components/Modal/ModalHeader.d.ts +20 -1
- package/dist/components/Modal/ModalHeader.d.ts.map +1 -1
- package/dist/components/Modal/ModalHeader.js +46 -2
- package/dist/components/Modal/ModalHeader.js.map +1 -1
- package/dist/components/Modal/ModalHeader.mjs +47 -3
- package/dist/components/Modal/ModalHeader.mjs.map +1 -1
- package/dist/components/Modal/index.d.ts +2 -2
- package/dist/components/Modal/index.d.ts.map +1 -1
- package/dist/components/MonthPicker/MonthButton/MonthButton.d.ts.map +1 -1
- package/dist/components/MonthPicker/MonthButton/MonthButton.js +10 -9
- package/dist/components/MonthPicker/MonthButton/MonthButton.js.map +1 -1
- package/dist/components/MonthPicker/MonthButton/MonthButton.mjs +10 -9
- package/dist/components/MonthPicker/MonthButton/MonthButton.mjs.map +1 -1
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.js +1 -1
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/Pagination.mjs +1 -1
- package/dist/components/Pagination/Pagination.mjs.map +1 -1
- package/dist/components/PinInput/PinInput.d.ts.map +1 -1
- package/dist/components/PinInput/PinInput.js +5 -1
- package/dist/components/PinInput/PinInput.js.map +1 -1
- package/dist/components/PinInput/PinInput.mjs +5 -1
- package/dist/components/PinInput/PinInput.mjs.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +1 -1
- package/dist/components/ProgressBar/ProgressBar.mjs +1 -1
- package/dist/components/RadialProgress/RadialProgress.d.ts.map +1 -1
- package/dist/components/RadialProgress/RadialProgress.js +4 -7
- package/dist/components/RadialProgress/RadialProgress.js.map +1 -1
- package/dist/components/RadialProgress/RadialProgress.mjs +4 -7
- package/dist/components/RadialProgress/RadialProgress.mjs.map +1 -1
- package/dist/components/RadialProgress/RadialProgress.types.d.ts +1 -1
- package/dist/components/RadialProgress/RadialProgress.types.d.ts.map +1 -1
- package/dist/components/Radio/RadioControl.d.ts.map +1 -1
- package/dist/components/Radio/RadioControl.js +26 -5
- package/dist/components/Radio/RadioControl.js.map +1 -1
- package/dist/components/Radio/RadioControl.mjs +26 -5
- package/dist/components/Radio/RadioControl.mjs.map +1 -1
- package/dist/components/Radio/RadioGroup.js +1 -1
- package/dist/components/Radio/RadioGroup.js.map +1 -1
- package/dist/components/Radio/RadioGroup.mjs +1 -1
- package/dist/components/Radio/RadioGroup.mjs.map +1 -1
- package/dist/components/SeeMoreButton/SeeMoreButton.d.ts.map +1 -1
- package/dist/components/SeeMoreButton/SeeMoreButton.js +8 -3
- package/dist/components/SeeMoreButton/SeeMoreButton.js.map +1 -1
- package/dist/components/SeeMoreButton/SeeMoreButton.mjs +8 -3
- package/dist/components/SeeMoreButton/SeeMoreButton.mjs.map +1 -1
- package/dist/components/SeeMoreButton/SeeMoreButton.styles.d.ts +20 -10
- package/dist/components/SeeMoreButton/SeeMoreButton.styles.d.ts.map +1 -1
- package/dist/components/SeeMoreButton/SeeMoreButton.styles.js +13 -5
- package/dist/components/SeeMoreButton/SeeMoreButton.styles.js.map +1 -1
- package/dist/components/SeeMoreButton/SeeMoreButton.styles.mjs +13 -5
- package/dist/components/SeeMoreButton/SeeMoreButton.styles.mjs.map +1 -1
- package/dist/components/SeeMoreButton/SeeMoreButton.types.d.ts +6 -2
- package/dist/components/SeeMoreButton/SeeMoreButton.types.d.ts.map +1 -1
- package/dist/components/Select/Select.styles.d.ts +13 -12
- package/dist/components/Select/Select.styles.d.ts.map +1 -1
- package/dist/components/Select/Select.styles.js +20 -14
- package/dist/components/Select/Select.styles.js.map +1 -1
- package/dist/components/Select/Select.styles.mjs +20 -14
- package/dist/components/Select/Select.styles.mjs.map +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.js +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.mjs +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.mjs.map +1 -1
- package/dist/components/Slider/SliderThumbs/SliderThumbs.js +1 -1
- package/dist/components/Slider/SliderThumbs/SliderThumbs.js.map +1 -1
- package/dist/components/Slider/SliderThumbs/SliderThumbs.mjs +1 -1
- package/dist/components/Slider/SliderThumbs/SliderThumbs.mjs.map +1 -1
- package/dist/components/Switch/SwitchControl.d.ts.map +1 -1
- package/dist/components/Switch/SwitchControl.js +8 -2
- package/dist/components/Switch/SwitchControl.js.map +1 -1
- package/dist/components/Switch/SwitchControl.mjs +8 -2
- package/dist/components/Switch/SwitchControl.mjs.map +1 -1
- package/dist/components/Table/Table.types.d.ts +1 -1
- package/dist/components/Tabs/Tab/Tab.d.ts.map +1 -1
- package/dist/components/Tabs/Tab/Tab.js +1 -1
- package/dist/components/Tabs/Tab/Tab.js.map +1 -1
- package/dist/components/Tabs/Tab/Tab.mjs +1 -1
- package/dist/components/Tabs/Tab/Tab.mjs.map +1 -1
- package/dist/components/Tabs/Tab/Tab.styles.d.ts +10 -12
- package/dist/components/Tabs/Tab/Tab.styles.d.ts.map +1 -1
- package/dist/components/Tabs/Tab/Tab.styles.js +8 -10
- package/dist/components/Tabs/Tab/Tab.styles.js.map +1 -1
- package/dist/components/Tabs/Tab/Tab.styles.mjs +8 -10
- package/dist/components/Tabs/Tab/Tab.styles.mjs.map +1 -1
- package/dist/components/Tag/Tag.d.ts.map +1 -1
- package/dist/components/Tag/Tag.js +41 -14
- package/dist/components/Tag/Tag.js.map +1 -1
- package/dist/components/Tag/Tag.mjs +43 -16
- package/dist/components/Tag/Tag.mjs.map +1 -1
- package/dist/components/Tag/Tag.styles.d.ts +55 -17
- package/dist/components/Tag/Tag.styles.d.ts.map +1 -1
- package/dist/components/Tag/Tag.styles.js +148 -128
- package/dist/components/Tag/Tag.styles.js.map +1 -1
- package/dist/components/Tag/Tag.styles.mjs +145 -126
- package/dist/components/Tag/Tag.styles.mjs.map +1 -1
- package/dist/components/Tag/Tag.types.d.ts +50 -29
- package/dist/components/Tag/Tag.types.d.ts.map +1 -1
- package/dist/components/Tag/TagCloseButton/TagCloseButton.d.ts +5 -0
- package/dist/components/Tag/TagCloseButton/TagCloseButton.d.ts.map +1 -1
- package/dist/components/Tag/TagCloseButton/TagCloseButton.js +7 -1
- package/dist/components/Tag/TagCloseButton/TagCloseButton.js.map +1 -1
- package/dist/components/Tag/TagCloseButton/TagCloseButton.mjs +7 -1
- package/dist/components/Tag/TagCloseButton/TagCloseButton.mjs.map +1 -1
- package/dist/components/Tag/index.d.ts +3 -2
- package/dist/components/Tag/index.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +12 -10
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Textarea/Textarea.mjs +12 -10
- package/dist/components/Textarea/Textarea.mjs.map +1 -1
- package/dist/components/Toast/Toast.js +1 -1
- package/dist/components/Toast/Toast.mjs +1 -1
- package/dist/components/Toast/Toast.styles.d.ts +5 -3
- package/dist/components/Toast/Toast.styles.d.ts.map +1 -1
- package/dist/components/Toast/Toast.styles.js +54 -35
- package/dist/components/Toast/Toast.styles.js.map +1 -1
- package/dist/components/Toast/Toast.styles.mjs +54 -35
- package/dist/components/Toast/Toast.styles.mjs.map +1 -1
- package/dist/components/Toast/Toast.types.d.ts +8 -1
- package/dist/components/Toast/Toast.types.d.ts.map +1 -1
- package/dist/components/Toast/ToastIcon/ToastIcon.d.ts.map +1 -1
- package/dist/components/Toast/ToastIcon/ToastIcon.js +6 -4
- package/dist/components/Toast/ToastIcon/ToastIcon.js.map +1 -1
- package/dist/components/Toast/ToastIcon/ToastIcon.mjs +6 -4
- package/dist/components/Toast/ToastIcon/ToastIcon.mjs.map +1 -1
- package/dist/components/Toast/Toaster.d.ts.map +1 -1
- package/dist/components/Toast/Toaster.js +12 -1
- package/dist/components/Toast/Toaster.js.map +1 -1
- package/dist/components/Toast/Toaster.mjs +12 -1
- package/dist/components/Toast/Toaster.mjs.map +1 -1
- package/dist/components/Toast/useToast.d.ts +2 -2
- package/dist/components/Toast/useToast.d.ts.map +1 -1
- package/dist/components/Toast/useToast.js +42 -8
- package/dist/components/Toast/useToast.js.map +1 -1
- package/dist/components/Toast/useToast.mjs +43 -9
- package/dist/components/Toast/useToast.mjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +2 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.mjs +2 -2
- package/dist/components/Tooltip/Tooltip.mjs.map +1 -1
- package/dist/components/Tree/TreeBranchControl.js +1 -1
- package/dist/components/Tree/TreeBranchControl.js.map +1 -1
- package/dist/components/Tree/TreeBranchControl.mjs +1 -1
- package/dist/components/Tree/TreeBranchControl.mjs.map +1 -1
- package/dist/components/Tree/TreeItem.js +1 -1
- package/dist/components/Tree/TreeItem.js.map +1 -1
- package/dist/components/Tree/TreeItem.mjs +1 -1
- package/dist/components/Tree/TreeItem.mjs.map +1 -1
- package/dist/components/Typography/Caption.js +5 -5
- package/dist/components/Typography/Caption.js.map +1 -1
- package/dist/components/Typography/Caption.mjs +5 -5
- package/dist/components/Typography/Caption.mjs.map +1 -1
- package/dist/components/Typography/Link.d.ts +10 -16
- package/dist/components/Typography/Link.d.ts.map +1 -1
- package/dist/components/Typography/Link.js +24 -29
- package/dist/components/Typography/Link.js.map +1 -1
- package/dist/components/Typography/Link.mjs +24 -29
- package/dist/components/Typography/Link.mjs.map +1 -1
- package/dist/components/Typography/Overline.js +2 -2
- package/dist/components/Typography/Overline.js.map +1 -1
- package/dist/components/Typography/Overline.mjs +2 -2
- package/dist/components/Typography/Overline.mjs.map +1 -1
- package/dist/components/Workflow/Workflow.js +1 -1
- package/dist/components/Workflow/Workflow.js.map +1 -1
- package/dist/components/Workflow/Workflow.mjs +1 -1
- package/dist/components/Workflow/Workflow.mjs.map +1 -1
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.js +7 -6
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.js.map +1 -1
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.mjs +7 -6
- package/dist/components/Workflow/canvas/Canvas/BranchLabelBadge.mjs.map +1 -1
- package/dist/components/Workflow/canvas/Canvas/Canvas.js +8 -8
- package/dist/components/Workflow/canvas/Canvas/Canvas.js.map +1 -1
- package/dist/components/Workflow/canvas/Canvas/Canvas.mjs +8 -8
- package/dist/components/Workflow/canvas/Canvas/Canvas.mjs.map +1 -1
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.d.ts +2 -2
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.js +13 -12
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.js.map +1 -1
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.mjs +13 -12
- package/dist/components/Workflow/canvas/Canvas/Canvas.styles.mjs.map +1 -1
- package/dist/components/Workflow/canvas/Canvas/LabeledEdge.js +1 -1
- package/dist/components/Workflow/canvas/Canvas/LabeledEdge.js.map +1 -1
- package/dist/components/Workflow/canvas/Canvas/LabeledEdge.mjs +1 -1
- package/dist/components/Workflow/canvas/Canvas/LabeledEdge.mjs.map +1 -1
- package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.js +1 -1
- package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.js.map +1 -1
- package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.mjs +1 -1
- package/dist/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.mjs.map +1 -1
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.js +1 -1
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.js.map +1 -1
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.mjs +1 -1
- package/dist/components/Workflow/canvas/DrawerShell/DrawerHeader.mjs.map +1 -1
- package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.js +2 -2
- package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.js.map +1 -1
- package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.mjs +2 -2
- package/dist/components/Workflow/canvas/DrawerShell/DrawerIssues.mjs.map +1 -1
- package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.js +5 -4
- package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.js.map +1 -1
- package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.mjs +5 -4
- package/dist/components/Workflow/canvas/DrawerShell/DrawerShell.mjs.map +1 -1
- package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.js +2 -2
- package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.js.map +1 -1
- package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.mjs +2 -2
- package/dist/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.mjs.map +1 -1
- package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.mjs +1 -1
- package/dist/components/Workflow/canvas/FieldWrapper/FieldWrapper.mjs.map +1 -1
- package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.js +1 -1
- package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.js.map +1 -1
- package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.mjs +1 -1
- package/dist/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.mjs.map +1 -1
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.d.ts +11 -3
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.js +29 -13
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.js.map +1 -1
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.mjs +29 -13
- package/dist/components/Workflow/canvas/IconTile/IconTile.styles.mjs.map +1 -1
- package/dist/components/Workflow/canvas/IssueList/IssueList.js +2 -2
- package/dist/components/Workflow/canvas/IssueList/IssueList.js.map +1 -1
- package/dist/components/Workflow/canvas/IssueList/IssueList.mjs +2 -2
- package/dist/components/Workflow/canvas/IssueList/IssueList.mjs.map +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.js +2 -2
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.js.map +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.mjs +2 -2
- package/dist/components/Workflow/canvas/NodePalette/NodePalette.mjs.map +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.js +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.js.map +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.mjs +1 -1
- package/dist/components/Workflow/canvas/NodePalette/NodePaletteToggle.mjs.map +1 -1
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.js +42 -32
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.js.map +1 -1
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.mjs +42 -32
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.mjs.map +1 -1
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.d.ts +9 -4
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.js +8 -8
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.js.map +1 -1
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.mjs +7 -7
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.styles.mjs.map +1 -1
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.types.d.ts +2 -0
- package/dist/components/Workflow/canvas/NodeShell/NodeShell.types.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.d.ts +5 -4
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.js +1 -1
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.js.map +1 -1
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.mjs +1 -1
- package/dist/components/Workflow/canvas/SeverityDot/SeverityDot.mjs.map +1 -1
- package/dist/components/Workflow/canvas/colorVar.d.ts +20 -0
- package/dist/components/Workflow/canvas/colorVar.d.ts.map +1 -0
- package/dist/components/Workflow/canvas/colorVar.js +32 -0
- package/dist/components/Workflow/canvas/colorVar.js.map +1 -0
- package/dist/components/Workflow/canvas/colorVar.mjs +29 -0
- package/dist/components/Workflow/canvas/colorVar.mjs.map +1 -0
- package/dist/components/Workflow/canvas/issueSeverity.d.ts +6 -4
- package/dist/components/Workflow/canvas/issueSeverity.d.ts.map +1 -1
- package/dist/components/Workflow/canvas/issueSeverity.js +6 -4
- package/dist/components/Workflow/canvas/issueSeverity.js.map +1 -1
- package/dist/components/Workflow/canvas/issueSeverity.mjs +6 -4
- package/dist/components/Workflow/canvas/issueSeverity.mjs.map +1 -1
- package/dist/components/Workflow/canvas/workflowLabelProps.d.ts +1 -1
- package/dist/components/Workflow/canvas/workflowLabelProps.js +1 -1
- package/dist/components/Workflow/canvas/workflowLabelProps.mjs +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -8
- package/dist/index.mjs.map +1 -1
- package/dist/theme/colors.d.ts +43 -1139
- package/dist/theme/colors.d.ts.map +1 -1
- package/dist/theme/colors.js +336 -760
- package/dist/theme/colors.js.map +1 -1
- package/dist/theme/colors.mjs +334 -761
- package/dist/theme/colors.mjs.map +1 -1
- package/dist/theme/deprecatedColorTokens.json.js +69 -0
- package/dist/theme/deprecatedColorTokens.json.js.map +1 -0
- package/dist/theme/deprecatedColorTokens.json.mjs +64 -0
- package/dist/theme/deprecatedColorTokens.json.mjs.map +1 -0
- package/dist/theme/global.d.ts +3 -2
- package/dist/theme/global.d.ts.map +1 -1
- package/dist/theme/global.js +12 -18
- package/dist/theme/global.js.map +1 -1
- package/dist/theme/global.mjs +12 -18
- package/dist/theme/global.mjs.map +1 -1
- package/dist/theme/index.d.ts +34 -1
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +143 -81
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/index.mjs +144 -84
- package/dist/theme/index.mjs.map +1 -1
- package/dist/theme/palette.generated.d.ts +887 -0
- package/dist/theme/palette.generated.d.ts.map +1 -0
- package/dist/theme/palette.generated.js +898 -0
- package/dist/theme/palette.generated.js.map +1 -0
- package/dist/theme/palette.generated.mjs +893 -0
- package/dist/theme/palette.generated.mjs.map +1 -0
- package/dist/theme/paletteSwatches.d.ts +22 -0
- package/dist/theme/paletteSwatches.d.ts.map +1 -0
- package/dist/theme/recipes/table.js +2 -2
- package/dist/theme/recipes/table.js.map +1 -1
- package/dist/theme/recipes/table.mjs +2 -2
- package/dist/theme/recipes/table.mjs.map +1 -1
- package/dist/utils/disabledControl.d.ts +27 -0
- package/dist/utils/disabledControl.d.ts.map +1 -0
- package/dist/utils/disabledControl.js +33 -0
- package/dist/utils/disabledControl.js.map +1 -0
- package/dist/utils/disabledControl.mjs +30 -0
- package/dist/utils/disabledControl.mjs.map +1 -0
- package/dist/utils/focusRing.d.ts +7 -1
- package/dist/utils/focusRing.d.ts.map +1 -1
- package/dist/utils/focusRing.js +8 -1
- package/dist/utils/focusRing.js.map +1 -1
- package/dist/utils/focusRing.mjs +8 -2
- package/dist/utils/focusRing.mjs.map +1 -1
- package/dist/utils/isDev.d.ts +22 -0
- package/dist/utils/isDev.d.ts.map +1 -0
- package/dist/utils/isDev.js +34 -0
- package/dist/utils/isDev.js.map +1 -0
- package/dist/utils/isDev.mjs +32 -0
- package/dist/utils/isDev.mjs.map +1 -0
- package/eslint/index.js +28 -0
- package/eslint/rules/no-deprecated-tokens.js +128 -0
- package/eslint/rules/no-deprecated-tokens.test.ts +130 -0
- package/package.json +16 -7
- package/src/components/Accordion/Accordion.stories.tsx +20 -12
- package/src/components/Appear/Appear.stories.tsx +6 -13
- package/src/components/Avatar/Avatar.hue.test.ts +67 -0
- package/src/components/Avatar/Avatar.stories.tsx +79 -23
- package/src/components/Avatar/Avatar.tsx +56 -2
- package/src/components/Avatar/index.tsx +1 -1
- package/src/components/Badge/Badge.stories.tsx +24 -50
- package/src/components/Badge/Badge.styles.ts +56 -50
- package/src/components/Badge/Badge.tsx +11 -7
- package/src/components/Badge/Badge.types.ts +18 -14
- package/src/components/Badge/index.ts +7 -1
- package/src/components/Banner/Banner.stories.tsx +10 -3
- package/src/components/Banner/Banner.styles.ts +43 -27
- package/src/components/Banner/Banner.types.ts +1 -1
- package/src/components/BottomSheet/BottomSheet.stories.tsx +3 -4
- package/src/components/BottomSheet/BottomSheetCloseButton.tsx +0 -1
- package/src/components/Breadcrumb/BreadcrumbLink/BreadcrumbLink.tsx +1 -1
- package/src/components/Button/Button.legacy.ts +180 -0
- package/src/components/Button/Button.lift.test.tsx +6 -14
- package/src/components/Button/Button.press.test.tsx +20 -15
- package/src/components/Button/Button.stories.tsx +122 -352
- package/src/components/Button/Button.styles.ts +145 -397
- package/src/components/Button/Button.tsx +49 -17
- package/src/components/Button/Button.types.ts +50 -37
- package/src/components/Button/Button.variants.test.tsx +149 -0
- package/src/components/Button/index.tsx +2 -0
- package/src/components/Card/Card.styles.ts +6 -13
- package/src/components/Card/Card.tsx +1 -6
- package/src/components/Card/Card.types.ts +1 -5
- package/src/components/Checkbox/CheckboxControl.tsx +17 -10
- package/src/components/Chip/Chip.stories.tsx +17 -230
- package/src/components/Chip/Chip.tsx +40 -24
- package/src/components/Chip/Chip.types.ts +38 -26
- package/src/components/Chip/index.ts +0 -6
- package/src/components/Code/Code.tsx +2 -3
- package/src/components/CodeTabs/CodeTabs.contrast.test.tsx +109 -0
- package/src/components/CodeTabs/CodeTabs.styles.ts +26 -0
- package/src/components/CodeTabs/CodeTabs.tsx +16 -4
- package/src/components/CodeTabs/CopyButton.tsx +6 -4
- package/src/components/Confetti/Confetti.stories.tsx +1 -1
- package/src/components/Confetti/Confetti.tsx +8 -43
- package/src/components/Confetti/confettiColors.test.ts +47 -0
- package/src/components/Confetti/confettiColors.ts +41 -0
- package/src/components/Container/Container.stories.tsx +1 -1
- package/src/components/CopyableCode/CopyableCode.tsx +1 -2
- package/src/components/CountBadge/CountBadge.stories.tsx +109 -0
- package/src/components/CountBadge/CountBadge.styles.ts +40 -0
- package/src/components/CountBadge/CountBadge.test.tsx +57 -0
- package/src/components/CountBadge/CountBadge.tsx +112 -0
- package/src/components/CountBadge/CountBadge.types.ts +34 -0
- package/src/components/CountBadge/index.ts +2 -0
- package/src/components/DatePicker/RangeDatePicker.tsx +8 -8
- package/src/components/DatePicker/SingleDatePicker.tsx +5 -5
- package/src/components/ErrorFallback/ErrorFallback.lift.test.tsx +45 -0
- package/src/components/ErrorFallback/ErrorFallback.tsx +16 -31
- package/src/components/ExpandableText/ExpandableText.tsx +1 -1
- package/src/components/FileItem/FileItem.tsx +1 -4
- package/src/components/FlyTo/FlyTo.stories.tsx +6 -1
- package/src/components/Form/FieldError/FieldError.tsx +2 -2
- package/src/components/Form/FormFooter/FormFooter.stories.tsx +4 -4
- package/src/components/Form/FormModalFooter/FormModalFooter.tsx +5 -6
- package/src/components/Form/FormSection/FormSection.stories.tsx +1 -1
- package/src/components/FormIntegration/FormIntegration.stories.tsx +4 -4
- package/src/components/FormLabel/FormLabel.tsx +1 -1
- package/src/components/Icon/ICON_MANAGEMENT.md +7 -7
- package/src/components/Icon/Icon.stories.tsx +220 -116
- package/src/components/Icon/_utils/createIcon.tsx +2 -2
- package/src/components/Icon/_utils/createIconGroup.tsx +1 -1
- package/src/components/IconButton/IconButton.stories.tsx +63 -216
- package/src/components/IconButton/IconButton.styles.ts +104 -27
- package/src/components/IconButton/IconButton.tsx +39 -12
- package/src/components/IconButton/IconButton.types.ts +30 -20
- package/src/components/IconButton/index.tsx +1 -0
- package/src/components/InlineCode/InlineCode.tsx +6 -6
- package/src/components/Input/Input.stories.tsx +10 -10
- package/src/components/Input/Input.tsx +12 -10
- package/src/components/LineGraph/LineGraph.tsx +24 -6
- package/src/components/LineGraph/seriesColors.test.ts +40 -0
- package/src/components/LineGraph/seriesColors.ts +42 -0
- package/src/components/Loaders/LoaderStatus.tsx +25 -0
- package/src/components/Loaders/Loaders.styles.ts +28 -0
- package/src/components/Loaders/Loaders.test.tsx +63 -0
- package/src/components/Loaders/Loaders.translations.json +9 -0
- package/src/components/Loaders/PageLoader.stories.tsx +15 -1
- package/src/components/Loaders/PageLoader.tsx +28 -4
- package/src/components/Loaders/SectionLoader.stories.tsx +10 -3
- package/src/components/Loaders/SectionLoader.tsx +16 -3
- package/src/components/Loaders/ThinkingDots.tsx +27 -0
- package/src/components/Loaders/index.ts +2 -1
- package/src/components/LogicianProvider/LogicianProvider.stories.tsx +28 -43
- package/src/components/LogicianProvider/LogicianProvider.tsx +35 -5
- package/src/components/Masonry/Masonry.stories.tsx +17 -5
- package/src/components/Menu/Menu.stories.tsx +58 -20
- package/src/components/Menu/MenuItem.highlight.test.tsx +72 -0
- package/src/components/Menu/MenuItem.tsx +9 -6
- package/src/components/Menu/MenuList.tsx +1 -1
- package/src/components/Modal/Modal.stories.tsx +76 -25
- package/src/components/Modal/Modal.tsx +5 -1
- package/src/components/Modal/Modal.types.ts +13 -0
- package/src/components/Modal/ModalContext.ts +4 -0
- package/src/components/Modal/ModalHeader.a11y.test.tsx +51 -0
- package/src/components/Modal/ModalHeader.tsx +73 -3
- package/src/components/Modal/index.tsx +2 -2
- package/src/components/MonthPicker/MonthButton/MonthButton.tsx +9 -14
- package/src/components/MonthPicker/MonthPicker.stories.tsx +13 -9
- package/src/components/Pagination/Pagination.stories.tsx +5 -6
- package/src/components/Pagination/Pagination.tsx +0 -2
- package/src/components/PinInput/PinInput.tsx +9 -5
- package/src/components/Popover/Popover.stories.tsx +5 -5
- package/src/components/ProgressBar/ProgressBar.tsx +1 -1
- package/src/components/Pulse/Pulse.stories.tsx +1 -1
- package/src/components/RadialProgress/RadialProgress.tsx +4 -7
- package/src/components/RadialProgress/RadialProgress.types.ts +1 -1
- package/src/components/Radio/Radio.stories.tsx +1 -1
- package/src/components/Radio/RadioControl.indicator.test.tsx +72 -0
- package/src/components/Radio/RadioControl.tsx +34 -6
- package/src/components/Radio/RadioGroup.tsx +1 -1
- package/src/components/Reveal/Reveal.stories.tsx +5 -1
- package/src/components/ScaledContext/ScaledContext.stories.tsx +21 -14
- package/src/components/SeeMoreButton/SeeMoreButton.border.test.tsx +51 -0
- package/src/components/SeeMoreButton/SeeMoreButton.stories.tsx +8 -0
- package/src/components/SeeMoreButton/SeeMoreButton.styles.ts +14 -6
- package/src/components/SeeMoreButton/SeeMoreButton.tsx +11 -2
- package/src/components/SeeMoreButton/SeeMoreButton.types.ts +9 -2
- package/src/components/SegmentedProgressBar/SegmentedProgressBar.stories.tsx +48 -31
- package/src/components/Select/Combobox.stories.tsx +1 -1
- package/src/components/Select/Comparison.stories.tsx +1 -1
- package/src/components/Select/Select.stories.tsx +22 -22
- package/src/components/Select/Select.styles.ts +20 -14
- package/src/components/Shake/Shake.stories.tsx +10 -12
- package/src/components/Slider/Slider.stories.tsx +43 -9
- package/src/components/Slider/SliderThumb/SliderThumb.tsx +1 -1
- package/src/components/Slider/SliderThumbs/SliderThumbs.tsx +1 -1
- package/src/components/SwapTransition/SwapTransition.stories.tsx +3 -4
- package/src/components/Switch/SwitchControl.tsx +8 -0
- package/src/components/Table/Table.stories.tsx +36 -20
- package/src/components/Table/Table.types.ts +1 -1
- package/src/components/Tabs/Tab/Tab.styles.ts +8 -10
- package/src/components/Tabs/Tab/Tab.tsx +1 -0
- package/src/components/Tabs/Tabs.stories.tsx +38 -26
- package/src/components/Tag/Tag.legacy.test.tsx +179 -0
- package/src/components/Tag/Tag.stories.tsx +107 -148
- package/src/components/Tag/Tag.styles.ts +186 -135
- package/src/components/Tag/Tag.test.tsx +115 -0
- package/src/components/Tag/Tag.tsx +103 -21
- package/src/components/Tag/Tag.types.ts +52 -29
- package/src/components/Tag/TagCloseButton/TagCloseButton.tsx +19 -1
- package/src/components/Tag/index.ts +5 -3
- package/src/components/Textarea/Textarea.stories.tsx +6 -1
- package/src/components/Textarea/Textarea.tsx +13 -11
- package/src/components/Toast/Toast.action.test.tsx +13 -0
- package/src/components/Toast/Toast.stories.tsx +17 -7
- package/src/components/Toast/Toast.styles.ts +54 -35
- package/src/components/Toast/Toast.tsx +1 -1
- package/src/components/Toast/Toast.types.ts +9 -1
- package/src/components/Toast/Toast.update.test.tsx +124 -0
- package/src/components/Toast/ToastIcon/ToastIcon.tsx +6 -4
- package/src/components/Toast/Toaster.tsx +14 -2
- package/src/components/Toast/useToast.tsx +54 -14
- package/src/components/Tooltip/Tooltip.stories.tsx +12 -12
- package/src/components/Tooltip/Tooltip.tsx +2 -2
- package/src/components/Tree/Tree.GuideElbow.stories.tsx +2 -2
- package/src/components/Tree/TreeBranchControl.tsx +1 -1
- package/src/components/Tree/TreeBranchIndentGuide.test.tsx +2 -2
- package/src/components/Tree/TreeItem.tsx +1 -1
- package/src/components/Typography/Caption.tsx +5 -5
- package/src/components/Typography/Link.tsx +27 -29
- package/src/components/Typography/Overline.tsx +2 -2
- package/src/components/Workflow/README.md +58 -52
- package/src/components/Workflow/Workflow.translations.json +1 -1
- package/src/components/Workflow/Workflow.tsx +1 -1
- package/src/components/Workflow/canvas/Canvas/BranchLabelBadge.tsx +7 -6
- package/src/components/Workflow/canvas/Canvas/Canvas.styles.ts +14 -12
- package/src/components/Workflow/canvas/Canvas/Canvas.tsx +9 -9
- package/src/components/Workflow/canvas/Canvas/LabeledEdge.tsx +2 -2
- package/src/components/Workflow/canvas/CollapsibleSection/CollapsibleSection.tsx +4 -4
- package/src/components/Workflow/canvas/DrawerShell/DrawerHeader.tsx +2 -4
- package/src/components/Workflow/canvas/DrawerShell/DrawerIssues.tsx +2 -2
- package/src/components/Workflow/canvas/DrawerShell/DrawerShell.tsx +6 -6
- package/src/components/Workflow/canvas/EdgeInspector/BuiltInEdgeInspector.tsx +4 -4
- package/src/components/Workflow/canvas/FieldWrapper/FieldWrapper.tsx +2 -2
- package/src/components/Workflow/canvas/GraphErrorBanner/GraphErrorBanner.tsx +12 -12
- package/src/components/Workflow/canvas/IconTile/IconTile.styles.ts +29 -13
- package/src/components/Workflow/canvas/IssueList/IssueList.tsx +3 -3
- package/src/components/Workflow/canvas/NodePalette/NodePalette.tsx +6 -7
- package/src/components/Workflow/canvas/NodePalette/NodePaletteToggle.tsx +1 -2
- package/src/components/Workflow/canvas/NodeShell/NodeShell.styles.ts +6 -8
- package/src/components/Workflow/canvas/NodeShell/NodeShell.test.tsx +79 -0
- package/src/components/Workflow/canvas/NodeShell/NodeShell.tsx +46 -37
- package/src/components/Workflow/canvas/NodeShell/NodeShell.types.ts +2 -0
- package/src/components/Workflow/canvas/SeverityDot/SeverityDot.tsx +6 -5
- package/src/components/Workflow/canvas/canvasStroke.test.ts +84 -0
- package/src/components/Workflow/canvas/colorVar.ts +26 -0
- package/src/components/Workflow/canvas/issueSeverity.ts +7 -5
- package/src/components/Workflow/canvas/workflowLabelProps.ts +1 -1
- package/src/components/Workflow/stories/Workflow.stories.tsx +4 -5
- package/src/components/a11y.kwcag.test.tsx +64 -83
- package/src/components/claude.md +40 -58
- package/src/components/noRawScales.test.ts +152 -0
- package/src/components/noSandBackground.test.ts +282 -0
- package/src/index.ts +18 -1
- package/src/stories/SizeComparison.stories.tsx +1 -1
- package/src/theme/BazePalette.stories.tsx +202 -0
- package/src/theme/Borders.stories.tsx +9 -9
- package/src/theme/Motion.stories.tsx +19 -19
- package/src/theme/MotionCases.stories.tsx +1 -1
- package/src/theme/Palette.stories.tsx +101 -515
- package/src/theme/SemanticTokens.mdx +61 -242
- package/src/theme/Surfaces.stories.tsx +3 -3
- package/src/theme/chakraTokens.test.ts +115 -0
- package/src/theme/claude.md +111 -502
- package/src/theme/colors.ts +403 -822
- package/src/theme/contrast.test.ts +343 -0
- package/src/theme/cssVarNames.test.ts +36 -0
- package/src/theme/deprecatedColorTokens.json +95 -0
- package/src/theme/global.ts +12 -19
- package/src/theme/index.ts +154 -82
- package/src/theme/palette.generated.ts +893 -0
- package/src/theme/paletteSwatches.test.ts +42 -0
- package/src/theme/paletteSwatches.ts +80 -0
- package/src/theme/recipes/table.ts +2 -2
- package/src/utils/disabledControl.ts +27 -0
- package/src/utils/focusRing.ts +9 -2
- package/src/utils/isDev.test.ts +41 -0
- package/src/utils/isDev.ts +27 -0
- package/dist/components/Chip/Chip.styles.d.ts +0 -20
- package/dist/components/Chip/Chip.styles.d.ts.map +0 -1
- package/dist/components/Chip/Chip.styles.js +0 -143
- package/dist/components/Chip/Chip.styles.js.map +0 -1
- package/dist/components/Chip/Chip.styles.mjs +0 -137
- package/dist/components/Chip/Chip.styles.mjs.map +0 -1
- package/src/components/Chip/Chip.styles.ts +0 -147
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixture tests for the logician-ui 5.0 codemods.
|
|
3
|
+
*
|
|
4
|
+
* Run: npx vitest run --config codemods/vitest.config.ts
|
|
5
|
+
*
|
|
6
|
+
* Each `__testfixtures__/<name>.input.tsx` is run through its transform and
|
|
7
|
+
* compared with `<name>.output.tsx`. Both sides are normalised with the repo's
|
|
8
|
+
* Prettier config first, so the fixtures can be Prettier-formatted without
|
|
9
|
+
* breaking the comparison; the comparison still catches every token, prop and
|
|
10
|
+
* import change. Transforms are loaded with Node's own `require`, the same way
|
|
11
|
+
* jscodeshift loads them, so no build step is involved.
|
|
12
|
+
*/
|
|
13
|
+
import { execFileSync } from 'child_process';
|
|
14
|
+
import fs from 'fs';
|
|
15
|
+
import { createRequire } from 'module';
|
|
16
|
+
import os from 'os';
|
|
17
|
+
import path from 'path';
|
|
18
|
+
import prettier from 'prettier';
|
|
19
|
+
import { describe, expect, it } from 'vitest';
|
|
20
|
+
|
|
21
|
+
import { resolveLegacyButtonVariant } from '../../src/components/Button/Button.legacy';
|
|
22
|
+
import { mapLegacyTagProps } from '../../src/components/Tag/Tag.styles';
|
|
23
|
+
|
|
24
|
+
const require = createRequire(import.meta.url);
|
|
25
|
+
const { applyTransform } = require('jscodeshift/dist/testUtils');
|
|
26
|
+
const jscodeshift = require('jscodeshift');
|
|
27
|
+
const { createReporter } = require('./lib/shared');
|
|
28
|
+
const indexModule = require('./index');
|
|
29
|
+
|
|
30
|
+
const HERE = path.dirname(new URL(import.meta.url).pathname);
|
|
31
|
+
const FIXTURES = path.join(HERE, '__testfixtures__');
|
|
32
|
+
const REPO = path.resolve(HERE, '../..');
|
|
33
|
+
|
|
34
|
+
type Site = {
|
|
35
|
+
transform: string;
|
|
36
|
+
line: number;
|
|
37
|
+
component: string;
|
|
38
|
+
prop: string;
|
|
39
|
+
kind: string;
|
|
40
|
+
source: string;
|
|
41
|
+
note?: string;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const transformFor = (prefix: string) =>
|
|
45
|
+
prefix.startsWith('tag-chip') ? 'tag-chip' : prefix;
|
|
46
|
+
const load = (name: string) => require(`./${name}`);
|
|
47
|
+
const read = (f: string) => fs.readFileSync(path.join(FIXTURES, f), 'utf8');
|
|
48
|
+
|
|
49
|
+
const prettierOptions = {
|
|
50
|
+
...JSON.parse(fs.readFileSync(path.join(REPO, '.prettierrc'), 'utf8')),
|
|
51
|
+
parser: 'typescript',
|
|
52
|
+
};
|
|
53
|
+
const fmt = (code: string) => prettier.format(code, prettierOptions);
|
|
54
|
+
|
|
55
|
+
/** Run a transform with a reporter we can inspect. */
|
|
56
|
+
const run = (name: string, source: string, filePath = `${name}.tsx`) => {
|
|
57
|
+
const j = jscodeshift.withParser('tsx');
|
|
58
|
+
const messages: string[] = [];
|
|
59
|
+
const api = {
|
|
60
|
+
jscodeshift: j,
|
|
61
|
+
j,
|
|
62
|
+
stats: () => {},
|
|
63
|
+
report: (m: string) => messages.push(m),
|
|
64
|
+
};
|
|
65
|
+
const file = { path: filePath, source };
|
|
66
|
+
const reporter = createReporter(api, file, name);
|
|
67
|
+
const out = load(name)(file, api, { __reporter: reporter });
|
|
68
|
+
return { out: out ?? source, sites: reporter.sites as Site[], messages };
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const prefixes = fs
|
|
72
|
+
.readdirSync(FIXTURES)
|
|
73
|
+
.filter((f) => f.endsWith('.input.tsx'))
|
|
74
|
+
.map((f) => f.replace(/\.input\.tsx$/, ''))
|
|
75
|
+
.sort();
|
|
76
|
+
|
|
77
|
+
describe('fixtures', () => {
|
|
78
|
+
it('has a fixture pair for every transform', () => {
|
|
79
|
+
for (const t of [
|
|
80
|
+
'button-variants',
|
|
81
|
+
'badge-variants',
|
|
82
|
+
'tag-chip',
|
|
83
|
+
'card-gradient',
|
|
84
|
+
'token-renames',
|
|
85
|
+
'index',
|
|
86
|
+
]) {
|
|
87
|
+
expect(prefixes).toContain(t);
|
|
88
|
+
}
|
|
89
|
+
for (const p of prefixes)
|
|
90
|
+
expect(fs.existsSync(path.join(FIXTURES, `${p}.output.tsx`))).toBe(true);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
for (const prefix of prefixes) {
|
|
94
|
+
it(`${prefix}: input → output`, async () => {
|
|
95
|
+
const mod = load(transformFor(prefix));
|
|
96
|
+
const input = read(`${prefix}.input.tsx`);
|
|
97
|
+
const out = applyTransform(
|
|
98
|
+
mod,
|
|
99
|
+
{},
|
|
100
|
+
{ path: `${prefix}.input.tsx`, source: input },
|
|
101
|
+
{ parser: 'tsx' }
|
|
102
|
+
);
|
|
103
|
+
expect(await fmt(out || input)).toBe(
|
|
104
|
+
await fmt(read(`${prefix}.output.tsx`))
|
|
105
|
+
);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
it(`${prefix}: idempotent (output is a fixed point)`, async () => {
|
|
109
|
+
const mod = load(transformFor(prefix));
|
|
110
|
+
const output = read(`${prefix}.output.tsx`);
|
|
111
|
+
const again = applyTransform(
|
|
112
|
+
mod,
|
|
113
|
+
{},
|
|
114
|
+
{ path: `${prefix}.output.tsx`, source: output },
|
|
115
|
+
{ parser: 'tsx' }
|
|
116
|
+
);
|
|
117
|
+
expect(await fmt(again || output)).toBe(await fmt(output));
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
const kinds = (sites: Site[]) =>
|
|
123
|
+
sites.reduce<Record<string, number>>((acc, s) => {
|
|
124
|
+
acc[s.kind] = (acc[s.kind] || 0) + 1;
|
|
125
|
+
return acc;
|
|
126
|
+
}, {});
|
|
127
|
+
|
|
128
|
+
describe('reporting', () => {
|
|
129
|
+
it('button-variants reports dynamic props, spreads and TODO combos', () => {
|
|
130
|
+
const { sites, messages } = run(
|
|
131
|
+
'button-variants',
|
|
132
|
+
read('button-variants.input.tsx')
|
|
133
|
+
);
|
|
134
|
+
expect(kinds(sites)).toEqual({ dynamic: 3, spread: 1, todo: 5 });
|
|
135
|
+
const dyn = sites.filter((s) => s.kind === 'dynamic');
|
|
136
|
+
expect(dyn.map((s) => [s.component, s.prop, s.source])).toEqual([
|
|
137
|
+
['Button', 'variant', 'variant={kind}'],
|
|
138
|
+
['Button', 'colorPalette', "colorPalette={ok ? 'danger' : 'primary'}"],
|
|
139
|
+
['IB', 'colorPalette', 'colorPalette={palette}'],
|
|
140
|
+
]);
|
|
141
|
+
for (const s of dyn) expect(s.line).toBeGreaterThan(0);
|
|
142
|
+
expect(sites.find((s) => s.kind === 'spread')?.source).toBe('{...rest}');
|
|
143
|
+
expect(sites.filter((s) => s.kind === 'todo').map((s) => s.note)).toEqual([
|
|
144
|
+
'colorPalette="secondary" variant="solid" → variant="primary"',
|
|
145
|
+
'colorPalette="warning" variant="solid" → variant="primary"',
|
|
146
|
+
'colorPalette="primary" variant="link" → variant="subtle"',
|
|
147
|
+
'colorPalette="danger" variant="plain" → variant="subtle" isDestructive',
|
|
148
|
+
'colorPalette="secondary" variant="solid" → variant="primary"',
|
|
149
|
+
]);
|
|
150
|
+
// api.report gets one line per site, with the line number.
|
|
151
|
+
expect(messages).toHaveLength(sites.length);
|
|
152
|
+
expect(messages[0]).toMatch(/^\[button-variants\] L\d+ <Button> /);
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
it('badge-variants reports dynamic, spread and unknown variants', () => {
|
|
156
|
+
const { sites } = run('badge-variants', read('badge-variants.input.tsx'));
|
|
157
|
+
expect(kinds(sites)).toEqual({ dynamic: 1, spread: 1, todo: 1 });
|
|
158
|
+
expect(sites.find((s) => s.kind === 'dynamic')?.source).toBe('variant={v}');
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
it('tag-chip reports dynamic, spread, TODO, Chip types and references', () => {
|
|
162
|
+
const { sites } = run('tag-chip', read('tag-chip.input.tsx'));
|
|
163
|
+
expect(kinds(sites)).toEqual({
|
|
164
|
+
type: 1,
|
|
165
|
+
reference: 1,
|
|
166
|
+
dynamic: 1,
|
|
167
|
+
spread: 1,
|
|
168
|
+
todo: 1,
|
|
169
|
+
selected: 3,
|
|
170
|
+
});
|
|
171
|
+
expect(sites.find((s) => s.kind === 'todo')?.note).toBe(
|
|
172
|
+
'danger/outline has no outlined 5.0 Tag; now a plain Tag — tone="danger"?'
|
|
173
|
+
);
|
|
174
|
+
expect(sites.find((s) => s.kind === 'dynamic')).toMatchObject({
|
|
175
|
+
component: 'Tag (was Chip)',
|
|
176
|
+
prop: 'colorScheme',
|
|
177
|
+
source: 'colorScheme={cs}',
|
|
178
|
+
});
|
|
179
|
+
expect(sites.find((s) => s.kind === 'type')?.prop).toBe('ChipProps');
|
|
180
|
+
expect(sites.find((s) => s.kind === 'reference')?.source).toBe(
|
|
181
|
+
'styled(Chip)'
|
|
182
|
+
);
|
|
183
|
+
const merged = run('tag-chip', read('tag-chip-merge.input.tsx'));
|
|
184
|
+
expect(kinds(merged.sites)).toEqual({ todo: 5, selected: 5 });
|
|
185
|
+
// An explicit `selected` is also a toggle (Tag.tsx) — every one is reported.
|
|
186
|
+
for (const s of merged.sites.filter((x) => x.kind === 'selected'))
|
|
187
|
+
expect(s.note).toMatch(/interactive/);
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
it('card-gradient reports removed gradients and dynamic variants', () => {
|
|
191
|
+
const { sites } = run('card-gradient', read('card-gradient.input.tsx'));
|
|
192
|
+
expect(kinds(sites)).toEqual({ todo: 2, dynamic: 1 });
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
it('token-renames reports raw primitives and token keys, not renames', () => {
|
|
196
|
+
const { sites } = run('token-renames', read('token-renames.input.tsx'));
|
|
197
|
+
expect(kinds(sites)).toEqual({ primitive: 6, key: 2 });
|
|
198
|
+
expect(
|
|
199
|
+
sites.filter((s) => s.kind === 'primitive').map((s) => s.prop)
|
|
200
|
+
).toEqual([
|
|
201
|
+
'blue.500',
|
|
202
|
+
'violet.300',
|
|
203
|
+
'--chakra-colors-green-600',
|
|
204
|
+
'grayDark.200',
|
|
205
|
+
'colors.grayDark.200',
|
|
206
|
+
'--chakra-colors-gray-dark-200',
|
|
207
|
+
]);
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
it('summarize() prints counts and a site table', () => {
|
|
211
|
+
const lines = [
|
|
212
|
+
JSON.stringify({
|
|
213
|
+
transform: 'button-variants',
|
|
214
|
+
file: path.join(process.cwd(), 'src/a.tsx'),
|
|
215
|
+
line: 3,
|
|
216
|
+
component: 'Button',
|
|
217
|
+
prop: 'variant',
|
|
218
|
+
kind: 'dynamic',
|
|
219
|
+
source: 'variant={x}',
|
|
220
|
+
}),
|
|
221
|
+
JSON.stringify({
|
|
222
|
+
transform: 'button-variants',
|
|
223
|
+
file: 'src/a.tsx',
|
|
224
|
+
migrated: 'elements migrated',
|
|
225
|
+
quantity: 5,
|
|
226
|
+
}),
|
|
227
|
+
];
|
|
228
|
+
const text = indexModule.summarize(lines);
|
|
229
|
+
expect(text).toContain('button-variants · elements migrated');
|
|
230
|
+
expect(text).toMatch(/Needs a human: 1 site/);
|
|
231
|
+
expect(text).toMatch(
|
|
232
|
+
/src\/a\.tsx:3\s+Button\s+variant\s+dynamic\s+variant=\{x\}/
|
|
233
|
+
);
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
describe('token map', () => {
|
|
238
|
+
const data = require('../../src/theme/deprecatedColorTokens.json');
|
|
239
|
+
const { rewrite } = load('token-renames');
|
|
240
|
+
// Chakra's CSS variable name for a token path (dashCase): `fg.onPrimary` →
|
|
241
|
+
// `fg-on-primary`. Written out here, not imported, so a codemod bug cannot
|
|
242
|
+
// hide behind the same helper.
|
|
243
|
+
const kebab = (s: string) =>
|
|
244
|
+
s.replace(/\./g, '-').replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
|
|
245
|
+
const CAMEL_CASE_VAR = /--chakra-[a-z]+-[a-z0-9-]*[A-Z]/;
|
|
246
|
+
|
|
247
|
+
it('renames every alias in both dotted and CSS-var form', () => {
|
|
248
|
+
for (const [from, to] of Object.entries<string>(data.aliases)) {
|
|
249
|
+
expect(rewrite(`'${from}'`).text).toBe(`'${to}'`);
|
|
250
|
+
const out = rewrite(`var(--chakra-colors-${kebab(from)})`).text;
|
|
251
|
+
expect(out).toBe(`var(--chakra-colors-${kebab(to)})`);
|
|
252
|
+
expect(out).not.toMatch(CAMEL_CASE_VAR);
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
it('no rewritten fixture contains a camelCase --chakra- variable', () => {
|
|
257
|
+
for (const f of fs
|
|
258
|
+
.readdirSync(FIXTURES)
|
|
259
|
+
.filter((n) => n.endsWith('.output.tsx'))) {
|
|
260
|
+
expect([f, read(f).match(CAMEL_CASE_VAR)?.[0]]).toEqual([f, undefined]);
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
it('CSS variables are matched and written kebab-case', () => {
|
|
265
|
+
expect(rewrite('var(--chakra-colors-primary-lighter)').text).toBe(
|
|
266
|
+
'var(--chakra-colors-primary-wash-active)'
|
|
267
|
+
);
|
|
268
|
+
expect(rewrite('var(--chakra-colors-primary-fill-strong)').text).toBe(
|
|
269
|
+
'var(--chakra-colors-primary-hover)'
|
|
270
|
+
);
|
|
271
|
+
expect(rewrite('var(--chakra-colors-secondary-lighter)').text).toBe(
|
|
272
|
+
'var(--chakra-colors-secondary-surface-strong)'
|
|
273
|
+
);
|
|
274
|
+
// A camelCase var never existed in 4.x output; it is not ours to touch.
|
|
275
|
+
expect(rewrite('var(--chakra-colors-primary-fillStrong)').renamed).toEqual(
|
|
276
|
+
[]
|
|
277
|
+
);
|
|
278
|
+
const r = rewrite('var(--chakra-colors-gray-dark-200)');
|
|
279
|
+
expect(r.primitives).toEqual(['--chakra-colors-gray-dark-200']);
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
it('matches Chakra token references with a colors. prefix and keeps it', () => {
|
|
283
|
+
expect(rewrite('{colors.success.main}').text).toBe(
|
|
284
|
+
'{colors.success.solid}'
|
|
285
|
+
);
|
|
286
|
+
expect(
|
|
287
|
+
rewrite('color-mix(in oklab, {colors.warning.fill} 70%, black)').text
|
|
288
|
+
).toBe('color-mix(in oklab, {colors.warning.solid} 70%, black)');
|
|
289
|
+
expect(rewrite("token('colors.danger.main')").text).toBe(
|
|
290
|
+
"token('colors.danger.solid')"
|
|
291
|
+
);
|
|
292
|
+
expect(rewrite('"colors.primary.lighter"').text).toBe(
|
|
293
|
+
'"colors.primary.washActive"'
|
|
294
|
+
);
|
|
295
|
+
expect(rewrite('colors.slate.800').text).toBe('colors.neutral.9');
|
|
296
|
+
expect(rewrite('{colors.gray.300}').text).toBe('{colors.neutral.5}');
|
|
297
|
+
expect(rewrite('{colors.grayDark.200}').primitives).toEqual([
|
|
298
|
+
'colors.grayDark.200',
|
|
299
|
+
]);
|
|
300
|
+
// Still a boundary: not a token reference, just a longer path.
|
|
301
|
+
for (const t of [
|
|
302
|
+
'foo.primary.light',
|
|
303
|
+
'theme.colors.primary.light',
|
|
304
|
+
'x colors.primary.light',
|
|
305
|
+
'mycolors.primary.light',
|
|
306
|
+
]) {
|
|
307
|
+
expect(rewrite(t).text).toBe(t);
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
|
|
311
|
+
it('renames gray.N to neutral.N and leaves other primitives', () => {
|
|
312
|
+
for (const [step, to] of Object.entries<string>(
|
|
313
|
+
data.removedPrimitives.gray
|
|
314
|
+
)) {
|
|
315
|
+
expect(rewrite(`gray.${step}`).text).toBe(to);
|
|
316
|
+
}
|
|
317
|
+
const r = rewrite('blue.500 rose.200');
|
|
318
|
+
expect(r.text).toBe('blue.500 rose.200');
|
|
319
|
+
expect(r.primitives).toEqual(['blue.500', 'rose.200']);
|
|
320
|
+
});
|
|
321
|
+
|
|
322
|
+
it('fg.accent → fg.link only in link colour context', () => {
|
|
323
|
+
expect(rewrite('fg.accent').text).toBe('primary.main');
|
|
324
|
+
expect(rewrite('fg.accent', { linkColor: true }).text).toBe('fg.link');
|
|
325
|
+
});
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
// The codemod claims "the screen looks the same whether or not it ran": its
|
|
329
|
+
// tables must be the runtime back-compat tables, cell for cell.
|
|
330
|
+
describe('parity with the runtime legacy mappers', () => {
|
|
331
|
+
const PALETTES = [
|
|
332
|
+
undefined,
|
|
333
|
+
'primary',
|
|
334
|
+
'secondary',
|
|
335
|
+
'neutral',
|
|
336
|
+
'danger',
|
|
337
|
+
'success',
|
|
338
|
+
'warning',
|
|
339
|
+
'info',
|
|
340
|
+
'brand',
|
|
341
|
+
];
|
|
342
|
+
|
|
343
|
+
it('button-variants resolve() = resolveLegacyButtonVariant (Button.legacy.ts)', () => {
|
|
344
|
+
const { resolve } = load('button-variants');
|
|
345
|
+
const VARIANTS = [
|
|
346
|
+
undefined,
|
|
347
|
+
'solid',
|
|
348
|
+
'outline',
|
|
349
|
+
'ghost',
|
|
350
|
+
'soft',
|
|
351
|
+
'link',
|
|
352
|
+
'plain',
|
|
353
|
+
'surface',
|
|
354
|
+
'primary',
|
|
355
|
+
'action',
|
|
356
|
+
'secondary',
|
|
357
|
+
'subtle',
|
|
358
|
+
'danger',
|
|
359
|
+
];
|
|
360
|
+
for (const kind of ['button', 'icon'] as const)
|
|
361
|
+
for (const p of PALETTES)
|
|
362
|
+
for (const v of VARIANTS) {
|
|
363
|
+
const rt = resolveLegacyButtonVariant(kind, p, v);
|
|
364
|
+
const cm = resolve(kind, p ?? '', v ?? '');
|
|
365
|
+
const cell = `${kind} ${p ?? '—'}/${v ?? '—'}`;
|
|
366
|
+
expect([cell, cm.variant, cm.isDestructive]).toEqual([
|
|
367
|
+
cell,
|
|
368
|
+
rt.variant,
|
|
369
|
+
rt.isDestructive,
|
|
370
|
+
]);
|
|
371
|
+
// Whatever the runtime warns about, the codemod hands to a human.
|
|
372
|
+
if (rt.needsHuman)
|
|
373
|
+
expect([cell, cm.confident]).toEqual([cell, false]);
|
|
374
|
+
}
|
|
375
|
+
});
|
|
376
|
+
|
|
377
|
+
it('tag-chip mapLegacy() = mapLegacyTagProps (Tag.styles.ts)', () => {
|
|
378
|
+
const { mapLegacy } = load('tag-chip');
|
|
379
|
+
for (const p of PALETTES)
|
|
380
|
+
for (const v of [undefined, 'soft', 'solid', 'outline', 'subtle']) {
|
|
381
|
+
const cell = `${p ?? '—'}/${v ?? '—'}`;
|
|
382
|
+
const rt = mapLegacyTagProps(p, v);
|
|
383
|
+
const cm = mapLegacy(p, v);
|
|
384
|
+
expect([cell, cm.tone, !!cm.selected, cm.needsHuman]).toEqual([
|
|
385
|
+
cell,
|
|
386
|
+
rt.tone,
|
|
387
|
+
!!rt.selected,
|
|
388
|
+
rt.needsHuman,
|
|
389
|
+
]);
|
|
390
|
+
}
|
|
391
|
+
});
|
|
392
|
+
|
|
393
|
+
it("a converted Chip gets exactly Chip.tsx's pill shape", () => {
|
|
394
|
+
const chip = fs.readFileSync(
|
|
395
|
+
path.join(REPO, 'src/components/Chip/Chip.tsx'),
|
|
396
|
+
'utf8'
|
|
397
|
+
);
|
|
398
|
+
for (const prop of [
|
|
399
|
+
'borderRadius="32px"',
|
|
400
|
+
'px={3}',
|
|
401
|
+
'py={2}',
|
|
402
|
+
'fontWeight="medium"',
|
|
403
|
+
])
|
|
404
|
+
expect(chip).toContain(prop);
|
|
405
|
+
// `xl` is the 32px radius token the codemod writes.
|
|
406
|
+
expect(
|
|
407
|
+
fs.readFileSync(path.join(REPO, 'src/theme/index.ts'), 'utf8')
|
|
408
|
+
).toMatch(/xl: \{ value: '32px' \}/);
|
|
409
|
+
const { out } = run(
|
|
410
|
+
'tag-chip',
|
|
411
|
+
"import { Chip } from '@mindlogic-ai/logician-ui';\nexport const A = () => <Chip>x</Chip>;\n"
|
|
412
|
+
);
|
|
413
|
+
expect(out).toContain(
|
|
414
|
+
'<Tag borderRadius="xl" px={3} py={2} fontWeight="medium">'
|
|
415
|
+
);
|
|
416
|
+
});
|
|
417
|
+
});
|
|
418
|
+
|
|
419
|
+
describe('runner (node index.js)', () => {
|
|
420
|
+
it('runs all transforms in --dry mode, prints the summary, exits 0', () => {
|
|
421
|
+
const dir = fs.mkdtempSync(
|
|
422
|
+
path.join(process.env.TMPDIR || os.tmpdir(), 'lui5-cm-test-')
|
|
423
|
+
);
|
|
424
|
+
const target = path.join(dir, 'a.tsx');
|
|
425
|
+
fs.copyFileSync(path.join(FIXTURES, 'index.input.tsx'), target);
|
|
426
|
+
const before = fs.readFileSync(target, 'utf8');
|
|
427
|
+
const stdout = execFileSync(
|
|
428
|
+
process.execPath,
|
|
429
|
+
[path.join(HERE, 'index.js'), '--dry', '--run-in-band', dir],
|
|
430
|
+
{ cwd: REPO, encoding: 'utf8', env: { ...process.env } }
|
|
431
|
+
);
|
|
432
|
+
expect(stdout).toContain('logician-ui 5.0 codemod summary');
|
|
433
|
+
expect(stdout).toMatch(/Needs a human: 6 site\(s\)/);
|
|
434
|
+
expect(stdout).toMatch(/tag-chip · selected\s+1/);
|
|
435
|
+
expect(stdout).toMatch(/button-variants · dynamic\s+1/);
|
|
436
|
+
expect(stdout).toMatch(/token-renames · primitive\s+1/);
|
|
437
|
+
expect(fs.readFileSync(target, 'utf8')).toBe(before); // --dry wrote nothing
|
|
438
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
439
|
+
});
|
|
440
|
+
});
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* logician-ui 5.0 codemod — all transforms, in order:
|
|
4
|
+
* button-variants → badge-variants → tag-chip → card-gradient → token-renames
|
|
5
|
+
*
|
|
6
|
+
* Two ways to use this file (see README.md):
|
|
7
|
+
*
|
|
8
|
+
* 1. As a jscodeshift transform:
|
|
9
|
+
* npx jscodeshift -t node_modules/@mindlogic-ai/logician-ui/codemods/5.0/index.js \
|
|
10
|
+
* --parser=tsx --extensions=tsx,ts src/
|
|
11
|
+
* Every site that needs a human is printed as a ` REP ` line; with `--dry`
|
|
12
|
+
* jscodeshift also prints per-kind counts at the end.
|
|
13
|
+
* `--only=button-variants,token-renames` limits the transforms.
|
|
14
|
+
*
|
|
15
|
+
* 2. As a runner (`node index.js [--dry] [--print] [--only=…] [--cpus=N] <paths…>`):
|
|
16
|
+
* same transforms, plus a summary table of every needs-a-human site at the
|
|
17
|
+
* end. Needs `jscodeshift` resolvable from the cwd or this package.
|
|
18
|
+
*
|
|
19
|
+
* Exit code is 0 even when sites need a human — the report is the output.
|
|
20
|
+
*/
|
|
21
|
+
'use strict';
|
|
22
|
+
|
|
23
|
+
const path = require('path');
|
|
24
|
+
const fs = require('fs');
|
|
25
|
+
const os = require('os');
|
|
26
|
+
|
|
27
|
+
const TRANSFORMS = [
|
|
28
|
+
['button-variants', require('./button-variants')],
|
|
29
|
+
['badge-variants', require('./badge-variants')],
|
|
30
|
+
['tag-chip', require('./tag-chip')],
|
|
31
|
+
['card-gradient', require('./card-gradient')],
|
|
32
|
+
['token-renames', require('./token-renames')],
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
const selected = (options) => {
|
|
36
|
+
const only = options && options.only;
|
|
37
|
+
if (!only) return TRANSFORMS;
|
|
38
|
+
const want = String(only)
|
|
39
|
+
.split(',')
|
|
40
|
+
.map((s) => s.trim())
|
|
41
|
+
.filter(Boolean);
|
|
42
|
+
const unknown = want.filter((w) => !TRANSFORMS.some(([n]) => n === w));
|
|
43
|
+
if (unknown.length)
|
|
44
|
+
throw new Error(`Unknown transform(s) in --only: ${unknown.join(', ')}`);
|
|
45
|
+
return TRANSFORMS.filter(([n]) => want.includes(n));
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
function transform(file, api, options) {
|
|
49
|
+
let source = file.source;
|
|
50
|
+
let changed = false;
|
|
51
|
+
for (const [, t] of selected(options)) {
|
|
52
|
+
const out = t({ ...file, source }, api, options);
|
|
53
|
+
if (typeof out === 'string' && out !== source) {
|
|
54
|
+
source = out;
|
|
55
|
+
changed = true;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return changed ? source : undefined;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
module.exports = transform;
|
|
62
|
+
module.exports.parser = 'tsx';
|
|
63
|
+
module.exports.transforms = TRANSFORMS;
|
|
64
|
+
|
|
65
|
+
// ---------------------------------------------------------------------------
|
|
66
|
+
// Runner
|
|
67
|
+
// ---------------------------------------------------------------------------
|
|
68
|
+
|
|
69
|
+
const resolveRunner = () => {
|
|
70
|
+
for (const base of [process.cwd(), __dirname]) {
|
|
71
|
+
try {
|
|
72
|
+
return require(
|
|
73
|
+
require.resolve('jscodeshift/src/Runner', { paths: [base] })
|
|
74
|
+
);
|
|
75
|
+
} catch (_) {
|
|
76
|
+
/* try next */
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
console.error(
|
|
80
|
+
'jscodeshift is not installed. Either `npm i -D jscodeshift` or run via\n' +
|
|
81
|
+
' npx jscodeshift -t <this file> --parser=tsx --extensions=tsx,ts src/'
|
|
82
|
+
);
|
|
83
|
+
process.exit(2);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
const pad = (s, n) => {
|
|
87
|
+
s = String(s);
|
|
88
|
+
return s.length >= n ? s : s + ' '.repeat(n - s.length);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
/** Summary of a JSON-lines report file → string. Exported for tests. */
|
|
92
|
+
function summarize(lines, cwd = process.cwd()) {
|
|
93
|
+
const sites = [];
|
|
94
|
+
const migrated = {};
|
|
95
|
+
for (const line of lines) {
|
|
96
|
+
if (!line.trim()) continue;
|
|
97
|
+
let e;
|
|
98
|
+
try {
|
|
99
|
+
e = JSON.parse(line);
|
|
100
|
+
} catch (_) {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
if (e.migrated) {
|
|
104
|
+
const k = `${e.transform} · ${e.migrated}`;
|
|
105
|
+
migrated[k] = (migrated[k] || 0) + (e.quantity || 1);
|
|
106
|
+
} else sites.push(e);
|
|
107
|
+
}
|
|
108
|
+
const out = [];
|
|
109
|
+
out.push('', '── logician-ui 5.0 codemod summary ──', '');
|
|
110
|
+
const mk = Object.keys(migrated).sort();
|
|
111
|
+
out.push('Migrated automatically:');
|
|
112
|
+
if (!mk.length) out.push(' (nothing)');
|
|
113
|
+
for (const k of mk) out.push(` ${pad(k, 44)} ${migrated[k]}`);
|
|
114
|
+
out.push('');
|
|
115
|
+
|
|
116
|
+
const byKind = {};
|
|
117
|
+
for (const s of sites) {
|
|
118
|
+
const k = `${s.transform} · ${s.kind}`;
|
|
119
|
+
byKind[k] = (byKind[k] || 0) + 1;
|
|
120
|
+
}
|
|
121
|
+
out.push(`Needs a human: ${sites.length} site(s)`);
|
|
122
|
+
for (const k of Object.keys(byKind).sort())
|
|
123
|
+
out.push(` ${pad(k, 44)} ${byKind[k]}`);
|
|
124
|
+
if (sites.length) {
|
|
125
|
+
out.push('');
|
|
126
|
+
const rows = sites
|
|
127
|
+
.map((s) => ({
|
|
128
|
+
loc: `${path.relative(cwd, s.file) || s.file}:${s.line}`,
|
|
129
|
+
comp: s.component,
|
|
130
|
+
prop: s.prop,
|
|
131
|
+
kind: s.kind,
|
|
132
|
+
src: s.source + (s.note ? ` ← ${s.note}` : ''),
|
|
133
|
+
}))
|
|
134
|
+
.sort((a, b) => a.loc.localeCompare(b.loc, 'en', { numeric: true }));
|
|
135
|
+
const w = {
|
|
136
|
+
loc: Math.min(70, Math.max(8, ...rows.map((r) => r.loc.length))),
|
|
137
|
+
comp: Math.min(24, Math.max(9, ...rows.map((r) => r.comp.length))),
|
|
138
|
+
prop: Math.min(24, Math.max(4, ...rows.map((r) => r.prop.length))),
|
|
139
|
+
kind: Math.max(4, ...rows.map((r) => r.kind.length)),
|
|
140
|
+
};
|
|
141
|
+
out.push(
|
|
142
|
+
`${pad('location', w.loc)} ${pad('component', w.comp)} ${pad('prop', w.prop)} ${pad('kind', w.kind)} source`
|
|
143
|
+
);
|
|
144
|
+
out.push(
|
|
145
|
+
`${'-'.repeat(w.loc)} ${'-'.repeat(w.comp)} ${'-'.repeat(w.prop)} ${'-'.repeat(w.kind)} ------`
|
|
146
|
+
);
|
|
147
|
+
for (const r of rows)
|
|
148
|
+
out.push(
|
|
149
|
+
`${pad(r.loc, w.loc)} ${pad(r.comp, w.comp)} ${pad(r.prop, w.prop)} ${pad(r.kind, w.kind)} ${r.src}`
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
out.push('');
|
|
153
|
+
out.push(
|
|
154
|
+
'kinds: dynamic = prop value is an expression · spread = {...props} may carry old props ·'
|
|
155
|
+
);
|
|
156
|
+
out.push(
|
|
157
|
+
' todo = converted but marked TODO(logician-ui 5.0) · primitive = raw blue.N/violet.N/… ·'
|
|
158
|
+
);
|
|
159
|
+
out.push(
|
|
160
|
+
' reference/type = Chip used outside JSX / Chip* type import · key = token as object key'
|
|
161
|
+
);
|
|
162
|
+
return out.join('\n');
|
|
163
|
+
}
|
|
164
|
+
module.exports.summarize = summarize;
|
|
165
|
+
|
|
166
|
+
async function main(argv) {
|
|
167
|
+
const opts = { parser: 'tsx', extensions: 'tsx,ts,jsx,js', babel: false };
|
|
168
|
+
const paths = [];
|
|
169
|
+
for (const a of argv) {
|
|
170
|
+
if (a === '--dry' || a === '-d') opts.dry = true;
|
|
171
|
+
else if (a === '--print' || a === '-p') opts.print = true;
|
|
172
|
+
else if (a === '--run-in-band') opts.runInBand = true;
|
|
173
|
+
else if (a === '--silent' || a === '-s') opts.silent = true;
|
|
174
|
+
else if (a.startsWith('--only=')) opts.only = a.slice(7);
|
|
175
|
+
else if (a.startsWith('--cpus=')) opts.cpus = Number(a.slice(7));
|
|
176
|
+
else if (a.startsWith('--extensions=')) opts.extensions = a.slice(13);
|
|
177
|
+
else if (a.startsWith('--ignore-pattern='))
|
|
178
|
+
opts.ignorePattern = [a.slice(17)];
|
|
179
|
+
else if (a === '--help' || a === '-h') {
|
|
180
|
+
console.log(
|
|
181
|
+
'usage: node index.js [--dry] [--print] [--only=a,b] [--cpus=N] [--extensions=tsx,ts] <paths…>'
|
|
182
|
+
);
|
|
183
|
+
return 0;
|
|
184
|
+
} else paths.push(a);
|
|
185
|
+
}
|
|
186
|
+
if (!paths.length) paths.push('src');
|
|
187
|
+
selected(opts); // validate --only early
|
|
188
|
+
opts.ignorePattern = [
|
|
189
|
+
...(opts.ignorePattern || []),
|
|
190
|
+
'**/node_modules/**',
|
|
191
|
+
'**/*.d.ts',
|
|
192
|
+
];
|
|
193
|
+
|
|
194
|
+
const reportFile = path.join(
|
|
195
|
+
fs.mkdtempSync(
|
|
196
|
+
path.join(process.env.TMPDIR || os.tmpdir(), 'lui5-codemod-')
|
|
197
|
+
),
|
|
198
|
+
'report.jsonl'
|
|
199
|
+
);
|
|
200
|
+
fs.writeFileSync(reportFile, '');
|
|
201
|
+
process.env.LUI5_CODEMOD_REPORT = reportFile;
|
|
202
|
+
|
|
203
|
+
const Runner = resolveRunner();
|
|
204
|
+
await Runner.run(__filename, paths, opts);
|
|
205
|
+
|
|
206
|
+
const lines = fs.readFileSync(reportFile, 'utf8').split('\n');
|
|
207
|
+
console.log(summarize(lines));
|
|
208
|
+
console.log(`\nraw report (JSON lines): ${reportFile}`);
|
|
209
|
+
return 0;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
if (require.main === module) {
|
|
213
|
+
main(process.argv.slice(2)).then(
|
|
214
|
+
(code) => process.exit(code),
|
|
215
|
+
(err) => {
|
|
216
|
+
console.error(err && err.stack ? err.stack : err);
|
|
217
|
+
process.exit(1);
|
|
218
|
+
}
|
|
219
|
+
);
|
|
220
|
+
}
|