@kronor/dtv 0.7.1 → 1.0.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 (131) hide show
  1. package/README.md +38 -3
  2. package/dist/assets/{index-Cty-bDnK.js → index-ZfTF3D5e.js} +75 -75
  3. package/dist/index.es.js +856 -827
  4. package/dist/index.html +1 -1
  5. package/dist/types/src/App.d.ts.map +1 -0
  6. package/dist/types/src/components/AIAssistantForm.d.ts.map +1 -0
  7. package/dist/types/src/components/ActionButtons.d.ts.map +1 -0
  8. package/dist/types/src/components/FilterForm.d.ts.map +1 -0
  9. package/dist/types/src/components/PhoneNumberFilter.d.ts.map +1 -0
  10. package/dist/types/src/components/SavedFilterList.d.ts.map +1 -0
  11. package/dist/types/src/components/SpeechInput.d.ts.map +1 -0
  12. package/dist/types/src/components/Table.d.ts.map +1 -0
  13. package/dist/types/src/components/TablePagination.d.ts.map +1 -0
  14. package/dist/types/src/components/aiAssistant.d.ts.map +1 -0
  15. package/dist/types/src/dsl/columns.d.ts +21 -0
  16. package/dist/types/src/dsl/columns.d.ts.map +1 -0
  17. package/dist/types/src/dsl/reference.d.ts +17 -0
  18. package/dist/types/src/dsl/reference.d.ts.map +1 -0
  19. package/dist/types/src/framework/actions.d.ts.map +1 -0
  20. package/dist/types/src/framework/cell-renderer-components/CurrencyAmount.d.ts.map +1 -0
  21. package/dist/types/src/framework/cell-renderer-components/LayoutHelpers.d.ts.map +1 -0
  22. package/dist/types/src/framework/cell-renderer-components/Link.d.ts.map +1 -0
  23. package/dist/types/src/framework/cell-renderer-components/Mapping.d.ts.map +1 -0
  24. package/dist/types/{framework → src/framework}/column-definition.d.ts +7 -1
  25. package/dist/types/src/framework/column-definition.d.ts.map +1 -0
  26. package/dist/types/src/framework/currency.d.ts.map +1 -0
  27. package/dist/types/src/framework/data.d.ts.map +1 -0
  28. package/dist/types/src/framework/filter-form-state.d.ts.map +1 -0
  29. package/dist/types/src/framework/filter-sharing.d.ts.map +1 -0
  30. package/dist/types/src/framework/filters.d.ts.map +1 -0
  31. package/dist/types/src/framework/graphql.d.ts.map +1 -0
  32. package/dist/types/src/framework/native-runtime/index.d.ts.map +1 -0
  33. package/dist/types/src/framework/runtime.d.ts.map +1 -0
  34. package/dist/types/src/framework/saved-filters.d.ts.map +1 -0
  35. package/dist/types/src/framework/state.d.ts.map +1 -0
  36. package/dist/types/{framework → src/framework}/view-parser.d.ts +7 -1
  37. package/dist/types/src/framework/view-parser.d.ts.map +1 -0
  38. package/dist/types/src/framework/view.d.ts.map +1 -0
  39. package/dist/types/src/lib/index.d.ts.map +1 -0
  40. package/dist/types/{main.d.ts → src/main.d.ts} +6 -0
  41. package/dist/types/src/main.d.ts.map +1 -0
  42. package/dist/types/src/views/index.d.ts.map +1 -0
  43. package/dist/types/src/views/payment-requests/components/NoRowsExtendDateRange.d.ts.map +1 -0
  44. package/dist/types/src/views/payment-requests/components/PaymentMethod.d.ts.map +1 -0
  45. package/dist/types/src/views/payment-requests/components/PaymentStatusTag.d.ts.map +1 -0
  46. package/dist/types/src/views/payment-requests/index.d.ts.map +1 -0
  47. package/dist/types/src/views/payment-requests/runtime.d.ts.map +1 -0
  48. package/dist/types/src/views/request-log/index.d.ts.map +1 -0
  49. package/dist/types/src/views/request-log/runtime.d.ts.map +1 -0
  50. package/dist/types/src/views/simple-test-view/index.d.ts.map +1 -0
  51. package/dist/types/src/views/simple-test-view/runtime.d.ts.map +1 -0
  52. package/package.json +3 -2
  53. package/dist/types/App.d.ts.map +0 -1
  54. package/dist/types/components/AIAssistantForm.d.ts.map +0 -1
  55. package/dist/types/components/ActionButtons.d.ts.map +0 -1
  56. package/dist/types/components/AsyncSearchDropdownFilter.d.ts +0 -8
  57. package/dist/types/components/AsyncSearchDropdownFilter.d.ts.map +0 -1
  58. package/dist/types/components/FilterForm.d.ts.map +0 -1
  59. package/dist/types/components/PhoneNumberFilter.d.ts.map +0 -1
  60. package/dist/types/components/SavedFilterList.d.ts.map +0 -1
  61. package/dist/types/components/SpeechInput.d.ts.map +0 -1
  62. package/dist/types/components/Table.d.ts.map +0 -1
  63. package/dist/types/components/TablePagination.d.ts.map +0 -1
  64. package/dist/types/components/aiAssistant.d.ts.map +0 -1
  65. package/dist/types/framework/actions.d.ts.map +0 -1
  66. package/dist/types/framework/cell-renderer-components/CurrencyAmount.d.ts.map +0 -1
  67. package/dist/types/framework/cell-renderer-components/LayoutHelpers.d.ts.map +0 -1
  68. package/dist/types/framework/cell-renderer-components/Link.d.ts.map +0 -1
  69. package/dist/types/framework/cell-renderer-components/Mapping.d.ts.map +0 -1
  70. package/dist/types/framework/column-definition.d.ts.map +0 -1
  71. package/dist/types/framework/currency.d.ts.map +0 -1
  72. package/dist/types/framework/data.d.ts.map +0 -1
  73. package/dist/types/framework/filter-form-state.d.ts.map +0 -1
  74. package/dist/types/framework/filter-sharing.d.ts.map +0 -1
  75. package/dist/types/framework/filters.d.ts.map +0 -1
  76. package/dist/types/framework/graphql.d.ts.map +0 -1
  77. package/dist/types/framework/native-runtime/index.d.ts.map +0 -1
  78. package/dist/types/framework/runtime.d.ts.map +0 -1
  79. package/dist/types/framework/saved-filters.d.ts.map +0 -1
  80. package/dist/types/framework/state.d.ts.map +0 -1
  81. package/dist/types/framework/view-parser.d.ts.map +0 -1
  82. package/dist/types/framework/view.d.ts.map +0 -1
  83. package/dist/types/lib/index.d.ts.map +0 -1
  84. package/dist/types/main.d.ts.map +0 -1
  85. package/dist/types/views/index.d.ts.map +0 -1
  86. package/dist/types/views/payment-requests/components/NoRowsExtendDateRange.d.ts.map +0 -1
  87. package/dist/types/views/payment-requests/components/PaymentMethod.d.ts.map +0 -1
  88. package/dist/types/views/payment-requests/components/PaymentStatusTag.d.ts.map +0 -1
  89. package/dist/types/views/payment-requests/index.d.ts.map +0 -1
  90. package/dist/types/views/payment-requests/runtime.d.ts.map +0 -1
  91. package/dist/types/views/request-log/index.d.ts.map +0 -1
  92. package/dist/types/views/request-log/runtime.d.ts.map +0 -1
  93. package/dist/types/views/simple-test-view/index.d.ts.map +0 -1
  94. package/dist/types/views/simple-test-view/runtime.d.ts.map +0 -1
  95. /package/dist/types/{App.d.ts → src/App.d.ts} +0 -0
  96. /package/dist/types/{components → src/components}/AIAssistantForm.d.ts +0 -0
  97. /package/dist/types/{components → src/components}/ActionButtons.d.ts +0 -0
  98. /package/dist/types/{components → src/components}/FilterForm.d.ts +0 -0
  99. /package/dist/types/{components → src/components}/PhoneNumberFilter.d.ts +0 -0
  100. /package/dist/types/{components → src/components}/SavedFilterList.d.ts +0 -0
  101. /package/dist/types/{components → src/components}/SpeechInput.d.ts +0 -0
  102. /package/dist/types/{components → src/components}/Table.d.ts +0 -0
  103. /package/dist/types/{components → src/components}/TablePagination.d.ts +0 -0
  104. /package/dist/types/{components → src/components}/aiAssistant.d.ts +0 -0
  105. /package/dist/types/{framework → src/framework}/actions.d.ts +0 -0
  106. /package/dist/types/{framework → src/framework}/cell-renderer-components/CurrencyAmount.d.ts +0 -0
  107. /package/dist/types/{framework → src/framework}/cell-renderer-components/LayoutHelpers.d.ts +0 -0
  108. /package/dist/types/{framework → src/framework}/cell-renderer-components/Link.d.ts +0 -0
  109. /package/dist/types/{framework → src/framework}/cell-renderer-components/Mapping.d.ts +0 -0
  110. /package/dist/types/{framework → src/framework}/currency.d.ts +0 -0
  111. /package/dist/types/{framework → src/framework}/data.d.ts +0 -0
  112. /package/dist/types/{framework → src/framework}/filter-form-state.d.ts +0 -0
  113. /package/dist/types/{framework → src/framework}/filter-sharing.d.ts +0 -0
  114. /package/dist/types/{framework → src/framework}/filters.d.ts +0 -0
  115. /package/dist/types/{framework → src/framework}/graphql.d.ts +0 -0
  116. /package/dist/types/{framework → src/framework}/native-runtime/index.d.ts +0 -0
  117. /package/dist/types/{framework → src/framework}/runtime.d.ts +0 -0
  118. /package/dist/types/{framework → src/framework}/saved-filters.d.ts +0 -0
  119. /package/dist/types/{framework → src/framework}/state.d.ts +0 -0
  120. /package/dist/types/{framework → src/framework}/view.d.ts +0 -0
  121. /package/dist/types/{lib → src/lib}/index.d.ts +0 -0
  122. /package/dist/types/{views → src/views}/index.d.ts +0 -0
  123. /package/dist/types/{views → src/views}/payment-requests/components/NoRowsExtendDateRange.d.ts +0 -0
  124. /package/dist/types/{views → src/views}/payment-requests/components/PaymentMethod.d.ts +0 -0
  125. /package/dist/types/{views → src/views}/payment-requests/components/PaymentStatusTag.d.ts +0 -0
  126. /package/dist/types/{views → src/views}/payment-requests/index.d.ts +0 -0
  127. /package/dist/types/{views → src/views}/payment-requests/runtime.d.ts +0 -0
  128. /package/dist/types/{views → src/views}/request-log/index.d.ts +0 -0
  129. /package/dist/types/{views → src/views}/request-log/runtime.d.ts +0 -0
  130. /package/dist/types/{views → src/views}/simple-test-view/index.d.ts +0 -0
  131. /package/dist/types/{views → src/views}/simple-test-view/runtime.d.ts +0 -0
