@eifi1/ui-kit 0.23.0 → 0.24.1

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 (101) hide show
  1. package/README.md +6 -6
  2. package/dist/chart.d.ts +2 -4
  3. package/dist/components/amount-input.d.ts +16 -9
  4. package/dist/components/amount-input.js +13 -11
  5. package/dist/components/amount-input.js.map +1 -1
  6. package/dist/components/autocomplete.d.ts +5 -0
  7. package/dist/components/autocomplete.js +39 -37
  8. package/dist/components/autocomplete.js.map +1 -1
  9. package/dist/components/button-group.d.ts +2 -4
  10. package/dist/components/calculator.d.ts +2 -4
  11. package/dist/components/column-mapper.d.ts +62 -9
  12. package/dist/components/column-mapper.js +85 -49
  13. package/dist/components/column-mapper.js.map +1 -1
  14. package/dist/components/combobox.d.ts +33 -1
  15. package/dist/components/combobox.js +8 -2
  16. package/dist/components/combobox.js.map +1 -1
  17. package/dist/components/confirm-dialog.d.ts +2 -4
  18. package/dist/components/copy-button.d.ts +2 -4
  19. package/dist/components/danger-confirm.d.ts +2 -4
  20. package/dist/components/danger-confirm.js +52 -5
  21. package/dist/components/danger-confirm.js.map +1 -1
  22. package/dist/components/entity-combobox.d.ts +13 -1
  23. package/dist/components/entity-combobox.js +13 -4
  24. package/dist/components/entity-combobox.js.map +1 -1
  25. package/dist/components/facing-pair.d.ts +2 -4
  26. package/dist/components/file-button.d.ts +2 -4
  27. package/dist/components/file-dropzone.d.ts +2 -4
  28. package/dist/components/form-actions.d.ts +1 -3
  29. package/dist/components/form-actions.js +15 -1
  30. package/dist/components/form-actions.js.map +1 -1
  31. package/dist/components/iban-input.d.ts +2 -4
  32. package/dist/components/language-select.d.ts +2 -4
  33. package/dist/components/money-field.d.ts +2 -4
  34. package/dist/components/multi-entity-combobox.d.ts +5 -1
  35. package/dist/components/multi-entity-combobox.js +11 -3
  36. package/dist/components/multi-entity-combobox.js.map +1 -1
  37. package/dist/components/number-field.d.ts +2 -4
  38. package/dist/components/number-input.d.ts +2 -4
  39. package/dist/components/numpad-sheet.d.ts +2 -4
  40. package/dist/components/phone-input.d.ts +2 -4
  41. package/dist/components/series-chart.d.ts +2 -4
  42. package/dist/components/settings-fields.d.ts +2 -4
  43. package/dist/components/share-card.d.ts +1 -3
  44. package/dist/components/text-link.d.ts +1 -3
  45. package/dist/components/time-input.d.ts +2 -4
  46. package/dist/components/ui.d.ts +2 -4
  47. package/dist/components/ui.js +55 -17
  48. package/dist/components/ui.js.map +1 -1
  49. package/dist/feedback/feedback-attachment.d.ts +66 -1
  50. package/dist/feedback/feedback-attachment.js +32 -12
  51. package/dist/feedback/feedback-attachment.js.map +1 -1
  52. package/dist/feedback/feedback-dialog.d.ts +66 -1
  53. package/dist/feedback/feedback-inbox.d.ts +67 -253
  54. package/dist/feedback/feedback-thread.d.ts +1 -3
  55. package/dist/feedback/feedback-thread.js +8 -2
  56. package/dist/feedback/feedback-thread.js.map +1 -1
  57. package/dist/{feedback-BxeQVzwq.d.ts → feedback-DOwPu-Il.d.ts} +878 -18
  58. package/dist/feedback.d.ts +2 -4
  59. package/dist/hooks/use-file-drop.d.ts +2 -4
  60. package/dist/i18n/defaults.d.ts +2 -4
  61. package/dist/i18n/german.d.ts +2 -4
  62. package/dist/i18n/kit-labels.d.ts +1 -3
  63. package/dist/i18n/languages.d.ts +2 -4
  64. package/dist/i18n/locales/de-CH.d.ts +2 -4
  65. package/dist/i18n/locales/en.d.ts +2 -4
  66. package/dist/i18n/locales/es.d.ts +2 -4
  67. package/dist/i18n/locales/fr.d.ts +2 -4
  68. package/dist/i18n/locales/hu.d.ts +2 -4
  69. package/dist/i18n/locales/it.d.ts +2 -4
  70. package/dist/i18n/locales/zh.d.ts +2 -4
  71. package/dist/i18n/review.d.ts +2 -4
  72. package/dist/index.d.ts +2 -4
  73. package/dist/lib/strip-fade.d.ts +2 -2
  74. package/dist/lib/strip-fade.js.map +1 -1
  75. package/dist/rhf/fields.d.ts +59 -8
  76. package/dist/rhf/fields.js +61 -3
  77. package/dist/rhf/fields.js.map +1 -1
  78. package/dist/rhf/form.d.ts +2 -4
  79. package/dist/rhf.d.ts +3 -5
  80. package/dist/rhf.js.map +1 -1
  81. package/dist/shell/app-shell.d.ts +1 -3
  82. package/dist/shell/top-bar-brand.d.ts +2 -4
  83. package/dist/shell.d.ts +1 -3
  84. package/dist/wizard/stepper-nav.d.ts +2 -4
  85. package/dist/wizard.d.ts +2 -4
  86. package/package.json +2 -2
  87. package/src/components/amount-input.tsx +37 -20
  88. package/src/components/autocomplete.tsx +16 -5
  89. package/src/components/column-mapper.tsx +181 -79
  90. package/src/components/combobox.tsx +41 -3
  91. package/src/components/danger-confirm.tsx +193 -22
  92. package/src/components/entity-combobox.tsx +28 -5
  93. package/src/components/form-actions.tsx +20 -1
  94. package/src/components/multi-entity-combobox.tsx +16 -3
  95. package/src/components/ui.tsx +107 -0
  96. package/src/feedback/feedback-attachment.tsx +65 -12
  97. package/src/feedback/feedback-thread.tsx +66 -6
  98. package/src/lib/strip-fade.ts +2 -2
  99. package/src/rhf/fields.tsx +167 -6
  100. package/src/rhf.ts +1 -1
  101. package/dist/feedback-attachment-fGAzZPf0.d.ts +0 -469
@@ -1,8 +1,5 @@
1
- export { D as DEFAULT_ATTACHMENT_ACCEPT, a as DEFAULT_FEEDBACK_ATTACHMENT_LABELS, b as DEFAULT_FEEDBACK_DIALOG_LABELS, c as DEFAULT_MAX_ATTACHMENTS, d as DEFAULT_MAX_ATTACHMENT_BYTES, F as FeedbackAttachmentError, e as FeedbackAttachmentErrorInfo, f as FeedbackAttachmentField, g as FeedbackAttachmentFieldLabels, h as FeedbackAttachmentFieldMultipleProps, i as FeedbackAttachmentFieldProps, j as FeedbackAttachmentFieldRefsProps, k as FeedbackAttachmentFieldSingleProps, l as FeedbackAttachmentLabels, m as FeedbackAttachmentRef, n as FeedbackAttachmentRefsError, o as FeedbackCategoryOption, p as FeedbackDialog, q as FeedbackDialogLabels, r as FeedbackDialogMultipleProps, s as FeedbackDialogProps, t as FeedbackDialogSingleProps, u as FeedbackDialogTextLabels, v as FeedbackMultipleSubmission, w as FeedbackSubmission, x as pastedName } from './feedback-attachment-fGAzZPf0.js';
2
- export { FEEDBACK_CATEGORY_META, FEEDBACK_CATEGORY_ORDER, FEEDBACK_STATUS_META, FEEDBACK_STATUS_ORDER, FeedbackCategory, FeedbackCategoryBadge, FeedbackDetail, FeedbackDetailSection, FeedbackNoteAttachment, FeedbackNoteEditor, FeedbackProse, FeedbackStatus, FeedbackStatusBadge, FeedbackStatusTransitions, feedbackCategoryRank, nextFeedbackStatus, selectableFeedbackStatuses, visibleFeedbackStatuses } from './feedback/feedback-inbox.js';
3
- export { z as ChatComposer, D as ChatComposerHandle, E as ChatComposerLabels, F as ChatComposerProps, a3 as DEFAULT_FEEDBACK_COMPOSER_LABELS, a4 as DEFAULT_FEEDBACK_THREAD_LABELS, ax as FeedbackComposer, ay as FeedbackComposerAttachment, az as FeedbackComposerHandle, aA as FeedbackComposerLabels, aB as FeedbackComposerProps, aC as FeedbackThread, aD as FeedbackThreadAttachment, aE as FeedbackThreadEvent, aF as FeedbackThreadItem, aG as FeedbackThreadLabels, aH as FeedbackThreadMessage, aI as FeedbackThreadProps } from './feedback-BxeQVzwq.js';
1
+ export { z as ChatComposer, D as ChatComposerHandle, E as ChatComposerLabels, F as ChatComposerProps, G as ChatComposerSlotContext, X as DEFAULT_ATTACHMENT_ACCEPT, a5 as DEFAULT_FEEDBACK_ATTACHMENT_LABELS, a6 as DEFAULT_FEEDBACK_COMPOSER_LABELS, a7 as DEFAULT_FEEDBACK_DIALOG_LABELS, a8 as DEFAULT_FEEDBACK_THREAD_LABELS, ad as DEFAULT_MAX_ATTACHMENTS, ae as DEFAULT_MAX_ATTACHMENT_BYTES, av as FEEDBACK_CATEGORY_META, aw as FEEDBACK_CATEGORY_ORDER, ax as FEEDBACK_STATUS_META, ay as FEEDBACK_STATUS_ORDER, aH as FeedbackAttachmentError, aI as FeedbackAttachmentErrorInfo, aJ as FeedbackAttachmentField, aK as FeedbackAttachmentFieldLabels, aL as FeedbackAttachmentFieldMultipleProps, aM as FeedbackAttachmentFieldProps, aN as FeedbackAttachmentFieldRefsProps, aO as FeedbackAttachmentFieldSingleProps, aP as FeedbackAttachmentLabels, aQ as FeedbackAttachmentRef, aR as FeedbackAttachmentRefsError, aS as FeedbackCategory, aT as FeedbackCategoryBadge, aU as FeedbackCategoryOption, aV as FeedbackComposer, aW as FeedbackComposerAttachment, aX as FeedbackComposerHandle, aY as FeedbackComposerLabels, aZ as FeedbackComposerProps, a_ as FeedbackComposerSlotContext, a$ as FeedbackDetail, b0 as FeedbackDetailSection, b1 as FeedbackDialog, b2 as FeedbackDialogLabels, b3 as FeedbackDialogMultipleProps, b4 as FeedbackDialogProps, b5 as FeedbackDialogSingleProps, b6 as FeedbackDialogTextLabels, b7 as FeedbackMultipleSubmission, b8 as FeedbackNoteAttachment, b9 as FeedbackNoteEditor, ba as FeedbackProse, bb as FeedbackStatus, bc as FeedbackStatusBadge, bd as FeedbackStatusTransitions, be as FeedbackSubmission, bf as FeedbackThread, bg as FeedbackThreadAttachment, bh as FeedbackThreadEvent, bi as FeedbackThreadItem, bj as FeedbackThreadLabels, bk as FeedbackThreadMessage, bl as FeedbackThreadProps, cH as feedbackCategoryRank, cL as nextFeedbackStatus, cM as pastedName, cO as selectableFeedbackStatuses, c_ as visibleFeedbackStatuses } from './feedback-DOwPu-Il.js';
4
2
  import 'react';
