@nar-bus/ui-kit 1.35.0 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/{Button-B_PvZOyI.js → Button-QiaEzRWh.js} +1 -0
  2. package/dist/atoms/Badge.d.ts.map +1 -1
  3. package/dist/atoms/Button.d.ts +2 -0
  4. package/dist/atoms/Button.d.ts.map +1 -1
  5. package/dist/atoms/Icon.d.ts +5 -3
  6. package/dist/atoms/Icon.d.ts.map +1 -1
  7. package/dist/atoms/index.d.ts +1 -1
  8. package/dist/atoms/index.d.ts.map +1 -1
  9. package/dist/hooks/useBreadcrumb.d.ts +1 -0
  10. package/dist/hooks/useBreadcrumb.d.ts.map +1 -1
  11. package/dist/i18n/en.json.d.ts +1103 -1099
  12. package/dist/i18n/resources.d.ts +8 -0
  13. package/dist/i18n/resources.d.ts.map +1 -1
  14. package/dist/i18n/resources.js +1 -1
  15. package/dist/i18n/tr.json.d.ts +1103 -1099
  16. package/dist/index.d.ts +8 -7
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +7122 -5267
  19. package/dist/map.js +1 -1
  20. package/dist/molecules/ChartFrame.d.ts +37 -0
  21. package/dist/molecules/ChartFrame.d.ts.map +1 -0
  22. package/dist/molecules/CopyableText.d.ts.map +1 -1
  23. package/dist/molecules/DetailPanel.d.ts +16 -0
  24. package/dist/molecules/DetailPanel.d.ts.map +1 -0
  25. package/dist/molecules/DetailTabs.d.ts +32 -0
  26. package/dist/molecules/DetailTabs.d.ts.map +1 -0
  27. package/dist/molecules/DistributionBar.d.ts +15 -0
  28. package/dist/molecules/DistributionBar.d.ts.map +1 -0
  29. package/dist/molecules/DistributionPanel.d.ts +34 -0
  30. package/dist/molecules/DistributionPanel.d.ts.map +1 -0
  31. package/dist/molecules/HtmlPreview.d.ts +13 -0
  32. package/dist/molecules/HtmlPreview.d.ts.map +1 -0
  33. package/dist/molecules/KpiCard.d.ts.map +1 -1
  34. package/dist/molecules/LaneChart.d.ts +104 -0
  35. package/dist/molecules/LaneChart.d.ts.map +1 -0
  36. package/dist/molecules/MetricTile.d.ts.map +1 -1
  37. package/dist/molecules/MiniBars.d.ts +17 -0
  38. package/dist/molecules/MiniBars.d.ts.map +1 -0
  39. package/dist/molecules/PulseRail.d.ts +15 -0
  40. package/dist/molecules/PulseRail.d.ts.map +1 -0
  41. package/dist/molecules/RecordHeaderActions.d.ts +17 -0
  42. package/dist/molecules/RecordHeaderActions.d.ts.map +1 -0
  43. package/dist/molecules/RhythmGrid.d.ts +133 -0
  44. package/dist/molecules/RhythmGrid.d.ts.map +1 -0
  45. package/dist/molecules/RitimStrip.d.ts +13 -0
  46. package/dist/molecules/RitimStrip.d.ts.map +1 -0
  47. package/dist/molecules/SegmentedChoice.d.ts +14 -0
  48. package/dist/molecules/SegmentedChoice.d.ts.map +1 -0
  49. package/dist/molecules/StatusGlyph.d.ts +10 -0
  50. package/dist/molecules/StatusGlyph.d.ts.map +1 -0
  51. package/dist/molecules/ToggleChips.d.ts +22 -0
  52. package/dist/molecules/ToggleChips.d.ts.map +1 -0
  53. package/dist/molecules/index.d.ts +15 -0
  54. package/dist/molecules/index.d.ts.map +1 -1
  55. package/dist/organisms/DataTable/DataTableHeader.d.ts.map +1 -1
  56. package/dist/organisms/DataTable/DataTableRow.d.ts +2 -1
  57. package/dist/organisms/DataTable/DataTableRow.d.ts.map +1 -1
  58. package/dist/organisms/DataTable/cellFilter.d.ts +18 -0
  59. package/dist/organisms/DataTable/cellFilter.d.ts.map +1 -0
  60. package/dist/organisms/DataTable.d.ts +4 -1
  61. package/dist/organisms/DataTable.d.ts.map +1 -1
  62. package/dist/organisms/DataTable.types.d.ts +8 -0
  63. package/dist/organisms/DataTable.types.d.ts.map +1 -1
  64. package/dist/organisms/FilterPanel.d.ts +6 -0
  65. package/dist/organisms/FilterPanel.d.ts.map +1 -1
  66. package/dist/organisms/JsonFormView.d.ts +25 -0
  67. package/dist/organisms/JsonFormView.d.ts.map +1 -0
  68. package/dist/organisms/Sheet.d.ts +2 -2
  69. package/dist/organisms/Sheet.d.ts.map +1 -1
  70. package/dist/organisms/Sidebar.d.ts.map +1 -1
  71. package/dist/organisms/Tabs.d.ts +6 -1
  72. package/dist/organisms/Tabs.d.ts.map +1 -1
  73. package/dist/organisms/index.d.ts +2 -0
  74. package/dist/organisms/index.d.ts.map +1 -1
  75. package/dist/resources-CqpCpxo8.js +86 -0
  76. package/dist/templates/DetailHero.d.ts +56 -0
  77. package/dist/templates/DetailHero.d.ts.map +1 -0
  78. package/dist/templates/DetailHeroFacts.d.ts +23 -0
  79. package/dist/templates/DetailHeroFacts.d.ts.map +1 -0
  80. package/dist/templates/ListPageLayout.d.ts +20 -2
  81. package/dist/templates/ListPageLayout.d.ts.map +1 -1
  82. package/dist/templates/ListSheet.d.ts +41 -0
  83. package/dist/templates/ListSheet.d.ts.map +1 -0
  84. package/dist/templates/MasterDetailLayout.d.ts +52 -0
  85. package/dist/templates/MasterDetailLayout.d.ts.map +1 -0
  86. package/dist/templates/PageHeading.d.ts +16 -0
  87. package/dist/templates/PageHeading.d.ts.map +1 -0
  88. package/dist/templates/PageLayout.d.ts +21 -0
  89. package/dist/templates/PageLayout.d.ts.map +1 -0
  90. package/dist/templates/RecordPanel.d.ts +13 -0
  91. package/dist/templates/RecordPanel.d.ts.map +1 -0
  92. package/dist/templates/ReportLayout.d.ts +7 -9
  93. package/dist/templates/ReportLayout.d.ts.map +1 -1
  94. package/dist/templates/SummarySheet.d.ts +71 -0
  95. package/dist/templates/SummarySheet.d.ts.map +1 -0
  96. package/dist/templates/index.d.ts +11 -0
  97. package/dist/templates/index.d.ts.map +1 -1
  98. package/dist/templates/listFilters.d.ts +21 -0
  99. package/dist/templates/listFilters.d.ts.map +1 -0
  100. package/dist/templates/ritimIdentity.d.ts +26 -0
  101. package/dist/templates/ritimIdentity.d.ts.map +1 -0
  102. package/dist/templates/useViewportFillHeight.d.ts +10 -0
  103. package/dist/templates/useViewportFillHeight.d.ts.map +1 -0
  104. package/dist/theme/ThemeProvider.d.ts +3 -2
  105. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  106. package/dist/theme/index.d.ts +1 -1
  107. package/dist/theme/index.d.ts.map +1 -1
  108. package/dist/theme/themeContext.d.ts +3 -0
  109. package/dist/theme/themeContext.d.ts.map +1 -1
  110. package/dist/theme.css +1 -1
  111. package/dist/ui-kit.css +1 -1
  112. package/dist/utils/dataAttributes.d.ts +5 -0
  113. package/dist/utils/dataAttributes.d.ts.map +1 -0
  114. package/dist/utils/index.d.ts +1 -0
  115. package/dist/utils/index.d.ts.map +1 -1
  116. package/package.json +2 -1
  117. package/dist/resources-315JSWGl.js +0 -86
