@quillsql/react 2.12.37 → 2.12.39
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/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +2 -2
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +2 -0
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +3 -1
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +2 -1
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +5 -2
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +5 -2
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +2 -1
- package/dist/esm/Chart.d.ts +204 -0
- package/dist/esm/Chart.d.ts.map +1 -0
- package/dist/esm/Chart.js +431 -0
- package/dist/esm/ChartBuilder.d.ts +339 -0
- package/dist/esm/ChartBuilder.d.ts.map +1 -0
- package/dist/esm/ChartBuilder.js +1312 -0
- package/dist/esm/ChartEditor.d.ts +209 -0
- package/dist/esm/ChartEditor.d.ts.map +1 -0
- package/dist/esm/ChartEditor.js +182 -0
- package/dist/esm/Context.d.ts +14 -0
- package/dist/esm/Context.d.ts.map +1 -0
- package/dist/esm/Context.js +271 -0
- package/dist/esm/Dashboard.d.ts +279 -0
- package/dist/esm/Dashboard.d.ts.map +1 -0
- package/dist/esm/Dashboard.js +662 -0
- package/dist/esm/DateRangePicker/Calendar.d.ts +17 -0
- package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/Calendar.js +164 -0
- package/dist/esm/DateRangePicker/DateRangePicker.d.ts +39 -0
- package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/DateRangePicker.js +95 -0
- package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +22 -0
- package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/DateRangePickerButton.js +134 -0
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +25 -0
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +260 -0
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +80 -0
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +521 -0
- package/dist/esm/DateRangePicker/index.d.ts +3 -0
- package/dist/esm/DateRangePicker/index.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/index.js +2 -0
- package/dist/esm/QuillProvider.d.ts +163 -0
- package/dist/esm/QuillProvider.d.ts.map +1 -0
- package/dist/esm/QuillProvider.js +104 -0
- package/dist/esm/ReportBuilder.d.ts +318 -0
- package/dist/esm/ReportBuilder.d.ts.map +1 -0
- package/dist/esm/ReportBuilder.js +3279 -0
- package/dist/esm/SQLEditor.d.ts +272 -0
- package/dist/esm/SQLEditor.d.ts.map +1 -0
- package/dist/esm/SQLEditor.js +510 -0
- package/dist/esm/Table.d.ts +167 -0
- package/dist/esm/Table.d.ts.map +1 -0
- package/dist/esm/Table.js +215 -0
- package/dist/esm/TableChart.d.ts +15 -0
- package/dist/esm/TableChart.d.ts.map +1 -0
- package/dist/esm/TableChart.js +95 -0
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowDownHeadIcon.js +3 -0
- package/dist/esm/assets/ArrowDownIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowDownIcon.js +3 -0
- package/dist/esm/assets/ArrowDownRightIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowDownRightIcon.js +3 -0
- package/dist/esm/assets/ArrowLeftHeadIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowLeftHeadIcon.js +3 -0
- package/dist/esm/assets/ArrowRightHeadIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowRightHeadIcon.js +3 -0
- package/dist/esm/assets/ArrowRightIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowRightIcon.js +3 -0
- package/dist/esm/assets/ArrowUpHeadIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowUpHeadIcon.js +3 -0
- package/dist/esm/assets/ArrowUpIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowUpIcon.js +3 -0
- package/dist/esm/assets/ArrowUpRightIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowUpRightIcon.js +3 -0
- package/dist/esm/assets/CalendarIcon.d.ts +5 -0
- package/dist/esm/assets/CalendarIcon.d.ts.map +1 -0
- package/dist/esm/assets/CalendarIcon.js +3 -0
- package/dist/esm/assets/CalendarNormalIcon.d.ts +5 -0
- package/dist/esm/assets/CalendarNormalIcon.d.ts.map +1 -0
- package/dist/esm/assets/CalendarNormalIcon.js +3 -0
- package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts +5 -0
- package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/DoubleArrowLeftHeadIcon.js +3 -0
- package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts +5 -0
- package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/DoubleArrowRightHeadIcon.js +3 -0
- package/dist/esm/assets/ExclamationFilledIcon.d.ts +5 -0
- package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -0
- package/dist/esm/assets/ExclamationFilledIcon.js +3 -0
- package/dist/esm/assets/FilterIcon.d.ts +5 -0
- package/dist/esm/assets/FilterIcon.d.ts.map +1 -0
- package/dist/esm/assets/FilterIcon.js +3 -0
- package/dist/esm/assets/LoadingSpinner.d.ts +5 -0
- package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -0
- package/dist/esm/assets/LoadingSpinner.js +3 -0
- package/dist/esm/assets/RefreshIcon.d.ts +5 -0
- package/dist/esm/assets/RefreshIcon.d.ts.map +1 -0
- package/dist/esm/assets/RefreshIcon.js +3 -0
- package/dist/esm/assets/SearchIcon.d.ts +5 -0
- package/dist/esm/assets/SearchIcon.d.ts.map +1 -0
- package/dist/esm/assets/SearchIcon.js +3 -0
- package/dist/esm/assets/UpLeftArrowsIcon.d.ts +5 -0
- package/dist/esm/assets/UpLeftArrowsIcon.d.ts.map +1 -0
- package/dist/esm/assets/UpLeftArrowsIcon.js +3 -0
- package/dist/esm/assets/XCircleIcon.d.ts +5 -0
- package/dist/esm/assets/XCircleIcon.d.ts.map +1 -0
- package/dist/esm/assets/XCircleIcon.js +3 -0
- package/dist/esm/assets/XIcon.d.ts +5 -0
- package/dist/esm/assets/XIcon.d.ts.map +1 -0
- package/dist/esm/assets/XIcon.js +3 -0
- package/dist/esm/assets/index.d.ts +22 -0
- package/dist/esm/assets/index.d.ts.map +1 -0
- package/dist/esm/assets/index.js +21 -0
- package/dist/esm/components/Banner/index.d.ts +3 -0
- package/dist/esm/components/Banner/index.d.ts.map +1 -0
- package/dist/esm/components/Banner/index.js +24 -0
- package/dist/esm/components/BigModal/BigModal.d.ts +15 -0
- package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -0
- package/dist/esm/components/BigModal/BigModal.js +56 -0
- package/dist/esm/components/Chart/BarChart.d.ts +23 -0
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/BarChart.js +110 -0
- package/dist/esm/components/Chart/BarList.d.ts +27 -0
- package/dist/esm/components/Chart/BarList.d.ts.map +1 -0
- package/dist/esm/components/Chart/BarList.js +148 -0
- package/dist/esm/components/Chart/ChartError.d.ts +10 -0
- package/dist/esm/components/Chart/ChartError.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartError.js +65 -0
- package/dist/esm/components/Chart/ChartSkeleton.d.ts +8 -0
- package/dist/esm/components/Chart/ChartSkeleton.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartSkeleton.js +19 -0
- package/dist/esm/components/Chart/ChartTooltip.d.ts +31 -0
- package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartTooltip.js +234 -0
- package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +6 -0
- package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartTooltipFrame.js +14 -0
- package/dist/esm/components/Chart/ChartTooltipGroup.d.ts +11 -0
- package/dist/esm/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartTooltipGroup.js +23 -0
- package/dist/esm/components/Chart/ChartTooltipRow.d.ts +8 -0
- package/dist/esm/components/Chart/ChartTooltipRow.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartTooltipRow.js +41 -0
- package/dist/esm/components/Chart/LineChart.d.ts +29 -0
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/LineChart.js +163 -0
- package/dist/esm/components/Chart/PieChart.d.ts +62 -0
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/PieChart.js +195 -0
- package/dist/esm/components/Dashboard/ChartComponent.d.ts +4 -0
- package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/ChartComponent.js +60 -0
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +38 -0
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DashboardFilter.js +89 -0
- package/dist/esm/components/Dashboard/DashboardSection.d.ts +7 -0
- package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DashboardSection.js +22 -0
- package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts +3 -0
- package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DashboardSectionContainer.js +10 -0
- package/dist/esm/components/Dashboard/DataLoader.d.ts +44 -0
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DataLoader.js +190 -0
- package/dist/esm/components/Dashboard/MetricComponent.d.ts +4 -0
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/MetricComponent.js +133 -0
- package/dist/esm/components/Dashboard/TableComponent.d.ts +15 -0
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/TableComponent.js +62 -0
- package/dist/esm/components/Dropdown/Dropdown.d.ts +14 -0
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/esm/components/Dropdown/Dropdown.js +69 -0
- package/dist/esm/components/Dropdown/DropdownItem.d.ts +11 -0
- package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -0
- package/dist/esm/components/Dropdown/DropdownItem.js +37 -0
- package/dist/esm/components/Dropdown/index.d.ts +3 -0
- package/dist/esm/components/Dropdown/index.d.ts.map +1 -0
- package/dist/esm/components/Dropdown/index.js +2 -0
- package/dist/esm/components/Modal/Modal.d.ts +15 -0
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -0
- package/dist/esm/components/Modal/Modal.js +64 -0
- package/dist/esm/components/Modal/index.d.ts +2 -0
- package/dist/esm/components/Modal/index.d.ts.map +1 -0
- package/dist/esm/components/Modal/index.js +1 -0
- package/dist/esm/components/QuillCard.d.ts +9 -0
- package/dist/esm/components/QuillCard.d.ts.map +1 -0
- package/dist/esm/components/QuillCard.js +56 -0
- package/dist/esm/components/QuillMultiSelect.d.ts +11 -0
- package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -0
- package/dist/esm/components/QuillMultiSelect.js +193 -0
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +11 -0
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -0
- package/dist/esm/components/QuillMultiSelectWithCombo.js +215 -0
- package/dist/esm/components/QuillSelect.d.ts +6 -0
- package/dist/esm/components/QuillSelect.d.ts.map +1 -0
- package/dist/esm/components/QuillSelect.js +136 -0
- package/dist/esm/components/QuillSelectWithCombo.d.ts +6 -0
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -0
- package/dist/esm/components/QuillSelectWithCombo.js +163 -0
- package/dist/esm/components/QuillTable.d.ts +31 -0
- package/dist/esm/components/QuillTable.d.ts.map +1 -0
- package/dist/esm/components/QuillTable.js +261 -0
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +34 -0
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/AddColumnModal.js +145 -0
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +26 -0
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/AddLimitPopover.js +36 -0
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +23 -0
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +73 -0
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts +30 -0
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/FilterModal.js +576 -0
- package/dist/esm/components/ReportBuilder/ast.d.ts +523 -0
- package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/ast.js +230 -0
- package/dist/esm/components/ReportBuilder/bigDateMap.d.ts +7 -0
- package/dist/esm/components/ReportBuilder/bigDateMap.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/bigDateMap.js +687 -0
- package/dist/esm/components/ReportBuilder/constants.d.ts +117 -0
- package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/constants.js +161 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts +65 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/convert.js +717 -0
- package/dist/esm/components/ReportBuilder/operators.d.ts +462 -0
- package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/operators.js +581 -0
- package/dist/esm/components/ReportBuilder/pivot.d.ts +16 -0
- package/dist/esm/components/ReportBuilder/pivot.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/pivot.js +1 -0
- package/dist/esm/components/ReportBuilder/postgres.d.ts +150 -0
- package/dist/esm/components/ReportBuilder/postgres.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/postgres.js +355 -0
- package/dist/esm/components/ReportBuilder/schema.d.ts +23 -0
- package/dist/esm/components/ReportBuilder/schema.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/schema.js +1 -0
- package/dist/esm/components/ReportBuilder/ui.d.ts +119 -0
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/ui.js +382 -0
- package/dist/esm/components/ReportBuilder/util.d.ts +76 -0
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/util.js +729 -0
- package/dist/esm/components/UiComponents.d.ts +221 -0
- package/dist/esm/components/UiComponents.d.ts.map +1 -0
- package/dist/esm/components/UiComponents.js +571 -0
- package/dist/esm/components/selectUtils.d.ts +9 -0
- package/dist/esm/components/selectUtils.d.ts.map +1 -0
- package/dist/esm/components/selectUtils.js +17 -0
- package/dist/esm/contexts/BaseColorContext.d.ts +4 -0
- package/dist/esm/contexts/BaseColorContext.d.ts.map +1 -0
- package/dist/esm/contexts/BaseColorContext.js +3 -0
- package/dist/esm/contexts/HoveredValueContext.d.ts +8 -0
- package/dist/esm/contexts/HoveredValueContext.d.ts.map +1 -0
- package/dist/esm/contexts/HoveredValueContext.js +5 -0
- package/dist/esm/contexts/RootStylesContext.d.ts +4 -0
- package/dist/esm/contexts/RootStylesContext.d.ts.map +1 -0
- package/dist/esm/contexts/RootStylesContext.js +3 -0
- package/dist/esm/contexts/SelectedValueContext.d.ts +8 -0
- package/dist/esm/contexts/SelectedValueContext.d.ts.map +1 -0
- package/dist/esm/contexts/SelectedValueContext.js +6 -0
- package/dist/esm/contexts/index.d.ts +5 -0
- package/dist/esm/contexts/index.d.ts.map +1 -0
- package/dist/esm/contexts/index.js +4 -0
- package/dist/esm/hooks/index.d.ts +6 -0
- package/dist/esm/hooks/index.d.ts.map +1 -0
- package/dist/esm/hooks/index.js +5 -0
- package/dist/esm/hooks/useAstToFilterTree.d.ts +11 -0
- package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -0
- package/dist/esm/hooks/useAstToFilterTree.js +24 -0
- package/dist/esm/hooks/useDashboard.d.ts +7 -0
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -0
- package/dist/esm/hooks/useDashboard.js +69 -0
- package/dist/esm/hooks/useExport.d.ts +6 -0
- package/dist/esm/hooks/useExport.d.ts.map +1 -0
- package/dist/esm/hooks/useExport.js +125 -0
- package/dist/esm/hooks/useFormat.d.ts +5 -0
- package/dist/esm/hooks/useFormat.d.ts.map +1 -0
- package/dist/esm/hooks/useFormat.js +25 -0
- package/dist/esm/hooks/useInternalState.d.ts +4 -0
- package/dist/esm/hooks/useInternalState.d.ts.map +1 -0
- package/dist/esm/hooks/useInternalState.js +14 -0
- package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
- package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
- package/dist/esm/hooks/useOnClickOutside.js +18 -0
- package/dist/esm/hooks/useOnWindowResize.d.ts +5 -0
- package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -0
- package/dist/esm/hooks/useOnWindowResize.js +14 -0
- package/dist/esm/hooks/useQuill.d.ts +37 -0
- package/dist/esm/hooks/useQuill.d.ts.map +1 -0
- package/dist/esm/hooks/useQuill.js +182 -0
- package/dist/esm/hooks/useSelectOnKeyDown.d.ts +3 -0
- package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -0
- package/dist/esm/hooks/useSelectOnKeyDown.js +63 -0
- package/dist/esm/hooks/useTheme.d.ts +7 -0
- package/dist/esm/hooks/useTheme.d.ts.map +1 -0
- package/dist/esm/hooks/useTheme.js +10 -0
- package/dist/esm/index.d.ts +29 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +28 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.js +62 -0
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts +39 -0
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -0
- package/dist/esm/internals/ReportBuilder/PivotList.js +89 -0
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +146 -0
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -0
- package/dist/esm/internals/ReportBuilder/PivotModal.js +1210 -0
- package/dist/esm/lib/font.d.ts +14 -0
- package/dist/esm/lib/font.d.ts.map +1 -0
- package/dist/esm/lib/font.js +13 -0
- package/dist/esm/lib/index.d.ts +4 -0
- package/dist/esm/lib/index.d.ts.map +1 -0
- package/dist/esm/lib/index.js +3 -0
- package/dist/esm/lib/inputTypes.d.ts +21 -0
- package/dist/esm/lib/inputTypes.d.ts.map +1 -0
- package/dist/esm/lib/inputTypes.js +55 -0
- package/dist/esm/lib/utils.d.ts +10 -0
- package/dist/esm/lib/utils.d.ts.map +1 -0
- package/dist/esm/lib/utils.js +35 -0
- package/dist/esm/models/Columns.d.ts +12 -0
- package/dist/esm/models/Columns.d.ts.map +1 -0
- package/dist/esm/models/Columns.js +1 -0
- package/dist/esm/models/Filter.d.ts +118 -0
- package/dist/esm/models/Filter.d.ts.map +1 -0
- package/dist/esm/models/Filter.js +98 -0
- package/dist/esm/models/Pagination.d.ts +10 -0
- package/dist/esm/models/Pagination.d.ts.map +1 -0
- package/dist/esm/models/Pagination.js +1 -0
- package/dist/esm/models/Pivots.d.ts +2 -0
- package/dist/esm/models/Pivots.d.ts.map +1 -0
- package/dist/esm/models/Pivots.js +1 -0
- package/dist/esm/models/Report.d.ts +103 -0
- package/dist/esm/models/Report.d.ts.map +1 -0
- package/dist/esm/models/Report.js +1 -0
- package/dist/esm/models/Tables.d.ts +8 -0
- package/dist/esm/models/Tables.d.ts.map +1 -0
- package/dist/esm/models/Tables.js +1 -0
- package/dist/esm/utils/aggregate.d.ts +4 -0
- package/dist/esm/utils/aggregate.d.ts.map +1 -0
- package/dist/esm/utils/aggregate.js +422 -0
- package/dist/esm/utils/astFilterProcessing.d.ts +36 -0
- package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -0
- package/dist/esm/utils/astFilterProcessing.js +8084 -0
- package/dist/esm/utils/astProcessing.d.ts +26 -0
- package/dist/esm/utils/astProcessing.d.ts.map +1 -0
- package/dist/esm/utils/astProcessing.js +254 -0
- package/dist/esm/utils/axisFormatter.d.ts +20 -0
- package/dist/esm/utils/axisFormatter.d.ts.map +1 -0
- package/dist/esm/utils/axisFormatter.js +179 -0
- package/dist/esm/utils/color.d.ts +44 -0
- package/dist/esm/utils/color.d.ts.map +1 -0
- package/dist/esm/utils/color.js +425 -0
- package/dist/esm/utils/columnProcessing.d.ts +13 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
- package/dist/esm/utils/columnProcessing.js +260 -0
- package/dist/esm/utils/constants.d.ts +3 -0
- package/dist/esm/utils/constants.d.ts.map +1 -0
- package/dist/esm/utils/constants.js +2 -0
- package/dist/esm/utils/crypto.d.ts +2 -0
- package/dist/esm/utils/crypto.d.ts.map +1 -0
- package/dist/esm/utils/crypto.js +10 -0
- package/dist/esm/utils/csv.d.ts +6 -0
- package/dist/esm/utils/csv.d.ts.map +1 -0
- package/dist/esm/utils/csv.js +78 -0
- package/dist/esm/utils/dashboard.d.ts +13 -0
- package/dist/esm/utils/dashboard.d.ts.map +1 -0
- package/dist/esm/utils/dashboard.js +171 -0
- package/dist/esm/utils/dataFetcher.d.ts +3 -0
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -0
- package/dist/esm/utils/dataFetcher.js +205 -0
- package/dist/esm/utils/dataProcessing.d.ts +11 -0
- package/dist/esm/utils/dataProcessing.d.ts.map +1 -0
- package/dist/esm/utils/dataProcessing.js +162 -0
- package/dist/esm/utils/dates.d.ts +20 -0
- package/dist/esm/utils/dates.d.ts.map +1 -0
- package/dist/esm/utils/dates.js +95 -0
- package/dist/esm/utils/error.d.ts +5 -0
- package/dist/esm/utils/error.d.ts.map +1 -0
- package/dist/esm/utils/error.js +8 -0
- package/dist/esm/utils/errorProcessing.d.ts +2 -0
- package/dist/esm/utils/errorProcessing.d.ts.map +1 -0
- package/dist/esm/utils/errorProcessing.js +5 -0
- package/dist/esm/utils/filterConstants.d.ts +34 -0
- package/dist/esm/utils/filterConstants.d.ts.map +1 -0
- package/dist/esm/utils/filterConstants.js +33 -0
- package/dist/esm/utils/filterProcessing.d.ts +10 -0
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -0
- package/dist/esm/utils/filterProcessing.js +232 -0
- package/dist/esm/utils/getDomain.d.ts +8 -0
- package/dist/esm/utils/getDomain.d.ts.map +1 -0
- package/dist/esm/utils/getDomain.js +52 -0
- package/dist/esm/utils/logging.d.ts +2 -0
- package/dist/esm/utils/logging.d.ts.map +1 -0
- package/dist/esm/utils/logging.js +7 -0
- package/dist/esm/utils/merge.d.ts +2 -0
- package/dist/esm/utils/merge.d.ts.map +1 -0
- package/dist/esm/utils/merge.js +18 -0
- package/dist/esm/utils/monacoConfig.d.ts +21 -0
- package/dist/esm/utils/monacoConfig.d.ts.map +1 -0
- package/dist/esm/utils/monacoConfig.js +319 -0
- package/dist/esm/utils/paginationProcessing.d.ts +5 -0
- package/dist/esm/utils/paginationProcessing.d.ts.map +1 -0
- package/dist/esm/utils/paginationProcessing.js +25 -0
- package/dist/esm/utils/parserBigQuery.d.ts +6 -0
- package/dist/esm/utils/parserBigQuery.d.ts.map +1 -0
- package/dist/esm/utils/parserBigQuery.js +52 -0
- package/dist/esm/utils/parserPostgres.d.ts +3 -0
- package/dist/esm/utils/parserPostgres.d.ts.map +1 -0
- package/dist/esm/utils/parserPostgres.js +37 -0
- package/dist/esm/utils/pivotConstructor.d.ts +7 -0
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -0
- package/dist/esm/utils/pivotConstructor.js +151 -0
- package/dist/esm/utils/pivotProcessing.d.ts +17 -0
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -0
- package/dist/esm/utils/pivotProcessing.js +135 -0
- package/dist/esm/utils/queryConstructor.d.ts +7 -0
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -0
- package/dist/esm/utils/queryConstructor.js +226 -0
- package/dist/esm/utils/report.d.ts +10 -0
- package/dist/esm/utils/report.d.ts.map +1 -0
- package/dist/esm/utils/report.js +186 -0
- package/dist/esm/utils/schema.d.ts +6 -0
- package/dist/esm/utils/schema.d.ts.map +1 -0
- package/dist/esm/utils/schema.js +156 -0
- package/dist/esm/utils/styles.d.ts +17 -0
- package/dist/esm/utils/styles.d.ts.map +1 -0
- package/dist/esm/utils/styles.js +16 -0
- package/dist/esm/utils/tableProcessing.d.ts +45 -0
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -0
- package/dist/esm/utils/tableProcessing.js +301 -0
- package/dist/esm/utils/textProcessing.d.ts +6 -0
- package/dist/esm/utils/textProcessing.d.ts.map +1 -0
- package/dist/esm/utils/textProcessing.js +49 -0
- package/dist/esm/utils/validation.d.ts +9 -0
- package/dist/esm/utils/validation.d.ts.map +1 -0
- package/dist/esm/utils/validation.js +20 -0
- package/dist/esm/utils/valueFormatter.d.ts +29 -0
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -0
- package/dist/esm/utils/valueFormatter.js +342 -0
- package/dist/esm/utils/width.d.ts +12 -0
- package/dist/esm/utils/width.d.ts.map +1 -0
- package/dist/esm/utils/width.js +21 -0
- package/package.json +1 -1
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { endOfWeek, format, getWeek, isValid, parse, startOfWeek, } from 'date-fns';
|
|
2
|
+
import { utcToZonedTime } from 'date-fns-tz';
|
|
3
|
+
export const DATE_FORMAT_TYPES = [
|
|
4
|
+
'yyyy',
|
|
5
|
+
'MMM_yyyy',
|
|
6
|
+
'MMM_dd_yyyy',
|
|
7
|
+
'hh_ap_pm',
|
|
8
|
+
'MMM_dd-MMM_dd',
|
|
9
|
+
'MMM_dd_hh:mm_ap_pm',
|
|
10
|
+
'wo, yyyy',
|
|
11
|
+
];
|
|
12
|
+
export const NUMBER_FORMAT_TYPES = [
|
|
13
|
+
'whole_number',
|
|
14
|
+
'one_decimal_place',
|
|
15
|
+
'two_decimal_places',
|
|
16
|
+
'dollar_amount',
|
|
17
|
+
'dollar_cents',
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* Pretty-prints the given values to their nice-looking string form.
|
|
21
|
+
*/
|
|
22
|
+
export const valueFormatter = ({ value, field, fields }) => {
|
|
23
|
+
if (field === undefined || field === null)
|
|
24
|
+
return '';
|
|
25
|
+
if (value === undefined || value === null)
|
|
26
|
+
return '';
|
|
27
|
+
const fieldInfo = fields.find((f) => f.field === field);
|
|
28
|
+
if (!fieldInfo)
|
|
29
|
+
return '';
|
|
30
|
+
const HANDLERS = {
|
|
31
|
+
percent: formatPercent,
|
|
32
|
+
dollar_amount: formatDollarAmount,
|
|
33
|
+
dollar_cents: formatDollarCents,
|
|
34
|
+
whole_number: formatWholeNumber,
|
|
35
|
+
one_decimal_place: formatOneDecimalPlace,
|
|
36
|
+
two_decimal_places: formatTwoDecimalPlaces,
|
|
37
|
+
string: formatString,
|
|
38
|
+
yyyy: format_YYYY,
|
|
39
|
+
MMM_dd: format_MMM_dd,
|
|
40
|
+
MMM_yyyy: format_MMM_yyyy,
|
|
41
|
+
MMM_dd_yyyy: format_MMM_dd_yyyy,
|
|
42
|
+
MMM_ww_yyyy: format_MMM_ww_yyyy,
|
|
43
|
+
hh_ap_pm: format_hh_ap_pm,
|
|
44
|
+
'MMM_dd-MMM_dd': format_MMM_dd_MMM_dd,
|
|
45
|
+
'MMM_dd_hh:mm_ap_pm': format_MMM_dd_hh_mm_ap_pm,
|
|
46
|
+
'wo, yyyy': format_wo_yyyy,
|
|
47
|
+
};
|
|
48
|
+
// try to handle this value using the associated formatType handler
|
|
49
|
+
const formatType = fieldInfo.format;
|
|
50
|
+
if (Object.keys(HANDLERS).includes(formatType)) {
|
|
51
|
+
// if bigquery date type, we have to pull the value out of the json
|
|
52
|
+
if (DATE_FORMAT_TYPES.includes(formatType) &&
|
|
53
|
+
typeof value === 'object' &&
|
|
54
|
+
value.value) {
|
|
55
|
+
return HANDLERS[formatType](value.value);
|
|
56
|
+
}
|
|
57
|
+
return HANDLERS[formatType](value);
|
|
58
|
+
}
|
|
59
|
+
return formatString(value); // by default make this value a string
|
|
60
|
+
};
|
|
61
|
+
export const quillFormat = ({ value, format, }) => {
|
|
62
|
+
// Handle special case, if value is null and format is numeric display '-'
|
|
63
|
+
if (value === null &&
|
|
64
|
+
(NUMBER_FORMAT_TYPES.includes(format) || DATE_FORMAT_TYPES.includes(format))) {
|
|
65
|
+
return '-';
|
|
66
|
+
}
|
|
67
|
+
const HANDLERS = {
|
|
68
|
+
percent: formatPercent,
|
|
69
|
+
dollar_amount: formatDollarAmount,
|
|
70
|
+
dollar_cents: formatDollarCents,
|
|
71
|
+
whole_number: formatWholeNumber,
|
|
72
|
+
one_decimal_place: formatOneDecimalPlace,
|
|
73
|
+
two_decimal_places: formatTwoDecimalPlaces,
|
|
74
|
+
string: formatString,
|
|
75
|
+
yyyy: format_YYYY,
|
|
76
|
+
MMM_yyyy: format_MMM_yyyy,
|
|
77
|
+
MMM_dd_yyyy: format_MMM_dd_yyyy,
|
|
78
|
+
MMM_dd: format_MMM_dd,
|
|
79
|
+
hh_ap_pm: format_hh_ap_pm,
|
|
80
|
+
'MMM_dd-MMM_dd': format_MMM_dd_MMM_dd,
|
|
81
|
+
'MMM_dd_hh:mm_ap_pm': format_MMM_dd_hh_mm_ap_pm,
|
|
82
|
+
'wo, yyyy': format_wo_yyyy,
|
|
83
|
+
};
|
|
84
|
+
// try to handle this value using the associated formatType handler
|
|
85
|
+
const formatType = format;
|
|
86
|
+
if (HANDLERS[formatType]) {
|
|
87
|
+
// if bigquery date type, we have to pull the value out of the json
|
|
88
|
+
if (DATE_FORMAT_TYPES.includes(formatType) &&
|
|
89
|
+
typeof value === 'object' &&
|
|
90
|
+
value &&
|
|
91
|
+
value.value) {
|
|
92
|
+
return HANDLERS[formatType](value.value);
|
|
93
|
+
}
|
|
94
|
+
return HANDLERS[formatType](value);
|
|
95
|
+
}
|
|
96
|
+
return formatString(value); // by default make this value a string
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* HELPER FUNCTION DEFINITIONS
|
|
100
|
+
**/
|
|
101
|
+
/**
|
|
102
|
+
* Formats the value as a string using the built-in converstion.
|
|
103
|
+
*/
|
|
104
|
+
const formatString = (value) => {
|
|
105
|
+
if (value === null || value === undefined) {
|
|
106
|
+
return '-';
|
|
107
|
+
}
|
|
108
|
+
if (typeof value === 'object') {
|
|
109
|
+
return JSON.stringify(value);
|
|
110
|
+
}
|
|
111
|
+
return value.toString();
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Formats the value as a (rounded) currency amount in dollars.
|
|
115
|
+
*
|
|
116
|
+
* eg. @example format(1234.567) => "$1,235"
|
|
117
|
+
*/
|
|
118
|
+
const formatterDollar = new Intl.NumberFormat('en-US', {
|
|
119
|
+
style: 'currency',
|
|
120
|
+
currency: 'USD',
|
|
121
|
+
maximumFractionDigits: 0,
|
|
122
|
+
});
|
|
123
|
+
const formatDollarAmount = (value) => {
|
|
124
|
+
return formatterDollar.format(Number(value ?? 0));
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Formats the value as a (rounded) currency amount in dollars and cents.
|
|
128
|
+
*
|
|
129
|
+
* @example format(1234.567) => "$1,234.57"
|
|
130
|
+
*/
|
|
131
|
+
const formatterCentsDollar = new Intl.NumberFormat('en-US', {
|
|
132
|
+
style: 'currency',
|
|
133
|
+
currency: 'USD',
|
|
134
|
+
minimumFractionDigits: 2,
|
|
135
|
+
maximumFractionDigits: 2,
|
|
136
|
+
});
|
|
137
|
+
const formatDollarCents = (value) => {
|
|
138
|
+
return formatterCentsDollar.format(Number(value ?? 0));
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Formats the value as a (rounded) integer.
|
|
142
|
+
*
|
|
143
|
+
* @example format(1234.567) => "1,235"
|
|
144
|
+
*/
|
|
145
|
+
const wholeNumberFormatter = new Intl.NumberFormat('en-US', {
|
|
146
|
+
maximumFractionDigits: 0,
|
|
147
|
+
});
|
|
148
|
+
const formatWholeNumber = (value) => {
|
|
149
|
+
return wholeNumberFormatter.format(Number(value));
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Formats the value as a number rounded to exactly one decimal place.
|
|
153
|
+
*
|
|
154
|
+
* @example format(1234.567) => "1,234.6"
|
|
155
|
+
*/
|
|
156
|
+
const formatOneDecimalPlace = (value) => {
|
|
157
|
+
const formatter = new Intl.NumberFormat('en-US', {
|
|
158
|
+
minimumFractionDigits: 1,
|
|
159
|
+
maximumFractionDigits: 1,
|
|
160
|
+
});
|
|
161
|
+
return formatter.format(Number(value));
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Formats the value as a number rounded to exactly two decimal places.
|
|
165
|
+
*
|
|
166
|
+
* @example format(1234.567) => "1,234.57"
|
|
167
|
+
*/
|
|
168
|
+
const formatterTwoDecimalPlaces = new Intl.NumberFormat('en-US', {
|
|
169
|
+
minimumFractionDigits: 2,
|
|
170
|
+
maximumFractionDigits: 2,
|
|
171
|
+
});
|
|
172
|
+
const formatTwoDecimalPlaces = (value) => {
|
|
173
|
+
return formatterTwoDecimalPlaces.format(Number(value));
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* Formats the value as a percentage.
|
|
177
|
+
*
|
|
178
|
+
* @example format(0.1234) => "12.34%"
|
|
179
|
+
* @example format(0.99) => "99.00%"
|
|
180
|
+
*
|
|
181
|
+
* NOTE: This function expects that the value is already a percentage value, and
|
|
182
|
+
* does not try to guess whether the percentage is represented as a whole number
|
|
183
|
+
* or a decimal.
|
|
184
|
+
*
|
|
185
|
+
* @example format(1234.567) => "123,456.70%"
|
|
186
|
+
* @example format(99) => "9,900.00%"
|
|
187
|
+
*/
|
|
188
|
+
const formatterPercent = new Intl.NumberFormat('en-US', {
|
|
189
|
+
style: 'percent',
|
|
190
|
+
minimumFractionDigits: 2,
|
|
191
|
+
maximumFractionDigits: 2,
|
|
192
|
+
});
|
|
193
|
+
const formatPercent = (value) => {
|
|
194
|
+
return formatterPercent.format(Number(value));
|
|
195
|
+
};
|
|
196
|
+
// Converts the value to a UTC date with the given format string. If the
|
|
197
|
+
// resulting date is invalid, it returns "Invalid date".
|
|
198
|
+
const _getUTCDateHelper = (value, fmt) => {
|
|
199
|
+
const parsedDate = parse(value, fmt, new Date());
|
|
200
|
+
const utcDate = isValid(parsedDate)
|
|
201
|
+
? utcToZonedTime(parsedDate, 'UTC')
|
|
202
|
+
: utcToZonedTime(new Date(value), 'UTC');
|
|
203
|
+
// const utcDate: Date = utcToZonedTime(new Date(value), 'UTC');
|
|
204
|
+
if (!isValid(utcDate))
|
|
205
|
+
return value; //'Invalid date';
|
|
206
|
+
return format(utcDate, fmt);
|
|
207
|
+
};
|
|
208
|
+
const format_YYYY = (value) => _getUTCDateHelper(value, 'yyyy');
|
|
209
|
+
const format_MMM_yyyy = (value) => _getUTCDateHelper(value, 'MMM yyyy');
|
|
210
|
+
const format_hh_ap_pm = (value) => _getUTCDateHelper(value, 'hh:mm aa');
|
|
211
|
+
const format_MMM_dd = (value) => _getUTCDateHelper(value, 'MMM dd');
|
|
212
|
+
const format_MMM_dd_yyyy = (value) => {
|
|
213
|
+
return _getUTCDateHelper(value, 'dd MMM yyyy');
|
|
214
|
+
};
|
|
215
|
+
const format_MMM_dd_MMM_dd = (value) => {
|
|
216
|
+
const utcDate = utcToZonedTime(new Date(value), 'UTC');
|
|
217
|
+
if (!isValid(utcDate))
|
|
218
|
+
return 'Invalid date';
|
|
219
|
+
const monday = startOfWeek(utcDate, { weekStartsOn: 1 });
|
|
220
|
+
const sunday = endOfWeek(utcDate, { weekStartsOn: 1 });
|
|
221
|
+
// Check if start and end are in the same month
|
|
222
|
+
if (format(monday, 'MMM') === format(sunday, 'MMM')) {
|
|
223
|
+
return `${format(monday, 'MMM dd')} - ${format(sunday, 'dd')}`;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
return `${format(monday, 'MMM dd')} - ${format(sunday, 'MMM dd')}`;
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
const format_MMM_dd_hh_mm_ap_pm = (value) => {
|
|
230
|
+
const utcDate = utcToZonedTime(new Date(value), 'UTC');
|
|
231
|
+
if (!isValid(utcDate))
|
|
232
|
+
return 'Invalid date';
|
|
233
|
+
const formatStr = utcDate.getMinutes() === 0 ? 'MMM do h a' : 'MMM do h:mm a';
|
|
234
|
+
const res = format(utcDate, formatStr);
|
|
235
|
+
return res.slice(0, -2) + res.slice(-2).toLowerCase();
|
|
236
|
+
};
|
|
237
|
+
const format_wo_yyyy = (value) => {
|
|
238
|
+
const utcDate = utcToZonedTime(new Date(value), 'UTC');
|
|
239
|
+
if (!isValid(utcDate))
|
|
240
|
+
return 'Invalid date';
|
|
241
|
+
return `${getWeek(utcDate)},${utcDate.getFullYear()}`;
|
|
242
|
+
};
|
|
243
|
+
const format_MMM_ww_yyyy = (value) => {
|
|
244
|
+
const utcDate = utcToZonedTime(new Date(value), 'UTC');
|
|
245
|
+
if (!isValid(utcDate))
|
|
246
|
+
return 'Invalid date';
|
|
247
|
+
const startOfWeekDate = startOfWeek(utcDate, { weekStartsOn: 1 });
|
|
248
|
+
const endOfWeekDate = endOfWeek(utcDate, { weekStartsOn: 1 });
|
|
249
|
+
const month = format(utcDate, 'MMM');
|
|
250
|
+
const startDay = format(startOfWeekDate, 'd');
|
|
251
|
+
const endDay = format(endOfWeekDate, 'd');
|
|
252
|
+
const year = format(utcDate, 'yyyy');
|
|
253
|
+
return `${month}, ${startDay}-${endDay}, ${year}`;
|
|
254
|
+
};
|
|
255
|
+
/**
|
|
256
|
+
* Parses a numeric string back into a number, taking into account that
|
|
257
|
+
* users in different locales will format numbers differently (eg. 1,234 means
|
|
258
|
+
* something different from 1.234 in different countries).
|
|
259
|
+
*
|
|
260
|
+
* see: https://stackoverflow.com/a/45309230/9566888
|
|
261
|
+
*/
|
|
262
|
+
function parseNumber(value) {
|
|
263
|
+
if (typeof value === 'number')
|
|
264
|
+
return value;
|
|
265
|
+
if (typeof value !== 'string')
|
|
266
|
+
return Number.NaN;
|
|
267
|
+
const example = localeFormatter.format(1.1);
|
|
268
|
+
const cleanPattern = new RegExp(`[^-+0-9${example.charAt(1)}]`, 'g');
|
|
269
|
+
const cleaned = value.replace(cleanPattern, '');
|
|
270
|
+
const normalized = cleaned.replace(example.charAt(1), '.');
|
|
271
|
+
return parseFloat(normalized);
|
|
272
|
+
}
|
|
273
|
+
// Moved this out of parseNumber for perf reasons
|
|
274
|
+
const localeFormatter = Intl.NumberFormat(typeof navigator !== 'undefined' ? navigator.language : 'en-US');
|
|
275
|
+
const FORMATS = [
|
|
276
|
+
'dd MMM yyyy',
|
|
277
|
+
'yyyy-mm-dd',
|
|
278
|
+
'MMM yyyy',
|
|
279
|
+
'MMM do h a',
|
|
280
|
+
'MMM do h:mm a',
|
|
281
|
+
];
|
|
282
|
+
function isValidDate(dateString) {
|
|
283
|
+
const date = getValidDate(dateString);
|
|
284
|
+
if (date)
|
|
285
|
+
return true;
|
|
286
|
+
// Try parsing as native date object
|
|
287
|
+
const d = new Date(dateString);
|
|
288
|
+
return !isNaN(d.getTime());
|
|
289
|
+
// return FORMATS.some((fmt) => isValid(parse(d, fmt, new Date())));
|
|
290
|
+
}
|
|
291
|
+
function getValidDate(dateString) {
|
|
292
|
+
const dates = FORMATS.map((fmt) => parse(dateString, fmt, new Date()));
|
|
293
|
+
return dates.find((date) => isValid(date));
|
|
294
|
+
}
|
|
295
|
+
export const compareValues = (a, b, column) => {
|
|
296
|
+
const valueA = a[column];
|
|
297
|
+
const valueB = b[column];
|
|
298
|
+
// Null checks
|
|
299
|
+
if (valueA === null && valueB === null) {
|
|
300
|
+
return 0; // Both values are null, consider them equal
|
|
301
|
+
}
|
|
302
|
+
else if (valueA === null) {
|
|
303
|
+
return -1; // ValueA is null, consider it smaller
|
|
304
|
+
}
|
|
305
|
+
else if (valueB === null) {
|
|
306
|
+
return 1; // ValueB is null, consider it smaller
|
|
307
|
+
}
|
|
308
|
+
// Undefined checks
|
|
309
|
+
if (valueA === undefined && valueB === undefined) {
|
|
310
|
+
return 0; // Both values are undefined, consider them equal
|
|
311
|
+
}
|
|
312
|
+
else if (valueA === undefined) {
|
|
313
|
+
return -1; // ValueA is undefined, consider it smaller
|
|
314
|
+
}
|
|
315
|
+
else if (valueB === undefined) {
|
|
316
|
+
return 1; // ValueB is undefined, consider it smaller
|
|
317
|
+
}
|
|
318
|
+
// For dates
|
|
319
|
+
if (isValidDate(valueA) && isValidDate(valueB)) {
|
|
320
|
+
const dateA = new Date(valueA);
|
|
321
|
+
const dateB = new Date(valueB);
|
|
322
|
+
if (!isNaN(dateA.getTime()) && !isNaN(dateB.getTime())) {
|
|
323
|
+
return dateA.getTime() - dateB.getTime();
|
|
324
|
+
}
|
|
325
|
+
// Handle edge case for AM/PM date formats
|
|
326
|
+
const date1 = getValidDate(valueA);
|
|
327
|
+
const date2 = getValidDate(valueB);
|
|
328
|
+
if (date1 && date2) {
|
|
329
|
+
return date1.getTime() - date2.getTime();
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
// For numbers
|
|
333
|
+
if (!isNaN(parseNumber(valueA)) && !isNaN(parseNumber(valueB))) {
|
|
334
|
+
return parseNumber(valueA) - parseNumber(valueB);
|
|
335
|
+
}
|
|
336
|
+
// For booleans
|
|
337
|
+
if (typeof valueA === 'boolean' && typeof valueB === 'boolean') {
|
|
338
|
+
return valueA === valueB ? 0 : valueA ? 1 : -1;
|
|
339
|
+
}
|
|
340
|
+
// For strings
|
|
341
|
+
return valueA.localeCompare(valueB);
|
|
342
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the width that the first child of the given container should be
|
|
3
|
+
* such that the first child takes up as much space as possible in the container
|
|
4
|
+
* without crowding out the rest of its siblings. Also respects flexbox gap.
|
|
5
|
+
* @param containerRef the ref of the container element
|
|
6
|
+
* @param setState a callback to set the new width of the first child
|
|
7
|
+
* @param options config options ('gap' sets the size of the flexbox gap)
|
|
8
|
+
*/
|
|
9
|
+
export declare const updateFirstChildWidth: (containerRef: React.RefObject<HTMLElement>, setState: (value: React.SetStateAction<number>) => void, options?: {
|
|
10
|
+
gap: number;
|
|
11
|
+
}) => void;
|
|
12
|
+
//# sourceMappingURL=width.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"width.d.ts","sourceRoot":"","sources":["../../../src/utils/width.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,iBAClB,MAAM,SAAS,CAAC,WAAW,CAAC,oBACxB,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,YAC9C;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,SAazB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the width that the first child of the given container should be
|
|
3
|
+
* such that the first child takes up as much space as possible in the container
|
|
4
|
+
* without crowding out the rest of its siblings. Also respects flexbox gap.
|
|
5
|
+
* @param containerRef the ref of the container element
|
|
6
|
+
* @param setState a callback to set the new width of the first child
|
|
7
|
+
* @param options config options ('gap' sets the size of the flexbox gap)
|
|
8
|
+
*/
|
|
9
|
+
export const updateFirstChildWidth = (containerRef, setState, options = { gap: 0 }) => {
|
|
10
|
+
if (containerRef.current) {
|
|
11
|
+
const element = containerRef.current;
|
|
12
|
+
const totalWidth = element.getBoundingClientRect().width;
|
|
13
|
+
const gapWidth = options.gap * (element.childElementCount - 1);
|
|
14
|
+
let siblingsWidth = 0;
|
|
15
|
+
const children = Array.from(containerRef.current.children);
|
|
16
|
+
for (let i = 1; i < children.length; i++) {
|
|
17
|
+
siblingsWidth += children[i].getBoundingClientRect().width;
|
|
18
|
+
}
|
|
19
|
+
setState(totalWidth - siblingsWidth - gapWidth);
|
|
20
|
+
}
|
|
21
|
+
};
|