@vritti/quantum-ui 0.3.12 → 0.3.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActivePoints.js.map +1 -1
- package/dist/ActiveShapeUtils.js.map +1 -1
- package/dist/Alert.js +1 -1
- package/dist/Alert.js.map +1 -1
- package/dist/AreaChart.js.map +1 -1
- package/dist/Avatar.js +1 -1
- package/dist/Avatar.js.map +1 -1
- package/dist/Badge2.js +2 -2
- package/dist/BarChart.js.map +1 -1
- package/dist/BillingCycleSelector.js +37 -0
- package/dist/BillingCycleSelector.js.map +1 -0
- package/dist/Breadcrumb.js +1 -1
- package/dist/Breadcrumb.js.map +1 -1
- package/dist/Button.js +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Button2.js +2 -2
- package/dist/CardSkeleton.js.map +1 -1
- package/dist/CartesianChart.js.map +1 -1
- package/dist/CategoryFilter.js +6 -4
- package/dist/CategoryFilter.js.map +1 -1
- package/dist/Chart.js +53 -55
- package/dist/Chart.js.map +1 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/Checkbox2.js +4 -4
- package/dist/CheckboxGroup.js.map +1 -1
- package/dist/Collapsible.js.map +1 -1
- package/dist/Combination.js +1129 -0
- package/dist/Combination.js.map +1 -0
- package/dist/CompanySelector.js +20 -0
- package/dist/CompanySelector.js.map +1 -0
- package/dist/ConfirmHost.js.map +1 -1
- package/dist/CopyField.js +71 -0
- package/dist/CopyField.js.map +1 -0
- package/dist/CountrySelector.js +37 -0
- package/dist/CountrySelector.js.map +1 -0
- package/dist/CurrencyField.js +1 -0
- package/dist/CurrencyField.js.map +1 -1
- package/dist/CustomerSelector.js +2 -2
- package/dist/CustomerSelector.js.map +1 -1
- package/dist/DangerZoneSkeleton.js +21 -3
- package/dist/DangerZoneSkeleton.js.map +1 -1
- package/dist/DatePicker.js +3 -3
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateTimePicker.js +2 -2
- package/dist/DetailSectionSkeleton.js.map +1 -1
- package/dist/Dialog.js.map +1 -1
- package/dist/DropdownMenu.js.map +1 -1
- package/dist/ErrorBarContext.js.map +1 -1
- package/dist/FeaturePermissionSelector.js +37 -0
- package/dist/FeaturePermissionSelector.js.map +1 -0
- package/dist/Form.js.map +1 -1
- package/dist/FormSection.js +4 -4
- package/dist/FormSection.js.map +1 -1
- package/dist/HierarchyGraph.js +5 -10621
- package/dist/HierarchyGraph.js.map +1 -1
- package/dist/ISOCountrySelect.js +283 -0
- package/dist/ISOCountrySelect.js.map +1 -0
- package/dist/IconSelect.js +3 -2
- package/dist/IconSelect.js.map +1 -1
- package/dist/InventoryItemSelector.js +2 -2
- package/dist/InventoryItemSelector.js.map +1 -1
- package/dist/Kbd.js +1 -1
- package/dist/Kbd.js.map +1 -1
- package/dist/Label.js +1 -1
- package/dist/LayoutModeContext.js.map +1 -1
- package/dist/LegalEntitySelector.js +37 -0
- package/dist/LegalEntitySelector.js.map +1 -0
- package/dist/LineChart.js.map +1 -1
- package/dist/LocationSelector.js +2 -2
- package/dist/LocationSelector.js.map +1 -1
- package/dist/LotSelector.js +2 -2
- package/dist/LotSelector.js.map +1 -1
- package/dist/OTPField.js.map +1 -1
- package/dist/PageContent.js.map +1 -1
- package/dist/PageHeaderSkeleton.js +21 -10
- package/dist/PageHeaderSkeleton.js.map +1 -1
- package/dist/PasswordField.js.map +1 -1
- package/dist/PermissionGate.js +49 -5
- package/dist/PermissionGate.js.map +1 -1
- package/dist/PersonSelector.js +20 -0
- package/dist/PersonSelector.js.map +1 -0
- package/dist/PhoneField.js.map +1 -1
- package/dist/PieChart.js.map +1 -1
- package/dist/PolarChart.js.map +1 -1
- package/dist/PurchaseOrderSelector.js +2 -2
- package/dist/PurchaseOrderSelector.js.map +1 -1
- package/dist/QuantSelector.js +2 -2
- package/dist/QuantSelector.js.map +1 -1
- package/dist/RadarChart.js.map +1 -1
- package/dist/RadialChart.js.map +1 -1
- package/dist/RadioGroup.js +6 -6
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RoleSelector.js +20 -0
- package/dist/RoleSelector.js.map +1 -0
- package/dist/Select.js +4 -1
- package/dist/Select.js.map +1 -1
- package/dist/SelectFilter.js.map +1 -1
- package/dist/Separator.js.map +1 -1
- package/dist/SerialSelector.js +2 -2
- package/dist/SerialSelector.js.map +1 -1
- package/dist/Sidebar.js +2 -2
- package/dist/Sidebar.js.map +1 -1
- package/dist/SingleSelect.js +2 -2
- package/dist/SingleSelect.js.map +1 -1
- package/dist/SiteGroupSelector.js +37 -0
- package/dist/SiteGroupSelector.js.map +1 -0
- package/dist/SiteSelector.js +37 -0
- package/dist/SiteSelector.js.map +1 -0
- package/dist/Sonner.js +1 -1
- package/dist/Sonner.js.map +1 -1
- package/dist/Sortable.js +4 -4417
- package/dist/Sortable.js.map +1 -1
- package/dist/StepProgressIndicator.js.map +1 -1
- package/dist/SupplierItemSelector.js +2 -2
- package/dist/SupplierItemSelector.js.map +1 -1
- package/dist/SupplierSelector.js +2 -2
- package/dist/SupplierSelector.js.map +1 -1
- package/dist/Switch.js +3 -3
- package/dist/Switch.js.map +1 -1
- package/dist/TabsSkeleton.js +101 -49
- package/dist/TabsSkeleton.js.map +1 -1
- package/dist/TaxClassSelector.js +20 -0
- package/dist/TaxClassSelector.js.map +1 -0
- package/dist/TextField.js.map +1 -1
- package/dist/ThemeContext.js.map +1 -1
- package/dist/ThemeToggle.js.map +1 -1
- package/dist/Toggle.js +1 -1
- package/dist/Toggle.js.map +1 -1
- package/dist/Tooltip.js.map +1 -1
- package/dist/Typography.js.map +1 -1
- package/dist/UomSelector.js +2 -2
- package/dist/UomSelector.js.map +1 -1
- package/dist/UploadFile.js.map +1 -1
- package/dist/assets/quantum-ui.css +44 -13
- package/dist/calendar2.js +1 -1
- package/dist/collapsible2.js +1 -1
- package/dist/components/CompanySelector.js +2 -0
- package/dist/components/CompanySelector.js.map +1 -0
- package/dist/components/CopyField.js +2 -0
- package/dist/components/CopyField.js.map +1 -0
- package/dist/components/FormattedDate.js +2 -2
- package/dist/components/HierarchyGraph.js +2 -1
- package/dist/components/HierarchyGraph.js.map +1 -1
- package/dist/components/PermissionGate.js +1 -1
- package/dist/components/PersonSelector.js +2 -0
- package/dist/components/PersonSelector.js.map +1 -0
- package/dist/components/ScanBarcodeButton.js.map +1 -1
- package/dist/components/TreeView.js +7 -7
- package/dist/components/TreeView.js.map +1 -1
- package/dist/copy.js +18 -0
- package/dist/copy.js.map +1 -0
- package/dist/core.esm.js +4025 -0
- package/dist/core.esm.js.map +1 -0
- package/dist/dropdown-menu.js +10 -10
- package/dist/field.js +1 -1
- package/dist/getClassNameFromUnknown.js.map +1 -1
- package/dist/getRadiusAndStrokeWidthFromDot.js.map +1 -1
- package/dist/getZIndexFromUnknown.js.map +1 -1
- package/dist/graphicalItemSelectors.js.map +1 -1
- package/dist/image-component.js.map +1 -1
- package/dist/index.js +16 -3
- package/dist/index.js.map +1 -1
- package/dist/index10.js +102 -1499
- package/dist/index10.js.map +1 -1
- package/dist/index11.js +1499 -37
- package/dist/index11.js.map +1 -1
- package/dist/index12.js +29 -477
- package/dist/index12.js.map +1 -1
- package/dist/index13.js +427 -231
- package/dist/index13.js.map +1 -1
- package/dist/index14.js +215 -1074
- package/dist/index14.js.map +1 -1
- package/dist/index15.js +1140 -14
- package/dist/index15.js.map +1 -1
- package/dist/index16.js +13 -19
- package/dist/index16.js.map +1 -1
- package/dist/index17.js +24 -172
- package/dist/index17.js.map +1 -1
- package/dist/index18.js +168 -175
- package/dist/index18.js.map +1 -1
- package/dist/index19.js +173 -201
- package/dist/index19.js.map +1 -1
- package/dist/index20.js +203 -69
- package/dist/index20.js.map +1 -1
- package/dist/index21.js +70 -211
- package/dist/index21.js.map +1 -1
- package/dist/index22.js +207 -117
- package/dist/index22.js.map +1 -1
- package/dist/index23.js +123 -71
- package/dist/index23.js.map +1 -1
- package/dist/index24.js +74 -11
- package/dist/index24.js.map +1 -1
- package/dist/index25.js +13 -1134
- package/dist/index25.js.map +1 -1
- package/dist/index26.js +1120 -219
- package/dist/index26.js.map +1 -1
- package/dist/index27.js +202 -2506
- package/dist/index27.js.map +1 -1
- package/dist/index28.js +2527 -23
- package/dist/index28.js.map +1 -1
- package/dist/index29.js +32 -4
- package/dist/index29.js.map +1 -1
- package/dist/index3.js +11543 -267
- package/dist/index3.js.map +1 -1
- package/dist/index30.js +3 -1124
- package/dist/index30.js.map +1 -1
- package/dist/index31.js +1 -1
- package/dist/index32.js +7 -7
- package/dist/index34.js +1 -1
- package/dist/index37.js +1 -1
- package/dist/index38.js +23 -43
- package/dist/index38.js.map +1 -1
- package/dist/index4.js +272 -132
- package/dist/index4.js.map +1 -1
- package/dist/index5.js +138 -388
- package/dist/index5.js.map +1 -1
- package/dist/index6.js +386 -7
- package/dist/index6.js.map +1 -1
- package/dist/index7.js +13 -92
- package/dist/index7.js.map +1 -1
- package/dist/index8.js +92 -43
- package/dist/index8.js.map +1 -1
- package/dist/index9.js +42 -102
- package/dist/index9.js.map +1 -1
- package/dist/lib/components/Alert/Alert.d.ts.map +1 -1
- package/dist/lib/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/lib/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/lib/components/Button/Button.d.ts.map +1 -1
- package/dist/lib/components/Card/CardSkeleton.d.ts.map +1 -1
- package/dist/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/lib/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
- package/dist/lib/components/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/lib/components/CompanySelector/CompanySelector.d.ts +4 -0
- package/dist/lib/components/CompanySelector/CompanySelector.d.ts.map +1 -0
- package/dist/lib/components/CompanySelector/index.d.ts +2 -0
- package/dist/lib/components/CompanySelector/index.d.ts.map +1 -0
- package/dist/lib/components/ConfirmHost/ConfirmHost.d.ts.map +1 -1
- package/dist/lib/components/CopyField/CopyField.d.ts +10 -0
- package/dist/lib/components/CopyField/CopyField.d.ts.map +1 -0
- package/dist/lib/components/CopyField/index.d.ts +2 -0
- package/dist/lib/components/CopyField/index.d.ts.map +1 -0
- package/dist/lib/components/CurrencyField/CurrencyField.d.ts.map +1 -1
- package/dist/lib/components/DangerZone/DangerZone.d.ts +3 -1
- package/dist/lib/components/DangerZone/DangerZone.d.ts.map +1 -1
- package/dist/lib/components/DataTable/CompactTableSkeleton.d.ts.map +1 -1
- package/dist/lib/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/lib/components/DataTable/cells/cells.d.ts.map +1 -1
- package/dist/lib/components/DataTable/components/DataTableSelectionBar.d.ts.map +1 -1
- package/dist/lib/components/DataTable/components/RowActions.d.ts.map +1 -1
- package/dist/lib/components/DataTable/hooks/useDataTable.d.ts.map +1 -1
- package/dist/lib/components/DataTable/store/store.d.ts.map +1 -1
- package/dist/lib/components/DataTable/types.d.ts.map +1 -1
- package/dist/lib/components/DatePicker/DatePicker.d.ts +2 -2
- package/dist/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/lib/components/DetailField/DetailField.d.ts.map +1 -1
- package/dist/lib/components/DetailField/DetailHeader.d.ts.map +1 -1
- package/dist/lib/components/DetailField/DetailSectionSkeleton.d.ts.map +1 -1
- package/dist/lib/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/lib/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/lib/components/DropdownMenu/types.d.ts.map +1 -1
- package/dist/lib/components/Editor/editor-ui/color-picker.d.ts.map +1 -1
- package/dist/lib/components/Editor/editor-ui/image-component.d.ts.map +1 -1
- package/dist/lib/components/Editor/nodes/autocomplete-node.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/actions/max-length-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/embeds/auto-embed-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/embeds/youtube-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/emojis-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/floating-link-editor-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/floating-text-format-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/images-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/keywords-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/layout-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/list-max-indent-level-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/mentions-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/picker/component-picker-option.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/tab-focus-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/table-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/toolbar/clear-formatting-toolbar-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/plugins/typing-pref-plugin.d.ts.map +1 -1
- package/dist/lib/components/Editor/shared/invariant.d.ts.map +1 -1
- package/dist/lib/components/Editor/shared/react-patches.d.ts.map +1 -1
- package/dist/lib/components/Editor/shared/react-test-utils.d.ts.map +1 -1
- package/dist/lib/components/Editor/shared/simple-diff-with-cursor.d.ts.map +1 -1
- package/dist/lib/components/Editor/shared/use-layout-effect.d.ts.map +1 -1
- package/dist/lib/components/Editor/transformers/markdown-table-transformer.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/collapsible.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/doc-serialization.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/emoji-list.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/get-dom-range-rect.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/get-selected-node.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/guard.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/set-floating-elem-position-for-link-editor.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/set-floating-elem-position.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/swipe.d.ts.map +1 -1
- package/dist/lib/components/Editor/utils/url.d.ts.map +1 -1
- package/dist/lib/components/Form/Form.d.ts.map +1 -1
- package/dist/lib/components/OTPField/OTPField.d.ts.map +1 -1
- package/dist/lib/components/PageContent/PageContent.d.ts.map +1 -1
- package/dist/lib/components/PageHeader/PageHeader.d.ts.map +1 -1
- package/dist/lib/components/PasswordField/PasswordField.d.ts.map +1 -1
- package/dist/lib/components/PermissionGate/PermissionGate.d.ts +15 -4
- package/dist/lib/components/PermissionGate/PermissionGate.d.ts.map +1 -1
- package/dist/lib/components/PermissionGate/index.d.ts +1 -1
- package/dist/lib/components/PermissionGate/index.d.ts.map +1 -1
- package/dist/lib/components/PersonSelector/PersonSelector.d.ts +4 -0
- package/dist/lib/components/PersonSelector/PersonSelector.d.ts.map +1 -0
- package/dist/lib/components/PersonSelector/index.d.ts +2 -0
- package/dist/lib/components/PersonSelector/index.d.ts.map +1 -0
- package/dist/lib/components/PhoneField/PhoneField.d.ts.map +1 -1
- package/dist/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/lib/components/ScanBarcodeButton/ScanBarcodeButton.d.ts.map +1 -1
- package/dist/lib/components/Select/SelectFilter.d.ts.map +1 -1
- package/dist/lib/components/Select/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/lib/components/Select/components/MultiSelect/MultiSelectFilter.d.ts.map +1 -1
- package/dist/lib/components/Select/components/SingleSelect/SingleSelect.d.ts.map +1 -1
- package/dist/lib/components/Select/components/SingleSelect/SingleSelectFilter.d.ts.map +1 -1
- package/dist/lib/components/Select/hooks/useSelect.d.ts.map +1 -1
- package/dist/lib/components/Select/hooks/useSingleSelect.d.ts.map +1 -1
- package/dist/lib/components/Select/types.d.ts +1 -1
- package/dist/lib/components/Select/types.d.ts.map +1 -1
- package/dist/lib/components/Separator/Separator.d.ts.map +1 -1
- package/dist/lib/components/Sidebar/Sidebar.d.ts.map +1 -1
- package/dist/lib/components/Sonner/Sonner.d.ts.map +1 -1
- package/dist/lib/components/Sonner/toast.d.ts.map +1 -1
- package/dist/lib/components/StepProgressIndicator/StepProgressIndicator.d.ts.map +1 -1
- package/dist/lib/components/Switch/Switch.d.ts.map +1 -1
- package/dist/lib/components/Tabs/Tabs.d.ts +2 -0
- package/dist/lib/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/lib/components/Tabs/TabsSkeleton.d.ts.map +1 -1
- package/dist/lib/components/TextField/TextField.d.ts.map +1 -1
- package/dist/lib/components/ThemeToggle/ThemeToggle.d.ts.map +1 -1
- package/dist/lib/components/Toggle/Toggle.d.ts.map +1 -1
- package/dist/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/lib/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/lib/components/Typography/Typography.d.ts.map +1 -1
- package/dist/lib/components/UploadFile/UploadFile.d.ts.map +1 -1
- package/dist/lib/components/index.d.ts +3 -0
- package/dist/lib/components/index.d.ts.map +1 -1
- package/dist/lib/config/index.d.ts.map +1 -1
- package/dist/lib/context/LayoutModeContext.d.ts.map +1 -1
- package/dist/lib/context/ThemeContext.d.ts.map +1 -1
- package/dist/lib/hooks/useBUCurrency.d.ts.map +1 -1
- package/dist/lib/hooks/useBUTimezone.d.ts.map +1 -1
- package/dist/lib/hooks/useBarcodeScanner.d.ts.map +1 -1
- package/dist/lib/hooks/useFormatters.d.ts.map +1 -1
- package/dist/lib/hooks/useSSE.d.ts.map +1 -1
- package/dist/lib/hooks/useTheme.d.ts.map +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/selects/billing-cycle/BillingCycleFilter.d.ts +12 -0
- package/dist/lib/selects/billing-cycle/BillingCycleFilter.d.ts.map +1 -0
- package/dist/lib/selects/billing-cycle/BillingCycleSelector.d.ts +4 -0
- package/dist/lib/selects/billing-cycle/BillingCycleSelector.d.ts.map +1 -0
- package/dist/lib/selects/billing-cycle/index.d.ts +3 -0
- package/dist/lib/selects/billing-cycle/index.d.ts.map +1 -0
- package/dist/lib/selects/category/CategoryFilter.d.ts.map +1 -1
- package/dist/lib/selects/category/CategorySelector.d.ts.map +1 -1
- package/dist/lib/selects/cost-category/CostCategorySelector.d.ts.map +1 -1
- package/dist/lib/selects/country/CountryFilter.d.ts +12 -0
- package/dist/lib/selects/country/CountryFilter.d.ts.map +1 -0
- package/dist/lib/selects/country/CountrySelector.d.ts +4 -0
- package/dist/lib/selects/country/CountrySelector.d.ts.map +1 -0
- package/dist/lib/selects/country/index.d.ts +3 -0
- package/dist/lib/selects/country/index.d.ts.map +1 -0
- package/dist/lib/selects/feature-permission/FeaturePermissionFilter.d.ts +12 -0
- package/dist/lib/selects/feature-permission/FeaturePermissionFilter.d.ts.map +1 -0
- package/dist/lib/selects/feature-permission/FeaturePermissionSelector.d.ts +4 -0
- package/dist/lib/selects/feature-permission/FeaturePermissionSelector.d.ts.map +1 -0
- package/dist/lib/selects/feature-permission/index.d.ts +3 -0
- package/dist/lib/selects/feature-permission/index.d.ts.map +1 -0
- package/dist/lib/selects/icon/IconSelect.d.ts.map +1 -1
- package/dist/lib/selects/index.d.ts +9 -0
- package/dist/lib/selects/index.d.ts.map +1 -1
- package/dist/lib/selects/inventory-item/InventoryItemSelector.d.ts +2 -2
- package/dist/lib/selects/inventory-item/InventoryItemSelector.d.ts.map +1 -1
- package/dist/lib/selects/iso-country/ISOCountrySelect.d.ts +15 -0
- package/dist/lib/selects/iso-country/ISOCountrySelect.d.ts.map +1 -0
- package/dist/lib/selects/iso-country/index.d.ts +3 -0
- package/dist/lib/selects/iso-country/index.d.ts.map +1 -0
- package/dist/lib/selects/iso-country/iso-countries.d.ts +7 -0
- package/dist/lib/selects/iso-country/iso-countries.d.ts.map +1 -0
- package/dist/lib/selects/legal-entity/LegalEntityFilter.d.ts +12 -0
- package/dist/lib/selects/legal-entity/LegalEntityFilter.d.ts.map +1 -0
- package/dist/lib/selects/legal-entity/LegalEntitySelector.d.ts +4 -0
- package/dist/lib/selects/legal-entity/LegalEntitySelector.d.ts.map +1 -0
- package/dist/lib/selects/legal-entity/index.d.ts +3 -0
- package/dist/lib/selects/legal-entity/index.d.ts.map +1 -0
- package/dist/lib/selects/location/LocationSelector.d.ts.map +1 -1
- package/dist/lib/selects/purchase-order/PurchaseOrderSelector.d.ts.map +1 -1
- package/dist/lib/selects/purchase-order-item/PurchaseOrderItemSelector.d.ts.map +1 -1
- package/dist/lib/selects/role/RoleSelector.d.ts +4 -0
- package/dist/lib/selects/role/RoleSelector.d.ts.map +1 -0
- package/dist/lib/selects/role/index.d.ts +2 -0
- package/dist/lib/selects/role/index.d.ts.map +1 -0
- package/dist/lib/selects/serial/SerialSelector.d.ts.map +1 -1
- package/dist/lib/selects/site/SiteFilter.d.ts +12 -0
- package/dist/lib/selects/site/SiteFilter.d.ts.map +1 -0
- package/dist/lib/selects/site/SiteSelector.d.ts +4 -0
- package/dist/lib/selects/site/SiteSelector.d.ts.map +1 -0
- package/dist/lib/selects/site/index.d.ts +3 -0
- package/dist/lib/selects/site/index.d.ts.map +1 -0
- package/dist/lib/selects/site-group/SiteGroupFilter.d.ts +12 -0
- package/dist/lib/selects/site-group/SiteGroupFilter.d.ts.map +1 -0
- package/dist/lib/selects/site-group/SiteGroupSelector.d.ts +4 -0
- package/dist/lib/selects/site-group/SiteGroupSelector.d.ts.map +1 -0
- package/dist/lib/selects/site-group/index.d.ts +3 -0
- package/dist/lib/selects/site-group/index.d.ts.map +1 -0
- package/dist/lib/selects/supplier/SupplierSelector.d.ts.map +1 -1
- package/dist/lib/selects/supplier-item/SupplierItemFilter.d.ts.map +1 -1
- package/dist/lib/selects/supplier-item/SupplierItemSelector.d.ts.map +1 -1
- package/dist/lib/selects/tax-class/TaxClassSelector.d.ts +4 -0
- package/dist/lib/selects/tax-class/TaxClassSelector.d.ts.map +1 -0
- package/dist/lib/selects/tax-class/index.d.ts +2 -0
- package/dist/lib/selects/tax-class/index.d.ts.map +1 -0
- package/dist/lib/theme/index.d.ts.map +1 -1
- package/dist/lib/types/catalog-resolver.d.ts +50 -17
- package/dist/lib/types/catalog-resolver.d.ts.map +1 -1
- package/dist/lib/utils/axios.d.ts.map +1 -1
- package/dist/lib/utils/cn.d.ts +3 -0
- package/dist/lib/utils/cn.d.ts.map +1 -0
- package/dist/lib/utils/dagre.d.ts +2 -0
- package/dist/lib/utils/dagre.d.ts.map +1 -0
- package/dist/lib/utils/dnd-kit/core.d.ts +2 -0
- package/dist/lib/utils/dnd-kit/core.d.ts.map +1 -0
- package/dist/lib/utils/dnd-kit/sortable.d.ts +2 -0
- package/dist/lib/utils/dnd-kit/sortable.d.ts.map +1 -0
- package/dist/lib/utils/dnd-kit/utilities.d.ts +2 -0
- package/dist/lib/utils/dnd-kit/utilities.d.ts.map +1 -0
- package/dist/lib/utils/formHelpers.d.ts.map +1 -1
- package/dist/lib/utils/format.d.ts.map +1 -1
- package/dist/lib/utils/permission-deps.d.ts +9 -0
- package/dist/lib/utils/permission-deps.d.ts.map +1 -0
- package/dist/lib/utils/react-flow.d.ts +2 -0
- package/dist/lib/utils/react-flow.d.ts.map +1 -0
- package/dist/lib/utils/zod.d.ts +9 -0
- package/dist/lib/utils/zod.d.ts.map +1 -1
- package/dist/polarScaleSelectors.js.map +1 -1
- package/dist/popover.js +1 -1
- package/dist/select2.js +1 -1
- package/dist/selects/billing-cycle.js +2 -0
- package/dist/selects/billing-cycle.js.map +1 -0
- package/dist/selects/cost-category.js +2 -2
- package/dist/selects/cost-category.js.map +1 -1
- package/dist/selects/country.js +2 -0
- package/dist/selects/country.js.map +1 -0
- package/dist/selects/feature-permission.js +2 -0
- package/dist/selects/feature-permission.js.map +1 -0
- package/dist/selects/iso-country.js +2 -0
- package/dist/selects/iso-country.js.map +1 -0
- package/dist/selects/legal-entity.js +2 -0
- package/dist/selects/legal-entity.js.map +1 -0
- package/dist/selects/purchase-order-item.js +1 -1
- package/dist/selects/purchase-order-item.js.map +1 -1
- package/dist/selects/role.js +2 -0
- package/dist/selects/role.js.map +1 -0
- package/dist/selects/site-group.js +2 -0
- package/dist/selects/site-group.js.map +1 -0
- package/dist/selects/site.js +2 -0
- package/dist/selects/site.js.map +1 -0
- package/dist/selects/tax-class.js +2 -0
- package/dist/selects/tax-class.js.map +1 -0
- package/dist/selects/tax-group.js +2 -2
- package/dist/selects/tax-group.js.map +1 -1
- package/dist/separator2.js +1 -1
- package/dist/sortable.esm.js +780 -0
- package/dist/sortable.esm.js.map +1 -0
- package/dist/theme/index.js.map +1 -1
- package/dist/toast.js +2 -26
- package/dist/toast.js.map +1 -1
- package/dist/tooltip2.js +1 -1
- package/dist/tooltipContext.js.map +1 -1
- package/dist/types/catalog-resolver.js +5 -2
- package/dist/types/catalog-resolver.js.map +1 -1
- package/dist/useBUTimezone.js.map +1 -1
- package/dist/useDataTable.js +58 -60
- package/dist/useDataTable.js.map +1 -1
- package/dist/useFormatters.js.map +1 -1
- package/dist/useTheme.js.map +1 -1
- package/dist/useTimer.js +2 -2
- package/dist/useTimer.js.map +1 -1
- package/dist/utilities.esm.js +333 -0
- package/dist/utilities.esm.js.map +1 -0
- package/dist/utils/axios.js +1 -1
- package/dist/utils/axios.js.map +1 -1
- package/dist/utils/cn.js +6 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/currency.js +2 -2
- package/dist/utils/dagre.js +4 -0
- package/dist/utils/dagre.js.map +1 -0
- package/dist/utils/dnd-kit/core.js +2 -0
- package/dist/utils/dnd-kit/core.js.map +1 -0
- package/dist/utils/dnd-kit/sortable.js +2 -0
- package/dist/utils/dnd-kit/sortable.js.map +1 -0
- package/dist/utils/dnd-kit/utilities.js +2 -0
- package/dist/utils/dnd-kit/utilities.js.map +1 -0
- package/dist/utils/format.js +2 -2
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/hotkeys.js +1 -1
- package/dist/utils/money.js +1 -1
- package/dist/utils/permission-deps.js +64 -0
- package/dist/utils/permission-deps.js.map +1 -0
- package/dist/utils/react-flow.js +2 -0
- package/dist/utils/react-flow.js.map +1 -0
- package/dist/utils/timezone.js +1 -1
- package/dist/utils/zod.js +11 -1
- package/dist/utils/zod.js.map +1 -1
- package/dist/youtube.js +15 -29
- package/dist/youtube.js.map +1 -1
- package/package.json +77 -1
|
@@ -11,7 +11,7 @@ const InventoryItemFilter = Object.assign(
|
|
|
11
11
|
name: "inventoryItemId",
|
|
12
12
|
label: "Inventory Item",
|
|
13
13
|
placeholder: "Select inventory item",
|
|
14
|
-
optionsEndpoint: "commerce-api/inventory-items
|
|
14
|
+
optionsEndpoint: "commerce-api/select-api/inventory-items",
|
|
15
15
|
fieldKeys: { valueKey: "id", labelKey: "name" },
|
|
16
16
|
...props
|
|
17
17
|
}
|
|
@@ -28,7 +28,7 @@ const InventoryItemSelector = forwardRef(
|
|
|
28
28
|
label: "Inventory Item",
|
|
29
29
|
placeholder: "Select inventory item",
|
|
30
30
|
searchable: true,
|
|
31
|
-
optionsEndpoint: "commerce-api/inventory-items
|
|
31
|
+
optionsEndpoint: "commerce-api/select-api/inventory-items",
|
|
32
32
|
...props,
|
|
33
33
|
fieldKeys: { ...DEFAULT_FIELD_KEYS, ...fieldKeys }
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InventoryItemSelector.js","sources":["../lib/selects/inventory-item/InventoryItemFilter.tsx","../lib/selects/inventory-item/InventoryItemSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type InventoryItemFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\n// Pre-configured SelectFilter for inventory item filtering with async search\nexport const InventoryItemFilter = Object.assign(\n forwardRef<HTMLButtonElement, InventoryItemFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"inventoryItemId\"\n label=\"Inventory Item\"\n placeholder=\"Select inventory item\"\n optionsEndpoint=\"commerce-api/inventory-items
|
|
1
|
+
{"version":3,"file":"InventoryItemSelector.js","sources":["../lib/selects/inventory-item/InventoryItemFilter.tsx","../lib/selects/inventory-item/InventoryItemSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type InventoryItemFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\n// Pre-configured SelectFilter for inventory item filtering with async search\nexport const InventoryItemFilter = Object.assign(\n forwardRef<HTMLButtonElement, InventoryItemFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"inventoryItemId\"\n label=\"Inventory Item\"\n placeholder=\"Select inventory item\"\n optionsEndpoint=\"commerce-api/select-api/inventory-items\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name' }}\n {...props}\n />\n )),\n { displayName: 'InventoryItemFilter', defaultLabel: 'Inventory Item', defaultName: 'inventoryItemId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type InventoryItemSelectorProps = SelectProps;\n\nconst DEFAULT_FIELD_KEYS = { valueKey: 'id', labelKey: 'name', groupIdKey: 'categoryId' } as const;\n\n// Pre-configured Select for inventory item selection with async search, grouped by category\nexport const InventoryItemSelector = forwardRef<HTMLButtonElement, InventoryItemSelectorProps>(\n ({ fieldKeys, ...props }, ref) => (\n <Select\n ref={ref}\n label=\"Inventory Item\"\n placeholder=\"Select inventory item\"\n searchable\n optionsEndpoint=\"commerce-api/select-api/inventory-items\"\n {...props}\n fieldKeys={{ ...DEFAULT_FIELD_KEYS, ...fieldKeys }}\n />\n ),\n);\nInventoryItemSelector.displayName = 'InventoryItemSelector';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,sBAAsB,MAAA,CAAO,MAAA;AAAA,EACxC,UAAA,CAAwD,CAAC,KAAA,EAAO,GAAA,qBAC9D,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,iBAAA;AAAA,MACL,KAAA,EAAM,gBAAA;AAAA,MACN,WAAA,EAAY,uBAAA;AAAA,MACZ,eAAA,EAAgB,yCAAA;AAAA,MAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,MAAA,EAAO;AAAA,MAC7C,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,qBAAA,EAAuB,YAAA,EAAc,gBAAA,EAAkB,aAAa,iBAAA;AACrF;;ACdA,MAAM,qBAAqB,EAAE,QAAA,EAAU,MAAM,QAAA,EAAU,MAAA,EAAQ,YAAY,YAAA,EAAa;AAGjF,MAAM,qBAAA,GAAwB,UAAA;AAAA,EACnC,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,gBAAA;AAAA,MACN,WAAA,EAAY,uBAAA;AAAA,MACZ,UAAA,EAAU,IAAA;AAAA,MACV,eAAA,EAAgB,yCAAA;AAAA,MACf,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,EAAE,GAAG,kBAAA,EAAoB,GAAG,SAAA;AAAU;AAAA;AAGvD;AACA,qBAAA,CAAsB,WAAA,GAAc,uBAAA;;;;"}
|
package/dist/Kbd.js
CHANGED
|
@@ -68,7 +68,7 @@ function KbdGroup({ shortcut, className, ...props }) {
|
|
|
68
68
|
/* @__PURE__ */ jsx(
|
|
69
69
|
Kbd,
|
|
70
70
|
{
|
|
71
|
-
className: "bg-current/10 text-current border-current/20 shadow-none h-
|
|
71
|
+
className: "bg-current/10 text-current border-current/20 shadow-none h-4.5 min-w-4.5 rounded-[3px] px-1 text-[9px] leading-none",
|
|
72
72
|
children: key
|
|
73
73
|
},
|
|
74
74
|
key
|
package/dist/Kbd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kbd.js","sources":["../shadcn/shadcnKbd/kbd.tsx","../lib/components/Kbd/Kbd.tsx"],"sourcesContent":["import { cn } from '../utils';\n\nexport function Kbd({ className, ...props }: React.ComponentProps<'kbd'>) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n 'pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none',\n className,\n )}\n {...props}\n />\n );\n}\n","import { Kbd } from '../../../shadcn/shadcnKbd/kbd';\nimport { cn } from '../../../shadcn/utils';\n\nfunction isMac(): boolean {\n if (typeof navigator === 'undefined') return false;\n return /Mac|iPhone|iPad|iPod/i.test(navigator.userAgent);\n}\n\nconst MAC_SYMBOLS: Record<string, string> = {\n mod: '⌘',\n meta: '⌘',\n cmd: '⌘',\n alt: '⌥',\n option: '⌥',\n shift: '⇧',\n ctrl: '⌃',\n control: '⌃',\n enter: '↵',\n return: '↵',\n escape: 'Esc',\n esc: 'Esc',\n backspace: '⌫',\n delete: '⌦',\n tab: '⇥',\n space: '␣',\n};\n\nconst WIN_SYMBOLS: Record<string, string> = {\n mod: 'Ctrl',\n meta: 'Win',\n cmd: 'Win',\n alt: 'Alt',\n option: 'Alt',\n shift: 'Shift',\n ctrl: 'Ctrl',\n control: 'Ctrl',\n enter: 'Enter',\n return: 'Enter',\n escape: 'Esc',\n esc: 'Esc',\n backspace: '⌫',\n delete: 'Del',\n tab: 'Tab',\n space: 'Space',\n};\n\nexport interface HotkeyDisplay {\n display: string;\n keys: string[];\n}\n\nexport function formatHotkey(shortcut: string): HotkeyDisplay {\n const mac = isMac();\n const table = mac ? MAC_SYMBOLS : WIN_SYMBOLS;\n const keys = shortcut\n .toLowerCase()\n .split('+')\n .map((part) => table[part] ?? part.toUpperCase());\n return { display: keys.join(''), keys };\n}\n\ninterface KbdGroupProps extends Omit<React.ComponentProps<'div'>, 'children'> {\n shortcut: string;\n}\n\nexport function KbdGroup({ shortcut, className, ...props }: KbdGroupProps) {\n const { keys } = formatHotkey(shortcut);\n return (\n <div data-slot=\"kbd-group\" className={cn('inline-flex items-center gap-0.5', className)} {...props}>\n {keys.map((key, i) => (\n <>\n {i > 0 && <span className=\"text-current/40 text-[9px] select-none leading-none\">+</span>}\n <Kbd\n key={key}\n className=\"bg-current/10 text-current border-current/20 shadow-none h-
|
|
1
|
+
{"version":3,"file":"Kbd.js","sources":["../shadcn/shadcnKbd/kbd.tsx","../lib/components/Kbd/Kbd.tsx"],"sourcesContent":["import { cn } from '../utils';\n\nexport function Kbd({ className, ...props }: React.ComponentProps<'kbd'>) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n 'pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none',\n className,\n )}\n {...props}\n />\n );\n}\n","import { Kbd } from '../../../shadcn/shadcnKbd/kbd';\nimport { cn } from '../../../shadcn/utils';\n\nfunction isMac(): boolean {\n if (typeof navigator === 'undefined') return false;\n return /Mac|iPhone|iPad|iPod/i.test(navigator.userAgent);\n}\n\nconst MAC_SYMBOLS: Record<string, string> = {\n mod: '⌘',\n meta: '⌘',\n cmd: '⌘',\n alt: '⌥',\n option: '⌥',\n shift: '⇧',\n ctrl: '⌃',\n control: '⌃',\n enter: '↵',\n return: '↵',\n escape: 'Esc',\n esc: 'Esc',\n backspace: '⌫',\n delete: '⌦',\n tab: '⇥',\n space: '␣',\n};\n\nconst WIN_SYMBOLS: Record<string, string> = {\n mod: 'Ctrl',\n meta: 'Win',\n cmd: 'Win',\n alt: 'Alt',\n option: 'Alt',\n shift: 'Shift',\n ctrl: 'Ctrl',\n control: 'Ctrl',\n enter: 'Enter',\n return: 'Enter',\n escape: 'Esc',\n esc: 'Esc',\n backspace: '⌫',\n delete: 'Del',\n tab: 'Tab',\n space: 'Space',\n};\n\nexport interface HotkeyDisplay {\n display: string;\n keys: string[];\n}\n\nexport function formatHotkey(shortcut: string): HotkeyDisplay {\n const mac = isMac();\n const table = mac ? MAC_SYMBOLS : WIN_SYMBOLS;\n const keys = shortcut\n .toLowerCase()\n .split('+')\n .map((part) => table[part] ?? part.toUpperCase());\n return { display: keys.join(''), keys };\n}\n\ninterface KbdGroupProps extends Omit<React.ComponentProps<'div'>, 'children'> {\n shortcut: string;\n}\n\nexport function KbdGroup({ shortcut, className, ...props }: KbdGroupProps) {\n const { keys } = formatHotkey(shortcut);\n return (\n <div data-slot=\"kbd-group\" className={cn('inline-flex items-center gap-0.5', className)} {...props}>\n {keys.map((key, i) => (\n <>\n {i > 0 && <span className=\"text-current/40 text-[9px] select-none leading-none\">+</span>}\n <Kbd\n key={key}\n className=\"bg-current/10 text-current border-current/20 shadow-none h-4.5 min-w-4.5 rounded-[3px] px-1 text-[9px] leading-none\"\n >\n {key}\n </Kbd>\n </>\n ))}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
package/dist/Label.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutModeContext.js","sources":["../lib/context/LayoutModeContext.tsx"],"sourcesContent":["import { createContext, type ReactNode, useContext, useMemo, useState } from 'react';\n\nexport type LayoutMode = 'padded' | 'full';\n\ninterface LayoutModeContextValue {\n mode: LayoutMode;\n setMode: (mode: LayoutMode) => void;\n}\n\nconst LayoutModeContext = createContext<LayoutModeContextValue>({\n mode: 'padded',\n setMode: () => {},\n});\n\nexport const LayoutModeProvider = ({ children }: { children: ReactNode }) => {\n const [mode, setMode] = useState<LayoutMode>('padded');\n const value = useMemo(() => ({ mode, setMode }), [mode]);\n return <LayoutModeContext.Provider value={value}>{children}</LayoutModeContext.Provider>;\n};\n\n// Returns current layout mode and a setter
|
|
1
|
+
{"version":3,"file":"LayoutModeContext.js","sources":["../lib/context/LayoutModeContext.tsx"],"sourcesContent":["import { createContext, type ReactNode, useContext, useMemo, useState } from 'react';\n\nexport type LayoutMode = 'padded' | 'full';\n\ninterface LayoutModeContextValue {\n mode: LayoutMode;\n setMode: (mode: LayoutMode) => void;\n}\n\nconst LayoutModeContext = createContext<LayoutModeContextValue>({\n mode: 'padded',\n setMode: () => {},\n});\n\nexport const LayoutModeProvider = ({ children }: { children: ReactNode }) => {\n const [mode, setMode] = useState<LayoutMode>('padded');\n const value = useMemo(() => ({ mode, setMode }), [mode]);\n return <LayoutModeContext.Provider value={value}>{children}</LayoutModeContext.Provider>;\n};\n\n// Returns current layout mode and a setter; MF pages set 'full' on mount and reset to 'padded' on unmount.\nexport function useLayoutMode(): LayoutModeContextValue {\n return useContext(LayoutModeContext);\n}\n"],"names":[],"mappings":";;;AASA,MAAM,oBAAoB,aAAA,CAAsC;AAAA,EAC9D,IAAA,EAAM,QAAA;AAAA,EACN,SAAS,MAAM;AAAA,EAAC;AAClB,CAAC,CAAA;AAEM,MAAM,kBAAA,GAAqB,CAAC,EAAE,QAAA,EAAS,KAA+B;AAC3E,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAqB,QAAQ,CAAA;AACrD,EAAA,MAAM,KAAA,GAAQ,QAAQ,OAAO,EAAE,MAAM,OAAA,EAAQ,CAAA,EAAI,CAAC,IAAI,CAAC,CAAA;AACvD,EAAA,uBAAO,GAAA,CAAC,iBAAA,CAAkB,QAAA,EAAlB,EAA2B,OAAe,QAAA,EAAS,CAAA;AAC7D;AAGO,SAAS,aAAA,GAAwC;AACtD,EAAA,OAAO,WAAW,iBAAiB,CAAA;AACrC;;;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { S as SelectFilter } from './SelectFilter.js';
|
|
4
|
+
import { S as Select } from './Select.js';
|
|
5
|
+
|
|
6
|
+
const LegalEntityFilter = Object.assign(
|
|
7
|
+
forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
8
|
+
SelectFilter,
|
|
9
|
+
{
|
|
10
|
+
ref,
|
|
11
|
+
name: "legalEntityId",
|
|
12
|
+
label: "Legal Entity",
|
|
13
|
+
placeholder: "Select legal entity",
|
|
14
|
+
optionsEndpoint: "select-api/legal-entities",
|
|
15
|
+
fieldKeys: { valueKey: "id", labelKey: "name", descriptionKey: "code" },
|
|
16
|
+
...props
|
|
17
|
+
}
|
|
18
|
+
)),
|
|
19
|
+
{ displayName: "LegalEntityFilter", defaultLabel: "Legal Entity", defaultName: "legalEntityId" }
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
const LegalEntitySelector = forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
23
|
+
Select,
|
|
24
|
+
{
|
|
25
|
+
ref,
|
|
26
|
+
label: "Legal Entity",
|
|
27
|
+
placeholder: "Select legal entity",
|
|
28
|
+
searchable: true,
|
|
29
|
+
optionsEndpoint: "select-api/legal-entities",
|
|
30
|
+
fieldKeys: { valueKey: "id", labelKey: "name", descriptionKey: "code" },
|
|
31
|
+
...props
|
|
32
|
+
}
|
|
33
|
+
));
|
|
34
|
+
LegalEntitySelector.displayName = "LegalEntitySelector";
|
|
35
|
+
|
|
36
|
+
export { LegalEntityFilter as L, LegalEntitySelector as a };
|
|
37
|
+
//# sourceMappingURL=LegalEntitySelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegalEntitySelector.js","sources":["../lib/selects/legal-entity/LegalEntityFilter.tsx","../lib/selects/legal-entity/LegalEntitySelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type LegalEntityFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\n// Pre-configured SelectFilter for legal entity filtering with async search\nexport const LegalEntityFilter = Object.assign(\n forwardRef<HTMLButtonElement, LegalEntityFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"legalEntityId\"\n label=\"Legal Entity\"\n placeholder=\"Select legal entity\"\n optionsEndpoint=\"select-api/legal-entities\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name', descriptionKey: 'code' }}\n {...props}\n />\n )),\n { displayName: 'LegalEntityFilter', defaultLabel: 'Legal Entity', defaultName: 'legalEntityId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type LegalEntitySelectorProps = Omit<SelectProps, 'optionsEndpoint'>;\n\n// Pre-configured Select for legal entity selection with async search (supports single and multi-select)\nexport const LegalEntitySelector = forwardRef<HTMLButtonElement, LegalEntitySelectorProps>((props, ref) => (\n <Select\n ref={ref}\n label=\"Legal Entity\"\n placeholder=\"Select legal entity\"\n searchable\n optionsEndpoint=\"select-api/legal-entities\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name', descriptionKey: 'code' }}\n {...props}\n />\n));\nLegalEntitySelector.displayName = 'LegalEntitySelector';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,oBAAoB,MAAA,CAAO,MAAA;AAAA,EACtC,UAAA,CAAsD,CAAC,KAAA,EAAO,GAAA,qBAC5D,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,eAAA;AAAA,MACL,KAAA,EAAM,cAAA;AAAA,MACN,WAAA,EAAY,qBAAA;AAAA,MACZ,eAAA,EAAgB,2BAAA;AAAA,MAChB,WAAW,EAAE,QAAA,EAAU,MAAM,QAAA,EAAU,MAAA,EAAQ,gBAAgB,MAAA,EAAO;AAAA,MACrE,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,mBAAA,EAAqB,YAAA,EAAc,cAAA,EAAgB,aAAa,eAAA;AACjF;;ACbO,MAAM,mBAAA,GAAsB,UAAA,CAAwD,CAAC,KAAA,EAAO,GAAA,qBACjG,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,cAAA;AAAA,IACN,WAAA,EAAY,qBAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,2BAAA;AAAA,IAChB,WAAW,EAAE,QAAA,EAAU,MAAM,QAAA,EAAU,MAAA,EAAQ,gBAAgB,MAAA,EAAO;AAAA,IACrE,GAAG;AAAA;AACN,CACD;AACD,mBAAA,CAAoB,WAAA,GAAc,qBAAA;;;;"}
|
package/dist/LineChart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChart.js","sources":["../node_modules/.pnpm/recharts@3.8.0_@types+react@19.2.14_react-dom@19.2.3_react@19.2.3__react-is@17.0.2_react@19.2.3_redux@5.0.1/node_modules/recharts/es6/state/selectors/lineSelectors.js","../node_modules/.pnpm/recharts@3.8.0_@types+react@19.2.14_react-dom@19.2.3_react@19.2.3__react-is@17.0.2_react@19.2.3_redux@5.0.1/node_modules/recharts/es6/cartesian/Line.js","../node_modules/.pnpm/recharts@3.8.0_@types+react@19.2.14_react-dom@19.2.3_react@19.2.3__react-is@17.0.2_react@19.2.3_redux@5.0.1/node_modules/recharts/es6/chart/LineChart.js","../lib/components/LineChart/LineChart.tsx"],"sourcesContent":["import { createSelector } from 'reselect';\nimport { computeLinePoints } from '../../cartesian/Line';\nimport { selectChartDataWithIndexesIfNotInPanoramaPosition4 } from './dataSelectors';\nimport { selectChartLayout } from '../../context/chartLayoutContext';\nimport { selectAxisWithScale, selectTicksOfGraphicalItem, selectUnfilteredCartesianItems } from './axisSelectors';\nimport { getBandSizeOfAxis, isCategoricalAxis } from '../../util/ChartUtils';\nvar selectXAxisWithScale = (state, xAxisId, _yAxisId, isPanorama) => selectAxisWithScale(state, 'xAxis', xAxisId, isPanorama);\nvar selectXAxisTicks = (state, xAxisId, _yAxisId, isPanorama) => selectTicksOfGraphicalItem(state, 'xAxis', xAxisId, isPanorama);\nvar selectYAxisWithScale = (state, _xAxisId, yAxisId, isPanorama) => selectAxisWithScale(state, 'yAxis', yAxisId, isPanorama);\nvar selectYAxisTicks = (state, _xAxisId, yAxisId, isPanorama) => selectTicksOfGraphicalItem(state, 'yAxis', yAxisId, isPanorama);\nvar selectBandSize = createSelector([selectChartLayout, selectXAxisWithScale, selectYAxisWithScale, selectXAxisTicks, selectYAxisTicks], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks) => {\n if (isCategoricalAxis(layout, 'xAxis')) {\n return getBandSizeOfAxis(xAxis, xAxisTicks, false);\n }\n return getBandSizeOfAxis(yAxis, yAxisTicks, false);\n});\nvar pickLineId = (_state, _xAxisId, _yAxisId, _isPanorama, id) => id;\nfunction isLineSettings(item) {\n return item.type === 'line';\n}\n\n/*\n * There is a race condition problem because we read some data from props and some from the state.\n * The state is updated through a dispatch and is one render behind,\n * and so we have this weird one tick render where the displayedData in one selector have the old dataKey\n * but the new dataKey in another selector.\n *\n * So here instead of reading the dataKey from the props, we always read it from the state.\n */\nvar selectSynchronisedLineSettings = createSelector([selectUnfilteredCartesianItems, pickLineId], (graphicalItems, id) => graphicalItems.filter(isLineSettings).find(x => x.id === id));\nexport var selectLinePoints = createSelector([selectChartLayout, selectXAxisWithScale, selectYAxisWithScale, selectXAxisTicks, selectYAxisTicks, selectSynchronisedLineSettings, selectBandSize, selectChartDataWithIndexesIfNotInPanoramaPosition4], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks, lineSettings, bandSize, _ref) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref;\n if (lineSettings == null || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || xAxisTicks.length === 0 || yAxisTicks.length === 0 || bandSize == null || layout !== 'horizontal' && layout !== 'vertical') {\n return undefined;\n }\n var {\n dataKey,\n data\n } = lineSettings;\n var displayedData;\n if (data != null && data.length > 0) {\n displayedData = data;\n } else {\n displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n }\n if (displayedData == null) {\n return undefined;\n }\n return computeLinePoints({\n layout,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n dataKey,\n bandSize,\n displayedData\n });\n});","var _excluded = [\"id\"],\n _excluded2 = [\"type\", \"layout\", \"connectNulls\", \"needClip\", \"shape\"],\n _excluded3 = [\"activeDot\", \"animateNewValues\", \"animationBegin\", \"animationDuration\", \"animationEasing\", \"connectNulls\", \"dot\", \"hide\", \"isAnimationActive\", \"label\", \"legendType\", \"xAxisId\", \"yAxisId\", \"id\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from 'react';\nimport { Component, useCallback, useMemo, useRef, useState } from 'react';\nimport { clsx } from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { CartesianLabelListContextProvider, LabelListFromLabelProp } from '../component/LabelList';\nimport { Dots } from '../component/Dots';\nimport { interpolate, isNullish, noop } from '../util/DataUtils';\nimport { isClipDot } from '../util/ReactUtils';\nimport { getCateCoordinateOfLine, getTooltipNameProp, getValueByDataKey } from '../util/ChartUtils';\nimport { ActivePoints } from '../component/ActivePoints';\nimport { SetTooltipEntrySettings } from '../state/SetTooltipEntrySettings';\nimport { SetErrorBarContext } from '../context/ErrorBarContext';\nimport { GraphicalItemClipPath, useNeedsClip } from './GraphicalItemClipPath';\nimport { useChartLayout } from '../context/chartLayoutContext';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { selectLinePoints } from '../state/selectors/lineSelectors';\nimport { useAppSelector } from '../state/hooks';\nimport { SetLegendPayload } from '../state/SetLegendPayload';\nimport { useAnimationId } from '../util/useAnimationId';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { usePlotArea } from '../hooks';\nimport { RegisterGraphicalItemId } from '../context/RegisterGraphicalItemId';\nimport { SetCartesianGraphicalItem } from '../state/SetGraphicalItem';\nimport { svgPropertiesNoEvents } from '../util/svgPropertiesNoEvents';\nimport { JavascriptAnimate } from '../animation/JavascriptAnimate';\nimport { svgPropertiesAndEvents } from '../util/svgPropertiesAndEvents';\nimport { getRadiusAndStrokeWidthFromDot } from '../util/getRadiusAndStrokeWidthFromDot';\nimport { Shape } from '../util/ActiveShapeUtils';\nimport { ZIndexLayer } from '../zIndex/ZIndexLayer';\nimport { DefaultZIndexes } from '../zIndex/DefaultZIndexes';\nimport { propsAreEqual } from '../util/propsAreEqual';\n\n/**\n * Internal props, combination of external props + defaultProps + private Recharts state\n */\n\n/**\n * External props, intended for end users to fill in\n */\n\n/**\n * Because of naming conflict, we are forced to ignore certain (valid) SVG attributes.\n */\n\nvar computeLegendPayloadFromAreaData = props => {\n var {\n dataKey,\n name,\n stroke,\n legendType,\n hide\n } = props;\n return [{\n inactive: hide,\n dataKey,\n type: legendType,\n color: stroke,\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n};\nvar SetLineTooltipEntrySettings = /*#__PURE__*/React.memo(_ref => {\n var {\n dataKey,\n data,\n stroke,\n strokeWidth,\n fill,\n name,\n hide,\n unit,\n tooltipType,\n id\n } = _ref;\n var tooltipEntrySettings = {\n dataDefinedOnItem: data,\n getPosition: noop,\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n nameKey: undefined,\n name: getTooltipNameProp(name, dataKey),\n hide,\n type: tooltipType,\n color: stroke,\n unit,\n graphicalItemId: id\n }\n };\n return /*#__PURE__*/React.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings: tooltipEntrySettings\n });\n});\n\n/**\n * Generates a simple stroke-dasharray string for animating a line draw effect.\n *\n * Uses `totalLength` as the gap (instead of `totalLength - length`) to prevent a floating-point\n * precision artifact: when fractional dash and gap values are serialized to a string attribute\n * and re-parsed by the SVG renderer, their sum can differ from the actual path length by a ULP,\n * causing the dasharray pattern to repeat and render a phantom dot at the path endpoint\n * with round or square strokeLinecap.\n *\n * @param totalLength The total length of the SVG path\n * @param length The currently visible portion of the path\n * @returns A stroke-dasharray string like \"50px 200px\"\n */\nvar generateSimpleStrokeDasharray = (totalLength, length) => {\n return \"\".concat(length, \"px \").concat(totalLength, \"px\");\n};\n\n/**\n * Repeats a dash pattern array a given number of times.\n *\n * If the input array has an odd length, a trailing `0` is appended to make it even\n * before repeating, because SVG stroke-dasharray patterns must have an even number\n * of values to cycle correctly between dash and gap segments.\n *\n * @param lines Array of dash/gap lengths to repeat\n * @param count Number of times to repeat the pattern\n * @returns A new array with the pattern repeated `count` times\n */\nfunction repeat(lines, count) {\n var linesUnit = lines.length % 2 !== 0 ? [...lines, 0] : lines;\n var result = [];\n for (var i = 0; i < count; ++i) {\n result.push(...linesUnit);\n }\n return result;\n}\n\n/**\n * Computes a stroke-dasharray string for animating a custom-dashed line draw effect.\n *\n * Given a user-specified dash pattern (e.g. `\"7,3\"`), this function builds a dasharray\n * that reveals exactly `length` pixels of that pattern, followed by a gap of `totalLength`\n * to hide the remainder of the path.\n *\n * Like {@link generateSimpleStrokeDasharray}, the trailing gap uses `totalLength` rather than\n * `totalLength - length` to avoid floating-point precision artifacts with round/square strokeLinecap.\n *\n * @param length The currently visible portion of the path\n * @param totalLength The total length of the SVG path\n * @param lines The user-specified dash pattern as an array of numbers (e.g. [7, 3])\n * @returns A stroke-dasharray string incorporating the custom dash pattern\n */\nvar getStrokeDasharray = (length, totalLength, lines) => {\n var lineLength = lines.reduce((pre, next) => pre + next, 0);\n\n // if lineLength is 0 return the default when no strokeDasharray is provided\n if (!lineLength) {\n return generateSimpleStrokeDasharray(totalLength, length);\n }\n var count = Math.floor(length / lineLength);\n var remainLength = length % lineLength;\n var remainLines = [];\n for (var i = 0, sum = 0; i < lines.length; sum += (_lines$i = lines[i]) !== null && _lines$i !== void 0 ? _lines$i : 0, ++i) {\n var _lines$i;\n var lineValue = lines[i];\n if (lineValue != null && sum + lineValue > remainLength) {\n remainLines = [...lines.slice(0, i), remainLength - sum];\n break;\n }\n }\n var emptyLines = remainLines.length % 2 === 0 ? [0, totalLength] : [totalLength];\n return [...repeat(lines, count), ...remainLines, ...emptyLines].map(line => \"\".concat(line, \"px\")).join(', ');\n};\nfunction LineDotsWrapper(_ref2) {\n var {\n clipPathId,\n points,\n props\n } = _ref2;\n var {\n dot,\n dataKey,\n needClip\n } = props;\n\n /*\n * Exclude ID from the props passed to the Dots component\n * because then the ID would be applied to multiple dots, and it would no longer be unique.\n */\n var {\n id\n } = props,\n propsWithoutId = _objectWithoutProperties(props, _excluded);\n var lineProps = svgPropertiesNoEvents(propsWithoutId);\n return /*#__PURE__*/React.createElement(Dots, {\n points: points,\n dot: dot,\n className: \"recharts-line-dots\",\n dotClassName: \"recharts-line-dot\",\n dataKey: dataKey,\n baseProps: lineProps,\n needClip: needClip,\n clipPathId: clipPathId\n });\n}\nfunction LineLabelListProvider(_ref3) {\n var {\n showLabels,\n children,\n points\n } = _ref3;\n var labelListEntries = useMemo(() => {\n return points === null || points === void 0 ? void 0 : points.map(point => {\n var _point$x, _point$y;\n var viewBox = {\n x: (_point$x = point.x) !== null && _point$x !== void 0 ? _point$x : 0,\n y: (_point$y = point.y) !== null && _point$y !== void 0 ? _point$y : 0,\n width: 0,\n lowerWidth: 0,\n upperWidth: 0,\n height: 0\n };\n return _objectSpread(_objectSpread({}, viewBox), {}, {\n value: point.value,\n payload: point.payload,\n viewBox,\n /*\n * Line is not passing parentViewBox to the LabelList so the labels can escape - looks like a bug, should we pass parentViewBox?\n * Or should this just be the root chart viewBox?\n */\n parentViewBox: undefined,\n fill: undefined\n });\n });\n }, [points]);\n return /*#__PURE__*/React.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : undefined\n }, children);\n}\nfunction StaticCurve(_ref4) {\n var {\n clipPathId,\n pathRef,\n points,\n strokeDasharray,\n props\n } = _ref4;\n var {\n type,\n layout,\n connectNulls,\n needClip,\n shape\n } = props,\n others = _objectWithoutProperties(props, _excluded2);\n var curveProps = _objectSpread(_objectSpread({}, svgPropertiesAndEvents(others)), {}, {\n fill: 'none',\n className: 'recharts-line-curve',\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : undefined,\n points,\n type,\n layout,\n connectNulls,\n strokeDasharray: strokeDasharray !== null && strokeDasharray !== void 0 ? strokeDasharray : props.strokeDasharray\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, (points === null || points === void 0 ? void 0 : points.length) > 1 && /*#__PURE__*/React.createElement(Shape, _extends({\n shapeType: \"curve\",\n option: shape\n }, curveProps, {\n pathRef: pathRef\n })), /*#__PURE__*/React.createElement(LineDotsWrapper, {\n points: points,\n clipPathId: clipPathId,\n props: props\n }));\n}\nfunction getTotalLength(mainCurve) {\n try {\n return mainCurve && mainCurve.getTotalLength && mainCurve.getTotalLength() || 0;\n } catch (_unused) {\n return 0;\n }\n}\nfunction CurveWithAnimation(_ref5) {\n var {\n clipPathId,\n props,\n pathRef,\n previousPointsRef,\n longestAnimatedLengthRef\n } = _ref5;\n var {\n points,\n strokeDasharray,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n animateNewValues,\n width,\n height,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var prevPoints = previousPointsRef.current;\n var animationId = useAnimationId(points, 'recharts-line-');\n var animationIdRef = useRef(animationId);\n var [isAnimating, setIsAnimating] = useState(false);\n var showLabels = !isAnimating;\n var handleAnimationEnd = useCallback(() => {\n if (typeof onAnimationEnd === 'function') {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = useCallback(() => {\n if (typeof onAnimationStart === 'function') {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n var totalLength = getTotalLength(pathRef.current);\n /*\n * Here we want to detect if the length animation has been interrupted.\n * For that we keep a reference to the furthest length that has been animated.\n *\n * And then, to keep things smooth, we add to it the current length that is being animated right now.\n *\n * If we did Math.max then it makes the length animation \"pause\" but we want to keep it smooth\n * so in case we have some \"leftover\" length from the previous animation we add it to the current length.\n *\n * This is not perfect because the animation changes speed due to easing. The default easing is 'ease' which is not linear\n * and makes it stand out. But it's good enough I suppose.\n * If we want to fix it then we need to keep track of multiple animations and their easing and timings.\n *\n * If you want to see this in action, try to change the dataKey of the line chart while the initial animation is running.\n * The Line begins with zero length and slowly grows to the full length. While this growth is in progress,\n * change the dataKey and the Line will continue growing from where it has grown so far.\n *\n * This is for the case when new animation triggers. When that happens we get new points, everything re-renders,\n * and we get fresh new state in this component and use the ref stored above.\n *\n * In case when we get render without new animation - for example when opacity changes, or color changes,\n * then the animationId remains the same, and we do not update the starting point.\n * See https://github.com/recharts/recharts/issues/6044\n */\n var startingPointRef = useRef(0);\n if (animationIdRef.current !== animationId) {\n startingPointRef.current = longestAnimatedLengthRef.current;\n animationIdRef.current = animationId;\n }\n var startingPoint = startingPointRef.current;\n return /*#__PURE__*/React.createElement(LineLabelListProvider, {\n points: points,\n showLabels: showLabels\n }, props.children, /*#__PURE__*/React.createElement(JavascriptAnimate, {\n animationId: animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart,\n key: animationId\n }, t => {\n var lengthInterpolated = interpolate(startingPoint, totalLength + startingPoint, t);\n var curLength = Math.min(lengthInterpolated, totalLength);\n var currentStrokeDasharray;\n if (isAnimationActive) {\n if (strokeDasharray) {\n var lines = \"\".concat(strokeDasharray).split(/[,\\s]+/gim).map(num => parseFloat(num));\n currentStrokeDasharray = getStrokeDasharray(curLength, totalLength, lines);\n } else {\n currentStrokeDasharray = generateSimpleStrokeDasharray(totalLength, curLength);\n }\n } else {\n currentStrokeDasharray = strokeDasharray == null ? undefined : String(strokeDasharray);\n }\n\n /*\n * Here it is important to wait a little bit with updating the previousPointsRef\n * before the animation has a time to initialize.\n * If we set the previous pointsRef immediately, we set it before the Legend height it calculated\n * and before pathRef is set.\n * If that happens, the Line will re-render again after Legend had reported its height\n * which will start a new animation with the previous points as the starting point\n * which gives the effect of the Line animating slightly upwards (where the animation distance equals the Legend height).\n * Waiting for t > 0 is indirect but good enough to ensure that the Legend height is calculated and animation works properly.\n *\n * Total length similarly is calculated from the pathRef. We should not update the previousPointsRef\n * before the pathRef is set, otherwise we will have a wrong total length.\n */\n if (t > 0 && totalLength > 0) {\n // eslint-disable-next-line no-param-reassign\n previousPointsRef.current = points;\n /*\n * totalLength is set from a ref and is not updated in the first tick of the animation.\n * It defaults to zero which is exactly what we want here because we want to grow from zero,\n * however the same happens when the data change.\n *\n * In that case we want to remember the previous length and continue from there, and only animate the shape.\n *\n * Therefore the totalLength > 0 check.\n *\n * The Animate is about to fire handleAnimationStart which will update the state\n * and cause a re-render and read a new proper totalLength which will be used in the next tick\n * and update the longestAnimatedLengthRef.\n *\n * Why Math.max? Sometimes the curve goes through a smaller length than previously recorded.\n * If we just set it to curLength, then the next animation would start from a smaller length\n * which looks weird. So we keep the longest length ever reached and then animate from there.\n */\n // eslint-disable-next-line no-param-reassign\n longestAnimatedLengthRef.current = Math.max(longestAnimatedLengthRef.current, curLength);\n }\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n var stepData = t === 1 ? points : points.map((entry, index) => {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t),\n y: interpolate(prev.y, entry.y, t)\n });\n }\n\n // magic number of faking previous x and y location\n if (animateNewValues) {\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolate(width * 2, entry.x, t),\n y: interpolate(height / 2, entry.y, t)\n });\n }\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: entry.x,\n y: entry.y\n });\n });\n // eslint-disable-next-line no-param-reassign\n previousPointsRef.current = stepData;\n return /*#__PURE__*/React.createElement(StaticCurve, {\n props: props,\n points: stepData,\n clipPathId: clipPathId,\n pathRef: pathRef,\n strokeDasharray: currentStrokeDasharray\n });\n }\n return /*#__PURE__*/React.createElement(StaticCurve, {\n props: props,\n points: points,\n clipPathId: clipPathId,\n pathRef: pathRef,\n strokeDasharray: currentStrokeDasharray\n });\n }), /*#__PURE__*/React.createElement(LabelListFromLabelProp, {\n label: props.label\n }));\n}\nfunction RenderCurve(_ref6) {\n var {\n clipPathId,\n props\n } = _ref6;\n var previousPointsRef = useRef(null);\n var longestAnimatedLengthRef = useRef(0);\n var pathRef = useRef(null);\n return /*#__PURE__*/React.createElement(CurveWithAnimation, {\n props: props,\n clipPathId: clipPathId,\n previousPointsRef: previousPointsRef,\n longestAnimatedLengthRef: longestAnimatedLengthRef,\n pathRef: pathRef\n });\n}\nvar errorBarDataPointFormatter = (dataPoint, dataKey) => {\n var _dataPoint$x, _dataPoint$y;\n return {\n x: (_dataPoint$x = dataPoint.x) !== null && _dataPoint$x !== void 0 ? _dataPoint$x : undefined,\n y: (_dataPoint$y = dataPoint.y) !== null && _dataPoint$y !== void 0 ? _dataPoint$y : undefined,\n value: dataPoint.value,\n // getValueByDataKey does not validate the output type\n errorVal: getValueByDataKey(dataPoint.payload, dataKey)\n };\n};\n\n// eslint-disable-next-line react/prefer-stateless-function\nclass LineWithState extends Component {\n render() {\n var {\n hide,\n dot,\n points,\n className,\n xAxisId,\n yAxisId,\n top,\n left,\n width,\n height,\n id,\n needClip,\n zIndex\n } = this.props;\n if (hide) {\n return null;\n }\n var layerClass = clsx('recharts-line', className);\n var clipPathId = id;\n var {\n r,\n strokeWidth\n } = getRadiusAndStrokeWidthFromDot(dot);\n var clipDot = isClipDot(dot);\n var dotSize = r * 2 + strokeWidth;\n var activePointsClipPath = needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').concat(clipPathId, \")\") : undefined;\n return /*#__PURE__*/React.createElement(ZIndexLayer, {\n zIndex: zIndex\n }, /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClip && /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(GraphicalItemClipPath, {\n clipPathId: clipPathId,\n xAxisId: xAxisId,\n yAxisId: yAxisId\n }), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))), /*#__PURE__*/React.createElement(SetErrorBarContext, {\n xAxisId: xAxisId,\n yAxisId: yAxisId,\n data: points,\n dataPointFormatter: errorBarDataPointFormatter,\n errorBarOffset: 0\n }, /*#__PURE__*/React.createElement(RenderCurve, {\n props: this.props,\n clipPathId: clipPathId\n }))), /*#__PURE__*/React.createElement(ActivePoints, {\n activeDot: this.props.activeDot,\n points: points,\n mainColor: this.props.stroke,\n itemDataKey: this.props.dataKey,\n clipPath: activePointsClipPath\n }));\n }\n}\nexport var defaultLineProps = {\n activeDot: true,\n animateNewValues: true,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease',\n connectNulls: false,\n dot: true,\n fill: '#fff',\n hide: false,\n isAnimationActive: 'auto',\n label: false,\n legendType: 'line',\n stroke: '#3182bd',\n strokeWidth: 1,\n xAxisId: 0,\n yAxisId: 0,\n zIndex: DefaultZIndexes.line,\n type: 'linear'\n};\nfunction LineImpl(props) {\n var _resolveDefaultProps = resolveDefaultProps(props, defaultLineProps),\n {\n activeDot,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n connectNulls,\n dot,\n hide,\n isAnimationActive,\n label,\n legendType,\n xAxisId,\n yAxisId,\n id\n } = _resolveDefaultProps,\n everythingElse = _objectWithoutProperties(_resolveDefaultProps, _excluded3);\n var {\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n var plotArea = usePlotArea();\n var layout = useChartLayout();\n var isPanorama = useIsPanorama();\n var points = useAppSelector(state => selectLinePoints(state, xAxisId, yAxisId, isPanorama, id));\n if (layout !== 'horizontal' && layout !== 'vertical' || points == null || plotArea == null) {\n // Cannot render Line in an unsupported layout\n return null;\n }\n var {\n height,\n width,\n x: left,\n y: top\n } = plotArea;\n return /*#__PURE__*/React.createElement(LineWithState, _extends({}, everythingElse, {\n id: id,\n connectNulls: connectNulls,\n dot: dot,\n activeDot: activeDot,\n animateNewValues: animateNewValues,\n animationBegin: animationBegin,\n animationDuration: animationDuration,\n animationEasing: animationEasing,\n isAnimationActive: isAnimationActive,\n hide: hide,\n label: label,\n legendType: legendType,\n xAxisId: xAxisId,\n yAxisId: yAxisId,\n points: points,\n layout: layout,\n height: height,\n width: width,\n left: left,\n top: top,\n needClip: needClip\n }));\n}\nexport function computeLinePoints(_ref7) {\n var {\n layout,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n dataKey,\n bandSize,\n displayedData\n } = _ref7;\n return displayedData.map((entry, index) => {\n // getValueByDataKey does not validate the output type\n var value = getValueByDataKey(entry, dataKey);\n if (layout === 'horizontal') {\n var _x = getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize,\n entry,\n index\n });\n var _y = isNullish(value) ? null : yAxis.scale.map(value);\n return {\n x: _x,\n y: _y !== null && _y !== void 0 ? _y : null,\n value,\n payload: entry\n };\n }\n var x = isNullish(value) ? null : xAxis.scale.map(value);\n var y = getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize,\n entry,\n index\n });\n if (x == null || y == null) {\n return null;\n }\n return {\n x,\n y,\n value,\n payload: entry\n };\n }).filter(Boolean);\n}\nfunction LineFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultLineProps);\n var isPanorama = useIsPanorama();\n return /*#__PURE__*/React.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"line\"\n }, id => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SetLegendPayload, {\n legendPayload: computeLegendPayloadFromAreaData(props)\n }), /*#__PURE__*/React.createElement(SetLineTooltipEntrySettings, {\n dataKey: props.dataKey,\n data: props.data,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n unit: props.unit,\n tooltipType: props.tooltipType,\n id: id\n }), /*#__PURE__*/React.createElement(SetCartesianGraphicalItem, {\n type: \"line\",\n id: id,\n data: props.data,\n xAxisId: props.xAxisId,\n yAxisId: props.yAxisId,\n zAxisId: 0,\n dataKey: props.dataKey,\n hide: props.hide,\n isPanorama: isPanorama\n }), /*#__PURE__*/React.createElement(LineImpl, _extends({}, props, {\n id: id\n }))));\n}\n\n/**\n * @provides LabelListContext\n * @provides ErrorBarContext\n * @consumes CartesianChartContext\n */\nexport var Line = /*#__PURE__*/React.memo(LineFn, propsAreEqual);\n// @ts-expect-error we need to set the displayName for debugging purposes\nLine.displayName = 'Line';","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport { arrayTooltipSearcher } from '../state/optionsSlice';\nimport { CartesianChart } from './CartesianChart';\nvar allowedTooltipTypes = ['axis'];\n\n/**\n * @consumes ResponsiveContainerContext\n * @provides CartesianViewBoxContext\n * @provides CartesianChartContext\n */\nexport var LineChart = /*#__PURE__*/forwardRef((props, ref) => {\n return /*#__PURE__*/React.createElement(CartesianChart, {\n chartName: \"LineChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref: ref\n });\n});","import { CartesianGrid, Line, LineChart as RechartsLineChart, XAxis, YAxis } from 'recharts';\nimport {\n type ChartConfig,\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n} from '../../../shadcn/shadcnChart';\n\ninterface LineSeries {\n dataKey: string;\n type?: 'linear' | 'monotone';\n}\n\nexport interface LineChartProps {\n data: Record<string, unknown>[];\n config: ChartConfig;\n xAxisKey: string;\n lines: LineSeries[];\n className?: string;\n}\n\nexport const LineChart = ({ data, config, xAxisKey, lines, className }: LineChartProps) => (\n <ChartContainer config={config} className={className ?? 'min-h-[300px] w-full'}>\n <RechartsLineChart data={data}>\n <CartesianGrid strokeDasharray=\"3 3\" vertical={false} />\n <XAxis dataKey={xAxisKey} tickLine={false} axisLine={false} />\n <YAxis tickLine={false} axisLine={false} />\n <ChartTooltip content={<ChartTooltipContent />} />\n <ChartLegend content={<ChartLegendContent />} />\n {lines.map((line) => (\n <Line\n key={line.dataKey}\n type={line.type ?? 'monotone'}\n dataKey={line.dataKey}\n stroke={`var(--color-${line.dataKey})`}\n strokeWidth={2}\n dot={false}\n />\n ))}\n </RechartsLineChart>\n </ChartContainer>\n);\n\nLineChart.displayName = 'LineChart';\n"],"names":["LineChart","RechartsLineChart"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"LineChart.js","sources":["../node_modules/.pnpm/recharts@3.8.0_@types+react@19.2.14_react-dom@19.2.3_react@19.2.3__react-is@18.3.1_react@19.2.3_redux@5.0.1/node_modules/recharts/es6/state/selectors/lineSelectors.js","../node_modules/.pnpm/recharts@3.8.0_@types+react@19.2.14_react-dom@19.2.3_react@19.2.3__react-is@18.3.1_react@19.2.3_redux@5.0.1/node_modules/recharts/es6/cartesian/Line.js","../node_modules/.pnpm/recharts@3.8.0_@types+react@19.2.14_react-dom@19.2.3_react@19.2.3__react-is@18.3.1_react@19.2.3_redux@5.0.1/node_modules/recharts/es6/chart/LineChart.js","../lib/components/LineChart/LineChart.tsx"],"sourcesContent":["import { createSelector } from 'reselect';\nimport { computeLinePoints } from '../../cartesian/Line';\nimport { selectChartDataWithIndexesIfNotInPanoramaPosition4 } from './dataSelectors';\nimport { selectChartLayout } from '../../context/chartLayoutContext';\nimport { selectAxisWithScale, selectTicksOfGraphicalItem, selectUnfilteredCartesianItems } from './axisSelectors';\nimport { getBandSizeOfAxis, isCategoricalAxis } from '../../util/ChartUtils';\nvar selectXAxisWithScale = (state, xAxisId, _yAxisId, isPanorama) => selectAxisWithScale(state, 'xAxis', xAxisId, isPanorama);\nvar selectXAxisTicks = (state, xAxisId, _yAxisId, isPanorama) => selectTicksOfGraphicalItem(state, 'xAxis', xAxisId, isPanorama);\nvar selectYAxisWithScale = (state, _xAxisId, yAxisId, isPanorama) => selectAxisWithScale(state, 'yAxis', yAxisId, isPanorama);\nvar selectYAxisTicks = (state, _xAxisId, yAxisId, isPanorama) => selectTicksOfGraphicalItem(state, 'yAxis', yAxisId, isPanorama);\nvar selectBandSize = createSelector([selectChartLayout, selectXAxisWithScale, selectYAxisWithScale, selectXAxisTicks, selectYAxisTicks], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks) => {\n if (isCategoricalAxis(layout, 'xAxis')) {\n return getBandSizeOfAxis(xAxis, xAxisTicks, false);\n }\n return getBandSizeOfAxis(yAxis, yAxisTicks, false);\n});\nvar pickLineId = (_state, _xAxisId, _yAxisId, _isPanorama, id) => id;\nfunction isLineSettings(item) {\n return item.type === 'line';\n}\n\n/*\n * There is a race condition problem because we read some data from props and some from the state.\n * The state is updated through a dispatch and is one render behind,\n * and so we have this weird one tick render where the displayedData in one selector have the old dataKey\n * but the new dataKey in another selector.\n *\n * So here instead of reading the dataKey from the props, we always read it from the state.\n */\nvar selectSynchronisedLineSettings = createSelector([selectUnfilteredCartesianItems, pickLineId], (graphicalItems, id) => graphicalItems.filter(isLineSettings).find(x => x.id === id));\nexport var selectLinePoints = createSelector([selectChartLayout, selectXAxisWithScale, selectYAxisWithScale, selectXAxisTicks, selectYAxisTicks, selectSynchronisedLineSettings, selectBandSize, selectChartDataWithIndexesIfNotInPanoramaPosition4], (layout, xAxis, yAxis, xAxisTicks, yAxisTicks, lineSettings, bandSize, _ref) => {\n var {\n chartData,\n dataStartIndex,\n dataEndIndex\n } = _ref;\n if (lineSettings == null || xAxis == null || yAxis == null || xAxisTicks == null || yAxisTicks == null || xAxisTicks.length === 0 || yAxisTicks.length === 0 || bandSize == null || layout !== 'horizontal' && layout !== 'vertical') {\n return undefined;\n }\n var {\n dataKey,\n data\n } = lineSettings;\n var displayedData;\n if (data != null && data.length > 0) {\n displayedData = data;\n } else {\n displayedData = chartData === null || chartData === void 0 ? void 0 : chartData.slice(dataStartIndex, dataEndIndex + 1);\n }\n if (displayedData == null) {\n return undefined;\n }\n return computeLinePoints({\n layout,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n dataKey,\n bandSize,\n displayedData\n });\n});","var _excluded = [\"id\"],\n _excluded2 = [\"type\", \"layout\", \"connectNulls\", \"needClip\", \"shape\"],\n _excluded3 = [\"activeDot\", \"animateNewValues\", \"animationBegin\", \"animationDuration\", \"animationEasing\", \"connectNulls\", \"dot\", \"hide\", \"isAnimationActive\", \"label\", \"legendType\", \"xAxisId\", \"yAxisId\", \"id\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from 'react';\nimport { Component, useCallback, useMemo, useRef, useState } from 'react';\nimport { clsx } from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { CartesianLabelListContextProvider, LabelListFromLabelProp } from '../component/LabelList';\nimport { Dots } from '../component/Dots';\nimport { interpolate, isNullish, noop } from '../util/DataUtils';\nimport { isClipDot } from '../util/ReactUtils';\nimport { getCateCoordinateOfLine, getTooltipNameProp, getValueByDataKey } from '../util/ChartUtils';\nimport { ActivePoints } from '../component/ActivePoints';\nimport { SetTooltipEntrySettings } from '../state/SetTooltipEntrySettings';\nimport { SetErrorBarContext } from '../context/ErrorBarContext';\nimport { GraphicalItemClipPath, useNeedsClip } from './GraphicalItemClipPath';\nimport { useChartLayout } from '../context/chartLayoutContext';\nimport { useIsPanorama } from '../context/PanoramaContext';\nimport { selectLinePoints } from '../state/selectors/lineSelectors';\nimport { useAppSelector } from '../state/hooks';\nimport { SetLegendPayload } from '../state/SetLegendPayload';\nimport { useAnimationId } from '../util/useAnimationId';\nimport { resolveDefaultProps } from '../util/resolveDefaultProps';\nimport { usePlotArea } from '../hooks';\nimport { RegisterGraphicalItemId } from '../context/RegisterGraphicalItemId';\nimport { SetCartesianGraphicalItem } from '../state/SetGraphicalItem';\nimport { svgPropertiesNoEvents } from '../util/svgPropertiesNoEvents';\nimport { JavascriptAnimate } from '../animation/JavascriptAnimate';\nimport { svgPropertiesAndEvents } from '../util/svgPropertiesAndEvents';\nimport { getRadiusAndStrokeWidthFromDot } from '../util/getRadiusAndStrokeWidthFromDot';\nimport { Shape } from '../util/ActiveShapeUtils';\nimport { ZIndexLayer } from '../zIndex/ZIndexLayer';\nimport { DefaultZIndexes } from '../zIndex/DefaultZIndexes';\nimport { propsAreEqual } from '../util/propsAreEqual';\n\n/**\n * Internal props, combination of external props + defaultProps + private Recharts state\n */\n\n/**\n * External props, intended for end users to fill in\n */\n\n/**\n * Because of naming conflict, we are forced to ignore certain (valid) SVG attributes.\n */\n\nvar computeLegendPayloadFromAreaData = props => {\n var {\n dataKey,\n name,\n stroke,\n legendType,\n hide\n } = props;\n return [{\n inactive: hide,\n dataKey,\n type: legendType,\n color: stroke,\n value: getTooltipNameProp(name, dataKey),\n payload: props\n }];\n};\nvar SetLineTooltipEntrySettings = /*#__PURE__*/React.memo(_ref => {\n var {\n dataKey,\n data,\n stroke,\n strokeWidth,\n fill,\n name,\n hide,\n unit,\n tooltipType,\n id\n } = _ref;\n var tooltipEntrySettings = {\n dataDefinedOnItem: data,\n getPosition: noop,\n settings: {\n stroke,\n strokeWidth,\n fill,\n dataKey,\n nameKey: undefined,\n name: getTooltipNameProp(name, dataKey),\n hide,\n type: tooltipType,\n color: stroke,\n unit,\n graphicalItemId: id\n }\n };\n return /*#__PURE__*/React.createElement(SetTooltipEntrySettings, {\n tooltipEntrySettings: tooltipEntrySettings\n });\n});\n\n/**\n * Generates a simple stroke-dasharray string for animating a line draw effect.\n *\n * Uses `totalLength` as the gap (instead of `totalLength - length`) to prevent a floating-point\n * precision artifact: when fractional dash and gap values are serialized to a string attribute\n * and re-parsed by the SVG renderer, their sum can differ from the actual path length by a ULP,\n * causing the dasharray pattern to repeat and render a phantom dot at the path endpoint\n * with round or square strokeLinecap.\n *\n * @param totalLength The total length of the SVG path\n * @param length The currently visible portion of the path\n * @returns A stroke-dasharray string like \"50px 200px\"\n */\nvar generateSimpleStrokeDasharray = (totalLength, length) => {\n return \"\".concat(length, \"px \").concat(totalLength, \"px\");\n};\n\n/**\n * Repeats a dash pattern array a given number of times.\n *\n * If the input array has an odd length, a trailing `0` is appended to make it even\n * before repeating, because SVG stroke-dasharray patterns must have an even number\n * of values to cycle correctly between dash and gap segments.\n *\n * @param lines Array of dash/gap lengths to repeat\n * @param count Number of times to repeat the pattern\n * @returns A new array with the pattern repeated `count` times\n */\nfunction repeat(lines, count) {\n var linesUnit = lines.length % 2 !== 0 ? [...lines, 0] : lines;\n var result = [];\n for (var i = 0; i < count; ++i) {\n result.push(...linesUnit);\n }\n return result;\n}\n\n/**\n * Computes a stroke-dasharray string for animating a custom-dashed line draw effect.\n *\n * Given a user-specified dash pattern (e.g. `\"7,3\"`), this function builds a dasharray\n * that reveals exactly `length` pixels of that pattern, followed by a gap of `totalLength`\n * to hide the remainder of the path.\n *\n * Like {@link generateSimpleStrokeDasharray}, the trailing gap uses `totalLength` rather than\n * `totalLength - length` to avoid floating-point precision artifacts with round/square strokeLinecap.\n *\n * @param length The currently visible portion of the path\n * @param totalLength The total length of the SVG path\n * @param lines The user-specified dash pattern as an array of numbers (e.g. [7, 3])\n * @returns A stroke-dasharray string incorporating the custom dash pattern\n */\nvar getStrokeDasharray = (length, totalLength, lines) => {\n var lineLength = lines.reduce((pre, next) => pre + next, 0);\n\n // if lineLength is 0 return the default when no strokeDasharray is provided\n if (!lineLength) {\n return generateSimpleStrokeDasharray(totalLength, length);\n }\n var count = Math.floor(length / lineLength);\n var remainLength = length % lineLength;\n var remainLines = [];\n for (var i = 0, sum = 0; i < lines.length; sum += (_lines$i = lines[i]) !== null && _lines$i !== void 0 ? _lines$i : 0, ++i) {\n var _lines$i;\n var lineValue = lines[i];\n if (lineValue != null && sum + lineValue > remainLength) {\n remainLines = [...lines.slice(0, i), remainLength - sum];\n break;\n }\n }\n var emptyLines = remainLines.length % 2 === 0 ? [0, totalLength] : [totalLength];\n return [...repeat(lines, count), ...remainLines, ...emptyLines].map(line => \"\".concat(line, \"px\")).join(', ');\n};\nfunction LineDotsWrapper(_ref2) {\n var {\n clipPathId,\n points,\n props\n } = _ref2;\n var {\n dot,\n dataKey,\n needClip\n } = props;\n\n /*\n * Exclude ID from the props passed to the Dots component\n * because then the ID would be applied to multiple dots, and it would no longer be unique.\n */\n var {\n id\n } = props,\n propsWithoutId = _objectWithoutProperties(props, _excluded);\n var lineProps = svgPropertiesNoEvents(propsWithoutId);\n return /*#__PURE__*/React.createElement(Dots, {\n points: points,\n dot: dot,\n className: \"recharts-line-dots\",\n dotClassName: \"recharts-line-dot\",\n dataKey: dataKey,\n baseProps: lineProps,\n needClip: needClip,\n clipPathId: clipPathId\n });\n}\nfunction LineLabelListProvider(_ref3) {\n var {\n showLabels,\n children,\n points\n } = _ref3;\n var labelListEntries = useMemo(() => {\n return points === null || points === void 0 ? void 0 : points.map(point => {\n var _point$x, _point$y;\n var viewBox = {\n x: (_point$x = point.x) !== null && _point$x !== void 0 ? _point$x : 0,\n y: (_point$y = point.y) !== null && _point$y !== void 0 ? _point$y : 0,\n width: 0,\n lowerWidth: 0,\n upperWidth: 0,\n height: 0\n };\n return _objectSpread(_objectSpread({}, viewBox), {}, {\n value: point.value,\n payload: point.payload,\n viewBox,\n /*\n * Line is not passing parentViewBox to the LabelList so the labels can escape - looks like a bug, should we pass parentViewBox?\n * Or should this just be the root chart viewBox?\n */\n parentViewBox: undefined,\n fill: undefined\n });\n });\n }, [points]);\n return /*#__PURE__*/React.createElement(CartesianLabelListContextProvider, {\n value: showLabels ? labelListEntries : undefined\n }, children);\n}\nfunction StaticCurve(_ref4) {\n var {\n clipPathId,\n pathRef,\n points,\n strokeDasharray,\n props\n } = _ref4;\n var {\n type,\n layout,\n connectNulls,\n needClip,\n shape\n } = props,\n others = _objectWithoutProperties(props, _excluded2);\n var curveProps = _objectSpread(_objectSpread({}, svgPropertiesAndEvents(others)), {}, {\n fill: 'none',\n className: 'recharts-line-curve',\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : undefined,\n points,\n type,\n layout,\n connectNulls,\n strokeDasharray: strokeDasharray !== null && strokeDasharray !== void 0 ? strokeDasharray : props.strokeDasharray\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, (points === null || points === void 0 ? void 0 : points.length) > 1 && /*#__PURE__*/React.createElement(Shape, _extends({\n shapeType: \"curve\",\n option: shape\n }, curveProps, {\n pathRef: pathRef\n })), /*#__PURE__*/React.createElement(LineDotsWrapper, {\n points: points,\n clipPathId: clipPathId,\n props: props\n }));\n}\nfunction getTotalLength(mainCurve) {\n try {\n return mainCurve && mainCurve.getTotalLength && mainCurve.getTotalLength() || 0;\n } catch (_unused) {\n return 0;\n }\n}\nfunction CurveWithAnimation(_ref5) {\n var {\n clipPathId,\n props,\n pathRef,\n previousPointsRef,\n longestAnimatedLengthRef\n } = _ref5;\n var {\n points,\n strokeDasharray,\n isAnimationActive,\n animationBegin,\n animationDuration,\n animationEasing,\n animateNewValues,\n width,\n height,\n onAnimationEnd,\n onAnimationStart\n } = props;\n var prevPoints = previousPointsRef.current;\n var animationId = useAnimationId(points, 'recharts-line-');\n var animationIdRef = useRef(animationId);\n var [isAnimating, setIsAnimating] = useState(false);\n var showLabels = !isAnimating;\n var handleAnimationEnd = useCallback(() => {\n if (typeof onAnimationEnd === 'function') {\n onAnimationEnd();\n }\n setIsAnimating(false);\n }, [onAnimationEnd]);\n var handleAnimationStart = useCallback(() => {\n if (typeof onAnimationStart === 'function') {\n onAnimationStart();\n }\n setIsAnimating(true);\n }, [onAnimationStart]);\n var totalLength = getTotalLength(pathRef.current);\n /*\n * Here we want to detect if the length animation has been interrupted.\n * For that we keep a reference to the furthest length that has been animated.\n *\n * And then, to keep things smooth, we add to it the current length that is being animated right now.\n *\n * If we did Math.max then it makes the length animation \"pause\" but we want to keep it smooth\n * so in case we have some \"leftover\" length from the previous animation we add it to the current length.\n *\n * This is not perfect because the animation changes speed due to easing. The default easing is 'ease' which is not linear\n * and makes it stand out. But it's good enough I suppose.\n * If we want to fix it then we need to keep track of multiple animations and their easing and timings.\n *\n * If you want to see this in action, try to change the dataKey of the line chart while the initial animation is running.\n * The Line begins with zero length and slowly grows to the full length. While this growth is in progress,\n * change the dataKey and the Line will continue growing from where it has grown so far.\n *\n * This is for the case when new animation triggers. When that happens we get new points, everything re-renders,\n * and we get fresh new state in this component and use the ref stored above.\n *\n * In case when we get render without new animation - for example when opacity changes, or color changes,\n * then the animationId remains the same, and we do not update the starting point.\n * See https://github.com/recharts/recharts/issues/6044\n */\n var startingPointRef = useRef(0);\n if (animationIdRef.current !== animationId) {\n startingPointRef.current = longestAnimatedLengthRef.current;\n animationIdRef.current = animationId;\n }\n var startingPoint = startingPointRef.current;\n return /*#__PURE__*/React.createElement(LineLabelListProvider, {\n points: points,\n showLabels: showLabels\n }, props.children, /*#__PURE__*/React.createElement(JavascriptAnimate, {\n animationId: animationId,\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n onAnimationEnd: handleAnimationEnd,\n onAnimationStart: handleAnimationStart,\n key: animationId\n }, t => {\n var lengthInterpolated = interpolate(startingPoint, totalLength + startingPoint, t);\n var curLength = Math.min(lengthInterpolated, totalLength);\n var currentStrokeDasharray;\n if (isAnimationActive) {\n if (strokeDasharray) {\n var lines = \"\".concat(strokeDasharray).split(/[,\\s]+/gim).map(num => parseFloat(num));\n currentStrokeDasharray = getStrokeDasharray(curLength, totalLength, lines);\n } else {\n currentStrokeDasharray = generateSimpleStrokeDasharray(totalLength, curLength);\n }\n } else {\n currentStrokeDasharray = strokeDasharray == null ? undefined : String(strokeDasharray);\n }\n\n /*\n * Here it is important to wait a little bit with updating the previousPointsRef\n * before the animation has a time to initialize.\n * If we set the previous pointsRef immediately, we set it before the Legend height it calculated\n * and before pathRef is set.\n * If that happens, the Line will re-render again after Legend had reported its height\n * which will start a new animation with the previous points as the starting point\n * which gives the effect of the Line animating slightly upwards (where the animation distance equals the Legend height).\n * Waiting for t > 0 is indirect but good enough to ensure that the Legend height is calculated and animation works properly.\n *\n * Total length similarly is calculated from the pathRef. We should not update the previousPointsRef\n * before the pathRef is set, otherwise we will have a wrong total length.\n */\n if (t > 0 && totalLength > 0) {\n // eslint-disable-next-line no-param-reassign\n previousPointsRef.current = points;\n /*\n * totalLength is set from a ref and is not updated in the first tick of the animation.\n * It defaults to zero which is exactly what we want here because we want to grow from zero,\n * however the same happens when the data change.\n *\n * In that case we want to remember the previous length and continue from there, and only animate the shape.\n *\n * Therefore the totalLength > 0 check.\n *\n * The Animate is about to fire handleAnimationStart which will update the state\n * and cause a re-render and read a new proper totalLength which will be used in the next tick\n * and update the longestAnimatedLengthRef.\n *\n * Why Math.max? Sometimes the curve goes through a smaller length than previously recorded.\n * If we just set it to curLength, then the next animation would start from a smaller length\n * which looks weird. So we keep the longest length ever reached and then animate from there.\n */\n // eslint-disable-next-line no-param-reassign\n longestAnimatedLengthRef.current = Math.max(longestAnimatedLengthRef.current, curLength);\n }\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n var stepData = t === 1 ? points : points.map((entry, index) => {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolate(prev.x, entry.x, t),\n y: interpolate(prev.y, entry.y, t)\n });\n }\n\n // magic number of faking previous x and y location\n if (animateNewValues) {\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolate(width * 2, entry.x, t),\n y: interpolate(height / 2, entry.y, t)\n });\n }\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: entry.x,\n y: entry.y\n });\n });\n // eslint-disable-next-line no-param-reassign\n previousPointsRef.current = stepData;\n return /*#__PURE__*/React.createElement(StaticCurve, {\n props: props,\n points: stepData,\n clipPathId: clipPathId,\n pathRef: pathRef,\n strokeDasharray: currentStrokeDasharray\n });\n }\n return /*#__PURE__*/React.createElement(StaticCurve, {\n props: props,\n points: points,\n clipPathId: clipPathId,\n pathRef: pathRef,\n strokeDasharray: currentStrokeDasharray\n });\n }), /*#__PURE__*/React.createElement(LabelListFromLabelProp, {\n label: props.label\n }));\n}\nfunction RenderCurve(_ref6) {\n var {\n clipPathId,\n props\n } = _ref6;\n var previousPointsRef = useRef(null);\n var longestAnimatedLengthRef = useRef(0);\n var pathRef = useRef(null);\n return /*#__PURE__*/React.createElement(CurveWithAnimation, {\n props: props,\n clipPathId: clipPathId,\n previousPointsRef: previousPointsRef,\n longestAnimatedLengthRef: longestAnimatedLengthRef,\n pathRef: pathRef\n });\n}\nvar errorBarDataPointFormatter = (dataPoint, dataKey) => {\n var _dataPoint$x, _dataPoint$y;\n return {\n x: (_dataPoint$x = dataPoint.x) !== null && _dataPoint$x !== void 0 ? _dataPoint$x : undefined,\n y: (_dataPoint$y = dataPoint.y) !== null && _dataPoint$y !== void 0 ? _dataPoint$y : undefined,\n value: dataPoint.value,\n // getValueByDataKey does not validate the output type\n errorVal: getValueByDataKey(dataPoint.payload, dataKey)\n };\n};\n\n// eslint-disable-next-line react/prefer-stateless-function\nclass LineWithState extends Component {\n render() {\n var {\n hide,\n dot,\n points,\n className,\n xAxisId,\n yAxisId,\n top,\n left,\n width,\n height,\n id,\n needClip,\n zIndex\n } = this.props;\n if (hide) {\n return null;\n }\n var layerClass = clsx('recharts-line', className);\n var clipPathId = id;\n var {\n r,\n strokeWidth\n } = getRadiusAndStrokeWidthFromDot(dot);\n var clipDot = isClipDot(dot);\n var dotSize = r * 2 + strokeWidth;\n var activePointsClipPath = needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').concat(clipPathId, \")\") : undefined;\n return /*#__PURE__*/React.createElement(ZIndexLayer, {\n zIndex: zIndex\n }, /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClip && /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(GraphicalItemClipPath, {\n clipPathId: clipPathId,\n xAxisId: xAxisId,\n yAxisId: yAxisId\n }), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))), /*#__PURE__*/React.createElement(SetErrorBarContext, {\n xAxisId: xAxisId,\n yAxisId: yAxisId,\n data: points,\n dataPointFormatter: errorBarDataPointFormatter,\n errorBarOffset: 0\n }, /*#__PURE__*/React.createElement(RenderCurve, {\n props: this.props,\n clipPathId: clipPathId\n }))), /*#__PURE__*/React.createElement(ActivePoints, {\n activeDot: this.props.activeDot,\n points: points,\n mainColor: this.props.stroke,\n itemDataKey: this.props.dataKey,\n clipPath: activePointsClipPath\n }));\n }\n}\nexport var defaultLineProps = {\n activeDot: true,\n animateNewValues: true,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease',\n connectNulls: false,\n dot: true,\n fill: '#fff',\n hide: false,\n isAnimationActive: 'auto',\n label: false,\n legendType: 'line',\n stroke: '#3182bd',\n strokeWidth: 1,\n xAxisId: 0,\n yAxisId: 0,\n zIndex: DefaultZIndexes.line,\n type: 'linear'\n};\nfunction LineImpl(props) {\n var _resolveDefaultProps = resolveDefaultProps(props, defaultLineProps),\n {\n activeDot,\n animateNewValues,\n animationBegin,\n animationDuration,\n animationEasing,\n connectNulls,\n dot,\n hide,\n isAnimationActive,\n label,\n legendType,\n xAxisId,\n yAxisId,\n id\n } = _resolveDefaultProps,\n everythingElse = _objectWithoutProperties(_resolveDefaultProps, _excluded3);\n var {\n needClip\n } = useNeedsClip(xAxisId, yAxisId);\n var plotArea = usePlotArea();\n var layout = useChartLayout();\n var isPanorama = useIsPanorama();\n var points = useAppSelector(state => selectLinePoints(state, xAxisId, yAxisId, isPanorama, id));\n if (layout !== 'horizontal' && layout !== 'vertical' || points == null || plotArea == null) {\n // Cannot render Line in an unsupported layout\n return null;\n }\n var {\n height,\n width,\n x: left,\n y: top\n } = plotArea;\n return /*#__PURE__*/React.createElement(LineWithState, _extends({}, everythingElse, {\n id: id,\n connectNulls: connectNulls,\n dot: dot,\n activeDot: activeDot,\n animateNewValues: animateNewValues,\n animationBegin: animationBegin,\n animationDuration: animationDuration,\n animationEasing: animationEasing,\n isAnimationActive: isAnimationActive,\n hide: hide,\n label: label,\n legendType: legendType,\n xAxisId: xAxisId,\n yAxisId: yAxisId,\n points: points,\n layout: layout,\n height: height,\n width: width,\n left: left,\n top: top,\n needClip: needClip\n }));\n}\nexport function computeLinePoints(_ref7) {\n var {\n layout,\n xAxis,\n yAxis,\n xAxisTicks,\n yAxisTicks,\n dataKey,\n bandSize,\n displayedData\n } = _ref7;\n return displayedData.map((entry, index) => {\n // getValueByDataKey does not validate the output type\n var value = getValueByDataKey(entry, dataKey);\n if (layout === 'horizontal') {\n var _x = getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize,\n entry,\n index\n });\n var _y = isNullish(value) ? null : yAxis.scale.map(value);\n return {\n x: _x,\n y: _y !== null && _y !== void 0 ? _y : null,\n value,\n payload: entry\n };\n }\n var x = isNullish(value) ? null : xAxis.scale.map(value);\n var y = getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize,\n entry,\n index\n });\n if (x == null || y == null) {\n return null;\n }\n return {\n x,\n y,\n value,\n payload: entry\n };\n }).filter(Boolean);\n}\nfunction LineFn(outsideProps) {\n var props = resolveDefaultProps(outsideProps, defaultLineProps);\n var isPanorama = useIsPanorama();\n return /*#__PURE__*/React.createElement(RegisterGraphicalItemId, {\n id: props.id,\n type: \"line\"\n }, id => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SetLegendPayload, {\n legendPayload: computeLegendPayloadFromAreaData(props)\n }), /*#__PURE__*/React.createElement(SetLineTooltipEntrySettings, {\n dataKey: props.dataKey,\n data: props.data,\n stroke: props.stroke,\n strokeWidth: props.strokeWidth,\n fill: props.fill,\n name: props.name,\n hide: props.hide,\n unit: props.unit,\n tooltipType: props.tooltipType,\n id: id\n }), /*#__PURE__*/React.createElement(SetCartesianGraphicalItem, {\n type: \"line\",\n id: id,\n data: props.data,\n xAxisId: props.xAxisId,\n yAxisId: props.yAxisId,\n zAxisId: 0,\n dataKey: props.dataKey,\n hide: props.hide,\n isPanorama: isPanorama\n }), /*#__PURE__*/React.createElement(LineImpl, _extends({}, props, {\n id: id\n }))));\n}\n\n/**\n * @provides LabelListContext\n * @provides ErrorBarContext\n * @consumes CartesianChartContext\n */\nexport var Line = /*#__PURE__*/React.memo(LineFn, propsAreEqual);\n// @ts-expect-error we need to set the displayName for debugging purposes\nLine.displayName = 'Line';","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport { arrayTooltipSearcher } from '../state/optionsSlice';\nimport { CartesianChart } from './CartesianChart';\nvar allowedTooltipTypes = ['axis'];\n\n/**\n * @consumes ResponsiveContainerContext\n * @provides CartesianViewBoxContext\n * @provides CartesianChartContext\n */\nexport var LineChart = /*#__PURE__*/forwardRef((props, ref) => {\n return /*#__PURE__*/React.createElement(CartesianChart, {\n chartName: \"LineChart\",\n defaultTooltipEventType: \"axis\",\n validateTooltipEventTypes: allowedTooltipTypes,\n tooltipPayloadSearcher: arrayTooltipSearcher,\n categoricalChartProps: props,\n ref: ref\n });\n});","import { CartesianGrid, Line, LineChart as RechartsLineChart, XAxis, YAxis } from 'recharts';\nimport {\n type ChartConfig,\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n} from '../../../shadcn/shadcnChart';\n\ninterface LineSeries {\n dataKey: string;\n type?: 'linear' | 'monotone';\n}\n\nexport interface LineChartProps {\n data: Record<string, unknown>[];\n config: ChartConfig;\n xAxisKey: string;\n lines: LineSeries[];\n className?: string;\n}\n\nexport const LineChart = ({ data, config, xAxisKey, lines, className }: LineChartProps) => (\n <ChartContainer config={config} className={className ?? 'min-h-[300px] w-full'}>\n <RechartsLineChart data={data}>\n <CartesianGrid strokeDasharray=\"3 3\" vertical={false} />\n <XAxis dataKey={xAxisKey} tickLine={false} axisLine={false} />\n <YAxis tickLine={false} axisLine={false} />\n <ChartTooltip content={<ChartTooltipContent />} />\n <ChartLegend content={<ChartLegendContent />} />\n {lines.map((line) => (\n <Line\n key={line.dataKey}\n type={line.type ?? 'monotone'}\n dataKey={line.dataKey}\n stroke={`var(--color-${line.dataKey})`}\n strokeWidth={2}\n dot={false}\n />\n ))}\n </RechartsLineChart>\n </ChartContainer>\n);\n\nLineChart.displayName = 'LineChart';\n"],"names":["LineChart","RechartsLineChart"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
package/dist/LocationSelector.js
CHANGED
|
@@ -11,7 +11,7 @@ const LocationFilter = Object.assign(
|
|
|
11
11
|
name: "locationId",
|
|
12
12
|
label: "Location",
|
|
13
13
|
placeholder: "Select location",
|
|
14
|
-
optionsEndpoint: "commerce-api/locations
|
|
14
|
+
optionsEndpoint: "commerce-api/select-api/locations",
|
|
15
15
|
fieldKeys: { valueKey: "id", labelKey: "name" },
|
|
16
16
|
...props
|
|
17
17
|
}
|
|
@@ -33,7 +33,7 @@ const LocationSelector = forwardRef(({ fieldKeys, ...props }, ref) => /* @__PURE
|
|
|
33
33
|
label: "Location",
|
|
34
34
|
placeholder: "Select location",
|
|
35
35
|
searchable: true,
|
|
36
|
-
optionsEndpoint: "commerce-api/locations
|
|
36
|
+
optionsEndpoint: "commerce-api/select-api/locations",
|
|
37
37
|
transformDescription: formatLocationPath,
|
|
38
38
|
...props,
|
|
39
39
|
fieldKeys: { ...DEFAULT_FIELD_KEYS, ...fieldKeys }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationSelector.js","sources":["../lib/selects/location/LocationFilter.tsx","../lib/selects/location/LocationSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type LocationFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\nexport const LocationFilter = Object.assign(\n forwardRef<HTMLButtonElement, LocationFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"locationId\"\n label=\"Location\"\n placeholder=\"Select location\"\n optionsEndpoint=\"commerce-api/locations
|
|
1
|
+
{"version":3,"file":"LocationSelector.js","sources":["../lib/selects/location/LocationFilter.tsx","../lib/selects/location/LocationSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type LocationFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name'> & { name?: string };\n\nexport const LocationFilter = Object.assign(\n forwardRef<HTMLButtonElement, LocationFilterProps>((props, ref) => (\n <SelectFilter\n ref={ref}\n name=\"locationId\"\n label=\"Location\"\n placeholder=\"Select location\"\n optionsEndpoint=\"commerce-api/select-api/locations\"\n fieldKeys={{ valueKey: 'id', labelKey: 'name' }}\n {...props}\n />\n )),\n { displayName: 'LocationFilter', defaultLabel: 'Location', defaultName: 'locationId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type LocationSelectorProps = Omit<SelectProps, 'optionsEndpoint'>;\n\nconst DEFAULT_FIELD_KEYS = {\n valueKey: 'id',\n labelKey: 'name',\n descriptionKey: 'path',\n groupIdKey: 'locationRole',\n} as const;\n\n// Renders the parent breadcrumb from an ltree path, dropping the leaf segment shown as the option label.\nexport const formatLocationPath = (path: string): string =>\n path\n .split('.')\n .slice(0, -1)\n .map((segment) => segment.replace(/_/g, ' ').replace(/\\b\\w/g, (c) => c.toUpperCase()))\n .join(' › ');\n\n// Pre-configured Select for location selection — server returns full ltree path as description\nexport const LocationSelector = forwardRef<HTMLButtonElement, LocationSelectorProps>(({ fieldKeys, ...props }, ref) => (\n <Select\n ref={ref}\n label=\"Location\"\n placeholder=\"Select location\"\n searchable\n optionsEndpoint=\"commerce-api/select-api/locations\"\n transformDescription={formatLocationPath}\n {...props}\n fieldKeys={{ ...DEFAULT_FIELD_KEYS, ...fieldKeys }}\n />\n));\nLocationSelector.displayName = 'LocationSelector';\n"],"names":[],"mappings":";;;;;AAKO,MAAM,iBAAiB,MAAA,CAAO,MAAA;AAAA,EACnC,UAAA,CAAmD,CAAC,KAAA,EAAO,GAAA,qBACzD,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,YAAA;AAAA,MACL,KAAA,EAAM,UAAA;AAAA,MACN,WAAA,EAAY,iBAAA;AAAA,MACZ,eAAA,EAAgB,mCAAA;AAAA,MAChB,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,MAAA,EAAO;AAAA,MAC7C,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,gBAAA,EAAkB,YAAA,EAAc,UAAA,EAAY,aAAa,YAAA;AAC1E;;ACbA,MAAM,kBAAA,GAAqB;AAAA,EACzB,QAAA,EAAU,IAAA;AAAA,EACV,QAAA,EAAU,MAAA;AAAA,EACV,cAAA,EAAgB,MAAA;AAAA,EAChB,UAAA,EAAY;AACd,CAAA;AAGO,MAAM,kBAAA,GAAqB,CAAC,IAAA,KACjC,IAAA,CACG,KAAA,CAAM,GAAG,CAAA,CACT,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA,CACX,GAAA,CAAI,CAAC,OAAA,KAAY,OAAA,CAAQ,OAAA,CAAQ,IAAA,EAAM,GAAG,CAAA,CAAE,OAAA,CAAQ,OAAA,EAAS,CAAC,CAAA,KAAM,CAAA,CAAE,WAAA,EAAa,CAAC,CAAA,CACpF,KAAK,KAAK;AAGR,MAAM,gBAAA,GAAmB,WAAqD,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC7G,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,UAAA;AAAA,IACN,WAAA,EAAY,iBAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,mCAAA;AAAA,IAChB,oBAAA,EAAsB,kBAAA;AAAA,IACrB,GAAG,KAAA;AAAA,IACJ,SAAA,EAAW,EAAE,GAAG,kBAAA,EAAoB,GAAG,SAAA;AAAU;AACnD,CACD;AACD,gBAAA,CAAiB,WAAA,GAAc,kBAAA;;;;"}
|
package/dist/LotSelector.js
CHANGED
|
@@ -11,7 +11,7 @@ const LotFilter = Object.assign(
|
|
|
11
11
|
name: "lotId",
|
|
12
12
|
label: "Lot",
|
|
13
13
|
placeholder: "Select lot",
|
|
14
|
-
optionsEndpoint: "commerce-api/inventory-item-lots
|
|
14
|
+
optionsEndpoint: "commerce-api/select-api/inventory-item-lots",
|
|
15
15
|
params,
|
|
16
16
|
fieldKeys: { valueKey: "id", labelKey: "lotNumber" },
|
|
17
17
|
...props
|
|
@@ -27,7 +27,7 @@ const LotSelector = forwardRef(({ params, ...props }, ref) => /* @__PURE__ */ js
|
|
|
27
27
|
label: "Lot",
|
|
28
28
|
placeholder: "Select or type a lot number",
|
|
29
29
|
searchable: true,
|
|
30
|
-
optionsEndpoint: "commerce-api/inventory-item-lots
|
|
30
|
+
optionsEndpoint: "commerce-api/select-api/inventory-item-lots",
|
|
31
31
|
params,
|
|
32
32
|
fieldKeys: { valueKey: "id", labelKey: "lotNumber" },
|
|
33
33
|
...props
|
package/dist/LotSelector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LotSelector.js","sources":["../lib/selects/lot/LotFilter.tsx","../lib/selects/lot/LotSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type LotFilterParams = { inventoryItemId?: string };\n\nexport type LotFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name' | 'params'> & {\n name?: string;\n params?: LotFilterParams;\n};\n\n// Pre-configured SelectFilter for inventory item lot filtering\nexport const LotFilter = Object.assign(\n forwardRef<HTMLButtonElement, LotFilterProps>(({ params, ...props }, ref) => (\n <SelectFilter\n ref={ref}\n name=\"lotId\"\n label=\"Lot\"\n placeholder=\"Select lot\"\n optionsEndpoint=\"commerce-api/inventory-item-lots
|
|
1
|
+
{"version":3,"file":"LotSelector.js","sources":["../lib/selects/lot/LotFilter.tsx","../lib/selects/lot/LotSelector.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { SelectFilter, type SelectFilterProps } from '../../components/Select/SelectFilter';\n\nexport type LotFilterParams = { inventoryItemId?: string };\n\nexport type LotFilterProps = Omit<SelectFilterProps, 'optionsEndpoint' | 'name' | 'params'> & {\n name?: string;\n params?: LotFilterParams;\n};\n\n// Pre-configured SelectFilter for inventory item lot filtering\nexport const LotFilter = Object.assign(\n forwardRef<HTMLButtonElement, LotFilterProps>(({ params, ...props }, ref) => (\n <SelectFilter\n ref={ref}\n name=\"lotId\"\n label=\"Lot\"\n placeholder=\"Select lot\"\n optionsEndpoint=\"commerce-api/select-api/inventory-item-lots\"\n params={params}\n fieldKeys={{ valueKey: 'id', labelKey: 'lotNumber' }}\n {...props}\n />\n )),\n { displayName: 'LotFilter', defaultLabel: 'Lot', defaultName: 'lotId' },\n);\n","import { forwardRef } from 'react';\nimport { Select, type SelectProps } from '../../components/Select/Select';\n\nexport type LotSelectorParams = { inventoryItemId?: string };\n\nexport type LotSelectorProps = Omit<SelectProps, 'optionsEndpoint' | 'params'> & {\n params?: LotSelectorParams;\n};\n\n// Pre-configured Select for inventory item lot selection (scoped to a single item)\nexport const LotSelector = forwardRef<HTMLButtonElement, LotSelectorProps>(({ params, ...props }, ref) => (\n <Select\n ref={ref}\n label=\"Lot\"\n placeholder=\"Select or type a lot number\"\n searchable\n optionsEndpoint=\"commerce-api/select-api/inventory-item-lots\"\n params={params}\n fieldKeys={{ valueKey: 'id', labelKey: 'lotNumber' }}\n {...props}\n />\n));\nLotSelector.displayName = 'LotSelector';\n"],"names":[],"mappings":";;;;;AAWO,MAAM,YAAY,MAAA,CAAO,MAAA;AAAA,EAC9B,WAA8C,CAAC,EAAE,QAAQ,GAAG,KAAA,IAAS,GAAA,qBACnE,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAK,OAAA;AAAA,MACL,KAAA,EAAM,KAAA;AAAA,MACN,WAAA,EAAY,YAAA;AAAA,MACZ,eAAA,EAAgB,6CAAA;AAAA,MAChB,MAAA;AAAA,MACA,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,WAAA,EAAY;AAAA,MAClD,GAAG;AAAA;AAAA,GAEP,CAAA;AAAA,EACD,EAAE,WAAA,EAAa,WAAA,EAAa,YAAA,EAAc,KAAA,EAAO,aAAa,OAAA;AAChE;;ACfO,MAAM,WAAA,GAAc,WAAgD,CAAC,EAAE,QAAQ,GAAG,KAAA,IAAS,GAAA,qBAChG,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,KAAA,EAAM,KAAA;AAAA,IACN,WAAA,EAAY,6BAAA;AAAA,IACZ,UAAA,EAAU,IAAA;AAAA,IACV,eAAA,EAAgB,6CAAA;AAAA,IAChB,MAAA;AAAA,IACA,SAAA,EAAW,EAAE,QAAA,EAAU,IAAA,EAAM,UAAU,WAAA,EAAY;AAAA,IAClD,GAAG;AAAA;AACN,CACD;AACD,WAAA,CAAY,WAAA,GAAc,aAAA;;;;"}
|