@@ -0,0 +1,56 @@
1
+ import { ReactNode } from 'react';
2
+ import { RitimTone } from '../molecules/StatusGlyph';
3
+ import { RitimStatus, RitimTag } from './ritimIdentity';
4
+ export interface DetailHeroFigure {
5
+ key: string;
6
+ label: string;
7
+ /** `undefined` while unknown or loading: the cell reads "—". */
8
+ value: ReactNode | undefined;
9
+ /** A failing or warning figure is drawn in its tone while above zero; the others stay in ink. */
10
+ tone?: RitimTone;
11
+ /** Quiet context under the value (e.g. why it is unknown, how it splits); one or two short lines. */
12
+ note?: ReactNode;
13
+ /** Makes the whole cell open what the figure counts (e.g. its tab); announced with the label. */
14
+ onSelect?: () => void;
15
+ }
16
+ export interface DetailHeroMeta {
17
+ key: string;
18
+ label: string;
19
+ value: ReactNode;
20
+ }
21
+ export interface DetailHeroProps {
22
+ /** Who it is (e.g. the slug) — the page's largest line. */
23
+ title: ReactNode;
24
+ /** Quiet content on the title's line, after it (e.g. a copyable IMEI). */
25
+ titleAside?: ReactNode;
26
+ /**
27
+ * Edits the record's identity in place (e.g. name and category fields): drawn instead of the visible title line,
28
+ * while `title` stays the page's `h1` for screen readers only.
29
+ */
30
+ titleEditor?: ReactNode;
31
+ /** One quiet identity line (brand model, protocol, firmware). */
32
+ subtitle?: ReactNode;
33
+ /** Names the states list for screen readers (e.g. "Haberleşme ünitesi durumu"). */
34
+ statusLabel: string;
35
+ statuses?: RitimStatus[];
36
+ tags?: RitimTag[];
37
+ /** Short facts under the states (e.g. location, address, last reading). */
38
+ facts?: ReactNode;
39
+ /** The record's own actions (primary first). */
40
+ actions?: ReactNode;
41
+ /** The middle column: what the record has been doing lately (e.g. its reading rhythm). */
42
+ activity?: ReactNode;
43
+ /** Key figures in a two-column grid, right of the activity. */
44
+ figures?: DetailHeroFigure[];
45
+ /** Identity facts in one row under the columns (serial, IMEI, IP, location, …). */
46
+ meta?: DetailHeroMeta[];
47
+ /** The record's sections (kit DetailTabs), drawn along the bottom edge of the hero. */
48
+ tabs?: ReactNode;
49
+ className?: string;
50
+ }
51
+ /**
52
+ * Faz 7 detail page standard (Lena Ritmi, unit detail): one panel holding the record's identity, its states and
53
+ * actions, its recent activity, a few figures and its identity facts, with the section tabs along its bottom edge.
54
+ */
55
+ export declare function DetailHero({ title, titleAside, titleEditor, subtitle, statusLabel, statuses, tags, facts, actions, activity, figures, meta, tabs, className, }: DetailHeroProps): import("react").JSX.Element;
56
+ //# sourceMappingURL=DetailHero.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailHero.d.ts","sourceRoot":"","sources":["../../src/templates/DetailHero.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAmD,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEnH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,iGAAiG;IACjG,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,qGAAqG;IACrG,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iGAAiG;IACjG,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,KAAK,EAAE,SAAS,CAAC;IACjB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gDAAgD;IAChD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,mFAAmF;IACnF,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;IACxB,uFAAuF;IACvF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,SAAS,GACV,EAAE,eAAe,+BA8GjB"}
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+ export interface DetailHeroFact {
3
+ key: string;
4
+ label: string;
5
+ /** The value line; `null` / `undefined` reads "—". */
6
+ value: ReactNode;
7
+ /** One quiet line under the value (e.g. an exact date, coordinates). */
8
+ detail?: ReactNode;
9
+ /** `"full"` spans every column (e.g. a list of tags whose names run long). */
10
+ span?: "full";
11
+ }
12
+ export interface DetailHeroFactsProps {
13
+ facts: DetailHeroFact[];
14
+ /** Columns from the `sm` breakpoint up; one below it. Default 2. */
15
+ columns?: 2 | 3;
16
+ className?: string;
17
+ }
18
+ /**
19
+ * Faz 7 detail hero facts: label over value in two or three even columns (one on narrow screens), read row by row — the same
20
+ * label / value voice as the hero's figures, so every value starts at the same edge.
21
+ */
22
+ export declare function DetailHeroFacts({ facts, columns, className }: DetailHeroFactsProps): import("react").JSX.Element;
23
+ //# sourceMappingURL=DetailHeroFacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailHeroFacts.d.ts","sourceRoot":"","sources":["../../src/templates/DetailHeroFacts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,EAAE,SAAS,CAAC;IACjB,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,oEAAoE;IACpE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,OAAW,EAAE,SAAS,EAAE,EAAE,oBAAoB,+BAuBtF"}
@@ -82,7 +82,11 @@ export interface ListPageLayoutProps {
82
82
  * does not catch it). All MDM + HES list pages already carry this wrapper.