package/README.md CHANGED
@@ -26,7 +26,7 @@ import type { AppProps } from '@kronor/dtv';
26
26
  All required styles are injected automatically via the JS bundle (using `vite-plugin-css-injected-by-js`).
27
27
 
28
28
  ### Runtime Options (AppProps)
29
- Key props you can pass to `App` (or via `renderTableView` in `main.tsx`):
29
+ Key props you can pass to `App` (or via `dtv.renderTableView` in `main.tsx`):
30
30
 
31
31
  - `graphqlHost` / `graphqlToken`: GraphQL endpoint + bearer auth token.
32
32
  - `geminiApiKey`: API key used by the AI Filter Assistant.
@@ -41,7 +41,7 @@ Key props you can pass to `App` (or via `renderTableView` in `main.tsx`):
41
41
 
42
42
  Example:
43
43
  ```ts
44
- renderTableView('root', {
44
+ dtv.renderTableView('root', {
45
45
  graphqlHost: 'https://example/graphql',
46
46
  graphqlToken: 'token',
47
47
  geminiApiKey: 'gemini-key',
@@ -75,7 +75,7 @@ React and ReactDOM 19 are peer dependencies; ensure they are installed in the ho
75
75
  - Data is fetched via GraphQL using `graphql-request` (see `src/framework/data.ts`).
76
76
  - Views define their own GraphQL queries and filter schemas.
77
77
  - Filter expressions are serialized/deserialized using helpers in `src/framework/filters.ts`.
78
- - Unified URL Filter Param: Both share links and persistence use a single base64 URL-safe encoded parameter `dtv-filter-state`. Enable syncing by passing `syncFilterStateToUrl: true` to `renderTableView` (or `?sync-filter-state-to-url=true` in dev). The param is updated only when filters are applied (not on every change). When disabled, a one-off link is consumed (param removed after load).
78
+ - Unified URL Filter Param: Both share links and persistence use a single base64 URL-safe encoded parameter `dtv-filter-state`. Enable syncing by passing `syncFilterStateToUrl: true` to `dtv.renderTableView` (or `?sync-filter-state-to-url=true` in dev). The param is updated only when filters are applied (not on every change). When disabled, a one-off link is consumed (param removed after load).
79
79
 
80
80
  ## Development
81
81
 
@@ -111,6 +111,41 @@ npm test
111
111
  npm run test
112
112
  ```
