@dcs-tech/ui 0.8.0 → 0.10.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.
Files changed (102) hide show
  1. package/CHANGELOG.md +496 -0
  2. package/README.md +56 -5
  3. package/dist/{ChartImageMenu-AsfvmdTH.js → ChartImageMenu-3OfqNFyt.js} +557 -546
  4. package/dist/{ChartView-CW3m4Z_1.js → ChartView-n4G5_2ro.js} +35 -31
  5. package/dist/{SummaryChart-CxRjK_HU.js → SummaryChart-i6fOdrDM.js} +2 -2
  6. package/dist/{SummaryImage-DeYs2Jgj.js → SummaryImage-CCt5ozD9.js} +2 -2
  7. package/dist/{SummarySeeAll-CrmROhBv.js → SummarySeeAll-BY8knsRe.js} +5 -5
  8. package/dist/assets/fileTask.worker--Q3rI3Bn.js +1 -0
  9. package/dist/{columnValue-DwUqueZ6.js → columnValue-74XDBcVF.js} +219 -192
  10. package/dist/{exportContext-BKFnNQ0q.js → exportContext-C52ZuHd8.js} +2 -2
  11. package/dist/{exportEngine-CZ22cX7a.js → exportEngine-BmDly7iw.js} +3 -3
  12. package/dist/file-worker.js +1 -1
  13. package/dist/{fileActions-COf5Q4Eg.js → fileActions-CFNO14Aj.js} +1 -1
  14. package/dist/{geometry-yZmKN662.js → geometry-DG134nYI.js} +379 -273
  15. package/dist/index.js +12808 -9621
  16. package/dist/{labels-CnqqTrne.js → labels-BPItSeRU.js} +2 -0
  17. package/dist/{runFileTask--4YjQH7Y.js → runFileTask-BIZTFnZP.js} +55 -39
  18. package/dist/scrollArea-D84Cwm4o.js +310 -0
  19. package/dist/style.css +1 -1
  20. package/dist/{summaryChartData-CARqGRUl.js → summaryChartData-BiQYJbYZ.js} +8 -2
  21. package/dist/types/components/Alert/Alert.d.ts +16 -0
  22. package/dist/types/components/Alert/index.d.ts +2 -0
  23. package/dist/types/components/Card/Card.d.ts +4 -3
  24. package/dist/types/components/Card/index.d.ts +1 -1
  25. package/dist/types/components/Charts/Funnel.d.ts +2 -1
  26. package/dist/types/components/Charts/chartImage.d.ts +1 -0
  27. package/dist/types/components/ChipInput/ChipTags.d.ts +3 -0
  28. package/dist/types/components/CommandPalette/CommandPaletteTrigger.d.ts +9 -0
  29. package/dist/types/components/CommandPalette/index.d.ts +2 -0
  30. package/dist/types/components/DataTable/TablePagination.d.ts +1 -1
  31. package/dist/types/components/DataTable/TableToolbar.d.ts +2 -1
  32. package/dist/types/components/DataTable/TableView.d.ts +1 -0
  33. package/dist/types/components/DataTable/cards/cardFields.d.ts +1 -0
  34. package/dist/types/components/DataTable/defaults.d.ts +4 -0
  35. package/dist/types/components/DataTable/index.d.ts +1 -1
  36. package/dist/types/components/DataTable/labels.d.ts +2 -0
  37. package/dist/types/components/DataTable/types.d.ts +19 -2
  38. package/dist/types/components/DataTable/ui-local/TableReorderList.d.ts +13 -0
  39. package/dist/types/components/DataTable/ui.d.ts +2 -1
  40. package/dist/types/components/DataTable/useTable.d.ts +1 -0
  41. package/dist/types/components/DatePicker/PeriodGrid.d.ts +13 -0
  42. package/dist/types/components/DatePicker/PeriodPicker.d.ts +19 -0
  43. package/dist/types/components/DatePicker/index.d.ts +1 -1
  44. package/dist/types/components/Dialog/dialogSlots.d.ts +9 -0
  45. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +8 -0
  46. package/dist/types/components/FieldWrapper/index.d.ts +1 -1
  47. package/dist/types/components/Fields/index.d.ts +1 -1
  48. package/dist/types/components/Image/ImageEditor.d.ts +21 -0
  49. package/dist/types/components/Image/ImagePicker.d.ts +10 -1
  50. package/dist/types/components/Image/imageRender.d.ts +33 -0
  51. package/dist/types/components/Image/index.d.ts +3 -1
  52. package/dist/types/components/Image/prepareImage.d.ts +4 -3
  53. package/dist/types/components/Link/Link.d.ts +22 -0
  54. package/dist/types/components/Link/index.d.ts +2 -0
  55. package/dist/types/components/NavList/NavList.d.ts +13 -0
  56. package/dist/types/components/NavList/index.d.ts +2 -0
  57. package/dist/types/components/PageProgress/PageProgress.d.ts +10 -0
  58. package/dist/types/components/PageProgress/index.d.ts +2 -0
  59. package/dist/types/components/Pagination/Pagination.d.ts +19 -0
  60. package/dist/types/components/Pagination/index.d.ts +2 -0
  61. package/dist/types/components/Popover/Popover.d.ts +1 -1
  62. package/dist/types/components/Popover/floatingPosition.d.ts +4 -0
  63. package/dist/types/components/ReorderList/ReorderGroup.d.ts +16 -0
  64. package/dist/types/components/ReorderList/ReorderList.d.ts +55 -0
  65. package/dist/types/components/ReorderList/crossListDrag.d.ts +61 -0
  66. package/dist/types/components/ReorderList/index.d.ts +5 -0
  67. package/dist/types/components/ReorderList/useReorderDrag.d.ts +28 -0
  68. package/dist/types/components/Tooltip/useTooltip.d.ts +4 -0
  69. package/dist/types/components/UIProvider/UILabelsContext.d.ts +86 -0
  70. package/dist/types/core/hooks/index.d.ts +1 -0
  71. package/dist/types/core/hooks/useMeasuredState.d.ts +1 -0
  72. package/dist/types/core/logic/alert.logic.d.ts +3 -0
  73. package/dist/types/core/logic/commandPalette.logic.d.ts +2 -0
  74. package/dist/types/core/logic/datePicker.logic.d.ts +12 -0
  75. package/dist/types/core/logic/fieldWrapper.logic.d.ts +6 -1
  76. package/dist/types/core/logic/imageEditor.logic.d.ts +132 -0
  77. package/dist/types/core/logic/imageTransform.logic.d.ts +57 -0
  78. package/dist/types/core/logic/index.d.ts +9 -0
  79. package/dist/types/core/logic/inertProps.d.ts +3 -0
  80. package/dist/types/core/logic/pageProgress.logic.d.ts +3 -0
  81. package/dist/types/core/logic/pagination.logic.d.ts +7 -0
  82. package/dist/types/core/logic/periodPicker.logic.d.ts +86 -0
  83. package/dist/types/core/logic/reorder.logic.d.ts +49 -0
  84. package/dist/types/core/types/chipinput.types.d.ts +3 -1
  85. package/dist/types/core/types/collapsible.types.d.ts +3 -0
  86. package/dist/types/core/types/datePicker.types.d.ts +7 -0
  87. package/dist/types/core/types/field.types.d.ts +6 -3
  88. package/dist/types/core/types/fieldWrapper.types.d.ts +2 -0
  89. package/dist/types/core/types/fields.types.d.ts +6 -1
  90. package/dist/types/core/types/form.types.d.ts +1 -0
  91. package/dist/types/core/types/format.types.d.ts +2 -0
  92. package/dist/types/core/types/input.types.d.ts +2 -0
  93. package/dist/types/core/types/navigation.types.d.ts +1 -0
  94. package/dist/types/core/types/select.types.d.ts +2 -6
  95. package/dist/types/core/types/suggest.types.d.ts +2 -0
  96. package/dist/types/index.d.ts +25 -7
  97. package/package.json +3 -2
  98. package/dist/assets/fileTask.worker-BHT1olUk.js +0 -1
  99. package/dist/scrollArea-Dd2dNMV4.js +0 -236
  100. package/dist/types/components/DataTable/ui-local/DragAndDropList/DragAndDropList.d.ts +0 -4
  101. package/dist/types/components/DataTable/ui-local/DragAndDropList/index.d.ts +0 -3
  102. package/dist/types/components/DataTable/ui-local/DragAndDropList/types.d.ts +0 -70
