@eifi1/ui-kit 0.39.1 → 0.40.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 (144) hide show
  1. package/README.md +8 -7
  2. package/dist/billing/billing-overview.d.ts +10 -0
  3. package/dist/components/autocomplete.js +5 -1
  4. package/dist/components/autocomplete.js.map +1 -1
  5. package/dist/components/combobox-core.d.ts +14 -1
  6. package/dist/components/combobox-core.js +4 -0
  7. package/dist/components/combobox-core.js.map +1 -1
  8. package/dist/components/combobox.js +9 -3
  9. package/dist/components/combobox.js.map +1 -1
  10. package/dist/components/data-table-labels.d.ts +5 -0
  11. package/dist/components/data-table-labels.js +2 -0
  12. package/dist/components/data-table-labels.js.map +1 -1
  13. package/dist/components/data-table-mobile.d.ts +36 -1
  14. package/dist/components/data-table-mobile.js +162 -15
  15. package/dist/components/data-table-mobile.js.map +1 -1
  16. package/dist/components/data-table.d.ts +39 -12
  17. package/dist/components/data-table.js +74 -13
  18. package/dist/components/data-table.js.map +1 -1
  19. package/dist/components/inline-entity-combobox.js +10 -3
  20. package/dist/components/inline-entity-combobox.js.map +1 -1
  21. package/dist/components/picker-sheet.d.ts +18 -1
  22. package/dist/components/picker-sheet.js +20 -2
  23. package/dist/components/picker-sheet.js.map +1 -1
  24. package/dist/components/tabs.d.ts +26 -2
  25. package/dist/components/tabs.js +41 -2
  26. package/dist/components/tabs.js.map +1 -1
  27. package/dist/components/translation-review-parts.d.ts +2 -1
  28. package/dist/components/translation-review-parts.js +1 -1
  29. package/dist/components/translation-review-parts.js.map +1 -1
  30. package/dist/components/ui-labels.js +3 -1
  31. package/dist/components/ui-labels.js.map +1 -1
  32. package/dist/eslint/index.js +1 -1
  33. package/dist/feedback/feedback-comment-thread.d.ts +8 -1
  34. package/dist/feedback/feedback-comment-thread.js +26 -1
  35. package/dist/feedback/feedback-comment-thread.js.map +1 -1
  36. package/dist/feedback/feedback-labels.d.ts +2 -1
  37. package/dist/feedback/feedback-labels.js +1 -0
  38. package/dist/feedback/feedback-labels.js.map +1 -1
  39. package/dist/feedback/feedback-menu-labels.js +3 -1
  40. package/dist/feedback/feedback-menu-labels.js.map +1 -1
  41. package/dist/feedback/feedback-menu.d.ts +31 -24
  42. package/dist/feedback/feedback-menu.js +16 -7
  43. package/dist/feedback/feedback-menu.js.map +1 -1
  44. package/dist/feedback/feedback-public-labels.d.ts +3 -2
  45. package/dist/feedback/feedback-public-labels.js +1 -1
  46. package/dist/feedback/feedback-public-labels.js.map +1 -1
  47. package/dist/feedback/feedback-public-list.d.ts +4 -1
  48. package/dist/feedback/feedback-public-list.js +67 -55
  49. package/dist/feedback/feedback-public-list.js.map +1 -1
  50. package/dist/feedback/feedback-public-types.d.ts +16 -3
  51. package/dist/feedback/feedback-record.d.ts +20 -3
  52. package/dist/feedback/feedback-record.js +15 -0
  53. package/dist/feedback/feedback-record.js.map +1 -1
  54. package/dist/feedback/feedback-replies.d.ts +13 -2
  55. package/dist/feedback/feedback-replies.js +67 -33
  56. package/dist/feedback/feedback-replies.js.map +1 -1
  57. package/dist/feedback/feedback-rework-entry-chip.d.ts +9 -0
  58. package/dist/feedback/feedback-rework-entry-chip.js +13 -0
  59. package/dist/feedback/feedback-rework-entry-chip.js.map +1 -0
  60. package/dist/feedback/feedback-row-detail.d.ts +31 -8
  61. package/dist/feedback/feedback-row-detail.js +31 -7
  62. package/dist/feedback/feedback-row-detail.js.map +1 -1
  63. package/dist/feedback/feedback-table-labels.js +1 -1
  64. package/dist/feedback/feedback-table-labels.js.map +1 -1
  65. package/dist/feedback/feedback-table.d.ts +5 -2
  66. package/dist/feedback/feedback-table.js +2 -2
  67. package/dist/feedback/feedback-table.js.map +1 -1
  68. package/dist/feedback/feedback-thread.js +3 -1
  69. package/dist/feedback/feedback-thread.js.map +1 -1
  70. package/dist/feedback/feedback-vocabulary.d.ts +9 -6
  71. package/dist/feedback/feedback-vocabulary.js +16 -1
  72. package/dist/feedback/feedback-vocabulary.js.map +1 -1
  73. package/dist/hooks/use-long-press.d.ts +30 -0
  74. package/dist/hooks/use-long-press.js +77 -0
  75. package/dist/hooks/use-long-press.js.map +1 -0
  76. package/dist/hooks/use-overlay-history.js +37 -3
  77. package/dist/hooks/use-overlay-history.js.map +1 -1
  78. package/dist/i18n/german.js +13 -5
  79. package/dist/i18n/german.js.map +1 -1
  80. package/dist/i18n/kit-labels.d.ts +3 -0
  81. package/dist/i18n/kit-labels.js.map +1 -1
  82. package/dist/i18n/locales/en.js +12 -5
  83. package/dist/i18n/locales/en.js.map +2 -2
  84. package/dist/i18n/locales/es.js +13 -5
  85. package/dist/i18n/locales/es.js.map +1 -1
  86. package/dist/i18n/locales/fr.js +13 -5
  87. package/dist/i18n/locales/fr.js.map +1 -1
  88. package/dist/i18n/locales/hu.js +13 -5
  89. package/dist/i18n/locales/hu.js.map +1 -1
  90. package/dist/i18n/locales/it.js +13 -5
  91. package/dist/i18n/locales/it.js.map +1 -1
  92. package/dist/i18n/locales/zh.js +13 -5
  93. package/dist/i18n/locales/zh.js.map +1 -1
  94. package/dist/i18n/shared-labels.js +1 -1
  95. package/dist/i18n/shared-labels.js.map +1 -1
  96. package/dist/shell/app-shell.js +9 -0
  97. package/dist/shell/app-shell.js.map +1 -1
  98. package/dist/shell/fill-height.d.ts +38 -0
  99. package/dist/shell/fill-height.js +12 -0
  100. package/dist/shell/fill-height.js.map +1 -0
  101. package/dist/shell.d.ts +2 -0
  102. package/dist/shell.js +3 -0
  103. package/dist/shell.js.map +1 -1
  104. package/package.json +1 -1
  105. package/src/billing/billing-overview.ts +10 -0
  106. package/src/components/autocomplete.tsx +5 -1
  107. package/src/components/combobox-core.tsx +20 -1
  108. package/src/components/combobox.tsx +9 -3
  109. package/src/components/data-table-labels.ts +7 -0
  110. package/src/components/data-table-mobile.tsx +193 -9
  111. package/src/components/data-table.tsx +141 -24
  112. package/src/components/inline-entity-combobox.tsx +12 -4
  113. package/src/components/picker-sheet.tsx +38 -1
  114. package/src/components/tabs.tsx +73 -3
  115. package/src/components/translation-review-parts.tsx +3 -2
  116. package/src/components/ui-labels.ts +2 -0
  117. package/src/feedback/feedback-comment-thread.tsx +39 -1
  118. package/src/feedback/feedback-labels.ts +3 -1
  119. package/src/feedback/feedback-menu-labels.ts +2 -0
  120. package/src/feedback/feedback-menu.tsx +48 -30
  121. package/src/feedback/feedback-public-labels.ts +4 -3
  122. package/src/feedback/feedback-public-list.tsx +15 -2
  123. package/src/feedback/feedback-public-types.ts +17 -3
  124. package/src/feedback/feedback-record.ts +34 -3
  125. package/src/feedback/feedback-replies.tsx +100 -31
  126. package/src/feedback/feedback-rework-entry-chip.tsx +18 -0
  127. package/src/feedback/feedback-row-detail.tsx +65 -12
  128. package/src/feedback/feedback-table-labels.ts +1 -1
  129. package/src/feedback/feedback-table.tsx +7 -4
  130. package/src/feedback/feedback-thread.tsx +5 -1
  131. package/src/feedback/feedback-vocabulary.ts +27 -6
  132. package/src/hooks/use-long-press.ts +126 -0
  133. package/src/hooks/use-overlay-history.ts +74 -3
  134. package/src/i18n/german.ts +10 -2
  135. package/src/i18n/kit-labels.tsx +3 -0
  136. package/src/i18n/locales/es.ts +10 -2
  137. package/src/i18n/locales/fr.ts +10 -2
  138. package/src/i18n/locales/hu.ts +10 -2
  139. package/src/i18n/locales/it.ts +10 -2
  140. package/src/i18n/locales/zh.ts +10 -2
  141. package/src/i18n/shared-labels.ts +1 -1
  142. package/src/shell/app-shell.tsx +9 -0
  143. package/src/shell/fill-height.tsx +45 -0
  144. package/src/shell.ts +3 -0
