@konce-pt/react 0.11.2 → 0.14.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 +128 -64
- package/dist/accordion/accordion.d.ts +14 -6
- package/dist/accordion/accordion.js +25 -17
- package/dist/accordion/llms.txt +22 -10
- package/dist/alert/alert.d.ts +2 -2
- package/dist/alert/alert.js +3 -2
- package/dist/alert/llms.txt +10 -9
- package/dist/app-shell/app-shell.d.ts +14 -14
- package/dist/app-shell/app-shell.js +22 -15
- package/dist/app-shell/llms.txt +16 -15
- package/dist/auth/auth-types.d.ts +6 -6
- package/dist/auth/auth.d.ts +2 -2
- package/dist/auth/auth.js +24 -15
- package/dist/auth/llms.txt +12 -11
- package/dist/autocomplete/autocomplete.d.ts +19 -6
- package/dist/autocomplete/autocomplete.js +32 -11
- package/dist/autocomplete/llms.txt +19 -5
- package/dist/avatar/avatar.d.ts +6 -6
- package/dist/avatar/avatar.js +6 -5
- package/dist/avatar/llms.txt +10 -10
- package/dist/avatar-group/avatar-group.d.ts +4 -4
- package/dist/avatar-group/avatar-group.js +4 -3
- package/dist/avatar-group/llms.txt +8 -8
- package/dist/backdrop/backdrop.d.ts +7 -26
- package/dist/backdrop/backdrop.js +32 -27
- package/dist/backdrop/llms.txt +27 -27
- package/dist/badge/badge.d.ts +3 -3
- package/dist/badge/badge.js +1 -1
- package/dist/badge/llms.txt +11 -11
- package/dist/bottom-sheet/bottom-sheet.d.ts +8 -3
- package/dist/bottom-sheet/bottom-sheet.js +5 -4
- package/dist/bottom-sheet/llms.txt +11 -8
- package/dist/breadcrumb/breadcrumb.d.ts +8 -2
- package/dist/breadcrumb/breadcrumb.js +11 -3
- package/dist/breadcrumb/llms.txt +10 -2
- package/dist/button/button.d.ts +3 -3
- package/dist/button/button.js +10 -9
- package/dist/button/llms.txt +27 -19
- package/dist/button-group/button-group.d.ts +18 -5
- package/dist/button-group/button-group.js +54 -6
- package/dist/button-group/llms.txt +27 -18
- package/dist/card/card.d.ts +8 -8
- package/dist/card/card.js +10 -9
- package/dist/card/llms.txt +20 -20
- package/dist/carousel/carousel.d.ts +6 -6
- package/dist/carousel/carousel.js +8 -5
- package/dist/carousel/llms.txt +10 -10
- package/dist/charts/chart-legend.d.ts +3 -3
- package/dist/charts/chart-legend.js +2 -1
- package/dist/charts/chart-tooltip.d.ts +3 -3
- package/dist/charts/chart-tooltip.js +1 -1
- package/dist/charts/chart.d.ts +4 -3
- package/dist/charts/chart.js +18 -10
- package/dist/charts/llms.txt +10 -7
- package/dist/charts-entry/public-api.js +2 -2
- package/dist/chat/chat.d.ts +17 -10
- package/dist/chat/chat.js +77 -23
- package/dist/chat/llms.txt +39 -15
- package/dist/chat-composer/chat-composer.d.ts +20 -7
- package/dist/chat-composer/chat-composer.js +29 -7
- package/dist/chat-composer/llms.txt +20 -11
- package/dist/chat-dock/chat-dock.d.ts +11 -4
- package/dist/chat-dock/chat-dock.js +10 -6
- package/dist/chat-dock/llms.txt +15 -14
- package/dist/chat-entry/public-api.js +1 -1
- package/dist/chat-message/chat-message.d.ts +12 -5
- package/dist/chat-message/chat-message.js +19 -8
- package/dist/chat-message/llms.txt +16 -15
- package/dist/chat-typing/chat-typing.d.ts +2 -2
- package/dist/chat-typing/chat-typing.js +4 -3
- package/dist/chat-typing/llms.txt +6 -6
- package/dist/checkbox/checkbox.d.ts +13 -6
- package/dist/checkbox/checkbox.js +31 -5
- package/dist/checkbox/llms.txt +26 -11
- package/dist/chip/chip.d.ts +4 -4
- package/dist/chip/chip.js +3 -2
- package/dist/chip/llms.txt +11 -11
- package/dist/chips-input/chips-input.d.ts +6 -4
- package/dist/chips-input/chips-input.js +47 -12
- package/dist/chips-input/llms.txt +18 -8
- package/dist/clock/clock.d.ts +11 -6
- package/dist/clock/clock.js +38 -8
- package/dist/clock/llms.txt +12 -8
- package/dist/color-picker/color-picker.d.ts +9 -5
- package/dist/color-picker/color-picker.js +37 -18
- package/dist/color-picker/llms.txt +8 -5
- package/dist/confirm/confirm-container.d.ts +3 -3
- package/dist/confirm/confirm-container.js +6 -5
- package/dist/confirm/confirm-store.d.ts +4 -4
- package/dist/confirm/confirm-store.js +11 -5
- package/dist/confirm/llms.txt +8 -7
- package/dist/context-menu/context-menu.d.ts +1 -1
- package/dist/context-menu/context-menu.js +37 -14
- package/dist/context-menu/llms.txt +10 -7
- package/dist/data-table/data-table-types.d.ts +5 -5
- package/dist/data-table/data-table.d.ts +37 -5
- package/dist/data-table/data-table.js +426 -119
- package/dist/data-table/export-csv.d.ts +3 -3
- package/dist/data-table/export-csv.js +8 -10
- package/dist/data-table/llms.txt +127 -79
- package/dist/data-view/data-view.d.ts +13 -5
- package/dist/data-view/data-view.js +68 -6
- package/dist/data-view/llms.txt +29 -10
- package/dist/date-range/date-range.d.ts +20 -8
- package/dist/date-range/date-range.js +86 -63
- package/dist/date-range/llms.txt +32 -18
- package/dist/datepicker/datepicker.d.ts +22 -8
- package/dist/datepicker/datepicker.js +103 -71
- package/dist/datepicker/llms.txt +36 -22
- package/dist/dialog/dialog.d.ts +4 -4
- package/dist/dialog/dialog.js +32 -11
- package/dist/dialog/llms.txt +13 -10
- package/dist/divider/divider.d.ts +7 -1
- package/dist/divider/divider.js +3 -2
- package/dist/divider/llms.txt +4 -3
- package/dist/drawer/drawer.d.ts +9 -4
- package/dist/drawer/drawer.js +5 -4
- package/dist/drawer/llms.txt +13 -10
- package/dist/empty/empty.d.ts +2 -2
- package/dist/empty/empty.js +1 -1
- package/dist/empty/llms.txt +9 -9
- package/dist/fab/fab.d.ts +1 -1
- package/dist/fab/fab.js +1 -1
- package/dist/fab/llms.txt +10 -6
- package/dist/fieldset/fieldset.d.ts +18 -4
- package/dist/fieldset/fieldset.js +12 -6
- package/dist/fieldset/llms.txt +26 -9
- package/dist/file-upload/file-upload.d.ts +8 -2
- package/dist/file-upload/file-upload.js +22 -11
- package/dist/file-upload/llms.txt +12 -9
- package/dist/form-field/form-field-context.d.ts +4 -4
- package/dist/form-field/form-field.d.ts +12 -4
- package/dist/form-field/form-field.js +27 -6
- package/dist/form-field/llms.txt +25 -11
- package/dist/galleria/galleria.d.ts +3 -3
- package/dist/galleria/galleria.js +9 -6
- package/dist/galleria/llms.txt +7 -7
- package/dist/grid/col.d.ts +4 -4
- package/dist/grid/col.js +2 -2
- package/dist/grid/flex.d.ts +3 -3
- package/dist/grid/flex.js +1 -1
- package/dist/grid/grid.d.ts +7 -7
- package/dist/grid/grid.js +3 -3
- package/dist/grid/layout.d.ts +2 -2
- package/dist/grid/layout.js +2 -2
- package/dist/grid/llms.txt +15 -15
- package/dist/grid-entry/public-api.js +1 -1
- package/dist/i18n/i18n-context.d.ts +6 -6
- package/dist/i18n/i18n-context.js +27 -5
- package/dist/icon/icon-registry.d.ts +3 -3
- package/dist/icon/icon-registry.js +3 -3
- package/dist/icon/icon.d.ts +4 -4
- package/dist/icon/icon.js +10 -7
- package/dist/icon/llms.txt +13 -13
- package/dist/icon-button/icon-button.d.ts +2 -2
- package/dist/icon-button/icon-button.js +1 -1
- package/dist/icon-button/llms.txt +9 -5
- package/dist/icons-entry/public-api.d.ts +2 -2
- package/dist/icons-entry/public-api.js +3 -3
- package/dist/image/image.js +5 -5
- package/dist/image/llms.txt +13 -13
- package/dist/input/input.d.ts +18 -5
- package/dist/input/input.js +22 -6
- package/dist/input/llms.txt +25 -11
- package/dist/input-mask/input-mask.d.ts +7 -2
- package/dist/input-mask/input-mask.js +17 -43
- package/dist/input-mask/llms.txt +8 -5
- package/dist/input-number/input-number.d.ts +11 -9
- package/dist/input-number/input-number.js +25 -21
- package/dist/input-number/llms.txt +17 -14
- package/dist/input-otp/input-otp.d.ts +18 -5
- package/dist/input-otp/input-otp.js +48 -24
- package/dist/input-otp/llms.txt +18 -7
- package/dist/internal/calendar-focus.d.ts +1 -1
- package/dist/internal/calendar-focus.js +3 -3
- package/dist/internal/cn.d.ts +1 -1
- package/dist/internal/mask.d.ts +14 -0
- package/dist/internal/mask.js +62 -0
- package/dist/internal/number-group.d.ts +22 -0
- package/dist/internal/number-group.js +53 -0
- package/dist/internal/option-key.d.ts +6 -0
- package/dist/internal/option-key.js +8 -0
- package/dist/internal/option-nav.d.ts +4 -4
- package/dist/internal/option-nav.js +5 -5
- package/dist/internal/overlay-container.js +1 -1
- package/dist/internal/overlay.d.ts +3 -3
- package/dist/internal/overlay.js +40 -10
- package/dist/internal/password-strength.d.ts +6 -0
- package/dist/internal/password-strength.js +74 -0
- package/dist/internal/roving.d.ts +2 -2
- package/dist/internal/roving.js +3 -3
- package/dist/internal/scroll-lock.d.ts +6 -0
- package/dist/internal/scroll-lock.js +35 -0
- package/dist/internal/slot-children.d.ts +13 -0
- package/dist/internal/slot-children.js +31 -0
- package/dist/internal/slot.d.ts +3 -3
- package/dist/internal/slot.js +2 -2
- package/dist/internal/step.d.ts +12 -0
- package/dist/internal/step.js +31 -0
- package/dist/internal/tween.d.ts +5 -5
- package/dist/internal/tween.js +7 -8
- package/dist/internal/types.d.ts +2 -2
- package/dist/internal/use-breakpoint.d.ts +2 -2
- package/dist/internal/use-breakpoint.js +4 -4
- package/dist/internal/use-controllable-state.d.ts +5 -0
- package/dist/internal/use-controllable-state.js +25 -4
- package/dist/internal/use-id.d.ts +2 -2
- package/dist/internal/use-id.js +2 -2
- package/dist/internal/use-modal-focus.d.ts +2 -1
- package/dist/internal/use-modal-focus.js +14 -3
- package/dist/knob/knob.d.ts +7 -4
- package/dist/knob/knob.js +27 -22
- package/dist/knob/llms.txt +18 -11
- package/dist/listbox/listbox.d.ts +8 -6
- package/dist/listbox/listbox.js +37 -17
- package/dist/listbox/llms.txt +12 -9
- package/dist/loader/llms.txt +56 -0
- package/dist/loader/loader.d.ts +49 -0
- package/dist/loader/loader.js +68 -0
- package/dist/map/llms.txt +30 -23
- package/dist/map/map-create-dialog.d.ts +4 -4
- package/dist/map/map-create-dialog.js +36 -28
- package/dist/map/map-hours-field.d.ts +4 -4
- package/dist/map/map-hours-field.js +8 -7
- package/dist/map/map-image-field.d.ts +2 -2
- package/dist/map/map-image-field.js +6 -5
- package/dist/map/map-legend.d.ts +4 -4
- package/dist/map/map-legend.js +3 -2
- package/dist/map/map-poi-card.d.ts +3 -3
- package/dist/map/map-poi-card.js +10 -9
- package/dist/map/map-search.d.ts +17 -6
- package/dist/map/map-search.js +70 -43
- package/dist/map/map.d.ts +25 -13
- package/dist/map/map.js +86 -57
- package/dist/map/ports.d.ts +9 -9
- package/dist/map/ports.js +6 -6
- package/dist/map-entry/public-api.js +2 -2
- package/dist/megamenu/llms.txt +18 -7
- package/dist/megamenu/megamenu.d.ts +12 -6
- package/dist/megamenu/megamenu.js +23 -14
- package/dist/mention/llms.txt +15 -15
- package/dist/mention/mention.d.ts +5 -5
- package/dist/mention/mention.js +2 -2
- package/dist/mention/mentions.d.ts +1 -1
- package/dist/mention/mentions.js +1 -1
- package/dist/menu/llms.txt +12 -12
- package/dist/menu/menu-item.d.ts +4 -4
- package/dist/menu/menu-keys.d.ts +2 -2
- package/dist/menu/menu-keys.js +5 -5
- package/dist/menu/menu-rows.js +1 -0
- package/dist/menu/menu.d.ts +2 -2
- package/dist/menu/menu.js +15 -8
- package/dist/menubar/llms.txt +19 -8
- package/dist/menubar/menubar.d.ts +11 -5
- package/dist/menubar/menubar.js +23 -11
- package/dist/meter-group/llms.txt +12 -12
- package/dist/meter-group/meter-group.d.ts +2 -2
- package/dist/meter-group/meter-group.js +2 -1
- package/dist/motion/motion-context.d.ts +22 -0
- package/dist/motion/motion-context.js +28 -0
- package/dist/order-list/llms.txt +24 -9
- package/dist/order-list/order-list.d.ts +12 -4
- package/dist/order-list/order-list.js +123 -25
- package/dist/paginator/llms.txt +8 -8
- package/dist/paginator/paginator.js +7 -4
- package/dist/panel/llms.txt +25 -13
- package/dist/panel/panel.d.ts +11 -3
- package/dist/panel/panel.js +12 -7
- package/dist/password/llms.txt +19 -7
- package/dist/password/password.d.ts +2 -2
- package/dist/password/password.js +27 -16
- package/dist/peek/llms.txt +11 -11
- package/dist/peek/peek.d.ts +6 -6
- package/dist/peek/peek.js +41 -19
- package/dist/pick-list/llms.txt +35 -12
- package/dist/pick-list/pick-list.d.ts +12 -4
- package/dist/pick-list/pick-list.js +128 -24
- package/dist/popover/llms.txt +13 -10
- package/dist/popover/popover.d.ts +6 -4
- package/dist/popover/popover.js +14 -7
- package/dist/progress/llms.txt +17 -17
- package/dist/progress/progress.d.ts +7 -7
- package/dist/progress/progress.js +7 -6
- package/dist/public-api.d.ts +16 -4
- package/dist/public-api.js +13 -7
- package/dist/radio-group/llms.txt +16 -6
- package/dist/radio-group/radio-group.d.ts +12 -3
- package/dist/radio-group/radio-group.js +23 -4
- package/dist/rating/llms.txt +20 -13
- package/dist/rating/rating-pointer.d.ts +16 -0
- package/dist/rating/rating-pointer.js +26 -0
- package/dist/rating/rating.d.ts +6 -6
- package/dist/rating/rating.js +77 -12
- package/dist/rich-text/lists.d.ts +2 -2
- package/dist/rich-text/lists.js +7 -7
- package/dist/rich-text/llms.txt +35 -12
- package/dist/rich-text/rich-text.d.ts +13 -14
- package/dist/rich-text/rich-text.js +311 -142
- package/dist/rich-text/sanitize.d.ts +11 -2
- package/dist/rich-text/sanitize.js +80 -32
- package/dist/rich-text/tables.d.ts +3 -3
- package/dist/rich-text/tables.js +3 -3
- package/dist/roadmap/llms.txt +23 -17
- package/dist/roadmap/roadmap.d.ts +6 -6
- package/dist/roadmap/roadmap.js +102 -25
- package/dist/roadmap-entry/public-api.js +2 -2
- package/dist/scroll-top/llms.txt +6 -6
- package/dist/scroll-top/scroll-top.d.ts +1 -1
- package/dist/scroll-top/scroll-top.js +2 -1
- package/dist/select/llms.txt +22 -12
- package/dist/select/select.d.ts +10 -8
- package/dist/select/select.js +87 -47
- package/dist/shared/types.d.ts +22 -1
- package/dist/shared/types.js +9 -1
- package/dist/sidenav/llms.txt +9 -9
- package/dist/sidenav/sidenav.d.ts +2 -3
- package/dist/sidenav/sidenav.js +5 -4
- package/dist/skeleton/llms.txt +3 -3
- package/dist/skeleton/skeleton.d.ts +1 -1
- package/dist/skeleton/skeleton.js +1 -1
- package/dist/slider/llms.txt +34 -12
- package/dist/slider/slider-drag.d.ts +26 -0
- package/dist/slider/slider-drag.js +79 -0
- package/dist/slider/slider.d.ts +8 -5
- package/dist/slider/slider.js +38 -8
- package/dist/speech/llms.txt +97 -0
- package/dist/speech/speech-button.d.ts +44 -0
- package/dist/speech/speech-button.js +86 -0
- package/dist/speech/speech-wave.d.ts +19 -0
- package/dist/speech/speech-wave.js +16 -0
- package/dist/speech/use-speech-recognition.d.ts +81 -0
- package/dist/speech/use-speech-recognition.js +179 -0
- package/dist/speed-dial/llms.txt +14 -8
- package/dist/speed-dial/speed-dial.d.ts +1 -1
- package/dist/speed-dial/speed-dial.js +3 -2
- package/dist/spinner/llms.txt +7 -7
- package/dist/spinner/spinner.d.ts +1 -1
- package/dist/spinner/spinner.js +2 -1
- package/dist/split-button/llms.txt +21 -15
- package/dist/split-button/split-button.d.ts +2 -2
- package/dist/split-button/split-button.js +13 -6
- package/dist/splitter/llms.txt +11 -11
- package/dist/splitter/splitter.d.ts +3 -3
- package/dist/splitter/splitter.js +25 -10
- package/dist/stepper/llms.txt +35 -13
- package/dist/stepper/stepper.d.ts +6 -6
- package/dist/stepper/stepper.js +60 -13
- package/dist/switch/llms.txt +15 -5
- package/dist/switch/switch.d.ts +10 -3
- package/dist/switch/switch.js +18 -4
- package/dist/switch-group/llms.txt +11 -8
- package/dist/switch-group/switch-group.d.ts +6 -4
- package/dist/switch-group/switch-group.js +9 -7
- package/dist/tabs/llms.txt +12 -9
- package/dist/tabs/tabs.d.ts +5 -5
- package/dist/tabs/tabs.js +36 -20
- package/dist/textarea/llms.txt +23 -12
- package/dist/textarea/textarea.d.ts +19 -6
- package/dist/textarea/textarea.js +22 -7
- package/dist/timeline/llms.txt +4 -4
- package/dist/timeline/timeline.d.ts +1 -1
- package/dist/timeline/timeline.js +1 -1
- package/dist/toast/llms.txt +50 -17
- package/dist/toast/toast-container.d.ts +9 -3
- package/dist/toast/toast-container.js +18 -9
- package/dist/toast/toast-store.d.ts +42 -2
- package/dist/toast/toast-store.js +36 -1
- package/dist/toolbar/llms.txt +7 -7
- package/dist/toolbar/toolbar.d.ts +3 -3
- package/dist/toolbar/toolbar.js +2 -2
- package/dist/tooltip/llms.txt +14 -12
- package/dist/tooltip/tooltip.d.ts +5 -4
- package/dist/tooltip/tooltip.js +100 -41
- package/dist/tree/llms.txt +25 -11
- package/dist/tree/tree-keys.d.ts +5 -5
- package/dist/tree/tree-keys.js +7 -7
- package/dist/tree/tree.d.ts +17 -5
- package/dist/tree/tree.js +62 -20
- package/dist/update/llms.txt +54 -0
- package/dist/update/update.d.ts +49 -0
- package/dist/update/update.js +82 -0
- package/package.json +18 -15
|
@@ -5,15 +5,15 @@ Import: `import { KptContextMenu } from '@konce-pt/react';`
|
|
|
5
5
|
|
|
6
6
|
## DOM
|
|
7
7
|
<div class="kpt-context-menu-host">
|
|
8
|
-
<div class="kpt-context-menu__area"
|
|
8
|
+
<div class="kpt-context-menu__area">...children...</div>
|
|
9
9
|
<div class="kpt-context-menu__backdrop"></div>
|
|
10
|
-
<div class="kpt-context-menu__panel" role="menu" style="left: 320px; top: 210px"
|
|
10
|
+
<div class="kpt-context-menu__panel" role="menu" style="left: 320px; top: 210px">...</div>
|
|
11
11
|
</div>
|
|
12
12
|
|
|
13
13
|
## Props
|
|
14
|
-
- `items`: `KptMenuItem<T>[]`
|
|
15
|
-
- `children`: ReactNode
|
|
16
|
-
- `onSelect(item)`
|
|
14
|
+
- `items`: `KptMenuItem<T>[]` - the same shape as `KptMenu`
|
|
15
|
+
- `children`: ReactNode - the area that reacts to the right mouse button
|
|
16
|
+
- `onSelect(item)` - the picked item
|
|
17
17
|
- `className`, `ref` and every other `<div>` prop go to the host
|
|
18
18
|
|
|
19
19
|
## Not an overlay
|
|
@@ -29,7 +29,7 @@ open the browser's own menu. Picking an item closes it and reports the choice; `
|
|
|
29
29
|
The same model as `KptMenu` (the shared `menu-keys.ts`): opening moves focus to the first item, arrows /
|
|
30
30
|
`Home` / `End` move between items (disabled ones and separators are skipped), `Escape` and `Tab` close
|
|
31
31
|
it and focus returns to where it was. `Shift+F10` and the context-menu key on a focused element inside
|
|
32
|
-
the area open it too
|
|
32
|
+
the area open it too - the browser then sends `contextmenu` without mouse coordinates, so the panel is
|
|
33
33
|
placed at that element. The panel is kept inside the viewport (8px from the edges). Touch screens have
|
|
34
34
|
no right click, so still offer the same actions through a visible button with `KptMenu`.
|
|
35
35
|
|
|
@@ -42,5 +42,8 @@ no right click, so still offer the same actions through a visible button with `K
|
|
|
42
42
|
`--kpt-color-surface-raised`, `--kpt-color-border`, `--kpt-elevation-3`, `--kpt-color-danger`.
|
|
43
43
|
|
|
44
44
|
## Accessibility
|
|
45
|
-
The panel is `role="menu"` with `role="menuitem"` buttons at `tabindex="-1"` (one Tab stop). Keyboard
|
|
45
|
+
The panel is `role="menu"` with `role="menuitem"` buttons at `tabindex="-1"` (one Tab stop). Keyboard - see
|
|
46
46
|
"Keyboard" above.
|
|
47
|
+
|
|
48
|
+
## Positioning
|
|
49
|
+
The panel opens in the top layer (`popover="manual"`), so an ancestor with `transform`, `filter` or `backdrop-filter` (an animated card, a glass panel) no longer shifts it and `overflow: hidden` no longer clips it. Scrolling or resizing the window closes the menu.
|
|
@@ -22,7 +22,7 @@ export interface KptColumn {
|
|
|
22
22
|
align?: 'start' | 'center' | 'end';
|
|
23
23
|
/** Szerokość kolumny (np. '10rem', '20%'). Wymagana dla kolumn zamrożonych. */
|
|
24
24
|
width?: string;
|
|
25
|
-
/** Zamrożenie (sticky)
|
|
25
|
+
/** Zamrożenie (sticky) - obsługiwane dla wiodących, sąsiadujących kolumn. */
|
|
26
26
|
frozen?: boolean;
|
|
27
27
|
/** Filtr kolumny w wierszu nagłówka. */
|
|
28
28
|
filter?: KptColumnFilter;
|
|
@@ -38,7 +38,7 @@ export interface KptCellEditEvent<T> {
|
|
|
38
38
|
field: string;
|
|
39
39
|
/** Nowa wartość. */
|
|
40
40
|
value: unknown;
|
|
41
|
-
/** Wiersz po scaleniu ze zmienioną wartością
|
|
41
|
+
/** Wiersz po scaleniu ze zmienioną wartością - gotowe body PUT/PATCH. */
|
|
42
42
|
updatedRow: T;
|
|
43
43
|
}
|
|
44
44
|
export type KptSortDir = 'asc' | 'desc' | null;
|
|
@@ -49,7 +49,7 @@ export interface KptTableLazyState {
|
|
|
49
49
|
sortField: string | null;
|
|
50
50
|
sortDir: KptSortDir;
|
|
51
51
|
filter: string;
|
|
52
|
-
/** Wartości filtrów per kolumna (pole
|
|
52
|
+
/** Wartości filtrów per kolumna (pole -> wartość kontrolki). */
|
|
53
53
|
columnFilters: Record<string, unknown>;
|
|
54
54
|
}
|
|
55
55
|
/** Kontekst własnego edytora komórki (odpowiednik `kptCellEdit` z Angulara). */
|
|
@@ -61,7 +61,7 @@ export interface KptCellEditContext<T> {
|
|
|
61
61
|
/** Porzuca zmianę. */
|
|
62
62
|
cancel: () => void;
|
|
63
63
|
}
|
|
64
|
-
/** Szablony komórek: pole
|
|
64
|
+
/** Szablony komórek: pole -> funkcja renderująca (odpowiednik `kptCell`). */
|
|
65
65
|
export type KptCellRenderers<T> = Record<string, (row: T, value: unknown) => ReactNode>;
|
|
66
|
-
/** Własne edytory komórek: pole
|
|
66
|
+
/** Własne edytory komórek: pole -> funkcja renderująca (odpowiednik `kptCellEdit`). */
|
|
67
67
|
export type KptCellEditRenderers<T> = Record<string, (context: KptCellEditContext<T>) => ReactNode>;
|
|
@@ -1,25 +1,56 @@
|
|
|
1
1
|
import { type ComponentPropsWithRef, type ReactNode } from 'react';
|
|
2
2
|
import { type KptI18nOverrides } from '../i18n/i18n-context.tsx';
|
|
3
|
+
import { type KptSpeechColor } from '../speech/speech-button.tsx';
|
|
3
4
|
import type { KptCellEditEvent, KptCellEditRenderers, KptCellRenderers, KptColumn, KptTableLazyState } from './data-table-types.ts';
|
|
4
5
|
export interface KptDataTableProps<T> extends Omit<ComponentPropsWithRef<'div'>, 'onSelect' | 'children'>, KptI18nOverrides {
|
|
5
6
|
columns: readonly KptColumn[];
|
|
6
7
|
data?: readonly T[];
|
|
7
8
|
/** Pole filtra globalnego w pasku narzędzi. */
|
|
8
9
|
filterable?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Mikrofon przy filtrze globalnym (wymaga `filterable`). Kliknięcie czyści filtr, a jedna
|
|
12
|
+
* podyktowana fraza staje się nowym filtrem. Bez wsparcia przeglądarki się nie pokazuje.
|
|
13
|
+
*/
|
|
14
|
+
filterSpeech?: boolean;
|
|
15
|
+
/** Język dyktowania filtra (BCP 47); bez niego z `KptI18nProvider`. */
|
|
16
|
+
filterSpeechLang?: string;
|
|
17
|
+
/** Kolor "stop" i fali w trakcie nasłuchu; domyślnie kolor motywu. */
|
|
18
|
+
filterSpeechColor?: KptSpeechColor;
|
|
9
19
|
filterRowPosition?: 'top' | 'bottom';
|
|
10
20
|
/** Rozmiar strony; 0 wyłącza paginację. */
|
|
11
21
|
pageSize?: number;
|
|
12
22
|
pageSizeOptions?: readonly number[];
|
|
13
23
|
selectable?: 'none' | 'single' | 'multiple';
|
|
24
|
+
/** Trwa ładowanie - tabela dostaje `aria-busy`, a ciało pokazuje komunikat `dataTable.loading`. */
|
|
14
25
|
loading?: boolean;
|
|
26
|
+
/** Nazwa dostępna tabeli, gdy nie ma widocznego podpisu (`caption`). */
|
|
27
|
+
ariaLabel?: string | null;
|
|
28
|
+
/** Widoczny podpis tabeli (`<caption>`) - zarazem jej nazwa dla czytnika. */
|
|
29
|
+
caption?: string | null;
|
|
30
|
+
/**
|
|
31
|
+
* Wiersze jako akcja: fokusowalne (Tab) i aktywowane Enterem/Spacją, które wołają `onRowClick`.
|
|
32
|
+
* Domyślnie włączone, gdy podano `onRowClick` - inaczej klik w wiersz działałby tylko myszą.
|
|
33
|
+
*/
|
|
34
|
+
clickableRows?: boolean;
|
|
15
35
|
emptyMessage?: string;
|
|
16
36
|
/** Pole identyfikujące wiersz; bez niego wiersze porównujemy po referencji. */
|
|
17
37
|
rowKey?: string | null;
|
|
18
38
|
scrollHeight?: string | null;
|
|
19
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Wirtualizacja dla dużych zbiorów: renderuje tylko widoczne wiersze **i kolumny** (z buforem).
|
|
41
|
+
* Wymaga `scrollHeight`. Tabela przechodzi na `table-layout: fixed` - szerokości kolumn
|
|
42
|
+
* liczone są z `width` w `px`/`rem`/`em`, a pozostałe (brak, `%`, `ch`) dostają `columnWidth`.
|
|
43
|
+
*/
|
|
20
44
|
virtualScroll?: boolean;
|
|
45
|
+
/** Szerokość kolumny bez liczalnego `width` w trybie `virtualScroll` (`px`/`rem`/`em`). */
|
|
46
|
+
columnWidth?: string;
|
|
21
47
|
rowHeight?: number;
|
|
22
48
|
reorderable?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Przykleja kolumny systemowe (rozwijanie, zaznaczanie) do lewej krawędzi także bez kolumn `frozen`.
|
|
51
|
+
* Z kolumnami `frozen` kolumny systemowe kleją się zawsze.
|
|
52
|
+
*/
|
|
53
|
+
frozenSystemColumns?: boolean;
|
|
23
54
|
exportable?: boolean;
|
|
24
55
|
exportFilename?: string;
|
|
25
56
|
/** Tryb serwerowy: bez filtrowania, sortowania i paginacji po stronie klienta. */
|
|
@@ -28,7 +59,7 @@ export interface KptDataTableProps<T> extends Omit<ComponentPropsWithRef<'div'>,
|
|
|
28
59
|
expandable?: boolean;
|
|
29
60
|
multiExpand?: boolean;
|
|
30
61
|
summaryLabel?: string;
|
|
31
|
-
/** Gotowe wartości podsumowania (pole
|
|
62
|
+
/** Gotowe wartości podsumowania (pole -> wartość); nadpisują wyliczenia, w `lazy` są jedynym źródłem. */
|
|
32
63
|
summaryValues?: Record<string, unknown> | null;
|
|
33
64
|
selection?: T[];
|
|
34
65
|
defaultSelection?: T[];
|
|
@@ -40,15 +71,16 @@ export interface KptDataTableProps<T> extends Omit<ComponentPropsWithRef<'div'>,
|
|
|
40
71
|
defaultHiddenFields?: readonly string[];
|
|
41
72
|
onHiddenFieldsChange?: (fields: readonly string[]) => void;
|
|
42
73
|
onRowClick?: (row: T) => void;
|
|
74
|
+
/** Tryb lazy: woła się na starcie (pierwsza strona) i po każdej zmianie sortowania/filtra/strony. */
|
|
43
75
|
onLazyLoad?: (state: KptTableLazyState) => void;
|
|
44
76
|
onCellEdit?: (event: KptCellEditEvent<T>) => void;
|
|
45
|
-
/** Szablony komórek: pole
|
|
77
|
+
/** Szablony komórek: pole -> funkcja renderująca. */
|
|
46
78
|
cells?: KptCellRenderers<T>;
|
|
47
|
-
/** Własne edytory komórek: pole
|
|
79
|
+
/** Własne edytory komórek: pole -> funkcja renderująca. */
|
|
48
80
|
cellEditors?: KptCellEditRenderers<T>;
|
|
49
81
|
/** Treść rozwiniętego wiersza (wymaga `expandable`). */
|
|
50
82
|
renderRowDetail?: (row: T) => ReactNode;
|
|
51
83
|
/** Treść po lewej stronie paginatora (odpowiednik slotu `[kptPaginatorActions]`). */
|
|
52
84
|
paginatorActions?: ReactNode;
|
|
53
85
|
}
|
|
54
|
-
export declare function KptDataTable<T = Record<string, unknown>>({ columns, data, filterable, filterRowPosition, pageSize, pageSizeOptions, selectable, loading, emptyMessage, rowKey, scrollHeight, virtualScroll, rowHeight, reorderable, exportable, exportFilename, lazy, totalRecords, expandable, multiExpand, summaryLabel, summaryValues, selection, defaultSelection, onSelectionChange, expandedRows, defaultExpandedRows, onExpandedRowsChange, hiddenFields, defaultHiddenFields, onHiddenFieldsChange, onRowClick, onLazyLoad, onCellEdit, cells, cellEditors, renderRowDetail, paginatorActions, locale, dictionary, className, style, ...rest }: Readonly<KptDataTableProps<T>>): import("react").JSX.Element;
|
|
86
|
+
export declare function KptDataTable<T = Record<string, unknown>>({ columns, data, filterable, filterSpeech, filterSpeechLang, filterSpeechColor, filterRowPosition, pageSize, pageSizeOptions, selectable, loading, ariaLabel, caption, clickableRows, emptyMessage, rowKey, scrollHeight, virtualScroll, columnWidth, rowHeight, reorderable, frozenSystemColumns, exportable, exportFilename, lazy, totalRecords, expandable, multiExpand, summaryLabel, summaryValues, selection, defaultSelection, onSelectionChange, expandedRows, defaultExpandedRows, onExpandedRowsChange, hiddenFields, defaultHiddenFields, onHiddenFieldsChange, onRowClick, onLazyLoad, onCellEdit, cells, cellEditors, renderRowDetail, paginatorActions, locale, dictionary, className, style, ...rest }: Readonly<KptDataTableProps<T>>): import("react").JSX.Element;
|