83
83
  */
84
84
  sidePanel?: ReactNode;
85
- /** Optional tab strip rendered above the toolbar row (primary in-page navigation). Pass your own `<Tabs>`/`<UnifiedTabs>`. */
85
+ /**
86
+ * Optional tab strip rendered above the toolbar row (primary in-page navigation). Pass your own `<Tabs>`/`<UnifiedTabs>`.
87
+ * With `showTitle`, the tabs sit right under the heading and everything tab-scoped follows them: the summary, then
88
+ * one row of Filtre / search / chips … and the action group (create, export) at its end — each tab its own toolbar.
89
+ */
86
90
  tabsSlot?: ReactNode;
87
91
  /** Leading toolbar content — entity label + count, or informational metadata (e.g. "Modemler · 1.234", last-updated). Rendered at the start of the toolbar row. */
88
92
  toolbarMeta?: ReactNode;
@@ -97,8 +101,22 @@ export interface ListPageLayoutProps {
97
101
  * directly before the create button.
98
102
  */
99
103
  beforeFilterActions?: ReactNode;
104
+ /**
105
+ * Lena Ritmi list template: draws `title` as the page heading, with `titleMeta` beside it and the action group
106
+ * on the same row; the search and the chips follow on the next row. Off → the toolbar row as before.
107
+ */
108
+ showTitle?: boolean;
109
+ /** Quiet text after the heading while `showTitle` is on — e.g. "1.000.000 ünite, filtreyle 128". */
110
+ titleMeta?: ReactNode;
111
+ /** The list's summary (e.g. a `DistributionPanel`), between the heading and the search row. */
112
+ summary?: ReactNode;
113
+ /**
114
+ * While `showTitle` is on: controls at the end of the filter row (e.g. saved filters) — everything about filtering
115
+ * sits on that one row, the heading keeps the page's own actions.
116
+ */
117
+ filterActions?: ReactNode;
100
118
  children: ReactNode;
101
119
  className?: string;
102
120
  }
103
- export declare function ListPageLayout({ breadcrumbs, createButton, searchSlot, filterCount, onFilterToggle, filterOpen, sidePanelId, activeFilters, activeFiltersLeading, onRemoveFilter, onClearFilters, sidePanel, tabsSlot, toolbarMeta, secondaryActions, beforeFilterActions, children, className, }: ListPageLayoutProps): import("react").JSX.Element;
121
+ export declare function ListPageLayout({ title, breadcrumbs, createButton, searchSlot, filterCount, onFilterToggle, filterOpen, sidePanelId, activeFilters, activeFiltersLeading, onRemoveFilter, onClearFilters, sidePanel, tabsSlot, toolbarMeta, secondaryActions, beforeFilterActions, showTitle, titleMeta, summary, filterActions, children, className, }: ListPageLayoutProps): import("react").JSX.Element;
104
122
  //# sourceMappingURL=ListPageLayout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListPageLayout.d.ts","sourceRoot":"","sources":["../../src/templates/ListPageLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAc9D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAgBD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACtD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,8HAA8H;IAC9H,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,mKAAmK;IACnK,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,yIAAyI;IACzI,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB,+BAuJrB"}