5
- import 'lucide-react';
6
3
  import './components/tooltip.js';
7
4
  import './hooks/use-anchored-rect.js';
8
5
  import './lib/clipping.js';
@@ -13,6 +10,7 @@ import './components/mini-calendar.js';
13
10
  import './components/calendar-heatmap.js';
14
11
  import './components/popover.js';
15
12
  import './components/chip.js';
13
+ import 'lucide-react';
16
14
  import './components/field-sync.js';
17
15
  import './wizard/types.js';
18
16
  import './tour/tour.js';
@@ -1,8 +1,5 @@
1
1
  import { DragEvent, ReactElement } from 'react';
2
- import { b$ as UseFilePickerOptions } from '../feedback-BxeQVzwq.js';
3
- import '../feedback-attachment-fGAzZPf0.js';
4
- import '../feedback/feedback-inbox.js';
5
- import 'lucide-react';
2
+ import { cE as UseFilePickerOptions } from '../feedback-DOwPu-Il.js';
6
3
  import '../components/tooltip.js';
7
4
  import './use-anchored-rect.js';
8
5
  import '../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../components/mini-calendar.js';
13
10
  import '../components/calendar-heatmap.js';
14
11
  import '../components/popover.js';
15
12
  import '../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../components/field-sync.js';
17
15
  import '../wizard/types.js';
18
16
  import '../tour/tour.js';
@@ -1,8 +1,5 @@
1
- import { bY as UiKitLabels } from '../feedback-BxeQVzwq.js';
2
- import '../feedback-attachment-fGAzZPf0.js';
1
+ import { cB as UiKitLabels } from '../feedback-DOwPu-Il.js';
3
2
  import 'react';
4
- import '../feedback/feedback-inbox.js';
5
- import 'lucide-react';
6
3
  import '../components/tooltip.js';
7
4
  import '../hooks/use-anchored-rect.js';
8
5
  import '../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../components/mini-calendar.js';
13
10
  import '../components/calendar-heatmap.js';
14
11
  import '../components/popover.js';
15
12
  import '../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../components/field-sync.js';
17
15
  import '../wizard/types.js';
18
16
  import '../tour/tour.js';
@@ -1,8 +1,5 @@
1
- import { bY as UiKitLabels } from '../feedback-BxeQVzwq.js';
2
- import '../feedback-attachment-fGAzZPf0.js';
1
+ import { cB as UiKitLabels } from '../feedback-DOwPu-Il.js';
3
2
  import 'react';
4
- import '../feedback/feedback-inbox.js';
5
- import 'lucide-react';
6
3
  import '../components/tooltip.js';
7
4
  import '../hooks/use-anchored-rect.js';
8
5
  import '../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../components/mini-calendar.js';
13
10
  import '../components/calendar-heatmap.js';
14
11
  import '../components/popover.js';
15
12
  import '../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../components/field-sync.js';
17
15
  import '../wizard/types.js';
18
16
  import '../tour/tour.js';
@@ -5,7 +5,7 @@ import '../components/calendar-heatmap.js';
5
5
  import '../components/popover.js';
6
6
  import '../components/chip.js';
7
7
  import '../components/field-sync.js';
8
- export { A as AppShellLabels, C as CalculatorLabels, y as ChartTooltipPlacement, G as ComboboxLabels, H as CommonLabels, R as CurrencyLabels, V as DEFAULT_APP_SHELL_LABELS, W as DEFAULT_CALCULATOR_LABELS, Y as DEFAULT_COMBOBOX_LABELS, Z as DEFAULT_COMMON_LABELS, a0 as DEFAULT_CURRENCY_LABELS, a2 as DEFAULT_DATE_PICKER_LABELS, a5 as DEFAULT_FILE_LABELS, a9 as DEFAULT_MULTI_SELECT_LABELS, ac as DEFAULT_PICKER_SHEET_LABELS, ae as DEFAULT_SWIPEABLE_ROW_LABELS, ag as DEFAULT_TOP_BAR_LABELS, am as DatePickerLabels, aP as FileLabels, bg as KitDateFormatContext, bh as KitDateFormatter, bi as KitLinkComponent, bj as KitLinkProps, bl as LabelOverride, bn as MultiSelectLabels, bt as PickerSheetLabels, bL as SwipeableRowLabels, bS as TopBarLabels, bX as UiKitLabelOverrides, bY as UiKitLabels, bZ as UiKitProvider, b_ as UiKitProviderProps, c2 as formatFileSize, c4 as missingKitLabels, c9 as useKitChartTooltipPlacement, ca as useKitDateFormatter, cb as useKitFileLabels, cc as useKitLabelOverrides, cd as useKitLabels, ce as useKitLink, cf as useKitLocale, cg as useKitWeekStart } from '../feedback-BxeQVzwq.js';
8
+ export { A as AppShellLabels, C as CalculatorLabels, y as ChartTooltipPlacement, H as ComboboxLabels, I as CommonLabels, S as CurrencyLabels, W as DEFAULT_APP_SHELL_LABELS, Y as DEFAULT_CALCULATOR_LABELS, _ as DEFAULT_COMBOBOX_LABELS, $ as DEFAULT_COMMON_LABELS, a2 as DEFAULT_CURRENCY_LABELS, a4 as DEFAULT_DATE_PICKER_LABELS, a9 as DEFAULT_FILE_LABELS, af as DEFAULT_MULTI_SELECT_LABELS, ai as DEFAULT_PICKER_SHEET_LABELS, ak as DEFAULT_SWIPEABLE_ROW_LABELS, am as DEFAULT_TOP_BAR_LABELS, as as DatePickerLabels, bs as FileLabels, bV as KitDateFormatContext, bW as KitDateFormatter, bX as KitLinkComponent, bY as KitLinkProps, b_ as LabelOverride, c0 as MultiSelectLabels, c6 as PickerSheetLabels, co as SwipeableRowLabels, cv as TopBarLabels, cA as UiKitLabelOverrides, cB as UiKitLabels, cC as UiKitProvider, cD as UiKitProviderProps, cI as formatFileSize, cK as missingKitLabels, cS as useKitChartTooltipPlacement, cT as useKitDateFormatter, cU as useKitFileLabels, cV as useKitLabelOverrides, cW as useKitLabels, cX as useKitLink, cY as useKitLocale, cZ as useKitWeekStart } from '../feedback-DOwPu-Il.js';
9
9
  import '../wizard/types.js';
10
10
  import '../tour/tour.js';
11
11
  import '../search/command-palette.js';
@@ -22,7 +22,6 @@ import '../components/swatch-picker.js';
22
22
  import '../components/icon-picker.js';
23
23
  import '../components/dialog-frame.js';
24
24
  import '../components/measured-grid.js';
25
- import '../feedback-attachment-fGAzZPf0.js';
26
25
  import '../components/account-settings-labels.js';
27
26
  import '../components/floating-panel.js';
28
27
  import '../components/bulk-action-bar.js';
@@ -50,7 +49,6 @@ import '../components/column-mapper.js';
50
49
  import '../components/data-table-sort.js';
51
50
  import '../components/swipeable-row.js';
52
51
  import 'lucide-react';
53
- import '../feedback/feedback-inbox.js';
54
52
  import '../components/tooltip.js';
55
53
  import '../hooks/use-anchored-rect.js';
56
54
  import '../lib/clipping.js';
@@ -1,9 +1,6 @@
1
- import { bY as UiKitLabels } from '../feedback-BxeQVzwq.js';
1
+ import { cB as UiKitLabels } from '../feedback-DOwPu-Il.js';
2
2
  import { LanguageOption } from '../shell/topbar-controls.js';
3
- import '../feedback-attachment-fGAzZPf0.js';
4
3
  import 'react';
5
- import '../feedback/feedback-inbox.js';
6
- import 'lucide-react';
7
4
  import '../components/tooltip.js';
8
5
  import '../hooks/use-anchored-rect.js';
9
6
  import '../lib/clipping.js';
@@ -14,6 +11,7 @@ import '../components/mini-calendar.js';
14
11
  import '../components/calendar-heatmap.js';
15
12
  import '../components/popover.js';
16
13
  import '../components/chip.js';
14
+ import 'lucide-react';
17
15
  import '../components/field-sync.js';
