pixelize-design-library 2.4.1-beta.2 → 2.4.1-beta.4

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 (350) hide show
  1. package/dist/Components/Accordion/accordionColors.d.ts.map +1 -1
  2. package/dist/Components/Accordion/accordionColors.js +17 -3
  3. package/dist/Components/Checkbox/Checkbox.styles.d.ts.map +1 -1
  4. package/dist/Components/Checkbox/Checkbox.styles.js +13 -2
  5. package/dist/Components/CustomModulesTable/EditModuleModal.d.ts.map +1 -1
  6. package/dist/Components/CustomModulesTable/EditModuleModal.js +5 -1
  7. package/dist/Components/DatePicker/CalendarPanel.d.ts.map +1 -1
  8. package/dist/Components/DatePicker/CalendarPanel.js +3 -1
  9. package/dist/Components/Editor/joditThemeVars.d.ts.map +1 -1
  10. package/dist/Components/Editor/joditThemeVars.js +9 -0
  11. package/dist/Components/FilePreview/FilePreview.d.ts.map +1 -1
  12. package/dist/Components/FilePreview/FilePreview.js +3 -1
  13. package/dist/Components/FileUploader/FileUploader.js +2 -2
  14. package/dist/Components/FilterSidebar/FilterSidebar.js +1 -1
  15. package/dist/Components/LimitReachedModal/LimitReachedModal.d.ts +5 -0
  16. package/dist/Components/LimitReachedModal/LimitReachedModal.d.ts.map +1 -0
  17. package/dist/Components/LimitReachedModal/LimitReachedModal.js +40 -0
  18. package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts +16 -0
  19. package/dist/Components/LimitReachedModal/LimitReachedModalProps.d.ts.map +1 -0
  20. package/dist/Components/LimitReachedModal/LimitReachedModalProps.js +2 -0
  21. package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts +7 -0
  22. package/dist/Components/LimitReachedModal/limitReachedCopy.d.ts.map +1 -0
  23. package/dist/Components/LimitReachedModal/limitReachedCopy.js +54 -0
  24. package/dist/Components/NavigationBar/NavigationBar.d.ts.map +1 -1
  25. package/dist/Components/NavigationBar/NavigationBar.js +10 -6
  26. package/dist/Components/OrgSwitcher/OrgSwitcher.d.ts.map +1 -1
  27. package/dist/Components/OrgSwitcher/OrgSwitcher.js +22 -3
  28. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts +1 -0
  29. package/dist/Components/OrgSwitcher/OrgSwitcherProps.d.ts.map +1 -1
  30. package/dist/Components/OrgSwitcher/OrgSwitcherProps.js +3 -3
  31. package/dist/Components/OrganizationDetails/CreateOrgModal.js +6 -4
  32. package/dist/Components/OrganizationDetails/OrganizationDetails.d.ts.map +1 -1
  33. package/dist/Components/OrganizationDetails/OrganizationDetails.js +55 -7
  34. package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts +24 -14
  35. package/dist/Components/OrganizationDetails/OrganizationDetailsProps.d.ts.map +1 -1
  36. package/dist/Components/PlanBadge/PlanBadge.d.ts +12 -0
  37. package/dist/Components/PlanBadge/PlanBadge.d.ts.map +1 -0
  38. package/dist/Components/PlanBadge/PlanBadge.js +22 -0
  39. package/dist/Components/PlanBadge/PlanBadgeProps.d.ts +11 -0
  40. package/dist/Components/PlanBadge/PlanBadgeProps.d.ts.map +1 -0
  41. package/dist/Components/PlanBadge/PlanBadgeProps.js +2 -0
  42. package/dist/Components/PlanPill/PlanPill.d.ts +5 -0
  43. package/dist/Components/PlanPill/PlanPill.d.ts.map +1 -0
  44. package/dist/Components/PlanPill/PlanPill.js +42 -0
  45. package/dist/Components/PlanPill/PlanPillProps.d.ts +28 -0
  46. package/dist/Components/PlanPill/PlanPillProps.d.ts.map +1 -0
  47. package/dist/Components/PlanPill/PlanPillProps.js +2 -0
  48. package/dist/Components/PlanPill/planPillGradient.d.ts +22 -0
  49. package/dist/Components/PlanPill/planPillGradient.d.ts.map +1 -0
  50. package/dist/Components/PlanPill/planPillGradient.js +20 -0
  51. package/dist/Components/Search/Search.d.ts.map +1 -1
  52. package/dist/Components/Search/Search.js +4 -2
  53. package/dist/Components/Select/Select.styles.d.ts.map +1 -1
  54. package/dist/Components/Select/Select.styles.js +29 -20
  55. package/dist/Components/SelectSearch/SelectSearch.js +1 -1
  56. package/dist/Components/SideBar/SecondaryBar.d.ts.map +1 -1
  57. package/dist/Components/SideBar/SecondaryBar.js +10 -2
  58. package/dist/Components/SideBar/SideBar.js +1 -1
  59. package/dist/Components/SideBar/components/MenuItemBox.d.ts.map +1 -1
  60. package/dist/Components/SideBar/components/MenuItemBox.js +7 -6
  61. package/dist/Components/Table/components/tableRowHoverStyle.d.ts +9 -8
  62. package/dist/Components/Table/components/tableRowHoverStyle.d.ts.map +1 -1
  63. package/dist/Components/Table/components/tableRowHoverStyle.js +12 -12
  64. package/dist/Components/Table/settings/ManageColumns.js +2 -2
  65. package/dist/Components/UpgradeButton/UpgradeButton.d.ts.map +1 -1
  66. package/dist/Components/UpgradeButton/UpgradeButton.js +25 -7
  67. package/dist/Components/UserDetails/UserDetails.d.ts.map +1 -1
  68. package/dist/Components/UserDetails/UserDetails.js +5 -2
  69. package/dist/Theme/chakra/componentStyles.d.ts +2 -0
  70. package/dist/Theme/chakra/componentStyles.d.ts.map +1 -1
  71. package/dist/Theme/chakra/componentStyles.js +74 -0
  72. package/dist/Theme/chakra/createBrandTheme.d.ts.map +1 -1
  73. package/dist/Theme/chakra/createBrandTheme.js +47 -0
  74. package/dist/Theme/tokens/brands/index.d.ts.map +1 -1
  75. package/dist/Theme/tokens/brands/index.js +20 -18
  76. package/dist/Theme/tokens/brands/zinc/palette.dark.d.ts.map +1 -1
  77. package/dist/Theme/tokens/brands/zinc/palette.dark.js +4 -2
  78. package/dist/Theme/tokens/builders/outlineRung.d.ts +35 -0
  79. package/dist/Theme/tokens/builders/outlineRung.d.ts.map +1 -0
  80. package/dist/Theme/tokens/builders/outlineRung.js +69 -0
  81. package/dist/Theme/tokens/builders/statusTone.d.ts +35 -0
  82. package/dist/Theme/tokens/builders/statusTone.d.ts.map +1 -0
  83. package/dist/Theme/tokens/builders/statusTone.js +63 -0
  84. package/dist/Utils/planBadge.d.ts +39 -0
  85. package/dist/Utils/planBadge.d.ts.map +1 -0
  86. package/dist/Utils/planBadge.js +108 -0
  87. package/dist/Utils/planExpiry.d.ts +35 -0
  88. package/dist/Utils/planExpiry.d.ts.map +1 -0
  89. package/dist/Utils/planExpiry.js +115 -0
  90. package/dist/index.d.ts +14 -1
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +29 -3
  93. package/package.json +6 -2
  94. package/.claude/settings.local.json +0 -51
  95. package/.cursor/TASK-SETUP.md +0 -43
  96. package/.cursor/agents/be-impl.md +0 -37
  97. package/.cursor/agents/fe-impl.md +0 -39
  98. package/.cursor/agents/task-plan.md +0 -56
  99. package/.cursor/agents/test-create.md +0 -31
  100. package/.cursor/agents/test-exec.md +0 -26
  101. package/.cursor/hooks/task-hint.env +0 -1
  102. package/.cursor/hooks/task-skill-nudge.sh +0 -71
  103. package/.cursor/hooks/task-slash-guard.sh +0 -31
  104. package/.cursor/hooks.json +0 -13
  105. package/.cursor/modules/account-management/MODULE.md +0 -41
  106. package/.cursor/modules/buttons/MODULE.md +0 -47
  107. package/.cursor/modules/cards/MODULE.md +0 -55
  108. package/.cursor/modules/charts/MODULE.md +0 -40
  109. package/.cursor/modules/common/MODULE.md +0 -36
  110. package/.cursor/modules/contact-auth/MODULE.md +0 -19
  111. package/.cursor/modules/data-display/MODULE.md +0 -42
  112. package/.cursor/modules/feedback/MODULE.md +0 -38
  113. package/.cursor/modules/form/MODULE.md +0 -13
  114. package/.cursor/modules/inputs-basic/MODULE.md +0 -42
  115. package/.cursor/modules/inputs-date-file/MODULE.md +0 -67
  116. package/.cursor/modules/inputs-select/MODULE.md +0 -89
  117. package/.cursor/modules/inputs-toggle/MODULE.md +0 -24
  118. package/.cursor/modules/kanban/MODULE.md +0 -22
  119. package/.cursor/modules/layout-navigation/MODULE.md +0 -319
  120. package/.cursor/modules/overlays/MODULE.md +0 -82
  121. package/.cursor/modules/playground/MODULE.md +0 -28
  122. package/.cursor/modules/table/MODULE.md +0 -84
  123. package/.cursor/modules/theme/MODULE.md +0 -431
  124. package/.cursor/modules/types-exports/MODULE.md +0 -17
  125. package/.cursor/modules/utility-ui/MODULE.md +0 -50
  126. package/.cursor/modules/utils-hooks/MODULE.md +0 -35
  127. package/.cursor/pixelize-task-statusline.sh +0 -64
  128. package/.cursor/plans/blocked/.gitkeep +0 -0
  129. package/.cursor/plans/current.md +0 -12
  130. package/.cursor/plans/current.theme-tokens-dark-mode.md +0 -77
  131. package/.cursor/plans/current.theme-tokens-dark.md +0 -155
  132. package/.cursor/plans/done/.gitkeep +0 -0
  133. package/.cursor/rules +0 -31
  134. package/.cursor/skills/task/SKILL.md +0 -167
  135. package/CLAUDE.md +0 -148
  136. package/__mocks__/styleMock.js +0 -8
  137. package/coverage/clover.xml +0 -405
  138. package/coverage/coverage-final.json +0 -16
  139. package/coverage/coverage-summary.json +0 -50
  140. package/coverage/lcov-report/Button/Button.tsx.html +0 -244
  141. package/coverage/lcov-report/Button/index.html +0 -116
  142. package/coverage/lcov-report/Checkbox/Checkbox.tsx.html +0 -433
  143. package/coverage/lcov-report/Checkbox/index.html +0 -116
  144. package/coverage/lcov-report/Common/ErrorMessage.tsx.html +0 -148
  145. package/coverage/lcov-report/Common/FormLabel.tsx.html +0 -331
  146. package/coverage/lcov-report/Common/HelperText.tsx.html +0 -124
  147. package/coverage/lcov-report/Common/index.html +0 -146
  148. package/coverage/lcov-report/Components/Button/Button.tsx.html +0 -244
  149. package/coverage/lcov-report/Components/Button/index.html +0 -116
  150. package/coverage/lcov-report/Components/Checkbox/Checkbox.tsx.html +0 -433
  151. package/coverage/lcov-report/Components/Checkbox/index.html +0 -116
  152. package/coverage/lcov-report/Components/Common/ErrorMessage.tsx.html +0 -148
  153. package/coverage/lcov-report/Components/Common/FormLabel.tsx.html +0 -331
  154. package/coverage/lcov-report/Components/Common/HelperText.tsx.html +0 -124
  155. package/coverage/lcov-report/Components/Common/index.html +0 -146
  156. package/coverage/lcov-report/Components/CustomModulesTable/CustomModulesTable.tsx.html +0 -712
  157. package/coverage/lcov-report/Components/CustomModulesTable/DeleteModuleModal.tsx.html +0 -343
  158. package/coverage/lcov-report/Components/CustomModulesTable/EditModuleModal.tsx.html +0 -313
  159. package/coverage/lcov-report/Components/CustomModulesTable/index.html +0 -146
  160. package/coverage/lcov-report/Components/Divider/Divider.tsx.html +0 -133
  161. package/coverage/lcov-report/Components/Divider/index.html +0 -116
  162. package/coverage/lcov-report/Components/Dropdown/DropDown.tsx.html +0 -994
  163. package/coverage/lcov-report/Components/Dropdown/index.html +0 -116
  164. package/coverage/lcov-report/Components/EmptyState/EmptyState.tsx.html +0 -466
  165. package/coverage/lcov-report/Components/EmptyState/index.html +0 -116
  166. package/coverage/lcov-report/Components/Header/HeaderActions.tsx.html +0 -373
  167. package/coverage/lcov-report/Components/Header/index.html +0 -116
  168. package/coverage/lcov-report/Components/Input/TextInput.tsx.html +0 -487
  169. package/coverage/lcov-report/Components/Input/index.html +0 -116
  170. package/coverage/lcov-report/Components/Input/textInputIconSize.ts.html +0 -205
  171. package/coverage/lcov-report/Components/KanbanBoard/AccountCard.tsx.html +0 -547
  172. package/coverage/lcov-report/Components/KanbanBoard/AccountRow.tsx.html +0 -190
  173. package/coverage/lcov-report/Components/KanbanBoard/KanbanActions/KanbanActions.tsx.html +0 -247
  174. package/coverage/lcov-report/Components/KanbanBoard/KanbanActions/index.html +0 -116
  175. package/coverage/lcov-report/Components/KanbanBoard/KanbanBoard.tsx.html +0 -3598
  176. package/coverage/lcov-report/Components/KanbanBoard/MeasuredItem.tsx.html +0 -283
  177. package/coverage/lcov-report/Components/KanbanBoard/index.html +0 -161
  178. package/coverage/lcov-report/Components/OrganizationDetails/CreateOrgModal.tsx.html +0 -511
  179. package/coverage/lcov-report/Components/OrganizationDetails/DeleteOrgModal.tsx.html +0 -334
  180. package/coverage/lcov-report/Components/OrganizationDetails/OrganizationDetails.tsx.html +0 -1519
  181. package/coverage/lcov-report/Components/OrganizationDetails/index.html +0 -146
  182. package/coverage/lcov-report/Components/RolesPermission/DeleteRoleModal.tsx.html +0 -328
  183. package/coverage/lcov-report/Components/RolesPermission/RolesPermission.tsx.html +0 -1732
  184. package/coverage/lcov-report/Components/RolesPermission/index.html +0 -131
  185. package/coverage/lcov-report/Components/SearchSelect/SearchSelect.tsx.html +0 -2575
  186. package/coverage/lcov-report/Components/SearchSelect/SelectTruncatedLabel.tsx.html +0 -202
  187. package/coverage/lcov-report/Components/SearchSelect/index.html +0 -146
  188. package/coverage/lcov-report/Components/SearchSelect/searchSelectSize.ts.html +0 -496
  189. package/coverage/lcov-report/Components/Select/Select.tsx.html +0 -361
  190. package/coverage/lcov-report/Components/Select/index.html +0 -116
  191. package/coverage/lcov-report/Components/SideBar/components/OtherApps.tsx.html +0 -562
  192. package/coverage/lcov-report/Components/SideBar/components/OverflowTooltipText.tsx.html +0 -346
  193. package/coverage/lcov-report/Components/SideBar/components/index.html +0 -116
  194. package/coverage/lcov-report/Components/SignInActivityTable/SignInActivityTable.tsx.html +0 -490
  195. package/coverage/lcov-report/Components/SignInActivityTable/index.html +0 -116
  196. package/coverage/lcov-report/Components/Table/components/TableActions.tsx.html +0 -595
  197. package/coverage/lcov-report/Components/Table/components/TableBody.tsx.html +0 -2212
  198. package/coverage/lcov-report/Components/Table/components/TableGroupRow.tsx.html +0 -358
  199. package/coverage/lcov-report/Components/Table/components/TableLoading.tsx.html +0 -358
  200. package/coverage/lcov-report/Components/Table/components/index.html +0 -161
  201. package/coverage/lcov-report/Components/Table/settings/ManageColumns.tsx.html +0 -856
  202. package/coverage/lcov-report/Components/Table/settings/index.html +0 -116
  203. package/coverage/lcov-report/Components/Tag/Tag.styles.tsx.html +0 -331
  204. package/coverage/lcov-report/Components/Tag/Tag.tsx.html +0 -256
  205. package/coverage/lcov-report/Components/Tag/index.html +0 -131
  206. package/coverage/lcov-report/Components/ToolTip/ToolTip.tsx.html +0 -286
  207. package/coverage/lcov-report/Components/ToolTip/index.html +0 -116
  208. package/coverage/lcov-report/Components/UserDetails/AddUserModal.tsx.html +0 -709
  209. package/coverage/lcov-report/Components/UserDetails/ChangeRoleModal.tsx.html +0 -505
  210. package/coverage/lcov-report/Components/UserDetails/DeactivateConfirmModal.tsx.html +0 -379
  211. package/coverage/lcov-report/Components/UserDetails/UserDetails.tsx.html +0 -1900
  212. package/coverage/lcov-report/Components/UserDetails/index.html +0 -161
  213. package/coverage/lcov-report/EmptyState/EmptyState.tsx.html +0 -466
  214. package/coverage/lcov-report/EmptyState/index.html +0 -116
  215. package/coverage/lcov-report/Hooks/index.html +0 -116
  216. package/coverage/lcov-report/Hooks/usePreferences.ts.html +0 -421
  217. package/coverage/lcov-report/Input/TextInput.tsx.html +0 -487
  218. package/coverage/lcov-report/Input/index.html +0 -131
  219. package/coverage/lcov-report/Input/textInputIconSize.ts.html +0 -205
  220. package/coverage/lcov-report/KanbanBoard.tsx.html +0 -3481
  221. package/coverage/lcov-report/OrganizationDetails/CreateOrgModal.tsx.html +0 -511
  222. package/coverage/lcov-report/OrganizationDetails/DeleteOrgModal.tsx.html +0 -334
  223. package/coverage/lcov-report/OrganizationDetails/OrganizationDetails.tsx.html +0 -1519
  224. package/coverage/lcov-report/OrganizationDetails/index.html +0 -146
  225. package/coverage/lcov-report/RolesPermission/DeleteRoleModal.tsx.html +0 -328
  226. package/coverage/lcov-report/RolesPermission/RolesPermission.tsx.html +0 -1732
  227. package/coverage/lcov-report/RolesPermission/index.html +0 -116
  228. package/coverage/lcov-report/SearchSelect/SearchSelect.tsx.html +0 -2575
  229. package/coverage/lcov-report/SearchSelect/SelectTruncatedLabel.tsx.html +0 -202
  230. package/coverage/lcov-report/SearchSelect/index.html +0 -146
  231. package/coverage/lcov-report/SearchSelect/searchSelectSize.ts.html +0 -496
  232. package/coverage/lcov-report/Table/CompactSelect.tsx.html +0 -379
  233. package/coverage/lcov-report/Table/Components/ActiveFilters.tsx.html +0 -514
  234. package/coverage/lcov-report/Table/Components/HeaderActions.tsx.html +0 -373
  235. package/coverage/lcov-report/Table/Components/Pagination.tsx.html +0 -574
  236. package/coverage/lcov-report/Table/Components/TableActions.tsx.html +0 -574
  237. package/coverage/lcov-report/Table/Components/TableBody.tsx.html +0 -1027
  238. package/coverage/lcov-report/Table/Components/TableFilters.tsx.html +0 -397
  239. package/coverage/lcov-report/Table/Components/TableHeader.tsx.html +0 -1060
  240. package/coverage/lcov-report/Table/Components/TableLoading.tsx.html +0 -361
  241. package/coverage/lcov-report/Table/Components/TableSearch.tsx.html +0 -337
  242. package/coverage/lcov-report/Table/Components/index.html +0 -266
  243. package/coverage/lcov-report/Table/Components/useDebounce.ts.html +0 -178
  244. package/coverage/lcov-report/Table/Components/useTable.ts.html +0 -778
  245. package/coverage/lcov-report/Table/LeftFilterPane.tsx.html +0 -1810
  246. package/coverage/lcov-report/Table/SelectOperationControls.tsx.html +0 -178
  247. package/coverage/lcov-report/Table/Table.tsx.html +0 -1567
  248. package/coverage/lcov-report/Table/TableProps.tsx.html +0 -658
  249. package/coverage/lcov-report/Table/TableSettings/ManageColumns.tsx.html +0 -619
  250. package/coverage/lcov-report/Table/TableSettings/TableFilters.tsx.html +0 -229
  251. package/coverage/lcov-report/Table/TableSettings/TableSettings.tsx.html +0 -532
  252. package/coverage/lcov-report/Table/TableSettings/index.html +0 -146
  253. package/coverage/lcov-report/Table/TableToDo.tsx.html +0 -973
  254. package/coverage/lcov-report/Table/TextOperationControls.tsx.html +0 -271
  255. package/coverage/lcov-report/Table/filterTypes.ts.html +0 -97
  256. package/coverage/lcov-report/Table/index.html +0 -176
  257. package/coverage/lcov-report/Table/settings/ManageColumns.tsx.html +0 -856
  258. package/coverage/lcov-report/Table/settings/index.html +0 -116
  259. package/coverage/lcov-report/Tag/Tag.tsx.html +0 -256
  260. package/coverage/lcov-report/Tag/index.html +0 -116
  261. package/coverage/lcov-report/Theme/buildBrandTokens.ts.html +0 -175
  262. package/coverage/lcov-report/Theme/chartColorsFromTheme.ts.html +0 -214
  263. package/coverage/lcov-report/Theme/index.html +0 -131
  264. package/coverage/lcov-report/Theme/useCustomTheme.ts.html +0 -100
  265. package/coverage/lcov-report/ToolTip/ToolTip.tsx.html +0 -286
  266. package/coverage/lcov-report/ToolTip/index.html +0 -116
  267. package/coverage/lcov-report/UserDetails/AddUserModal.tsx.html +0 -709
  268. package/coverage/lcov-report/UserDetails/ChangeRoleModal.tsx.html +0 -505
  269. package/coverage/lcov-report/UserDetails/index.html +0 -116
  270. package/coverage/lcov-report/Utils/functions.ts.html +0 -106
  271. package/coverage/lcov-report/Utils/index.html +0 -116
  272. package/coverage/lcov-report/Utils/table.ts.html +0 -1189
  273. package/coverage/lcov-report/base.css +0 -224
  274. package/coverage/lcov-report/block-navigation.js +0 -87
  275. package/coverage/lcov-report/favicon.png +0 -0
  276. package/coverage/lcov-report/index.html +0 -251
  277. package/coverage/lcov-report/prettify.css +0 -1
  278. package/coverage/lcov-report/prettify.js +0 -2
  279. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  280. package/coverage/lcov-report/sorter.js +0 -210
  281. package/coverage/lcov.info +0 -981
  282. package/dist/Theme/Dark/theme.d.ts +0 -3
  283. package/dist/Theme/Dark/theme.d.ts.map +0 -1
  284. package/dist/Theme/Dark/theme.js +0 -277
  285. package/dist/Theme/Default/palette.d.ts +0 -375
  286. package/dist/Theme/Default/palette.d.ts.map +0 -1
  287. package/dist/Theme/Default/palette.js +0 -306
  288. package/dist/Theme/Default/theme.d.ts +0 -3
  289. package/dist/Theme/Default/theme.d.ts.map +0 -1
  290. package/dist/Theme/Default/theme.js +0 -19
  291. package/dist/Theme/Emerald/palette.d.ts +0 -375
  292. package/dist/Theme/Emerald/palette.d.ts.map +0 -1
  293. package/dist/Theme/Emerald/palette.js +0 -125
  294. package/dist/Theme/Emerald/theme.d.ts +0 -3
  295. package/dist/Theme/Emerald/theme.d.ts.map +0 -1
  296. package/dist/Theme/Emerald/theme.js +0 -19
  297. package/dist/Theme/Meadow/palette.d.ts +0 -375
  298. package/dist/Theme/Meadow/palette.d.ts.map +0 -1
  299. package/dist/Theme/Meadow/palette.js +0 -123
  300. package/dist/Theme/Meadow/theme.d.ts +0 -3
  301. package/dist/Theme/Meadow/theme.d.ts.map +0 -1
  302. package/dist/Theme/Meadow/theme.js +0 -19
  303. package/dist/Theme/Radiant/palette.d.ts +0 -375
  304. package/dist/Theme/Radiant/palette.d.ts.map +0 -1
  305. package/dist/Theme/Radiant/palette.js +0 -125
  306. package/dist/Theme/Radiant/theme.d.ts +0 -3
  307. package/dist/Theme/Radiant/theme.d.ts.map +0 -1
  308. package/dist/Theme/Radiant/theme.js +0 -19
  309. package/dist/Theme/Rosewood/palette.d.ts +0 -375
  310. package/dist/Theme/Rosewood/palette.d.ts.map +0 -1
  311. package/dist/Theme/Rosewood/palette.js +0 -125
  312. package/dist/Theme/Rosewood/theme.d.ts +0 -3
  313. package/dist/Theme/Rosewood/theme.d.ts.map +0 -1
  314. package/dist/Theme/Rosewood/theme.js +0 -19
  315. package/dist/Theme/Skyline/palette.d.ts +0 -375
  316. package/dist/Theme/Skyline/palette.d.ts.map +0 -1
  317. package/dist/Theme/Skyline/palette.js +0 -123
  318. package/dist/Theme/Skyline/theme.d.ts +0 -3
  319. package/dist/Theme/Skyline/theme.d.ts.map +0 -1
  320. package/dist/Theme/Skyline/theme.js +0 -19
  321. package/dist/Theme/Slate/palette.d.ts +0 -375
  322. package/dist/Theme/Slate/palette.d.ts.map +0 -1
  323. package/dist/Theme/Slate/palette.js +0 -123
  324. package/dist/Theme/Slate/theme.d.ts +0 -3
  325. package/dist/Theme/Slate/theme.d.ts.map +0 -1
  326. package/dist/Theme/Slate/theme.js +0 -19
  327. package/dist/Theme/buildBrandTokens.d.ts +0 -16
  328. package/dist/Theme/buildBrandTokens.d.ts.map +0 -1
  329. package/dist/Theme/buildBrandTokens.js +0 -33
  330. package/dist/Theme/chartColorsFromTheme.d.ts +0 -19
  331. package/dist/Theme/chartColorsFromTheme.d.ts.map +0 -1
  332. package/dist/Theme/chartColorsFromTheme.js +0 -34
  333. package/dist/Theme/common.d.ts +0 -167
  334. package/dist/Theme/common.d.ts.map +0 -1
  335. package/dist/Theme/common.js +0 -112
  336. package/dist/Theme/componentStyles.d.ts +0 -10
  337. package/dist/Theme/componentStyles.d.ts.map +0 -1
  338. package/dist/Theme/componentStyles.js +0 -19
  339. package/dist/Theme/fonts.d.ts +0 -37
  340. package/dist/Theme/fonts.d.ts.map +0 -1
  341. package/dist/Theme/fonts.js +0 -41
  342. package/dist/Theme/space.d.ts +0 -34
  343. package/dist/Theme/space.d.ts.map +0 -1
  344. package/dist/Theme/space.js +0 -35
  345. package/dist/Theme/theme.d.ts +0 -3
  346. package/dist/Theme/theme.d.ts.map +0 -1
  347. package/dist/Theme/theme.js +0 -12
  348. package/eslint.config.js +0 -48
  349. package/index.html +0 -13
  350. package/vite.config.ts +0 -13