1
+ {"version":3,"file":"ListPageLayout.d.ts","sourceRoot":"","sources":["../../src/templates/ListPageLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAiB9D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAgBD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACtD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,mKAAmK;IACnK,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,yIAAyI;IACzI,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oGAAoG;IACpG,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,SAAiB,EACjB,SAAS,EACT,OAAO,EACP,aAAa,EACb,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB,+BAiNrB"}
@@ -0,0 +1,41 @@
1
+ import { ReactNode } from 'react';
2
+ import { SheetProps } from '../organisms/Sheet';
3
+ import { StateBlockProps } from '../molecules/StateBlock';
4
+ export interface ListSheetProps extends Pick<StateBlockProps, "retryAction" | "errorVariant" | "emptyIcon" | "emptyTitle" | "emptyDescription" | "emptyAction" | "skeletonRows"> {
5
+ open: boolean;
6
+ onClose: SheetProps["onClose"];
7
+ /** What the list is (e.g. "Eşleşmeyen kayıtlar") — the Sheet's header title, as on `SummarySheet`. */
8
+ kind: string;
9
+ /** One quiet line under the header title (Sheet `description`, also the dialog's description). */
10
+ description?: string;
11
+ /** Optional largest line of the body (e.g. the run or period the list belongs to). */
12
+ title?: ReactNode;
13
+ /** Quiet figure after `title` (e.g. "128 kayıt"). Drawn only with `title`. */
14
+ count?: ReactNode;
15
+ /** Notes, filters or links above the list — drawn in every state but loading and error. */
16
+ summary?: ReactNode;
17
+ /** Icon actions in the header, left of ✕ (e.g. "CSV indir"). */
18
+ headerActions?: ReactNode;
19
+ /** Pinned bottom bar. */
20
+ footer?: ReactNode;
21
+ /** The list itself — a kit `DataTable` / `Table` or the caller's rows. */
22
+ children?: ReactNode;
23
+ /** The rows are loading: a skeleton in place of the list. */
24
+ loading?: boolean;
25
+ /** The rows could not be loaded: the message in place of the list (with `retryAction`). */
26
+ error?: string | Error | null;
27
+ /** Error without a message of its own (`error` given implies it). */
28
+ isError?: boolean;
29
+ /** No rows: the empty state (`emptyTitle` / `emptyDescription` / `emptyIcon`) in place of the list. */
30
+ empty?: boolean;
31
+ /** @default "var(--sheet-width-wide)" */
32
+ width?: string;
33
+ className?: string;
34
+ }
35
+ /**
36
+ * Lena Ritmi list side panel: a panel that shows a list, not one record. Same frame as `SummarySheet` — the kind in
37
+ * the header, an opaque sheet, the identity line drawn by `SummaryBody` — then a summary slot and the list, with its
38
+ * loading / error / empty states drawn by `StateBlock`. Wide by default.
39
+ */
40
+ export declare function ListSheet({ open, onClose, kind, description, title, count, summary, headerActions, footer, children, loading, error, isError, empty, retryAction, errorVariant, emptyIcon, emptyTitle, emptyDescription, emptyAction, skeletonRows, width, className, }: ListSheetProps): import("react").JSX.Element;
41
+ //# sourceMappingURL=ListSheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListSheet.d.ts","sourceRoot":"","sources":["../../src/templates/ListSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM3E,MAAM,WAAW,cACf,SAAQ,IAAI,CACV,eAAe,EACf,aAAa,GAAG,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,cAAc,CAClH;IACD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,sGAAsG;IACtG,IAAI,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,gEAAgE;IAChE,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,yBAAyB;IACzB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAC9B,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uGAAuG;IACvG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,WAAW,EACX,KAAK,EACL,KAAK,EACL,OAAO,EACP,aAAa,EACb,MAAM,EACN,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,EACP,KAAK,EACL,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,KAAwB,EACxB,SAAS,GACV,EAAE,cAAc,+BAqDhB"}
@@ -0,0 +1,52 @@
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ import { BreadcrumbItem } from '../organisms/Breadcrumb';
3
+ export interface MasterDetailLayoutProps {
4
+ title: string;
5
+ /** Quiet text after the title. */
6
+ titleMeta?: ReactNode;
7
+ /** Written to the app header (the page draws none itself). */
8
+ breadcrumbs: BreadcrumbItem[];
9
+ /** The page's own actions, at the end of the heading row. */
10
+ actions?: ReactNode;
11
+ /** Primary in-page navigation, right under the heading. */
12
+ tabsSlot?: ReactNode;
13
+ /** Accessible name of the master pane. */
14
+ masterLabel: string;
15
+ /** Pinned at the top of the master pane (search, a scope switch). */
16
+ masterSearch?: ReactNode;
17
+ /** The master list; it scrolls inside the pane. */
18
+ master: ReactNode;
19
+ /** Pinned at the bottom of the master pane (e.g. "82 / 82 il"). */
20
+ masterFooter?: ReactNode;
21
+ /** The selected record, or the empty state that asks for one. */
22
+ detail: ReactNode;
23
+ className?: string;
24
+ }
25
+ /**
26
+ * Lena Ritmi master-detail template: the shared heading, then the master list in a pane as tall as the window that
27
+ * sticks under the app header and scrolls inside itself, and the detail beside it — a long master list never leaves
28
+ * the detail behind at the top. The page's own width decides (a container query, so an open app menu counts): when
29
+ * it is too narrow for both, a short list sits above the detail and the detail stays in view.
30
+ */
31
+ export declare function MasterDetailLayout({ title, titleMeta, breadcrumbs, actions, tabsSlot, masterLabel, masterSearch, master, masterFooter, detail, className, }: MasterDetailLayoutProps): import("react").JSX.Element;
32
+ export interface MasterListItemProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type"> {
33
+ /** The record the detail shows. */
34
+ selected: boolean;
35
+ /**
36
+ * The standard row: the record's code or name. With it the row draws `primary` (and `primaryMeta` after it) over
37
+ * `secondary`, and `trailing` at the end — every master list of this kind then has the same height and rhythm.
38
+ * Without it the row renders its `children`.
39
+ */
40
+ primary?: ReactNode;
41
+ /** Quiet figure after the primary text (e.g. the value count). */
42
+ primaryMeta?: ReactNode;
43
+ /** Second line under the primary text. */
44
+ secondary?: ReactNode;
45
+ /** At the end of the row (owner badges, markers). */
46
+ trailing?: ReactNode;
47
+ /** The primary text is a code: monospace. */
48
+ mono?: boolean;
49
+ }
50
+ /** One row of a master list: the whole row selects it, the selected one carries the primary edge and tint. */
51
+ export declare function MasterListItem({ selected, primary, primaryMeta, secondary, trailing, mono, className, children, ...rest }: MasterListItemProps): import("react").JSX.Element;
52
+ //# sourceMappingURL=MasterDetailLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MasterDetailLayout.d.ts","sourceRoot":"","sources":["../../src/templates/MasterDetailLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,8DAA8D;IAC9D,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,mDAAmD;IACnD,MAAM,EAAE,SAAS,CAAC;IAClB,mEAAmE;IACnE,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,iEAAiE;IACjE,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,SAAS,EACT,WAAW,EACX,OAAO,EACP,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,MAAM,EACN,SAAS,GACV,EAAE,uBAAuB,+BAwCzB;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAChG,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,kEAAkE;IAClE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,8GAA8G;AAC9G,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,mBAAmB,+BA+CrB"}
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ export interface PageHeadingProps {
3
+ title: ReactNode;
4
+ /** Quiet text after the title — e.g. "1.000.000 ünite, filtreyle 128". */
5
+ meta?: ReactNode;
6
+ /** The page's own actions, at the end of the row. */
7
+ actions?: ReactNode;
8
+ /** Id of the `<h1>`, for a landmark named by it (`aria-labelledby`). */
9
+ titleId?: string;
10
+ }
11
+ /**
12
+ * Lena Ritmi page heading: the one title row every page template draws (list, master-detail, plain page), so the
13
+ * screens share their type, spacing and action placement.
14
+ */
15
+ export declare function PageHeading({ title, meta, actions, titleId }: PageHeadingProps): import("react").JSX.Element;
16
+ //# sourceMappingURL=PageHeading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHeading.d.ts","sourceRoot":"","sources":["../../src/templates/PageHeading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,gBAAgB,+BAU9E"}
@@ -0,0 +1,21 @@
1
+ import { ReactNode } from 'react';
2
+ import { BreadcrumbItem } from '../organisms/Breadcrumb';
3
+ export interface PageLayoutProps {
4
+ title: string;
5
+ /** Quiet text after the title. */
6
+ titleMeta?: ReactNode;
7
+ /** Written to the app header (the page draws none itself). */
8
+ breadcrumbs: BreadcrumbItem[];
9
+ /** The page's own actions, at the end of the heading row. */
10
+ actions?: ReactNode;
11
+ /** Primary in-page navigation, right under the heading. */
12
+ tabsSlot?: ReactNode;
13
+ children: ReactNode;
14
+ className?: string;
15
+ }
16
+ /**
17
+ * Lena Ritmi page template for a screen that is not a list — a status board, a summary, a settings form: the same
18
+ * heading as `ListPageLayout` and `MasterDetailLayout`, then the tabs, then the content on the page's rhythm.
19
+ */
20
+ export declare function PageLayout({ title, titleMeta, breadcrumbs, actions, tabsSlot, children, className }: PageLayoutProps): import("react").JSX.Element;
21
+ //# sourceMappingURL=PageLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageLayout.d.ts","sourceRoot":"","sources":["../../src/templates/PageLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAK9D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,8DAA8D;IAC9D,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,+BASpH"}
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { SummaryBodyProps } from './SummarySheet';
3
+ export interface RecordPanelProps extends Omit<SummaryBodyProps, "figureColumns"> {
4
+ /** Actions of the record at the end of the header row (edit, move, delete). */
5
+ headerActions?: ReactNode;
6
+ }
7
+ /**
8
+ * Lena Ritmi in-page record — the detail pane of a master-detail page: the slide panel's frame (`SummarySheet`) in a
9
+ * card. The kind and the record's actions share the header row; the identity, states and figures follow, then the
10
+ * page's own sections.
11
+ */
12
+ export declare function RecordPanel({ kind, headerActions, className, ...body }: RecordPanelProps): import("react").JSX.Element;
13
+ //# sourceMappingURL=RecordPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordPanel.d.ts","sourceRoot":"","sources":["../../src/templates/RecordPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAC/E,+EAA+E;IAC/E,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,gBAAgB,+BAmBxF"}
@@ -4,21 +4,19 @@ import { TabItem } from '../organisms/Tabs';
4
4
  import { SelectOption } from '../atoms/Select';