113
113
 
114
+ ## Release Process
115
+
116
+ Automated release script performs validation (lint, build, unit + e2e tests), builds the library bundle, bumps the version, pushes git tags, and publishes to npm.
117
+
118
+ ### Run a release
119
+ ```sh
120
+ npm run release
121
+ ```
122
+ You'll be prompted for the semver bump (`patch`, `minor`, or `major`). Default is `patch` if you press Enter.
123
+
124
+ ### Options / Flags
125
+ ```sh
126
+ npm run release -- --type=minor # Non-interactive minor release
127
+ npm run release -- --dry # Run validations only; skip version/tag/publish
128
+ npm run release -- --skip-e2e # Skip Playwright tests (use sparingly)
129
+ npm run release -- --skip-unit # Skip Jest tests (NOT recommended)
130
+ npm run release -- --allow-dirty # Allow running with uncommitted changes (avoids safety check)
131
+ ```
132
+
133
+ ### Requirements
134
+ - You must be authenticated with npm (`npm login`).
135
+ - Git working tree must be clean (unless using `--allow-dirty`).
136
+ - CI should pass for the commit you are releasing.
137
+
138
+ ### What it does
139
+ 1. Lints source code.
140
+ 2. Builds application (`npm run build`).
141
+ 3. Runs unit tests (Jest) and E2E tests (Playwright).
142
+ 4. Builds library bundle (`npm run build:lib`).
143
+ 5. Bumps version via `npm version <type>` (commit + tag).
144
+ 6. Pushes commit and tags.
145
+ 7. Publishes to npm (`npm publish --access public`).
146
+
147
+ Use `--dry` first if you want to verify everything without changing the version or publishing.
148
+
114
149
  ## Examples
115
150
  - See `src/views/paymentRequest.tsx` for a full-featured view definition.
116
151
  - See `src/components/AIAssistantForm.tsx` for AI-driven filter generation.