@od-oneapp/config 2026.2.2001-canary.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 (697) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +830 -0
  3. package/eslint/__tests__/config-structure.test.mjs +61 -0
  4. package/eslint/base.mjs +350 -0
  5. package/eslint/expo.mjs +97 -0
  6. package/eslint/next-test.mjs +43 -0
  7. package/eslint/next.mjs +74 -0
  8. package/eslint/node.mjs +106 -0
  9. package/eslint/react.mjs +313 -0
  10. package/eslint/rules/__tests__/no-used-underscore-vars.test.mjs +147 -0
  11. package/eslint/rules/no-used-underscore-vars.mjs +297 -0
  12. package/eslint/shared/__tests__/common-ignores.test.mjs +19 -0
  13. package/eslint/shared/common-ignores.mjs +172 -0
  14. package/eslint/shared/disabled-type-aware-rules.mjs +35 -0
  15. package/eslint/shared/file-patterns.mjs +124 -0
  16. package/eslint/shared/node-globals.mjs +50 -0
  17. package/eslint/storybook.mjs +81 -0
  18. package/eslint/test.mjs +298 -0
  19. package/eslint/utils/__tests__/create-validated-config.test.mjs +42 -0
  20. package/eslint/utils/__tests__/filter-ts-eslint-configs.test.mjs +57 -0
  21. package/eslint/utils/__tests__/validate-config.test.mjs +104 -0
  22. package/eslint/utils/create-validated-config.mjs +69 -0
  23. package/eslint/utils/filter-ts-eslint-configs.mjs +129 -0
  24. package/eslint/utils/validate-config.mjs +88 -0
  25. package/package.json +37 -0
  26. package/prettier/index.mjs +15 -0
  27. package/stylelint/index.mjs +129 -0
  28. package/tsdown/README.md +287 -0
  29. package/tsdown/base.mjs +77 -0
  30. package/tsdown/browser.mjs +34 -0
  31. package/tsdown/client.mjs +32 -0
  32. package/tsdown/dist.mjs +179 -0
  33. package/tsdown/index.mjs +53 -0
  34. package/tsdown/node.mjs +39 -0
  35. package/tsdown/react.mjs +30 -0
  36. package/typescript/base.json +52 -0
  37. package/typescript/dist/__tests__/browser-stub.test.d.ts +2 -0
  38. package/typescript/dist/__tests__/browser-stub.test.d.ts.map +1 -0
  39. package/typescript/dist/__tests__/browser-stub.test.js +40 -0
  40. package/typescript/dist/__tests__/browser-stub.test.js.map +1 -0
  41. package/typescript/dist/__tests__/runtime/lifecycle.test.d.ts +2 -0
  42. package/typescript/dist/__tests__/runtime/lifecycle.test.d.ts.map +1 -0
  43. package/typescript/dist/__tests__/runtime/lifecycle.test.js +149 -0
  44. package/typescript/dist/__tests__/runtime/lifecycle.test.js.map +1 -0
  45. package/typescript/dist/__tests__/server/abort-support.test.d.ts +2 -0
  46. package/typescript/dist/__tests__/server/abort-support.test.d.ts.map +1 -0
  47. package/typescript/dist/__tests__/server/abort-support.test.js +333 -0
  48. package/typescript/dist/__tests__/server/abort-support.test.js.map +1 -0
  49. package/typescript/dist/__tests__/server/batch-processor.test.d.ts +2 -0
  50. package/typescript/dist/__tests__/server/batch-processor.test.d.ts.map +1 -0
  51. package/typescript/dist/__tests__/server/batch-processor.test.js +173 -0
  52. package/typescript/dist/__tests__/server/batch-processor.test.js.map +1 -0
  53. package/typescript/dist/__tests__/server/cache.test.d.ts +2 -0
  54. package/typescript/dist/__tests__/server/cache.test.d.ts.map +1 -0
  55. package/typescript/dist/__tests__/server/cache.test.js +343 -0
  56. package/typescript/dist/__tests__/server/cache.test.js.map +1 -0
  57. package/typescript/dist/__tests__/server/circular-deps.test.d.ts +2 -0
  58. package/typescript/dist/__tests__/server/circular-deps.test.d.ts.map +1 -0
  59. package/typescript/dist/__tests__/server/circular-deps.test.js +412 -0
  60. package/typescript/dist/__tests__/server/circular-deps.test.js.map +1 -0
  61. package/typescript/dist/__tests__/server/claude-code-env.test.d.ts +2 -0
  62. package/typescript/dist/__tests__/server/claude-code-env.test.d.ts.map +1 -0
  63. package/typescript/dist/__tests__/server/claude-code-env.test.js +387 -0
  64. package/typescript/dist/__tests__/server/claude-code-env.test.js.map +1 -0
  65. package/typescript/dist/__tests__/server/code-analysis-tool.test.d.ts +2 -0
  66. package/typescript/dist/__tests__/server/code-analysis-tool.test.d.ts.map +1 -0
  67. package/typescript/dist/__tests__/server/code-analysis-tool.test.js +430 -0
  68. package/typescript/dist/__tests__/server/code-analysis-tool.test.js.map +1 -0
  69. package/typescript/dist/__tests__/server/code-transformation.test.d.ts +2 -0
  70. package/typescript/dist/__tests__/server/code-transformation.test.d.ts.map +1 -0
  71. package/typescript/dist/__tests__/server/code-transformation.test.js +173 -0
  72. package/typescript/dist/__tests__/server/code-transformation.test.js.map +1 -0
  73. package/typescript/dist/__tests__/server/concurrency.test.d.ts +2 -0
  74. package/typescript/dist/__tests__/server/concurrency.test.d.ts.map +1 -0
  75. package/typescript/dist/__tests__/server/concurrency.test.js +31 -0
  76. package/typescript/dist/__tests__/server/concurrency.test.js.map +1 -0
  77. package/typescript/dist/__tests__/server/context.test.d.ts +2 -0
  78. package/typescript/dist/__tests__/server/context.test.d.ts.map +1 -0
  79. package/typescript/dist/__tests__/server/context.test.js +483 -0
  80. package/typescript/dist/__tests__/server/context.test.js.map +1 -0
  81. package/typescript/dist/__tests__/server/error-handling.test.d.ts +2 -0
  82. package/typescript/dist/__tests__/server/error-handling.test.d.ts.map +1 -0
  83. package/typescript/dist/__tests__/server/error-handling.test.js +68 -0
  84. package/typescript/dist/__tests__/server/error-handling.test.js.map +1 -0
  85. package/typescript/dist/__tests__/server/error-utils.test.d.ts +2 -0
  86. package/typescript/dist/__tests__/server/error-utils.test.d.ts.map +1 -0
  87. package/typescript/dist/__tests__/server/error-utils.test.js +268 -0
  88. package/typescript/dist/__tests__/server/error-utils.test.js.map +1 -0
  89. package/typescript/dist/__tests__/server/files.test.d.ts +2 -0
  90. package/typescript/dist/__tests__/server/files.test.d.ts.map +1 -0
  91. package/typescript/dist/__tests__/server/files.test.js +160 -0
  92. package/typescript/dist/__tests__/server/files.test.js.map +1 -0
  93. package/typescript/dist/__tests__/server/logger.test.d.ts +2 -0
  94. package/typescript/dist/__tests__/server/logger.test.d.ts.map +1 -0
  95. package/typescript/dist/__tests__/server/logger.test.js +412 -0
  96. package/typescript/dist/__tests__/server/logger.test.js.map +1 -0
  97. package/typescript/dist/__tests__/server/path-manager.test.d.ts +2 -0
  98. package/typescript/dist/__tests__/server/path-manager.test.d.ts.map +1 -0
  99. package/typescript/dist/__tests__/server/path-manager.test.js +406 -0
  100. package/typescript/dist/__tests__/server/path-manager.test.js.map +1 -0
  101. package/typescript/dist/__tests__/server/retry-operations.test.d.ts +2 -0
  102. package/typescript/dist/__tests__/server/retry-operations.test.d.ts.map +1 -0
  103. package/typescript/dist/__tests__/server/retry-operations.test.js +119 -0
  104. package/typescript/dist/__tests__/server/retry-operations.test.js.map +1 -0
  105. package/typescript/dist/__tests__/server/retry.test.d.ts +2 -0
  106. package/typescript/dist/__tests__/server/retry.test.d.ts.map +1 -0
  107. package/typescript/dist/__tests__/server/retry.test.js +70 -0
  108. package/typescript/dist/__tests__/server/retry.test.js.map +1 -0
  109. package/typescript/dist/__tests__/server/retryable.test.d.ts +2 -0
  110. package/typescript/dist/__tests__/server/retryable.test.d.ts.map +1 -0
  111. package/typescript/dist/__tests__/server/retryable.test.js +23 -0
  112. package/typescript/dist/__tests__/server/retryable.test.js.map +1 -0
  113. package/typescript/dist/__tests__/server/scheduler.test.d.ts +2 -0
  114. package/typescript/dist/__tests__/server/scheduler.test.d.ts.map +1 -0
  115. package/typescript/dist/__tests__/server/scheduler.test.js +14 -0
  116. package/typescript/dist/__tests__/server/scheduler.test.js.map +1 -0
  117. package/typescript/dist/__tests__/server/security.test.d.ts +2 -0
  118. package/typescript/dist/__tests__/server/security.test.d.ts.map +1 -0
  119. package/typescript/dist/__tests__/server/security.test.js +286 -0
  120. package/typescript/dist/__tests__/server/security.test.js.map +1 -0
  121. package/typescript/dist/__tests__/server/session-management.test.d.ts +2 -0
  122. package/typescript/dist/__tests__/server/session-management.test.d.ts.map +1 -0
  123. package/typescript/dist/__tests__/server/session-management.test.js +399 -0
  124. package/typescript/dist/__tests__/server/session-management.test.js.map +1 -0
  125. package/typescript/dist/__tests__/server/session-recovery.test.d.ts +2 -0
  126. package/typescript/dist/__tests__/server/session-recovery.test.d.ts.map +1 -0
  127. package/typescript/dist/__tests__/server/session-recovery.test.js +417 -0
  128. package/typescript/dist/__tests__/server/session-recovery.test.js.map +1 -0
  129. package/typescript/dist/__tests__/server/session.test.d.ts +2 -0
  130. package/typescript/dist/__tests__/server/session.test.d.ts.map +1 -0
  131. package/typescript/dist/__tests__/server/session.test.js +102 -0
  132. package/typescript/dist/__tests__/server/session.test.js.map +1 -0
  133. package/typescript/dist/__tests__/server/simple-tools.test.d.ts +2 -0
  134. package/typescript/dist/__tests__/server/simple-tools.test.d.ts.map +1 -0
  135. package/typescript/dist/__tests__/server/simple-tools.test.js +56 -0
  136. package/typescript/dist/__tests__/server/simple-tools.test.js.map +1 -0
  137. package/typescript/dist/__tests__/server/streaming-utilities.test.d.ts +2 -0
  138. package/typescript/dist/__tests__/server/streaming-utilities.test.d.ts.map +1 -0
  139. package/typescript/dist/__tests__/server/streaming-utilities.test.js +338 -0
  140. package/typescript/dist/__tests__/server/streaming-utilities.test.js.map +1 -0
  141. package/typescript/dist/__tests__/server/streams.test.d.ts +2 -0
  142. package/typescript/dist/__tests__/server/streams.test.d.ts.map +1 -0
  143. package/typescript/dist/__tests__/server/streams.test.js +282 -0
  144. package/typescript/dist/__tests__/server/streams.test.js.map +1 -0
  145. package/typescript/dist/__tests__/server/stringify-advanced.test.d.ts +2 -0
  146. package/typescript/dist/__tests__/server/stringify-advanced.test.d.ts.map +1 -0
  147. package/typescript/dist/__tests__/server/stringify-advanced.test.js +152 -0
  148. package/typescript/dist/__tests__/server/stringify-advanced.test.js.map +1 -0
  149. package/typescript/dist/__tests__/server/structured-clone-tool.test.d.ts +2 -0
  150. package/typescript/dist/__tests__/server/structured-clone-tool.test.d.ts.map +1 -0
  151. package/typescript/dist/__tests__/server/structured-clone-tool.test.js +751 -0
  152. package/typescript/dist/__tests__/server/structured-clone-tool.test.js.map +1 -0
  153. package/typescript/dist/__tests__/server/structured-clone.test.d.ts +2 -0
  154. package/typescript/dist/__tests__/server/structured-clone.test.d.ts.map +1 -0
  155. package/typescript/dist/__tests__/server/structured-clone.test.js +305 -0
  156. package/typescript/dist/__tests__/server/structured-clone.test.js.map +1 -0
  157. package/typescript/dist/__tests__/server/tool-helpers.test.d.ts +2 -0
  158. package/typescript/dist/__tests__/server/tool-helpers.test.d.ts.map +1 -0
  159. package/typescript/dist/__tests__/server/tool-helpers.test.js +51 -0
  160. package/typescript/dist/__tests__/server/tool-helpers.test.js.map +1 -0
  161. package/typescript/dist/__tests__/server/validation.test.d.ts +2 -0
  162. package/typescript/dist/__tests__/server/validation.test.d.ts.map +1 -0
  163. package/typescript/dist/__tests__/server/validation.test.js +585 -0
  164. package/typescript/dist/__tests__/server/validation.test.js.map +1 -0
  165. package/typescript/dist/__tests__/shared/constants.test.d.ts +2 -0
  166. package/typescript/dist/__tests__/shared/constants.test.d.ts.map +1 -0
  167. package/typescript/dist/__tests__/shared/constants.test.js +11 -0
  168. package/typescript/dist/__tests__/shared/constants.test.js.map +1 -0
  169. package/typescript/dist/__tests__/shared/environment.test.d.ts +2 -0
  170. package/typescript/dist/__tests__/shared/environment.test.d.ts.map +1 -0
  171. package/typescript/dist/__tests__/shared/environment.test.js +279 -0
  172. package/typescript/dist/__tests__/shared/environment.test.js.map +1 -0
  173. package/typescript/dist/__tests__/shared/stringify.test.d.ts +2 -0
  174. package/typescript/dist/__tests__/shared/stringify.test.d.ts.map +1 -0
  175. package/typescript/dist/__tests__/shared/stringify.test.js +171 -0
  176. package/typescript/dist/__tests__/shared/stringify.test.js.map +1 -0
  177. package/typescript/dist/__tests__/shared/timeout.test.d.ts +2 -0
  178. package/typescript/dist/__tests__/shared/timeout.test.d.ts.map +1 -0
  179. package/typescript/dist/__tests__/shared/timeout.test.js +262 -0
  180. package/typescript/dist/__tests__/shared/timeout.test.js.map +1 -0
  181. package/typescript/dist/src/App.d.ts +3 -0
  182. package/typescript/dist/src/App.d.ts.map +1 -0
  183. package/typescript/dist/src/App.js +27 -0
  184. package/typescript/dist/src/App.js.map +1 -0
  185. package/typescript/dist/src/components/charts/BenchmarkCard.d.ts +12 -0
  186. package/typescript/dist/src/components/charts/BenchmarkCard.d.ts.map +1 -0
  187. package/typescript/dist/src/components/charts/BenchmarkCard.js +23 -0
  188. package/typescript/dist/src/components/charts/BenchmarkCard.js.map +1 -0
  189. package/typescript/dist/src/components/charts/ComparisonBar.d.ts +11 -0
  190. package/typescript/dist/src/components/charts/ComparisonBar.d.ts.map +1 -0
  191. package/typescript/dist/src/components/charts/ComparisonBar.js +34 -0
  192. package/typescript/dist/src/components/charts/ComparisonBar.js.map +1 -0
  193. package/typescript/dist/src/components/charts/PercentileGauge.d.ts +10 -0
  194. package/typescript/dist/src/components/charts/PercentileGauge.d.ts.map +1 -0
  195. package/typescript/dist/src/components/charts/PercentileGauge.js +68 -0
  196. package/typescript/dist/src/components/charts/PercentileGauge.js.map +1 -0
  197. package/typescript/dist/src/components/charts/index.d.ts +4 -0
  198. package/typescript/dist/src/components/charts/index.d.ts.map +1 -0
  199. package/typescript/dist/src/components/charts/index.js +4 -0
  200. package/typescript/dist/src/components/charts/index.js.map +1 -0
  201. package/typescript/dist/src/components/filters/FilterPanel.d.ts +9 -0
  202. package/typescript/dist/src/components/filters/FilterPanel.d.ts.map +1 -0
  203. package/typescript/dist/src/components/filters/FilterPanel.js +42 -0
  204. package/typescript/dist/src/components/filters/FilterPanel.js.map +1 -0
  205. package/typescript/dist/src/components/filters/index.d.ts +2 -0
  206. package/typescript/dist/src/components/filters/index.d.ts.map +1 -0
  207. package/typescript/dist/src/components/filters/index.js +2 -0
  208. package/typescript/dist/src/components/filters/index.js.map +1 -0
  209. package/typescript/dist/src/components/ui/Button.d.ts +8 -0
  210. package/typescript/dist/src/components/ui/Button.d.ts.map +1 -0
  211. package/typescript/dist/src/components/ui/Button.js +16 -0
  212. package/typescript/dist/src/components/ui/Button.js.map +1 -0
  213. package/typescript/dist/src/components/ui/Card.d.ts +14 -0
  214. package/typescript/dist/src/components/ui/Card.d.ts.map +1 -0
  215. package/typescript/dist/src/components/ui/Card.js +27 -0
  216. package/typescript/dist/src/components/ui/Card.js.map +1 -0
  217. package/typescript/dist/src/components/ui/Input.d.ts +9 -0
  218. package/typescript/dist/src/components/ui/Input.d.ts.map +1 -0
  219. package/typescript/dist/src/components/ui/Input.js +13 -0
  220. package/typescript/dist/src/components/ui/Input.js.map +1 -0
  221. package/typescript/dist/src/components/ui/Select.d.ts +14 -0
  222. package/typescript/dist/src/components/ui/Select.d.ts.map +1 -0
  223. package/typescript/dist/src/components/ui/Select.js +13 -0
  224. package/typescript/dist/src/components/ui/Select.js.map +1 -0
  225. package/typescript/dist/src/components/ui/index.d.ts +5 -0
  226. package/typescript/dist/src/components/ui/index.d.ts.map +1 -0
  227. package/typescript/dist/src/components/ui/index.js +5 -0
  228. package/typescript/dist/src/components/ui/index.js.map +1 -0
  229. package/typescript/dist/src/index.d.ts +4 -0
  230. package/typescript/dist/src/index.d.ts.map +1 -0
  231. package/typescript/dist/src/index.js +4 -0
  232. package/typescript/dist/src/index.js.map +1 -0
  233. package/typescript/dist/src/layouts/MainLayout.d.ts +2 -0
  234. package/typescript/dist/src/layouts/MainLayout.d.ts.map +1 -0
  235. package/typescript/dist/src/layouts/MainLayout.js +45 -0
  236. package/typescript/dist/src/layouts/MainLayout.js.map +1 -0
  237. package/typescript/dist/src/lib/api/benchmarks.d.ts +87 -0
  238. package/typescript/dist/src/lib/api/benchmarks.d.ts.map +1 -0
  239. package/typescript/dist/src/lib/api/benchmarks.js +274 -0
  240. package/typescript/dist/src/lib/api/benchmarks.js.map +1 -0
  241. package/typescript/dist/src/lib/api/index.d.ts +2 -0
  242. package/typescript/dist/src/lib/api/index.d.ts.map +1 -0
  243. package/typescript/dist/src/lib/api/index.js +2 -0
  244. package/typescript/dist/src/lib/api/index.js.map +1 -0
  245. package/typescript/dist/src/lib/mock-data/accident-benchmarks.d.ts +33 -0
  246. package/typescript/dist/src/lib/mock-data/accident-benchmarks.d.ts.map +1 -0
  247. package/typescript/dist/src/lib/mock-data/accident-benchmarks.js +124 -0
  248. package/typescript/dist/src/lib/mock-data/accident-benchmarks.js.map +1 -0
  249. package/typescript/dist/src/lib/mock-data/basic-life-benchmarks.d.ts +47 -0
  250. package/typescript/dist/src/lib/mock-data/basic-life-benchmarks.d.ts.map +1 -0
  251. package/typescript/dist/src/lib/mock-data/basic-life-benchmarks.js +83 -0
  252. package/typescript/dist/src/lib/mock-data/basic-life-benchmarks.js.map +1 -0
  253. package/typescript/dist/src/lib/mock-data/critical-illness-benchmarks.d.ts +39 -0
  254. package/typescript/dist/src/lib/mock-data/critical-illness-benchmarks.d.ts.map +1 -0
  255. package/typescript/dist/src/lib/mock-data/critical-illness-benchmarks.js +130 -0
  256. package/typescript/dist/src/lib/mock-data/critical-illness-benchmarks.js.map +1 -0
  257. package/typescript/dist/src/lib/mock-data/dental-benchmarks.d.ts +42 -0
  258. package/typescript/dist/src/lib/mock-data/dental-benchmarks.d.ts.map +1 -0
  259. package/typescript/dist/src/lib/mock-data/dental-benchmarks.js +137 -0
  260. package/typescript/dist/src/lib/mock-data/dental-benchmarks.js.map +1 -0
  261. package/typescript/dist/src/lib/mock-data/hospital-indemnity-benchmarks.d.ts +37 -0
  262. package/typescript/dist/src/lib/mock-data/hospital-indemnity-benchmarks.d.ts.map +1 -0
  263. package/typescript/dist/src/lib/mock-data/hospital-indemnity-benchmarks.js +128 -0
  264. package/typescript/dist/src/lib/mock-data/hospital-indemnity-benchmarks.js.map +1 -0
  265. package/typescript/dist/src/lib/mock-data/index.d.ts +3 -0
  266. package/typescript/dist/src/lib/mock-data/index.d.ts.map +1 -0
  267. package/typescript/dist/src/lib/mock-data/index.js +3 -0
  268. package/typescript/dist/src/lib/mock-data/index.js.map +1 -0
  269. package/typescript/dist/src/lib/mock-data/ltd-benchmarks.d.ts +59 -0
  270. package/typescript/dist/src/lib/mock-data/ltd-benchmarks.d.ts.map +1 -0
  271. package/typescript/dist/src/lib/mock-data/ltd-benchmarks.js +127 -0
  272. package/typescript/dist/src/lib/mock-data/ltd-benchmarks.js.map +1 -0
  273. package/typescript/dist/src/lib/mock-data/std-benchmarks.d.ts +51 -0
  274. package/typescript/dist/src/lib/mock-data/std-benchmarks.d.ts.map +1 -0
  275. package/typescript/dist/src/lib/mock-data/std-benchmarks.js +111 -0
  276. package/typescript/dist/src/lib/mock-data/std-benchmarks.js.map +1 -0
  277. package/typescript/dist/src/lib/mock-data/vision-benchmarks.d.ts +32 -0
  278. package/typescript/dist/src/lib/mock-data/vision-benchmarks.d.ts.map +1 -0
  279. package/typescript/dist/src/lib/mock-data/vision-benchmarks.js +151 -0
  280. package/typescript/dist/src/lib/mock-data/vision-benchmarks.js.map +1 -0
  281. package/typescript/dist/src/lib/mock-data/voluntary-life-benchmarks.d.ts +39 -0
  282. package/typescript/dist/src/lib/mock-data/voluntary-life-benchmarks.d.ts.map +1 -0
  283. package/typescript/dist/src/lib/mock-data/voluntary-life-benchmarks.js +97 -0
  284. package/typescript/dist/src/lib/mock-data/voluntary-life-benchmarks.js.map +1 -0
  285. package/typescript/dist/src/lib/transformers/api-to-internal.d.ts +42 -0
  286. package/typescript/dist/src/lib/transformers/api-to-internal.d.ts.map +1 -0
  287. package/typescript/dist/src/lib/transformers/api-to-internal.js +206 -0
  288. package/typescript/dist/src/lib/transformers/api-to-internal.js.map +1 -0
  289. package/typescript/dist/src/lib/transformers/index.d.ts +2 -0
  290. package/typescript/dist/src/lib/transformers/index.d.ts.map +1 -0
  291. package/typescript/dist/src/lib/transformers/index.js +2 -0
  292. package/typescript/dist/src/lib/transformers/index.js.map +1 -0
  293. package/typescript/dist/src/lib/types/accident.d.ts +46 -0
  294. package/typescript/dist/src/lib/types/accident.d.ts.map +1 -0
  295. package/typescript/dist/src/lib/types/accident.js +223 -0
  296. package/typescript/dist/src/lib/types/accident.js.map +1 -0
  297. package/typescript/dist/src/lib/types/api-schema.d.ts +476 -0
  298. package/typescript/dist/src/lib/types/api-schema.d.ts.map +1 -0
  299. package/typescript/dist/src/lib/types/api-schema.js +2 -0
  300. package/typescript/dist/src/lib/types/api-schema.js.map +1 -0
  301. package/typescript/dist/src/lib/types/basic-life.d.ts +30 -0
  302. package/typescript/dist/src/lib/types/basic-life.d.ts.map +1 -0
  303. package/typescript/dist/src/lib/types/basic-life.js +137 -0
  304. package/typescript/dist/src/lib/types/basic-life.js.map +1 -0
  305. package/typescript/dist/src/lib/types/common.d.ts +99 -0
  306. package/typescript/dist/src/lib/types/common.d.ts.map +1 -0
  307. package/typescript/dist/src/lib/types/common.js +29 -0
  308. package/typescript/dist/src/lib/types/common.js.map +1 -0
  309. package/typescript/dist/src/lib/types/critical-illness.d.ts +52 -0
  310. package/typescript/dist/src/lib/types/critical-illness.d.ts.map +1 -0
  311. package/typescript/dist/src/lib/types/critical-illness.js +254 -0
  312. package/typescript/dist/src/lib/types/critical-illness.js.map +1 -0
  313. package/typescript/dist/src/lib/types/dental.d.ts +41 -0
  314. package/typescript/dist/src/lib/types/dental.d.ts.map +1 -0
  315. package/typescript/dist/src/lib/types/dental.js +188 -0
  316. package/typescript/dist/src/lib/types/dental.js.map +1 -0
  317. package/typescript/dist/src/lib/types/hospital-indemnity.d.ts +41 -0
  318. package/typescript/dist/src/lib/types/hospital-indemnity.d.ts.map +1 -0
  319. package/typescript/dist/src/lib/types/hospital-indemnity.js +191 -0
  320. package/typescript/dist/src/lib/types/hospital-indemnity.js.map +1 -0
  321. package/typescript/dist/src/lib/types/index.d.ts +12 -0
  322. package/typescript/dist/src/lib/types/index.d.ts.map +1 -0
  323. package/typescript/dist/src/lib/types/index.js +12 -0
  324. package/typescript/dist/src/lib/types/index.js.map +1 -0
  325. package/typescript/dist/src/lib/types/ltd.d.ts +42 -0
  326. package/typescript/dist/src/lib/types/ltd.d.ts.map +1 -0
  327. package/typescript/dist/src/lib/types/ltd.js +200 -0
  328. package/typescript/dist/src/lib/types/ltd.js.map +1 -0
  329. package/typescript/dist/src/lib/types/std.d.ts +31 -0
  330. package/typescript/dist/src/lib/types/std.d.ts.map +1 -0
  331. package/typescript/dist/src/lib/types/std.js +144 -0
  332. package/typescript/dist/src/lib/types/std.js.map +1 -0
  333. package/typescript/dist/src/lib/types/vision.d.ts +31 -0
  334. package/typescript/dist/src/lib/types/vision.d.ts.map +1 -0
  335. package/typescript/dist/src/lib/types/vision.js +129 -0
  336. package/typescript/dist/src/lib/types/vision.js.map +1 -0
  337. package/typescript/dist/src/lib/types/voluntary-life.d.ts +33 -0
  338. package/typescript/dist/src/lib/types/voluntary-life.d.ts.map +1 -0
  339. package/typescript/dist/src/lib/types/voluntary-life.js +144 -0
  340. package/typescript/dist/src/lib/types/voluntary-life.js.map +1 -0
  341. package/typescript/dist/src/lib/utils/format.d.ts +11 -0
  342. package/typescript/dist/src/lib/utils/format.d.ts.map +1 -0
  343. package/typescript/dist/src/lib/utils/format.js +95 -0
  344. package/typescript/dist/src/lib/utils/format.js.map +1 -0
  345. package/typescript/dist/src/lib/utils/index.d.ts +2 -0
  346. package/typescript/dist/src/lib/utils/index.d.ts.map +1 -0
  347. package/typescript/dist/src/lib/utils/index.js +2 -0
  348. package/typescript/dist/src/lib/utils/index.js.map +1 -0
  349. package/typescript/dist/src/main.d.ts +2 -0
  350. package/typescript/dist/src/main.d.ts.map +1 -0
  351. package/typescript/dist/src/main.js +20 -0
  352. package/typescript/dist/src/main.js.map +1 -0
  353. package/typescript/dist/src/pages/AccidentComparison.d.ts +2 -0
  354. package/typescript/dist/src/pages/AccidentComparison.d.ts.map +1 -0
  355. package/typescript/dist/src/pages/AccidentComparison.js +56 -0
  356. package/typescript/dist/src/pages/AccidentComparison.js.map +1 -0
  357. package/typescript/dist/src/pages/AccidentExplorer.d.ts +2 -0
  358. package/typescript/dist/src/pages/AccidentExplorer.d.ts.map +1 -0
  359. package/typescript/dist/src/pages/AccidentExplorer.js +29 -0
  360. package/typescript/dist/src/pages/AccidentExplorer.js.map +1 -0
  361. package/typescript/dist/src/pages/BasicLifeComparison.d.ts +2 -0
  362. package/typescript/dist/src/pages/BasicLifeComparison.d.ts.map +1 -0
  363. package/typescript/dist/src/pages/BasicLifeComparison.js +59 -0
  364. package/typescript/dist/src/pages/BasicLifeComparison.js.map +1 -0
  365. package/typescript/dist/src/pages/BasicLifeExplorer.d.ts +2 -0
  366. package/typescript/dist/src/pages/BasicLifeExplorer.d.ts.map +1 -0
  367. package/typescript/dist/src/pages/BasicLifeExplorer.js +29 -0
  368. package/typescript/dist/src/pages/BasicLifeExplorer.js.map +1 -0
  369. package/typescript/dist/src/pages/CriticalIllnessComparison.d.ts +2 -0
  370. package/typescript/dist/src/pages/CriticalIllnessComparison.d.ts.map +1 -0
  371. package/typescript/dist/src/pages/CriticalIllnessComparison.js +56 -0
  372. package/typescript/dist/src/pages/CriticalIllnessComparison.js.map +1 -0
  373. package/typescript/dist/src/pages/CriticalIllnessExplorer.d.ts +2 -0
  374. package/typescript/dist/src/pages/CriticalIllnessExplorer.d.ts.map +1 -0
  375. package/typescript/dist/src/pages/CriticalIllnessExplorer.js +29 -0
  376. package/typescript/dist/src/pages/CriticalIllnessExplorer.js.map +1 -0
  377. package/typescript/dist/src/pages/Dashboard.d.ts +2 -0
  378. package/typescript/dist/src/pages/Dashboard.d.ts.map +1 -0
  379. package/typescript/dist/src/pages/Dashboard.js +8 -0
  380. package/typescript/dist/src/pages/Dashboard.js.map +1 -0
  381. package/typescript/dist/src/pages/DentalComparison.d.ts +2 -0
  382. package/typescript/dist/src/pages/DentalComparison.d.ts.map +1 -0
  383. package/typescript/dist/src/pages/DentalComparison.js +64 -0
  384. package/typescript/dist/src/pages/DentalComparison.js.map +1 -0
  385. package/typescript/dist/src/pages/DentalExplorer.d.ts +2 -0
  386. package/typescript/dist/src/pages/DentalExplorer.d.ts.map +1 -0
  387. package/typescript/dist/src/pages/DentalExplorer.js +29 -0
  388. package/typescript/dist/src/pages/DentalExplorer.js.map +1 -0
  389. package/typescript/dist/src/pages/HospitalIndemnityComparison.d.ts +2 -0
  390. package/typescript/dist/src/pages/HospitalIndemnityComparison.d.ts.map +1 -0
  391. package/typescript/dist/src/pages/HospitalIndemnityComparison.js +53 -0
  392. package/typescript/dist/src/pages/HospitalIndemnityComparison.js.map +1 -0
  393. package/typescript/dist/src/pages/HospitalIndemnityExplorer.d.ts +2 -0
  394. package/typescript/dist/src/pages/HospitalIndemnityExplorer.d.ts.map +1 -0
  395. package/typescript/dist/src/pages/HospitalIndemnityExplorer.js +29 -0
  396. package/typescript/dist/src/pages/HospitalIndemnityExplorer.js.map +1 -0
  397. package/typescript/dist/src/pages/LTDComparison.d.ts +2 -0
  398. package/typescript/dist/src/pages/LTDComparison.d.ts.map +1 -0
  399. package/typescript/dist/src/pages/LTDComparison.js +64 -0
  400. package/typescript/dist/src/pages/LTDComparison.js.map +1 -0
  401. package/typescript/dist/src/pages/LTDExplorer.d.ts +2 -0
  402. package/typescript/dist/src/pages/LTDExplorer.d.ts.map +1 -0
  403. package/typescript/dist/src/pages/LTDExplorer.js +29 -0
  404. package/typescript/dist/src/pages/LTDExplorer.js.map +1 -0
  405. package/typescript/dist/src/pages/STDComparison.d.ts +2 -0
  406. package/typescript/dist/src/pages/STDComparison.d.ts.map +1 -0
  407. package/typescript/dist/src/pages/STDComparison.js +58 -0
  408. package/typescript/dist/src/pages/STDComparison.js.map +1 -0
  409. package/typescript/dist/src/pages/STDExplorer.d.ts +2 -0
  410. package/typescript/dist/src/pages/STDExplorer.d.ts.map +1 -0
  411. package/typescript/dist/src/pages/STDExplorer.js +29 -0
  412. package/typescript/dist/src/pages/STDExplorer.js.map +1 -0
  413. package/typescript/dist/src/pages/VisionComparison.d.ts +2 -0
  414. package/typescript/dist/src/pages/VisionComparison.d.ts.map +1 -0
  415. package/typescript/dist/src/pages/VisionComparison.js +64 -0
  416. package/typescript/dist/src/pages/VisionComparison.js.map +1 -0
  417. package/typescript/dist/src/pages/VisionExplorer.d.ts +2 -0
  418. package/typescript/dist/src/pages/VisionExplorer.d.ts.map +1 -0
  419. package/typescript/dist/src/pages/VisionExplorer.js +29 -0
  420. package/typescript/dist/src/pages/VisionExplorer.js.map +1 -0
  421. package/typescript/dist/src/pages/VoluntaryLifeComparison.d.ts +2 -0
  422. package/typescript/dist/src/pages/VoluntaryLifeComparison.d.ts.map +1 -0
  423. package/typescript/dist/src/pages/VoluntaryLifeComparison.js +51 -0
  424. package/typescript/dist/src/pages/VoluntaryLifeComparison.js.map +1 -0
  425. package/typescript/dist/src/pages/VoluntaryLifeExplorer.d.ts +2 -0
  426. package/typescript/dist/src/pages/VoluntaryLifeExplorer.d.ts.map +1 -0
  427. package/typescript/dist/src/pages/VoluntaryLifeExplorer.js +29 -0
  428. package/typescript/dist/src/pages/VoluntaryLifeExplorer.js.map +1 -0
  429. package/typescript/dist/src/runtime/index.d.ts +2 -0
  430. package/typescript/dist/src/runtime/index.d.ts.map +1 -0
  431. package/typescript/dist/src/runtime/index.js +2 -0
  432. package/typescript/dist/src/runtime/index.js.map +1 -0
  433. package/typescript/dist/src/runtime/lifecycle.d.ts +16 -0
  434. package/typescript/dist/src/runtime/lifecycle.d.ts.map +1 -0
  435. package/typescript/dist/src/runtime/lifecycle.js +50 -0
  436. package/typescript/dist/src/runtime/lifecycle.js.map +1 -0
  437. package/typescript/dist/src/server/abort-support.d.ts +20 -0
  438. package/typescript/dist/src/server/abort-support.d.ts.map +1 -0
  439. package/typescript/dist/src/server/abort-support.js +101 -0
  440. package/typescript/dist/src/server/abort-support.js.map +1 -0
  441. package/typescript/dist/src/server/advanced-memory-monitor.d.ts +189 -0
  442. package/typescript/dist/src/server/advanced-memory-monitor.d.ts.map +1 -0
  443. package/typescript/dist/src/server/advanced-memory-monitor.js +718 -0
  444. package/typescript/dist/src/server/advanced-memory-monitor.js.map +1 -0
  445. package/typescript/dist/src/server/architecture-detector.d.ts +72 -0
  446. package/typescript/dist/src/server/architecture-detector.d.ts.map +1 -0
  447. package/typescript/dist/src/server/architecture-detector.js +282 -0
  448. package/typescript/dist/src/server/architecture-detector.js.map +1 -0
  449. package/typescript/dist/src/server/batch-processor-tool.d.ts +69 -0
  450. package/typescript/dist/src/server/batch-processor-tool.d.ts.map +1 -0
  451. package/typescript/dist/src/server/batch-processor-tool.js +651 -0
  452. package/typescript/dist/src/server/batch-processor-tool.js.map +1 -0
  453. package/typescript/dist/src/server/batch-processor.d.ts +73 -0
  454. package/typescript/dist/src/server/batch-processor.d.ts.map +1 -0
  455. package/typescript/dist/src/server/batch-processor.js +264 -0
  456. package/typescript/dist/src/server/batch-processor.js.map +1 -0
  457. package/typescript/dist/src/server/browser-stub.d.ts +18 -0
  458. package/typescript/dist/src/server/browser-stub.d.ts.map +1 -0
  459. package/typescript/dist/src/server/browser-stub.js +21 -0
  460. package/typescript/dist/src/server/browser-stub.js.map +1 -0
  461. package/typescript/dist/src/server/cache.d.ts +92 -0
  462. package/typescript/dist/src/server/cache.d.ts.map +1 -0
  463. package/typescript/dist/src/server/cache.js +217 -0
  464. package/typescript/dist/src/server/cache.js.map +1 -0
  465. package/typescript/dist/src/server/circular-deps.d.ts +85 -0
  466. package/typescript/dist/src/server/circular-deps.d.ts.map +1 -0
  467. package/typescript/dist/src/server/circular-deps.js +331 -0
  468. package/typescript/dist/src/server/circular-deps.js.map +1 -0
  469. package/typescript/dist/src/server/claude-code-env.d.ts +50 -0
  470. package/typescript/dist/src/server/claude-code-env.d.ts.map +1 -0
  471. package/typescript/dist/src/server/claude-code-env.js +116 -0
  472. package/typescript/dist/src/server/claude-code-env.js.map +1 -0
  473. package/typescript/dist/src/server/code-analysis-tool.d.ts +79 -0
  474. package/typescript/dist/src/server/code-analysis-tool.d.ts.map +1 -0
  475. package/typescript/dist/src/server/code-analysis-tool.js +94 -0
  476. package/typescript/dist/src/server/code-analysis-tool.js.map +1 -0
  477. package/typescript/dist/src/server/code-analysis.d.ts +16 -0
  478. package/typescript/dist/src/server/code-analysis.d.ts.map +1 -0
  479. package/typescript/dist/src/server/code-analysis.js +462 -0
  480. package/typescript/dist/src/server/code-analysis.js.map +1 -0
  481. package/typescript/dist/src/server/code-transformation.d.ts +141 -0
  482. package/typescript/dist/src/server/code-transformation.d.ts.map +1 -0
  483. package/typescript/dist/src/server/code-transformation.js +918 -0
  484. package/typescript/dist/src/server/code-transformation.js.map +1 -0
  485. package/typescript/dist/src/server/comprehensive-code-analysis.d.ts +77 -0
  486. package/typescript/dist/src/server/comprehensive-code-analysis.d.ts.map +1 -0
  487. package/typescript/dist/src/server/comprehensive-code-analysis.js +613 -0
  488. package/typescript/dist/src/server/comprehensive-code-analysis.js.map +1 -0
  489. package/typescript/dist/src/server/concurrency.d.ts +5 -0
  490. package/typescript/dist/src/server/concurrency.d.ts.map +1 -0
  491. package/typescript/dist/src/server/concurrency.js +20 -0
  492. package/typescript/dist/src/server/concurrency.js.map +1 -0
  493. package/typescript/dist/src/server/context-manager.d.ts +97 -0
  494. package/typescript/dist/src/server/context-manager.d.ts.map +1 -0
  495. package/typescript/dist/src/server/context-manager.js +410 -0
  496. package/typescript/dist/src/server/context-manager.js.map +1 -0
  497. package/typescript/dist/src/server/context-session-manager.d.ts +47 -0
  498. package/typescript/dist/src/server/context-session-manager.d.ts.map +1 -0
  499. package/typescript/dist/src/server/context-session-manager.js +594 -0
  500. package/typescript/dist/src/server/context-session-manager.js.map +1 -0
  501. package/typescript/dist/src/server/context.d.ts +66 -0
  502. package/typescript/dist/src/server/context.d.ts.map +1 -0
  503. package/typescript/dist/src/server/context.js +275 -0
  504. package/typescript/dist/src/server/context.js.map +1 -0
  505. package/typescript/dist/src/server/dependency-analyzer.d.ts +100 -0
  506. package/typescript/dist/src/server/dependency-analyzer.d.ts.map +1 -0
  507. package/typescript/dist/src/server/dependency-analyzer.js +1117 -0
  508. package/typescript/dist/src/server/dependency-analyzer.js.map +1 -0
  509. package/typescript/dist/src/server/error-handling.d.ts +106 -0
  510. package/typescript/dist/src/server/error-handling.d.ts.map +1 -0
  511. package/typescript/dist/src/server/error-handling.js +363 -0
  512. package/typescript/dist/src/server/error-handling.js.map +1 -0
  513. package/typescript/dist/src/server/file-discovery.d.ts +60 -0
  514. package/typescript/dist/src/server/file-discovery.d.ts.map +1 -0
  515. package/typescript/dist/src/server/file-discovery.js +282 -0
  516. package/typescript/dist/src/server/file-discovery.js.map +1 -0
  517. package/typescript/dist/src/server/file-streaming.d.ts +152 -0
  518. package/typescript/dist/src/server/file-streaming.d.ts.map +1 -0
  519. package/typescript/dist/src/server/file-streaming.js +627 -0
  520. package/typescript/dist/src/server/file-streaming.js.map +1 -0
  521. package/typescript/dist/src/server/files.d.ts +100 -0
  522. package/typescript/dist/src/server/files.d.ts.map +1 -0
  523. package/typescript/dist/src/server/files.js +609 -0
  524. package/typescript/dist/src/server/files.js.map +1 -0
  525. package/typescript/dist/src/server/index.d.ts +54 -0
  526. package/typescript/dist/src/server/index.d.ts.map +1 -0
  527. package/typescript/dist/src/server/index.js +54 -0
  528. package/typescript/dist/src/server/index.js.map +1 -0
  529. package/typescript/dist/src/server/logger.d.ts +95 -0
  530. package/typescript/dist/src/server/logger.d.ts.map +1 -0
  531. package/typescript/dist/src/server/logger.js +271 -0
  532. package/typescript/dist/src/server/logger.js.map +1 -0
  533. package/typescript/dist/src/server/memory-aware-cache.d.ts +169 -0
  534. package/typescript/dist/src/server/memory-aware-cache.d.ts.map +1 -0
  535. package/typescript/dist/src/server/memory-aware-cache.js +655 -0
  536. package/typescript/dist/src/server/memory-aware-cache.js.map +1 -0
  537. package/typescript/dist/src/server/memory-monitor-tool.d.ts +46 -0
  538. package/typescript/dist/src/server/memory-monitor-tool.d.ts.map +1 -0
  539. package/typescript/dist/src/server/memory-monitor-tool.js +381 -0
  540. package/typescript/dist/src/server/memory-monitor-tool.js.map +1 -0
  541. package/typescript/dist/src/server/memory-monitor.d.ts +79 -0
  542. package/typescript/dist/src/server/memory-monitor.d.ts.map +1 -0
  543. package/typescript/dist/src/server/memory-monitor.js +333 -0
  544. package/typescript/dist/src/server/memory-monitor.js.map +1 -0
  545. package/typescript/dist/src/server/optimization-engine.d.ts +68 -0
  546. package/typescript/dist/src/server/optimization-engine.d.ts.map +1 -0
  547. package/typescript/dist/src/server/optimization-engine.js +728 -0
  548. package/typescript/dist/src/server/optimization-engine.js.map +1 -0
  549. package/typescript/dist/src/server/path-manager.d.ts +46 -0
  550. package/typescript/dist/src/server/path-manager.d.ts.map +1 -0
  551. package/typescript/dist/src/server/path-manager.js +155 -0
  552. package/typescript/dist/src/server/path-manager.js.map +1 -0
  553. package/typescript/dist/src/server/pattern-analyzer.d.ts +69 -0
  554. package/typescript/dist/src/server/pattern-analyzer.d.ts.map +1 -0
  555. package/typescript/dist/src/server/pattern-analyzer.js +497 -0
  556. package/typescript/dist/src/server/pattern-analyzer.js.map +1 -0
  557. package/typescript/dist/src/server/performance-observer.d.ts +61 -0
  558. package/typescript/dist/src/server/performance-observer.d.ts.map +1 -0
  559. package/typescript/dist/src/server/performance-observer.js +394 -0
  560. package/typescript/dist/src/server/performance-observer.js.map +1 -0
  561. package/typescript/dist/src/server/performance.d.ts +121 -0
  562. package/typescript/dist/src/server/performance.d.ts.map +1 -0
  563. package/typescript/dist/src/server/performance.js +520 -0
  564. package/typescript/dist/src/server/performance.js.map +1 -0
  565. package/typescript/dist/src/server/report-generator.d.ts +131 -0
  566. package/typescript/dist/src/server/report-generator.d.ts.map +1 -0
  567. package/typescript/dist/src/server/report-generator.js +1158 -0
  568. package/typescript/dist/src/server/report-generator.js.map +1 -0
  569. package/typescript/dist/src/server/resource-lifecycle-manager.d.ts +231 -0
  570. package/typescript/dist/src/server/resource-lifecycle-manager.d.ts.map +1 -0
  571. package/typescript/dist/src/server/resource-lifecycle-manager.js +839 -0
  572. package/typescript/dist/src/server/resource-lifecycle-manager.js.map +1 -0
  573. package/typescript/dist/src/server/retry-operations.d.ts +59 -0
  574. package/typescript/dist/src/server/retry-operations.d.ts.map +1 -0
  575. package/typescript/dist/src/server/retry-operations.js +68 -0
  576. package/typescript/dist/src/server/retry-operations.js.map +1 -0
  577. package/typescript/dist/src/server/retry.d.ts +18 -0
  578. package/typescript/dist/src/server/retry.d.ts.map +1 -0
  579. package/typescript/dist/src/server/retry.js +44 -0
  580. package/typescript/dist/src/server/retry.js.map +1 -0
  581. package/typescript/dist/src/server/retryable.d.ts +2 -0
  582. package/typescript/dist/src/server/retryable.d.ts.map +1 -0
  583. package/typescript/dist/src/server/retryable.js +21 -0
  584. package/typescript/dist/src/server/retryable.js.map +1 -0
  585. package/typescript/dist/src/server/scheduler.d.ts +4 -0
  586. package/typescript/dist/src/server/scheduler.d.ts.map +1 -0
  587. package/typescript/dist/src/server/scheduler.js +21 -0
  588. package/typescript/dist/src/server/scheduler.js.map +1 -0
  589. package/typescript/dist/src/server/security-scanner.d.ts +59 -0
  590. package/typescript/dist/src/server/security-scanner.d.ts.map +1 -0
  591. package/typescript/dist/src/server/security-scanner.js +915 -0
  592. package/typescript/dist/src/server/security-scanner.js.map +1 -0
  593. package/typescript/dist/src/server/security.d.ts +25 -0
  594. package/typescript/dist/src/server/security.d.ts.map +1 -0
  595. package/typescript/dist/src/server/security.js +298 -0
  596. package/typescript/dist/src/server/security.js.map +1 -0
  597. package/typescript/dist/src/server/session-management.d.ts +103 -0
  598. package/typescript/dist/src/server/session-management.d.ts.map +1 -0
  599. package/typescript/dist/src/server/session-management.js +149 -0
  600. package/typescript/dist/src/server/session-management.js.map +1 -0
  601. package/typescript/dist/src/server/session-recovery.d.ts +91 -0
  602. package/typescript/dist/src/server/session-recovery.d.ts.map +1 -0
  603. package/typescript/dist/src/server/session-recovery.js +384 -0
  604. package/typescript/dist/src/server/session-recovery.js.map +1 -0
  605. package/typescript/dist/src/server/session.d.ts +18 -0
  606. package/typescript/dist/src/server/session.d.ts.map +1 -0
  607. package/typescript/dist/src/server/session.js +46 -0
  608. package/typescript/dist/src/server/session.js.map +1 -0
  609. package/typescript/dist/src/server/simple-tools.d.ts +15 -0
  610. package/typescript/dist/src/server/simple-tools.d.ts.map +1 -0
  611. package/typescript/dist/src/server/simple-tools.js +15 -0
  612. package/typescript/dist/src/server/simple-tools.js.map +1 -0
  613. package/typescript/dist/src/server/streaming-utilities.d.ts +107 -0
  614. package/typescript/dist/src/server/streaming-utilities.d.ts.map +1 -0
  615. package/typescript/dist/src/server/streaming-utilities.js +822 -0
  616. package/typescript/dist/src/server/streaming-utilities.js.map +1 -0
  617. package/typescript/dist/src/server/streams.d.ts +48 -0
  618. package/typescript/dist/src/server/streams.d.ts.map +1 -0
  619. package/typescript/dist/src/server/streams.js +489 -0
  620. package/typescript/dist/src/server/streams.js.map +1 -0
  621. package/typescript/dist/src/server/stringify-advanced.d.ts +31 -0
  622. package/typescript/dist/src/server/stringify-advanced.d.ts.map +1 -0
  623. package/typescript/dist/src/server/stringify-advanced.js +183 -0
  624. package/typescript/dist/src/server/stringify-advanced.js.map +1 -0
  625. package/typescript/dist/src/server/structured-clone-tool.d.ts +101 -0
  626. package/typescript/dist/src/server/structured-clone-tool.d.ts.map +1 -0
  627. package/typescript/dist/src/server/structured-clone-tool.js +450 -0
  628. package/typescript/dist/src/server/structured-clone-tool.js.map +1 -0
  629. package/typescript/dist/src/server/structured-clone.d.ts +59 -0
  630. package/typescript/dist/src/server/structured-clone.d.ts.map +1 -0
  631. package/typescript/dist/src/server/structured-clone.js +307 -0
  632. package/typescript/dist/src/server/structured-clone.js.map +1 -0
  633. package/typescript/dist/src/server/test-runner.d.ts +78 -0
  634. package/typescript/dist/src/server/test-runner.d.ts.map +1 -0
  635. package/typescript/dist/src/server/test-runner.js +1024 -0
  636. package/typescript/dist/src/server/test-runner.js.map +1 -0
  637. package/typescript/dist/src/server/tool-helpers.d.ts +6 -0
  638. package/typescript/dist/src/server/tool-helpers.d.ts.map +1 -0
  639. package/typescript/dist/src/server/tool-helpers.js +27 -0
  640. package/typescript/dist/src/server/tool-helpers.js.map +1 -0
  641. package/typescript/dist/src/server/validation.d.ts +79 -0
  642. package/typescript/dist/src/server/validation.d.ts.map +1 -0
  643. package/typescript/dist/src/server/validation.js +613 -0
  644. package/typescript/dist/src/server/validation.js.map +1 -0
  645. package/typescript/dist/src/server/worker-pool.d.ts +87 -0
  646. package/typescript/dist/src/server/worker-pool.d.ts.map +1 -0
  647. package/typescript/dist/src/server/worker-pool.js +586 -0
  648. package/typescript/dist/src/server/worker-pool.js.map +1 -0
  649. package/typescript/dist/src/server/worker-threads.d.ts +95 -0
  650. package/typescript/dist/src/server/worker-threads.d.ts.map +1 -0
  651. package/typescript/dist/src/server/worker-threads.js +1074 -0
  652. package/typescript/dist/src/server/worker-threads.js.map +1 -0
  653. package/typescript/dist/src/server/workflow-orchestrator.d.ts +122 -0
  654. package/typescript/dist/src/server/workflow-orchestrator.d.ts.map +1 -0
  655. package/typescript/dist/src/server/workflow-orchestrator.js +2131 -0
  656. package/typescript/dist/src/server/workflow-orchestrator.js.map +1 -0
  657. package/typescript/dist/src/server/worktree-manager.d.ts +70 -0
  658. package/typescript/dist/src/server/worktree-manager.d.ts.map +1 -0
  659. package/typescript/dist/src/server/worktree-manager.js +741 -0
  660. package/typescript/dist/src/server/worktree-manager.js.map +1 -0
  661. package/typescript/dist/src/shared/constants.d.ts +5 -0
  662. package/typescript/dist/src/shared/constants.d.ts.map +1 -0
  663. package/typescript/dist/src/shared/constants.js +5 -0
  664. package/typescript/dist/src/shared/constants.js.map +1 -0
  665. package/typescript/dist/src/shared/entity-config.d.ts +76 -0
  666. package/typescript/dist/src/shared/entity-config.d.ts.map +1 -0
  667. package/typescript/dist/src/shared/entity-config.js +2 -0
  668. package/typescript/dist/src/shared/entity-config.js.map +1 -0
  669. package/typescript/dist/src/shared/environment.d.ts +18 -0
  670. package/typescript/dist/src/shared/environment.d.ts.map +1 -0
  671. package/typescript/dist/src/shared/environment.js +39 -0
  672. package/typescript/dist/src/shared/environment.js.map +1 -0
  673. package/typescript/dist/src/shared/index.d.ts +6 -0
  674. package/typescript/dist/src/shared/index.d.ts.map +1 -0
  675. package/typescript/dist/src/shared/index.js +6 -0
  676. package/typescript/dist/src/shared/index.js.map +1 -0
  677. package/typescript/dist/src/shared/stringify.d.ts +16 -0
  678. package/typescript/dist/src/shared/stringify.d.ts.map +1 -0
  679. package/typescript/dist/src/shared/stringify.js +195 -0
  680. package/typescript/dist/src/shared/stringify.js.map +1 -0
  681. package/typescript/dist/src/shared/timeout.d.ts +27 -0
  682. package/typescript/dist/src/shared/timeout.d.ts.map +1 -0
  683. package/typescript/dist/src/shared/timeout.js +196 -0
  684. package/typescript/dist/src/shared/timeout.js.map +1 -0
  685. package/typescript/dist/src/types/mcp.d.ts +23 -0
  686. package/typescript/dist/src/types/mcp.d.ts.map +1 -0
  687. package/typescript/dist/src/types/mcp.js +2 -0
  688. package/typescript/dist/src/types/mcp.js.map +1 -0
  689. package/typescript/dist/tsconfig.tsbuildinfo +1 -0
  690. package/typescript/dist/vite.config.d.ts +3 -0
  691. package/typescript/dist/vite.config.d.ts.map +1 -0
  692. package/typescript/dist/vite.config.js +12 -0
  693. package/typescript/dist/vite.config.js.map +1 -0
  694. package/typescript/nextjs.json +17 -0
  695. package/typescript/node.json +10 -0
  696. package/typescript/react-native.json +8 -0
  697. package/typescript/react.json +12 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CriticalIllnessComparison.d.ts","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/CriticalIllnessComparison.tsx"],"names":[],"mappings":"AAmBA,MAAM,CAAC,OAAO,UAAU,yBAAyB,4CA2MhD"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useMutation } from '@tanstack/react-query';