5
5
  export interface ReportLayoutProps {
6
6
  /**
7
- * The report's name. By default it is NOT drawn in the page: like the other
8
- * layout templates, the page title lives in the host's breadcrumb
9
- * (`breadcrumbs`' last item). Set `showTitle` to also draw it as the page's
10
- * `<h1>` (NB-REPORTLAYOUT-TITLE-01).
7
+ * The report's name. By default it is NOT drawn in the page (it is the
8
+ * breadcrumb's last item). Set `showTitle` to draw it as the Lena Ritmi page
9
+ * heading (`PageHeading`, as `ListPageLayout` / `PageLayout` do).
11
10
  */
12
11
  title: string;
13
12
  /**
14
- * NB-REPORTLAYOUT-TITLE-01 — draw `title` (and `subtitle`) as an `<h1>` block at
15
- * the start of the header row, actions on the right; the `<main>` landmark is
16
- * then named by it. Off by default: 12 HES report pages already show the name in
17
- * the breadcrumb and would get it twice (the GAP-10 call for `ListPageLayout`).
13
+ * Draw `title` as the Lena Ritmi page heading (`PageHeading`: the `<h1>`, then
14
+ * `subtitle` as its quiet meta, the actions at the end of the row); the `<main>`
15
+ * landmark is then named by it. Opt-in like `ListPageLayout`'s `showTitle`.
18
16
  * @default false
19
17
  */
20
18
  showTitle?: boolean;
21
- /** Muted line under the drawn title (only with `showTitle`). */
19
+ /** Quiet text after the drawn title (only with `showTitle`). */
22
20
  subtitle?: ReactNode;
23
21
  breadcrumbs: BreadcrumbItem[];
24
22
  criteria?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"ReportLayout.d.ts","sourceRoot":"","sources":["../../src/templates/ReportLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAQ,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI5D,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;;;OAIG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,SAAiB,EACjB,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,QAAQ,EACR,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,EACP,SAAS,GACV,EAAE,iBAAiB,+BAgGnB"}
1
+ {"version":3,"file":"ReportLayout.d.ts","sourceRoot":"","sources":["../../src/templates/ReportLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAQ,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK5D,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;;;OAIG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,SAAiB,EACjB,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,QAAQ,EACR,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,EACP,SAAS,GACV,EAAE,iBAAiB,+BA0FnB"}
@@ -0,0 +1,71 @@
1
+ import { ReactNode } from 'react';
2
+ import { SheetProps } from '../organisms/Sheet';
3
+ import { RitimTone } from '../molecules/StatusGlyph';
4
+ import { RitimStatus } from './ritimIdentity';
5
+ export type SummarySheetStatus = RitimStatus;
6
+ export interface SummarySheetFigure {
7
+ key: string;
8
+ label: string;
9
+ /** `undefined` while unknown or loading: the cell reads "—". */
10
+ value: ReactNode | undefined;
11
+ /** A failing or warning figure is drawn in its tone while above zero; the others stay in ink. */
12
+ tone?: RitimTone;
13
+ }
14
+ export interface SummarySheetProps {
15
+ open: boolean;
16
+ onClose: SheetProps["onClose"];
17
+ /** What the record is (e.g. "Haberleşme ünitesi") — the Sheet's header title. */
18
+ kind: string;
19
+ /** Who it is (e.g. the slug) — the panel's largest line. */
20
+ title: ReactNode;
21
+ /** One quiet identity line under the title (e.g. model, firmware). */
22
+ subtitle?: ReactNode;
23
+ /** The record's states, drawn as shape + colour + text (never colour alone). */
24
+ statuses?: SummarySheetStatus[];
25
+ /** Small outlined chips after the states (flags, transport, tags). */
26
+ tags?: Array<{
27
+ key: string;
28
+ label: ReactNode;
29
+ }>;
30
+ /** Edit the record — the standard pencil in the header, left of ✕ (RecordHeaderActions). */
31
+ onEdit?: () => void;
32
+ /** Delete the record — the standard trash in the header, after edit. */
33
+ onDelete?: () => void;
34
+ editDisabledReason?: string;
35
+ deleteDisabledReason?: string;
36
+ /** Further icon actions in the header, before edit and delete. */
37
+ headerActions?: ReactNode;
38
+ /**
39
+ * The record's operations under the identity (e.g. "Şimdi çalıştır", "Şifre sıfırla") — the primary one first as a
40
+ * primary button, the rest outline. Never edit or delete: those are `onEdit` / `onDelete` in the header.
41
+ */
42
+ actions?: ReactNode;
43
+ /** A few key figures in a two-column grid (counts, signal, last contact). */
44
+ figures?: SummarySheetFigure[];
45
+ /** Pinned bottom bar (e.g. "Detaya git"). */
46
+ footer?: ReactNode;
47
+ /** Page-specific sections (DetailSection / DetailFieldRow). */
48
+ children?: ReactNode;
49
+ width?: string;
50
+ className?: string;
51
+ /** The record is still loading: the frame shows its kind over a placeholder of the identity and figures. */
52
+ loading?: boolean;
53
+ }
54
+ /**
55
+ * Faz 7 slide panel standard (Lena Ritmi): the summary a list row opens on the right. Fixed frame — kind in the
56
+ * header, the record's identity, its states as shape + text, a few figures — then the page's own sections and a
57
+ * pinned footer. Pages fill the slots; the frame stays the same on every list.
58
+ */
59
+ export declare function SummarySheet({ open, onClose, kind, title, subtitle, statuses, tags, onEdit, onDelete, editDisabledReason, deleteDisabledReason, headerActions, actions, figures, footer, children, width, className, loading, }: SummarySheetProps): import("react").JSX.Element;
60
+ /** The summary's placeholder while the record loads: the identity lines, then the figure grid. */
61
+ export declare function SummarySkeleton(): import("react").JSX.Element;
62
+ export type SummaryBodyProps = Pick<SummarySheetProps, "kind" | "title" | "subtitle" | "statuses" | "tags" | "actions" | "figures" | "children" | "className"> & {
63
+ /** Figures per row from the `md` width up (two below it). @default 2 */
64
+ figureColumns?: 2 | 4;
65
+ };
66
+ /**
67
+ * The Lena Ritmi record summary — identity, states, tags, actions, key figures, then the page's sections. The slide
68
+ * panel (`SummarySheet`) and the in-page record (`RecordPanel`) draw the same body.
69
+ */
70
+ export declare function SummaryBody({ kind, title, subtitle, statuses, tags, actions, figures, figureColumns, children, className, }: SummaryBodyProps): import("react").JSX.Element;
71
+ //# sourceMappingURL=SummarySheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SummarySheet.d.ts","sourceRoot":"","sources":["../../src/templates/SummarySheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAmD,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGpG,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,iGAAiG;IACjG,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,KAAK,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChC,sEAAsE;IACtE,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAChD,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4GAA4G;IAC5G,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,SAAS,EACT,OAAO,GACR,EAAE,iBAAiB,+BA0CnB;AAED,kGAAkG;AAClG,wBAAgB,eAAe,gCAW9B;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,iBAAiB,EACjB,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CACvG,GAAG;IACF,wEAAwE;IACxE,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,OAAO,EACP,aAAiB,EACjB,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,+BA0DlB"}
@@ -2,4 +2,15 @@ export { ListPageLayout, type ListPageLayoutProps, type ActiveFilter } from './L
2
2
  export { DetailPageLayout, type DetailPageLayoutProps, type DetailAction } from './DetailPageLayout';
3
3
  export { AuthLayout, type AuthLayoutProps } from './AuthLayout';
4
4
  export { ReportLayout, type ReportLayoutProps } from './ReportLayout';
5
+ export { SummarySheet, SummaryBody, type SummarySheetProps, type SummarySheetStatus, type SummarySheetFigure, type SummaryBodyProps } from './SummarySheet';
6
+ export { RecordPanel, type RecordPanelProps } from './RecordPanel';
7
+ export { ListSheet, type ListSheetProps } from './ListSheet';
8
+ export { applyCellFilter, removeFilterField, filterChips, type FilterChipOptions } from './listFilters';
9
+ export { DetailHero, type DetailHeroProps, type DetailHeroFigure, type DetailHeroMeta } from './DetailHero';
10
+ export { RitimStatusList, RitimTagList, type RitimStatus, type RitimTag } from './ritimIdentity';
11
+ export { DetailHeroFacts, type DetailHeroFact, type DetailHeroFactsProps } from './DetailHeroFacts';
12
+ export { PageHeading, type PageHeadingProps } from './PageHeading';
13
+ export { PageLayout, type PageLayoutProps } from './PageLayout';
14
+ export { MasterDetailLayout, MasterListItem, type MasterDetailLayoutProps, type MasterListItemProps } from './MasterDetailLayout';
15
+ export { useViewportFillHeight } from './useViewportFillHeight';
5
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5J,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,KAAK,uBAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClI,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { FilterField, FilterValue } from '../organisms/FilterPanel';
2
+ import { ActiveFilter } from './ListPageLayout';
3
+ /**
4
+ * The values after a cell narrows the list to `field = value`: that field's own entries are replaced, the other
5
+ * fields' entries stay (user decision 30.10). A multi-value field gets its `values` list.
6
+ */
7
+ export declare function applyCellFilter(values: readonly FilterValue[], fields: readonly FilterField[], key: string, value: string): FilterValue[];
8
+ /** The values without `key`'s entries (a chip's ✕). */
9
+ export declare function removeFilterField(values: readonly FilterValue[], fields: readonly FilterField[], key: string): FilterValue[];
10
+ export interface FilterChipOptions {
11
+ /** A page's own wording for a value (e.g. "Evet" for `true`); `undefined` falls back to the option label. */
12
+ formatValue?: (field: FilterField, value: string) => string | undefined;
13
+ /** The text of a value-less operator ("Boş" / "Boş değil"). */
14
+ valuelessLabel?: (operator: string) => string;
15
+ }
16
+ /**
17
+ * One chip per active field, in the fields' order — "Durum = Aktif", "Operatör: A, B", "Tarih: 01.10.2026 – 31.10.2026".
18
+ * The chip's key is the field's key (pass it to {@link removeFilterField}).
19
+ */
20
+ export declare function filterChips(values: readonly FilterValue[], fields: readonly FilterField[], options?: FilterChipOptions): ActiveFilter[];
21
+ //# sourceMappingURL=listFilters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listFilters.d.ts","sourceRoot":"","sources":["../../src/templates/listFilters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAoBrD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,WAAW,EAAE,CAKf;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,GAAG,EAAE,MAAM,GACV,WAAW,EAAE,CAGf;AAsBD,MAAM,WAAW,iBAAiB;IAChC,6GAA6G;IAC7G,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE,+DAA+D;IAC/D,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,OAAO,GAAE,iBAAsB,GAC9B,YAAY,EAAE,CAkChB"}
@@ -0,0 +1,26 @@
1
+ import { ReactNode } from 'react';
2
+ import { RitimTone } from '../molecules/StatusGlyph';
3
+ export interface RitimStatus {
4
+ key: string;
5
+ label: string;
6
+ tone: RitimTone;
7
+ /** One quiet line under the label (e.g. since when, last contact). */
8
+ detail?: ReactNode;
9
+ }
10
+ export interface RitimTag {
11
+ key: string;
12
+ label: ReactNode;
13
+ }
14
+ export declare const LOUD_TONES: ReadonlySet<RitimTone>;
15
+ /** A record's states as shape + colour + text (never colour alone); calm states stay in secondary ink. */
16
+ export declare function RitimStatusList({ statuses, label }: {
17
+ statuses: RitimStatus[];
18
+ label: string;
19
+ }): import("react").JSX.Element;
20
+ /** Small outlined chips (flags, transport, tags). */
21
+ export declare function RitimTagList({ tags }: {
22
+ tags: RitimTag[];
23
+ }): import("react").JSX.Element;
24
+ /** A figure's ink: its tone only while known and above zero (colour means "look here"), muted while unknown. */
25
+ export declare function ritimFigureColor(value: ReactNode | undefined, tone?: RitimTone): string;
26
+ //# sourceMappingURL=ritimIdentity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ritimIdentity.d.ts","sourceRoot":"","sources":["../../src/templates/ritimIdentity.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEvF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,sEAAsE;IACtE,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,SAAS,CAA6B,CAAC;AAE5E,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,+BAuB9F;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;CAAE,+BAiB1D;AAED,gHAAgH;AAChH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAKvF"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Lena Ritmi sticky pane height: from where the pane starts to the bottom of the window, so its footer is always on
3
+ * screen — whether it starts mid-page under the heading or sticks to the top after a scroll. The list filter rail and
4
+ * the master pane of a master-detail page use it; the pane scrolls inside itself.
5
+ */
6
+ export declare function useViewportFillHeight(active: boolean): {
7
+ ref: import('react').RefObject<HTMLElement | null>;
8
+ height: number | undefined;
9
+ };
10
+ //# sourceMappingURL=useViewportFillHeight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useViewportFillHeight.d.ts","sourceRoot":"","sources":["../../src/templates/useViewportFillHeight.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO;;;EA4BpD"}
@@ -1,9 +1,10 @@
1
1
  import { ReactNode } from 'react';
2
- import { Theme } from './themeContext';
2
+ import { Skin, Theme } from './themeContext';
3
3
  interface ThemeProviderProps {
4
4
  children: ReactNode;
5
5
  defaultTheme?: Theme;
6
+ defaultSkin?: Skin;
6
7
  }
7
- export declare function ThemeProvider({ children, defaultTheme }: ThemeProviderProps): import("react").JSX.Element;
8
+ export declare function ThemeProvider({ children, defaultTheme, defaultSkin }: ThemeProviderProps): import("react").JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=ThemeProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,KAAK,EAEX,MAAM,gBAAgB,CAAC;AA4CxB,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,kBAAkB,+BAiE3E"}
1
+ {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,IAAI,EACT,KAAK,KAAK,EAEX,MAAM,gBAAgB,CAAC;AA8DxB,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,kBAAkB,+BA+ExF"}
@@ -1,4 +1,4 @@
1
1
  export { ThemeProvider } from './ThemeProvider';
2
2
  export { useTheme } from './useTheme';
3
- export type { Theme, Density, Motion } from './themeContext';
3
+ export type { Theme, Density, Motion, Skin } from './themeContext';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,13 +1,16 @@
1
1
  export type Theme = "dark" | "light";
2
2
  export type Density = "comfortable" | "compact" | "spacious";
3
3
  export type Motion = "full" | "reduced";
4
+ export type Skin = "classic" | "ritim";
4
5
  export interface ThemeContextValue {
5
6
  theme: Theme;
6
7
  density: Density;
7
8
  motion: Motion;
9
+ skin: Skin;
8
10
  setTheme: (theme: Theme) => void;
9
11
  setDensity: (density: Density) => void;
10
12
  setMotion: (motion: Motion) => void;
13
+ setSkin: (skin: Skin) => void;
11
14
  toggleTheme: () => void;
12
15
  }
13
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"themeContext.d.ts","sourceRoot":"","sources":["../../src/theme/themeContext.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAC7D,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAExC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,mDAAgD,CAAC"}
1
+ {"version":3,"file":"themeContext.d.ts","sourceRoot":"","sources":["../../src/theme/themeContext.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAC7D,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AACxC,MAAM,MAAM,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,mDAAgD,CAAC"}