18
16
  import '../wizard/types.js';
19
17
  import '../tour/tour.js';
@@ -1,8 +1,5 @@
1
- import { bY as UiKitLabels } from '../../feedback-BxeQVzwq.js';
2
- import '../../feedback-attachment-fGAzZPf0.js';
1
+ import { cB as UiKitLabels } from '../../feedback-DOwPu-Il.js';
3
2
  import 'react';
4
- import '../../feedback/feedback-inbox.js';
5
- import 'lucide-react';
6
3
  import '../../components/tooltip.js';
7
4
  import '../../hooks/use-anchored-rect.js';
8
5
  import '../../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../../components/mini-calendar.js';
13
10
  import '../../components/calendar-heatmap.js';
14
11
  import '../../components/popover.js';
15
12
  import '../../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../../components/field-sync.js';
17
15
  import '../../wizard/types.js';
18
16
  import '../../tour/tour.js';
@@ -1,8 +1,5 @@
1
- import { bY as UiKitLabels } from '../../feedback-BxeQVzwq.js';
2
- import '../../feedback-attachment-fGAzZPf0.js';
1
+ import { cB as UiKitLabels } from '../../feedback-DOwPu-Il.js';
3
2
  import 'react';
4
- import '../../feedback/feedback-inbox.js';
5
- import 'lucide-react';
6
3
  import '../../components/tooltip.js';
7
4
  import '../../hooks/use-anchored-rect.js';
8
5
  import '../../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../../components/mini-calendar.js';
13
10
  import '../../components/calendar-heatmap.js';
14
11
  import '../../components/popover.js';
15
12
  import '../../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../../components/field-sync.js';
17
15
  import '../../wizard/types.js';
18
16
  import '../../tour/tour.js';
@@ -1,8 +1,5 @@
1
- import { bY as UiKitLabels } from '../../feedback-BxeQVzwq.js';
2
- import '../../feedback-attachment-fGAzZPf0.js';
1
+ import { cB as UiKitLabels } from '../../feedback-DOwPu-Il.js';
3
2
  import 'react';
4
- import '../../feedback/feedback-inbox.js';
5
- import 'lucide-react';
6
3
  import '../../components/tooltip.js';
7
4
  import '../../hooks/use-anchored-rect.js';
8
5
  import '../../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../../components/mini-calendar.js';
13
10
  import '../../components/calendar-heatmap.js';
14
11
  import '../../components/popover.js';
15
12
  import '../../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../../components/field-sync.js';
17
15
  import '../../wizard/types.js';
18
16
  import '../../tour/tour.js';
@@ -1,8 +1,5 @@
1
- import { bY as UiKitLabels } from '../../feedback-BxeQVzwq.js';
2
- import '../../feedback-attachment-fGAzZPf0.js';
1
+ import { cB as UiKitLabels } from '../../feedback-DOwPu-Il.js';
3
2
  import 'react';
4
- import '../../feedback/feedback-inbox.js';
5
- import 'lucide-react';
6
3
  import '../../components/tooltip.js';
7
4
  import '../../hooks/use-anchored-rect.js';
8
5
  import '../../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../../components/mini-calendar.js';
13
10
  import '../../components/calendar-heatmap.js';
14
11
  import '../../components/popover.js';
15
12
  import '../../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../../components/field-sync.js';
17
15
  import '../../wizard/types.js';
18
16
  import '../../tour/tour.js';
@@ -1,8 +1,5 @@
1
- import { bY as UiKitLabels } from '../../feedback-BxeQVzwq.js';
2
- import '../../feedback-attachment-fGAzZPf0.js';
1
+ import { cB as UiKitLabels } from '../../feedback-DOwPu-Il.js';
3
2
  import 'react';
4
- import '../../feedback/feedback-inbox.js';
5
- import 'lucide-react';
6
3
  import '../../components/tooltip.js';
7
4
  import '../../hooks/use-anchored-rect.js';
8
5
  import '../../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../../components/mini-calendar.js';
13
10
  import '../../components/calendar-heatmap.js';
14
11
  import '../../components/popover.js';
15
12
  import '../../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../../components/field-sync.js';
17
15
  import '../../wizard/types.js';
18
16
  import '../../tour/tour.js';
@@ -1,8 +1,5 @@
1
- import { bY as UiKitLabels } from '../../feedback-BxeQVzwq.js';
2
- import '../../feedback-attachment-fGAzZPf0.js';
1
+ import { cB as UiKitLabels } from '../../feedback-DOwPu-Il.js';
3
2
  import 'react';
4
- import '../../feedback/feedback-inbox.js';
5
- import 'lucide-react';
6
3
  import '../../components/tooltip.js';
7
4
  import '../../hooks/use-anchored-rect.js';
8
5
  import '../../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../../components/mini-calendar.js';
13
10
  import '../../components/calendar-heatmap.js';
14
11
  import '../../components/popover.js';
15
12
  import '../../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../../components/field-sync.js';
17
15
  import '../../wizard/types.js';
18
16
  import '../../tour/tour.js';
@@ -1,8 +1,5 @@
1
- import { bY as UiKitLabels } from '../../feedback-BxeQVzwq.js';
2
- import '../../feedback-attachment-fGAzZPf0.js';
1
+ import { cB as UiKitLabels } from '../../feedback-DOwPu-Il.js';
3
2
  import 'react';
4
- import '../../feedback/feedback-inbox.js';
5
- import 'lucide-react';
6
3
  import '../../components/tooltip.js';
7
4
  import '../../hooks/use-anchored-rect.js';
8
5
  import '../../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../../components/mini-calendar.js';
13
10
  import '../../components/calendar-heatmap.js';
14
11
  import '../../components/popover.js';
15
12
  import '../../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../../components/field-sync.js';
17
15
  import '../../wizard/types.js';
18
16
  import '../../tour/tour.js';
@@ -1,8 +1,5 @@
1
- import { bY as UiKitLabels } from '../feedback-BxeQVzwq.js';
2
- import '../feedback-attachment-fGAzZPf0.js';
1
+ import { cB as UiKitLabels } from '../feedback-DOwPu-Il.js';
3
2
  import 'react';
4
- import '../feedback/feedback-inbox.js';
5
- import 'lucide-react';
6
3
  import '../components/tooltip.js';
7
4
  import '../hooks/use-anchored-rect.js';
8
5
  import '../lib/clipping.js';
@@ -13,6 +10,7 @@ import '../components/mini-calendar.js';
13
10
  import '../components/calendar-heatmap.js';
14
11
  import '../components/popover.js';
15
12
  import '../components/chip.js';
13
+ import 'lucide-react';
16
14
  import '../components/field-sync.js';
17
15
  import '../wizard/types.js';
18
16
  import '../tour/tour.js';