@@ -1,1810 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for Table/LeftFilterPane.tsx</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">Table</a> LeftFilterPane.tsx</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">79.02% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>113/143</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">66.88% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>103/154</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">72.72% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>40/55</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">82.5% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>99/120</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line medium'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a>
598
- <a name='L533'></a><a href='#L533'>533</a>
599
- <a name='L534'></a><a href='#L534'>534</a>
600
- <a name='L535'></a><a href='#L535'>535</a>
601
- <a name='L536'></a><a href='#L536'>536</a>
602
- <a name='L537'></a><a href='#L537'>537</a>
603
- <a name='L538'></a><a href='#L538'>538</a>
604
- <a name='L539'></a><a href='#L539'>539</a>
605
- <a name='L540'></a><a href='#L540'>540</a>
606
- <a name='L541'></a><a href='#L541'>541</a>
607
- <a name='L542'></a><a href='#L542'>542</a>
608
- <a name='L543'></a><a href='#L543'>543</a>
609
- <a name='L544'></a><a href='#L544'>544</a>
610
- <a name='L545'></a><a href='#L545'>545</a>
611
- <a name='L546'></a><a href='#L546'>546</a>
612
- <a name='L547'></a><a href='#L547'>547</a>
613
- <a name='L548'></a><a href='#L548'>548</a>
614
- <a name='L549'></a><a href='#L549'>549</a>
615
- <a name='L550'></a><a href='#L550'>550</a>
616
- <a name='L551'></a><a href='#L551'>551</a>
617
- <a name='L552'></a><a href='#L552'>552</a>
618
- <a name='L553'></a><a href='#L553'>553</a>
619
- <a name='L554'></a><a href='#L554'>554</a>
620
- <a name='L555'></a><a href='#L555'>555</a>
621
- <a name='L556'></a><a href='#L556'>556</a>
622
- <a name='L557'></a><a href='#L557'>557</a>
623
- <a name='L558'></a><a href='#L558'>558</a>
624
- <a name='L559'></a><a href='#L559'>559</a>
625
- <a name='L560'></a><a href='#L560'>560</a>
626
- <a name='L561'></a><a href='#L561'>561</a>
627
- <a name='L562'></a><a href='#L562'>562</a>
628
- <a name='L563'></a><a href='#L563'>563</a>
629
- <a name='L564'></a><a href='#L564'>564</a>
630
- <a name='L565'></a><a href='#L565'>565</a>
631
- <a name='L566'></a><a href='#L566'>566</a>
632
- <a name='L567'></a><a href='#L567'>567</a>
633
- <a name='L568'></a><a href='#L568'>568</a>
634
- <a name='L569'></a><a href='#L569'>569</a>
635
- <a name='L570'></a><a href='#L570'>570</a>
636
- <a name='L571'></a><a href='#L571'>571</a>
637
- <a name='L572'></a><a href='#L572'>572</a>
638
- <a name='L573'></a><a href='#L573'>573</a>
639
- <a name='L574'></a><a href='#L574'>574</a>
640
- <a name='L575'></a><a href='#L575'>575</a>
641
- <a name='L576'></a><a href='#L576'>576</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-neutral">&nbsp;</span>
643
- <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-neutral">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-neutral">&nbsp;</span>
653
- <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-neutral">&nbsp;</span>
655
- <span class="cline-any cline-neutral">&nbsp;</span>
656
- <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-neutral">&nbsp;</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-neutral">&nbsp;</span>
668
- <span class="cline-any cline-neutral">&nbsp;</span>
669
- <span class="cline-any cline-neutral">&nbsp;</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-neutral">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-neutral">&nbsp;</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-neutral">&nbsp;</span>
692
- <span class="cline-any cline-neutral">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-neutral">&nbsp;</span>
696
- <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-neutral">&nbsp;</span>
699
- <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-neutral">&nbsp;</span>
701
- <span class="cline-any cline-neutral">&nbsp;</span>
702
- <span class="cline-any cline-neutral">&nbsp;</span>
703
- <span class="cline-any cline-neutral">&nbsp;</span>
704
- <span class="cline-any cline-neutral">&nbsp;</span>
705
- <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-neutral">&nbsp;</span>
707
- <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-neutral">&nbsp;</span>
711
- <span class="cline-any cline-neutral">&nbsp;</span>
712
- <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-neutral">&nbsp;</span>
715
- <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-neutral">&nbsp;</span>
717
- <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-neutral">&nbsp;</span>
721
- <span class="cline-any cline-neutral">&nbsp;</span>
722
- <span class="cline-any cline-yes">2x</span>
723
- <span class="cline-any cline-neutral">&nbsp;</span>
724
- <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-yes">25x</span>
726
- <span class="cline-any cline-yes">25x</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-yes">4x</span>
729
- <span class="cline-any cline-yes">4x</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-yes">4x</span>
732
- <span class="cline-any cline-yes">4x</span>
733
- <span class="cline-any cline-yes">4x</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-neutral">&nbsp;</span>
736
- <span class="cline-any cline-yes">4x</span>
737
- <span class="cline-any cline-no">&nbsp;</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-neutral">&nbsp;</span>
740
- <span class="cline-any cline-yes">4x</span>
741
- <span class="cline-any cline-neutral">&nbsp;</span>
742
- <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-neutral">&nbsp;</span>
745
- <span class="cline-any cline-neutral">&nbsp;</span>
746
- <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-neutral">&nbsp;</span>
748
- <span class="cline-any cline-neutral">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-yes">2x</span>
752
- <span class="cline-any cline-yes">25x</span>
753
- <span class="cline-any cline-neutral">&nbsp;</span>
754
- <span class="cline-any cline-yes">25x</span>
755
- <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-neutral">&nbsp;</span>
759
- <span class="cline-any cline-neutral">&nbsp;</span>
760
- <span class="cline-any cline-neutral">&nbsp;</span>
761
- <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-neutral">&nbsp;</span>
764
- <span class="cline-any cline-neutral">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-yes">25x</span>
767
- <span class="cline-any cline-neutral">&nbsp;</span>
768
- <span class="cline-any cline-yes">4x</span>
769
- <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-neutral">&nbsp;</span>
771
- <span class="cline-any cline-neutral">&nbsp;</span>
772
- <span class="cline-any cline-neutral">&nbsp;</span>
773
- <span class="cline-any cline-neutral">&nbsp;</span>
774
- <span class="cline-any cline-neutral">&nbsp;</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-neutral">&nbsp;</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-neutral">&nbsp;</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-yes">2x</span>
790
- <span class="cline-any cline-yes">1x</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-yes">1x</span>
793
- <span class="cline-any cline-no">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-no">&nbsp;</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-neutral">&nbsp;</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-yes">1x</span>
803
- <span class="cline-any cline-yes">1x</span>
804
- <span class="cline-any cline-neutral">&nbsp;</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-neutral">&nbsp;</span>
807
- <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-no">&nbsp;</span>
812
- <span class="cline-any cline-no">&nbsp;</span>
813
- <span class="cline-any cline-neutral">&nbsp;</span>
814
- <span class="cline-any cline-neutral">&nbsp;</span>
815
- <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-neutral">&nbsp;</span>
817
- <span class="cline-any cline-no">&nbsp;</span>
818
- <span class="cline-any cline-no">&nbsp;</span>
819
- <span class="cline-any cline-no">&nbsp;</span>
820
- <span class="cline-any cline-no">&nbsp;</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-neutral">&nbsp;</span>
824
- <span class="cline-any cline-no">&nbsp;</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-neutral">&nbsp;</span>
827
- <span class="cline-any cline-neutral">&nbsp;</span>
828
- <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-neutral">&nbsp;</span>
833
- <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-neutral">&nbsp;</span>
836
- <span class="cline-any cline-no">&nbsp;</span>
837
- <span class="cline-any cline-neutral">&nbsp;</span>
838
- <span class="cline-any cline-neutral">&nbsp;</span>
839
- <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-neutral">&nbsp;</span>
841
- <span class="cline-any cline-neutral">&nbsp;</span>
842
- <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-no">&nbsp;</span>
844
- <span class="cline-any cline-neutral">&nbsp;</span>
845
- <span class="cline-any cline-neutral">&nbsp;</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span>
847
- <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-neutral">&nbsp;</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-neutral">&nbsp;</span>
851
- <span class="cline-any cline-neutral">&nbsp;</span>
852
- <span class="cline-any cline-neutral">&nbsp;</span>
853
- <span class="cline-any cline-neutral">&nbsp;</span>
854
- <span class="cline-any cline-neutral">&nbsp;</span>
855
- <span class="cline-any cline-yes">2x</span>
856
- <span class="cline-any cline-neutral">&nbsp;</span>
857
- <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-neutral">&nbsp;</span>
859
- <span class="cline-any cline-neutral">&nbsp;</span>
860
- <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-neutral">&nbsp;</span>
862
- <span class="cline-any cline-neutral">&nbsp;</span>
863
- <span class="cline-any cline-yes">25x</span>
864
- <span class="cline-any cline-yes">3x</span>
865
- <span class="cline-any cline-yes">3x</span>
866
- <span class="cline-any cline-neutral">&nbsp;</span>
867
- <span class="cline-any cline-neutral">&nbsp;</span>
868
- <span class="cline-any cline-yes">3x</span>
869
- <span class="cline-any cline-neutral">&nbsp;</span>
870
- <span class="cline-any cline-neutral">&nbsp;</span>
871
- <span class="cline-any cline-neutral">&nbsp;</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-yes">1x</span>
874
- <span class="cline-any cline-yes">1x</span>
875
- <span class="cline-any cline-neutral">&nbsp;</span>
876
- <span class="cline-any cline-neutral">&nbsp;</span>
877
- <span class="cline-any cline-neutral">&nbsp;</span>
878
- <span class="cline-any cline-neutral">&nbsp;</span>
879
- <span class="cline-any cline-neutral">&nbsp;</span>
880
- <span class="cline-any cline-neutral">&nbsp;</span>
881
- <span class="cline-any cline-yes">3x</span>
882
- <span class="cline-any cline-neutral">&nbsp;</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-neutral">&nbsp;</span>
885
- <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-neutral">&nbsp;</span>
887
- <span class="cline-any cline-neutral">&nbsp;</span>
888
- <span class="cline-any cline-no">&nbsp;</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-neutral">&nbsp;</span>
891
- <span class="cline-any cline-neutral">&nbsp;</span>
892
- <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-neutral">&nbsp;</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-neutral">&nbsp;</span>
896
- <span class="cline-any cline-neutral">&nbsp;</span>
897
- <span class="cline-any cline-neutral">&nbsp;</span>
898
- <span class="cline-any cline-neutral">&nbsp;</span>
899
- <span class="cline-any cline-neutral">&nbsp;</span>
900
- <span class="cline-any cline-neutral">&nbsp;</span>
901
- <span class="cline-any cline-neutral">&nbsp;</span>
902
- <span class="cline-any cline-yes">22x</span>
903
- <span class="cline-any cline-neutral">&nbsp;</span>
904
- <span class="cline-any cline-neutral">&nbsp;</span>
905
- <span class="cline-any cline-yes">22x</span>
906
- <span class="cline-any cline-yes">22x</span>
907
- <span class="cline-any cline-neutral">&nbsp;</span>
908
- <span class="cline-any cline-neutral">&nbsp;</span>
909
- <span class="cline-any cline-yes">22x</span>
910
- <span class="cline-any cline-yes">22x</span>
911
- <span class="cline-any cline-neutral">&nbsp;</span>
912
- <span class="cline-any cline-yes">22x</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-neutral">&nbsp;</span>
915
- <span class="cline-any cline-neutral">&nbsp;</span>
916
- <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-neutral">&nbsp;</span>
918
- <span class="cline-any cline-neutral">&nbsp;</span>
919
- <span class="cline-any cline-neutral">&nbsp;</span>
920
- <span class="cline-any cline-neutral">&nbsp;</span>
921
- <span class="cline-any cline-yes">2x</span>
922
- <span class="cline-any cline-neutral">&nbsp;</span>
923
- <span class="cline-any cline-neutral">&nbsp;</span>
924
- <span class="cline-any cline-neutral">&nbsp;</span>
925
- <span class="cline-any cline-neutral">&nbsp;</span>
926
- <span class="cline-any cline-neutral">&nbsp;</span>
927
- <span class="cline-any cline-neutral">&nbsp;</span>
928
- <span class="cline-any cline-neutral">&nbsp;</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-neutral">&nbsp;</span>
931
- <span class="cline-any cline-neutral">&nbsp;</span>
932
- <span class="cline-any cline-neutral">&nbsp;</span>
933
- <span class="cline-any cline-neutral">&nbsp;</span>
934
- <span class="cline-any cline-neutral">&nbsp;</span>
935
- <span class="cline-any cline-yes">1x</span>
936
- <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-neutral">&nbsp;</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-neutral">&nbsp;</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-neutral">&nbsp;</span>
945
- <span class="cline-any cline-neutral">&nbsp;</span>
946
- <span class="cline-any cline-neutral">&nbsp;</span>
947
- <span class="cline-any cline-neutral">&nbsp;</span>
948
- <span class="cline-any cline-no">&nbsp;</span>
949
- <span class="cline-any cline-no">&nbsp;</span>
950
- <span class="cline-any cline-neutral">&nbsp;</span>
951
- <span class="cline-any cline-neutral">&nbsp;</span>
952
- <span class="cline-any cline-neutral">&nbsp;</span>
953
- <span class="cline-any cline-neutral">&nbsp;</span>
954
- <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-neutral">&nbsp;</span>
956
- <span class="cline-any cline-no">&nbsp;</span>
957
- <span class="cline-any cline-neutral">&nbsp;</span>
958
- <span class="cline-any cline-neutral">&nbsp;</span>
959
- <span class="cline-any cline-neutral">&nbsp;</span>
960
- <span class="cline-any cline-neutral">&nbsp;</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-neutral">&nbsp;</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-neutral">&nbsp;</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-no">&nbsp;</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-neutral">&nbsp;</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-neutral">&nbsp;</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-yes">2x</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-neutral">&nbsp;</span>
985
- <span class="cline-any cline-neutral">&nbsp;</span>
986
- <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-neutral">&nbsp;</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-neutral">&nbsp;</span>
990
- <span class="cline-any cline-neutral">&nbsp;</span>
991
- <span class="cline-any cline-neutral">&nbsp;</span>
992
- <span class="cline-any cline-yes">56x</span>
993
- <span class="cline-any cline-neutral">&nbsp;</span>
994
- <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-yes">56x</span>
996
- <span class="cline-any cline-yes">56x</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-yes">56x</span>
999
- <span class="cline-any cline-yes">24x</span>
1000
- <span class="cline-any cline-yes">24x</span>
1001
- <span class="cline-any cline-no">&nbsp;</span>
1002
- <span class="cline-any cline-neutral">&nbsp;</span>
1003
- <span class="cline-any cline-neutral">&nbsp;</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-yes">56x</span>
1006
- <span class="cline-any cline-neutral">&nbsp;</span>
1007
- <span class="cline-any cline-yes">56x</span>
1008
- <span class="cline-any cline-yes">5x</span>
1009
- <span class="cline-any cline-neutral">&nbsp;</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-yes">56x</span>
1012
- <span class="cline-any cline-yes">1x</span>
1013
- <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-neutral">&nbsp;</span>
1015
- <span class="cline-any cline-yes">56x</span>
1016
- <span class="cline-any cline-yes">1x</span>
1017
- <span class="cline-any cline-yes">1x</span>
1018
- <span class="cline-any cline-yes">1x</span>
1019
- <span class="cline-any cline-neutral">&nbsp;</span>
1020
- <span class="cline-any cline-neutral">&nbsp;</span>
1021
- <span class="cline-any cline-yes">1x</span>
1022
- <span class="cline-any cline-yes">1x</span>
1023
- <span class="cline-any cline-yes">1x</span>
1024
- <span class="cline-any cline-yes">1x</span>
1025
- <span class="cline-any cline-yes">1x</span>
1026
- <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-neutral">&nbsp;</span>
1028
- <span class="cline-any cline-neutral">&nbsp;</span>
1029
- <span class="cline-any cline-yes">56x</span>
1030
- <span class="cline-any cline-no">&nbsp;</span>
1031
- <span class="cline-any cline-neutral">&nbsp;</span>
1032
- <span class="cline-any cline-yes">56x</span>
1033
- <span class="cline-any cline-yes">1x</span>
1034
- <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-yes">56x</span>
1036
- <span class="cline-any cline-yes">2x</span>
1037
- <span class="cline-any cline-yes">2x</span>
1038
- <span class="cline-any cline-yes">2x</span>
1039
- <span class="cline-any cline-neutral">&nbsp;</span>
1040
- <span class="cline-any cline-neutral">&nbsp;</span>
1041
- <span class="cline-any cline-yes">2x</span>
1042
- <span class="cline-any cline-yes">2x</span>
1043
- <span class="cline-any cline-yes">2x</span>
1044
- <span class="cline-any cline-yes">2x</span>
1045
- <span class="cline-any cline-neutral">&nbsp;</span>
1046
- <span class="cline-any cline-no">&nbsp;</span>
1047
- <span class="cline-any cline-neutral">&nbsp;</span>
1048
- <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-neutral">&nbsp;</span>
1050
- <span class="cline-any cline-yes">56x</span>
1051
- <span class="cline-any cline-neutral">&nbsp;</span>
1052
- <span class="cline-any cline-neutral">&nbsp;</span>
1053
- <span class="cline-any cline-yes">8x</span>
1054
- <span class="cline-any cline-neutral">&nbsp;</span>
1055
- <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-yes">56x</span>
1058
- <span class="cline-any cline-yes">40x</span>
1059
- <span class="cline-any cline-yes">1x</span>
1060
- <span class="cline-any cline-yes">1x</span>
1061
- <span class="cline-any cline-yes">2x</span>
1062
- <span class="cline-any cline-yes">2x</span>
1063
- <span class="cline-any cline-neutral">&nbsp;</span>
1064
- <span class="cline-any cline-neutral">&nbsp;</span>
1065
- <span class="cline-any cline-yes">56x</span>
1066
- <span class="cline-any cline-yes">53x</span>
1067
- <span class="cline-any cline-yes">9x</span>
1068
- <span class="cline-any cline-yes">7x</span>
1069
- <span class="cline-any cline-neutral">&nbsp;</span>
1070
- <span class="cline-any cline-neutral">&nbsp;</span>
1071
- <span class="cline-any cline-neutral">&nbsp;</span>
1072
- <span class="cline-any cline-yes">56x</span>
1073
- <span class="cline-any cline-neutral">&nbsp;</span>
1074
- <span class="cline-any cline-yes">56x</span>
1075
- <span class="cline-any cline-yes">1x</span>
1076
- <span class="cline-any cline-yes">1x</span>
1077
- <span class="cline-any cline-yes">1x</span>
1078
- <span class="cline-any cline-yes">1x</span>
1079
- <span class="cline-any cline-neutral">&nbsp;</span>
1080
- <span class="cline-any cline-neutral">&nbsp;</span>
1081
- <span class="cline-any cline-yes">56x</span>
1082
- <span class="cline-any cline-neutral">&nbsp;</span>
1083
- <span class="cline-any cline-yes">56x</span>
1084
- <span class="cline-any cline-yes">56x</span>
1085
- <span class="cline-any cline-yes">36x</span>
1086
- <span class="cline-any cline-neutral">&nbsp;</span>
1087
- <span class="cline-any cline-neutral">&nbsp;</span>
1088
- <span class="cline-any cline-neutral">&nbsp;</span>
1089
- <span class="cline-any cline-neutral">&nbsp;</span>
1090
- <span class="cline-any cline-neutral">&nbsp;</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-yes">20x</span>
1093
- <span class="cline-any cline-yes">5x</span>
1094
- <span class="cline-any cline-neutral">&nbsp;</span>
1095
- <span class="cline-any cline-neutral">&nbsp;</span>
1096
- <span class="cline-any cline-yes">10x</span>
1097
- <span class="cline-any cline-neutral">&nbsp;</span>
1098
- <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-yes">10x</span>
1100
- <span class="cline-any cline-neutral">&nbsp;</span>
1101
- <span class="cline-any cline-neutral">&nbsp;</span>
1102
- <span class="cline-any cline-neutral">&nbsp;</span>
1103
- <span class="cline-any cline-neutral">&nbsp;</span>
1104
- <span class="cline-any cline-neutral">&nbsp;</span>
1105
- <span class="cline-any cline-neutral">&nbsp;</span>
1106
- <span class="cline-any cline-neutral">&nbsp;</span>
1107
- <span class="cline-any cline-neutral">&nbsp;</span>
1108
- <span class="cline-any cline-neutral">&nbsp;</span>
1109
- <span class="cline-any cline-neutral">&nbsp;</span>
1110
- <span class="cline-any cline-neutral">&nbsp;</span>
1111
- <span class="cline-any cline-neutral">&nbsp;</span>
1112
- <span class="cline-any cline-neutral">&nbsp;</span>
1113
- <span class="cline-any cline-neutral">&nbsp;</span>
1114
- <span class="cline-any cline-neutral">&nbsp;</span>
1115
- <span class="cline-any cline-yes">15x</span>
1116
- <span class="cline-any cline-yes">15x</span>
1117
- <span class="cline-any cline-neutral">&nbsp;</span>
1118
- <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-neutral">&nbsp;</span>
1120
- <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-neutral">&nbsp;</span>
1122
- <span class="cline-any cline-neutral">&nbsp;</span>
1123
- <span class="cline-any cline-neutral">&nbsp;</span>
1124
- <span class="cline-any cline-neutral">&nbsp;</span>
1125
- <span class="cline-any cline-neutral">&nbsp;</span>
1126
- <span class="cline-any cline-neutral">&nbsp;</span>
1127
- <span class="cline-any cline-yes">56x</span>
1128
- <span class="cline-any cline-neutral">&nbsp;</span>
1129
- <span class="cline-any cline-neutral">&nbsp;</span>
1130
- <span class="cline-any cline-neutral">&nbsp;</span>
1131
- <span class="cline-any cline-neutral">&nbsp;</span>
1132
- <span class="cline-any cline-neutral">&nbsp;</span>
1133
- <span class="cline-any cline-neutral">&nbsp;</span>
1134
- <span class="cline-any cline-neutral">&nbsp;</span>
1135
- <span class="cline-any cline-neutral">&nbsp;</span>
1136
- <span class="cline-any cline-neutral">&nbsp;</span>
1137
- <span class="cline-any cline-neutral">&nbsp;</span>
1138
- <span class="cline-any cline-neutral">&nbsp;</span>
1139
- <span class="cline-any cline-neutral">&nbsp;</span>
1140
- <span class="cline-any cline-neutral">&nbsp;</span>
1141
- <span class="cline-any cline-neutral">&nbsp;</span>
1142
- <span class="cline-any cline-neutral">&nbsp;</span>
1143
- <span class="cline-any cline-neutral">&nbsp;</span>
1144
- <span class="cline-any cline-neutral">&nbsp;</span>
1145
- <span class="cline-any cline-neutral">&nbsp;</span>
1146
- <span class="cline-any cline-neutral">&nbsp;</span>
1147
- <span class="cline-any cline-neutral">&nbsp;</span>
1148
- <span class="cline-any cline-neutral">&nbsp;</span>
1149
- <span class="cline-any cline-neutral">&nbsp;</span>
1150
- <span class="cline-any cline-neutral">&nbsp;</span>
1151
- <span class="cline-any cline-yes">1x</span>
1152
- <span class="cline-any cline-neutral">&nbsp;</span>
1153
- <span class="cline-any cline-neutral">&nbsp;</span>
1154
- <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-neutral">&nbsp;</span>
1156
- <span class="cline-any cline-neutral">&nbsp;</span>
1157
- <span class="cline-any cline-neutral">&nbsp;</span>
1158
- <span class="cline-any cline-neutral">&nbsp;</span>
1159
- <span class="cline-any cline-neutral">&nbsp;</span>
1160
- <span class="cline-any cline-neutral">&nbsp;</span>
1161
- <span class="cline-any cline-neutral">&nbsp;</span>
1162
- <span class="cline-any cline-neutral">&nbsp;</span>
1163
- <span class="cline-any cline-neutral">&nbsp;</span>
1164
- <span class="cline-any cline-neutral">&nbsp;</span>
1165
- <span class="cline-any cline-neutral">&nbsp;</span>
1166
- <span class="cline-any cline-neutral">&nbsp;</span>
1167
- <span class="cline-any cline-neutral">&nbsp;</span>
1168
- <span class="cline-any cline-neutral">&nbsp;</span>
1169
- <span class="cline-any cline-neutral">&nbsp;</span>
1170
- <span class="cline-any cline-yes">1x</span>
1171
- <span class="cline-any cline-neutral">&nbsp;</span>
1172
- <span class="cline-any cline-neutral">&nbsp;</span>
1173
- <span class="cline-any cline-neutral">&nbsp;</span>
1174
- <span class="cline-any cline-neutral">&nbsp;</span>
1175
- <span class="cline-any cline-neutral">&nbsp;</span>
1176
- <span class="cline-any cline-neutral">&nbsp;</span>
1177
- <span class="cline-any cline-neutral">&nbsp;</span>
1178
- <span class="cline-any cline-neutral">&nbsp;</span>
1179
- <span class="cline-any cline-neutral">&nbsp;</span>
1180
- <span class="cline-any cline-no">&nbsp;</span>
1181
- <span class="cline-any cline-neutral">&nbsp;</span>
1182
- <span class="cline-any cline-neutral">&nbsp;</span>
1183
- <span class="cline-any cline-neutral">&nbsp;</span>
1184
- <span class="cline-any cline-neutral">&nbsp;</span>
1185
- <span class="cline-any cline-neutral">&nbsp;</span>
1186
- <span class="cline-any cline-neutral">&nbsp;</span>
1187
- <span class="cline-any cline-neutral">&nbsp;</span>
1188
- <span class="cline-any cline-neutral">&nbsp;</span>
1189
- <span class="cline-any cline-neutral">&nbsp;</span>
1190
- <span class="cline-any cline-neutral">&nbsp;</span>
1191
- <span class="cline-any cline-neutral">&nbsp;</span>
1192
- <span class="cline-any cline-neutral">&nbsp;</span>
1193
- <span class="cline-any cline-neutral">&nbsp;</span>
1194
- <span class="cline-any cline-neutral">&nbsp;</span>
1195
- <span class="cline-any cline-neutral">&nbsp;</span>
1196
- <span class="cline-any cline-neutral">&nbsp;</span>
1197
- <span class="cline-any cline-neutral">&nbsp;</span>
1198
- <span class="cline-any cline-neutral">&nbsp;</span>
1199
- <span class="cline-any cline-neutral">&nbsp;</span>
1200
- <span class="cline-any cline-neutral">&nbsp;</span>
1201
- <span class="cline-any cline-neutral">&nbsp;</span>
1202
- <span class="cline-any cline-neutral">&nbsp;</span>
1203
- <span class="cline-any cline-neutral">&nbsp;</span>
1204
- <span class="cline-any cline-neutral">&nbsp;</span>
1205
- <span class="cline-any cline-neutral">&nbsp;</span>
1206
- <span class="cline-any cline-neutral">&nbsp;</span>
1207
- <span class="cline-any cline-neutral">&nbsp;</span>
1208
- <span class="cline-any cline-neutral">&nbsp;</span>
1209
- <span class="cline-any cline-neutral">&nbsp;</span>
1210
- <span class="cline-any cline-neutral">&nbsp;</span>
1211
- <span class="cline-any cline-neutral">&nbsp;</span>
1212
- <span class="cline-any cline-neutral">&nbsp;</span>
1213
- <span class="cline-any cline-neutral">&nbsp;</span>
1214
- <span class="cline-any cline-neutral">&nbsp;</span>
1215
- <span class="cline-any cline-neutral">&nbsp;</span>
1216
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useEffect, useMemo, useRef, useState } from "react";
1217
- import {
1218
- Box,
1219
- Text,
1220
- Input,
1221
- InputGroup,
1222
- InputLeftElement,
1223
- InputRightElement,
1224
- Accordion,
1225
- AccordionItem,
1226
- AccordionButton,
1227
- AccordionPanel,
1228
- AccordionIcon,
1229
- VStack,
1230
- Button,
1231
- Flex,
1232
- Icon,
1233
- IconButton,
1234
- Tooltip,
1235
- HStack,
1236
- } from "@chakra-ui/react";
1237
- import { Search, X } from "lucide-react";
1238
- import { motion } from "framer-motion";
1239
- import { useOutsideClick } from "@chakra-ui/react";
1240
- import CheckBox from "../Checkbox/Checkbox";
1241
- import { RadioButtonGroup } from "../RadioButton/RadioButton";
1242
- import { TextOperationControls } from "./TextOperationControls";
1243
- import { SelectOperationControls } from "./SelectOperationControls";
1244
- import CompactSelect, { Options } from "./CompactSelect";
1245
- import DatePicker from "../DatePicker/DatePicker";
1246
- import type { CustomThemeProps } from "../../Theme/themeProps";
1247
- import type { FilterValues } from "./filterTypes";
1248
- &nbsp;
1249
- // ─── Types ────────────────────────────────────────────────────────────────────
1250
- &nbsp;
1251
- export type FilterItem = {
1252
- id: string;
1253
- label: string;
1254
- type?: "text" | "select" | "user" | "date";
1255
- option?: { id: string; label: string }[];
1256
- /** Alternate options key used by some consumers */
1257
- selectOption?: Options[];
1258
- };
1259
- &nbsp;
1260
- export type FilterSection = {
1261
- id: string;
1262
- label: string;
1263
- items?: FilterItem[];
1264
- initiallyExpanded?: boolean;
1265
- radio?: boolean;
1266
- };
1267
- &nbsp;
1268
- export type SelectedFilterValue =
1269
- | string
1270
- | number
1271
- | Date
1272
- | Options
1273
- | null
1274
- | undefined;
1275
- &nbsp;
1276
- export type SelectedFilterItem = {
1277
- id: string;
1278
- condition?: string;
1279
- value?: SelectedFilterValue;
1280
- type?: "text" | "select" | "user" | "date";
1281
- };
1282
- &nbsp;
1283
- export type LeftFilterPaneProps = {
1284
- title?: string;
1285
- height?: number | string;
1286
- sections: FilterSection[];
1287
- selected?: FilterValues;
1288
- onApply?: (selected: FilterValues) =&gt; void;
1289
- onClear?: () =&gt; void;
1290
- theme: CustomThemeProps;
1291
- isApplyLoading?: boolean;
1292
- filterMode?: "sidebar" | "modal";
1293
- };
1294
- &nbsp;
1295
- // ─── Helpers ──────────────────────────────────────────────────────────────────
1296
- &nbsp;
1297
- const LABEL_MAX_LENGTH = 18;
1298
- &nbsp;
1299
- function formatHeaderLabel(label: string): string {
1300
- const text = (label || <span class="branch-1 cbranch-no" title="branch not covered" >"")</span>.trim();
1301
- if (text.length &lt;= LABEL_MAX_LENGTH) return text;
1302
- &nbsp;
1303
- let parts = text.split(/\s+/);
1304
- <span class="missing-if-branch" title="if path not taken" >I</span>if (parts.length &lt; 2) <span class="cstat-no" title="statement not covered" >return text;</span>
1305
- &nbsp;
1306
- const removable = new Set(["filters", "fields", "modules", "status", "action"]);
1307
- <span class="missing-if-branch" title="else path not taken" >E</span>if (removable.has(parts[parts.length - 1].toLowerCase())) {
1308
- parts = parts.slice(0, -1);
1309
- }
1310
- &nbsp;
1311
- while (parts.join(" ").length &gt; LABEL_MAX_LENGTH &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >parts.length &gt; 2)</span> {
1312
- <span class="cstat-no" title="statement not covered" > parts = parts.slice(0, -1);</span>
1313
- }
1314
- &nbsp;
1315
- return `${parts.join(" ")}..`;
1316
- }
1317
- &nbsp;
1318
- // ─── Sub-components ───────────────────────────────────────────────────────────
1319
- &nbsp;
1320
- type SectionLabelProps = {
1321
- label: string;
1322
- flex?: boolean;
1323
- theme: CustomThemeProps;
1324
- };
1325
- &nbsp;
1326
- const SectionLabel = ({ label, flex = false, theme }: SectionLabelProps) =&gt; {
1327
- const needsTooltip = label.length &gt; LABEL_MAX_LENGTH;
1328
- const content = (
1329
- &lt;Box
1330
- as="span"
1331
- flex={flex ? "1" : undefined}
1332
- textAlign="left"
1333
- fontWeight="medium"
1334
- fontSize="sm"
1335
- sx={{ whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }}
1336
- &gt;
1337
- {formatHeaderLabel(label)}
1338
- &lt;/Box&gt;
1339
- );
1340
- &nbsp;
1341
- if (!needsTooltip) return content;
1342
- &nbsp;
1343
- return (
1344
- &lt;Tooltip
1345
- label={label}
1346
- hasArrow
1347
- placement="top"
1348
- bg={theme.colors.gray[600]}
1349
- color={theme.colors.white}
1350
- fontSize="0.75rem"
1351
- &gt;
1352
- {content}
1353
- &lt;/Tooltip&gt;
1354
- );
1355
- };
1356
- &nbsp;
1357
- type ActiveItemControlsProps = {
1358
- activeItem: SelectedFilterItem;
1359
- sec: FilterSection;
1360
- setTextOperator: (sectionId: string, itemId: string, op: string) =&gt; void;
1361
- setTextValue: (sectionId: string, itemId: string, val: SelectedFilterValue) =&gt; void;
1362
- };
1363
- &nbsp;
1364
- const ActiveItemControls = ({ activeItem, sec, setTextOperator, setTextValue }: ActiveItemControlsProps) =&gt; {
1365
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!activeItem) <span class="cstat-no" title="statement not covered" >return null;</span>
1366
- &nbsp;
1367
- <span class="missing-if-branch" title="if path not taken" >I</span>if (activeItem.type === "date") {
1368
- <span class="cstat-no" title="statement not covered" > return (</span>
1369
- &lt;DatePicker
1370
- size="sm"
1371
- selectedDate={activeItem!.value as Date | null | undefined}
1372
- onChange={<span class="fstat-no" title="function not covered" >(v</span>al) =&gt; <span class="cstat-no" title="statement not covered" >setTextValue(sec.id, activeItem.id, val)}</span>
1373
- /&gt;
1374
- );
1375
- }
1376
- &nbsp;
1377
- <span class="missing-if-branch" title="else path not taken" >E</span>if (activeItem.type === "text") {
1378
- return (
1379
- &lt;TextOperationControls
1380
- operator={activeItem.condition || <span class="branch-1 cbranch-no" title="branch not covered" >"contains"}</span>
1381
- value={
1382
- typeof activeItem.value === "string" || <span class="branch-1 cbranch-no" title="branch not covered" >typeof activeItem.value === "number"</span>
1383
- ? String(activeItem.value)
1384
- : <span class="branch-1 cbranch-no" title="branch not covered" >""</span>
1385
- }
1386
- onOperatorChange={<span class="fstat-no" title="function not covered" >(o</span>p) =&gt; <span class="cstat-no" title="statement not covered" >setTextOperator(sec.id, activeItem.id, op)}</span>
1387
- onValueChange={<span class="fstat-no" title="function not covered" >(v</span>al) =&gt; <span class="cstat-no" title="statement not covered" >setTextValue(sec.id, activeItem.id, val)}</span>
1388
- /&gt;
1389
- );
1390
- }
1391
- &nbsp;
1392
- <span class="cstat-no" title="statement not covered" > if (activeItem.type === "select" || activeItem.type === "user") {</span>
1393
- const def = <span class="cstat-no" title="statement not covered" >(sec.items || []).find(<span class="fstat-no" title="function not covered" >(i</span>) =&gt; <span class="cstat-no" title="statement not covered" >i.id === activeItem.id)</span>;</span>
1394
- const opts = <span class="cstat-no" title="statement not covered" >def?.selectOption || def?.option || [];</span>
1395
- <span class="cstat-no" title="statement not covered" > return (</span>
1396
- &lt;&gt;
1397
- &lt;SelectOperationControls
1398
- operator={activeItem.condition || "is"}
1399
- onOperatorChange={<span class="fstat-no" title="function not covered" >(o</span>p) =&gt; <span class="cstat-no" title="statement not covered" >setTextOperator(sec.id, activeItem.id, op)}</span>
1400
- size="xs"
1401
- ml="1.25rem"
1402
- mt={2}
1403
- /&gt;
1404
- &lt;Box mt={2} ml="1.25rem"&gt;
1405
- &lt;CompactSelect
1406
- placeholder={def?.label}
1407
- size="xs"
1408
- height="22px"
1409
- options={opts}
1410
- value={activeItem.value as Options | undefined}
1411
- onSelect={<span class="fstat-no" title="function not covered" >(o</span>ption: Options) =&gt; <span class="cstat-no" title="statement not covered" >setTextValue(sec.id, activeItem.id, option)}</span>
1412
- /&gt;
1413
- &lt;/Box&gt;
1414
- &lt;/&gt;
1415
- );
1416
- }
1417
- &nbsp;
1418
- <span class="cstat-no" title="statement not covered" > return null;</span>
1419
- };
1420
- &nbsp;
1421
- type SectionContentProps = {
1422
- sec: FilterSection;
1423
- selected: FilterValues;
1424
- toggleItem: (sectionId: string, itemId: string, checked: boolean, type?: FilterItem["type"]) =&gt; void;
1425
- setTextOperator: (sectionId: string, itemId: string, op: string) =&gt; void;
1426
- setTextValue: (sectionId: string, itemId: string, val: SelectedFilterValue) =&gt; void;
1427
- setSelected: (updater: React.SetStateAction&lt;FilterValues&gt;) =&gt; void;
1428
- };
1429
- &nbsp;
1430
- const SectionContent = ({
1431
- sec,
1432
- selected,
1433
- toggleItem,
1434
- setTextOperator,
1435
- setTextValue,
1436
- setSelected,
1437
- }: SectionContentProps) =&gt; {
1438
- if (sec.radio) {
1439
- const sectionRows = selected[sec.id];
1440
- const activeItem: SelectedFilterItem | undefined = Array.isArray(sectionRows)
1441
- ? (sectionRows as SelectedFilterItem[])[0]
1442
- : undefined;
1443
- return (
1444
- &lt;&gt;
1445
- &lt;RadioButtonGroup
1446
- value={activeItem?.id || ""}
1447
- onChange={(val: string) =&gt; {
1448
- const item = (sec.items || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.find((i) =&gt; i.id === val);
1449
- setSelected((prev: FilterValues) =&gt; ({
1450
- ...prev,
1451
- [sec.id]: val
1452
- ? [{ id: val, type: item?.type, condition: item?.type === "text" ? "contains" : <span class="branch-1 cbranch-no" title="branch not covered" >"is",</span> value: "" }]
1453
- : <span class="branch-1 cbranch-no" title="branch not covered" >[],</span>
1454
- }));
1455
- }}
1456
- options={(sec.items || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.map((it) =&gt; ({ label: it.label, id: it.id }))}
1457
- size="sm"
1458
- spacing="0.35rem"
1459
- direction="column"
1460
- align="start"
1461
- labelFontSize="0.75rem"
1462
- labelClampLines={1}
1463
- showLabelTooltip={<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.label.length &gt; LABEL_MAX_LENGTH}</span>
1464
- /&gt;
1465
- {activeItem &amp;&amp; (
1466
- &lt;ActiveItemControls
1467
- activeItem={activeItem}
1468
- sec={sec}
1469
- setTextOperator={setTextOperator}
1470
- setTextValue={setTextValue}
1471
- /&gt;
1472
- )}
1473
- &lt;/&gt;
1474
- );
1475
- }
1476
- &nbsp;
1477
- return (
1478
- &lt;VStack spacing={2} align="stretch"&gt;
1479
- {(sec.items || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.map((it) =&gt; {
1480
- const raw = selected[sec.id];
1481
- const sectionItems: SelectedFilterItem[] = Array.isArray(raw)
1482
- ? (raw as SelectedFilterItem[])
1483
- : [];
1484
- const activeItem = sectionItems.find((i) =&gt; i.id === it.id);
1485
- const checked = !!activeItem;
1486
- &nbsp;
1487
- return (
1488
- &lt;React.Fragment key={it.id}&gt;
1489
- &lt;CheckBox
1490
- label={it.label}
1491
- labelFontSize="0.75rem"
1492
- showLabelTooltip={it.label.length &gt; LABEL_MAX_LENGTH}
1493
- labelTooltip={it.label}
1494
- labelClampLines={1}
1495
- isChecked={checked}
1496
- onChange={(e) =&gt; toggleItem(sec.id, it.id, e.target.checked, it.type)}
1497
- size="sm"
1498
- iconSize="0.5rem"
1499
- spacing="0.5rem"
1500
- sx={{
1501
- ".chakra-checkbox__control": { width: "12px", height: "12px", mt: "2px" },
1502
- ".chakra-checkbox__label": { lineHeight: "1rem", whiteSpace: "normal", wordBreak: "break-word" },
1503
- }}
1504
- /&gt;
1505
- {checked &amp;&amp; it.type === "date" &amp;&amp; (
1506
- &lt;Box ml="1.25rem"&gt;
1507
- &lt;DatePicker
1508
- size="sm"
1509
- selectedDate={activeItem!.value as Date | null | undefined}
1510
- onChange={(val) =&gt; setTextValue(sec.id, it.id, val)}
1511
- /&gt;
1512
- &lt;/Box&gt;
1513
- )}
1514
- {checked &amp;&amp; it.type === "text" &amp;&amp; (
1515
- &lt;TextOperationControls
1516
- operator={activeItem!.condition || <span class="branch-1 cbranch-no" title="branch not covered" >"contains"}</span>
1517
- value={
1518
- typeof activeItem!.value === "string" ||
1519
- <span class="branch-1 cbranch-no" title="branch not covered" > typeof activeItem!.value === "number"</span>
1520
- ? String(activeItem!.value)
1521
- : <span class="branch-1 cbranch-no" title="branch not covered" >""</span>
1522
- }
1523
- onOperatorChange={<span class="fstat-no" title="function not covered" >(o</span>p) =&gt; <span class="cstat-no" title="statement not covered" >setTextOperator(sec.id, it.id, op)}</span>
1524
- onValueChange={<span class="fstat-no" title="function not covered" >(v</span>al) =&gt; <span class="cstat-no" title="statement not covered" >setTextValue(sec.id, it.id, val)}</span>
1525
- /&gt;
1526
- )}
1527
- {checked &amp;&amp; (it.type === "select" || it.type === "user") &amp;&amp; (
1528
- <span class="branch-3 cbranch-no" title="branch not covered" > &lt;Box&gt;</span>
1529
- &lt;SelectOperationControls
1530
- operator={activeItem!.condition || "is"}
1531
- onOperatorChange={<span class="fstat-no" title="function not covered" >(o</span>p) =&gt; <span class="cstat-no" title="statement not covered" >setTextOperator(sec.id, it.id, op)}</span>
1532
- size="xs"
1533
- ml="1.25rem"
1534
- /&gt;
1535
- &lt;Box mt={2} ml="1.25rem"&gt;
1536
- &lt;CompactSelect
1537
- placeholder={it.label}
1538
- size="xs"
1539
- height="30px"
1540
- options={it.selectOption || it.option || []}
1541
- value={activeItem!.value as Options | undefined}
1542
- onSelect={<span class="fstat-no" title="function not covered" >(o</span>ption: Options) =&gt; <span class="cstat-no" title="statement not covered" >setTextValue(sec.id, it.id, option)}</span>
1543
- /&gt;
1544
- &lt;/Box&gt;
1545
- &lt;/Box&gt;
1546
- )}
1547
- &lt;/React.Fragment&gt;
1548
- );
1549
- })}
1550
- &lt;/VStack&gt;
1551
- );
1552
- };
1553
- &nbsp;
1554
- // ─── Main Component ───────────────────────────────────────────────────────────
1555
- &nbsp;
1556
- const LeftFilterPane = ({
1557
- title = "Filter",
1558
- height = 300,
1559
- sections,
1560
- selected: selectedProp,
1561
- onApply,
1562
- onClear,
1563
- theme,
1564
- isApplyLoading = false,
1565
- filterMode = "sidebar",
1566
- }: LeftFilterPaneProps) =&gt; {
1567
- const [isSearching, setIsSearching] = useState(
1568
- typeof selectedProp?.search === "string" &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!!selectedProp.search</span>
1569
- );
1570
- const [localSelected, setLocalSelected] = useState&lt;FilterValues&gt;({});
1571
- const searchRef = useRef&lt;HTMLDivElement | null&gt;(null);
1572
- &nbsp;
1573
- useEffect(() =&gt; {
1574
- setLocalSelected(selectedProp || {});
1575
- <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof selectedProp?.search === "string" &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >selectedProp.search)</span>
1576
- <span class="cstat-no" title="statement not covered" > setIsSearching(true);</span>
1577
- }, [selectedProp]);
1578
- &nbsp;
1579
- const search =
1580
- typeof localSelected.search === "string" ? localSelected.search : "";
1581
- &nbsp;
1582
- const setSelected = (updater: React.SetStateAction&lt;FilterValues&gt;) =&gt; {
1583
- setLocalSelected((prev) =&gt; (typeof updater === "function" ? updater(prev) : <span class="branch-1 cbranch-no" title="branch not covered" >updater)</span>);
1584
- };
1585
- &nbsp;
1586
- const setSearch = (val: string) =&gt; {
1587
- setSelected((prev) =&gt; ({ ...prev, search: val }));
1588
- };
1589
- &nbsp;
1590
- const updateItem = (sectionId: string, itemId: string, updates: Partial&lt;SelectedFilterItem&gt;) =&gt; {
1591
- setSelected((prev) =&gt; {
1592
- const prevSection = prev[sectionId];
1593
- const items: SelectedFilterItem[] = Array.isArray(prevSection)
1594
- ? (prevSection as SelectedFilterItem[])
1595
- : <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
1596
- const idx = items.findIndex((i) =&gt; i.id === itemId);
1597
- <span class="missing-if-branch" title="if path not taken" >I</span>if (idx === -1) <span class="cstat-no" title="statement not covered" >return prev;</span>
1598
- const updated = [...items];
1599
- updated[idx] = { ...updated[idx], ...updates };
1600
- return { ...prev, [sectionId]: updated };
1601
- });
1602
- };
1603
- &nbsp;
1604
- const setTextOperator = <span class="fstat-no" title="function not covered" >(s</span>ectionId: string, itemId: string, operator: string) =&gt;
1605
- <span class="cstat-no" title="statement not covered" > updateItem(sectionId, itemId, { condition: operator });</span>
1606
- &nbsp;
1607
- const setTextValue = (sectionId: string, itemId: string, value: SelectedFilterValue) =&gt;
1608
- updateItem(sectionId, itemId, { value });
1609
- &nbsp;
1610
- const toggleItem = (sectionId: string, itemId: string, checked: boolean, type?: FilterItem["type"]) =&gt; {
1611
- setSelected((prev) =&gt; {
1612
- const prevSection = prev[sectionId];
1613
- const items: SelectedFilterItem[] = Array.isArray(prevSection)
1614
- ? (<span class="branch-0 cbranch-no" title="branch not covered" >prevSection as SelectedFilterItem[])</span>
1615
- : [];
1616
- <span class="missing-if-branch" title="else path not taken" >E</span>if (checked) {
1617
- <span class="missing-if-branch" title="if path not taken" >I</span>if (items.some(<span class="fstat-no" title="function not covered" >(i</span>) =&gt; <span class="cstat-no" title="statement not covered" >i.id === itemId)</span>) <span class="cstat-no" title="statement not covered" >return prev;</span>
1618
- const condition = type === "select" || type === "user" ? <span class="branch-0 cbranch-no" title="branch not covered" >"is" </span>: "contains";
1619
- return { ...prev, [sectionId]: [...items, { id: itemId, type, condition, value: "" }] };
1620
- }
1621
- <span class="cstat-no" title="statement not covered" > return { ...prev, [sectionId]: items.filter(<span class="fstat-no" title="function not covered" >(i</span>) =&gt; <span class="cstat-no" title="statement not covered" >i.id !== itemId)</span> };</span>
1622
- });
1623
- };
1624
- &nbsp;
1625
- useOutsideClick({
1626
- ref: searchRef,
1627
- handler: () =&gt; {
1628
- <span class="missing-if-branch" title="if path not taken" >I</span>if (isSearching &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!search.trim())</span> <span class="cstat-no" title="statement not covered" >setIsSearching(false);</span>
1629
- },
1630
- });
1631
- &nbsp;
1632
- const filteredSections = useMemo(() =&gt; {
1633
- if (!search.trim()) return sections;
1634
- const q = search.toLowerCase();
1635
- return sections
1636
- .map((sec) =&gt; ({ ...sec, items: (sec.items || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.filter((i) =&gt; i.label.toLowerCase().includes(q)) }))
1637
- .filter((sec) =&gt; (sec.items || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.length &gt; 0);
1638
- }, [search, sections]);
1639
- &nbsp;
1640
- const hasActiveFilters = useMemo(() =&gt; {
1641
- return Object.entries(localSelected).some(([key, value]) =&gt; {
1642
- if (key === "search") return !!(value &amp;&amp; typeof value === "string" &amp;&amp; value.trim());
1643
- return Array.isArray(value) &amp;&amp; value.length &gt; 0;
1644
- });
1645
- }, [localSelected]);
1646
- &nbsp;
1647
- const handleApply = () =&gt; onApply?.(localSelected);
1648
- &nbsp;
1649
- const handleClear = () =&gt; {
1650
- const cleared = { search: "" };
1651
- setLocalSelected(cleared);
1652
- onClear?.();
1653
- <span class="missing-if-branch" title="else path not taken" >E</span>if (filterMode === "sidebar") onApply?.(cleared);
1654
- };
1655
- &nbsp;
1656
- const sectionContentProps = { selected: localSelected, toggleItem, setTextOperator, setTextValue, setSelected };
1657
- &nbsp;
1658
- const renderSections = () =&gt; {
1659
- if (filteredSections.length === 0) {
1660
- return (
1661
- &lt;Box p={4} textAlign="center"&gt;
1662
- &lt;Text fontSize="xs" color="gray.500"&gt;No filters found&lt;/Text&gt;
1663
- &lt;/Box&gt;
1664
- );
1665
- }
1666
- &nbsp;
1667
- if (filteredSections.length &gt; 1) {
1668
- return (
1669
- &lt;Accordion
1670
- allowMultiple
1671
- defaultIndex={filteredSections.map((s, i) =&gt; (s.initiallyExpanded ? <span class="branch-0 cbranch-no" title="branch not covered" >i </span>: -1)).filter((i) =&gt; i &gt;= 0)}
1672
- &gt;
1673
- {filteredSections.map((sec) =&gt; (
1674
- &lt;AccordionItem key={sec.id} border="none"&gt;
1675
- &lt;h2&gt;
1676
- &lt;AccordionButton px={3} py={2} _expanded={{ bg: "gray.50" }}&gt;
1677
- &lt;SectionLabel label={sec.label} flex theme={theme} /&gt;
1678
- &lt;AccordionIcon /&gt;
1679
- &lt;/AccordionButton&gt;
1680
- &lt;/h2&gt;
1681
- &lt;AccordionPanel px={3} pt={2} pb={1}&gt;
1682
- &lt;SectionContent sec={sec} {...sectionContentProps} /&gt;
1683
- &lt;/AccordionPanel&gt;
1684
- &lt;/AccordionItem&gt;
1685
- ))}
1686
- &lt;/Accordion&gt;
1687
- );
1688
- }
1689
- &nbsp;
1690
- return filteredSections.map((sec) =&gt; (
1691
- &lt;Box key={sec.id}&gt;
1692
- &lt;Box px={3} py={2} borderBottom="1px solid" borderColor="gray.200"&gt;
1693
- &lt;SectionLabel label={sec.label} theme={theme} /&gt;
1694
- &lt;/Box&gt;
1695
- &lt;Box px={3} pt={2} pb={1}&gt;
1696
- &lt;SectionContent sec={sec} {...sectionContentProps} /&gt;
1697
- &lt;/Box&gt;
1698
- &lt;/Box&gt;
1699
- ));
1700
- };
1701
- &nbsp;
1702
- return (
1703
- &lt;Box
1704
- width={filterMode === "modal" ? "100%" : "180px"}
1705
- height={filterMode === "modal" ? "100%" : height}
1706
- minHeight={"32rem"}
1707
- bg="white"
1708
- borderRight="1px solid"
1709
- borderColor="gray.200"
1710
- borderRadius="md"
1711
- overflow="hidden"
1712
- display="flex"
1713
- flexDirection="column"
1714
- marginBottom={filterMode === "modal" &amp;&amp; hasActiveFilters ? '3.5rem' : 0}
1715
- &gt;
1716
- &lt;Box p={3} borderBottom="1px solid" borderColor="gray.200"&gt;
1717
- {!isSearching ? (
1718
- &lt;Flex align="center" justify="space-between"&gt;
1719
- &lt;Text fontWeight="semibold" fontSize="sm"&gt;{title}&lt;/Text&gt;
1720
- &lt;Icon
1721
- as={Search}
1722
- transform="scaleX(-1)"
1723
- cursor="pointer"
1724
- boxSize={4}
1725
- color={theme.colors?.text?.[500]}
1726
- onClick={() =&gt; setIsSearching(true)}
1727
- mr={filterMode === "modal" ? 8 : 2}
1728
- mt={filterMode === "modal" ? -1 : 0}
1729
- /&gt;
1730
- &lt;/Flex&gt;
1731
- ) : (
1732
- &lt;motion.div
1733
- ref={searchRef}
1734
- initial={{ opacity: 0, x: 40 }}
1735
- animate={{ opacity: 1, x: 0 }}
1736
- transition={{ type: "tween", duration: 0.2 }}
1737
- &gt;
1738
- &lt;InputGroup size="sm"&gt;
1739
- &lt;InputLeftElement pointerEvents="none"&gt;
1740
- &lt;Search size={16} color={theme.colors?.text?.[500]} /&gt;
1741
- &lt;/InputLeftElement&gt;
1742
- &lt;Input
1743
- placeholder="Search"
1744
- value={search}
1745
- onChange={(e) =&gt; setSearch(e.target.value)}
1746
- autoFocus
1747
- /&gt;
1748
- {search.length &gt; 0 &amp;&amp; (
1749
- &lt;InputRightElement&gt;
1750
- &lt;IconButton
1751
- aria-label="Clear"
1752
- size="xs"
1753
- variant="ghost"
1754
- icon={&lt;X size={14} /&gt;}
1755
- onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; { <span class="cstat-no" title="statement not covered" >setSearch(""); <span class="cstat-no" title="statement not covered" ></span>setIsSearching(false); </span>}}
1756
- /&gt;
1757
- &lt;/InputRightElement&gt;
1758
- )}
1759
- &lt;/InputGroup&gt;
1760
- &lt;/motion.div&gt;
1761
- )}
1762
- &lt;/Box&gt;
1763
- &nbsp;
1764
- &lt;Box flex="1" overflowY="auto"&gt;
1765
- {renderSections()}
1766
- &lt;/Box&gt;
1767
- &nbsp;
1768
- {hasActiveFilters &amp;&amp; (
1769
- &lt;HStack px={2} py={1} borderTop="1px solid" borderColor="gray.200" spacing={2} position={filterMode === "modal" ? "absolute" : "relative"} bottom={0} left={0} right={0} bg="white"&gt;
1770
- &lt;Button flex={1} variant="outline" size="sm" onClick={handleClear} fontSize="xs" colorScheme="red"&gt;
1771
- Clear All
1772
- &lt;/Button&gt;
1773
- &lt;Button
1774
- flex={1}
1775
- colorScheme="primary"
1776
- color="white"
1777
- size="sm"
1778
- onClick={handleApply}
1779
- fontSize="xs"
1780
- isLoading={isApplyLoading}
1781
- &gt;
1782
- Apply
1783
- &lt;/Button&gt;
1784
- &lt;/HStack&gt;
1785
- )}
1786
- &lt;/Box&gt;
1787
- );
1788
- };
1789
- &nbsp;
1790
- export default LeftFilterPane;
1791
- &nbsp;</pre></td></tr></table></pre>
1792
-
1793
- <div class='push'></div><!-- for sticky footer -->
1794
- </div><!-- /wrapper -->
1795
- <div class='footer quiet pad2 space-top1 center small'>
1796
- Code coverage generated by
1797
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1798
- at 2026-04-25T11:11:29.488Z
1799
- </div>
1800
- <script src="../prettify.js"></script>
1801
- <script>
1802
- window.onload = function () {
1803
- prettyPrint();
1804
- };
1805
- </script>
1806
- <script src="../sorter.js"></script>
1807
- <script src="../block-navigation.js"></script>
1808
- </body>
1809
- </html>
1810
-