4
+ import { PercentileGauge } from '../components/charts';
5
+ import { Button, Input, Select } from '../components/ui';
6
+ import { Card, CardHeader, CardTitle } from '../components/ui/Card';
7
+ import { compareCriticalIllnessPlan } from '../lib/api/benchmarks';
8
+ import { defaultCriticalIllnessPlan, } from '../lib/types/critical-illness';
9
+ import { formatValue, getInterpretationLabel } from '../lib/utils/format';
10
+ const ageBasisOptions = [
11
+ { value: 'attained_age', label: 'Attained Age' },
12
+ { value: 'issue_age', label: 'Issue Age' },
13
+ ];
14
+ export default function CriticalIllnessComparison() {
15
+ const [planData, setPlanData] = useState(defaultCriticalIllnessPlan);
16
+ const [results, setResults] = useState(null);
17
+ const compareMutation = useMutation({
18
+ mutationFn: async () => {
19
+ const inputs = [
20
+ { field: 'employeeMaximum', value: planData.employeeMaximum },
21
+ { field: 'employeeGuaranteeIssue', value: planData.employeeGuaranteeIssue },
22
+ { field: 'employeeIncrements', value: planData.employeeIncrements },
23
+ { field: 'spouseMaximum', value: planData.spouseMaximum },
24
+ { field: 'spouseGuaranteeIssue', value: planData.spouseGuaranteeIssue },
25
+ { field: 'childMaximum', value: planData.childMaximum },
26
+ { field: 'wellnessBenefitAmount', value: planData.wellnessBenefitAmount },
27
+ { field: 'preExistingLookback', value: planData.preExistingLookback },
28
+ ];
29
+ return compareCriticalIllnessPlan(inputs);
30
+ },
31
+ onSuccess: data => {
32
+ setResults(data);
33
+ },
34
+ });
35
+ const handleSubmit = (e) => {
36
+ e.preventDefault();
37
+ compareMutation.mutate();
38
+ };
39
+ const updateField = (field, value) => {
40
+ setPlanData(prev => ({ ...prev, [field]: value }));
41
+ };
42
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900", children: "Critical Illness Comparison" }), _jsx("p", { className: "mt-1 text-gray-500", children: "Enter your client's critical illness plan details to see how they compare." })] }), _jsxs("div", { className: "grid grid-cols-1 gap-8 lg:grid-cols-2", children: [_jsx("div", { children: _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Client Plan Details" }) }), _jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsxs("div", { children: [_jsxs("h3", { className: "mb-3 flex items-center gap-2 text-sm font-semibold text-gray-700", children: [_jsx("span", { className: "bg-primary-100 text-primary-700 rounded-full px-2 py-0.5 text-xs", children: "P1" }), "Employee Coverage"] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(Input, { label: "Employee Maximum", type: "number", value: planData.employeeMaximum, onChange: e => updateField('employeeMaximum', Number(e.target.value)), hint: "$" }), _jsx(Input, { label: "Employee GI", type: "number", value: planData.employeeGuaranteeIssue, onChange: e => updateField('employeeGuaranteeIssue', Number(e.target.value)), hint: "$" }), _jsx(Input, { label: "Employee Increments", type: "number", value: planData.employeeIncrements, onChange: e => updateField('employeeIncrements', Number(e.target.value)), hint: "$" }), _jsx(Select, { label: "Age Basis", options: ageBasisOptions, value: planData.ageBasis, onChange: e => updateField('ageBasis', e.target.value) })] })] }), _jsxs("div", { children: [_jsxs("h3", { className: "mb-3 flex items-center gap-2 text-sm font-semibold text-gray-700", children: [_jsx("span", { className: "rounded-full bg-gray-100 px-2 py-0.5 text-xs text-gray-600", children: "P2" }), "Dependent Coverage & Features"] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(Input, { label: "Spouse Maximum", type: "number", value: planData.spouseMaximum, onChange: e => updateField('spouseMaximum', Number(e.target.value)), hint: "$" }), _jsx(Input, { label: "Spouse GI", type: "number", value: planData.spouseGuaranteeIssue, onChange: e => updateField('spouseGuaranteeIssue', Number(e.target.value)), hint: "$" }), _jsx(Input, { label: "Child Maximum", type: "number", value: planData.childMaximum, onChange: e => updateField('childMaximum', Number(e.target.value)), hint: "$" }), _jsx(Input, { label: "Wellness Benefit", type: "number", value: planData.wellnessBenefitAmount, onChange: e => updateField('wellnessBenefitAmount', Number(e.target.value)), hint: "$" }), _jsx(Input, { label: "Pre-Ex Lookback", type: "number", value: planData.preExistingLookback, onChange: e => updateField('preExistingLookback', Number(e.target.value)), hint: "Months" }), _jsxs("div", { className: "flex items-center gap-2 pt-6", children: [_jsx("input", { type: "checkbox", id: "portability", checked: planData.hasPortability, onChange: e => updateField('hasPortability', e.target.checked), className: "text-primary-600 h-4 w-4 rounded border-gray-300" }), _jsx("label", { htmlFor: "portability", className: "text-sm text-gray-700", children: "Portability" })] })] })] }), _jsx(Button, { type: "submit", className: "w-full", disabled: compareMutation.isPending, children: compareMutation.isPending ? 'Comparing...' : 'Compare to Benchmarks' })] })] }) }), _jsx("div", { children: results ? (_jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Comparison Results" }) }), _jsx("div", { className: "mb-6 grid grid-cols-4 gap-3", children: ['excellent', 'above_average', 'average', 'below_average'].map(level => {
43
+ const count = results.filter(r => r.interpretation === level).length;
44
+ const getBgClass = () => {
45
+ if (level === 'excellent')
46
+ return 'bg-green-50';
47
+ if (level === 'above_average')
48
+ return 'bg-blue-50';
49
+ if (level === 'average')
50
+ return 'bg-yellow-50';
51
+ return 'bg-red-50';
52
+ };
53
+ return (_jsxs("div", { className: `rounded-lg p-2 text-center ${getBgClass()}`, children: [_jsx("p", { className: "text-2xl font-bold", children: count }), _jsx("p", { className: "text-xs text-gray-600", children: getInterpretationLabel(level) })] }, level));
54
+ }) }), _jsx("div", { className: "space-y-6", children: results.map(result => (_jsx(PercentileGauge, { label: result.label, value: formatValue(result.clientValue, result.unit), percentile: result.percentile, interpretation: result.interpretation }, result.field))) })] })) : (_jsx(Card, { className: "flex h-full min-h-[400px] items-center justify-center", children: _jsxs("div", { className: "text-center text-gray-500", children: [_jsx("p", { className: "font-medium", children: "Enter plan details" }), _jsx("p", { className: "mt-1 text-sm", children: "Fill out the form to see results" })] }) })) })] })] }));
55
+ }
56
+ //# sourceMappingURL=CriticalIllnessComparison.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CriticalIllnessComparison.js","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/CriticalIllnessComparison.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function CriticalIllnessExplorer(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=CriticalIllnessExplorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CriticalIllnessExplorer.d.ts","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/CriticalIllnessExplorer.tsx"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,uBAAuB,4CA6I9C"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import { BenchmarkCard } from '../components/charts';
5
+ import { FilterPanel } from '../components/filters';
6
+ import { Card } from '../components/ui/Card';
7
+ import { getCriticalIllnessBenchmarks } from '../lib/api/benchmarks';
8
+ export default function CriticalIllnessExplorer() {
9
+ const [filters, setFilters] = useState({
10
+ industries: [],
11
+ companySizes: [],
12
+ regions: [],
13
+ });
14
+ const [priorityFilter, setPriorityFilter] = useState('all');
15
+ const { data, isLoading, error } = useQuery({
16
+ queryKey: ['criticalIllnessBenchmarks', filters],
17
+ queryFn: () => getCriticalIllnessBenchmarks(filters),
18
+ });
19
+ const filteredBenchmarks = data?.data.filter(b => priorityFilter === 'all' || b.priority === priorityFilter);
20
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex items-start justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900", children: "Critical Illness Benchmarks" }), _jsx("p", { className: "mt-1 text-gray-500", children: "Explore critical illness insurance benchmark data across the industry." })] }), _jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [_jsx("span", { children: "Last updated:" }), _jsx("span", { className: "font-medium", children: data?.metadata.lastUpdated || '—' })] })] }), _jsxs("div", { className: "grid grid-cols-1 gap-6 lg:grid-cols-4", children: [_jsxs("div", { className: "space-y-4 lg:col-span-1", children: [_jsx(FilterPanel, { filters: filters, onFiltersChange: setFilters }), _jsxs(Card, { padding: "sm", children: [_jsx("h4", { className: "mb-3 text-sm font-medium text-gray-700", children: "Field Priority" }), _jsx("div", { className: "space-y-2", children: [
21
+ { value: 'all', label: 'All Fields' },
22
+ { value: 1, label: 'Key Metrics (P1)' },
23
+ { value: 2, label: 'Secondary (P2)' },
24
+ { value: 3, label: 'Details (P3)' },
25
+ ].map(option => (_jsx("button", { type: "button", onClick: () => setPriorityFilter(option.value), className: `w-full rounded-lg px-3 py-2 text-left text-sm transition-colors ${priorityFilter === option.value
26
+ ? 'bg-primary-100 text-primary-700 font-medium'
27
+ : 'text-gray-600 hover:bg-gray-50'}`, children: option.label }, option.value))) })] }), data ? (_jsxs(Card, { padding: "sm", children: [_jsx("h4", { className: "mb-3 text-sm font-medium text-gray-700", children: "Market Prevalence" }), _jsxs("div", { className: "space-y-3 text-sm", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "CI Offered" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.isOffered, "%"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "Spouse Coverage" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.hasSpouseCoverage, "%"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "Child Coverage" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.hasChildCoverage, "%"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "Wellness Benefit" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.hasWellnessBenefit, "%"] })] })] })] })) : null] }), _jsx("div", { className: "lg:col-span-3", children: isLoading ? (_jsx("div", { className: "flex h-64 items-center justify-center", children: _jsx("div", { className: "text-gray-500", children: "Loading benchmarks..." }) })) : (error ? (_jsx("div", { className: "flex h-64 items-center justify-center", children: _jsx("div", { className: "text-red-500", children: "Error loading benchmarks" }) })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "mb-4 flex items-center justify-between", children: _jsxs("p", { className: "text-sm text-gray-500", children: ["Showing ", filteredBenchmarks?.length || 0, " benchmark fields", data?.metadata.totalSampleSize ? (_jsxs("span", { children: [" based on ", data.metadata.totalSampleSize.toLocaleString(), " plans"] })) : null] }) }), _jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: filteredBenchmarks?.map(benchmark => (_jsx(BenchmarkCard, { label: benchmark.label, description: benchmark.description, percentiles: benchmark.percentiles, unit: benchmark.unit, sampleSize: benchmark.sampleSize, priority: benchmark.priority }, benchmark.field))) })] }))) })] })] }));
28
+ }
29
+ //# sourceMappingURL=CriticalIllnessExplorer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CriticalIllnessExplorer.js","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/CriticalIllnessExplorer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function Dashboard(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=Dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/Dashboard.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,SAAS,4CAyLhC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Link } from 'react-router-dom';
3
+ import { Button } from '../components/ui';
4
+ import { Card, CardHeader, CardTitle, CardDescription } from '../components/ui/Card';
5
+ export default function Dashboard() {
6
+ return (_jsxs("div", { className: "space-y-8", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900", children: "Ancillary Benefits Benchmarking" }), _jsx("p", { className: "mt-1 text-gray-500", children: "Compare client plans against industry benchmarks for dental and vision benefits." })] }), _jsxs("div", { className: "grid grid-cols-1 gap-6 md:grid-cols-2", children: [_jsxs(Card, { className: "transition-shadow hover:shadow-lg", children: [_jsx(CardHeader, { children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "rounded-lg bg-blue-100 p-2", children: _jsx("svg", { className: "h-6 w-6 text-blue-600", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z" }) }) }), _jsxs("div", { children: [_jsx(CardTitle, { children: "Explore Benchmarks" }), _jsx(CardDescription, { children: "Browse industry benchmarks without entering client data" })] })] }) }), _jsxs("div", { className: "space-y-3", children: [_jsx("p", { className: "text-sm text-gray-600", children: "View percentile distributions, filter by industry, company size, and region. Great for understanding market trends." }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Link, { to: "/explore/dental", children: _jsx(Button, { variant: "secondary", size: "sm", children: "Dental Benchmarks" }) }), _jsx(Link, { to: "/explore/vision", children: _jsx(Button, { variant: "secondary", size: "sm", children: "Vision Benchmarks" }) })] })] })] }), _jsxs(Card, { className: "transition-shadow hover:shadow-lg", children: [_jsx(CardHeader, { children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "rounded-lg bg-green-100 p-2", children: _jsx("svg", { className: "h-6 w-6 text-green-600", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 17V7m0 10a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2h2a2 2 0 012 2m0 10a2 2 0 002 2h2a2 2 0 002-2M9 7a2 2 0 012-2h2a2 2 0 012 2m0 10V7m0 10a2 2 0 002 2h2a2 2 0 002-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2" }) }) }), _jsxs("div", { children: [_jsx(CardTitle, { children: "Compare Client Plan" }), _jsx(CardDescription, { children: "Input client details and see how they stack up" })] })] }) }), _jsxs("div", { className: "space-y-3", children: [_jsx("p", { className: "text-sm text-gray-600", children: "Enter your client's plan details to see percentile rankings and identify opportunities for improvement." }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Link, { to: "/compare/dental", children: _jsx(Button, { size: "sm", children: "Compare Dental Plan" }) }), _jsx(Link, { to: "/compare/vision", children: _jsx(Button, { size: "sm", children: "Compare Vision Plan" }) })] })] })] })] }), _jsxs("div", { children: [_jsx("h2", { className: "mb-4 text-lg font-semibold text-gray-900", children: "Benchmark Data Overview" }), _jsxs("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-4", children: [_jsx(Card, { padding: "sm", children: _jsxs("div", { className: "text-center", children: [_jsx("p", { className: "text-primary-600 text-3xl font-bold", children: "4,850" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Dental Plans" })] }) }), _jsx(Card, { padding: "sm", children: _jsxs("div", { className: "text-center", children: [_jsx("p", { className: "text-primary-600 text-3xl font-bold", children: "4,620" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Vision Plans" })] }) }), _jsx(Card, { padding: "sm", children: _jsxs("div", { className: "text-center", children: [_jsx("p", { className: "text-primary-600 text-3xl font-bold", children: "29" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Dental Data Points" })] }) }), _jsx(Card, { padding: "sm", children: _jsxs("div", { className: "text-center", children: [_jsx("p", { className: "text-primary-600 text-3xl font-bold", children: "17" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Vision Data Points" })] }) })] })] }), _jsxs("div", { children: [_jsx("h2", { className: "mb-4 text-lg font-semibold text-gray-900", children: "Common Use Cases" }), _jsxs("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3", children: [_jsxs(Card, { padding: "sm", className: "border-l-4 border-l-blue-500", children: [_jsx("h3", { className: "font-medium text-gray-900", children: "HR Benefits Review" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Help HR see if their benefits are competitive for recruitment and retention." })] }), _jsxs(Card, { padding: "sm", className: "border-l-4 border-l-green-500", children: [_jsx("h3", { className: "font-medium text-gray-900", children: "Consultant Cross-Sell" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Identify opportunities to enhance client benefits and increase business." })] }), _jsxs(Card, { padding: "sm", className: "border-l-4 border-l-purple-500", children: [_jsx("h3", { className: "font-medium text-gray-900", children: "New Business Prospecting" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Show prospects how their current benefits compare to industry norms." })] })] })] }), _jsx(Card, { padding: "sm", className: "border-yellow-200 bg-yellow-50", children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx("svg", { className: "mt-0.5 h-5 w-5 text-yellow-600", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }), _jsxs("div", { children: [_jsx("h4", { className: "font-medium text-yellow-800", children: "POC - Mock Data" }), _jsx("p", { className: "mt-1 text-sm text-yellow-700", children: "This prototype uses simulated benchmark data. Real benchmark data will be integrated once the API schema is finalized." })] })] }) })] }));
7
+ }
8
+ //# sourceMappingURL=Dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/Dashboard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function DentalComparison(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=DentalComparison.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DentalComparison.d.ts","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/DentalComparison.tsx"],"names":[],"mappings":"AA2BA,MAAM,CAAC,OAAO,UAAU,gBAAgB,4CAyQvC"}
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useMutation } from '@tanstack/react-query';
4
+ import { PercentileGauge } from '../components/charts';
5
+ import { Button, Input, Select } from '../components/ui';
6
+ import { Card, CardHeader, CardTitle } from '../components/ui/Card';
7
+ import { compareDentalPlan } from '../lib/api/benchmarks';
8
+ import { defaultDentalPlan } from '../lib/types/dental';
9
+ import { formatValue, getInterpretationLabel } from '../lib/utils/format';
10
+ const costSharingOptions = [
11
+ { value: 'employer_paid', label: 'Employer Paid' },
12
+ { value: 'shared', label: 'Shared Cost' },
13
+ { value: 'employee_paid', label: 'Employee Paid' },
14
+ { value: 'voluntary', label: 'Voluntary' },
15
+ ];
16
+ const fundingOptions = [
17
+ { value: 'fully_insured', label: 'Fully Insured' },
18
+ { value: 'self_funded', label: 'Self-Funded' },
19
+ { value: 'level_funded', label: 'Level Funded' },
20
+ { value: 'aso', label: 'ASO' },
21
+ ];
22
+ export default function DentalComparison() {
23
+ const [planData, setPlanData] = useState(defaultDentalPlan);
24
+ const [results, setResults] = useState(null);
25
+ const compareMutation = useMutation({
26
+ mutationFn: async () => {
27
+ const inputs = [
28
+ { field: 'annualMaximum', value: planData.annualMaximum },
29
+ { field: 'orthoLifetimeMaximum', value: planData.orthoLifetimeMaximum },
30
+ { field: 'preventiveCoinsurance', value: planData.preventiveCoinsurance },
31
+ { field: 'basicCoinsurance', value: planData.basicCoinsurance },
32
+ { field: 'majorCoinsurance', value: planData.majorCoinsurance },
33
+ { field: 'orthoCoinsurance', value: planData.orthoCoinsurance },
34
+ { field: 'newHireWaitingPeriod', value: planData.newHireWaitingPeriod },
35
+ { field: 'planDesignsOffered', value: planData.planDesignsOffered },
36
+ ];
37
+ return compareDentalPlan(inputs);
38
+ },
39
+ onSuccess: data => {
40
+ setResults(data);
41
+ },
42
+ });
43
+ const handleSubmit = (e) => {
44
+ e.preventDefault();
45
+ compareMutation.mutate();
46
+ };
47
+ const updateField = (field, value) => {
48
+ setPlanData(prev => ({ ...prev, [field]: value }));
49
+ };
50
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900", children: "Dental Plan Comparison" }), _jsx("p", { className: "mt-1 text-gray-500", children: "Enter your client's dental plan details to see how they compare to industry benchmarks." })] }), _jsxs("div", { className: "grid grid-cols-1 gap-8 lg:grid-cols-2", children: [_jsx("div", { children: _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Client Plan Details" }) }), _jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsxs("div", { children: [_jsxs("h3", { className: "mb-3 flex items-center gap-2 text-sm font-semibold text-gray-700", children: [_jsx("span", { className: "bg-primary-100 text-primary-700 rounded-full px-2 py-0.5 text-xs", children: "P1" }), "Key Metrics"] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(Input, { label: "Annual Maximum", type: "number", value: planData.annualMaximum, onChange: e => updateField('annualMaximum', Number(e.target.value)), hint: "Dollar amount" }), _jsx(Input, { label: "Ortho Lifetime Max", type: "number", value: planData.orthoLifetimeMaximum, onChange: e => updateField('orthoLifetimeMaximum', Number(e.target.value)), hint: "Dollar amount" }), _jsx(Select, { label: "Cost Sharing", options: costSharingOptions, value: planData.costSharing, onChange: e => updateField('costSharing', e.target.value) }), _jsxs("div", { className: "flex items-center gap-2 pt-6", children: [_jsx("input", { type: "checkbox", id: "rollover", checked: planData.hasRollOverAccounts, onChange: e => updateField('hasRollOverAccounts', e.target.checked), className: "text-primary-600 focus:ring-primary-500 h-4 w-4 rounded border-gray-300" }), _jsx("label", { htmlFor: "rollover", className: "text-sm text-gray-700", children: "Rollover Accounts" })] })] })] }), _jsxs("div", { children: [_jsxs("h3", { className: "mb-3 flex items-center gap-2 text-sm font-semibold text-gray-700", children: [_jsx("span", { className: "rounded-full bg-gray-100 px-2 py-0.5 text-xs text-gray-600", children: "P2" }), "Coinsurance Levels"] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(Input, { label: "Preventive %", type: "number", min: 0, max: 100, value: planData.preventiveCoinsurance, onChange: e => updateField('preventiveCoinsurance', Number(e.target.value)), hint: "Plan pays this %" }), _jsx(Input, { label: "Basic %", type: "number", min: 0, max: 100, value: planData.basicCoinsurance, onChange: e => updateField('basicCoinsurance', Number(e.target.value)), hint: "Plan pays this %" }), _jsx(Input, { label: "Major %", type: "number", min: 0, max: 100, value: planData.majorCoinsurance, onChange: e => updateField('majorCoinsurance', Number(e.target.value)), hint: "Plan pays this %" }), _jsx(Input, { label: "Ortho %", type: "number", min: 0, max: 100, value: planData.orthoCoinsurance, onChange: e => updateField('orthoCoinsurance', Number(e.target.value)), hint: "Plan pays this %" })] })] }), _jsxs("div", { children: [_jsx("h3", { className: "mb-3 text-sm font-semibold text-gray-700", children: "Other Details" }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(Input, { label: "Plan Designs Offered", type: "number", min: 1, max: 10, value: planData.planDesignsOffered, onChange: e => updateField('planDesignsOffered', Number(e.target.value)) }), _jsx(Input, { label: "New Hire Waiting Period", type: "number", min: 0, value: planData.newHireWaitingPeriod, onChange: e => updateField('newHireWaitingPeriod', Number(e.target.value)), hint: "Days" }), _jsx(Select, { label: "Funding Type", options: fundingOptions, value: planData.funding, onChange: e => updateField('funding', e.target.value) }), _jsxs("div", { className: "flex items-center gap-2 pt-6", children: [_jsx("input", { type: "checkbox", id: "dhmo", checked: planData.hasDhmoOffering, onChange: e => updateField('hasDhmoOffering', e.target.checked), className: "text-primary-600 focus:ring-primary-500 h-4 w-4 rounded border-gray-300" }), _jsx("label", { htmlFor: "dhmo", className: "text-sm text-gray-700", children: "DHMO Offering" })] })] })] }), _jsx(Button, { type: "submit", className: "w-full", disabled: compareMutation.isPending, children: compareMutation.isPending ? 'Comparing...' : 'Compare to Benchmarks' })] })] }) }), _jsx("div", { children: results ? (_jsx("div", { className: "space-y-4", children: _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Comparison Results" }) }), _jsx("div", { className: "mb-6 grid grid-cols-4 gap-3", children: ['excellent', 'above_average', 'average', 'below_average'].map(level => {
51
+ const count = results.filter(r => r.interpretation === level).length;
52
+ const getBgClass = () => {
53
+ if (level === 'excellent')
54
+ return 'bg-green-50';
55
+ if (level === 'above_average')
56
+ return 'bg-blue-50';
57
+ if (level === 'average')
58
+ return 'bg-yellow-50';
59
+ return 'bg-red-50';
60
+ };
61
+ return (_jsxs("div", { className: `rounded-lg p-2 text-center ${getBgClass()}`, children: [_jsx("p", { className: "text-2xl font-bold", children: count }), _jsx("p", { className: "text-xs text-gray-600", children: getInterpretationLabel(level) })] }, level));
62
+ }) }), _jsx("div", { className: "space-y-6", children: results.map(result => (_jsx(PercentileGauge, { label: result.label, value: formatValue(result.clientValue, result.unit), percentile: result.percentile, interpretation: result.interpretation }, result.field))) })] }) })) : (_jsx(Card, { className: "flex h-full min-h-[400px] items-center justify-center", children: _jsxs("div", { className: "text-center text-gray-500", children: [_jsx("svg", { className: "mx-auto mb-4 h-12 w-12 text-gray-300", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M9 17V7m0 10a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2h2a2 2 0 012 2m0 10a2 2 0 002 2h2a2 2 0 002-2M9 7a2 2 0 012-2h2a2 2 0 012 2m0 10V7m0 10a2 2 0 002 2h2a2 2 0 002-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2" }) }), _jsx("p", { className: "font-medium", children: "Enter plan details" }), _jsx("p", { className: "mt-1 text-sm", children: "Fill out the form and click \"Compare to Benchmarks\" to see results" })] }) })) })] })] }));
63
+ }
64
+ //# sourceMappingURL=DentalComparison.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DentalComparison.js","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/DentalComparison.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function DentalExplorer(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=DentalExplorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DentalExplorer.d.ts","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/DentalExplorer.tsx"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,cAAc,4CA6IrC"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import { BenchmarkCard } from '../components/charts';
5
+ import { FilterPanel } from '../components/filters';
6
+ import { Card } from '../components/ui/Card';
7
+ import { getDentalBenchmarks } from '../lib/api/benchmarks';
8
+ export default function DentalExplorer() {
9
+ const [filters, setFilters] = useState({
10
+ industries: [],
11
+ companySizes: [],
12
+ regions: [],
13
+ });
14
+ const [priorityFilter, setPriorityFilter] = useState('all');
15
+ const { data, isLoading, error } = useQuery({
16
+ queryKey: ['dentalBenchmarks', filters],
17
+ queryFn: () => getDentalBenchmarks(filters),
18
+ });
19
+ const filteredBenchmarks = data?.data.filter(b => priorityFilter === 'all' || b.priority === priorityFilter);
20
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex items-start justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900", children: "Dental Benchmarks" }), _jsx("p", { className: "mt-1 text-gray-500", children: "Explore dental plan benchmark data across the industry." })] }), _jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [_jsx("span", { children: "Last updated:" }), _jsx("span", { className: "font-medium", children: data?.metadata.lastUpdated || '—' })] })] }), _jsxs("div", { className: "grid grid-cols-1 gap-6 lg:grid-cols-4", children: [_jsxs("div", { className: "space-y-4 lg:col-span-1", children: [_jsx(FilterPanel, { filters: filters, onFiltersChange: setFilters }), _jsxs(Card, { padding: "sm", children: [_jsx("h4", { className: "mb-3 text-sm font-medium text-gray-700", children: "Field Priority" }), _jsx("div", { className: "space-y-2", children: [
21
+ { value: 'all', label: 'All Fields' },
22
+ { value: 1, label: 'Key Metrics (P1)' },
23
+ { value: 2, label: 'Secondary (P2)' },
24
+ { value: 3, label: 'Details (P3)' },
25
+ ].map(option => (_jsx("button", { type: "button", onClick: () => setPriorityFilter(option.value), className: `w-full rounded-lg px-3 py-2 text-left text-sm transition-colors ${priorityFilter === option.value
26
+ ? 'bg-primary-100 text-primary-700 font-medium'
27
+ : 'text-gray-600 hover:bg-gray-50'}`, children: option.label }, option.value))) })] }), data ? (_jsxs(Card, { padding: "sm", children: [_jsx("h4", { className: "mb-3 text-sm font-medium text-gray-700", children: "Market Prevalence" }), _jsxs("div", { className: "space-y-3 text-sm", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "Dental Offered" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.isOffered, "%"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "Rollover Accounts" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.hasRollOverAccounts, "%"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "DHMO Available" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.hasDhmoOffering, "%"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "Adult Ortho" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.hasAdultOrthoCoverage, "%"] })] })] })] })) : null] }), _jsx("div", { className: "lg:col-span-3", children: isLoading ? (_jsx("div", { className: "flex h-64 items-center justify-center", children: _jsx("div", { className: "text-gray-500", children: "Loading benchmarks..." }) })) : (error ? (_jsx("div", { className: "flex h-64 items-center justify-center", children: _jsx("div", { className: "text-red-500", children: "Error loading benchmarks" }) })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "mb-4 flex items-center justify-between", children: _jsxs("p", { className: "text-sm text-gray-500", children: ["Showing ", filteredBenchmarks?.length || 0, " benchmark fields", data?.metadata.totalSampleSize ? (_jsxs("span", { children: [" based on ", data.metadata.totalSampleSize.toLocaleString(), " plans"] })) : null] }) }), _jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: filteredBenchmarks?.map(benchmark => (_jsx(BenchmarkCard, { label: benchmark.label, description: benchmark.description, percentiles: benchmark.percentiles, unit: benchmark.unit, sampleSize: benchmark.sampleSize, priority: benchmark.priority }, benchmark.field))) })] }))) })] })] }));
28
+ }
29
+ //# sourceMappingURL=DentalExplorer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DentalExplorer.js","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/DentalExplorer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function HospitalIndemnityComparison(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=HospitalIndemnityComparison.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HospitalIndemnityComparison.d.ts","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/HospitalIndemnityComparison.tsx"],"names":[],"mappings":"AAcA,MAAM,CAAC,OAAO,UAAU,2BAA2B,4CAgOlD"}
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useMutation } from '@tanstack/react-query';
4
+ import { PercentileGauge } from '../components/charts';
5
+ import { Button, Input } from '../components/ui';
6
+ import { Card, CardHeader, CardTitle } from '../components/ui/Card';
7
+ import { compareHospitalIndemnityPlan } from '../lib/api/benchmarks';
8
+ import { defaultHospitalIndemnityPlan, } from '../lib/types/hospital-indemnity';
9
+ import { formatValue, getInterpretationLabel } from '../lib/utils/format';
10
+ export default function HospitalIndemnityComparison() {
11
+ const [planData, setPlanData] = useState(defaultHospitalIndemnityPlan);
12
+ const [results, setResults] = useState(null);
13
+ const compareMutation = useMutation({
14
+ mutationFn: async () => {
15
+ const inputs = [
16
+ { field: 'hospitalAdmission', value: planData.hospitalAdmission },
17
+ { field: 'hospitalConfinement', value: planData.hospitalConfinement },
18
+ { field: 'icuAdmission', value: planData.icuAdmission },
19
+ { field: 'icuConfinement', value: planData.icuConfinement },
20
+ { field: 'hospitalConfinementMaxDays', value: planData.hospitalConfinementMaxDays },
21
+ { field: 'wellnessBenefitAmount', value: planData.wellnessBenefitAmount },
22
+ { field: 'emergencyRoomAmount', value: planData.emergencyRoomAmount },
23
+ { field: 'preExistingLookback', value: planData.preExistingLookback },
24
+ { field: 'preExistingWaitingPeriod', value: planData.preExistingWaitingPeriod },
25
+ ];
26
+ return compareHospitalIndemnityPlan(inputs);
27
+ },
28
+ onSuccess: data => {
29
+ setResults(data);
30
+ },
31
+ });
32
+ const handleSubmit = (e) => {
33
+ e.preventDefault();
34
+ compareMutation.mutate();
35
+ };
36
+ const updateField = (field, value) => {
37
+ setPlanData(prev => ({ ...prev, [field]: value }));
38
+ };
39
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900", children: "Hospital Indemnity Comparison" }), _jsx("p", { className: "mt-1 text-gray-500", children: "Enter your client's hospital indemnity plan details to see how they compare." })] }), _jsxs("div", { className: "grid grid-cols-1 gap-8 lg:grid-cols-2", children: [_jsx("div", { children: _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Client Plan Details" }) }), _jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsxs("div", { children: [_jsxs("h3", { className: "mb-3 flex items-center gap-2 text-sm font-semibold text-gray-700", children: [_jsx("span", { className: "bg-primary-100 text-primary-700 rounded-full px-2 py-0.5 text-xs", children: "P1" }), "Core Benefits"] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(Input, { label: "Hospital Admission", type: "number", value: planData.hospitalAdmission, onChange: e => updateField('hospitalAdmission', Number(e.target.value)), hint: "$" }), _jsx(Input, { label: "Hospital Confinement", type: "number", value: planData.hospitalConfinement, onChange: e => updateField('hospitalConfinement', Number(e.target.value)), hint: "$/day" }), _jsx(Input, { label: "ICU Admission", type: "number", value: planData.icuAdmission, onChange: e => updateField('icuAdmission', Number(e.target.value)), hint: "$" }), _jsx(Input, { label: "ICU Confinement", type: "number", value: planData.icuConfinement, onChange: e => updateField('icuConfinement', Number(e.target.value)), hint: "$/day" })] })] }), _jsxs("div", { children: [_jsxs("h3", { className: "mb-3 flex items-center gap-2 text-sm font-semibold text-gray-700", children: [_jsx("span", { className: "rounded-full bg-gray-100 px-2 py-0.5 text-xs text-gray-600", children: "P2" }), "Additional Benefits"] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(Input, { label: "Hospital Max Days", type: "number", value: planData.hospitalConfinementMaxDays, onChange: e => updateField('hospitalConfinementMaxDays', Number(e.target.value)), hint: "days" }), _jsx(Input, { label: "ICU Max Days", type: "number", value: planData.icuConfinementMaxDays, onChange: e => updateField('icuConfinementMaxDays', Number(e.target.value)), hint: "days" }), _jsx(Input, { label: "Wellness Benefit", type: "number", value: planData.wellnessBenefitAmount, onChange: e => updateField('wellnessBenefitAmount', Number(e.target.value)), hint: "$" }), _jsx(Input, { label: "ER Benefit", type: "number", value: planData.emergencyRoomAmount, onChange: e => updateField('emergencyRoomAmount', Number(e.target.value)), hint: "$" }), _jsx(Input, { label: "Pre-Ex Lookback", type: "number", value: planData.preExistingLookback, onChange: e => updateField('preExistingLookback', Number(e.target.value)), hint: "Months" }), _jsx(Input, { label: "Pre-Ex Waiting Period", type: "number", value: planData.preExistingWaitingPeriod, onChange: e => updateField('preExistingWaitingPeriod', Number(e.target.value)), hint: "Months" }), _jsxs("div", { className: "flex items-center gap-2 pt-6", children: [_jsx("input", { type: "checkbox", id: "portability", checked: planData.hasPortability, onChange: e => updateField('hasPortability', e.target.checked), className: "text-primary-600 h-4 w-4 rounded border-gray-300" }), _jsx("label", { htmlFor: "portability", className: "text-sm text-gray-700", children: "Portability" })] }), _jsxs("div", { className: "flex items-center gap-2 pt-6", children: [_jsx("input", { type: "checkbox", id: "wellness", checked: planData.hasWellnessBenefit, onChange: e => updateField('hasWellnessBenefit', e.target.checked), className: "text-primary-600 h-4 w-4 rounded border-gray-300" }), _jsx("label", { htmlFor: "wellness", className: "text-sm text-gray-700", children: "Wellness Included" })] })] })] }), _jsx(Button, { type: "submit", className: "w-full", disabled: compareMutation.isPending, children: compareMutation.isPending ? 'Comparing...' : 'Compare to Benchmarks' })] })] }) }), _jsx("div", { children: results ? (_jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Comparison Results" }) }), _jsx("div", { className: "mb-6 grid grid-cols-4 gap-3", children: ['excellent', 'above_average', 'average', 'below_average'].map(level => {
40
+ const count = results.filter(r => r.interpretation === level).length;
41
+ const getBgClass = () => {
42
+ if (level === 'excellent')
43
+ return 'bg-green-50';
44
+ if (level === 'above_average')
45
+ return 'bg-blue-50';
46
+ if (level === 'average')
47
+ return 'bg-yellow-50';
48
+ return 'bg-red-50';
49
+ };
50
+ return (_jsxs("div", { className: `rounded-lg p-2 text-center ${getBgClass()}`, children: [_jsx("p", { className: "text-2xl font-bold", children: count }), _jsx("p", { className: "text-xs text-gray-600", children: getInterpretationLabel(level) })] }, level));
51
+ }) }), _jsx("div", { className: "space-y-6", children: results.map(result => (_jsx(PercentileGauge, { label: result.label, value: formatValue(result.clientValue, result.unit), percentile: result.percentile, interpretation: result.interpretation }, result.field))) })] })) : (_jsx(Card, { className: "flex h-full min-h-[400px] items-center justify-center", children: _jsxs("div", { className: "text-center text-gray-500", children: [_jsx("p", { className: "font-medium", children: "Enter plan details" }), _jsx("p", { className: "mt-1 text-sm", children: "Fill out the form to see results" })] }) })) })] })] }));
52
+ }
53
+ //# sourceMappingURL=HospitalIndemnityComparison.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HospitalIndemnityComparison.js","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/HospitalIndemnityComparison.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAyB,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EACL,4BAA4B,GAE7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,2BAA2B;IACjD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA4B,4BAA4B,CAAC,CAAC;IAClG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IAExE,MAAM,eAAe,GAAG,WAAW,CAAC;QAClC,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,MAAM,MAAM,GAAG;gBACb,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,EAAE;gBACjE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,EAAE;gBACrE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE;gBACvD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE;gBAC3D,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,CAAC,0BAA0B,EAAE;gBACnF,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,CAAC,qBAAqB,EAAE;gBACzE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,EAAE;gBACrE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,EAAE;gBACrE,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,CAAC,wBAAwB,EAAE;aAChF,CAAC;YACF,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,SAAS,EAAE,IAAI,CAAC,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,CAAkB,EAAE,EAAE;QAC1C,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,eAAe,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,KAAQ,EACR,KAAmC,EACnC,EAAE;QACF,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aACxB,0BACE,aAAI,SAAS,EAAC,kCAAkC,8CAAmC,EACnF,YAAG,SAAS,EAAC,oBAAoB,6FAE7B,IACA,EAEN,eAAK,SAAS,EAAC,uCAAuC,aACpD,wBACE,MAAC,IAAI,eACH,KAAC,UAAU,cACT,KAAC,SAAS,sCAAgC,GAC/B,EACb,gBAAM,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAC,WAAW,aACjD,0BACE,cAAI,SAAS,EAAC,kEAAkE,aAC9E,eAAM,SAAS,EAAC,kEAAkE,mBAE3E,qBAEJ,EACL,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,KAAK,IACJ,KAAK,EAAC,oBAAoB,EAC1B,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,iBAAiB,EACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACvE,IAAI,EAAC,GAAG,GACR,EACF,KAAC,KAAK,IACJ,KAAK,EAAC,sBAAsB,EAC5B,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,mBAAmB,EACnC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzE,IAAI,EAAC,OAAO,GACZ,EACF,KAAC,KAAK,IACJ,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,YAAY,EAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAClE,IAAI,EAAC,GAAG,GACR,EACF,KAAC,KAAK,IACJ,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,cAAc,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACpE,IAAI,EAAC,OAAO,GACZ,IACE,IACF,EAEN,0BACE,cAAI,SAAS,EAAC,kEAAkE,aAC9E,eAAM,SAAS,EAAC,4DAA4D,mBAErE,2BAEJ,EACL,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,KAAK,IACJ,KAAK,EAAC,mBAAmB,EACzB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,0BAA0B,EAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,CACZ,WAAW,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAEnE,IAAI,EAAC,MAAM,GACX,EACF,KAAC,KAAK,IACJ,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,qBAAqB,EACrC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAC3E,IAAI,EAAC,MAAM,GACX,EACF,KAAC,KAAK,IACJ,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,qBAAqB,EACrC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAC3E,IAAI,EAAC,GAAG,GACR,EACF,KAAC,KAAK,IACJ,KAAK,EAAC,YAAY,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,mBAAmB,EACnC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzE,IAAI,EAAC,GAAG,GACR,EACF,KAAC,KAAK,IACJ,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,mBAAmB,EACnC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzE,IAAI,EAAC,QAAQ,GACb,EACF,KAAC,KAAK,IACJ,KAAK,EAAC,uBAAuB,EAC7B,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,QAAQ,CAAC,wBAAwB,EACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAC9E,IAAI,EAAC,QAAQ,GACb,EACF,eAAK,SAAS,EAAC,8BAA8B,aAC3C,gBACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAC,aAAa,EAChB,OAAO,EAAE,QAAQ,CAAC,cAAc,EAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAC9D,SAAS,EAAC,kDAAkD,GAC5D,EACF,gBAAO,OAAO,EAAC,aAAa,EAAC,SAAS,EAAC,uBAAuB,4BAEtD,IACJ,EACN,eAAK,SAAS,EAAC,8BAA8B,aAC3C,gBACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAC,UAAU,EACb,OAAO,EAAE,QAAQ,CAAC,kBAAkB,EACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAClE,SAAS,EAAC,kDAAkD,GAC5D,EACF,gBAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,uBAAuB,kCAEnD,IACJ,IACF,IACF,EAEN,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,QAAQ,EAAC,QAAQ,EAAE,eAAe,CAAC,SAAS,YACzE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,GAC9D,IACJ,IACF,GACH,EAEN,wBACG,OAAO,CAAC,CAAC,CAAC,CACT,MAAC,IAAI,eACH,KAAC,UAAU,cACT,KAAC,SAAS,qCAA+B,GAC9B,EACb,cAAK,SAAS,EAAC,6BAA6B,YACzC,CAAC,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;wCACtE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;wCACrE,MAAM,UAAU,GAAG,GAAG,EAAE;4CACtB,IAAI,KAAK,KAAK,WAAW;gDAAE,OAAO,aAAa,CAAC;4CAChD,IAAI,KAAK,KAAK,eAAe;gDAAE,OAAO,YAAY,CAAC;4CACnD,IAAI,KAAK,KAAK,SAAS;gDAAE,OAAO,cAAc,CAAC;4CAC/C,OAAO,WAAW,CAAC;wCACrB,CAAC,CAAC;wCACF,OAAO,CACL,eAAiB,SAAS,EAAE,8BAA8B,UAAU,EAAE,EAAE,aACtE,YAAG,SAAS,EAAC,oBAAoB,YAAE,KAAK,GAAK,EAC7C,YAAG,SAAS,EAAC,uBAAuB,YAAE,sBAAsB,CAAC,KAAK,CAAC,GAAK,KAFhE,KAAK,CAGT,CACP,CAAC;oCACJ,CAAC,CAAC,GACE,EACN,cAAK,SAAS,EAAC,WAAW,YACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACrB,KAAC,eAAe,IAEd,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EACnD,UAAU,EAAE,MAAM,CAAC,UAAU,EAC7B,cAAc,EAAE,MAAM,CAAC,cAAc,IAJhC,MAAM,CAAC,KAAK,CAKjB,CACH,CAAC,GACE,IACD,CACR,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,SAAS,EAAC,uDAAuD,YACrE,eAAK,SAAS,EAAC,2BAA2B,aACxC,YAAG,SAAS,EAAC,aAAa,mCAAuB,EACjD,YAAG,SAAS,EAAC,cAAc,iDAAqC,IAC5D,GACD,CACR,GACG,IACF,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function HospitalIndemnityExplorer(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=HospitalIndemnityExplorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HospitalIndemnityExplorer.d.ts","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/HospitalIndemnityExplorer.tsx"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,yBAAyB,4CA6IhD"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import { BenchmarkCard } from '../components/charts';
5
+ import { FilterPanel } from '../components/filters';
6
+ import { Card } from '../components/ui/Card';
7
+ import { getHospitalIndemnityBenchmarks } from '../lib/api/benchmarks';
8
+ export default function HospitalIndemnityExplorer() {
9
+ const [filters, setFilters] = useState({
10
+ industries: [],
11
+ companySizes: [],
12
+ regions: [],
13
+ });
14
+ const [priorityFilter, setPriorityFilter] = useState('all');
15
+ const { data, isLoading, error } = useQuery({
16
+ queryKey: ['hospitalIndemnityBenchmarks', filters],
17
+ queryFn: () => getHospitalIndemnityBenchmarks(filters),
18
+ });
19
+ const filteredBenchmarks = data?.data.filter(b => priorityFilter === 'all' || b.priority === priorityFilter);
20
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex items-start justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900", children: "Hospital Indemnity Benchmarks" }), _jsx("p", { className: "mt-1 text-gray-500", children: "Explore hospital indemnity insurance benchmark data across the industry." })] }), _jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [_jsx("span", { children: "Last updated:" }), _jsx("span", { className: "font-medium", children: data?.metadata.lastUpdated || '—' })] })] }), _jsxs("div", { className: "grid grid-cols-1 gap-6 lg:grid-cols-4", children: [_jsxs("div", { className: "space-y-4 lg:col-span-1", children: [_jsx(FilterPanel, { filters: filters, onFiltersChange: setFilters }), _jsxs(Card, { padding: "sm", children: [_jsx("h4", { className: "mb-3 text-sm font-medium text-gray-700", children: "Field Priority" }), _jsx("div", { className: "space-y-2", children: [
21
+ { value: 'all', label: 'All Fields' },
22
+ { value: 1, label: 'Key Metrics (P1)' },
23
+ { value: 2, label: 'Secondary (P2)' },
24
+ { value: 3, label: 'Details (P3)' },
25
+ ].map(option => (_jsx("button", { type: "button", onClick: () => setPriorityFilter(option.value), className: `w-full rounded-lg px-3 py-2 text-left text-sm transition-colors ${priorityFilter === option.value
26
+ ? 'bg-primary-100 text-primary-700 font-medium'
27
+ : 'text-gray-600 hover:bg-gray-50'}`, children: option.label }, option.value))) })] }), data ? (_jsxs(Card, { padding: "sm", children: [_jsx("h4", { className: "mb-3 text-sm font-medium text-gray-700", children: "Market Prevalence" }), _jsxs("div", { className: "space-y-3 text-sm", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "HI Offered" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.isOffered, "%"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "Wellness Benefit" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.hasWellnessBenefit, "%"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "Portability" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.hasPortability, "%"] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-500", children: "ER Benefit" }), _jsxs("span", { className: "font-medium text-gray-900", children: [data.prevalence.hasEmergencyRoom, "%"] })] })] })] })) : null] }), _jsx("div", { className: "lg:col-span-3", children: isLoading ? (_jsx("div", { className: "flex h-64 items-center justify-center", children: _jsx("div", { className: "text-gray-500", children: "Loading benchmarks..." }) })) : (error ? (_jsx("div", { className: "flex h-64 items-center justify-center", children: _jsx("div", { className: "text-red-500", children: "Error loading benchmarks" }) })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "mb-4 flex items-center justify-between", children: _jsxs("p", { className: "text-sm text-gray-500", children: ["Showing ", filteredBenchmarks?.length || 0, " benchmark fields", data?.metadata.totalSampleSize ? (_jsxs("span", { children: [" based on ", data.metadata.totalSampleSize.toLocaleString(), " plans"] })) : null] }) }), _jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: filteredBenchmarks?.map(benchmark => (_jsx(BenchmarkCard, { label: benchmark.label, description: benchmark.description, percentiles: benchmark.percentiles, unit: benchmark.unit, sampleSize: benchmark.sampleSize, priority: benchmark.priority }, benchmark.field))) })] }))) })] })] }));
28
+ }
29
+ //# sourceMappingURL=HospitalIndemnityExplorer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HospitalIndemnityExplorer.js","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/HospitalIndemnityExplorer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function LTDComparison(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=LTDComparison.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LTDComparison.d.ts","sourceRoot":"","sources":["../../../../../../../teams/istudio/apps/ancillary-benchmarking/src/pages/LTDComparison.tsx"],"names":[],"mappings":"AA0BA,MAAM,CAAC,OAAO,UAAU,aAAa,4CAqPpC"}
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useMutation } from '@tanstack/react-query';
4
+ import { PercentileGauge } from '../components/charts';
5
+ import { Button, Input, Select } from '../components/ui';
6
+ import { Card, CardHeader, CardTitle } from '../components/ui/Card';
7
+ import { compareLTDPlan } from '../lib/api/benchmarks';
8
+ import { defaultLTDPlan } from '../lib/types/ltd';
9
+ import { formatValue, getInterpretationLabel } from '../lib/utils/format';
10
+ const costSharingOptions = [
11
+ { value: 'employer_paid', label: 'Employer Paid' },
12
+ { value: 'shared', label: 'Shared Cost' },
13
+ { value: 'employee_paid', label: 'Employee Paid' },
14
+ { value: 'voluntary', label: 'Voluntary' },
15
+ ];
16
+ const benefitDurationOptions = [
17
+ { value: 'ssnra', label: 'To SSNRA' },
18
+ { value: 'age_65', label: 'To Age 65' },
19
+ { value: 'age_67', label: 'To Age 67' },
20
+ { value: '5_years', label: '5 Years' },
21
+ { value: '2_years', label: '2 Years' },
22
+ ];
23
+ export default function LTDComparison() {
24
+ const [planData, setPlanData] = useState(defaultLTDPlan);
25
+ const [results, setResults] = useState(null);
26
+ const compareMutation = useMutation({
27
+ mutationFn: async () => {
28
+ const inputs = [
29
+ { field: 'benefitPercentage', value: planData.benefitPercentage },
30
+ { field: 'monthlyMaximum', value: planData.monthlyMaximum },
31
+ { field: 'eliminationPeriod', value: planData.eliminationPeriod },
32
+ { field: 'ownOccupationPeriod', value: planData.ownOccupationPeriod },
33
+ { field: 'mentalIllnessLimitMonths', value: planData.mentalIllnessLimitMonths },
34
+ { field: 'guaranteeIssue', value: planData.guaranteeIssue },
35
+ { field: 'waitingPeriod', value: planData.waitingPeriod },
36
+ ];
37
+ return compareLTDPlan(inputs);
38
+ },
39
+ onSuccess: data => {
40
+ setResults(data);
41
+ },
42
+ });
43
+ const handleSubmit = (e) => {
44
+ e.preventDefault();
45
+ compareMutation.mutate();
46
+ };
47
+ const updateField = (field, value) => {
48
+ setPlanData(prev => ({ ...prev, [field]: value }));
49
+ };
50
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold text-gray-900", children: "LTD Plan Comparison" }), _jsx("p", { className: "mt-1 text-gray-500", children: "Enter your client's long-term disability plan details to see how they compare to industry benchmarks." })] }), _jsxs("div", { className: "grid grid-cols-1 gap-8 lg:grid-cols-2", children: [_jsx("div", { children: _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Client Plan Details" }) }), _jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [_jsxs("div", { children: [_jsxs("h3", { className: "mb-3 flex items-center gap-2 text-sm font-semibold text-gray-700", children: [_jsx("span", { className: "bg-primary-100 text-primary-700 rounded-full px-2 py-0.5 text-xs", children: "P1" }), "Key Metrics"] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(Input, { label: "Benefit Percentage", type: "number", min: 0, max: 100, value: planData.benefitPercentage, onChange: e => updateField('benefitPercentage', Number(e.target.value)), hint: "% of salary" }), _jsx(Input, { label: "Monthly Maximum", type: "number", value: planData.monthlyMaximum, onChange: e => updateField('monthlyMaximum', Number(e.target.value)), hint: "Dollar amount" }), _jsx(Select, { label: "Benefit Duration", options: benefitDurationOptions, value: planData.benefitDuration, onChange: e => updateField('benefitDuration', e.target.value) }), _jsx(Input, { label: "Elimination Period", type: "number", value: planData.eliminationPeriod, onChange: e => updateField('eliminationPeriod', Number(e.target.value)), hint: "Days" })] })] }), _jsxs("div", { children: [_jsxs("h3", { className: "mb-3 flex items-center gap-2 text-sm font-semibold text-gray-700", children: [_jsx("span", { className: "rounded-full bg-gray-100 px-2 py-0.5 text-xs text-gray-600", children: "P2" }), "Secondary Metrics"] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsx(Input, { label: "Own Occupation Period", type: "number", value: planData.ownOccupationPeriod, onChange: e => updateField('ownOccupationPeriod', Number(e.target.value)), hint: "Months" }), _jsx(Input, { label: "Mental Illness Limit", type: "number", value: planData.mentalIllnessLimitMonths, onChange: e => updateField('mentalIllnessLimitMonths', Number(e.target.value)), hint: "Months" }), _jsx(Input, { label: "Guarantee Issue", type: "number", value: planData.guaranteeIssue, onChange: e => updateField('guaranteeIssue', Number(e.target.value)), hint: "Dollar amount" }), _jsx(Input, { label: "Waiting Period", type: "number", value: planData.waitingPeriod, onChange: e => updateField('waitingPeriod', Number(e.target.value)), hint: "Days" }), _jsx(Select, { label: "Cost Sharing", options: costSharingOptions, value: planData.costSharing, onChange: e => updateField('costSharing', e.target.value) }), _jsxs("div", { className: "flex items-center gap-2 pt-6", children: [_jsx("input", { type: "checkbox", id: "cola", checked: planData.hasCola, onChange: e => updateField('hasCola', e.target.checked), className: "text-primary-600 focus:ring-primary-500 h-4 w-4 rounded border-gray-300" }), _jsx("label", { htmlFor: "cola", className: "text-sm text-gray-700", children: "COLA Included" })] }), _jsxs("div", { className: "flex items-center gap-2 pt-6", children: [_jsx("input", { type: "checkbox", id: "survivor", checked: planData.hasSurvivorBenefit, onChange: e => updateField('hasSurvivorBenefit', e.target.checked), className: "text-primary-600 focus:ring-primary-500 h-4 w-4 rounded border-gray-300" }), _jsx("label", { htmlFor: "survivor", className: "text-sm text-gray-700", children: "Survivor Benefit" })] })] })] }), _jsx(Button, { type: "submit", className: "w-full", disabled: compareMutation.isPending, children: compareMutation.isPending ? 'Comparing...' : 'Compare to Benchmarks' })] })] }) }), _jsx("div", { children: results ? (_jsx("div", { className: "space-y-4", children: _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Comparison Results" }) }), _jsx("div", { className: "mb-6 grid grid-cols-4 gap-3", children: ['excellent', 'above_average', 'average', 'below_average'].map(level => {
51
+ const count = results.filter(r => r.interpretation === level).length;
52
+ const getBgClass = () => {
53
+ if (level === 'excellent')
54
+ return 'bg-green-50';
55
+ if (level === 'above_average')
56
+ return 'bg-blue-50';
57
+ if (level === 'average')
58
+ return 'bg-yellow-50';
59
+ return 'bg-red-50';
60
+ };
61
+ return (_jsxs("div", { className: `rounded-lg p-2 text-center ${getBgClass()}`, children: [_jsx("p", { className: "text-2xl font-bold", children: count }), _jsx("p", { className: "text-xs text-gray-600", children: getInterpretationLabel(level) })] }, level));
62
+ }) }), _jsx("div", { className: "space-y-6", children: results.map(result => (_jsx(PercentileGauge, { label: result.label, value: formatValue(result.clientValue, result.unit), percentile: result.percentile, interpretation: result.interpretation }, result.field))) })] }) })) : (_jsx(Card, { className: "flex h-full min-h-[400px] items-center justify-center", children: _jsxs("div", { className: "text-center text-gray-500", children: [_jsx("svg", { className: "mx-auto mb-4 h-12 w-12 text-gray-300", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M9 17V7m0 10a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2h2a2 2 0 012 2m0 10a2 2 0 002 2h2a2 2 0 002-2M9 7a2 2 0 012-2h2a2 2 0 012 2m0 10V7m0 10a2 2 0 002 2h2a2 2 0 002-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2" }) }), _jsx("p", { className: "font-medium", children: "Enter plan details" }), _jsx("p", { className: "mt-1 text-sm", children: "Fill out the form and click \"Compare to Benchmarks\" to see results" })] }) })) })] })] }));
63
+ }
64
+ //# sourceMappingURL=LTDComparison.js.map