package/dist/index.d.ts CHANGED
@@ -25,7 +25,7 @@ export { AnchorRole, ChartRampReport, ContrastCheck, ContrastReport, DeriveOptio
25
25
  export { ALTERNATIVE_PRESETS, DEFAULT_PRESET, DERIVED_PRESETS, IMPRINT_PRESET, PALETTES, PalettePreset, TokenSet, applyTokenSet, presetById } from './theme/palette-presets.js';
26
26
  export { ThemeMode, ThemePreference, ThemeState, ThemeStore, applyPersistedTheme, createThemeStore } from './theme/theme-store.js';
27
27
  export { PaletteStore, applyPersistedPalette, createPaletteStore } from './theme/palette-store.js';
28
- export { A as AppShellLabels, B as Button, a as ButtonClassesOptions, b as ButtonLinkProps, c as ButtonProps, d as ButtonSize, e as ButtonTone, f as ButtonVariant, C as CalculatorLabels, g as Card, h as CardAction, i as CardActionProps, j as CardContent, k as CardContentProps, l as CardDensity, m as CardDescription, n as CardDescriptionProps, o as CardFooter, p as CardFooterProps, q as CardHeader, r as CardHeaderProps, s as CardProps, t as CardTitle, u as CardTitleLevel, v as CardTitleProps, w as CardTone, x as CharacterCountLabels, y as ChartTooltipPlacement, z as ChatComposer, D as ChatComposerHandle, E as ChatComposerLabels, F as ChatComposerProps, G as ComboboxLabels, H as CommonLabels, I as ConfirmDialogLabels, J as ConfirmFn, K as ConfirmOptions, L as ConfirmProvider, M as ConfirmProviderProps, N as ConfirmTone, O as CopyButton, P as CopyButtonLabels, Q as CopyButtonProps, R as CurrencyLabels, S as CurrentPasswordInput, T as CurrentPasswordInputLabels, U as CurrentPasswordInputProps, V as DEFAULT_APP_SHELL_LABELS, W as DEFAULT_CALCULATOR_LABELS, X as DEFAULT_CHARACTER_COUNT_LABELS, Y as DEFAULT_COMBOBOX_LABELS, Z as DEFAULT_COMMON_LABELS, _ as DEFAULT_CONFIRM_DIALOG_LABELS, $ as DEFAULT_COPY_BUTTON_LABELS, a0 as DEFAULT_CURRENCY_LABELS, a1 as DEFAULT_DANGER_CONFIRM_LABELS, a2 as DEFAULT_DATE_PICKER_LABELS, a3 as DEFAULT_FEEDBACK_COMPOSER_LABELS, a4 as DEFAULT_FEEDBACK_THREAD_LABELS, a5 as DEFAULT_FILE_LABELS, a6 as DEFAULT_FILE_PICKER_LABELS, a7 as DEFAULT_FORM_ACTIONS_LABELS, a8 as DEFAULT_IBAN_INPUT_LABELS, a9 as DEFAULT_MULTI_SELECT_LABELS, aa as DEFAULT_PASSWORD_REVEAL_LABELS, ab as DEFAULT_PHONE_INPUT_LABELS, ac as DEFAULT_PICKER_SHEET_LABELS, ad as DEFAULT_SHARE_CARD_LABELS, ae as DEFAULT_SWIPEABLE_ROW_LABELS, af as DEFAULT_TABS_LABELS, ag as DEFAULT_TOP_BAR_LABELS, ah as DangerConfirm, ai as DangerConfirmLabels, aj as DangerConfirmProps, ak as DangerConfirmValues, al as DangerConsequence, am as DatePickerLabels, an as EmptyState, ao as EmptyStateProps, ap as FIELD_BASE, aq as FIELD_DISPLAY, ar as FIELD_FLOATING_PAD, as as FIELD_INVALID, at as FIELD_TRIGGER, au as FIELD_WRITABLE_LOOK, av as FLOATING_INPUT_CLASS, aw as FLOATING_LABEL_CLASS, ax as FeedbackComposer, ay as FeedbackComposerAttachment, az as FeedbackComposerHandle, aA as FeedbackComposerLabels, aB as FeedbackComposerProps, aC as FeedbackThread, aD as FeedbackThreadAttachment, aE as FeedbackThreadEvent, aF as FeedbackThreadItem, aG as FeedbackThreadLabels, aH as FeedbackThreadMessage, aI as FeedbackThreadProps, aJ as FieldChevron, aK as FieldChevronProps, aL as FieldHint, aM as FieldHintProps, aN as FileButton, aO as FileButtonProps, aP as FileLabels, aQ as FilePickerLabels, aR as FileRejection, aS as FileRejectionReason, aT as FileScreenOptions, aU as FloatingField, aV as FloatingFieldProps, aW as FormActions, aX as FormActionsAlign, aY as FormActionsDestructive, aZ as FormActionsLabels, a_ as FormActionsPlacement, a$ as FormActionsProps, b0 as FormActionsStickyWithin, b1 as FormActionsSubmitProps, b2 as FormActionsSubmitShortcut, b3 as IbanInput, b4 as IbanInputLabels, b5 as IbanInputProps, b6 as IconButton, b7 as IconButtonGlyphSize, b8 as IconButtonLinkProps, b9 as IconButtonProps, ba as IconButtonSize, bb as IconButtonTone, bc as IconButtonToneColor, bd as IconButtonVariant, be as Input, bf as InputProps, bg as KitDateFormatContext, bh as KitDateFormatter, bi as KitLinkComponent, bj as KitLinkProps, bk as Label, bl as LabelOverride, bm as LabelProps, bn as MultiSelectLabels, bo as PHONE_QUERY, bp as PasswordRevealLabels, bq as PhoneInput, br as PhoneInputLabels, bs as PhoneInputProps, bt as PickerSheetLabels, bu as ResponsiveFormActionsPlacement, bv as Select, bw as SelectProps, bx as ShareAddRequest, by as ShareCandidate, bz as ShareCard, bA as ShareCardLabels, bB as ShareCardProps, bC as ShareDialog, bD as ShareDialogProps, bE as ShareGrantee, bF as SharePanel, bG as SharePanelProps, bH as SharePendingGrant, bI as ShareRole, bJ as Spinner, bK as SpinnerProps, bL as SwipeableRowLabels, bM as TabItem, bN as Tabs, bO as TabsLabels, bP as TabsProps, bQ as Textarea, bR as TextareaProps, bS as TopBarLabels, bT as TypedConfirmField, bU as TypedConfirmFieldLabels, bV as TypedConfirmFieldProps, bW as TypedMatch, bX as UiKitLabelOverrides, bY as UiKitLabels, bZ as UiKitProvider, b_ as UiKitProviderProps, b$ as UseFilePickerOptions, c0 as UseFilePickerReturn, c1 as buttonClasses, c2 as formatFileSize, c3 as matchesAccept, c4 as missingKitLabels, c5 as resolvePasswordRevealLabels, c6 as typedMatches, c7 as useConfirm, c8 as useFilePicker, c9 as useKitChartTooltipPlacement, ca as useKitDateFormatter, cb as useKitFileLabels, cc as useKitLabelOverrides, cd as useKitLabels, ce as useKitLink, cf as useKitLocale, cg as useKitWeekStart } from './feedback-BxeQVzwq.js';
28
+ export { A as AppShellLabels, B as Button, a as ButtonClassesOptions, b as ButtonLinkProps, c as ButtonProps, d as ButtonSize, e as ButtonTone, f as ButtonVariant, C as CalculatorLabels, g as Card, h as CardAction, i as CardActionProps, j as CardContent, k as CardContentProps, l as CardDensity, m as CardDescription, n as CardDescriptionProps, o as CardFooter, p as CardFooterProps, q as CardHeader, r as CardHeaderProps, s as CardProps, t as CardTitle, u as CardTitleLevel, v as CardTitleProps, w as CardTone, x as CharacterCountLabels, y as ChartTooltipPlacement, z as ChatComposer, D as ChatComposerHandle, E as ChatComposerLabels, F as ChatComposerProps, G as ChatComposerSlotContext, H as ComboboxLabels, I as CommonLabels, J as ConfirmDialogLabels, K as ConfirmFn, L as ConfirmOptions, M as ConfirmProvider, N as ConfirmProviderProps, O as ConfirmTone, P as CopyButton, Q as CopyButtonLabels, R as CopyButtonProps, S as CurrencyLabels, T as CurrentPasswordInput, U as CurrentPasswordInputLabels, V as CurrentPasswordInputProps, W as DEFAULT_APP_SHELL_LABELS, X as DEFAULT_ATTACHMENT_ACCEPT, Y as DEFAULT_CALCULATOR_LABELS, Z as DEFAULT_CHARACTER_COUNT_LABELS, _ as DEFAULT_COMBOBOX_LABELS, $ as DEFAULT_COMMON_LABELS, a0 as DEFAULT_CONFIRM_DIALOG_LABELS, a1 as DEFAULT_COPY_BUTTON_LABELS, a2 as DEFAULT_CURRENCY_LABELS, a3 as DEFAULT_DANGER_CONFIRM_LABELS, a4 as DEFAULT_DATE_PICKER_LABELS, a5 as DEFAULT_FEEDBACK_ATTACHMENT_LABELS, a6 as DEFAULT_FEEDBACK_COMPOSER_LABELS, a7 as DEFAULT_FEEDBACK_DIALOG_LABELS, a8 as DEFAULT_FEEDBACK_THREAD_LABELS, a9 as DEFAULT_FILE_LABELS, aa as DEFAULT_FILE_PICKER_LABELS, ab as DEFAULT_FORM_ACTIONS_LABELS, ac as DEFAULT_IBAN_INPUT_LABELS, ad as DEFAULT_MAX_ATTACHMENTS, ae as DEFAULT_MAX_ATTACHMENT_BYTES, af as DEFAULT_MULTI_SELECT_LABELS, ag as DEFAULT_PASSWORD_REVEAL_LABELS, ah as DEFAULT_PHONE_INPUT_LABELS, ai as DEFAULT_PICKER_SHEET_LABELS, aj as DEFAULT_SHARE_CARD_LABELS, ak as DEFAULT_SWIPEABLE_ROW_LABELS, al as DEFAULT_TABS_LABELS, am as DEFAULT_TOP_BAR_LABELS, an as DangerConfirm, ao as DangerConfirmLabels, ap as DangerConfirmProps, aq as DangerConfirmValues, ar as DangerConsequence, as as DatePickerLabels, at as EmptyState, au as EmptyStateProps, av as FEEDBACK_CATEGORY_META, aw as FEEDBACK_CATEGORY_ORDER, ax as FEEDBACK_STATUS_META, ay as FEEDBACK_STATUS_ORDER, az as FIELD_BASE, aA as FIELD_DISPLAY, aB as FIELD_FLOATING_PAD, aC as FIELD_INVALID, aD as FIELD_TRIGGER, aE as FIELD_WRITABLE_LOOK, aF as FLOATING_INPUT_CLASS, aG as FLOATING_LABEL_CLASS, aH as FeedbackAttachmentError, aI as FeedbackAttachmentErrorInfo, aJ as FeedbackAttachmentField, aK as FeedbackAttachmentFieldLabels, aL as FeedbackAttachmentFieldMultipleProps, aM as FeedbackAttachmentFieldProps, aN as FeedbackAttachmentFieldRefsProps, aO as FeedbackAttachmentFieldSingleProps, aP as FeedbackAttachmentLabels, aQ as FeedbackAttachmentRef, aR as FeedbackAttachmentRefsError, aS as FeedbackCategory, aT as FeedbackCategoryBadge, aU as FeedbackCategoryOption, aV as FeedbackComposer, aW as FeedbackComposerAttachment, aX as FeedbackComposerHandle, aY as FeedbackComposerLabels, aZ as FeedbackComposerProps, a_ as FeedbackComposerSlotContext, a$ as FeedbackDetail, b0 as FeedbackDetailSection, b1 as FeedbackDialog, b2 as FeedbackDialogLabels, b3 as FeedbackDialogMultipleProps, b4 as FeedbackDialogProps, b5 as FeedbackDialogSingleProps, b6 as FeedbackDialogTextLabels, b7 as FeedbackMultipleSubmission, b8 as FeedbackNoteAttachment, b9 as FeedbackNoteEditor, ba as FeedbackProse, bb as FeedbackStatus, bc as FeedbackStatusBadge, bd as FeedbackStatusTransitions, be as FeedbackSubmission, bf as FeedbackThread, bg as FeedbackThreadAttachment, bh as FeedbackThreadEvent, bi as FeedbackThreadItem, bj as FeedbackThreadLabels, bk as FeedbackThreadMessage, bl as FeedbackThreadProps, bm as FieldChevron, bn as FieldChevronProps, bo as FieldHint, bp as FieldHintProps, bq as FileButton, br as FileButtonProps, bs as FileLabels, bt as FilePickerLabels, bu as FileRejection, bv as FileRejectionReason, bw as FileScreenOptions, bx as FloatingField, by as FloatingFieldProps, bz as FormActions, bA as FormActionsAlign, bB as FormActionsDestructive, bC as FormActionsLabels, bD as FormActionsPlacement, bE as FormActionsProps, bF as FormActionsStickyWithin, bG as FormActionsSubmitProps, bH as FormActionsSubmitShortcut, bI as IbanInput, bJ as IbanInputLabels, bK as IbanInputProps, bL as IconButton, bM as IconButtonGlyphSize, bN as IconButtonLinkProps, bO as IconButtonProps, bP as IconButtonSize, bQ as IconButtonTone, bR as IconButtonToneColor, bS as IconButtonVariant, bT as Input, bU as InputProps, bV as KitDateFormatContext, bW as KitDateFormatter, bX as KitLinkComponent, bY as KitLinkProps, bZ as Label, b_ as LabelOverride, b$ as LabelProps, c0 as MultiSelectLabels, c1 as PHONE_QUERY, c2 as PasswordRevealLabels, c3 as PhoneInput, c4 as PhoneInputLabels, c5 as PhoneInputProps, c6 as PickerSheetLabels, c7 as ResponsiveFormActionsPlacement, c8 as Select, c9 as SelectProps, ca as ShareAddRequest, cb as ShareCandidate, cc as ShareCard, cd as ShareCardLabels, ce as ShareCardProps, cf as ShareDialog, cg as ShareDialogProps, ch as ShareGrantee, ci as SharePanel, cj as SharePanelProps, ck as SharePendingGrant, cl as ShareRole, cm as Spinner, cn as SpinnerProps, co as SwipeableRowLabels, cp as TabItem, cq as Tabs, cr as TabsLabels, cs as TabsProps, ct as Textarea, cu as TextareaProps, cv as TopBarLabels, cw as TypedConfirmField, cx as TypedConfirmFieldLabels, cy as TypedConfirmFieldProps, cz as TypedMatch, cA as UiKitLabelOverrides, cB as UiKitLabels, cC as UiKitProvider, cD as UiKitProviderProps, cE as UseFilePickerOptions, cF as UseFilePickerReturn, cG as buttonClasses, cH as feedbackCategoryRank, cI as formatFileSize, cJ as matchesAccept, cK as missingKitLabels, cL as nextFeedbackStatus, cM as pastedName, cN as resolvePasswordRevealLabels, cO as selectableFeedbackStatuses, cP as typedMatches, cQ as useConfirm, cR as useFilePicker, cS as useKitChartTooltipPlacement, cT as useKitDateFormatter, cU as useKitFileLabels, cV as useKitLabelOverrides, cW as useKitLabels, cX as useKitLink, cY as useKitLocale, cZ as useKitWeekStart, c_ as visibleFeedbackStatuses } from './feedback-DOwPu-Il.js';
29
29
  export { Field, FieldControlProps, FieldLabelVisibility, FieldProps, FieldRenderMeta } from './components/field.js';
30
30
  export { SearchField, SearchFieldProps } from './components/search-field.js';
31
31
  export { DropdownPanel, DropdownPanelProps, DropdownSearchHeader, DropdownSearchHeaderProps, useDropdown, useDropdownSearch } from './components/dropdown.js';
@@ -134,8 +134,6 @@ export { RoleSwitcher, RoleSwitcherProps } from './shell/role-switcher.js';
134
134
  export { TopBarActionMenu, TopBarMenuEntry, TopBarMenuHeader } from './shell/topbar-action-menu.js';
135
135
  export { TopBarBrand, TopBarBrandProps } from './shell/top-bar-brand.js';
136
136
  export { AuthLayout, AuthLayoutProps } from './shell/auth-layout.js';
137
- export { D as DEFAULT_ATTACHMENT_ACCEPT, a as DEFAULT_FEEDBACK_ATTACHMENT_LABELS, b as DEFAULT_FEEDBACK_DIALOG_LABELS, c as DEFAULT_MAX_ATTACHMENTS, d as DEFAULT_MAX_ATTACHMENT_BYTES, F as FeedbackAttachmentError, e as FeedbackAttachmentErrorInfo, f as FeedbackAttachmentField, g as FeedbackAttachmentFieldLabels, h as FeedbackAttachmentFieldMultipleProps, i as FeedbackAttachmentFieldProps, j as FeedbackAttachmentFieldRefsProps, k as FeedbackAttachmentFieldSingleProps, l as FeedbackAttachmentLabels, m as FeedbackAttachmentRef, n as FeedbackAttachmentRefsError, o as FeedbackCategoryOption, p as FeedbackDialog, q as FeedbackDialogLabels, r as FeedbackDialogMultipleProps, s as FeedbackDialogProps, t as FeedbackDialogSingleProps, u as FeedbackDialogTextLabels, v as FeedbackMultipleSubmission, w as FeedbackSubmission, x as pastedName } from './feedback-attachment-fGAzZPf0.js';
138
- export { FEEDBACK_CATEGORY_META, FEEDBACK_CATEGORY_ORDER, FEEDBACK_STATUS_META, FEEDBACK_STATUS_ORDER, FeedbackCategory, FeedbackCategoryBadge, FeedbackDetail, FeedbackDetailSection, FeedbackNoteAttachment, FeedbackNoteEditor, FeedbackProse, FeedbackStatus, FeedbackStatusBadge, FeedbackStatusTransitions, feedbackCategoryRank, nextFeedbackStatus, selectableFeedbackStatuses, visibleFeedbackStatuses } from './feedback/feedback-inbox.js';
139
137
  export { DEFAULT_WIZARD_LABELS, FieldErrors, StepStatus, SummaryItem, SummarySection, UseWizardOptions, UseWizardReturn, ValidateResult, WizardLabels, WizardStepConfig, WizardUrlSync, resolveWizardLabels } from './wizard/types.js';
140
138
  export { useWizard } from './wizard/use-wizard.js';
141
139
  export { WizardContextProvider, WizardContextValue, useOptionalWizardContext, useWizardContext, useWizardNextGate, useWizardStepValidate } from './wizard/wizard-context.js';
@@ -166,7 +164,7 @@ export { IBAN_LENGTHS, IbanKind, IbanProblem, compactIban, formatIban, ibanCheck
166
164
  export { formatIsin, isValidIsin, isinCheckDigit } from './lib/isin.js';
167
165
  export { PHONE_COUNTRIES, PHONE_DIAL_CODES, ParsedPhone, PhoneCountry, PhoneCountryCode, formatNationalPhone, formatPhone, isE164, parsePhone } from './lib/phone.js';
168
166
  export { FieldStrip, FieldStripIds, FieldStripPad, FieldStripProps } from './components/field-strip.js';
169
- export { ColumnMapper, ColumnMapperLabels, ColumnMapperProps, ColumnRoleTable, ColumnRoleTableProps, DEFAULT_COLUMN_MAPPER_LABELS } from './components/column-mapper.js';
167
+ export { ColumnMapper, ColumnMapperLabels, ColumnMapperProps, ColumnRoleTable, ColumnRoleTableBodyProps, ColumnRoleTableProps, ColumnRoleTableRowProps, DEFAULT_COLUMN_MAPPER_LABELS } from './components/column-mapper.js';
170
168
  export { ColumnMapperResult, ColumnMapping, ColumnRole, assignColumnRole, guessMapping, missingRoles, readMappedTable, readTextFile, roleOfColumn } from './lib/column-mapping.js';
171
169
  export { AccountSettingsLabels, DEFAULT_ACCOUNT_SETTINGS_LABELS, PasskeysSettingLabels, PasswordSettingLabels, ProfileSettingLabels, TwoFactorSettingLabels } from './components/account-settings-labels.js';
172
170
  export { CLIPS_ATTRIBUTE } from './lib/clipping.js';
@@ -2,8 +2,8 @@ import { RefObject } from 'react';
2
2
 
3
3
  declare const TAB_FADE_PX = 24;
4
4
  /**
5
- * Shared by Tabs' strip and AppShell's scrolling phone sub-nav; internal, not part of
6
- * the package's surface.
5
+ * Shared by Tabs' strip, AppShell's scrolling phone sub-nav and (0.24) ColumnRoleTable's
6
+ * preview; internal, not part of the package's surface.
7
7
  *
8
8
  * Which ends of a sideways-scrolling strip have tabs cut off behind them, as the
9
9
  * `mask-image` that fades those ends out — or `undefined` while everything fits.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/strip-fade.ts"],"sourcesContent":["import { useLayoutEffect, useState, type RefObject } from \"react\";\n\n// How far the fade at a scrolled strip's cut edge reaches, and how much room a tab\n// brought into view keeps from that edge so the fade never lies on top of it.\nexport const TAB_FADE_PX = 24;\n\n/**\n * Shared by Tabs' strip and AppShell's scrolling phone sub-nav; internal, not part of\n * the package's surface.\n *\n * Which ends of a sideways-scrolling strip have tabs cut off behind them, as the\n * `mask-image` that fades those ends out — or `undefined` while everything fits.\n *\n * A strip that overflowed used to stop dead at its edge: the last tab sliced through\n * mid-word, and nothing on a phone (whose scrollbars are overlays that only show\n * while you drag) said there was more to reach. A fade is the cue — the letters\n * thin out rather than end — and it is measured, not assumed, so a strip that fits\n * is painted exactly as before. Physical `left`/`right` in the gradient, because\n * `mask-image` has no logical directions; the reading direction is read from the\n * element, and `scrollLeft` is a magnitude here because an RTL strip counts it\n * negative from the start edge.\n */\nexport function useStripFade(\n ref: RefObject<HTMLElement | null>,\n): { mask: string | undefined; overflow: \"start\" | \"end\" | \"both\" | undefined } {\n const [edges, setEdges] = useState({ left: false, right: false, rtl: false });\n useLayoutEffect(() => {\n const el = ref.current;\n if (!el) return;\n const measure = () => {\n const hidden = el.scrollWidth - el.clientWidth;\n const scrolled = Math.abs(el.scrollLeft);\n const rtl = getComputedStyle(el).direction === \"rtl\";\n const atStart = scrolled > 1;\n const atEnd = hidden - scrolled > 1;\n const left = rtl ? atEnd : atStart;\n const right = rtl ? atStart : atEnd;\n setEdges((prev) =>\n prev.left === left && prev.right === right && prev.rtl === rtl ? prev : { left, right, rtl },\n );\n };\n measure();\n el.addEventListener(\"scroll\", measure, { passive: true });\n const observer = typeof ResizeObserver === \"undefined\" ? null : new ResizeObserver(measure);\n observer?.observe(el);\n // The tabs, too: a label or a badge that grows changes the overflow without\n // resizing the strip's own box.\n for (const child of Array.from(el.children)) observer?.observe(child);\n return () => {\n el.removeEventListener(\"scroll\", measure);\n observer?.disconnect();\n };\n });\n if (!edges.left && !edges.right) return { mask: undefined, overflow: undefined };\n const l = edges.left ? `transparent, #000 ${TAB_FADE_PX}px` : \"#000\";\n const r = edges.right ? `#000 calc(100% - ${TAB_FADE_PX}px), transparent` : \"#000\";\n const rtl = edges.rtl;\n const start = rtl ? edges.right : edges.left;\n const end = rtl ? edges.left : edges.right;\n return {\n mask: `linear-gradient(to right, ${l}, ${r})`,\n overflow: start && end ? \"both\" : start ? \"start\" : \"end\",\n };\n}\n\n/**\n * Scroll `item` into view inside `strip` — the strip only (`scrollBy` on it, never\n * `scrollIntoView`, which would scroll the page too) — far enough to clear the fade.\n * A no-op when the strip fits or the item is already clear of both edges.\n */\nexport function scrollIntoStrip(strip: HTMLElement, item: HTMLElement): void {\n if (strip.scrollWidth <= strip.clientWidth) return;\n const s = strip.getBoundingClientRect();\n const t = item.getBoundingClientRect();\n const delta =\n t.left < s.left + TAB_FADE_PX\n ? t.left - s.left - TAB_FADE_PX\n : t.right > s.right - TAB_FADE_PX\n ? t.right - s.right + TAB_FADE_PX\n : 0;\n if (delta !== 0) strip.scrollBy({ left: delta });\n}\n"],"mappings":";AAAA,SAAS,iBAAiB,gBAAgC;AAInD,MAAM,cAAc;AAkBpB,SAAS,aACd,KAC8E;AAC9E,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,EAAE,MAAM,OAAO,OAAO,OAAO,KAAK,MAAM,CAAC;AAC5E,kBAAgB,MAAM;AACpB,UAAM,KAAK,IAAI;AACf,QAAI,CAAC,GAAI;AACT,UAAM,UAAU,MAAM;AACpB,YAAM,SAAS,GAAG,cAAc,GAAG;AACnC,YAAM,WAAW,KAAK,IAAI,GAAG,UAAU;AACvC,YAAMA,OAAM,iBAAiB,EAAE,EAAE,cAAc;AAC/C,YAAM,UAAU,WAAW;AAC3B,YAAM,QAAQ,SAAS,WAAW;AAClC,YAAM,OAAOA,OAAM,QAAQ;AAC3B,YAAM,QAAQA,OAAM,UAAU;AAC9B;AAAA,QAAS,CAAC,SACR,KAAK,SAAS,QAAQ,KAAK,UAAU,SAAS,KAAK,QAAQA,OAAM,OAAO,EAAE,MAAM,OAAO,KAAAA,KAAI;AAAA,MAC7F;AAAA,IACF;AACA,YAAQ;AACR,OAAG,iBAAiB,UAAU,SAAS,EAAE,SAAS,KAAK,CAAC;AACxD,UAAM,WAAW,OAAO,mBAAmB,cAAc,OAAO,IAAI,eAAe,OAAO;AAC1F,cAAU,QAAQ,EAAE;AAGpB,eAAW,SAAS,MAAM,KAAK,GAAG,QAAQ,EAAG,WAAU,QAAQ,KAAK;AACpE,WAAO,MAAM;AACX,SAAG,oBAAoB,UAAU,OAAO;AACxC,gBAAU,WAAW;AAAA,IACvB;AAAA,EACF,CAAC;AACD,MAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,MAAO,QAAO,EAAE,MAAM,QAAW,UAAU,OAAU;AAC/E,QAAM,IAAI,MAAM,OAAO,qBAAqB,WAAW,OAAO;AAC9D,QAAM,IAAI,MAAM,QAAQ,oBAAoB,WAAW,qBAAqB;AAC5E,QAAM,MAAM,MAAM;AAClB,QAAM,QAAQ,MAAM,MAAM,QAAQ,MAAM;AACxC,QAAM,MAAM,MAAM,MAAM,OAAO,MAAM;AACrC,SAAO;AAAA,IACL,MAAM,6BAA6B,CAAC,KAAK,CAAC;AAAA,IAC1C,UAAU,SAAS,MAAM,SAAS,QAAQ,UAAU;AAAA,EACtD;AACF;AAOO,SAAS,gBAAgB,OAAoB,MAAyB;AAC3E,MAAI,MAAM,eAAe,MAAM,YAAa;AAC5C,QAAM,IAAI,MAAM,sBAAsB;AACtC,QAAM,IAAI,KAAK,sBAAsB;AACrC,QAAM,QACJ,EAAE,OAAO,EAAE,OAAO,cACd,EAAE,OAAO,EAAE,OAAO,cAClB,EAAE,QAAQ,EAAE,QAAQ,cAClB,EAAE,QAAQ,EAAE,QAAQ,cACpB;AACR,MAAI,UAAU,EAAG,OAAM,SAAS,EAAE,MAAM,MAAM,CAAC;AACjD;","names":["rtl"]}
1
+ {"version":3,"sources":["../../src/lib/strip-fade.ts"],"sourcesContent":["import { useLayoutEffect, useState, type RefObject } from \"react\";\n\n// How far the fade at a scrolled strip's cut edge reaches, and how much room a tab\n// brought into view keeps from that edge so the fade never lies on top of it.\nexport const TAB_FADE_PX = 24;\n\n/**\n * Shared by Tabs' strip, AppShell's scrolling phone sub-nav and (0.24) ColumnRoleTable's\n * preview; internal, not part of the package's surface.\n *\n * Which ends of a sideways-scrolling strip have tabs cut off behind them, as the\n * `mask-image` that fades those ends out — or `undefined` while everything fits.\n *\n * A strip that overflowed used to stop dead at its edge: the last tab sliced through\n * mid-word, and nothing on a phone (whose scrollbars are overlays that only show\n * while you drag) said there was more to reach. A fade is the cue — the letters\n * thin out rather than end — and it is measured, not assumed, so a strip that fits\n * is painted exactly as before. Physical `left`/`right` in the gradient, because\n * `mask-image` has no logical directions; the reading direction is read from the\n * element, and `scrollLeft` is a magnitude here because an RTL strip counts it\n * negative from the start edge.\n */\nexport function useStripFade(\n ref: RefObject<HTMLElement | null>,\n): { mask: string | undefined; overflow: \"start\" | \"end\" | \"both\" | undefined } {\n const [edges, setEdges] = useState({ left: false, right: false, rtl: false });\n useLayoutEffect(() => {\n const el = ref.current;\n if (!el) return;\n const measure = () => {\n const hidden = el.scrollWidth - el.clientWidth;\n const scrolled = Math.abs(el.scrollLeft);\n const rtl = getComputedStyle(el).direction === \"rtl\";\n const atStart = scrolled > 1;\n const atEnd = hidden - scrolled > 1;\n const left = rtl ? atEnd : atStart;\n const right = rtl ? atStart : atEnd;\n setEdges((prev) =>\n prev.left === left && prev.right === right && prev.rtl === rtl ? prev : { left, right, rtl },\n );\n };\n measure();\n el.addEventListener(\"scroll\", measure, { passive: true });\n const observer = typeof ResizeObserver === \"undefined\" ? null : new ResizeObserver(measure);\n observer?.observe(el);\n // The tabs, too: a label or a badge that grows changes the overflow without\n // resizing the strip's own box.\n for (const child of Array.from(el.children)) observer?.observe(child);\n return () => {\n el.removeEventListener(\"scroll\", measure);\n observer?.disconnect();\n };\n });\n if (!edges.left && !edges.right) return { mask: undefined, overflow: undefined };\n const l = edges.left ? `transparent, #000 ${TAB_FADE_PX}px` : \"#000\";\n const r = edges.right ? `#000 calc(100% - ${TAB_FADE_PX}px), transparent` : \"#000\";\n const rtl = edges.rtl;\n const start = rtl ? edges.right : edges.left;\n const end = rtl ? edges.left : edges.right;\n return {\n mask: `linear-gradient(to right, ${l}, ${r})`,\n overflow: start && end ? \"both\" : start ? \"start\" : \"end\",\n };\n}\n\n/**\n * Scroll `item` into view inside `strip` — the strip only (`scrollBy` on it, never\n * `scrollIntoView`, which would scroll the page too) — far enough to clear the fade.\n * A no-op when the strip fits or the item is already clear of both edges.\n */\nexport function scrollIntoStrip(strip: HTMLElement, item: HTMLElement): void {\n if (strip.scrollWidth <= strip.clientWidth) return;\n const s = strip.getBoundingClientRect();\n const t = item.getBoundingClientRect();\n const delta =\n t.left < s.left + TAB_FADE_PX\n ? t.left - s.left - TAB_FADE_PX\n : t.right > s.right - TAB_FADE_PX\n ? t.right - s.right + TAB_FADE_PX\n : 0;\n if (delta !== 0) strip.scrollBy({ left: delta });\n}\n"],"mappings":";AAAA,SAAS,iBAAiB,gBAAgC;AAInD,MAAM,cAAc;AAkBpB,SAAS,aACd,KAC8E;AAC9E,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,EAAE,MAAM,OAAO,OAAO,OAAO,KAAK,MAAM,CAAC;AAC5E,kBAAgB,MAAM;AACpB,UAAM,KAAK,IAAI;AACf,QAAI,CAAC,GAAI;AACT,UAAM,UAAU,MAAM;AACpB,YAAM,SAAS,GAAG,cAAc,GAAG;AACnC,YAAM,WAAW,KAAK,IAAI,GAAG,UAAU;AACvC,YAAMA,OAAM,iBAAiB,EAAE,EAAE,cAAc;AAC/C,YAAM,UAAU,WAAW;AAC3B,YAAM,QAAQ,SAAS,WAAW;AAClC,YAAM,OAAOA,OAAM,QAAQ;AAC3B,YAAM,QAAQA,OAAM,UAAU;AAC9B;AAAA,QAAS,CAAC,SACR,KAAK,SAAS,QAAQ,KAAK,UAAU,SAAS,KAAK,QAAQA,OAAM,OAAO,EAAE,MAAM,OAAO,KAAAA,KAAI;AAAA,MAC7F;AAAA,IACF;AACA,YAAQ;AACR,OAAG,iBAAiB,UAAU,SAAS,EAAE,SAAS,KAAK,CAAC;AACxD,UAAM,WAAW,OAAO,mBAAmB,cAAc,OAAO,IAAI,eAAe,OAAO;AAC1F,cAAU,QAAQ,EAAE;AAGpB,eAAW,SAAS,MAAM,KAAK,GAAG,QAAQ,EAAG,WAAU,QAAQ,KAAK;AACpE,WAAO,MAAM;AACX,SAAG,oBAAoB,UAAU,OAAO;AACxC,gBAAU,WAAW;AAAA,IACvB;AAAA,EACF,CAAC;AACD,MAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,MAAO,QAAO,EAAE,MAAM,QAAW,UAAU,OAAU;AAC/E,QAAM,IAAI,MAAM,OAAO,qBAAqB,WAAW,OAAO;AAC9D,QAAM,IAAI,MAAM,QAAQ,oBAAoB,WAAW,qBAAqB;AAC5E,QAAM,MAAM,MAAM;AAClB,QAAM,QAAQ,MAAM,MAAM,QAAQ,MAAM;AACxC,QAAM,MAAM,MAAM,MAAM,OAAO,MAAM;AACrC,SAAO;AAAA,IACL,MAAM,6BAA6B,CAAC,KAAK,CAAC;AAAA,IAC1C,UAAU,SAAS,MAAM,SAAS,QAAQ,UAAU;AAAA,EACtD;AACF;AAOO,SAAS,gBAAgB,OAAoB,MAAyB;AAC3E,MAAI,MAAM,eAAe,MAAM,YAAa;AAC5C,QAAM,IAAI,MAAM,sBAAsB;AACtC,QAAM,IAAI,KAAK,sBAAsB;AACrC,QAAM,QACJ,EAAE,OAAO,EAAE,OAAO,cACd,EAAE,OAAO,EAAE,OAAO,cAClB,EAAE,QAAQ,EAAE,QAAQ,cAClB,EAAE,QAAQ,EAAE,QAAQ,cACpB;AACR,MAAI,UAAU,EAAG,OAAM,SAAS,EAAE,MAAM,MAAM,CAAC;AACjD;","names":["rtl"]}
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, ReactElement } from 'react';
3
3
  import { FieldValues, FieldPath, ControllerProps, ControllerRenderProps, ControllerFieldState } from 'react-hook-form';