package/README.md CHANGED
@@ -30,14 +30,24 @@ export const Example = () => (
30
30
 
31
31
  ## What's in it
32
32
 
33
- - **Fields** — Input, Select, Suggest, Checkbox, Radio, Switch, ChipInput, all
34
- sharing one control surface, a 6-step size scale and one state model
35
- - **Primitives** — Button, Typography, Tooltip
33
+ - **Fields** — Input, Select, Suggest, DatePicker (a day, a range, or `picker="month"` /
34
+ `"year"`), Checkbox, Radio, Switch, ChipInput (including free-text `tags`), all sharing one
35
+ control surface, a 6-step size scale and one state model
36
+ - **Images** — ImagePicker, ImageStrip, ImageViewer, and ImageEditor (crop, zoom, rotate,
37
+ straighten, flip; each tool can be allowed or restricted). `prepareImage` applies the same
38
+ transform with no UI
39
+ - **Overlays** — Dialog (`useDialog()` for confirms; `DialogHost` if you do not use `UIProvider`),
40
+ Popover, DropdownMenu, Toast
41
+ - **Primitives** — Button, Typography, Tooltip, Alert (with a page-wide `banner` form)
42
+ - **Navigation** — Link (`as` takes a router's link), Pagination, CommandPaletteTrigger,
43
+ PageProgress (a route-change bar, driven by `active`), NavList (a vertical link list for
44
+ inside a page)
36
45
  - **Layout** — Collapsible, FieldWrapper
46
+ - **Lists** — ReorderList (drag to reorder: rows slide live, with mouse, touch or keyboard)
37
47
  - **Composites** — Form, Fields, EditableTable
38
48
  - **Data** — DataTable (client data or a server `dataSource`: views, search, filters,
39
- sort, grouping, column chooser, table / card / split layouts, selection + bulk
40
- actions, header / footer summaries with charts, export to xlsx / pdf / csv / html /
49
+ sort, grouping, column chooser, table / card / split layouts, `toolbarActions`, selection + bulk
50
+ actions (the table reports what `onRun` returns, and nothing if it returns nothing), header / footer summaries with charts, export to xlsx / pdf / csv / html /
41
51
  json / xml) and Charts (Chart, ColumnChart, BarList, Donut, Progress, Legend,
42
52
  ChartTable, LineChart, Funnel, Gauge, Treemap, … with a picture menu)
43
53
  - **Scroll** — one scrollbar rule (thin, hidden until needed) in `style.css`, edge
@@ -129,6 +139,47 @@ Every colour, size and spacing value is a CSS custom property. Override them on
129
139
  `variant` is per family — `outlined | filled | standard | underlined` for text
130
140
  fields, `outlined | filled | standard` for Checkbox and Radio, none for Switch.
131
141
 
142
+ ### Field width
143
+
144
+ A text field fills the space its parent gives it, up to 320px. `width` changes that:
145
+
146
+ | `width` | The field is |
147
+ | --- | --- |
148
+ | not given | the available space, up to 320px |
149
+ | `"full"` | the whole row, with no limit |
150
+ | `"auto"` | as wide as its content |
151
+ | `240`, `"15rem"` | exactly that, never wider than its parent |
152
+
153
+ In a table cell (`layout="cell"`) the column decides and `width` is ignored. With `layout="horizontal"`
154
+ it sizes the control; the label keeps its column.
155
+
156
+ ### List width
157
+
158
+ A Select or Suggest list fits its content: never narrower than its field, up to 320px (Select) or
159
+ 480px (Suggest), and always on screen. `listWidth="field"` makes it exactly the field's width.
160
+
161
+ ### Icon size
162
+
163
+ An icon-only button or a Sidebar row sizes its icon with the `--icon-size-xxs` … `--icon-size-xl`
164
+ tokens, which follow `--ui-scale`. Override them on `:root` to change icon sizes across the app. An
165
+ icon given its own `size` keeps it.
166
+
167
+ ### Dialog width
168
+
169
+ `Dialog` takes `size="sm | md | lg | xl | full"` (420 / 560 / 720 / 960 px / the whole
170
+ window). For any other width, set `--dialog-width`. It is the supported way, and it wins
171
+ over `size`:
172
+
173
+ ```tsx
174
+ <Dialog open title="Wide" style={{ '--dialog-width': '840px' } as React.CSSProperties} />
175
+ ```
176
+
177
+ ```css
178
+ .invoice-dialog { --dialog-width: min(1100px, 95vw); } /* <Dialog className="invoice-dialog"> */
179
+ ```
180
+
181
+ For a side or top/bottom sheet (`placement`), it sets the panel's width or its max width.
182
+
132
183
  ## Licence
133
184
 
134
185
  UNLICENSED — © 2026 Noyyal Tech. All rights reserved.