@@ -0,0 +1,45 @@
1
+ import type { ComponentPropsWithRef } from "react";
2
+ import { cn } from "../lib/cn";
3
+
4
+ /**
5
+ * The list page's fill, for an element between AppShell's `<main>` and a `fillHeight`
6
+ * DataTable (0.40, docs/page-layout-harmonization.md §1.3): from `md` up, a flex column
7
+ * that takes the rest of its parent — only while such a table is inside
8
+ * (`has-[[data-fill-height]]`, the marker the table sets). Below `md`, and around
9
+ * anything else, nothing: so a shell column may carry it for every route.
10
+ *
11
+ * No `min-h-0`, on purpose: a flex item's automatic minimum is its content's, and that
12
+ * content counts the table's body at its 12rem floor, not at its rows. On a window too
13
+ * short for the page's header and the floor, the page keeps that height and `<main>`
14
+ * scrolls — with the page's own padding, which a `min-h-0` would push out of view.
15
+ *
16
+ * For a wrapper that is another component, or that merges other classes; otherwise
17
+ * use {@link FillHeight}.
18
+ */
19
+ export const FILL_HEIGHT_CLASS =
20
+ "md:has-[[data-fill-height]]:flex md:has-[[data-fill-height]]:flex-1 md:has-[[data-fill-height]]:flex-col";
21
+
22
+ /** A plain `div`'s props: `className` is merged after {@link FILL_HEIGHT_CLASS}, and
23
+ * `ref` reaches the `div`. */
24
+ export type FillHeightProps = ComponentPropsWithRef<"div">;
25
+
26
+ /**
27
+ * A wrapper between AppShell's `<main>` and a `fillHeight` DataTable: from `md`, a flex
28
+ * column that takes the rest of its parent — only while such a table is inside. Below
29
+ * `md`, and around anything else, a plain `div`.
30
+ *
31
+ * Every element on the way is one: the page's root, and any wrapper between it and the
32
+ * table (an `id` holder, a desktop-only wrapper — that one merges
33
+ * {@link FILL_HEIGHT_CLASS} with its own classes). The page's header above the table
34
+ * keeps its height; only the table's body scrolls.
35
+ *
36
+ * ```tsx
37
+ * <FillHeight className="py-4 md:p-6">
38
+ * <PageHeader title="Payees" />
39
+ * <DataTable fillHeight rows={rows} columns={columns} rowKey={(r) => r.id} />
40
+ * </FillHeight>
41
+ * ```
42
+ */
43
+ export function FillHeight({ className, ...props }: FillHeightProps) {
44
+ return <div {...props} className={cn(FILL_HEIGHT_CLASS, className)} />;
45
+ }
package/src/shell.ts CHANGED
@@ -10,6 +10,9 @@ export * from "./shell/role-switcher";
10
10
  export * from "./shell/topbar-action-menu";
11
11
  export * from "./shell/top-bar-brand";
12
12
  export * from "./shell/auth-layout";
13
+ // 0.40.0: the list page's fill (docs/page-layout-harmonization.md §1.3).
14
+ export { FillHeight, FILL_HEIGHT_CLASS } from "./shell/fill-height";
15
+ export type { FillHeightProps } from "./shell/fill-height";
13
16
  // 0.31.0: the settings and admin pages' shell (docs/settings-harmonization.md §3, §5).
14
17
  export { SettingsLayout, SETTINGS_SEARCH_THRESHOLD } from "./settings/settings-layout";
15
18
  export type { SettingsLayoutProps, SettingsLayoutWidth, SettingsDocumentTitleParts } from "./settings/settings-layout";