@dcs-tech/ui 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -0
- package/dist/ChartImageMenu-gvNAYVkY.js +2938 -0
- package/dist/Charts-COljjy0x.js +1759 -0
- package/dist/SummaryChart-D4jcOv-K.js +31 -0
- package/dist/SummaryImage-BSbatHym.js +19 -0
- package/dist/SummarySeeAll-vnaL3pdy.js +97 -0
- package/dist/defaults-BbLB8QmD.js +709 -0
- package/dist/exportContext-CAX8VPrP.js +243 -0
- package/dist/exportEngine-C4n1MiOw.js +891 -0
- package/dist/fuseSearch-vLQR3O5a.js +37 -0
- package/dist/index.js +19289 -9411
- package/dist/style.css +1 -1
- package/dist/summaryChartData-CU_W5ocv.js +82 -0
- package/dist/types/published/dcs-ui/src/index.d.ts +0 -28
- package/dist/types/published/dcs-ui/src/publicLogic.d.ts +0 -33
- package/dist/types/published/dcs-ui/src/publicTypes.d.ts +0 -12
- package/dist/types/shared-logic/src/report/aggregate.d.ts +0 -21
- package/dist/types/shared-logic/src/report/canvas.d.ts +0 -55
- package/dist/types/shared-logic/src/report/conditions.d.ts +0 -14
- package/dist/types/shared-logic/src/report/constants.d.ts +0 -39
- package/dist/types/shared-logic/src/report/dataset.d.ts +0 -26
- package/dist/types/shared-logic/src/report/edit.d.ts +0 -62
- package/dist/types/shared-logic/src/report/fields.d.ts +0 -51
- package/dist/types/shared-logic/src/report/format.d.ts +0 -22
- package/dist/types/shared-logic/src/report/fromColumns.d.ts +0 -30
- package/dist/types/shared-logic/src/report/layout.d.ts +1 -55
- package/dist/types/shared-logic/src/report/metrics.d.ts +0 -45
- package/dist/types/shared-logic/src/report/migrate.d.ts +0 -60
- package/dist/types/shared-logic/src/report/paginate.d.ts +0 -32
- package/dist/types/shared-logic/src/report/renderers/html.d.ts +0 -21
- package/dist/types/shared-logic/src/report/renderers/pdfmake.d.ts +0 -27
- package/dist/types/shared-logic/src/report/resolve.d.ts +0 -29
- package/dist/types/shared-logic/src/report/scope.d.ts +0 -28
- package/dist/types/shared-logic/src/report/storage.d.ts +0 -76
- package/dist/types/shared-logic/src/report/validate.d.ts +0 -18
- package/dist/types/shared-logic/src/ui/cellRules.logic.d.ts +0 -35
- package/dist/types/shared-logic/src/ui/chipinput.logic.d.ts +0 -12
- package/dist/types/shared-logic/src/ui/collapsible.logic.d.ts +0 -7
- package/dist/types/shared-logic/src/ui/colorScheme.d.ts +0 -14
- package/dist/types/shared-logic/src/ui/columnOrder.logic.d.ts +0 -11
- package/dist/types/shared-logic/src/ui/datePicker.logic.d.ts +136 -0
- package/dist/types/shared-logic/src/ui/editableTable.logic.d.ts +0 -27
- package/dist/types/shared-logic/src/ui/fieldControl.logic.d.ts +2 -14
- package/dist/types/shared-logic/src/ui/form.logic.d.ts +0 -8
- package/dist/types/shared-logic/src/ui/index.d.ts +3 -29
- package/dist/types/shared-logic/src/ui/keyboard.logic.d.ts +0 -60
- package/dist/types/shared-logic/src/ui/navigation.logic.d.ts +0 -24
- package/dist/types/shared-logic/src/ui/popover.logic.d.ts +22 -20
- package/dist/types/shared-logic/src/ui/popupList.logic.d.ts +0 -35
- package/dist/types/shared-logic/src/ui/quickAddGrid.logic.d.ts +183 -0
- package/dist/types/shared-logic/src/ui/select.logic.d.ts +0 -14
- package/dist/types/shared-logic/src/ui/tableLayout.logic.d.ts +0 -34
- package/dist/types/shared-logic/src/ui/tableSummary.logic.d.ts +0 -19
- package/dist/types/shared-logic/src/ui/timeField.logic.d.ts +26 -0
- package/dist/types/shared-logic/src/ui/tooltip.logic.d.ts +0 -24
- package/dist/types/shared-logic/src/ui/useMergeRefs.d.ts +0 -8
- package/dist/types/shared-types/src/report/bands.d.ts +0 -20
- package/dist/types/shared-types/src/report/blocks.d.ts +0 -59
- package/dist/types/shared-types/src/report/conditions.d.ts +0 -13
- package/dist/types/shared-types/src/report/dataset.d.ts +0 -53
- package/dist/types/shared-types/src/report/document.d.ts +0 -80
- package/dist/types/shared-types/src/report/primitives.d.ts +0 -40
- package/dist/types/shared-types/src/report/registry.d.ts +0 -46
- package/dist/types/shared-types/src/report/storage.d.ts +0 -31
- package/dist/types/shared-types/src/report/template.d.ts +0 -60
- package/dist/types/shared-types/src/ui/button.types.d.ts +0 -11
- package/dist/types/shared-types/src/ui/checkbox.types.d.ts +0 -4
- package/dist/types/shared-types/src/ui/chipinput.types.d.ts +0 -10
- package/dist/types/shared-types/src/ui/collapsible.types.d.ts +0 -18
- package/dist/types/shared-types/src/ui/common.types.d.ts +0 -11
- package/dist/types/shared-types/src/ui/control.types.d.ts +0 -97
- package/dist/types/shared-types/src/ui/datePicker.types.d.ts +46 -0
- package/dist/types/shared-types/src/ui/editableTable.types.d.ts +0 -79
- package/dist/types/shared-types/src/ui/field.types.d.ts +4 -124
- package/dist/types/shared-types/src/ui/fieldWrapper.types.d.ts +0 -10
- package/dist/types/shared-types/src/ui/fields.types.d.ts +0 -45
- package/dist/types/shared-types/src/ui/form.types.d.ts +0 -30
- package/dist/types/shared-types/src/ui/index.d.ts +1 -16
- package/dist/types/shared-types/src/ui/input.types.d.ts +0 -4
- package/dist/types/shared-types/src/ui/keyboard.types.d.ts +2 -109
- package/dist/types/shared-types/src/ui/navigation.types.d.ts +0 -22
- package/dist/types/shared-types/src/ui/radio.types.d.ts +0 -6
- package/dist/types/shared-types/src/ui/select.types.d.ts +0 -41
- package/dist/types/shared-types/src/ui/suggest.types.d.ts +0 -10
- package/dist/types/shared-types/src/ui/switch.types.d.ts +0 -4
- package/dist/types/shared-types/src/ui/table.types.d.ts +0 -59
- package/dist/types/shared-types/src/ui/tooltip.types.d.ts +0 -25
- package/dist/types/shared-types/src/ui/typography.types.d.ts +0 -4
- package/dist/types/shared-web-ui/src/AppBar/AppBar.d.ts +0 -9
- package/dist/types/shared-web-ui/src/ArrowKeyFocus/useArrowKeyFocus.d.ts +0 -19
- package/dist/types/shared-web-ui/src/Avatar/Avatar.d.ts +0 -14
- package/dist/types/shared-web-ui/src/Badge/Badge.d.ts +0 -11
- package/dist/types/shared-web-ui/src/Breadcrumbs/Breadcrumbs.d.ts +0 -52
- package/dist/types/shared-web-ui/src/Card/Card.d.ts +0 -16
- package/dist/types/shared-web-ui/src/Charts/AnchoredMenu.d.ts +17 -0
- package/dist/types/shared-web-ui/src/Charts/BarList.d.ts +12 -0
- package/dist/types/shared-web-ui/src/Charts/CalendarHeatmap.d.ts +17 -0
- package/dist/types/shared-web-ui/src/Charts/Chart.d.ts +20 -0
- package/dist/types/shared-web-ui/src/Charts/ChartIcon.d.ts +5 -0
- package/dist/types/shared-web-ui/src/Charts/ChartImageMenu.d.ts +4 -0
- package/dist/types/shared-web-ui/src/Charts/ChartTable.d.ts +8 -0
- package/dist/types/shared-web-ui/src/Charts/ChartTooltip.d.ts +44 -0
- package/dist/types/shared-web-ui/src/Charts/ChartView.d.ts +15 -0
- package/dist/types/shared-web-ui/src/Charts/ColumnChart.d.ts +15 -0
- package/dist/types/shared-web-ui/src/Charts/Donut.d.ts +14 -0
- package/dist/types/shared-web-ui/src/Charts/Funnel.d.ts +10 -0
- package/dist/types/shared-web-ui/src/Charts/Gauge.d.ts +15 -0
- package/dist/types/shared-web-ui/src/Charts/Legend.d.ts +6 -0
- package/dist/types/shared-web-ui/src/Charts/LineChart.d.ts +13 -0
- package/dist/types/shared-web-ui/src/Charts/NumberTrend.d.ts +21 -0
- package/dist/types/shared-web-ui/src/Charts/Progress.d.ts +12 -0
- package/dist/types/shared-web-ui/src/Charts/StackedBar.d.ts +11 -0
- package/dist/types/shared-web-ui/src/Charts/Treemap.d.ts +12 -0
- package/dist/types/shared-web-ui/src/Charts/chartData.d.ts +69 -0
- package/dist/types/shared-web-ui/src/Charts/chartImage.d.ts +121 -0
- package/dist/types/shared-web-ui/src/Charts/geometry.d.ts +178 -0
- package/dist/types/shared-web-ui/src/Charts/index.d.ts +32 -0
- package/dist/types/shared-web-ui/src/Charts/labels.d.ts +46 -0
- package/dist/types/shared-web-ui/src/Charts/menuPlacement.d.ts +25 -0
- package/dist/types/shared-web-ui/src/Charts/palette.d.ts +81 -0
- package/dist/types/shared-web-ui/src/Charts/parts.d.ts +24 -0
- package/dist/types/shared-web-ui/src/Charts/pointer.d.ts +41 -0
- package/dist/types/shared-web-ui/src/Charts/types.d.ts +51 -0
- package/dist/types/shared-web-ui/src/Charts/ui.d.ts +3 -0
- package/dist/types/shared-web-ui/src/Charts/useBoxSize.d.ts +6 -0
- package/dist/types/shared-web-ui/src/Charts/useLegendFit.d.ts +1 -0
- package/dist/types/shared-web-ui/src/Collapsible/CollapsibleItem.d.ts +0 -2
- package/dist/types/shared-web-ui/src/ColorSchemeSelect/ColorSchemeSelect.d.ts +0 -15
- package/dist/types/shared-web-ui/src/CommandPalette/CommandPalette.d.ts +0 -27
- package/dist/types/shared-web-ui/src/DataTable/DataTable.d.ts +16 -0
- package/dist/types/shared-web-ui/src/DataTable/DisplayPopover.d.ts +22 -0
- package/dist/types/shared-web-ui/src/DataTable/HeaderMenu.d.ts +31 -0
- package/dist/types/shared-web-ui/src/DataTable/ManageModal.d.ts +31 -0
- package/dist/types/shared-web-ui/src/DataTable/SingleRowView.d.ts +9 -0
- package/dist/types/shared-web-ui/src/DataTable/SortModal.d.ts +16 -0
- package/dist/types/shared-web-ui/src/DataTable/StatusRow.d.ts +49 -0
- package/dist/types/shared-web-ui/src/DataTable/TableColumnModal.d.ts +18 -0
- package/dist/types/shared-web-ui/src/DataTable/TableControls.d.ts +48 -0
- package/dist/types/shared-web-ui/src/DataTable/TablePagination.d.ts +38 -0
- package/dist/types/shared-web-ui/src/DataTable/TableScrollStrip.d.ts +2 -0
- package/dist/types/shared-web-ui/src/DataTable/TableToolbar.d.ts +69 -0
- package/dist/types/shared-web-ui/src/DataTable/TableView.d.ts +61 -0
- package/dist/types/shared-web-ui/src/DataTable/bulk/BulkConfirmDialog.d.ts +13 -0
- package/dist/types/shared-web-ui/src/DataTable/bulk/TableToast.d.ts +13 -0
- package/dist/types/shared-web-ui/src/DataTable/bulk/bulkActions.d.ts +23 -0
- package/dist/types/shared-web-ui/src/DataTable/cards/CardFieldsEditor.d.ts +16 -0
- package/dist/types/shared-web-ui/src/DataTable/cards/CardView.d.ts +50 -0
- package/dist/types/shared-web-ui/src/DataTable/cards/cardFields.d.ts +32 -0
- package/dist/types/shared-web-ui/src/DataTable/cards/rowParts.d.ts +38 -0
- package/dist/types/shared-web-ui/src/DataTable/data/useServerData.d.ts +28 -0
- package/dist/types/shared-web-ui/src/DataTable/defaults.d.ts +18 -0
- package/dist/types/shared-web-ui/src/DataTable/detail/BuiltInDetail.d.ts +10 -0
- package/dist/types/shared-web-ui/src/DataTable/detail/DetailHost.d.ts +13 -0
- package/dist/types/shared-web-ui/src/DataTable/export/ExportPopover.d.ts +18 -0
- package/dist/types/shared-web-ui/src/DataTable/export/ExportPreviewModal.d.ts +11 -0
- package/dist/types/shared-web-ui/src/DataTable/export/ExportSettingsModal.d.ts +31 -0
- package/dist/types/shared-web-ui/src/DataTable/export/ExportTemplateCards.d.ts +19 -0
- package/dist/types/shared-web-ui/src/DataTable/export/exportContext.d.ts +10 -0
- package/dist/types/shared-web-ui/src/DataTable/export/exportEngine.d.ts +77 -0
- package/dist/types/shared-web-ui/src/DataTable/export/exportRows.d.ts +10 -0
- package/dist/types/shared-web-ui/src/DataTable/export/templateDisplay.d.ts +7 -0
- package/dist/types/shared-web-ui/src/DataTable/export/templateOptions.d.ts +6 -0
- package/dist/types/shared-web-ui/src/DataTable/export/useTableExport.d.ts +53 -0
- package/dist/types/shared-web-ui/src/DataTable/filters/ColumnFilterPopover.d.ts +14 -0
- package/dist/types/shared-web-ui/src/DataTable/filters/FilterConditionRow.d.ts +11 -0
- package/dist/types/shared-web-ui/src/DataTable/filters/FilterGroup.d.ts +12 -0
- package/dist/types/shared-web-ui/src/DataTable/filters/FilterModal.d.ts +14 -0
- package/dist/types/shared-web-ui/src/DataTable/filters/FilterRow.d.ts +20 -0
- package/dist/types/shared-web-ui/src/DataTable/filters/columnFilterModel.d.ts +29 -0
- package/dist/types/shared-web-ui/src/DataTable/filters/filterEngine.d.ts +16 -0
- package/dist/types/shared-web-ui/src/DataTable/filters/filterRowModel.d.ts +28 -0
- package/dist/types/shared-web-ui/src/DataTable/filters/quickFilterMatch.d.ts +3 -0
- package/dist/types/shared-web-ui/src/DataTable/grouping/GroupUi.d.ts +36 -0
- package/dist/types/shared-web-ui/src/DataTable/grouping/groupModel.d.ts +82 -0
- package/dist/types/shared-web-ui/src/DataTable/grouping/useGrouping.d.ts +39 -0
- package/dist/types/shared-web-ui/src/DataTable/host.d.ts +14 -0
- package/dist/types/shared-web-ui/src/DataTable/index.d.ts +18 -0
- package/dist/types/shared-web-ui/src/DataTable/keyboard/ShortcutsDialog.d.ts +14 -0
- package/dist/types/shared-web-ui/src/DataTable/keyboard/shortcuts.d.ts +22 -0
- package/dist/types/shared-web-ui/src/DataTable/keyboard/useGridKeyboard.d.ts +48 -0
- package/dist/types/shared-web-ui/src/DataTable/labels.d.ts +618 -0
- package/dist/types/shared-web-ui/src/DataTable/layout/LayoutSwitcher.d.ts +9 -0
- package/dist/types/shared-web-ui/src/DataTable/layout/layouts.d.ts +20 -0
- package/dist/types/shared-web-ui/src/DataTable/layout/scrollArea.d.ts +2 -0
- package/dist/types/shared-web-ui/src/DataTable/layout/useFillHeight.d.ts +11 -0
- package/dist/types/shared-web-ui/src/DataTable/menu/RowMenu.d.ts +56 -0
- package/dist/types/shared-web-ui/src/DataTable/menu/buildRowMenu.d.ts +35 -0
- package/dist/types/shared-web-ui/src/DataTable/menu/clipboard.d.ts +4 -0
- package/dist/types/shared-web-ui/src/DataTable/menu/valueFilter.d.ts +15 -0
- package/dist/types/shared-web-ui/src/DataTable/motion/useRowMotion.d.ts +32 -0
- package/dist/types/shared-web-ui/src/DataTable/persistence/adapters.d.ts +6 -0
- package/dist/types/shared-web-ui/src/DataTable/persistence/reconcile.d.ts +64 -0
- package/dist/types/shared-web-ui/src/DataTable/persistence/useColumnPersistence.d.ts +51 -0
- package/dist/types/shared-web-ui/src/DataTable/persistence/useManagePrefs.d.ts +23 -0
- package/dist/types/shared-web-ui/src/DataTable/persistence/useOrphanPrefs.d.ts +3 -0
- package/dist/types/shared-web-ui/src/DataTable/pinning.d.ts +10 -0
- package/dist/types/shared-web-ui/src/DataTable/rows/RowActions.d.ts +15 -0
- package/dist/types/shared-web-ui/src/DataTable/rows/rowPress.d.ts +35 -0
- package/dist/types/shared-web-ui/src/DataTable/sharing/Sharing.d.ts +21 -0
- package/dist/types/shared-web-ui/src/DataTable/split/SplitView.d.ts +29 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/ManageSummaryCards.d.ts +18 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/SummaryChart.d.ts +11 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/SummaryControls.d.ts +33 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/SummaryImage.d.ts +12 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/SummarySeeAll.d.ts +17 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/TableSummary.d.ts +34 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/summaryCatalogue.d.ts +64 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/summaryChartData.d.ts +9 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/summaryModel.d.ts +152 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/summaryWidth.d.ts +22 -0
- package/dist/types/shared-web-ui/src/DataTable/summary/useTableSummary.d.ts +18 -0
- package/dist/types/shared-web-ui/src/DataTable/types.d.ts +1145 -0
- package/dist/types/shared-web-ui/src/DataTable/ui-local/AutoHeight.d.ts +9 -0
- package/dist/types/shared-web-ui/src/DataTable/ui-local/DateRangePicker.d.ts +16 -0
- package/dist/types/shared-web-ui/src/DataTable/ui-local/DragAndDropList/DragAndDropList.d.ts +4 -0
- package/dist/types/shared-web-ui/src/DataTable/ui-local/DragAndDropList/index.d.ts +3 -0
- package/dist/types/shared-web-ui/src/DataTable/ui-local/DragAndDropList/types.d.ts +70 -0
- package/dist/types/shared-web-ui/src/DataTable/ui-local/ReactModal.d.ts +20 -0
- package/dist/types/shared-web-ui/src/DataTable/ui.d.ts +13 -0
- package/dist/types/shared-web-ui/src/DataTable/useDataChangeTracker.d.ts +11 -0
- package/dist/types/shared-web-ui/src/DataTable/useTable.d.ts +12 -0
- package/dist/types/shared-web-ui/src/DataTable/vendor/columnOrder.d.ts +1 -0
- package/dist/types/shared-web-ui/src/DataTable/vendor/diff.d.ts +5 -0
- package/dist/types/shared-web-ui/src/DataTable/vendor/fileActions.d.ts +19 -0
- package/dist/types/shared-web-ui/src/DataTable/vendor/index.d.ts +3 -0
- package/dist/types/shared-web-ui/src/DataTable/virtual/useVirtualLines.d.ts +27 -0
- package/dist/types/shared-web-ui/src/DatePicker/Calendar.d.ts +14 -0
- package/dist/types/shared-web-ui/src/DatePicker/DatePicker.d.ts +5 -0
- package/dist/types/shared-web-ui/src/DatePicker/TimeField.d.ts +16 -0
- package/dist/types/shared-web-ui/src/DatePicker/index.d.ts +4 -0
- package/dist/types/shared-web-ui/src/DatePicker/useOneMonthPane.d.ts +2 -0
- package/dist/types/shared-web-ui/src/Dialog/Dialog.d.ts +0 -45
- package/dist/types/shared-web-ui/src/Dialog/DialogHost.d.ts +0 -36
- package/dist/types/shared-web-ui/src/DropdownMenu/DropdownMenu.d.ts +24 -24
- package/dist/types/shared-web-ui/src/EditableTable/EditableTable.d.ts +0 -5
- package/dist/types/shared-web-ui/src/EditableTable/EditableTableCell.d.ts +0 -18
- package/dist/types/shared-web-ui/src/EditableTable/EditableTableRow.d.ts +0 -11
- package/dist/types/shared-web-ui/src/EditableTable/EditableTableSummary.d.ts +0 -11
- package/dist/types/shared-web-ui/src/EditableTable/useRowAnimation.d.ts +0 -32
- package/dist/types/shared-web-ui/src/FieldContext/FieldContext.d.ts +0 -15
- package/dist/types/shared-web-ui/src/FieldContext/FieldProvider.d.ts +0 -9
- package/dist/types/shared-web-ui/src/FieldContext/useField.d.ts +0 -27
- package/dist/types/shared-web-ui/src/FieldContext/useFieldSurface.d.ts +0 -23
- package/dist/types/shared-web-ui/src/FieldContext/useFormKeyboard.d.ts +0 -3
- package/dist/types/shared-web-ui/src/Fields/FieldButton.d.ts +0 -15
- package/dist/types/shared-web-ui/src/Floating/index.d.ts +3 -0
- package/dist/types/shared-web-ui/src/Floating/layers.d.ts +4 -0
- package/dist/types/shared-web-ui/src/Floating/scrollLock.d.ts +2 -0
- package/dist/types/shared-web-ui/src/Floating/useFloatingLayer.d.ts +20 -0
- package/dist/types/shared-web-ui/src/Popover/Popover.d.ts +6 -25
- package/dist/types/shared-web-ui/src/Popover/floatingPosition.d.ts +17 -0
- package/dist/types/shared-web-ui/src/ReportDesigner/BandList.d.ts +0 -8
- package/dist/types/shared-web-ui/src/ReportDesigner/BlockEditor.d.ts +0 -11
- package/dist/types/shared-web-ui/src/ReportDesigner/ConditionEditor.d.ts +0 -2
- package/dist/types/shared-web-ui/src/ReportDesigner/FieldPicker.d.ts +0 -13
- package/dist/types/shared-web-ui/src/ReportDesigner/Inspector.d.ts +0 -7
- package/dist/types/shared-web-ui/src/ReportDesigner/ReportDesigner.d.ts +0 -22
- package/dist/types/shared-web-ui/src/ReportDesigner/TableEditor.d.ts +0 -8
- package/dist/types/shared-web-ui/src/ReportDesigner/chipSources.d.ts +0 -1
- package/dist/types/shared-web-ui/src/ReportDesigner/labels.d.ts +0 -12
- package/dist/types/shared-web-ui/src/ReportDesigner/parts.d.ts +0 -30
- package/dist/types/shared-web-ui/src/ReportDesigner/types.d.ts +0 -39
- package/dist/types/shared-web-ui/src/ReportPreview/ReportPreview.d.ts +0 -24
- package/dist/types/shared-web-ui/src/Scroll/ScrollRule.d.ts +2 -0
- package/dist/types/shared-web-ui/src/Scroll/ScrollStrip.d.ts +9 -0
- package/dist/types/shared-web-ui/src/Scroll/index.d.ts +4 -0
- package/dist/types/shared-web-ui/src/Scroll/labels.d.ts +5 -0
- package/dist/types/shared-web-ui/src/Scroll/scrollActivity.d.ts +14 -0
- package/dist/types/shared-web-ui/src/Scroll/ui.d.ts +1 -0
- package/dist/types/shared-web-ui/src/Sidebar/Sidebar.d.ts +0 -31
- package/dist/types/shared-web-ui/src/Skeleton/Skeleton.d.ts +0 -15
- package/dist/types/shared-web-ui/src/Tabs/Tabs.d.ts +0 -43
- package/dist/types/shared-web-ui/src/Toast/ToastHost.d.ts +0 -14
- package/dist/types/shared-web-ui/src/Toast/ToastItem.d.ts +0 -9
- package/dist/types/shared-web-ui/src/Toast/toast.types.d.ts +0 -13
- package/dist/types/shared-web-ui/src/Tooltip/Tooltip.d.ts +0 -16
- package/dist/types/shared-web-ui/src/Tooltip/useTooltip.d.ts +0 -9
- package/dist/types/shared-web-ui/src/UIProvider/UIPortalContext.d.ts +0 -14
- package/dist/types/shared-web-ui/src/UIProvider/UIProvider.d.ts +0 -41
- package/dist/types/shared-web-ui/src/UIProvider/UIThemeContext.d.ts +0 -8
- package/dist/types/shared-web-ui/src/index.d.ts +5 -0
- package/dist/ui-DJFwpPdX.js +4997 -0
- package/package.json +9 -7
|
@@ -1,43 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Row enter/exit feedback for the grid.
|
|
3
|
-
*
|
|
4
|
-
* GK: *"on click remove, dont know it is removed or not, also dont know from where the focus
|
|
5
|
-
* is shifted."* Both halves matter. A row that vanishes between two frames reads as "nothing
|
|
6
|
-
* happened", and after a delete the grid focuses the row ABOVE the one that went — useful, but
|
|
7
|
-
* invisible, so the cursor appears to teleport.
|
|
8
|
-
*
|
|
9
|
-
* Three pieces, and each is deliberately small:
|
|
10
|
-
*
|
|
11
|
-
* - **entering** — keys present now that were absent last render. Detected by DIFFING the keys
|
|
12
|
-
* rather than by hooking the add path, so it covers every way a row arrives: Enter at the
|
|
13
|
-
* last cell (which happens inside `useEditableTable`, out of the renderer's reach), the
|
|
14
|
-
* toolbar, a button cell's `actions.addRow`, or the consumer setting state itself.
|
|
15
|
-
* - **exiting** — a delete has to be DEFERRED for the row to be animated at all; React cannot
|
|
16
|
-
* animate a row it has already unmounted. The delay is short and the focus move is not
|
|
17
|
-
* waited on, so the keyboard flow is unchanged.
|
|
18
|
-
* - **landed** — the cell focus ends up in, flashed briefly, which is the half that answers
|
|
19
|
-
* "where did it go".
|
|
20
|
-
*
|
|
21
|
-
* `prefers-reduced-motion` switches all of it off, including the deferral: someone who asked
|
|
22
|
-
* for no animation should not also get a slower delete.
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* Kept in step with the durations in `EditableTable.module.css` — `etRowExitCell` and
|
|
26
|
-
* `etRowEnterCell`. If this is SHORTER than the CSS, React unmounts the row mid-collapse and
|
|
27
|
-
* the rows below snap up, which is the whole thing the animation exists to prevent.
|
|
28
|
-
*/
|
|
29
1
|
export declare const ROW_EXIT_MS = 280;
|
|
30
2
|
export interface RowAnimation {
|
|
31
|
-
/** `'entering' | 'exiting' | undefined` for a row key — rendered as a data attribute. */
|
|
32
3
|
rowState: (rowKey: string) => 'entering' | 'exiting' | undefined;
|
|
33
|
-
/** The cell that focus landed on after a row operation, flashed so it can be seen. */
|
|
34
4
|
landedCell: {
|
|
35
5
|
rowKey: string;
|
|
36
6
|
cellindex: number;
|
|
37
7
|
} | null;
|
|
38
|
-
/** Runs `remove` after the exit animation — immediately when animation is off. */
|
|
39
8
|
removeRow: (rowKey: string | undefined, remove: () => void) => void;
|
|
40
|
-
/** Called once focus has settled after an add or a delete. */
|
|
41
9
|
noteLanding: (rowKey: string | undefined, cellindex: number) => void;
|
|
42
10
|
enabled: boolean;
|
|
43
11
|
}
|
|
@@ -1,18 +1,3 @@
|
|
|
1
1
|
import type { FieldContextValue } from '../../../published/dcs-ui/src/publicTypes';
|
|
2
|
-
/**
|
|
3
|
-
* The surface settings a container hands down to every field inside it.
|
|
4
|
-
*
|
|
5
|
-
* Before this existed, `<Form size="large">` styled the form's own chrome and
|
|
6
|
-
* its action buttons and nothing else — the fields inside kept their own
|
|
7
|
-
* defaults, which were `small` for Input/Select/Suggest and `medium` for
|
|
8
|
-
* Checkbox/Radio/Switch. So a form had three densities in it and no single
|
|
9
|
-
* prop could change them.
|
|
10
|
-
*
|
|
11
|
-
* Empty by default rather than pre-filled: a context that already carried
|
|
12
|
-
* `size: 'small'` would be indistinguishable from a container that had
|
|
13
|
-
* deliberately asked for small, and a field could no longer tell "nobody said"
|
|
14
|
-
* from "someone said small". Resolution is always
|
|
15
|
-
* `own prop → context → DEFAULT_CONTROL_SIZE`.
|
|
16
|
-
*/
|
|
17
2
|
export declare const FieldContext: import("react").Context<FieldContextValue>;
|
|
18
3
|
export declare const useFieldContext: () => FieldContextValue;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { FieldProviderProps } from '../../../published/dcs-ui/src/publicTypes';
|
|
3
|
-
/**
|
|
4
|
-
* Supplies surface defaults to every field beneath it.
|
|
5
|
-
*
|
|
6
|
-
* Providers nest: an inner one overrides only the settings it names, so a
|
|
7
|
-
* `<FieldProvider size="xs">` inside a `<Form variant="filled">` gives dense
|
|
8
|
-
* filled fields rather than dense outlined ones. That is what makes the
|
|
9
|
-
* editable-table row work — the grid sets `size` per table without having to
|
|
10
|
-
* know or restate the variant the surrounding form chose.
|
|
11
|
-
*/
|
|
12
3
|
declare const FieldProvider: React.FC<FieldProviderProps>;
|
|
13
4
|
export default FieldProvider;
|
|
@@ -2,22 +2,7 @@ import type React from 'react';
|
|
|
2
2
|
import { DEFAULT_KEYBOARD_CONFIG } from '../../../published/dcs-ui/src/publicLogic';
|
|
3
3
|
import type { FieldHandle, FieldKeyboardConfig, FieldWidget, OpenReason } from '../../../published/dcs-ui/src/publicTypes';
|
|
4
4
|
import { type FieldSurfaceDefaults, type FieldSurfaceInput, type ResolvedFieldSurface, type ResolvedToggleSurface } from './useFieldSurface';
|
|
5
|
-
/**
|
|
6
|
-
* The runtime half of the field contract.
|
|
7
|
-
*
|
|
8
|
-
* `BaseFieldProps` makes the *shape* uniform; a shape alone is a convention, and
|
|
9
|
-
* the next person can still hand-wire a handler that behaves differently from
|
|
10
|
-
* the other six. `useFieldSurface` showed the fix: make the only convenient path
|
|
11
|
-
* the correct one. This is that for the whole field.
|
|
12
|
-
*
|
|
13
|
-
* A field author never calls `resolveFieldKey`, never decides what Escape does
|
|
14
|
-
* and never writes an `onKeyDown` — they spread `field.handlers` onto their
|
|
15
|
-
* control. A field that skips this hook gets no `mode`, no arbitration and no
|
|
16
|
-
* handle, so it **visibly** does not work in a grid rather than working subtly
|
|
17
|
-
* wrong in one corner nobody tests.
|
|
18
|
-
*/
|
|
19
5
|
export interface UseFieldOptions<E extends HTMLElement = HTMLElement> extends FieldSurfaceInput {
|
|
20
|
-
/** Drives the keyboard truth table. `'number'` and `'text'` are one component, two widgets. */
|
|
21
6
|
widget: FieldWidget;
|
|
22
7
|
elementRef: React.RefObject<E | null>;
|
|
23
8
|
keyboard?: FieldKeyboardConfig;
|
|
@@ -27,33 +12,22 @@ export interface UseFieldOptions<E extends HTMLElement = HTMLElement> extends Fi
|
|
|
27
12
|
open?: boolean;
|
|
28
13
|
defaultOpen?: boolean;
|
|
29
14
|
onOpenChange?: (open: boolean, reason: OpenReason) => void;
|
|
30
|
-
/** An empty list must not swallow Enter — see the resolver's L2 carve-out. */
|
|
31
15
|
hasOptions?: boolean;
|
|
32
16
|
multi?: boolean;
|
|
33
17
|
rowIndex?: number;
|
|
34
18
|
cellindex?: number;
|
|
35
19
|
onCellFocus?: (rowIndex: number, cellindex: number) => void;
|
|
36
20
|
registerCellRef?: (rowIndex: number, cellindex: number, ref: any) => void;
|
|
37
|
-
/** Identity, for the label/description ids the wrapper needs. */
|
|
38
21
|
id?: string;
|
|
39
|
-
/** What the field does with a key it keeps, beyond letting it through. */
|
|
40
22
|
onFieldAction?: (action: string, event: React.KeyboardEvent<E>) => void;
|
|
41
|
-
/** Restores the value a cell had before editing, for `revert`. */
|
|
42
23
|
onRevert?: () => void;
|
|
43
|
-
/** Empties the cell without entering it, for `clear`. */
|
|
44
24
|
onClear?: () => void;
|
|
45
25
|
surfaceDefaults?: FieldSurfaceDefaults;
|
|
46
|
-
/**
|
|
47
|
-
* Which surface axis this field takes. `'toggle'` routes to
|
|
48
|
-
* `useToggleSurface`, which drops an inherited `underlined` — a checkbox has
|
|
49
|
-
* no text line, so it would render with neither border nor fill.
|
|
50
|
-
*/
|
|
51
26
|
surfaceKind?: 'control' | 'toggle';
|
|
52
27
|
}
|
|
53
28
|
export interface UseFieldResult<E extends HTMLElement = HTMLElement, S = ResolvedFieldSurface> {
|
|
54
29
|
surface: S;
|
|
55
30
|
keyboard: FieldKeyboardConfig;
|
|
56
|
-
/** `'navigate'` only ever happens in grid mode; a standalone field is always editable. */
|
|
57
31
|
mode: 'navigate' | 'edit';
|
|
58
32
|
isOpen: boolean;
|
|
59
33
|
setOpen: (open: boolean, reason?: OpenReason) => void;
|
|
@@ -66,7 +40,6 @@ export interface UseFieldResult<E extends HTMLElement = HTMLElement, S = Resolve
|
|
|
66
40
|
onFocus: (event: React.FocusEvent<E>) => void;
|
|
67
41
|
onBlur: (event: React.FocusEvent<E>) => void;
|
|
68
42
|
onKeyDown: (event: React.KeyboardEvent<E>) => void;
|
|
69
|
-
/** Spread on the control's WRAPPER, so its padding is not a dead zone. */
|
|
70
43
|
onMouseDown: (event: React.MouseEvent<E>) => void;
|
|
71
44
|
};
|
|
72
45
|
handle: FieldHandle;
|
|
@@ -17,19 +17,6 @@ export interface ResolvedFieldSurface {
|
|
|
17
17
|
disabled: boolean;
|
|
18
18
|
readOnly: boolean;
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Resolves the four settings every field shares, in one place and one order:
|
|
22
|
-
* **own prop → enclosing FieldContext → the component's default**.
|
|
23
|
-
*
|
|
24
|
-
* Each field used to bake this into its destructuring defaults, which is how
|
|
25
|
-
* the size scale drifted apart — nothing forced the six components to agree,
|
|
26
|
-
* and nothing let a container override them at all.
|
|
27
|
-
*
|
|
28
|
-
* `disabled` deliberately lets an explicit prop win over the container rather
|
|
29
|
-
* than OR-ing the two, so a single always-enabled control inside a disabled
|
|
30
|
-
* form is expressible. A container that means "everything, no exceptions"
|
|
31
|
-
* should render a `<fieldset disabled>`, which the DOM enforces.
|
|
32
|
-
*/
|
|
33
20
|
export declare function useFieldSurface(own: FieldSurfaceInput, defaults?: FieldSurfaceDefaults): ResolvedFieldSurface;
|
|
34
21
|
export interface ResolvedToggleSurface {
|
|
35
22
|
size: ControlSize;
|
|
@@ -37,16 +24,6 @@ export interface ResolvedToggleSurface {
|
|
|
37
24
|
disabled: boolean;
|
|
38
25
|
readOnly: boolean;
|
|
39
26
|
}
|
|
40
|
-
/**
|
|
41
|
-
* The toggle counterpart. Checkbox and Radio take `ToggleVariant`, a subset —
|
|
42
|
-
* they have no text line, so `underlined` has no styling behind it and would
|
|
43
|
-
* render a box with neither border nor fill.
|
|
44
|
-
*
|
|
45
|
-
* An inherited `underlined` is therefore **dropped rather than passed through**,
|
|
46
|
-
* and the toggle keeps its own default. Without that, `<Form variant="underlined">`
|
|
47
|
-
* would silently erase every checkbox in the form — the exact bug §3 of the
|
|
48
|
-
* handoff doc records from over-unifying `variant` the first time.
|
|
49
|
-
*/
|
|
50
27
|
export declare function useToggleSurface(own: {
|
|
51
28
|
size?: ControlSize;
|
|
52
29
|
variant?: ToggleVariant;
|
|
@@ -2,11 +2,8 @@ import type React from 'react';
|
|
|
2
2
|
import type { FieldKeyboardConfig } from '../../../published/dcs-ui/src/publicTypes';
|
|
3
3
|
export interface UseFormKeyboardOptions {
|
|
4
4
|
formRef: React.RefObject<HTMLElement | null>;
|
|
5
|
-
/** What Enter does. Anything but `'next'` leaves the browser alone. */
|
|
6
5
|
enter?: FieldKeyboardConfig['enter'];
|
|
7
|
-
/** Called for `submit` — both Ctrl+Enter and Enter past the last field. */
|
|
8
6
|
onSubmit?: () => void;
|
|
9
|
-
/** Extra policy merged into what the provider hands down. */
|
|
10
7
|
keyboard?: FieldKeyboardConfig;
|
|
11
8
|
}
|
|
12
9
|
export declare function useFormKeyboard({ formRef, enter, onSubmit, keyboard, }: UseFormKeyboardOptions): FieldKeyboardConfig;
|
|
@@ -1,22 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ButtonCellContext, ButtonProps, EditableTableCellActions, FieldHandle } from '../../../published/dcs-ui/src/publicTypes';
|
|
3
|
-
/**
|
|
4
|
-
* A button that is a grid CELL.
|
|
5
|
-
*
|
|
6
|
-
* `Field` used to render a bare `<Button>` for a `button` column. It never went through
|
|
7
|
-
* `useField`, so it registered no cell handle — the arrows tried to land on it and the
|
|
8
|
-
* cursor simply stalled, because `focusCellInRow` had nothing to focus. It also had no way
|
|
9
|
-
* to know which row it was in: `fprop.onClick` received the DOM event and nothing else.
|
|
10
|
-
*
|
|
11
|
-
* Both are fixed here rather than in `Button`, which has no rest-prop spread and should not
|
|
12
|
-
* learn about tables: the wrapper owns the cell wiring, `Button` stays a button.
|
|
13
|
-
*
|
|
14
|
-
* The keyboard needs no special case — `widget: 'button'` resolves Space to the browser
|
|
15
|
-
* (which presses it) and leaves Enter with the grid's one meaning, walk on.
|
|
16
|
-
*/
|
|
17
3
|
export interface FieldButtonProps<T> {
|
|
18
4
|
fprop?: Partial<ButtonProps>;
|
|
19
|
-
/** The column-level handler, which takes the row/cell context instead of the event. */
|
|
20
5
|
onColumnClick?: (context: ButtonCellContext<T>) => void;
|
|
21
6
|
disabled?: boolean;
|
|
22
7
|
value?: any;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
export interface FloatingLayerOptions {
|
|
3
|
+
ref: RefObject<HTMLElement | null>;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
onEscape?: () => void;
|
|
6
|
+
open?: boolean;
|
|
7
|
+
anchorRef?: RefObject<HTMLElement | null>;
|
|
8
|
+
closeOnEscape?: boolean;
|
|
9
|
+
escapeNeedsFocus?: boolean;
|
|
10
|
+
closeOnOutside?: boolean;
|
|
11
|
+
closeOnScroll?: boolean;
|
|
12
|
+
closeOnResize?: boolean;
|
|
13
|
+
autoFocus?: boolean | 'self' | string;
|
|
14
|
+
restoreFocus?: boolean;
|
|
15
|
+
lockScroll?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface FloatingLayerResult {
|
|
18
|
+
layerProps: Record<string, string>;
|
|
19
|
+
}
|
|
20
|
+
export declare function useFloatingLayer({ ref, onClose, onEscape, open, anchorRef, closeOnEscape, escapeNeedsFocus, closeOnOutside, closeOnScroll, closeOnResize, autoFocus, restoreFocus, lockScroll, }: FloatingLayerOptions): FloatingLayerResult;
|
|
@@ -1,44 +1,25 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import type { PopoverPlacement } from '../../../published/dcs-ui/src/publicLogic';
|
|
3
|
+
import { type FloatingAnchor } from './floatingPosition';
|
|
3
4
|
export interface PopoverProps {
|
|
4
|
-
/** Controlled. The caller owns open state — a primitive shouldn't guess. */
|
|
5
5
|
open: boolean;
|
|
6
|
-
|
|
7
|
-
anchorEl: HTMLElement | null;
|
|
8
|
-
/** Fired for outside click, Escape, or scroll-away. Not called on internal clicks. */
|
|
6
|
+
anchorEl: FloatingAnchor | null;
|
|
9
7
|
onClose?: () => void;
|
|
10
8
|
children?: React.ReactNode;
|
|
11
9
|
placement?: PopoverPlacement;
|
|
12
|
-
/** Gap between anchor and content, px. Default 4. */
|
|
13
10
|
offset?: number;
|
|
14
|
-
/** Force the content to the anchor's width — what a select-style dropdown wants. */
|
|
15
11
|
matchAnchorWidth?: boolean;
|
|
16
|
-
/** Default padding inside the surface. Off for menus and lists, which pad their own rows. */
|
|
17
12
|
padded?: boolean;
|
|
18
13
|
closeOnOutsideClick?: boolean;
|
|
19
14
|
closeOnEscape?: boolean;
|
|
20
|
-
|
|
21
|
-
autoFocus?: boolean;
|
|
22
|
-
/** Return focus to the anchor on close. Default true. */
|
|
15
|
+
onEscape?: () => void;
|
|
16
|
+
autoFocus?: boolean | string;
|
|
23
17
|
returnFocus?: boolean;
|
|
24
18
|
className?: string;
|
|
25
19
|
style?: React.CSSProperties;
|
|
26
|
-
/** Announced role. `dialog` for forms, `menu` when it holds menu items. */
|
|
27
20
|
role?: 'dialog' | 'menu' | 'listbox' | 'none';
|
|
28
21
|
'aria-label'?: string;
|
|
22
|
+
'aria-busy'?: boolean;
|
|
29
23
|
}
|
|
30
|
-
/**
|
|
31
|
-
* A positioned floating surface.
|
|
32
|
-
*
|
|
33
|
-
* Geometry comes from `computePopoverPosition` in shared-logic — the same function Select
|
|
34
|
-
* uses, so "below the trigger" means one thing across the library rather than two.
|
|
35
|
-
*
|
|
36
|
-
* Positioning runs in two passes: render hidden to measure the content, then place it. That is
|
|
37
|
-
* what makes `flip` and `shift` possible at all — neither can be decided without knowing how
|
|
38
|
-
* big the box is. The first pass is `visibility: hidden`, so nothing appears at the wrong
|
|
39
|
-
* coordinates in between.
|
|
40
|
-
*
|
|
41
|
-
* Portals into the `UIProvider` container when one is mounted, `document.body` otherwise.
|
|
42
|
-
*/
|
|
43
24
|
declare const Popover: React.FC<PopoverProps>;
|
|
44
25
|
export default Popover;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ComputePopoverPositionInput, type PopoverPosition } from '../../../published/dcs-ui/src/publicLogic';
|
|
2
|
+
export declare const getFloatingOrigin: (container: Element | null) => {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
};
|
|
6
|
+
export type FloatingAnchor = Element | {
|
|
7
|
+
top: number;
|
|
8
|
+
left: number;
|
|
9
|
+
width?: number;
|
|
10
|
+
height?: number;
|
|
11
|
+
};
|
|
12
|
+
export interface PlaceFloatingInput extends Omit<ComputePopoverPositionInput, 'anchor' | 'viewport' | 'scroll' | 'origin' | 'content'> {
|
|
13
|
+
anchor: FloatingAnchor;
|
|
14
|
+
container: Element | null;
|
|
15
|
+
contentEl?: HTMLElement | null;
|
|
16
|
+
}
|
|
17
|
+
export declare const placeFloating: ({ anchor, container, contentEl, ...rest }: PlaceFloatingInput) => PopoverPosition;
|
|
@@ -2,14 +2,6 @@ import type { BandKind, ReportRegistry, ReportTemplate } from '../../../publishe
|
|
|
2
2
|
import type { DesignerSelection } from '../../../published/dcs-ui/src/publicLogic';
|
|
3
3
|
import { BAND_KINDS } from './labels';
|
|
4
4
|
export { BAND_KINDS };
|
|
5
|
-
/**
|
|
6
|
-
* Quoin — the document's structure, as a tree.
|
|
7
|
-
*
|
|
8
|
-
* The page and its print options first, then the bands in print order, each with its blocks, and
|
|
9
|
-
* each table with its columns. One row is selected at a time and the inspector edits exactly that
|
|
10
|
-
* row; a click on the page selects the same way. Anything carrying a condition says so in its hint,
|
|
11
|
-
* so nothing prints — or disappears — for a reason the tree does not show.
|
|
12
|
-
*/
|
|
13
5
|
export interface BandListProps {
|
|
14
6
|
template: ReportTemplate;
|
|
15
7
|
registry: ReportRegistry;
|
|
@@ -2,17 +2,14 @@ import { type ReactNode } from 'react';
|
|
|
2
2
|
import type { Band, ReportConditionGroup, ReportRegistry, ReportTemplate, TextBlock, TextCell, TextRow } from '../../../published/dcs-ui/src/publicTypes';
|
|
3
3
|
import { type DesignerSelection, type FieldPlace } from '../../../published/dcs-ui/src/publicLogic';
|
|
4
4
|
import type { BlockEditorProps, TemplateEdit } from './types';
|
|
5
|
-
/** A badge saying when something prints; a click opens the rules. */
|
|
6
5
|
export declare const ConditionToggle: ({ registry, template, value, onChange, what, }: {
|
|
7
6
|
registry: ReportRegistry;
|
|
8
7
|
template: ReportTemplate;
|
|
9
|
-
/** Where the guarded thing sits. Conditions read fields as conditions do, wherever that is. */
|
|
10
8
|
place?: FieldPlace;
|
|
11
9
|
value?: ReportConditionGroup;
|
|
12
10
|
onChange: (group: ReportConditionGroup | null) => void;
|
|
13
11
|
what?: string;
|
|
14
12
|
}) => import("react").JSX.Element;
|
|
15
|
-
/** Where a block's text is being written, so only fields that resolve there are offered. */
|
|
16
13
|
export declare const placeOf: (band: Band) => FieldPlace;
|
|
17
14
|
interface TextProps {
|
|
18
15
|
template: ReportTemplate;
|
|
@@ -21,20 +18,12 @@ interface TextProps {
|
|
|
21
18
|
bandId: string;
|
|
22
19
|
block: TextBlock;
|
|
23
20
|
place: FieldPlace;
|
|
24
|
-
/** Rows and columns are places to go to, not things to unfold in situ. */
|
|
25
21
|
onSelect: (selection: DesignerSelection) => void;
|
|
26
22
|
}
|
|
27
|
-
/**
|
|
28
|
-
* One row of a text block: what it is, and the columns in it.
|
|
29
|
-
*
|
|
30
|
-
* Its columns are listed, not unfolded — opening one puts it in the panel on its own, with a path
|
|
31
|
-
* above it saying where it came from.
|
|
32
|
-
*/
|
|
33
23
|
export declare const TextRowPanel: (props: TextProps & {
|
|
34
24
|
row: TextRow;
|
|
35
25
|
index: number;
|
|
36
26
|
}) => import("react").JSX.Element;
|
|
37
|
-
/** One column of one row of a text block: how wide it is, and the lines it prints. */
|
|
38
27
|
export declare const TextCellPanel: (props: TextProps & {
|
|
39
28
|
row: TextRow;
|
|
40
29
|
cell: TextCell;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { ReportConditionGroup, ReportRegistry } from '../../../published/dcs-ui/src/publicTypes';
|
|
2
2
|
import type { ConditionEditorProps } from './types';
|
|
3
|
-
/** A field path in the author's words, without needing to know where it sits. */
|
|
4
3
|
export declare const fieldLabel: (path: string, registry: ReportRegistry) => string;
|
|
5
|
-
/** One sentence for a condition: "Only when Interstate (IGST) is Yes". Empty when there is none. */
|
|
6
4
|
export declare const conditionSummary: (group: ReportConditionGroup | undefined, registry: ReportRegistry) => string;
|
|
7
5
|
export declare const ConditionEditor: ({ registry, template, table, place, value, onChange, label, }: ConditionEditorProps) => import("react").JSX.Element;
|
|
@@ -1,24 +1,11 @@
|
|
|
1
1
|
import type { ReportRegistry, TableBlock, TemplateOption } from '../../../published/dcs-ui/src/publicTypes';
|
|
2
2
|
import { type FieldPlace } from '../../../published/dcs-ui/src/publicLogic';
|
|
3
|
-
/**
|
|
4
|
-
* Quoin — pick a field instead of typing one.
|
|
5
|
-
*
|
|
6
|
-
* A template author must never type `%party.mobil%` and discover it on a printed invoice, so the
|
|
7
|
-
* whole vocabulary is offered as a list. What appears depends on where it will be inserted — row
|
|
8
|
-
* fields only in a table, group values only where a table groups, totals only where they cover
|
|
9
|
-
* something — and `scopeFor` decides, the same rule the validator enforces on Save.
|
|
10
|
-
*/
|
|
11
3
|
export interface FieldPickerProps {
|
|
12
4
|
registry: ReportRegistry;
|
|
13
|
-
/** Where the field will be inserted. */
|
|
14
5
|
place: FieldPlace;
|
|
15
|
-
/** The table it sits in, when it does. */
|
|
16
6
|
table?: Pick<TableBlock, 'data'>;
|
|
17
|
-
/** The template's print options, offered as fields. */
|
|
18
7
|
templateOptions?: TemplateOption[];
|
|
19
|
-
/** Called with the text to insert, e.g. `%party.name%`. */
|
|
20
8
|
onInsert: (insert: string) => void;
|
|
21
|
-
/** Shown when nothing matches the search. */
|
|
22
9
|
emptyLabel?: string;
|
|
23
10
|
maxHeight?: number;
|
|
24
11
|
}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import { type DesignerSelection } from '../../../published/dcs-ui/src/publicLogic';
|
|
2
2
|
import type { EditorContext } from './types';
|
|
3
3
|
export type { TemplateEdit } from './types';
|
|
4
|
-
/**
|
|
5
|
-
* Quoin — the inspector: settings for exactly what is selected, and nothing else.
|
|
6
|
-
*
|
|
7
|
-
* One selection, one panel — the page, the print options, a band, a block, or one column of a table.
|
|
8
|
-
* Every panel ends with what decides whether the thing prints at all, so a line that "never shows"
|
|
9
|
-
* always has its reason on screen.
|
|
10
|
-
*/
|
|
11
4
|
export interface InspectorProps extends EditorContext {
|
|
12
5
|
selection: DesignerSelection;
|
|
13
6
|
}
|
|
@@ -1,34 +1,12 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
import type { ReportContext, ReportRegistry, ReportTemplate } from '../../../published/dcs-ui/src/publicTypes';
|
|
3
|
-
/**
|
|
4
|
-
* Quoin — the designer.
|
|
5
|
-
*
|
|
6
|
-
* Laid out the way the Receipt Designer proved works: a toolbar across the top, then structure on
|
|
7
|
-
* the left, the real page in the middle and an inspector on the right, each scrolling on its own.
|
|
8
|
-
* One thing is selected at a time — from the tree or by clicking the page — it is outlined on the
|
|
9
|
-
* page, and the inspector edits exactly that.
|
|
10
|
-
*
|
|
11
|
-
* Every change goes through `applyTemplateEdit`, so undo is a property of the design rather than
|
|
12
|
-
* something each control has to remember, and the preview is the real engine — what is on screen
|
|
13
|
-
* is what will print.
|
|
14
|
-
*
|
|
15
|
-
* Save is gated on validation, not on every intermediate state being valid: a template is malformed
|
|
16
|
-
* for most of the time it is being edited, and refusing those states makes an editor unusable.
|
|
17
|
-
* Where a saved template goes is the app's business — this hands a valid one to `onSave`.
|
|
18
|
-
*/
|
|
19
3
|
export interface ReportDesignerProps {
|
|
20
|
-
/** Starting point — usually a shipped seed template. */
|
|
21
4
|
template: ReportTemplate;
|
|
22
5
|
registry: ReportRegistry;
|
|
23
|
-
/** Sample data. Real data makes the preview worth looking at; a stub makes it a wireframe. */
|
|
24
6
|
context: ReportContext;
|
|
25
|
-
/** Called with a valid template. Absent hides the Save button. */
|
|
26
7
|
onSave?: (template: ReportTemplate) => void;
|
|
27
|
-
/** Absent hides the Close button. */
|
|
28
8
|
onCancel?: () => void;
|
|
29
|
-
/** Reflects every change, for a caller that wants to persist a draft. */
|
|
30
9
|
onChange?: (template: ReportTemplate) => void;
|
|
31
|
-
/** Shown in the toolbar. Defaults to the template's name. */
|
|
32
10
|
title?: ReactNode;
|
|
33
11
|
}
|
|
34
12
|
export declare const ReportDesigner: ({ template: initial, registry, context, onSave, onCancel, onChange, title, }: ReportDesignerProps) => import("react").JSX.Element;
|
|
@@ -1,10 +1,2 @@
|
|
|
1
1
|
import type { TableEditorProps } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* A table's settings, in three tabs.
|
|
4
|
-
*
|
|
5
|
-
* All seven sections at once came to nearly eight screens of scrolling for one table, which is not
|
|
6
|
-
* a form anyone reads — the question "where do the rows come from" sat six screens above the answer
|
|
7
|
-
* to "why is this column empty". They are grouped the way a report is built: the data first, then
|
|
8
|
-
* the columns that show it, then how the whole thing is laid out on the page.
|
|
9
|
-
*/
|
|
10
2
|
export declare const TableEditor: (props: TableEditorProps) => import("react").JSX.Element;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { ChipSources, ReportRegistry, TableBlock, TemplateOption } from '../../../published/dcs-ui/src/publicTypes';
|
|
2
2
|
import { type FieldOption, type FieldPlace } from '../../../published/dcs-ui/src/publicLogic';
|
|
3
3
|
export declare const chipSourcesFromFields: (fields: FieldOption[]) => ChipSources;
|
|
4
|
-
/** Chips for one place in a template — a column value, a group line, a closing row, a page band. */
|
|
5
4
|
export declare const chipSourcesFor: (registry: ReportRegistry, place: FieldPlace, table?: Pick<TableBlock, "data">, templateOptions?: TemplateOption[]) => ChipSources;
|
|
6
5
|
export declare const useChipSources: (registry: ReportRegistry, place: FieldPlace, table?: Pick<TableBlock, "data">, templateOptions?: TemplateOption[]) => ChipSources;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { Band, BandKind, Block, ReportRegistry, TextCell, TextRow } from '../../../published/dcs-ui/src/publicTypes';
|
|
3
|
-
/**
|
|
4
|
-
* How the designer names things — always in the author's terms ("Top of every page"), never the
|
|
5
|
-
* model's (`pageHeader`).
|
|
6
|
-
*/
|
|
7
3
|
export declare const BAND_LABELS: Record<BandKind, string>;
|
|
8
4
|
export declare const BAND_HINTS: Record<BandKind, string>;
|
|
9
|
-
/** Offered in print order, so the menu reads the way the document does. */
|
|
10
5
|
export declare const BAND_KINDS: BandKind[];
|
|
11
6
|
export declare const bandTitle: (band: Band) => string;
|
|
12
7
|
export interface BlockChoice {
|
|
@@ -15,20 +10,13 @@ export interface BlockChoice {
|
|
|
15
10
|
description: string;
|
|
16
11
|
make: () => Omit<Block, 'id'>;
|
|
17
12
|
}
|
|
18
|
-
/**
|
|
19
|
-
* What an author can add to a band. A table is offered once per dataset the app passes, so "Table
|
|
20
|
-
* of Items" and "Table of Tax summary" are one click each, already showing their first fields.
|
|
21
|
-
*/
|
|
22
13
|
export declare const blockChoices: (registry: ReportRegistry) => BlockChoice[];
|
|
23
14
|
export declare const blockTitle: (block: Block) => string;
|
|
24
|
-
/** One line saying what the block holds, for the tree and a band's contents. */
|
|
25
15
|
export declare const blockSummary: (block: Block, registry?: ReportRegistry) => string;
|
|
26
|
-
/** The text a row or a column of a text block prints, for naming it in a crumb or a list. */
|
|
27
16
|
export declare const textOfCell: (cell: TextCell) => string;
|
|
28
17
|
export declare const textRowTitle: (row: TextRow, index: number) => string;
|
|
29
18
|
export declare const textRowSummary: (row: TextRow) => string;
|
|
30
19
|
export declare const textCellTitle: (cell: TextCell, index: number) => string;
|
|
31
20
|
export declare const textCellSummary: (cell: TextCell) => string;
|
|
32
21
|
export declare const blockIcon: (block: Block) => ReactNode;
|
|
33
|
-
/** Joins class names, dropping the ones a condition switched off. */
|
|
34
22
|
export declare const cx: (...names: Array<string | false | null | undefined>) => string;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
import type { FieldSetProps } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Quoin designer — the pieces every inspector panel is laid out with, so every panel reads alike:
|
|
5
|
-
* a sticky header naming what is selected, then titled sections.
|
|
6
|
-
*/
|
|
7
3
|
export declare const Section: ({ title, action, children }: {
|
|
8
4
|
title: string;
|
|
9
5
|
action?: ReactNode;
|
|
@@ -13,7 +9,6 @@ export declare const Header: ({ title, hint, back, path }: {
|
|
|
13
9
|
title: string;
|
|
14
10
|
hint?: string;
|
|
15
11
|
back?: ReactNode;
|
|
16
|
-
/** Where this thing sits, root first. Each crumb goes there. */
|
|
17
12
|
path?: ReactNode;
|
|
18
13
|
}) => import("react").JSX.Element;
|
|
19
14
|
export interface Crumb {
|
|
@@ -21,29 +16,12 @@ export interface Crumb {
|
|
|
21
16
|
label: string;
|
|
22
17
|
onClick: () => void;
|
|
23
18
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Where you are, and the way back to anywhere above it.
|
|
26
|
-
*
|
|
27
|
-
* A single "back" button only answers "what is my parent", one step at a time, and says nothing
|
|
28
|
-
* about how deep you are — go band › table › column and the panel is titled "Column", with the
|
|
29
|
-
* band four levels up unnamed. Every crumb here is a destination, so no level is more than one
|
|
30
|
-
* click away from any other.
|
|
31
|
-
*/
|
|
32
19
|
export declare const Path: ({ crumbs }: {
|
|
33
20
|
crumbs: Crumb[];
|
|
34
21
|
}) => import("react").JSX.Element | null;
|
|
35
|
-
/** A short explanation under a control. */
|
|
36
22
|
export declare const Hint: ({ children }: {
|
|
37
23
|
children: ReactNode;
|
|
38
24
|
}) => import("react").JSX.Element;
|
|
39
|
-
/**
|
|
40
|
-
* One thing in a list, which opens when clicked.
|
|
41
|
-
*
|
|
42
|
-
* The designer had three of these written by hand — a band's contents, a table's columns, a text
|
|
43
|
-
* block's rows — each with its own markup, its own actions and its own idea of whether clicking it
|
|
44
|
-
* did anything. They are the same gesture: "this is one of several; open it". Opening a thing
|
|
45
|
-
* rather than expanding it in place is what keeps a panel one level deep.
|
|
46
|
-
*/
|
|
47
25
|
export declare const DrillRow: ({ icon, title, summary, badges, actions, onOpen }: {
|
|
48
26
|
icon?: ReactNode;
|
|
49
27
|
title: string;
|
|
@@ -52,12 +30,4 @@ export declare const DrillRow: ({ icon, title, summary, badges, actions, onOpen
|
|
|
52
30
|
actions?: ReactNode;
|
|
53
31
|
onOpen: () => void;
|
|
54
32
|
}) => import("react").JSX.Element;
|
|
55
|
-
/**
|
|
56
|
-
* A set of field keys, chosen.
|
|
57
|
-
*
|
|
58
|
-
* Drawn as what IS chosen, with the choosing behind a button. A checkbox per field is fine for six
|
|
59
|
-
* or eight; the invoice item data has sixty-one, which filled a third of the panel with boxes nobody
|
|
60
|
-
* ticks and buried the six that were ticked among them. Here the answer is always on screen and the
|
|
61
|
-
* question is one click away, searchable, and sorted into the registry's own groups.
|
|
62
|
-
*/
|
|
63
33
|
export declare const FieldSet: ({ label, hint, fields, selected, onChange }: FieldSetProps) => import("react").JSX.Element;
|