4
- import { b5 as IbanInputProps, bs as PhoneInputProps, bw as SelectProps, bf as InputProps, bR as TextareaProps } from '../feedback-BxeQVzwq.js';
4
+ import { bK as IbanInputProps, c5 as PhoneInputProps, c9 as SelectProps, bU as InputProps, cu as TextareaProps } from '../feedback-DOwPu-Il.js';
5
5
  import { NumberFieldProps } from '../components/number-field.js';
6
6
  import { DatePickerProps, DateRangePickerProps } from '../components/date-picker.js';
7
7
  import { TimeInputProps } from '../components/time-input.js';
@@ -10,11 +10,8 @@ import { MonthPickerProps } from '../components/month-picker.js';
10
10
  import { ToggleGroupBaseProps, ToggleGroupRequiredProps, ToggleGroupClearableProps } from '../components/toggle-group.js';
11
11
  import { CheckboxProps } from '../components/checkbox.js';
12
12
  import { EntityComboboxProps } from '../components/entity-combobox.js';
13
- import { ComboboxProps } from '../components/combobox.js';
13
+ import { InlineEntityComboboxProps, ComboboxProps } from '../components/combobox.js';
14
14
  import { ComboClearValue } from '../components/combobox-core.js';
15
- import '../feedback-attachment-fGAzZPf0.js';
16
- import '../feedback/feedback-inbox.js';
17
- import 'lucide-react';
18
15
  import '../components/tooltip.js';
