@plumile/ui 0.1.56 → 0.1.57
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/lib/esm/atomic/atoms/badge/Badge.js +17 -16
- package/lib/esm/atomic/atoms/badge/Badge.js.map +1 -1
- package/lib/esm/atomic/atoms/badge/badge.css.js +30 -8
- package/lib/esm/atomic/atoms/badge/badge.css.js.map +1 -1
- package/lib/esm/atomic/atoms/button/Button.js +46 -58
- package/lib/esm/atomic/atoms/button/Button.js.map +1 -1
- package/lib/esm/atomic/atoms/button/LinkButton.js +48 -62
- package/lib/esm/atomic/atoms/button/LinkButton.js.map +1 -1
- package/lib/esm/atomic/atoms/button/button.css.js +95 -16
- package/lib/esm/atomic/atoms/button/button.css.js.map +1 -1
- package/lib/esm/atomic/atoms/checkbox/Checkbox.js +37 -40
- package/lib/esm/atomic/atoms/checkbox/Checkbox.js.map +1 -1
- package/lib/esm/atomic/atoms/checkbox/checkbox.css.js +26 -11
- package/lib/esm/atomic/atoms/checkbox/checkbox.css.js.map +1 -1
- package/lib/esm/atomic/atoms/formatted-date/FormattedDate.js +32 -31
- package/lib/esm/atomic/atoms/formatted-date/FormattedDate.js.map +1 -1
- package/lib/esm/atomic/atoms/icon-button/IconMenuButton.js +18 -25
- package/lib/esm/atomic/atoms/icon-button/IconMenuButton.js.map +1 -1
- package/lib/esm/atomic/atoms/input/Input.js +46 -40
- package/lib/esm/atomic/atoms/input/Input.js.map +1 -1
- package/lib/esm/atomic/atoms/input/input.css.js +32 -14
- package/lib/esm/atomic/atoms/input/input.css.js.map +1 -1
- package/lib/esm/atomic/atoms/label/Label.js +23 -16
- package/lib/esm/atomic/atoms/label/Label.js.map +1 -1
- package/lib/esm/atomic/atoms/label/label.css.js +27 -9
- package/lib/esm/atomic/atoms/label/label.css.js.map +1 -1
- package/lib/esm/atomic/atoms/textarea/Textarea.js +19 -18
- package/lib/esm/atomic/atoms/textarea/Textarea.js.map +1 -1
- package/lib/esm/atomic/atoms/textarea/textarea.css.js +32 -8
- package/lib/esm/atomic/atoms/textarea/textarea.css.js.map +1 -1
- package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.js +47 -54
- package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.js.map +1 -1
- package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js +53 -60
- package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js.map +1 -1
- package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.js +62 -63
- package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.js.map +1 -1
- package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js +8 -30
- package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js.map +1 -1
- package/lib/esm/atomic/molecules/breadcrumb_navigation/types.js +0 -2
- package/lib/esm/atomic/molecules/card/Card.css.js +8 -10
- package/lib/esm/atomic/molecules/card/Card.css.js.map +1 -1
- package/lib/esm/atomic/molecules/card/Card.js +24 -17
- package/lib/esm/atomic/molecules/card/Card.js.map +1 -1
- package/lib/esm/atomic/molecules/dropdown/Dropdown.js +148 -177
- package/lib/esm/atomic/molecules/dropdown/Dropdown.js.map +1 -1
- package/lib/esm/atomic/molecules/dropdown/dropdown.css.js +8 -13
- package/lib/esm/atomic/molecules/dropdown/dropdown.css.js.map +1 -1
- package/lib/esm/atomic/molecules/form-actions/FormActions.js +31 -56
- package/lib/esm/atomic/molecules/form-actions/FormActions.js.map +1 -1
- package/lib/esm/atomic/molecules/tabs/Tabs.js +34 -33
- package/lib/esm/atomic/molecules/tabs/Tabs.js.map +1 -1
- package/lib/esm/atomic/molecules/tabs/tabs.css.js +18 -9
- package/lib/esm/atomic/molecules/tabs/tabs.css.js.map +1 -1
- package/lib/esm/atomic/molecules/toast/ToastProvider.js +82 -77
- package/lib/esm/atomic/molecules/toast/ToastProvider.js.map +1 -1
- package/lib/esm/atomic/molecules/toast/ToastViewport.js +75 -70
- package/lib/esm/atomic/molecules/toast/ToastViewport.js.map +1 -1
- package/lib/esm/atomic/molecules/toast/constants.js +6 -5
- package/lib/esm/atomic/molecules/toast/constants.js.map +1 -1
- package/lib/esm/atomic/molecules/toast/toast.css.js +18 -17
- package/lib/esm/atomic/molecules/toast/toast.css.js.map +1 -1
- package/lib/esm/components/charts/BillingUsageLineChart.js +140 -173
- package/lib/esm/components/charts/BillingUsageLineChart.js.map +1 -1
- package/lib/esm/components/charts/billingUsageLineChart.css.js +8 -12
- package/lib/esm/components/charts/billingUsageLineChart.css.js.map +1 -1
- package/lib/esm/components/data-table/DataTable.css.js +84 -24
- package/lib/esm/components/data-table/DataTable.css.js.map +1 -1
- package/lib/esm/components/data-table/DataTable.js +73 -140
- package/lib/esm/components/data-table/DataTable.js.map +1 -1
- package/lib/esm/components/data-table/TableCell.css.js +18 -15
- package/lib/esm/components/data-table/TableCell.css.js.map +1 -1
- package/lib/esm/components/data-table/TableCell.js +74 -73
- package/lib/esm/components/data-table/TableCell.js.map +1 -1
- package/lib/esm/components/data-table/TableCellBase.js +18 -15
- package/lib/esm/components/data-table/TableCellBase.js.map +1 -1
- package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js +8 -10
- package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js.map +1 -1
- package/lib/esm/components/data-table/VirtualizedConnectionTable.js +190 -248
- package/lib/esm/components/data-table/VirtualizedConnectionTable.js.map +1 -1
- package/lib/esm/components/data-table/tableBreakpoints.js +28 -34
- package/lib/esm/components/data-table/tableBreakpoints.js.map +1 -1
- package/lib/esm/components/layout/ContentLayout.css.js +8 -18
- package/lib/esm/components/layout/ContentLayout.css.js.map +1 -1
- package/lib/esm/components/layout/ContentLayout.js +68 -78
- package/lib/esm/components/layout/ContentLayout.js.map +1 -1
- package/lib/esm/components/layout/TabsContentLayout.css.js +8 -11
- package/lib/esm/components/layout/TabsContentLayout.css.js.map +1 -1
- package/lib/esm/components/layout/TabsContentLayout.js +30 -13
- package/lib/esm/components/layout/TabsContentLayout.js.map +1 -1
- package/lib/esm/components/select/SimpleSelect.css.js +17 -22
- package/lib/esm/components/select/SimpleSelect.css.js.map +1 -1
- package/lib/esm/components/select/SimpleSelect.js +184 -184
- package/lib/esm/components/select/SimpleSelect.js.map +1 -1
- package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js +8 -10
- package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js.map +1 -1
- package/lib/esm/components/subscriptions/RefetchNeededBanner.js +31 -23
- package/lib/esm/components/subscriptions/RefetchNeededBanner.js.map +1 -1
- package/lib/esm/components/tile/InfoTile.css.js +8 -18
- package/lib/esm/components/tile/InfoTile.css.js.map +1 -1
- package/lib/esm/components/tile/InfoTile.js +62 -67
- package/lib/esm/components/tile/InfoTile.js.map +1 -1
- package/lib/esm/i18n/useUiTranslation.js +8 -7
- package/lib/esm/i18n/useUiTranslation.js.map +1 -1
- package/lib/esm/icons/BanSvg.js +29 -44
- package/lib/esm/icons/BanSvg.js.map +1 -1
- package/lib/esm/icons/ButtonLoadingSpinnerSvg.js +26 -41
- package/lib/esm/icons/ButtonLoadingSpinnerSvg.js.map +1 -1
- package/lib/esm/icons/ChatCheckSvg.js +27 -42
- package/lib/esm/icons/ChatCheckSvg.js.map +1 -1
- package/lib/esm/icons/ChatSizeLargeSvg.js +49 -70
- package/lib/esm/icons/ChatSizeLargeSvg.js.map +1 -1
- package/lib/esm/icons/ChatSizeMediumSvg.js +43 -61
- package/lib/esm/icons/ChatSizeMediumSvg.js.map +1 -1
- package/lib/esm/icons/ChatSizeSmallSvg.js +37 -52
- package/lib/esm/icons/ChatSizeSmallSvg.js.map +1 -1
- package/lib/esm/icons/ChatXSvg.js +27 -42
- package/lib/esm/icons/ChatXSvg.js.map +1 -1
- package/lib/esm/icons/CheckSvg.js +21 -30
- package/lib/esm/icons/CheckSvg.js.map +1 -1
- package/lib/esm/icons/ChevronDownSvg.js +21 -30
- package/lib/esm/icons/ChevronDownSvg.js.map +1 -1
- package/lib/esm/icons/ChevronLeftSvg.js +21 -30
- package/lib/esm/icons/ChevronLeftSvg.js.map +1 -1
- package/lib/esm/icons/ChevronRightSvg.js +21 -30
- package/lib/esm/icons/ChevronRightSvg.js.map +1 -1
- package/lib/esm/icons/ClockSvg.js +29 -44
- package/lib/esm/icons/ClockSvg.js.map +1 -1
- package/lib/esm/icons/CoinOffSvg.js +47 -65
- package/lib/esm/icons/CoinOffSvg.js.map +1 -1
- package/lib/esm/icons/CoinSvg.js +40 -55
- package/lib/esm/icons/CoinSvg.js.map +1 -1
- package/lib/esm/icons/DatabaseCheckSvg.js +47 -65
- package/lib/esm/icons/DatabaseCheckSvg.js.map +1 -1
- package/lib/esm/icons/DatabaseXSvg.js +47 -65
- package/lib/esm/icons/DatabaseXSvg.js.map +1 -1
- package/lib/esm/icons/DevModeSvg.js +21 -30
- package/lib/esm/icons/DevModeSvg.js.map +1 -1
- package/lib/esm/icons/EyeSvg.js +27 -33
- package/lib/esm/icons/EyeSvg.js.map +1 -1
- package/lib/esm/icons/FormErrorAlertSvg.js +37 -29
- package/lib/esm/icons/FormErrorAlertSvg.js.map +1 -1
- package/lib/esm/icons/GlobeSvg.js +18 -27
- package/lib/esm/icons/GlobeSvg.js.map +1 -1
- package/lib/esm/icons/GripDotsSvg.js +52 -29
- package/lib/esm/icons/GripDotsSvg.js.map +1 -1
- package/lib/esm/icons/HomeActivityAssignUserSvg.js +44 -62
- package/lib/esm/icons/HomeActivityAssignUserSvg.js.map +1 -1
- package/lib/esm/icons/HomeStatsCheckBadgeSvg.js +27 -42
- package/lib/esm/icons/HomeStatsCheckBadgeSvg.js.map +1 -1
- package/lib/esm/icons/HomeStatsClipboardSvg.js +27 -42
- package/lib/esm/icons/HomeStatsClipboardSvg.js.map +1 -1
- package/lib/esm/icons/HomeStatsClockSvg.js +27 -42
- package/lib/esm/icons/HomeStatsClockSvg.js.map +1 -1
- package/lib/esm/icons/KeyOffSvg.js +39 -54
- package/lib/esm/icons/KeyOffSvg.js.map +1 -1
- package/lib/esm/icons/KeySvg.js +39 -54
- package/lib/esm/icons/KeySvg.js.map +1 -1
- package/lib/esm/icons/KronexSvg.js +28 -43
- package/lib/esm/icons/KronexSvg.js.map +1 -1
- package/lib/esm/icons/LinkCheckSvg.js +37 -52
- package/lib/esm/icons/LinkCheckSvg.js.map +1 -1
- package/lib/esm/icons/LinkSvg.js +27 -42
- package/lib/esm/icons/LinkSvg.js.map +1 -1
- package/lib/esm/icons/LinkXSvg.js +37 -52
- package/lib/esm/icons/LinkXSvg.js.map +1 -1
- package/lib/esm/icons/LockOpenSvg.js +31 -46
- package/lib/esm/icons/LockOpenSvg.js.map +1 -1
- package/lib/esm/icons/LockSvg.js +31 -46
- package/lib/esm/icons/LockSvg.js.map +1 -1
- package/lib/esm/icons/MailCheckSvg.js +41 -56
- package/lib/esm/icons/MailCheckSvg.js.map +1 -1
- package/lib/esm/icons/MailSvg.js +31 -46
- package/lib/esm/icons/MailSvg.js.map +1 -1
- package/lib/esm/icons/MailXSvg.js +41 -56
- package/lib/esm/icons/MailXSvg.js.map +1 -1
- package/lib/esm/icons/ModalCloseSvg.js +27 -42
- package/lib/esm/icons/ModalCloseSvg.js.map +1 -1
- package/lib/esm/icons/PencilSvg.js +14 -20
- package/lib/esm/icons/PencilSvg.js.map +1 -1
- package/lib/esm/icons/PinFilledSvg.js +24 -40
- package/lib/esm/icons/PinFilledSvg.js.map +1 -1
- package/lib/esm/icons/PinSvg.js +27 -43
- package/lib/esm/icons/PinSvg.js.map +1 -1
- package/lib/esm/icons/ProfileDropdownLogoutSvg.js +37 -52
- package/lib/esm/icons/ProfileDropdownLogoutSvg.js.map +1 -1
- package/lib/esm/icons/ProfileDropdownOrganizationSvg.js +27 -42
- package/lib/esm/icons/ProfileDropdownOrganizationSvg.js.map +1 -1
- package/lib/esm/icons/ProjectsFolderSvg.js +21 -30
- package/lib/esm/icons/ProjectsFolderSvg.js.map +1 -1
- package/lib/esm/icons/RobotCheckSvg.js +60 -68
- package/lib/esm/icons/RobotCheckSvg.js.map +1 -1
- package/lib/esm/icons/RobotSvg.js +53 -58
- package/lib/esm/icons/RobotSvg.js.map +1 -1
- package/lib/esm/icons/RobotXSvg.js +60 -68
- package/lib/esm/icons/RobotXSvg.js.map +1 -1
- package/lib/esm/icons/RocketOffSvg.js +58 -83
- package/lib/esm/icons/RocketOffSvg.js.map +1 -1
- package/lib/esm/icons/RocketSvg.js +51 -73
- package/lib/esm/icons/RocketSvg.js.map +1 -1
- package/lib/esm/icons/SendCheckSvg.js +40 -55
- package/lib/esm/icons/SendCheckSvg.js.map +1 -1
- package/lib/esm/icons/SendMessageSvg.js +30 -45
- package/lib/esm/icons/SendMessageSvg.js.map +1 -1
- package/lib/esm/icons/SendXSvg.js +40 -55
- package/lib/esm/icons/SendXSvg.js.map +1 -1
- package/lib/esm/icons/SettingsCheckSvg.js +37 -52
- package/lib/esm/icons/SettingsCheckSvg.js.map +1 -1
- package/lib/esm/icons/SettingsXSvg.js +37 -52
- package/lib/esm/icons/SettingsXSvg.js.map +1 -1
- package/lib/esm/icons/ShieldLockSvg.js +41 -56
- package/lib/esm/icons/ShieldLockSvg.js.map +1 -1
- package/lib/esm/icons/ShieldOffSvg.js +27 -42
- package/lib/esm/icons/ShieldOffSvg.js.map +1 -1
- package/lib/esm/icons/SidebarHomeSvg.js +27 -42
- package/lib/esm/icons/SidebarHomeSvg.js.map +1 -1
- package/lib/esm/icons/SidebarInitiativesSvg.js +37 -52
- package/lib/esm/icons/SidebarInitiativesSvg.js.map +1 -1
- package/lib/esm/icons/SidebarPlusSvg.js +27 -42
- package/lib/esm/icons/SidebarPlusSvg.js.map +1 -1
- package/lib/esm/icons/SidebarSearchSvg.js +27 -42
- package/lib/esm/icons/SidebarSearchSvg.js.map +1 -1
- package/lib/esm/icons/SidebarSettingsSvg.js +27 -42
- package/lib/esm/icons/SidebarSettingsSvg.js.map +1 -1
- package/lib/esm/icons/SidebarTasksSvg.js +27 -42
- package/lib/esm/icons/SidebarTasksSvg.js.map +1 -1
- package/lib/esm/icons/SidebarTeamSvg.js +44 -62
- package/lib/esm/icons/SidebarTeamSvg.js.map +1 -1
- package/lib/esm/icons/TaskAttachmentSvg.js +21 -30
- package/lib/esm/icons/TaskAttachmentSvg.js.map +1 -1
- package/lib/esm/icons/TaskCalendarSvg.js +44 -62
- package/lib/esm/icons/TaskCalendarSvg.js.map +1 -1
- package/lib/esm/icons/TaskCommentBubbleSvg.js +21 -30
- package/lib/esm/icons/TaskCommentBubbleSvg.js.map +1 -1
- package/lib/esm/icons/TaskDeleteSvg.js +27 -42
- package/lib/esm/icons/TaskDeleteSvg.js.map +1 -1
- package/lib/esm/icons/TaskDependencyBlockedSvg.js +27 -43
- package/lib/esm/icons/TaskDependencyBlockedSvg.js.map +1 -1
- package/lib/esm/icons/TaskDependencyReadySvg.js +27 -43
- package/lib/esm/icons/TaskDependencyReadySvg.js.map +1 -1
- package/lib/esm/icons/TaskMenuDotsSvg.js +37 -52
- package/lib/esm/icons/TaskMenuDotsSvg.js.map +1 -1
- package/lib/esm/icons/TaskTagSvg.js +27 -42
- package/lib/esm/icons/TaskTagSvg.js.map +1 -1
- package/lib/esm/icons/TeamMemberEmailSvg.js +27 -42
- package/lib/esm/icons/TeamMemberEmailSvg.js.map +1 -1
- package/lib/esm/icons/TeamMemberLocationSvg.js +27 -42
- package/lib/esm/icons/TeamMemberLocationSvg.js.map +1 -1
- package/lib/esm/icons/WrenchSvg.js +21 -30
- package/lib/esm/icons/WrenchSvg.js.map +1 -1
- package/lib/esm/icons/XBadgeSvg.js +27 -42
- package/lib/esm/icons/XBadgeSvg.js.map +1 -1
- package/lib/esm/icons/markdown/MarkdownCheckboxCheckedSvg.js +30 -42
- package/lib/esm/icons/markdown/MarkdownCheckboxCheckedSvg.js.map +1 -1
- package/lib/esm/icons/markdown/MarkdownCheckboxUncheckedSvg.js +22 -28
- package/lib/esm/icons/markdown/MarkdownCheckboxUncheckedSvg.js.map +1 -1
- package/lib/esm/icons/markdown/MarkdownCopySuccessSvg.js +41 -53
- package/lib/esm/icons/markdown/MarkdownCopySuccessSvg.js.map +1 -1
- package/lib/esm/icons/markdown/MarkdownCopySvg.js +30 -42
- package/lib/esm/icons/markdown/MarkdownCopySvg.js.map +1 -1
- package/lib/esm/icons/markdown/MarkdownExternalLinkSvg.js +39 -51
- package/lib/esm/icons/markdown/MarkdownExternalLinkSvg.js.map +1 -1
- package/lib/esm/index.js +34 -77
- package/lib/esm/style.css +2 -0
- package/lib/esm/style.js +4 -0
- package/lib/esm/styles/slots.js +0 -2
- package/lib/esm/svg/ChevronDownIcon.js +11 -10
- package/lib/esm/svg/ChevronDownIcon.js.map +1 -1
- package/lib/esm/svg/ChevronRightIcon.js +11 -9
- package/lib/esm/svg/ChevronRightIcon.js.map +1 -1
- package/lib/esm/svg/GlobeIcon.js +11 -6
- package/lib/esm/svg/GlobeIcon.js.map +1 -1
- package/lib/esm/theme/ThemeProvider.js +33 -37
- package/lib/esm/theme/ThemeProvider.js.map +1 -1
- package/lib/esm/theme/VisuallyHidden.js +12 -8
- package/lib/esm/theme/VisuallyHidden.js.map +1 -1
- package/lib/esm/theme/accessibility.css.js +7 -8
- package/lib/esm/theme/accessibility.css.js.map +1 -1
- package/lib/esm/theme/colors.js +101 -100
- package/lib/esm/theme/colors.js.map +1 -1
- package/lib/esm/theme/common.js +122 -123
- package/lib/esm/theme/common.js.map +1 -1
- package/lib/esm/theme/containerQueries.js +14 -13
- package/lib/esm/theme/containerQueries.js.map +1 -1
- package/lib/esm/theme/global.css.js +1 -2
- package/lib/esm/theme/index.js +9 -28
- package/lib/esm/theme/sprinkles.css.js +68484 -9
- package/lib/esm/theme/sprinkles.css.js.map +1 -1
- package/lib/esm/theme/theme.css.js +1 -2
- package/lib/esm/theme/themeContract.js +1025 -1035
- package/lib/esm/theme/themeContract.js.map +1 -1
- package/lib/esm/theme/tools.js +16 -19
- package/lib/esm/theme/tools.js.map +1 -1
- package/lib/style.d.ts +5 -0
- package/lib/style.d.ts.map +1 -0
- package/lib/style.js +5 -0
- package/lib/types/style.d.ts +5 -0
- package/lib/types/style.d.ts.map +1 -0
- package/package.json +4 -3
- package/lib/esm/atomic/atoms/badge/badge.css.ts.vanilla-BxMgYgcH.css +0 -1
- package/lib/esm/atomic/atoms/button/button.css.ts.vanilla-BYFxDZro.css +0 -1
- package/lib/esm/atomic/atoms/checkbox/checkbox.css.ts.vanilla-D6TvWxlo.css +0 -1
- package/lib/esm/atomic/atoms/input/input.css.ts.vanilla-D_X5_tcn.css +0 -1
- package/lib/esm/atomic/atoms/textarea/textarea.css.ts.vanilla-IrvNTQEt.css +0 -1
- package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.ts.vanilla-Bhz61Foa.css +0 -1
- package/lib/esm/atomic/molecules/breadcrumb_navigation/types.js.map +0 -1
- package/lib/esm/atomic/molecules/tabs/tabs.css.ts.vanilla-DQm5wO0K.css +0 -1
- package/lib/esm/atomic/molecules/toast/toast.css.ts.vanilla-2GtcGJsi.css +0 -1
- package/lib/esm/components/charts/billingUsageLineChart.css.ts.vanilla-7e3dy1Dj.css +0 -1
- package/lib/esm/components/data-table/DataTable.css.ts.vanilla-BLE98fwj.css +0 -1
- package/lib/esm/components/data-table/TableCell.css.ts.vanilla-i5QJvdbl.css +0 -1
- package/lib/esm/components/layout/ContentLayout.css.ts.vanilla-tn0RQdqM.css +0 -0
- package/lib/esm/components/select/SimpleSelect.css.ts.vanilla-Bil1v8q6.css +0 -1
- package/lib/esm/components/tile/InfoTile.css.ts.vanilla-ByCg4UKz.css +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/styles/slots.js.map +0 -1
- package/lib/esm/theme/accessibility.css.ts.vanilla-D6gfeWvf.css +0 -1
- package/lib/esm/theme/global.css.js.map +0 -1
- package/lib/esm/theme/global.css.ts.vanilla-ClXnHnoy.css +0 -1
- package/lib/esm/theme/index.js.map +0 -1
- package/lib/esm/theme/sprinkles.css.ts.vanilla-DOI5FNoi.css +0 -1
- package/lib/esm/theme/theme.css.js.map +0 -1
- package/lib/esm/theme/theme.css.ts.vanilla-a3SsXff5.css +0 -1
|
@@ -1,177 +1,144 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { chartContainer as e, tooltip as t, tooltipDate as n, tooltipRow as r, tooltipRowLabel as i, tooltipSwatch as a } from "./billingUsageLineChart.css.js";
|
|
2
|
+
import { vars as o } from "../../theme/themeContract.js";
|
|
3
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
4
|
+
import { ResponsiveLine as l } from "@nivo/line";
|
|
5
|
+
//#region src/components/charts/BillingUsageLineChart.tsx
|
|
6
|
+
var u = 6, d = new Intl.NumberFormat("en-US", {
|
|
7
|
+
notation: "compact",
|
|
8
|
+
maximumFractionDigits: 1
|
|
8
9
|
});
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return o != null && a.at(-1) !== o.x && a.push(o.x), a;
|
|
10
|
+
function f(e) {
|
|
11
|
+
let t = e[0];
|
|
12
|
+
if (t == null || t.data.length <= u) return t == null ? [] : t.data.map((e) => e.x);
|
|
13
|
+
let n = Math.ceil(t.data.length / u), r = t.data.filter((e, t) => t % n === 0).map((e) => e.x), i = t.data.at(-1);
|
|
14
|
+
return i != null && r.at(-1) !== i.x && r.push(i.x), r;
|
|
15
15
|
}
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
function p(e) {
|
|
17
|
+
return (/* @__PURE__ */ new Date(`${e}T00:00:00Z`)).toLocaleDateString(void 0, {
|
|
18
|
+
month: "short",
|
|
19
|
+
day: "2-digit"
|
|
20
|
+
});
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
legend: {
|
|
141
|
-
text: {
|
|
142
|
-
fill: i.colors.textSecondary
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
grid: {
|
|
147
|
-
line: {
|
|
148
|
-
stroke: i.colors.borderLight
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
crosshair: {
|
|
152
|
-
line: {
|
|
153
|
-
stroke: i.colors.primary,
|
|
154
|
-
strokeWidth: 1,
|
|
155
|
-
strokeOpacity: 0.35
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
tooltip: {
|
|
159
|
-
container: {
|
|
160
|
-
background: "transparent",
|
|
161
|
-
boxShadow: "none",
|
|
162
|
-
padding: 0
|
|
163
|
-
}
|
|
164
|
-
},
|
|
165
|
-
legends: {
|
|
166
|
-
text: {
|
|
167
|
-
fill: i.colors.textSecondary
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
) });
|
|
22
|
+
var m = (u) => {
|
|
23
|
+
let { ariaLabel: m, categoryColorById: h, categoryLabel: g, categoryOrder: _, formatValue: v, series: y } = u, b = f(y), x = _, S = (e) => x.includes(e), C = [{
|
|
24
|
+
anchor: "bottom",
|
|
25
|
+
direction: "row",
|
|
26
|
+
translateY: 56,
|
|
27
|
+
itemWidth: 90,
|
|
28
|
+
itemHeight: 16,
|
|
29
|
+
itemsSpacing: 8,
|
|
30
|
+
symbolSize: 10,
|
|
31
|
+
symbolShape: "circle",
|
|
32
|
+
itemTextColor: o.colors.textSecondary,
|
|
33
|
+
data: _.map((e) => ({
|
|
34
|
+
id: e,
|
|
35
|
+
label: g(e),
|
|
36
|
+
color: h[e]
|
|
37
|
+
}))
|
|
38
|
+
}];
|
|
39
|
+
return /* @__PURE__ */ s("div", {
|
|
40
|
+
className: e,
|
|
41
|
+
children: /* @__PURE__ */ s(l, {
|
|
42
|
+
data: y,
|
|
43
|
+
margin: {
|
|
44
|
+
top: 14,
|
|
45
|
+
right: 16,
|
|
46
|
+
bottom: 74,
|
|
47
|
+
left: 52
|
|
48
|
+
},
|
|
49
|
+
colors: (e) => typeof e.id != "string" || !S(e.id) ? o.colors.primary : h[e.id],
|
|
50
|
+
xScale: { type: "point" },
|
|
51
|
+
yScale: {
|
|
52
|
+
type: "linear",
|
|
53
|
+
min: 0,
|
|
54
|
+
max: "auto"
|
|
55
|
+
},
|
|
56
|
+
curve: "monotoneX",
|
|
57
|
+
lineWidth: 2.5,
|
|
58
|
+
pointSize: 4,
|
|
59
|
+
pointBorderWidth: 2,
|
|
60
|
+
pointBorderColor: {
|
|
61
|
+
from: "seriesColor",
|
|
62
|
+
modifiers: [["darker", .2]]
|
|
63
|
+
},
|
|
64
|
+
enableArea: !0,
|
|
65
|
+
areaOpacity: .1,
|
|
66
|
+
enableGridX: !1,
|
|
67
|
+
enableGridY: !0,
|
|
68
|
+
axisTop: null,
|
|
69
|
+
axisRight: null,
|
|
70
|
+
axisBottom: {
|
|
71
|
+
tickValues: b,
|
|
72
|
+
format: (e) => p(String(e)),
|
|
73
|
+
tickSize: 0,
|
|
74
|
+
tickPadding: 10
|
|
75
|
+
},
|
|
76
|
+
axisLeft: {
|
|
77
|
+
tickSize: 0,
|
|
78
|
+
tickPadding: 8,
|
|
79
|
+
tickValues: 4,
|
|
80
|
+
format: (e) => d.format(Number(e))
|
|
81
|
+
},
|
|
82
|
+
enableSlices: "x",
|
|
83
|
+
sliceTooltip: ({ slice: e }) => {
|
|
84
|
+
let o = String(e.id), l = _[0] ?? null, u = [...e.points].map((e) => {
|
|
85
|
+
let t = 0;
|
|
86
|
+
typeof e.data.y == "number" && (t = e.data.y);
|
|
87
|
+
let n = l;
|
|
88
|
+
return typeof e.seriesId == "string" && S(e.seriesId) && (n = e.seriesId), n == null ? null : {
|
|
89
|
+
seriesId: n,
|
|
90
|
+
data: { y: t },
|
|
91
|
+
color: e.seriesColor
|
|
92
|
+
};
|
|
93
|
+
}).filter((e) => e != null).sort((e, t) => _.indexOf(e.seriesId) - _.indexOf(t.seriesId));
|
|
94
|
+
return /* @__PURE__ */ c("div", {
|
|
95
|
+
className: t,
|
|
96
|
+
children: [/* @__PURE__ */ s("p", {
|
|
97
|
+
className: n,
|
|
98
|
+
children: p(o)
|
|
99
|
+
}), u.map((e) => /* @__PURE__ */ c("div", {
|
|
100
|
+
className: r,
|
|
101
|
+
children: [/* @__PURE__ */ c("span", {
|
|
102
|
+
className: i,
|
|
103
|
+
children: [/* @__PURE__ */ s("span", {
|
|
104
|
+
className: a,
|
|
105
|
+
style: { backgroundColor: e.color },
|
|
106
|
+
"aria-hidden": !0
|
|
107
|
+
}), /* @__PURE__ */ s("span", { children: g(e.seriesId) })]
|
|
108
|
+
}), /* @__PURE__ */ s("strong", { children: v(e.data.y) })]
|
|
109
|
+
}, `${o}-${e.seriesId}`))]
|
|
110
|
+
});
|
|
111
|
+
},
|
|
112
|
+
legends: C,
|
|
113
|
+
useMesh: !0,
|
|
114
|
+
ariaLabel: m,
|
|
115
|
+
theme: {
|
|
116
|
+
text: {
|
|
117
|
+
fill: o.colors.textSecondary,
|
|
118
|
+
fontSize: 12
|
|
119
|
+
},
|
|
120
|
+
axis: {
|
|
121
|
+
domain: { line: { stroke: o.colors.borderLight } },
|
|
122
|
+
ticks: { line: { stroke: "transparent" } },
|
|
123
|
+
legend: { text: { fill: o.colors.textSecondary } }
|
|
124
|
+
},
|
|
125
|
+
grid: { line: { stroke: o.colors.borderLight } },
|
|
126
|
+
crosshair: { line: {
|
|
127
|
+
stroke: o.colors.primary,
|
|
128
|
+
strokeWidth: 1,
|
|
129
|
+
strokeOpacity: .35
|
|
130
|
+
} },
|
|
131
|
+
tooltip: { container: {
|
|
132
|
+
background: "transparent",
|
|
133
|
+
boxShadow: "none",
|
|
134
|
+
padding: 0
|
|
135
|
+
} },
|
|
136
|
+
legends: { text: { fill: o.colors.textSecondary } }
|
|
137
|
+
}
|
|
138
|
+
})
|
|
139
|
+
});
|
|
173
140
|
};
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
//# sourceMappingURL=BillingUsageLineChart.js.map
|
|
141
|
+
//#endregion
|
|
142
|
+
export { m as BillingUsageLineChart };
|
|
143
|
+
|
|
144
|
+
//# sourceMappingURL=BillingUsageLineChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BillingUsageLineChart.js","sources":["../../../../src/components/charts/BillingUsageLineChart.tsx"],"sourcesContent":["import { ResponsiveLine, type SliceTooltipProps } from '@nivo/line';\nimport type { JSX } from 'react';\n\nimport * as styles from './billingUsageLineChart.css.js';\nimport { vars } from '../../theme/themeContract.js';\n\nexport type BillingUsageLineChartPoint = {\n x: string;\n y: number;\n};\n\nexport type BillingUsageLineChartSerie<Category extends string> = {\n id: Category;\n data: readonly BillingUsageLineChartPoint[];\n};\n\ntype SlicePointPayload<Category extends string> = {\n seriesId: Category;\n data: {\n y: number;\n };\n color: string;\n};\n\nexport type BillingUsageLineChartProps<Category extends string> = {\n series: readonly BillingUsageLineChartSerie<Category>[];\n categoryOrder: readonly Category[];\n categoryColorById: Readonly<Record<Category, string>>;\n categoryLabel: (category: Category) => string;\n formatValue: (value: number) => string;\n ariaLabel: string;\n};\n\nconst MAX_X_TICKS = 6;\n\nconst compactNumberFormatter = new Intl.NumberFormat('en-US', {\n notation: 'compact',\n maximumFractionDigits: 1,\n});\n\n/**\n * Limits the number of visible day ticks while always keeping the last point.\n */\nfunction getVisibleDayTicks<Category extends string>(\n series: readonly BillingUsageLineChartSerie<Category>[],\n): readonly string[] {\n const firstSerie = series[0];\n if (firstSerie == null || firstSerie.data.length <= MAX_X_TICKS) {\n if (firstSerie == null) {\n return [];\n }\n\n return firstSerie.data.map((point) => {\n return point.x;\n });\n }\n\n const step = Math.ceil(firstSerie.data.length / MAX_X_TICKS);\n const visibleTicks = firstSerie.data\n .filter((_, index) => {\n return index % step === 0;\n })\n .map((point) => {\n return point.x;\n });\n\n const lastPoint = firstSerie.data.at(-1);\n if (lastPoint != null && visibleTicks.at(-1) !== lastPoint.x) {\n visibleTicks.push(lastPoint.x);\n }\n\n return visibleTicks;\n}\n\n/**\n * Formats a `YYYY-MM-DD` key into a short month/day label for the x-axis.\n */\nfunction formatDayTick(dayKey: string): string {\n const parsed = new Date(`${dayKey}T00:00:00Z`);\n return parsed.toLocaleDateString(undefined, {\n month: 'short',\n day: '2-digit',\n });\n}\n\nexport const BillingUsageLineChart = <Category extends string>(\n props: BillingUsageLineChartProps<Category>,\n): JSX.Element => {\n const {\n ariaLabel,\n categoryColorById,\n categoryLabel,\n categoryOrder,\n formatValue,\n series,\n } = props;\n\n const visibleTicks = getVisibleDayTicks(series);\n const categoryOrderString = categoryOrder as readonly string[];\n const isCategory = (value: string): value is Category => {\n return categoryOrderString.includes(value);\n };\n\n const legends = [\n {\n anchor: 'bottom' as const,\n direction: 'row' as const,\n translateY: 56,\n itemWidth: 90,\n itemHeight: 16,\n itemsSpacing: 8,\n symbolSize: 10,\n symbolShape: 'circle' as const,\n itemTextColor: vars.colors.textSecondary,\n data: categoryOrder.map((category) => {\n return {\n id: category,\n label: categoryLabel(category),\n color: categoryColorById[category],\n };\n }),\n },\n ];\n\n const colorById = (serie: { id: string | number }): string => {\n if (typeof serie.id !== 'string' || !isCategory(serie.id)) {\n return vars.colors.primary;\n }\n\n return categoryColorById[serie.id];\n };\n\n const sliceTooltip = ({\n slice,\n }: SliceTooltipProps<BillingUsageLineChartSerie<Category>>): JSX.Element => {\n const dayKey = String(slice.id);\n const fallbackCategory = categoryOrder[0] ?? null;\n const points = [...slice.points]\n .map((point): SlicePointPayload<Category> | null => {\n let credits = 0;\n if (typeof point.data.y === 'number') {\n credits = point.data.y;\n }\n\n let seriesId = fallbackCategory;\n if (typeof point.seriesId === 'string' && isCategory(point.seriesId)) {\n seriesId = point.seriesId;\n }\n if (seriesId == null) {\n return null;\n }\n\n return {\n seriesId,\n data: { y: credits },\n color: point.seriesColor,\n };\n })\n .filter((point): point is SlicePointPayload<Category> => {\n return point != null;\n })\n .sort((left, right) => {\n const leftIndex = categoryOrder.indexOf(left.seriesId);\n const rightIndex = categoryOrder.indexOf(right.seriesId);\n\n return leftIndex - rightIndex;\n });\n\n return (\n <div className={styles.tooltip}>\n <p className={styles.tooltipDate}>{formatDayTick(dayKey)}</p>\n {points.map((point) => {\n return (\n <div\n key={`${dayKey}-${point.seriesId}`}\n className={styles.tooltipRow}\n >\n <span className={styles.tooltipRowLabel}>\n <span\n className={styles.tooltipSwatch}\n style={{ backgroundColor: point.color }}\n aria-hidden\n />\n <span>{categoryLabel(point.seriesId)}</span>\n </span>\n <strong>{formatValue(point.data.y)}</strong>\n </div>\n );\n })}\n </div>\n );\n };\n\n return (\n <div className={styles.chartContainer}>\n <ResponsiveLine\n data={series}\n margin={{ top: 14, right: 16, bottom: 74, left: 52 }}\n colors={colorById}\n xScale={{ type: 'point' }}\n yScale={{ type: 'linear', min: 0, max: 'auto' }}\n curve=\"monotoneX\"\n lineWidth={2.5}\n pointSize={4}\n pointBorderWidth={2}\n pointBorderColor={{ from: 'seriesColor', modifiers: [['darker', 0.2]] }}\n enableArea\n areaOpacity={0.1}\n enableGridX={false}\n enableGridY\n axisTop={null}\n axisRight={null}\n axisBottom={{\n tickValues: visibleTicks,\n format: (value) => {\n return formatDayTick(String(value));\n },\n tickSize: 0,\n tickPadding: 10,\n }}\n axisLeft={{\n tickSize: 0,\n tickPadding: 8,\n tickValues: 4,\n format: (value) => {\n return compactNumberFormatter.format(Number(value));\n },\n }}\n enableSlices=\"x\"\n sliceTooltip={sliceTooltip}\n legends={legends}\n useMesh\n ariaLabel={ariaLabel}\n theme={{\n text: {\n fill: vars.colors.textSecondary,\n fontSize: 12,\n },\n axis: {\n domain: {\n line: {\n stroke: vars.colors.borderLight,\n },\n },\n ticks: {\n line: {\n stroke: 'transparent',\n },\n },\n legend: {\n text: {\n fill: vars.colors.textSecondary,\n },\n },\n },\n grid: {\n line: {\n stroke: vars.colors.borderLight,\n },\n },\n crosshair: {\n line: {\n stroke: vars.colors.primary,\n strokeWidth: 1,\n strokeOpacity: 0.35,\n },\n },\n tooltip: {\n container: {\n background: 'transparent',\n boxShadow: 'none',\n padding: 0,\n },\n },\n legends: {\n text: {\n fill: vars.colors.textSecondary,\n },\n },\n }}\n />\n </div>\n );\n};\n"],"names":["MAX_X_TICKS","compactNumberFormatter","getVisibleDayTicks","series","firstSerie","point","step","visibleTicks","_","index","lastPoint","formatDayTick","dayKey","BillingUsageLineChart","props","ariaLabel","categoryColorById","categoryLabel","categoryOrder","formatValue","categoryOrderString","isCategory","value","legends","vars","category","jsx","styles.chartContainer","ResponsiveLine","serie","slice","fallbackCategory","points","credits","seriesId","left","right","leftIndex","rightIndex","jsxs","styles.tooltip","styles.tooltipDate","styles.tooltipRow","styles.tooltipRowLabel","styles.tooltipSwatch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BillingUsageLineChart.js","names":[],"sources":["../../../../src/components/charts/BillingUsageLineChart.tsx"],"sourcesContent":["import { ResponsiveLine, type SliceTooltipProps } from '@nivo/line';\nimport type { JSX } from 'react';\n\nimport * as styles from './billingUsageLineChart.css.js';\nimport { vars } from '../../theme/themeContract.js';\n\nexport type BillingUsageLineChartPoint = {\n x: string;\n y: number;\n};\n\nexport type BillingUsageLineChartSerie<Category extends string> = {\n id: Category;\n data: readonly BillingUsageLineChartPoint[];\n};\n\ntype SlicePointPayload<Category extends string> = {\n seriesId: Category;\n data: {\n y: number;\n };\n color: string;\n};\n\nexport type BillingUsageLineChartProps<Category extends string> = {\n series: readonly BillingUsageLineChartSerie<Category>[];\n categoryOrder: readonly Category[];\n categoryColorById: Readonly<Record<Category, string>>;\n categoryLabel: (category: Category) => string;\n formatValue: (value: number) => string;\n ariaLabel: string;\n};\n\nconst MAX_X_TICKS = 6;\n\nconst compactNumberFormatter = new Intl.NumberFormat('en-US', {\n notation: 'compact',\n maximumFractionDigits: 1,\n});\n\n/**\n * Limits the number of visible day ticks while always keeping the last point.\n */\nfunction getVisibleDayTicks<Category extends string>(\n series: readonly BillingUsageLineChartSerie<Category>[],\n): readonly string[] {\n const firstSerie = series[0];\n if (firstSerie == null || firstSerie.data.length <= MAX_X_TICKS) {\n if (firstSerie == null) {\n return [];\n }\n\n return firstSerie.data.map((point) => {\n return point.x;\n });\n }\n\n const step = Math.ceil(firstSerie.data.length / MAX_X_TICKS);\n const visibleTicks = firstSerie.data\n .filter((_, index) => {\n return index % step === 0;\n })\n .map((point) => {\n return point.x;\n });\n\n const lastPoint = firstSerie.data.at(-1);\n if (lastPoint != null && visibleTicks.at(-1) !== lastPoint.x) {\n visibleTicks.push(lastPoint.x);\n }\n\n return visibleTicks;\n}\n\n/**\n * Formats a `YYYY-MM-DD` key into a short month/day label for the x-axis.\n */\nfunction formatDayTick(dayKey: string): string {\n const parsed = new Date(`${dayKey}T00:00:00Z`);\n return parsed.toLocaleDateString(undefined, {\n month: 'short',\n day: '2-digit',\n });\n}\n\nexport const BillingUsageLineChart = <Category extends string>(\n props: BillingUsageLineChartProps<Category>,\n): JSX.Element => {\n const {\n ariaLabel,\n categoryColorById,\n categoryLabel,\n categoryOrder,\n formatValue,\n series,\n } = props;\n\n const visibleTicks = getVisibleDayTicks(series);\n const categoryOrderString = categoryOrder as readonly string[];\n const isCategory = (value: string): value is Category => {\n return categoryOrderString.includes(value);\n };\n\n const legends = [\n {\n anchor: 'bottom' as const,\n direction: 'row' as const,\n translateY: 56,\n itemWidth: 90,\n itemHeight: 16,\n itemsSpacing: 8,\n symbolSize: 10,\n symbolShape: 'circle' as const,\n itemTextColor: vars.colors.textSecondary,\n data: categoryOrder.map((category) => {\n return {\n id: category,\n label: categoryLabel(category),\n color: categoryColorById[category],\n };\n }),\n },\n ];\n\n const colorById = (serie: { id: string | number }): string => {\n if (typeof serie.id !== 'string' || !isCategory(serie.id)) {\n return vars.colors.primary;\n }\n\n return categoryColorById[serie.id];\n };\n\n const sliceTooltip = ({\n slice,\n }: SliceTooltipProps<BillingUsageLineChartSerie<Category>>): JSX.Element => {\n const dayKey = String(slice.id);\n const fallbackCategory = categoryOrder[0] ?? null;\n const points = [...slice.points]\n .map((point): SlicePointPayload<Category> | null => {\n let credits = 0;\n if (typeof point.data.y === 'number') {\n credits = point.data.y;\n }\n\n let seriesId = fallbackCategory;\n if (typeof point.seriesId === 'string' && isCategory(point.seriesId)) {\n seriesId = point.seriesId;\n }\n if (seriesId == null) {\n return null;\n }\n\n return {\n seriesId,\n data: { y: credits },\n color: point.seriesColor,\n };\n })\n .filter((point): point is SlicePointPayload<Category> => {\n return point != null;\n })\n .sort((left, right) => {\n const leftIndex = categoryOrder.indexOf(left.seriesId);\n const rightIndex = categoryOrder.indexOf(right.seriesId);\n\n return leftIndex - rightIndex;\n });\n\n return (\n <div className={styles.tooltip}>\n <p className={styles.tooltipDate}>{formatDayTick(dayKey)}</p>\n {points.map((point) => {\n return (\n <div\n key={`${dayKey}-${point.seriesId}`}\n className={styles.tooltipRow}\n >\n <span className={styles.tooltipRowLabel}>\n <span\n className={styles.tooltipSwatch}\n style={{ backgroundColor: point.color }}\n aria-hidden\n />\n <span>{categoryLabel(point.seriesId)}</span>\n </span>\n <strong>{formatValue(point.data.y)}</strong>\n </div>\n );\n })}\n </div>\n );\n };\n\n return (\n <div className={styles.chartContainer}>\n <ResponsiveLine\n data={series}\n margin={{ top: 14, right: 16, bottom: 74, left: 52 }}\n colors={colorById}\n xScale={{ type: 'point' }}\n yScale={{ type: 'linear', min: 0, max: 'auto' }}\n curve=\"monotoneX\"\n lineWidth={2.5}\n pointSize={4}\n pointBorderWidth={2}\n pointBorderColor={{ from: 'seriesColor', modifiers: [['darker', 0.2]] }}\n enableArea\n areaOpacity={0.1}\n enableGridX={false}\n enableGridY\n axisTop={null}\n axisRight={null}\n axisBottom={{\n tickValues: visibleTicks,\n format: (value) => {\n return formatDayTick(String(value));\n },\n tickSize: 0,\n tickPadding: 10,\n }}\n axisLeft={{\n tickSize: 0,\n tickPadding: 8,\n tickValues: 4,\n format: (value) => {\n return compactNumberFormatter.format(Number(value));\n },\n }}\n enableSlices=\"x\"\n sliceTooltip={sliceTooltip}\n legends={legends}\n useMesh\n ariaLabel={ariaLabel}\n theme={{\n text: {\n fill: vars.colors.textSecondary,\n fontSize: 12,\n },\n axis: {\n domain: {\n line: {\n stroke: vars.colors.borderLight,\n },\n },\n ticks: {\n line: {\n stroke: 'transparent',\n },\n },\n legend: {\n text: {\n fill: vars.colors.textSecondary,\n },\n },\n },\n grid: {\n line: {\n stroke: vars.colors.borderLight,\n },\n },\n crosshair: {\n line: {\n stroke: vars.colors.primary,\n strokeWidth: 1,\n strokeOpacity: 0.35,\n },\n },\n tooltip: {\n container: {\n background: 'transparent',\n boxShadow: 'none',\n padding: 0,\n },\n },\n legends: {\n text: {\n fill: vars.colors.textSecondary,\n },\n },\n }}\n />\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
/* empty css
|
|
2
|
-
/* empty css
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
a as tooltipRowLabel,
|
|
10
|
-
r as tooltipSwatch
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=billingUsageLineChart.css.js.map
|
|
1
|
+
/* empty css */
|
|
2
|
+
/* empty css */
|
|
3
|
+
//#region src/components/charts/billingUsageLineChart.css.ts
|
|
4
|
+
var e = "_1a38h831 _1a38h830 txvbqbnux txvbqboi6 txvbqbp5f txvbqblx6 txvbqbu6f txvbqb1df txvbqb1qf txvbqbx6 txvbqb1ro txvbqbv2r", t = "_1a38h832 txvbqbogo txvbqbp3x txvbqbp5f txvbqblx6 txvbqb9io txvbqbai6 txvbqbb9o txvbqb1df txvbqb1qf txvbqbwf txvbqb1rf txvbqbv2x txvbqb8q6", n = "_1a38h833 txvbqb8o txvbqbv8t txvbqbamf txvbqbfbo", r = "_1a38h834 txvbqb9io txvbqbco txvbqbdoo txvbqbaof txvbqb8x txvbqbv8p", i = "_1a38h835 txvbqb9jf txvbqbco txvbqbb9o", a = "_1a38h837 _1a38h836 txvbqbtvo txvbqbc56 txvbqb1t6";
|
|
5
|
+
//#endregion
|
|
6
|
+
export { e as chartContainer, t as tooltip, n as tooltipDate, r as tooltipRow, i as tooltipRowLabel, a as tooltipSwatch };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=billingUsageLineChart.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billingUsageLineChart.css.js","
|
|
1
|
+
{"version":3,"file":"billingUsageLineChart.css.js","names":[],"sources":["../../../../src/components/charts/billingUsageLineChart.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { sprinkles } from '../../theme/sprinkles.css.js';\n\nexport const chartContainer = style([\n sprinkles({\n width: 'full',\n borderWidth: 'px',\n borderStyle: 'solid',\n borderColor: 'borderLight',\n borderRadius: 'lg',\n backgroundColor: 'surface',\n paddingY: 2,\n paddingX: 2,\n }),\n {\n height: '260px',\n '@media': {\n 'screen and (min-width: 768px)': {\n height: '340px',\n },\n },\n },\n]);\n\nexport const tooltip = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 1.5,\n borderWidth: 'px',\n borderStyle: 'solid',\n borderColor: 'border',\n borderRadius: 'md',\n backgroundColor: 'surfaceElevated',\n paddingY: 2,\n paddingX: 2.5,\n boxShadow: 'lg',\n});\n\nexport const tooltipDate = sprinkles({\n fontSize: 'xs',\n color: 'textMuted',\n fontWeight: 'medium',\n margin: 0,\n});\n\nexport const tooltipRow = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 3,\n fontSize: 'sm',\n color: 'text',\n});\n\nexport const tooltipRowLabel = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n gap: 1.5,\n});\n\nexport const tooltipSwatch = style([\n sprinkles({\n width: 2,\n height: 2,\n borderRadius: 'full',\n }),\n]);\n"],"mappings":""}
|
|
@@ -1,24 +1,84 @@
|
|
|
1
|
-
/* empty css
|
|
2
|
-
/* empty css
|
|
3
|
-
import { createRuntimeFn as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
1
|
+
/* empty css */
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
4
|
+
//#region src/components/data-table/DataTable.css.ts
|
|
5
|
+
var t = e({
|
|
6
|
+
defaultClassName: "ysn8463 ysn8460 txvbqb9io txvbqbai6 txvbqbu6f txvbqb1k",
|
|
7
|
+
variantClassNames: { kind: {
|
|
8
|
+
default: "ysn8464 ysn8461 txvbqbuzn txvbqbwf txvbqb1ro txvbqb1qf txvbqb1co txvbqbl6f",
|
|
9
|
+
brandTable: "ysn8465 ysn8462 txvbqbuzj txvbqb1qo txvbqb1px txvbqb12f txvbqbl6x"
|
|
10
|
+
} },
|
|
11
|
+
defaultVariants: { kind: "default" },
|
|
12
|
+
compoundVariants: []
|
|
13
|
+
}), n = e({
|
|
14
|
+
defaultClassName: "ysn8468",
|
|
15
|
+
variantClassNames: { kind: {
|
|
16
|
+
default: "ysn8469 ysn8466 txvbqb12f txvbqb1qf txvbqb62o txvbqb3no txvbqbv2t",
|
|
17
|
+
brandTable: "ysn846a ysn8467 txvbqbuzj txvbqb12f txvbqb1qf txvbqb62o txvbqb3s6"
|
|
18
|
+
} },
|
|
19
|
+
defaultVariants: { kind: "default" },
|
|
20
|
+
compoundVariants: []
|
|
21
|
+
}), r = "ysn846b txvbqb9ix txvbqbu6f txvbqbc6", i = "var(--ysn846c)", a = "var(--ysn846d)", o = "var(--ysn846e)", s = e({
|
|
22
|
+
defaultClassName: "ysn846j ysn846f txvbqbco txvbqb9io txvbqbaj6 txvbqbao6 txvbqbl6f txvbqbt6f txvbqbuw6",
|
|
23
|
+
variantClassNames: { kind: {
|
|
24
|
+
default: "ysn846k ysn846h ysn846g txvbqbv8p txvbqbamo",
|
|
25
|
+
brandTable: "ysn846l ysn846i txvbqbnuf txvbqboho txvbqbp5x txvbqblxo txvbqbv7p txvbqbamx txvbqb8o txvbqbeef txvbqb66 txvbqb54x"
|
|
26
|
+
} },
|
|
27
|
+
defaultVariants: { kind: "default" },
|
|
28
|
+
compoundVariants: []
|
|
29
|
+
}), c = e({
|
|
30
|
+
defaultClassName: "ysn846o ysn846m txvbqb9io txvbqbai6",
|
|
31
|
+
variantClassNames: { kind: {
|
|
32
|
+
default: "ysn846p",
|
|
33
|
+
brandTable: "ysn846q ysn846n txvbqbuzj"
|
|
34
|
+
} },
|
|
35
|
+
defaultVariants: { kind: "default" },
|
|
36
|
+
compoundVariants: []
|
|
37
|
+
}), l = e({
|
|
38
|
+
defaultClassName: "ysn846w ysn846r txvbqbc6 txvbqb1qf txvbqb12f txvbqb9ix txvbqb78 txvbqb6x txvbqb7k",
|
|
39
|
+
variantClassNames: { kind: {
|
|
40
|
+
default: "ysn846x ysn846t ysn846s txvbqbv2r txvbqb3of txvbqb62o",
|
|
41
|
+
brandTable: "ysn846y ysn846v ysn846u txvbqbuzj txvbqb3s6 txvbqb62o"
|
|
42
|
+
} },
|
|
43
|
+
defaultVariants: { kind: "default" },
|
|
44
|
+
compoundVariants: []
|
|
45
|
+
}), u = e({
|
|
46
|
+
defaultClassName: "ysn84611",
|
|
47
|
+
variantClassNames: { kind: {
|
|
48
|
+
default: "ysn84612 ysn846z txvbqbv2v",
|
|
49
|
+
brandTable: "ysn84613 ysn84610 txvbqbuzj"
|
|
50
|
+
} },
|
|
51
|
+
defaultVariants: { kind: "default" },
|
|
52
|
+
compoundVariants: []
|
|
53
|
+
}), d = e({
|
|
54
|
+
defaultClassName: "ysn84616",
|
|
55
|
+
variantClassNames: { kind: {
|
|
56
|
+
default: "ysn84617 ysn84614 txvbqbv2r",
|
|
57
|
+
brandTable: "ysn84618 ysn84615 txvbqbuzj"
|
|
58
|
+
} },
|
|
59
|
+
defaultVariants: { kind: "default" },
|
|
60
|
+
compoundVariants: []
|
|
61
|
+
}), f = e({
|
|
62
|
+
defaultClassName: "ysn8461d ysn84619 txvbqbco txvbqb9io txvbqbao6 txvbqbk4x txvbqbl6f",
|
|
63
|
+
variantClassNames: { kind: {
|
|
64
|
+
default: "ysn8461e ysn8461b ysn8461a txvbqbv8r",
|
|
65
|
+
brandTable: "ysn8461f ysn8461c txvbqbnuf txvbqboho txvbqbp5x txvbqblxo txvbqbv8p txvbqbamo txvbqb8x txvbqb54x"
|
|
66
|
+
} },
|
|
67
|
+
defaultVariants: { kind: "default" },
|
|
68
|
+
compoundVariants: []
|
|
69
|
+
}), p = "ysn8461g txvbqbamo txvbqbv8p", m = "ysn8461h txvbqbv8p", h = "ysn8461i", g = "ysn8461j txvbqb96 txvbqbv8r txvbqbt5x", _ = e({
|
|
70
|
+
defaultClassName: "ysn8461k",
|
|
71
|
+
variantClassNames: { minVisibleAt: {
|
|
72
|
+
sm: "ysn8461l",
|
|
73
|
+
md: "ysn8461m",
|
|
74
|
+
lg: "ysn8461n",
|
|
75
|
+
xl: "ysn8461o",
|
|
76
|
+
xxl: "ysn8461p"
|
|
77
|
+
} },
|
|
78
|
+
defaultVariants: {},
|
|
79
|
+
compoundVariants: []
|
|
80
|
+
});
|
|
81
|
+
//#endregion
|
|
82
|
+
export { c as body, f as cell, t as container, g as emptyCell, h as emptyRow, n as header, s as headerCell, r as headerRow, _ as hideBelowRecipe, p as primaryCell, m as primaryHeaderCell, l as row, u as rowEven, d as rowOdd, a as tableCellFontSizeVar, i as tableCellPaddingVar, o as tableEmptyRowPaddingVar };
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=DataTable.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.css.js","
|
|
1
|
+
{"version":3,"file":"DataTable.css.js","names":[],"sources":["../../../../src/components/data-table/DataTable.css.ts"],"sourcesContent":["import {\n createVar,\n fallbackVar,\n style,\n type StyleRule,\n} from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { vars } from '../../theme/themeContract.js';\n\nimport {\n DATA_TABLE_BREAKPOINT_ENTRIES,\n type DataTableBreakpoint,\n} from './tableBreakpoints.js';\nimport { sprinkles } from '../../theme/sprinkles.css.js';\n\nexport const container = recipe({\n base: sprinkles({\n display: 'flex',\n flexDirection: 'column',\n width: 'full',\n containerType: 'inline-size',\n }),\n variants: {\n kind: {\n default: sprinkles({\n backgroundColor: 'white',\n borderColor: 'border',\n borderRadius: 'lg',\n borderStyle: 'solid',\n borderWidth: 'default',\n overflow: 'hidden',\n }),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n borderRadius: 'none',\n borderStyle: 'none',\n borderWidth: 0,\n overflow: 'visible',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const header = recipe({\n variants: {\n kind: {\n default: sprinkles({\n borderWidth: 0,\n borderStyle: 'solid',\n borderBottomWidth: 'default',\n borderBottomColor: 'border',\n backgroundColor: 'surfaceSecondary',\n }),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n borderWidth: 0,\n borderStyle: 'solid',\n borderBottomWidth: 'default',\n borderBottomColor: 'brandSecondaryOrange-20',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const headerRow = sprinkles({\n display: 'grid',\n width: 'full',\n alignItems: 'stretch',\n});\n\nexport const tableCellPaddingVar = createVar();\nexport const tableCellFontSizeVar = createVar();\nexport const tableEmptyRowPaddingVar = createVar();\n\nexport const headerCell = recipe({\n base: sprinkles({\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n gap: 2,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n variants: {\n kind: {\n default: style([\n sprinkles({\n color: 'text',\n fontWeight: 'semibold',\n }),\n {\n padding: fallbackVar(\n tableCellPaddingVar,\n `${vars.spacing[3]} ${vars.spacing[4]}`,\n ),\n fontSize: fallbackVar(tableCellFontSizeVar, vars.fontSize.sm),\n borderRight: `1px solid ${vars.colors.border}`,\n selectors: {\n '&:last-child': {\n borderRight: 'none',\n },\n },\n },\n ]),\n brandTable: sprinkles({\n color: 'black-300',\n fontWeight: 'bold',\n fontSize: 'xs',\n letterSpacing: 'caps',\n textTransform: 'uppercase',\n paddingY: 4,\n paddingX: 0,\n borderRightWidth: 0,\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const body = recipe({\n base: sprinkles({\n display: 'flex',\n flexDirection: 'column',\n }),\n variants: {\n kind: {\n default: {},\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const row = recipe({\n base: sprinkles({\n alignItems: 'stretch',\n borderStyle: 'solid',\n borderWidth: 0,\n display: 'grid',\n transitionProperty: 'colors',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n variants: {\n kind: {\n default: style([\n sprinkles({\n backgroundColor: 'surface',\n borderBottomColor: 'borderLight',\n borderBottomWidth: 'default',\n }),\n {\n selectors: {\n '&:last-child': {\n borderBottomWidth: 0,\n },\n '&:hover': {\n backgroundColor: vars.colors.surfaceSecondary,\n },\n },\n },\n ]),\n brandTable: style([\n sprinkles({\n backgroundColor: 'transparent',\n borderBottomColor: 'brandSecondaryOrange-20',\n borderBottomWidth: 'default',\n }),\n {\n selectors: {\n '&:last-child': {\n borderBottomWidth: 0,\n },\n '&:hover': {\n backgroundColor: 'transparent',\n },\n },\n },\n ]),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const rowEven = recipe({\n variants: {\n kind: {\n default: sprinkles({\n backgroundColor: 'surfaceMuted',\n }),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const rowOdd = recipe({\n variants: {\n kind: {\n default: sprinkles({\n backgroundColor: 'surface',\n }),\n brandTable: sprinkles({\n backgroundColor: 'transparent',\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const cell = recipe({\n base: sprinkles({\n alignItems: 'center',\n display: 'flex',\n gap: 2,\n minWidth: 0,\n overflow: 'hidden',\n }),\n variants: {\n kind: {\n default: style([\n sprinkles({\n color: 'textSecondary',\n }),\n {\n padding: fallbackVar(\n tableCellPaddingVar,\n `${vars.spacing[3]} ${vars.spacing[4]}`,\n ),\n fontSize: fallbackVar(tableCellFontSizeVar, vars.fontSize.sm),\n borderRight: `1px solid ${vars.colors.borderLight}`,\n selectors: {\n '&:last-child': {\n borderRight: 'none',\n },\n },\n },\n ]),\n brandTable: sprinkles({\n color: 'text',\n fontWeight: 'semibold',\n fontSize: 'sm',\n paddingY: 4,\n paddingX: 0,\n borderRightWidth: 0,\n }),\n },\n },\n defaultVariants: {\n kind: 'default',\n },\n});\n\nexport const primaryCell = sprinkles({\n fontWeight: 'semibold',\n color: 'text',\n});\n\nexport const primaryHeaderCell = sprinkles({\n color: 'text',\n});\n\nexport const emptyRow = style({\n padding: fallbackVar(\n tableEmptyRowPaddingVar,\n `${vars.spacing[6]} ${vars.spacing[4]}`,\n ),\n});\n\nexport const emptyCell = sprinkles({\n fontSize: 'base',\n color: 'textSecondary',\n textAlign: 'center',\n});\n\nconst hideBelowMap: Record<DataTableBreakpoint, StyleRule> = {} as Record<\n DataTableBreakpoint,\n StyleRule\n>;\n\nDATA_TABLE_BREAKPOINT_ENTRIES.forEach(([breakpoint, width]) => {\n hideBelowMap[breakpoint] = {\n '@container': {\n [`(max-width: ${width - 0.5}px)`]: {\n visibility: 'hidden',\n opacity: 0,\n pointerEvents: 'none',\n paddingInline: 0,\n paddingBlock: 0,\n borderRight: 'none',\n overflow: 'hidden',\n },\n },\n };\n});\n\nexport const hideBelowRecipe = recipe({\n variants: {\n minVisibleAt: hideBelowMap,\n },\n});\n"],"mappings":""}
|