19
16
  import '../hooks/use-anchored-rect.js';
20
17
  import '../lib/clipping.js';
@@ -25,6 +22,7 @@ import '../components/mini-calendar.js';
25
22
  import '../components/calendar-heatmap.js';
26
23
  import '../components/popover.js';
27
24
  import '../components/chip.js';
25
+ import 'lucide-react';
28
26
  import '../components/field-sync.js';
29
27
  import '../wizard/types.js';
30
28
  import '../tour/tour.js';
@@ -485,7 +483,7 @@ type RhfToggleGroupProps<TFieldValues extends FieldValues = FieldValues, TName e
485
483
  * field still needs answering is the schema's or `rules`' to say.
486
484
  */
487
485
  declare function RhfToggleGroup<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, T extends string = string, TTransformed = TFieldValues>({ name, control, rules, label, hint, required, disabled, excludeWhenDisabled, className, ...groupProps }: RhfToggleGroupProps<TFieldValues, TName, T, TTransformed>): react.JSX.Element;
488
- type RhfComboboxProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, V extends string | number = string | number, TTransformed = TFieldValues> = RhfFieldBaseProps<TFieldValues, TName, TTransformed> & Pick<EntityComboboxProps<V>, "options" | "loadOptions" | "loading" | "placeholder" | "searchPlaceholder" | "emptyLabel" | "clearable" | "clearLabel" | "onCreate" | "createLabel" | "filter" | "minChars" | "debounceMs"> & {
486
+ type RhfComboboxProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, V extends string | number = string | number, TTransformed = TFieldValues> = RhfFieldBaseProps<TFieldValues, TName, TTransformed> & Pick<EntityComboboxProps<V>, "options" | "loadOptions" | "loading" | "placeholder" | "searchPlaceholder" | "emptyLabel" | "clearable" | "clearLabel" | "closeLabel" | "onCreate" | "createLabel" | "createEmptyLabel" | "createCommit" | "commit" | "disabledReason" | "filter" | "minChars" | "debounceMs" | "aria-label"> & {
489
487
  /** What a clear stores — the picker's `clearValue`. Default `null`; `""` for a
490
488
  * schema that spells "no choice" as an empty string. */
491
489
  clearValue?: ComboClearValue;
@@ -496,9 +494,62 @@ type RhfComboboxProps<TFieldValues extends FieldValues = FieldValues, TName exte
496
494
  * The kit's {@link EntityCombobox}: an id-keyed pick from `options` or `loadOptions`.
497
495
  * Stores the option's `value`, or `clearValue` on a clear (only offered with
498
496
  * `clearable`).
497
+ *
498
+ * 0.24: `field.ref` goes through the picker's own `ref` to its trigger (it used to be
499
+ * a focus handle that found the trigger by id — the same element, now by the route
500
+ * every other binding takes); the write lock (`commit`, `disabledReason`), the create
501
+ * row's `createEmptyLabel` / `createCommit`, `closeLabel` and `aria-label` pass
502
+ * through; and the form's label titles the phone sheet, which fell back to the
503
+ * placeholder. For the INLINE picker — a text input, the account field typed into —
504
+ * see {@link RhfInlineEntityCombobox}.
499
505
  */
500
506
  declare function RhfCombobox<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, V extends string | number = string | number, TTransformed = TFieldValues>({ name, control, rules, label, hint, required, disabled, excludeWhenDisabled, className, clearValue, comboClassName, ...comboProps }: RhfComboboxProps<TFieldValues, TName, V, TTransformed>): react.JSX.Element;
501
- type RhfTextComboboxProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TTransformed = TFieldValues> = RhfFieldBaseProps<TFieldValues, TName, TTransformed> & Pick<ComboboxProps, "options" | "placeholder" | "groupBy" | "maxSuggestions" | "searchPlaceholder" | "createLabel" | "optionAdornment" | "autoFocus" | "aria-label"> & {
507
+ type OwnInlineEntityComboboxProps<V extends string | number> = Omit<InlineEntityComboboxProps<V, ComboClearValue>, "value" | "defaultValue" | "onChange" | "onBlur" | "label" | "hint" | "error" | "invalid" | "disabled" | "className" | "id" | "ref" | "clearValue">;
508
+ type RhfInlineEntityComboboxProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, V extends string | number = string | number, TTransformed = TFieldValues> = RhfFieldBaseProps<TFieldValues, TName, TTransformed> & OwnInlineEntityComboboxProps<V> & {
509
+ /** What a clear stores — emptying the text, or the "×" with `clearable`. Default
510
+ * `null`; `""` for a schema that spells "no choice" as an empty string. The
511
+ * picker reads either back as empty. */
512
+ clearValue?: ComboClearValue;
513
+ /** Classes for the picker — `className` is the item's box. As {@link RhfCombobox}'s. */
514
+ comboClassName?: string;
515
+ };
516
+ /**
517
+ * {@link InlineEntityCombobox} bound to one field, which stores the chosen option's
518
+ * `value` (an id), or `clearValue` once the text is emptied or the "×" pressed.
519
+ *
520
+ * kastlan asked for it (0.24): its account picker IS an `InlineEntityCombobox` — the
521
+ * account number is typed straight into the field — and the budget line-item form
522
+ * wired it through {@link RhfField}'s render. The picker took no `ref`, so react-hook-
523
+ * form's focus-on-error had nothing to focus: a line item saved without an account
524
+ * failed its submit and left the caret where it was, the one field on the form a
525
+ * failed submit could not take you to. (The same gap {@link RhfCountrySelect} closed
526
+ * for the address form's country in 0.23.)
527
+ *
528
+ * Bound the way {@link RhfCountrySelect} is: `field.ref` reaches the `<input>` (the
529
+ * picker's `ref`, 0.24), the form's error paints the input and is the shell's message
530
+ * under it, and the hint is the shell's description — so neither is ever handed to the
531
+ * picker, and its box never changes when one comes or goes. The form's label names
532
+ * the input through `<label for>` and titles the phone sheet (`sheetTitle`); the picker
533
+ * draws no floating label of its own. Focus leaving the picker marks the field
534
+ * touched.
535
+ *
536
+ * Everything else is the picker's and passes through: `commit` and `disabledReason`
537
+ * (a picker whose choice saves stays focusable under a lock and says why), `clearable`,
538
+ * `autoFocus`, `aria-label` for an unlabelled cell, and the create row — `onCreate`,
539
+ * `createLabel`, `createEmptyLabel`, `createCommit`. Making the record is the
540
+ * caller's, and so is storing its id once it exists:
541
+ *
542
+ * ```tsx
543
+ * <RhfInlineEntityCombobox<LineItem, "account_id", number>
544
+ * name="account_id" label="Account" required options={accounts}
545
+ * rules={{ required: "Choose an account" }}
546
+ * onCreate={async (name) => form.setValue("account_id", (await createAccount(name)).id)} />
547
+ * ```
548
+ *
549
+ * For the button-shaped picker with an async `loadOptions`, see {@link RhfCombobox}.
550
+ */
551
+ declare function RhfInlineEntityCombobox<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, V extends string | number = string | number, TTransformed = TFieldValues>({ name, control, rules, label, hint, required, disabled, excludeWhenDisabled, className, clearValue, comboClassName, ...comboProps }: RhfInlineEntityComboboxProps<TFieldValues, TName, V, TTransformed>): react.JSX.Element;
552
+ type RhfTextComboboxProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TTransformed = TFieldValues> = RhfFieldBaseProps<TFieldValues, TName, TTransformed> & Pick<ComboboxProps, "options" | "placeholder" | "groupBy" | "maxSuggestions" | "searchPlaceholder" | "createLabel" | "optionAdornment" | "autoFocus" | "aria-label" | "closeLabel" | "commit" | "disabledReason"> & {
502
553
  /** Classes for the combobox. */
503
554
  comboClassName?: string;
504
555
  };
@@ -508,4 +559,4 @@ type RhfTextComboboxProps<TFieldValues extends FieldValues = FieldValues, TName
508
559
  */
509
560
  declare function RhfTextCombobox<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TTransformed = TFieldValues>({ name, control, rules, label, hint, required, disabled, excludeWhenDisabled, className, comboClassName, ...comboProps }: RhfTextComboboxProps<TFieldValues, TName, TTransformed>): react.JSX.Element;
510
561
 
511
- export { RhfCheckbox, type RhfCheckboxProps, RhfCombobox, type RhfComboboxProps, RhfCountrySelect, type RhfCountrySelectProps, RhfDateField, type RhfDateFieldProps, RhfDateRangePicker, type RhfDateRangePickerProps, RhfField, type RhfFieldBaseProps, type RhfFieldProps, type RhfFieldRenderContext, RhfIbanInput, type RhfIbanInputProps, RhfIntegerField, type RhfIntegerFieldProps, RhfMoneyField, type RhfMoneyFieldProps, RhfMonthPicker, type RhfMonthPickerProps, RhfNumberField, type RhfNumberFieldProps, RhfPhoneInput, type RhfPhoneInputProps, RhfSelect, type RhfSelectOption, type RhfSelectProps, RhfTextCombobox, type RhfTextComboboxProps, RhfTextField, type RhfTextFieldProps, RhfTextarea, type RhfTextareaProps, RhfTimeInput, type RhfTimeInputProps, RhfToggleGroup, type RhfToggleGroupProps };
562
+ export { RhfCheckbox, type RhfCheckboxProps, RhfCombobox, type RhfComboboxProps, RhfCountrySelect, type RhfCountrySelectProps, RhfDateField, type RhfDateFieldProps, RhfDateRangePicker, type RhfDateRangePickerProps, RhfField, type RhfFieldBaseProps, type RhfFieldProps, type RhfFieldRenderContext, RhfIbanInput, type RhfIbanInputProps, RhfInlineEntityCombobox, type RhfInlineEntityComboboxProps, RhfIntegerField, type RhfIntegerFieldProps, RhfMoneyField, type RhfMoneyFieldProps, RhfMonthPicker, type RhfMonthPickerProps, RhfNumberField, type RhfNumberFieldProps, RhfPhoneInput, type RhfPhoneInputProps, RhfSelect, type RhfSelectOption, type RhfSelectProps, RhfTextCombobox, type RhfTextComboboxProps, RhfTextField, type RhfTextFieldProps, RhfTextarea, type RhfTextareaProps, RhfTimeInput, type RhfTimeInputProps, RhfToggleGroup, type RhfToggleGroupProps };
@@ -22,7 +22,10 @@ import {
22
22
  } from "../components/toggle-group.js";
23
23
  import { Checkbox } from "../components/checkbox.js";
24
24
  import { EntityCombobox } from "../components/entity-combobox.js";
25
- import { Combobox } from "../components/combobox.js";
25
+ import {
26
+ Combobox,
27
+ InlineEntityCombobox
28
+ } from "../components/combobox.js";
26
29
  import { cn } from "../lib/cn.js";
27
30
  function hasContent(node) {
28
31
  return node !== void 0 && node !== null && node !== false && node !== "";
@@ -931,10 +934,11 @@ function EntityControl({
931
934
  describedBy,
932
935
  clearValue,
933
936
  comboClassName,
937
+ sheetTitle,
938
+ focusRef,
934
939
  comboProps
935
940
  }) {
936
941
  const box = useRef(null);
937
- useFocusHandle(field.ref, () => document.getElementById(id));
938
942
  const onBlur = field.onBlur;
939
943
  useLayoutEffect(() => {
940
944
  const el = box.current;
@@ -946,7 +950,9 @@ function EntityControl({
946
950
  return /* @__PURE__ */ jsx("div", { ref: box, children: /* @__PURE__ */ jsx(
947
951
  EntityCombobox,
948
952
  {
953
+ sheetTitle,
949
954
  ...comboProps,
955
+ ref: focusRef,
950
956
  className: comboClassName,
951
957
  id,
952
958
  "aria-describedby": describedBy,
@@ -991,12 +997,58 @@ function RhfCombobox({
991
997
  describedBy,
992
998
  clearValue,
993
999
  comboClassName,
1000
+ sheetTitle: hasContent(label) ? label : void 0,
1001
+ focusRef: field.ref,
994
1002
  comboProps
995
1003
  }
996
1004
  )
997
1005
  }
998
1006
  );
999
1007
  }
1008
+ function RhfInlineEntityCombobox({
1009
+ name,
1010
+ control,
1011
+ rules,
1012
+ label,
1013
+ hint,
1014
+ required,
1015
+ disabled,
1016
+ excludeWhenDisabled,
1017
+ className,
1018
+ clearValue = null,
1019
+ comboClassName,
1020
+ ...comboProps
1021
+ }) {
1022
+ return /* @__PURE__ */ jsx(
1023
+ RhfField,
1024
+ {
1025
+ ...{ name, control, rules, label, hint, required, disabled, excludeWhenDisabled, className },
1026
+ render: ({ field, invalid }) => {
1027
+ const value = field.value;
1028
+ return (
1029
+ // FormControl clones this element with `id` / `aria-describedby` /
1030
+ // `aria-invalid`, which the picker routes to its <input>.
1031
+ /* @__PURE__ */ jsx(
1032
+ InlineEntityCombobox,
1033
+ {
1034
+ "aria-required": required || void 0,
1035
+ sheetTitle: hasContent(label) ? label : void 0,
1036
+ ...comboProps,
1037
+ className: comboClassName,
1038
+ ref: field.ref,
1039
+ value: value ?? null,
1040
+ clearValue,
1041
+ onChange: (v) => field.onChange(v),
1042
+ onBlur: field.onBlur,
1043
+ disabled: field.disabled,
1044
+ invalid
1045
+ }
1046
+ )
1047
+ );
1048
+ }
1049
+ }
1050
+ );
1051
+ }
1000
1052
  function RhfTextCombobox({
1001
1053
  name,
1002
1054
  control,
@@ -1026,6 +1078,8 @@ function RhfTextCombobox({
1026
1078
  id,
1027
1079
  describedBy,
1028
1080
  className: comboClassName,
1081
+ sheetTitle: hasContent(label) ? label : void 0,
1082
+ focusRef: field.ref,
1029
1083
  comboProps
1030
1084
  }
1031
1085
  )
@@ -1040,14 +1094,17 @@ function TextComboControl({
1040
1094
  id,
1041
1095
  describedBy,
1042
1096
  className,
1097
+ sheetTitle,
1098
+ focusRef,
1043
1099
  comboProps
1044
1100
  }) {
1045
- useFocusHandle(field.ref, () => document.getElementById(id));
1046
1101
  const value = field.value;
1047
1102
  return /* @__PURE__ */ jsx(
1048
1103
  Combobox,
1049
1104
  {
1105
+ sheetTitle,
1050
1106
  ...comboProps,
1107
+ ref: focusRef,
1051
1108
  id,
1052
1109
  "aria-describedby": describedBy,
1053
1110
  "aria-required": required || void 0,
@@ -1069,6 +1126,7 @@ export {
1069
1126
  RhfDateRangePicker,
1070
1127
  RhfField,
1071
1128
  RhfIbanInput,
1129
+ RhfInlineEntityCombobox,
1072
1130
  RhfIntegerField,
1073
1131
  RhfMoneyField,
1074
1132
  RhfMonthPicker,