@powerhousedao/document-engineering 1.38.0 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (776) hide show
  1. package/README.md +12 -0
  2. package/dist/setupTests.d.ts +2 -0
  3. package/dist/setupTests.d.ts.map +1 -0
  4. package/dist/setupTests.js +2 -0
  5. package/dist/setupTests.js.map +1 -0
  6. package/dist/src/scalars/components/aid-field/aid-field.stories.d.ts +71 -0
  7. package/dist/src/scalars/components/aid-field/aid-field.stories.d.ts.map +1 -0
  8. package/dist/src/scalars/components/aid-field/aid-field.stories.js +495 -0
  9. package/dist/src/scalars/components/aid-field/aid-field.stories.js.map +1 -0
  10. package/dist/src/scalars/components/aid-field/aid-field.test.d.ts +2 -0
  11. package/dist/src/scalars/components/aid-field/aid-field.test.d.ts.map +1 -0
  12. package/dist/src/scalars/components/aid-field/aid-field.test.js +180 -0
  13. package/dist/src/scalars/components/aid-field/aid-field.test.js.map +1 -0
  14. package/dist/src/scalars/components/amount-field/amount-field.stories.d.ts +267 -0
  15. package/dist/src/scalars/components/amount-field/amount-field.stories.d.ts.map +1 -0
  16. package/dist/src/scalars/components/amount-field/amount-field.stories.js +339 -0
  17. package/dist/src/scalars/components/amount-field/amount-field.stories.js.map +1 -0
  18. package/dist/src/scalars/components/amount-field/amount-field.test.d.ts +2 -0
  19. package/dist/src/scalars/components/amount-field/amount-field.test.d.ts.map +1 -0
  20. package/dist/src/scalars/components/amount-field/amount-field.test.js +53 -0
  21. package/dist/src/scalars/components/amount-field/amount-field.test.js.map +1 -0
  22. package/dist/src/scalars/components/boolean-field/boolean-field.stories.d.ts +85 -0
  23. package/dist/src/scalars/components/boolean-field/boolean-field.stories.d.ts.map +1 -0
  24. package/dist/src/scalars/components/boolean-field/boolean-field.stories.js +113 -0
  25. package/dist/src/scalars/components/boolean-field/boolean-field.stories.js.map +1 -0
  26. package/dist/src/scalars/components/boolean-field/boolean-field.test.d.ts +2 -0
  27. package/dist/src/scalars/components/boolean-field/boolean-field.test.d.ts.map +1 -0
  28. package/dist/src/scalars/components/boolean-field/boolean-field.test.js +82 -0
  29. package/dist/src/scalars/components/boolean-field/boolean-field.test.js.map +1 -0
  30. package/dist/src/scalars/components/country-code-field/country-code-field.js +1 -1
  31. package/dist/src/scalars/components/country-code-field/country-code-field.js.map +1 -1
  32. package/dist/src/scalars/components/country-code-field/country-code-field.stories.d.ts +19 -0
  33. package/dist/src/scalars/components/country-code-field/country-code-field.stories.d.ts.map +1 -0
  34. package/dist/src/scalars/components/country-code-field/country-code-field.stories.js +173 -0
  35. package/dist/src/scalars/components/country-code-field/country-code-field.stories.js.map +1 -0
  36. package/dist/src/scalars/components/country-code-field/country-code-field.test.d.ts +2 -0
  37. package/dist/src/scalars/components/country-code-field/country-code-field.test.d.ts.map +1 -0
  38. package/dist/src/scalars/components/country-code-field/country-code-field.test.js +116 -0
  39. package/dist/src/scalars/components/country-code-field/country-code-field.test.js.map +1 -0
  40. package/dist/src/scalars/components/currency-code-field/currency-code-field.stories.d.ts +12 -0
  41. package/dist/src/scalars/components/currency-code-field/currency-code-field.stories.d.ts.map +1 -0
  42. package/dist/src/scalars/components/currency-code-field/currency-code-field.stories.js +160 -0
  43. package/dist/src/scalars/components/currency-code-field/currency-code-field.stories.js.map +1 -0
  44. package/dist/src/scalars/components/currency-code-field/currency-code-field.test.d.ts +2 -0
  45. package/dist/src/scalars/components/currency-code-field/currency-code-field.test.d.ts.map +1 -0
  46. package/dist/src/scalars/components/currency-code-field/currency-code-field.test.js +47 -0
  47. package/dist/src/scalars/components/currency-code-field/currency-code-field.test.js.map +1 -0
  48. package/dist/src/scalars/components/date-picker-field/date-picker-field.stories.d.ts +26 -0
  49. package/dist/src/scalars/components/date-picker-field/date-picker-field.stories.d.ts.map +1 -0
  50. package/dist/src/scalars/components/date-picker-field/date-picker-field.stories.js +296 -0
  51. package/dist/src/scalars/components/date-picker-field/date-picker-field.stories.js.map +1 -0
  52. package/dist/src/scalars/components/date-picker-field/date-picker-field.test.d.ts +2 -0
  53. package/dist/src/scalars/components/date-picker-field/date-picker-field.test.d.ts.map +1 -0
  54. package/dist/src/scalars/components/date-picker-field/date-picker-field.test.js +119 -0
  55. package/dist/src/scalars/components/date-picker-field/date-picker-field.test.js.map +1 -0
  56. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field.stories.d.ts +19 -0
  57. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field.stories.d.ts.map +1 -0
  58. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field.stories.js +218 -0
  59. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field.stories.js.map +1 -0
  60. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field.test.d.ts +2 -0
  61. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field.test.d.ts.map +1 -0
  62. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field.test.js +125 -0
  63. package/dist/src/scalars/components/date-time-picker-field/date-time-picker-field.test.js.map +1 -0
  64. package/dist/src/scalars/components/email-field/email-field.stories.d.ts +12 -0
  65. package/dist/src/scalars/components/email-field/email-field.stories.d.ts.map +1 -0
  66. package/dist/src/scalars/components/email-field/email-field.stories.js +108 -0
  67. package/dist/src/scalars/components/email-field/email-field.stories.js.map +1 -0
  68. package/dist/src/scalars/components/email-field/email-field.test.d.ts +2 -0
  69. package/dist/src/scalars/components/email-field/email-field.test.d.ts.map +1 -0
  70. package/dist/src/scalars/components/email-field/email-field.test.js +162 -0
  71. package/dist/src/scalars/components/email-field/email-field.test.js.map +1 -0
  72. package/dist/src/scalars/components/enum-field/enum-field.stories.d.ts +46 -0
  73. package/dist/src/scalars/components/enum-field/enum-field.stories.d.ts.map +1 -0
  74. package/dist/src/scalars/components/enum-field/enum-field.stories.js +360 -0
  75. package/dist/src/scalars/components/enum-field/enum-field.stories.js.map +1 -0
  76. package/dist/src/scalars/components/enum-field/enum-field.test.d.ts +2 -0
  77. package/dist/src/scalars/components/enum-field/enum-field.test.d.ts.map +1 -0
  78. package/dist/src/scalars/components/enum-field/enum-field.test.js +89 -0
  79. package/dist/src/scalars/components/enum-field/enum-field.test.js.map +1 -0
  80. package/dist/src/scalars/components/examples/enum-field-example/enum-field-example.stories.d.ts +21 -0
  81. package/dist/src/scalars/components/examples/enum-field-example/enum-field-example.stories.d.ts.map +1 -0
  82. package/dist/src/scalars/components/examples/enum-field-example/enum-field-example.stories.js +76 -0
  83. package/dist/src/scalars/components/examples/enum-field-example/enum-field-example.stories.js.map +1 -0
  84. package/dist/src/scalars/components/examples/multiple-fields-with-complex-layout/multiple-fields-with-complex-layout.stories.d.ts +21 -0
  85. package/dist/src/scalars/components/examples/multiple-fields-with-complex-layout/multiple-fields-with-complex-layout.stories.d.ts.map +1 -0
  86. package/dist/src/scalars/components/examples/multiple-fields-with-complex-layout/multiple-fields-with-complex-layout.stories.js +141 -0
  87. package/dist/src/scalars/components/examples/multiple-fields-with-complex-layout/multiple-fields-with-complex-layout.stories.js.map +1 -0
  88. package/dist/src/scalars/components/examples/reset-button/reset-button.stories.d.ts +21 -0
  89. package/dist/src/scalars/components/examples/reset-button/reset-button.stories.d.ts.map +1 -0
  90. package/dist/src/scalars/components/examples/reset-button/reset-button.stories.js +48 -0
  91. package/dist/src/scalars/components/examples/reset-button/reset-button.stories.js.map +1 -0
  92. package/dist/src/scalars/components/examples/reset-on-successful-submit/reset-on-successful-submit.stories.d.ts +21 -0
  93. package/dist/src/scalars/components/examples/reset-on-successful-submit/reset-on-successful-submit.stories.d.ts.map +1 -0
  94. package/dist/src/scalars/components/examples/reset-on-successful-submit/reset-on-successful-submit.stories.js +47 -0
  95. package/dist/src/scalars/components/examples/reset-on-successful-submit/reset-on-successful-submit.stories.js.map +1 -0
  96. package/dist/src/scalars/components/examples/submit-changes-only/submit-changes-only.stories.d.ts +21 -0
  97. package/dist/src/scalars/components/examples/submit-changes-only/submit-changes-only.stories.d.ts.map +1 -0
  98. package/dist/src/scalars/components/examples/submit-changes-only/submit-changes-only.stories.js +19 -0
  99. package/dist/src/scalars/components/examples/submit-changes-only/submit-changes-only.stories.js.map +1 -0
  100. package/dist/src/scalars/components/file-field/file-field.stories.d.ts +15 -0
  101. package/dist/src/scalars/components/file-field/file-field.stories.d.ts.map +1 -0
  102. package/dist/src/scalars/components/file-field/file-field.stories.js +199 -0
  103. package/dist/src/scalars/components/file-field/file-field.stories.js.map +1 -0
  104. package/dist/src/scalars/components/file-field/index.js +1 -0
  105. package/dist/src/scalars/components/file-field/index.js.map +1 -1
  106. package/dist/src/scalars/components/form/form.test.d.ts +2 -0
  107. package/dist/src/scalars/components/form/form.test.d.ts.map +1 -0
  108. package/dist/src/scalars/components/form/form.test.js +129 -0
  109. package/dist/src/scalars/components/form/form.test.js.map +1 -0
  110. package/dist/src/scalars/components/fragments/button/button.test.d.ts +2 -0
  111. package/dist/src/scalars/components/fragments/button/button.test.d.ts.map +1 -0
  112. package/dist/src/scalars/components/fragments/button/button.test.js +11 -0
  113. package/dist/src/scalars/components/fragments/button/button.test.js.map +1 -0
  114. package/dist/src/scalars/components/fragments/character-counter/character-counter.stories.d.ts +30 -0
  115. package/dist/src/scalars/components/fragments/character-counter/character-counter.stories.d.ts.map +1 -0
  116. package/dist/src/scalars/components/fragments/character-counter/character-counter.stories.js +48 -0
  117. package/dist/src/scalars/components/fragments/character-counter/character-counter.stories.js.map +1 -0
  118. package/dist/src/scalars/components/fragments/character-counter/character-counter.test.d.ts +2 -0
  119. package/dist/src/scalars/components/fragments/character-counter/character-counter.test.d.ts.map +1 -0
  120. package/dist/src/scalars/components/fragments/character-counter/character-counter.test.js +36 -0
  121. package/dist/src/scalars/components/fragments/character-counter/character-counter.test.js.map +1 -0
  122. package/dist/src/scalars/components/fragments/checkbox-field/checkbox-field.test.d.ts +2 -0
  123. package/dist/src/scalars/components/fragments/checkbox-field/checkbox-field.test.d.ts.map +1 -0
  124. package/dist/src/scalars/components/fragments/checkbox-field/checkbox-field.test.js +53 -0
  125. package/dist/src/scalars/components/fragments/checkbox-field/checkbox-field.test.js.map +1 -0
  126. package/dist/src/scalars/components/fragments/command/command.d.ts +3 -3
  127. package/dist/src/scalars/components/fragments/command/command.d.ts.map +1 -1
  128. package/dist/src/scalars/components/fragments/command/command.test.d.ts +2 -0
  129. package/dist/src/scalars/components/fragments/command/command.test.d.ts.map +1 -0
  130. package/dist/src/scalars/components/fragments/command/command.test.js +11 -0
  131. package/dist/src/scalars/components/fragments/command/command.test.js.map +1 -0
  132. package/dist/src/scalars/components/fragments/form-description/form-description.stories.d.ts +18 -0
  133. package/dist/src/scalars/components/fragments/form-description/form-description.stories.d.ts.map +1 -0
  134. package/dist/src/scalars/components/fragments/form-description/form-description.stories.js +25 -0
  135. package/dist/src/scalars/components/fragments/form-description/form-description.stories.js.map +1 -0
  136. package/dist/src/scalars/components/fragments/form-description/form-description.test.d.ts +2 -0
  137. package/dist/src/scalars/components/fragments/form-description/form-description.test.d.ts.map +1 -0
  138. package/dist/src/scalars/components/fragments/form-description/form-description.test.js +29 -0
  139. package/dist/src/scalars/components/fragments/form-description/form-description.test.js.map +1 -0
  140. package/dist/src/scalars/components/fragments/form-group/form-group.test.d.ts +2 -0
  141. package/dist/src/scalars/components/fragments/form-group/form-group.test.d.ts.map +1 -0
  142. package/dist/src/scalars/components/fragments/form-group/form-group.test.js +16 -0
  143. package/dist/src/scalars/components/fragments/form-group/form-group.test.js.map +1 -0
  144. package/dist/src/scalars/components/fragments/form-label/form-label.stories.d.ts +11 -0
  145. package/dist/src/scalars/components/fragments/form-label/form-label.stories.d.ts.map +1 -0
  146. package/dist/src/scalars/components/fragments/form-label/form-label.stories.js +74 -0
  147. package/dist/src/scalars/components/fragments/form-label/form-label.stories.js.map +1 -0
  148. package/dist/src/scalars/components/fragments/form-label/form-label.test.d.ts +2 -0
  149. package/dist/src/scalars/components/fragments/form-label/form-label.test.d.ts.map +1 -0
  150. package/dist/src/scalars/components/fragments/form-label/form-label.test.js +53 -0
  151. package/dist/src/scalars/components/fragments/form-label/form-label.test.js.map +1 -0
  152. package/dist/src/scalars/components/fragments/form-message/form-message.stories.d.ts +9 -0
  153. package/dist/src/scalars/components/fragments/form-message/form-message.stories.d.ts.map +1 -0
  154. package/dist/src/scalars/components/fragments/form-message/form-message.stories.js +43 -0
  155. package/dist/src/scalars/components/fragments/form-message/form-message.stories.js.map +1 -0
  156. package/dist/src/scalars/components/fragments/form-message/form-message.test.d.ts +2 -0
  157. package/dist/src/scalars/components/fragments/form-message/form-message.test.d.ts.map +1 -0
  158. package/dist/src/scalars/components/fragments/form-message/form-message.test.js +49 -0
  159. package/dist/src/scalars/components/fragments/form-message/form-message.test.js.map +1 -0
  160. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-input-container.js +1 -1
  161. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
  162. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-list.d.ts +1 -1
  163. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete-list.d.ts.map +1 -1
  164. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.d.ts +1 -2
  165. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.d.ts.map +1 -1
  166. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.js +13 -13
  167. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.js.map +1 -1
  168. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.test.d.ts +2 -0
  169. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.test.d.ts.map +1 -0
  170. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.test.js +136 -0
  171. package/dist/src/scalars/components/fragments/id-autocomplete/id-autocomplete.test.js.map +1 -0
  172. package/dist/src/scalars/components/fragments/id-autocomplete/use-id-autocomplete.d.ts +1 -1
  173. package/dist/src/scalars/components/fragments/popover/popover.test.d.ts +2 -0
  174. package/dist/src/scalars/components/fragments/popover/popover.test.d.ts.map +1 -0
  175. package/dist/src/scalars/components/fragments/popover/popover.test.js +11 -0
  176. package/dist/src/scalars/components/fragments/popover/popover.test.js.map +1 -0
  177. package/dist/src/scalars/components/fragments/progress-bar/progress-bar.test.d.ts +2 -0
  178. package/dist/src/scalars/components/fragments/progress-bar/progress-bar.test.d.ts.map +1 -0
  179. package/dist/src/scalars/components/fragments/progress-bar/progress-bar.test.js +18 -0
  180. package/dist/src/scalars/components/fragments/progress-bar/progress-bar.test.js.map +1 -0
  181. package/dist/src/scalars/components/fragments/radio-group-field/radio-group-field.test.d.ts +2 -0
  182. package/dist/src/scalars/components/fragments/radio-group-field/radio-group-field.test.d.ts.map +1 -0
  183. package/dist/src/scalars/components/fragments/radio-group-field/radio-group-field.test.js +133 -0
  184. package/dist/src/scalars/components/fragments/radio-group-field/radio-group-field.test.js.map +1 -0
  185. package/dist/src/scalars/components/fragments/select-field/select-field.test.d.ts +2 -0
  186. package/dist/src/scalars/components/fragments/select-field/select-field.test.d.ts.map +1 -0
  187. package/dist/src/scalars/components/fragments/select-field/select-field.test.js +160 -0
  188. package/dist/src/scalars/components/fragments/select-field/select-field.test.js.map +1 -0
  189. package/dist/src/scalars/components/fragments/tabs/tabs.test.d.ts +2 -0
  190. package/dist/src/scalars/components/fragments/tabs/tabs.test.d.ts.map +1 -0
  191. package/dist/src/scalars/components/fragments/tabs/tabs.test.js +47 -0
  192. package/dist/src/scalars/components/fragments/tabs/tabs.test.js.map +1 -0
  193. package/dist/src/scalars/components/fragments/text-field/text-field.test.d.ts +2 -0
  194. package/dist/src/scalars/components/fragments/text-field/text-field.test.d.ts.map +1 -0
  195. package/dist/src/scalars/components/fragments/text-field/text-field.test.js +106 -0
  196. package/dist/src/scalars/components/fragments/text-field/text-field.test.js.map +1 -0
  197. package/dist/src/scalars/components/fragments/textarea-field/textarea-field.test.d.ts +2 -0
  198. package/dist/src/scalars/components/fragments/textarea-field/textarea-field.test.d.ts.map +1 -0
  199. package/dist/src/scalars/components/fragments/textarea-field/textarea-field.test.js +100 -0
  200. package/dist/src/scalars/components/fragments/textarea-field/textarea-field.test.js.map +1 -0
  201. package/dist/src/scalars/components/fragments/toggle-field/toggle-field.test.d.ts +2 -0
  202. package/dist/src/scalars/components/fragments/toggle-field/toggle-field.test.d.ts.map +1 -0
  203. package/dist/src/scalars/components/fragments/toggle-field/toggle-field.test.js +56 -0
  204. package/dist/src/scalars/components/fragments/toggle-field/toggle-field.test.js.map +1 -0
  205. package/dist/src/scalars/components/fragments/value-transformer/value-transformer.d.ts +1 -1
  206. package/dist/src/scalars/components/fragments/value-transformer/value-transformer.d.ts.map +1 -1
  207. package/dist/src/scalars/components/fragments/value-transformer/value-transformer.js +2 -1
  208. package/dist/src/scalars/components/fragments/value-transformer/value-transformer.js.map +1 -1
  209. package/dist/src/scalars/components/fragments/value-transformer/value-transformer.test.d.ts +2 -0
  210. package/dist/src/scalars/components/fragments/value-transformer/value-transformer.test.d.ts.map +1 -0
  211. package/dist/src/scalars/components/fragments/value-transformer/value-transformer.test.js +102 -0
  212. package/dist/src/scalars/components/fragments/value-transformer/value-transformer.test.js.map +1 -0
  213. package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.test.d.ts +2 -0
  214. package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.test.d.ts.map +1 -0
  215. package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.test.js +141 -0
  216. package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.test.js.map +1 -0
  217. package/dist/src/scalars/components/id-field/id-field.stories.d.ts +58 -0
  218. package/dist/src/scalars/components/id-field/id-field.stories.d.ts.map +1 -0
  219. package/dist/src/scalars/components/id-field/id-field.stories.js +73 -0
  220. package/dist/src/scalars/components/id-field/id-field.stories.js.map +1 -0
  221. package/dist/src/scalars/components/id-field/id-field.test.d.ts +2 -0
  222. package/dist/src/scalars/components/id-field/id-field.test.d.ts.map +1 -0
  223. package/dist/src/scalars/components/id-field/id-field.test.js +80 -0
  224. package/dist/src/scalars/components/id-field/id-field.test.js.map +1 -0
  225. package/dist/src/scalars/components/number-field/number-field.d.ts +2 -1
  226. package/dist/src/scalars/components/number-field/number-field.d.ts.map +1 -1
  227. package/dist/src/scalars/components/number-field/number-field.js.map +1 -1
  228. package/dist/src/scalars/components/number-field/number-field.stories.d.ts +156 -0
  229. package/dist/src/scalars/components/number-field/number-field.stories.d.ts.map +1 -0
  230. package/dist/src/scalars/components/number-field/number-field.stories.js +228 -0
  231. package/dist/src/scalars/components/number-field/number-field.stories.js.map +1 -0
  232. package/dist/src/scalars/components/number-field/number-field.test.d.ts +2 -0
  233. package/dist/src/scalars/components/number-field/number-field.test.d.ts.map +1 -0
  234. package/dist/src/scalars/components/number-field/number-field.test.js +336 -0
  235. package/dist/src/scalars/components/number-field/number-field.test.js.map +1 -0
  236. package/dist/src/scalars/components/oid-field/oid-field.stories.d.ts +69 -0
  237. package/dist/src/scalars/components/oid-field/oid-field.stories.d.ts.map +1 -0
  238. package/dist/src/scalars/components/oid-field/oid-field.stories.js +447 -0
  239. package/dist/src/scalars/components/oid-field/oid-field.stories.js.map +1 -0
  240. package/dist/src/scalars/components/oid-field/oid-field.test.d.ts +2 -0
  241. package/dist/src/scalars/components/oid-field/oid-field.test.d.ts.map +1 -0
  242. package/dist/src/scalars/components/oid-field/oid-field.test.js +161 -0
  243. package/dist/src/scalars/components/oid-field/oid-field.test.js.map +1 -0
  244. package/dist/src/scalars/components/password-field/password-field.stories.d.ts +23 -0
  245. package/dist/src/scalars/components/password-field/password-field.stories.d.ts.map +1 -0
  246. package/dist/src/scalars/components/password-field/password-field.stories.js +234 -0
  247. package/dist/src/scalars/components/password-field/password-field.stories.js.map +1 -0
  248. package/dist/src/scalars/components/password-field/password-field.test.d.ts +2 -0
  249. package/dist/src/scalars/components/password-field/password-field.test.d.ts.map +1 -0
  250. package/dist/src/scalars/components/password-field/password-field.test.js +112 -0
  251. package/dist/src/scalars/components/password-field/password-field.test.js.map +1 -0
  252. package/dist/src/scalars/components/phid-field/phid-field.stories.d.ts +69 -0
  253. package/dist/src/scalars/components/phid-field/phid-field.stories.d.ts.map +1 -0
  254. package/dist/src/scalars/components/phid-field/phid-field.stories.js +476 -0
  255. package/dist/src/scalars/components/phid-field/phid-field.stories.js.map +1 -0
  256. package/dist/src/scalars/components/phid-field/phid-field.test.d.ts +2 -0
  257. package/dist/src/scalars/components/phid-field/phid-field.test.d.ts.map +1 -0
  258. package/dist/src/scalars/components/phid-field/phid-field.test.js +164 -0
  259. package/dist/src/scalars/components/phid-field/phid-field.test.js.map +1 -0
  260. package/dist/src/scalars/components/phone-number-field/phone-number-field.stories.d.ts +19 -0
  261. package/dist/src/scalars/components/phone-number-field/phone-number-field.stories.d.ts.map +1 -0
  262. package/dist/src/scalars/components/phone-number-field/phone-number-field.stories.js +116 -0
  263. package/dist/src/scalars/components/phone-number-field/phone-number-field.stories.js.map +1 -0
  264. package/dist/src/scalars/components/phone-number-field/phone-number-field.test.d.ts +2 -0
  265. package/dist/src/scalars/components/phone-number-field/phone-number-field.test.d.ts.map +1 -0
  266. package/dist/src/scalars/components/phone-number-field/phone-number-field.test.js +225 -0
  267. package/dist/src/scalars/components/phone-number-field/phone-number-field.test.js.map +1 -0
  268. package/dist/src/scalars/components/string-field/string-field.stories.d.ts +18 -0
  269. package/dist/src/scalars/components/string-field/string-field.stories.d.ts.map +1 -0
  270. package/dist/src/scalars/components/string-field/string-field.stories.js +143 -0
  271. package/dist/src/scalars/components/string-field/string-field.stories.js.map +1 -0
  272. package/dist/src/scalars/components/string-field/string-field.test.d.ts +2 -0
  273. package/dist/src/scalars/components/string-field/string-field.test.d.ts.map +1 -0
  274. package/dist/src/scalars/components/string-field/string-field.test.js +60 -0
  275. package/dist/src/scalars/components/string-field/string-field.test.js.map +1 -0
  276. package/dist/src/scalars/components/time-picker-field/time-picker-field.stories.d.ts +25 -0
  277. package/dist/src/scalars/components/time-picker-field/time-picker-field.stories.d.ts.map +1 -0
  278. package/dist/src/scalars/components/time-picker-field/time-picker-field.stories.js +150 -0
  279. package/dist/src/scalars/components/time-picker-field/time-picker-field.stories.js.map +1 -0
  280. package/dist/src/scalars/components/time-picker-field/time-picker-field.test.d.ts +2 -0
  281. package/dist/src/scalars/components/time-picker-field/time-picker-field.test.d.ts.map +1 -0
  282. package/dist/src/scalars/components/time-picker-field/time-picker-field.test.js +123 -0
  283. package/dist/src/scalars/components/time-picker-field/time-picker-field.test.js.map +1 -0
  284. package/dist/src/scalars/components/url-field/url-field.stories.d.ts +17 -0
  285. package/dist/src/scalars/components/url-field/url-field.stories.d.ts.map +1 -0
  286. package/dist/src/scalars/components/url-field/url-field.stories.js +146 -0
  287. package/dist/src/scalars/components/url-field/url-field.stories.js.map +1 -0
  288. package/dist/src/scalars/components/url-field/url-field.test.d.ts +2 -0
  289. package/dist/src/scalars/components/url-field/url-field.test.d.ts.map +1 -0
  290. package/dist/src/scalars/components/url-field/url-field.test.js +131 -0
  291. package/dist/src/scalars/components/url-field/url-field.test.js.map +1 -0
  292. package/dist/src/scalars/graphql/test/Amount.test.d.ts +2 -0
  293. package/dist/src/scalars/graphql/test/Amount.test.d.ts.map +1 -0
  294. package/dist/src/scalars/graphql/test/Amount.test.js +135 -0
  295. package/dist/src/scalars/graphql/test/Amount.test.js.map +1 -0
  296. package/dist/src/scalars/graphql/test/AmountCrypto.test.d.ts +2 -0
  297. package/dist/src/scalars/graphql/test/AmountCrypto.test.d.ts.map +1 -0
  298. package/dist/src/scalars/graphql/test/AmountCrypto.test.js +138 -0
  299. package/dist/src/scalars/graphql/test/AmountCrypto.test.js.map +1 -0
  300. package/dist/src/scalars/graphql/test/AmountCurrency.test.d.ts +2 -0
  301. package/dist/src/scalars/graphql/test/AmountCurrency.test.d.ts.map +1 -0
  302. package/dist/src/scalars/graphql/test/AmountCurrency.test.js +141 -0
  303. package/dist/src/scalars/graphql/test/AmountCurrency.test.js.map +1 -0
  304. package/dist/src/scalars/graphql/test/AmountFiat.test.d.ts +2 -0
  305. package/dist/src/scalars/graphql/test/AmountFiat.test.d.ts.map +1 -0
  306. package/dist/src/scalars/graphql/test/AmountFiat.test.js +129 -0
  307. package/dist/src/scalars/graphql/test/AmountFiat.test.js.map +1 -0
  308. package/dist/src/scalars/graphql/test/AmountMoney.test.d.ts +2 -0
  309. package/dist/src/scalars/graphql/test/AmountMoney.test.d.ts.map +1 -0
  310. package/dist/src/scalars/graphql/test/AmountMoney.test.js +50 -0
  311. package/dist/src/scalars/graphql/test/AmountMoney.test.js.map +1 -0
  312. package/dist/src/scalars/graphql/test/AmountPercentage.test.d.ts +2 -0
  313. package/dist/src/scalars/graphql/test/AmountPercentage.test.d.ts.map +1 -0
  314. package/dist/src/scalars/graphql/test/AmountPercentage.test.js +50 -0
  315. package/dist/src/scalars/graphql/test/AmountPercentage.test.js.map +1 -0
  316. package/dist/src/scalars/graphql/test/AmountTokens.test.d.ts +2 -0
  317. package/dist/src/scalars/graphql/test/AmountTokens.test.d.ts.map +1 -0
  318. package/dist/src/scalars/graphql/test/AmountTokens.test.js +50 -0
  319. package/dist/src/scalars/graphql/test/AmountTokens.test.js.map +1 -0
  320. package/dist/src/scalars/graphql/test/Currency.test.d.ts +2 -0
  321. package/dist/src/scalars/graphql/test/Currency.test.d.ts.map +1 -0
  322. package/dist/src/scalars/graphql/test/Currency.test.js +35 -0
  323. package/dist/src/scalars/graphql/test/Currency.test.js.map +1 -0
  324. package/dist/src/scalars/graphql/test/Date.test.d.ts +2 -0
  325. package/dist/src/scalars/graphql/test/Date.test.d.ts.map +1 -0
  326. package/dist/src/scalars/graphql/test/Date.test.js +50 -0
  327. package/dist/src/scalars/graphql/test/Date.test.js.map +1 -0
  328. package/dist/src/scalars/graphql/test/DateTime.test.d.ts +2 -0
  329. package/dist/src/scalars/graphql/test/DateTime.test.d.ts.map +1 -0
  330. package/dist/src/scalars/graphql/test/DateTime.test.js +50 -0
  331. package/dist/src/scalars/graphql/test/DateTime.test.js.map +1 -0
  332. package/dist/src/scalars/graphql/test/EmailAddress.test.d.ts +2 -0
  333. package/dist/src/scalars/graphql/test/EmailAddress.test.d.ts.map +1 -0
  334. package/dist/src/scalars/graphql/test/EmailAddress.test.js +50 -0
  335. package/dist/src/scalars/graphql/test/EmailAddress.test.js.map +1 -0
  336. package/dist/src/scalars/graphql/test/EthereumAddress.test.d.ts +2 -0
  337. package/dist/src/scalars/graphql/test/EthereumAddress.test.d.ts.map +1 -0
  338. package/dist/src/scalars/graphql/test/EthereumAddress.test.js +50 -0
  339. package/dist/src/scalars/graphql/test/EthereumAddress.test.js.map +1 -0
  340. package/dist/src/scalars/graphql/test/OID.test.d.ts +2 -0
  341. package/dist/src/scalars/graphql/test/OID.test.d.ts.map +1 -0
  342. package/dist/src/scalars/graphql/test/OID.test.js +35 -0
  343. package/dist/src/scalars/graphql/test/OID.test.js.map +1 -0
  344. package/dist/src/scalars/graphql/test/OLabel.test.d.ts +2 -0
  345. package/dist/src/scalars/graphql/test/OLabel.test.d.ts.map +1 -0
  346. package/dist/src/scalars/graphql/test/OLabel.test.js +35 -0
  347. package/dist/src/scalars/graphql/test/OLabel.test.js.map +1 -0
  348. package/dist/src/scalars/graphql/test/PHID.test.d.ts +2 -0
  349. package/dist/src/scalars/graphql/test/PHID.test.d.ts.map +1 -0
  350. package/dist/src/scalars/graphql/test/PHID.test.js +35 -0
  351. package/dist/src/scalars/graphql/test/PHID.test.js.map +1 -0
  352. package/dist/src/scalars/graphql/test/URL.test.d.ts +2 -0
  353. package/dist/src/scalars/graphql/test/URL.test.d.ts.map +1 -0
  354. package/dist/src/scalars/graphql/test/URL.test.js +50 -0
  355. package/dist/src/scalars/graphql/test/URL.test.js.map +1 -0
  356. package/dist/src/scalars/hooks/useEllipsis.d.ts +1 -1
  357. package/dist/src/scalars/hooks/useEllipsis.d.ts.map +1 -1
  358. package/dist/src/scalars/hooks/useEllipsis.js.map +1 -1
  359. package/dist/src/scalars/lib/deep-equal.test.d.ts +2 -0
  360. package/dist/src/scalars/lib/deep-equal.test.d.ts.map +1 -0
  361. package/dist/src/scalars/lib/deep-equal.test.js +70 -0
  362. package/dist/src/scalars/lib/deep-equal.test.js.map +1 -0
  363. package/dist/src/scalars/lib/is-empty.test.d.ts +2 -0
  364. package/dist/src/scalars/lib/is-empty.test.d.ts.map +1 -0
  365. package/dist/src/scalars/lib/is-empty.test.js +87 -0
  366. package/dist/src/scalars/lib/is-empty.test.js.map +1 -0
  367. package/dist/src/table/components/cells/render-cell/use-cell-logic.d.ts +1 -1
  368. package/dist/src/table/components/default-cell-editors/amount-editor.js.map +1 -1
  369. package/dist/src/table/components/default-cell-renderers/country-render.js +1 -1
  370. package/dist/src/table/components/default-cell-renderers/country-render.js.map +1 -1
  371. package/dist/src/table/components/default-fns/default-cell-on-save.d.ts +11 -0
  372. package/dist/src/table/components/default-fns/default-cell-on-save.d.ts.map +1 -0
  373. package/dist/src/table/components/default-fns/default-cell-on-save.js +18 -0
  374. package/dist/src/table/components/default-fns/default-cell-on-save.js.map +1 -0
  375. package/dist/src/table/components/rows/row-actions.d.ts +1 -1
  376. package/dist/src/table/components/rows/row-actions.d.ts.map +1 -1
  377. package/dist/src/table/components/table-focus-trap.js.map +1 -1
  378. package/dist/src/table/components/table-provider/table-provider.d.ts +1 -1
  379. package/dist/src/table/components/table-provider/table-provider.d.ts.map +1 -1
  380. package/dist/src/table/components/table-provider/table-provider.js +1 -1
  381. package/dist/src/table/components/table-provider/table-provider.js.map +1 -1
  382. package/dist/src/table/components/table-provider/table-reducer.d.ts +1 -1
  383. package/dist/src/table/components/table-provider/table-reducer.d.ts.map +1 -1
  384. package/dist/src/table/examples/api-usage/api-usage.stories.d.ts +16 -0
  385. package/dist/src/table/examples/api-usage/api-usage.stories.d.ts.map +1 -0
  386. package/dist/src/table/examples/api-usage/api-usage.stories.js +15 -0
  387. package/dist/src/table/examples/api-usage/api-usage.stories.js.map +1 -0
  388. package/dist/src/table/examples/column-visibility/column-visibility.stories.d.ts +23 -0
  389. package/dist/src/table/examples/column-visibility/column-visibility.stories.d.ts.map +1 -0
  390. package/dist/src/table/examples/column-visibility/column-visibility.stories.js +127 -0
  391. package/dist/src/table/examples/column-visibility/column-visibility.stories.js.map +1 -0
  392. package/dist/src/table/examples/computed-columns/computed-columns.stories.d.ts +23 -0
  393. package/dist/src/table/examples/computed-columns/computed-columns.stories.d.ts.map +1 -0
  394. package/dist/src/table/examples/computed-columns/computed-columns.stories.js +89 -0
  395. package/dist/src/table/examples/computed-columns/computed-columns.stories.js.map +1 -0
  396. package/dist/src/table/examples/custom-cell-editors/custom-cell-editors.stories.d.ts +23 -0
  397. package/dist/src/table/examples/custom-cell-editors/custom-cell-editors.stories.d.ts.map +1 -0
  398. package/dist/src/table/examples/custom-cell-editors/custom-cell-editors.stories.js +332 -0
  399. package/dist/src/table/examples/custom-cell-editors/custom-cell-editors.stories.js.map +1 -0
  400. package/dist/src/table/examples/custom-rendering/custom-rendering.stories.d.ts +23 -0
  401. package/dist/src/table/examples/custom-rendering/custom-rendering.stories.d.ts.map +1 -0
  402. package/dist/src/table/examples/custom-rendering/custom-rendering.stories.js +112 -0
  403. package/dist/src/table/examples/custom-rendering/custom-rendering.stories.js.map +1 -0
  404. package/dist/src/table/examples/events/events.stories.d.ts +16 -0
  405. package/dist/src/table/examples/events/events.stories.d.ts.map +1 -0
  406. package/dist/src/table/examples/events/events.stories.js +15 -0
  407. package/dist/src/table/examples/events/events.stories.js.map +1 -0
  408. package/dist/src/table/examples/row-reordering/row-reordering.stories.d.ts +37 -0
  409. package/dist/src/table/examples/row-reordering/row-reordering.stories.d.ts.map +1 -0
  410. package/dist/src/table/examples/row-reordering/row-reordering.stories.js +143 -0
  411. package/dist/src/table/examples/row-reordering/row-reordering.stories.js.map +1 -0
  412. package/dist/src/table/examples/table-editing/table-editing.stories.d.ts +43 -0
  413. package/dist/src/table/examples/table-editing/table-editing.stories.d.ts.map +1 -0
  414. package/dist/src/table/examples/table-editing/table-editing.stories.js +163 -0
  415. package/dist/src/table/examples/table-editing/table-editing.stories.js.map +1 -0
  416. package/dist/src/table/logic/table-api.d.ts +1 -1
  417. package/dist/src/table/logic/table-api.d.ts.map +1 -1
  418. package/dist/src/table/logic/table-api.js.map +1 -1
  419. package/dist/src/table/table/object-set-table.d.ts.map +1 -1
  420. package/dist/src/table/table/object-set-table.js +2 -11
  421. package/dist/src/table/table/object-set-table.js.map +1 -1
  422. package/dist/src/table/table/object-set-table.stories.d.ts +97 -0
  423. package/dist/src/table/table/object-set-table.stories.d.ts.map +1 -0
  424. package/dist/src/table/table/object-set-table.stories.js +300 -0
  425. package/dist/src/table/table/object-set-table.stories.js.map +1 -0
  426. package/dist/src/table/table/utils.d.ts +1 -1
  427. package/dist/src/table/table/utils.d.ts.map +1 -1
  428. package/dist/src/table/table/utils.js.map +1 -1
  429. package/dist/src/table/tests/basic-rendering.test.d.ts +2 -0
  430. package/dist/src/table/tests/basic-rendering.test.d.ts.map +1 -0
  431. package/dist/src/table/tests/basic-rendering.test.js +332 -0
  432. package/dist/src/table/tests/basic-rendering.test.js.map +1 -0
  433. package/dist/src/table/tests/cell-selection.test.d.ts +2 -0
  434. package/dist/src/table/tests/cell-selection.test.d.ts.map +1 -0
  435. package/dist/src/table/tests/cell-selection.test.js +346 -0
  436. package/dist/src/table/tests/cell-selection.test.js.map +1 -0
  437. package/dist/src/table/tests/helpers/test-utils.d.ts +28 -0
  438. package/dist/src/table/tests/helpers/test-utils.d.ts.map +1 -0
  439. package/dist/src/table/tests/helpers/test-utils.js +85 -0
  440. package/dist/src/table/tests/helpers/test-utils.js.map +1 -0
  441. package/dist/src/table/tests/page-objects/base-table.page.d.ts +83 -0
  442. package/dist/src/table/tests/page-objects/base-table.page.d.ts.map +1 -0
  443. package/dist/src/table/tests/page-objects/base-table.page.js +146 -0
  444. package/dist/src/table/tests/page-objects/base-table.page.js.map +1 -0
  445. package/dist/src/table/tests/page-objects/table-cell.page.d.ts +58 -0
  446. package/dist/src/table/tests/page-objects/table-cell.page.d.ts.map +1 -0
  447. package/dist/src/table/tests/page-objects/table-cell.page.js +163 -0
  448. package/dist/src/table/tests/page-objects/table-cell.page.js.map +1 -0
  449. package/dist/src/table/tests/page-objects/table-header.page.d.ts +66 -0
  450. package/dist/src/table/tests/page-objects/table-header.page.d.ts.map +1 -0
  451. package/dist/src/table/tests/page-objects/table-header.page.js +156 -0
  452. package/dist/src/table/tests/page-objects/table-header.page.js.map +1 -0
  453. package/dist/src/table/tests/page-objects/table-row.page.d.ts +98 -0
  454. package/dist/src/table/tests/page-objects/table-row.page.d.ts.map +1 -0
  455. package/dist/src/table/tests/page-objects/table-row.page.js +240 -0
  456. package/dist/src/table/tests/page-objects/table-row.page.js.map +1 -0
  457. package/dist/src/table/tests/page-objects/table.page.d.ts +36 -0
  458. package/dist/src/table/tests/page-objects/table.page.d.ts.map +1 -0
  459. package/dist/src/table/tests/page-objects/table.page.js +46 -0
  460. package/dist/src/table/tests/page-objects/table.page.js.map +1 -0
  461. package/dist/src/table/tests/row-actions.test.d.ts +2 -0
  462. package/dist/src/table/tests/row-actions.test.d.ts.map +1 -0
  463. package/dist/src/table/tests/row-actions.test.js +601 -0
  464. package/dist/src/table/tests/row-actions.test.js.map +1 -0
  465. package/dist/src/table/tests/row-selection.test.d.ts +2 -0
  466. package/dist/src/table/tests/row-selection.test.d.ts.map +1 -0
  467. package/dist/src/table/tests/row-selection.test.js +272 -0
  468. package/dist/src/table/tests/row-selection.test.js.map +1 -0
  469. package/dist/src/table/tests/sorting.test.d.ts +2 -0
  470. package/dist/src/table/tests/sorting.test.d.ts.map +1 -0
  471. package/dist/src/table/tests/sorting.test.js +793 -0
  472. package/dist/src/table/tests/sorting.test.js.map +1 -0
  473. package/dist/src/ui/components/button/button.stories.d.ts +32 -0
  474. package/dist/src/ui/components/button/button.stories.d.ts.map +1 -0
  475. package/dist/src/ui/components/button/button.stories.js +121 -0
  476. package/dist/src/ui/components/button/button.stories.js.map +1 -0
  477. package/dist/src/ui/components/button/button.test.d.ts +2 -0
  478. package/dist/src/ui/components/button/button.test.d.ts.map +1 -0
  479. package/dist/src/ui/components/button/button.test.js +71 -0
  480. package/dist/src/ui/components/button/button.test.js.map +1 -0
  481. package/dist/src/ui/components/confirm/alert-dialog.test.d.ts +2 -0
  482. package/dist/src/ui/components/confirm/alert-dialog.test.d.ts.map +1 -0
  483. package/dist/src/ui/components/confirm/alert-dialog.test.js +20 -0
  484. package/dist/src/ui/components/confirm/alert-dialog.test.js.map +1 -0
  485. package/dist/src/ui/components/confirm/confirm.stories.d.ts +37 -0
  486. package/dist/src/ui/components/confirm/confirm.stories.d.ts.map +1 -0
  487. package/dist/src/ui/components/confirm/confirm.stories.js +75 -0
  488. package/dist/src/ui/components/confirm/confirm.stories.js.map +1 -0
  489. package/dist/src/ui/components/data-entry/aid-input/aid-input.stories.d.ts +74 -0
  490. package/dist/src/ui/components/data-entry/aid-input/aid-input.stories.d.ts.map +1 -0
  491. package/dist/src/ui/components/data-entry/aid-input/aid-input.stories.js +505 -0
  492. package/dist/src/ui/components/data-entry/aid-input/aid-input.stories.js.map +1 -0
  493. package/dist/src/ui/components/data-entry/aid-input/aid-input.test.d.ts +2 -0
  494. package/dist/src/ui/components/data-entry/aid-input/aid-input.test.d.ts.map +1 -0
  495. package/dist/src/ui/components/data-entry/aid-input/aid-input.test.js +191 -0
  496. package/dist/src/ui/components/data-entry/aid-input/aid-input.test.js.map +1 -0
  497. package/dist/src/ui/components/data-entry/amount-input/amount-input.d.ts +1 -1
  498. package/dist/src/ui/components/data-entry/amount-input/amount-input.d.ts.map +1 -1
  499. package/dist/src/ui/components/data-entry/amount-input/amount-input.stories.d.ts +269 -0
  500. package/dist/src/ui/components/data-entry/amount-input/amount-input.stories.d.ts.map +1 -0
  501. package/dist/src/ui/components/data-entry/amount-input/amount-input.stories.js +363 -0
  502. package/dist/src/ui/components/data-entry/amount-input/amount-input.stories.js.map +1 -0
  503. package/dist/src/ui/components/data-entry/amount-input/amount-input.test.d.ts +2 -0
  504. package/dist/src/ui/components/data-entry/amount-input/amount-input.test.d.ts.map +1 -0
  505. package/dist/src/ui/components/data-entry/amount-input/amount-input.test.js +98 -0
  506. package/dist/src/ui/components/data-entry/amount-input/amount-input.test.js.map +1 -0
  507. package/dist/src/ui/components/data-entry/amount-input/utils.test.d.ts +2 -0
  508. package/dist/src/ui/components/data-entry/amount-input/utils.test.d.ts.map +1 -0
  509. package/dist/src/ui/components/data-entry/amount-input/utils.test.js +64 -0
  510. package/dist/src/ui/components/data-entry/amount-input/utils.test.js.map +1 -0
  511. package/dist/src/ui/components/data-entry/checkbox/checkbox-base.test.d.ts +2 -0
  512. package/dist/src/ui/components/data-entry/checkbox/checkbox-base.test.d.ts.map +1 -0
  513. package/dist/src/ui/components/data-entry/checkbox/checkbox-base.test.js +57 -0
  514. package/dist/src/ui/components/data-entry/checkbox/checkbox-base.test.js.map +1 -0
  515. package/dist/src/ui/components/data-entry/checkbox/checkbox.stories.d.ts +73 -0
  516. package/dist/src/ui/components/data-entry/checkbox/checkbox.stories.d.ts.map +1 -0
  517. package/dist/src/ui/components/data-entry/checkbox/checkbox.stories.js +139 -0
  518. package/dist/src/ui/components/data-entry/checkbox/checkbox.stories.js.map +1 -0
  519. package/dist/src/ui/components/data-entry/checkbox/index.js +1 -0
  520. package/dist/src/ui/components/data-entry/checkbox/index.js.map +1 -1
  521. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.js +1 -1
  522. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.js.map +1 -1
  523. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.stories.d.ts +33 -0
  524. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.stories.d.ts.map +1 -0
  525. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.stories.js +194 -0
  526. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.stories.js.map +1 -0
  527. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.test.d.ts +2 -0
  528. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.test.d.ts.map +1 -0
  529. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.test.js +173 -0
  530. package/dist/src/ui/components/data-entry/country-code-picker/country-code-picker.test.js.map +1 -0
  531. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.stories.d.ts +28 -0
  532. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.stories.d.ts.map +1 -0
  533. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.stories.js +185 -0
  534. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.stories.js.map +1 -0
  535. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.test.d.ts +2 -0
  536. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.test.d.ts.map +1 -0
  537. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.test.js +161 -0
  538. package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.test.js.map +1 -0
  539. package/dist/src/ui/components/data-entry/date-picker/date-picker.js +1 -1
  540. package/dist/src/ui/components/data-entry/date-picker/date-picker.js.map +1 -1
  541. package/dist/src/ui/components/data-entry/date-picker/date-picker.stories.d.ts +104 -0
  542. package/dist/src/ui/components/data-entry/date-picker/date-picker.stories.d.ts.map +1 -0
  543. package/dist/src/ui/components/data-entry/date-picker/date-picker.stories.js +360 -0
  544. package/dist/src/ui/components/data-entry/date-picker/date-picker.stories.js.map +1 -0
  545. package/dist/src/ui/components/data-entry/date-picker/date-picker.test.d.ts +2 -0
  546. package/dist/src/ui/components/data-entry/date-picker/date-picker.test.d.ts.map +1 -0
  547. package/dist/src/ui/components/data-entry/date-picker/date-picker.test.js +225 -0
  548. package/dist/src/ui/components/data-entry/date-picker/date-picker.test.js.map +1 -0
  549. package/dist/src/ui/components/data-entry/date-picker/index.js +1 -0
  550. package/dist/src/ui/components/data-entry/date-picker/index.js.map +1 -1
  551. package/dist/src/ui/components/data-entry/date-picker/subcomponents/calendar-nav/calendar-nav.d.ts +1 -1
  552. package/dist/src/ui/components/data-entry/date-picker/subcomponents/calendar-nav/calendar-nav.d.ts.map +1 -1
  553. package/dist/src/ui/components/data-entry/date-picker/subcomponents/calendar-nav/calendar-nav.js.map +1 -1
  554. package/dist/src/ui/components/data-entry/date-picker/subcomponents/caption-label/caption-label.d.ts +1 -1
  555. package/dist/src/ui/components/data-entry/date-picker/subcomponents/caption-label/caption-label.d.ts.map +1 -1
  556. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.stories.d.ts +152 -0
  557. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.stories.d.ts.map +1 -0
  558. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.stories.js +376 -0
  559. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.stories.js.map +1 -0
  560. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.test.d.ts +2 -0
  561. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.test.d.ts.map +1 -0
  562. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.test.js +241 -0
  563. package/dist/src/ui/components/data-entry/date-time-picker/date-time-picker.test.js.map +1 -0
  564. package/dist/src/ui/components/data-entry/date-time-picker/use-date-time-picker.d.ts.map +1 -1
  565. package/dist/src/ui/components/data-entry/date-time-picker/utils.test.d.ts +2 -0
  566. package/dist/src/ui/components/data-entry/date-time-picker/utils.test.d.ts.map +1 -0
  567. package/dist/src/ui/components/data-entry/date-time-picker/utils.test.js +38 -0
  568. package/dist/src/ui/components/data-entry/date-time-picker/utils.test.js.map +1 -0
  569. package/dist/src/ui/components/data-entry/email-input/email-input.stories.d.ts +17 -0
  570. package/dist/src/ui/components/data-entry/email-input/email-input.stories.d.ts.map +1 -0
  571. package/dist/src/ui/components/data-entry/email-input/email-input.stories.js +80 -0
  572. package/dist/src/ui/components/data-entry/email-input/email-input.stories.js.map +1 -0
  573. package/dist/src/ui/components/data-entry/email-input/index.js +1 -0
  574. package/dist/src/ui/components/data-entry/email-input/index.js.map +1 -1
  575. package/dist/src/ui/components/data-entry/file-input/examples/file-upload-item-example.stories.d.ts +31 -0
  576. package/dist/src/ui/components/data-entry/file-input/examples/file-upload-item-example.stories.d.ts.map +1 -0
  577. package/dist/src/ui/components/data-entry/file-input/examples/file-upload-item-example.stories.js +193 -0
  578. package/dist/src/ui/components/data-entry/file-input/examples/file-upload-item-example.stories.js.map +1 -0
  579. package/dist/src/ui/components/data-entry/file-input/file-input.stories.d.ts +16 -0
  580. package/dist/src/ui/components/data-entry/file-input/file-input.stories.d.ts.map +1 -0
  581. package/dist/src/ui/components/data-entry/file-input/file-input.stories.js +199 -0
  582. package/dist/src/ui/components/data-entry/file-input/file-input.stories.js.map +1 -0
  583. package/dist/src/ui/components/data-entry/file-input/file-input.test.d.ts +2 -0
  584. package/dist/src/ui/components/data-entry/file-input/file-input.test.d.ts.map +1 -0
  585. package/dist/src/ui/components/data-entry/file-input/file-input.test.js +114 -0
  586. package/dist/src/ui/components/data-entry/file-input/file-input.test.js.map +1 -0
  587. package/dist/src/ui/components/data-entry/file-input/index.js +1 -0
  588. package/dist/src/ui/components/data-entry/file-input/index.js.map +1 -1
  589. package/dist/src/ui/components/data-entry/file-input/sub-components/loading-bar.d.ts +1 -0
  590. package/dist/src/ui/components/data-entry/file-input/sub-components/loading-bar.d.ts.map +1 -1
  591. package/dist/src/ui/components/data-entry/file-input/sub-components/loading-bar.js.map +1 -1
  592. package/dist/src/ui/components/data-entry/input/input.stories.d.ts +41 -0
  593. package/dist/src/ui/components/data-entry/input/input.stories.d.ts.map +1 -0
  594. package/dist/src/ui/components/data-entry/input/input.stories.js +70 -0
  595. package/dist/src/ui/components/data-entry/input/input.stories.js.map +1 -0
  596. package/dist/src/ui/components/data-entry/input/input.test.d.ts +2 -0
  597. package/dist/src/ui/components/data-entry/input/input.test.d.ts.map +1 -0
  598. package/dist/src/ui/components/data-entry/input/input.test.js +46 -0
  599. package/dist/src/ui/components/data-entry/input/input.test.js.map +1 -0
  600. package/dist/src/ui/components/data-entry/input/splitted-input-diff.d.ts +1 -0
  601. package/dist/src/ui/components/data-entry/input/splitted-input-diff.d.ts.map +1 -1
  602. package/dist/src/ui/components/data-entry/input/splitted-input-diff.js.map +1 -1
  603. package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.d.ts +1 -0
  604. package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.d.ts.map +1 -1
  605. package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.js.map +1 -1
  606. package/dist/src/ui/components/data-entry/number-input/number-input.stories.d.ts +173 -0
  607. package/dist/src/ui/components/data-entry/number-input/number-input.stories.d.ts.map +1 -0
  608. package/dist/src/ui/components/data-entry/number-input/number-input.stories.js +249 -0
  609. package/dist/src/ui/components/data-entry/number-input/number-input.stories.js.map +1 -0
  610. package/dist/src/ui/components/data-entry/number-input/number-input.test.d.ts +2 -0
  611. package/dist/src/ui/components/data-entry/number-input/number-input.test.d.ts.map +1 -0
  612. package/dist/src/ui/components/data-entry/number-input/number-input.test.js +234 -0
  613. package/dist/src/ui/components/data-entry/number-input/number-input.test.js.map +1 -0
  614. package/dist/src/ui/components/data-entry/number-input/use-number-input.d.ts +1 -1
  615. package/dist/src/ui/components/data-entry/oid-input/oid-input.stories.d.ts +72 -0
  616. package/dist/src/ui/components/data-entry/oid-input/oid-input.stories.d.ts.map +1 -0
  617. package/dist/src/ui/components/data-entry/oid-input/oid-input.stories.js +457 -0
  618. package/dist/src/ui/components/data-entry/oid-input/oid-input.stories.js.map +1 -0
  619. package/dist/src/ui/components/data-entry/oid-input/oid-input.test.d.ts +2 -0
  620. package/dist/src/ui/components/data-entry/oid-input/oid-input.test.d.ts.map +1 -0
  621. package/dist/src/ui/components/data-entry/oid-input/oid-input.test.js +176 -0
  622. package/dist/src/ui/components/data-entry/oid-input/oid-input.test.js.map +1 -0
  623. package/dist/src/ui/components/data-entry/password-input/password-input.stories.d.ts +21 -0
  624. package/dist/src/ui/components/data-entry/password-input/password-input.stories.d.ts.map +1 -0
  625. package/dist/src/ui/components/data-entry/password-input/password-input.stories.js +101 -0
  626. package/dist/src/ui/components/data-entry/password-input/password-input.stories.js.map +1 -0
  627. package/dist/src/ui/components/data-entry/password-input/password-input.test.d.ts +2 -0
  628. package/dist/src/ui/components/data-entry/password-input/password-input.test.d.ts.map +1 -0
  629. package/dist/src/ui/components/data-entry/password-input/password-input.test.js +92 -0
  630. package/dist/src/ui/components/data-entry/password-input/password-input.test.js.map +1 -0
  631. package/dist/src/ui/components/data-entry/phid-input/phid-input.stories.d.ts +72 -0
  632. package/dist/src/ui/components/data-entry/phid-input/phid-input.stories.d.ts.map +1 -0
  633. package/dist/src/ui/components/data-entry/phid-input/phid-input.stories.js +486 -0
  634. package/dist/src/ui/components/data-entry/phid-input/phid-input.stories.js.map +1 -0
  635. package/dist/src/ui/components/data-entry/phid-input/phid-input.test.d.ts +2 -0
  636. package/dist/src/ui/components/data-entry/phid-input/phid-input.test.d.ts.map +1 -0
  637. package/dist/src/ui/components/data-entry/phid-input/phid-input.test.js +179 -0
  638. package/dist/src/ui/components/data-entry/phid-input/phid-input.test.js.map +1 -0
  639. package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.stories.d.ts +21 -0
  640. package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.stories.d.ts.map +1 -0
  641. package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.stories.js +122 -0
  642. package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.stories.js.map +1 -0
  643. package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.test.d.ts +2 -0
  644. package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.test.d.ts.map +1 -0
  645. package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.test.js +190 -0
  646. package/dist/src/ui/components/data-entry/phone-number-input/phone-number-input.test.js.map +1 -0
  647. package/dist/src/ui/components/data-entry/phone-number-input/use-phone-number-input.d.ts +1 -1
  648. package/dist/src/ui/components/data-entry/phone-number-input/use-phone-number-input.js +1 -1
  649. package/dist/src/ui/components/data-entry/phone-number-input/use-phone-number-input.js.map +1 -1
  650. package/dist/src/ui/components/data-entry/radio-group/customizable-radio-group.test.d.ts +2 -0
  651. package/dist/src/ui/components/data-entry/radio-group/customizable-radio-group.test.d.ts.map +1 -0
  652. package/dist/src/ui/components/data-entry/radio-group/customizable-radio-group.test.js +76 -0
  653. package/dist/src/ui/components/data-entry/radio-group/customizable-radio-group.test.js.map +1 -0
  654. package/dist/src/ui/components/data-entry/radio-group/radio-group.stories.d.ts +86 -0
  655. package/dist/src/ui/components/data-entry/radio-group/radio-group.stories.d.ts.map +1 -0
  656. package/dist/src/ui/components/data-entry/radio-group/radio-group.stories.js +250 -0
  657. package/dist/src/ui/components/data-entry/radio-group/radio-group.stories.js.map +1 -0
  658. package/dist/src/ui/components/data-entry/radio-group/radio-group.test.d.ts +2 -0
  659. package/dist/src/ui/components/data-entry/radio-group/radio-group.test.d.ts.map +1 -0
  660. package/dist/src/ui/components/data-entry/radio-group/radio-group.test.js +136 -0
  661. package/dist/src/ui/components/data-entry/radio-group/radio-group.test.js.map +1 -0
  662. package/dist/src/ui/components/data-entry/radio-group/radio.test.d.ts +2 -0
  663. package/dist/src/ui/components/data-entry/radio-group/radio.test.d.ts.map +1 -0
  664. package/dist/src/ui/components/data-entry/radio-group/radio.test.js +63 -0
  665. package/dist/src/ui/components/data-entry/radio-group/radio.test.js.map +1 -0
  666. package/dist/src/ui/components/data-entry/select/content.d.ts +1 -1
  667. package/dist/src/ui/components/data-entry/select/content.d.ts.map +1 -1
  668. package/dist/src/ui/components/data-entry/select/select-diff.d.ts +1 -0
  669. package/dist/src/ui/components/data-entry/select/select-diff.d.ts.map +1 -1
  670. package/dist/src/ui/components/data-entry/select/select-diff.js.map +1 -1
  671. package/dist/src/ui/components/data-entry/select/select.stories.d.ts +75 -0
  672. package/dist/src/ui/components/data-entry/select/select.stories.d.ts.map +1 -0
  673. package/dist/src/ui/components/data-entry/select/select.stories.js +439 -0
  674. package/dist/src/ui/components/data-entry/select/select.stories.js.map +1 -0
  675. package/dist/src/ui/components/data-entry/select/select.test.d.ts +2 -0
  676. package/dist/src/ui/components/data-entry/select/select.test.d.ts.map +1 -0
  677. package/dist/src/ui/components/data-entry/select/select.test.js +218 -0
  678. package/dist/src/ui/components/data-entry/select/select.test.js.map +1 -0
  679. package/dist/src/ui/components/data-entry/select/use-select.d.ts +1 -1
  680. package/dist/src/ui/components/data-entry/select/use-select.js.map +1 -1
  681. package/dist/src/ui/components/data-entry/text-input/index.js +1 -0
  682. package/dist/src/ui/components/data-entry/text-input/index.js.map +1 -1
  683. package/dist/src/ui/components/data-entry/text-input/text-input.js +1 -1
  684. package/dist/src/ui/components/data-entry/text-input/text-input.js.map +1 -1
  685. package/dist/src/ui/components/data-entry/text-input/text-input.stories.d.ts +171 -0
  686. package/dist/src/ui/components/data-entry/text-input/text-input.stories.d.ts.map +1 -0
  687. package/dist/src/ui/components/data-entry/text-input/text-input.stories.js +133 -0
  688. package/dist/src/ui/components/data-entry/text-input/text-input.stories.js.map +1 -0
  689. package/dist/src/ui/components/data-entry/textarea/textarea.d.ts +2 -3
  690. package/dist/src/ui/components/data-entry/textarea/textarea.d.ts.map +1 -1
  691. package/dist/src/ui/components/data-entry/textarea/textarea.js +10 -10
  692. package/dist/src/ui/components/data-entry/textarea/textarea.js.map +1 -1
  693. package/dist/src/ui/components/data-entry/textarea/textarea.stories.d.ts +177 -0
  694. package/dist/src/ui/components/data-entry/textarea/textarea.stories.d.ts.map +1 -0
  695. package/dist/src/ui/components/data-entry/textarea/textarea.stories.js +167 -0
  696. package/dist/src/ui/components/data-entry/textarea/textarea.stories.js.map +1 -0
  697. package/dist/src/ui/components/data-entry/time-picker/index.js +1 -0
  698. package/dist/src/ui/components/data-entry/time-picker/index.js.map +1 -1
  699. package/dist/src/ui/components/data-entry/time-picker/subcomponents/time-selector.js +2 -2
  700. package/dist/src/ui/components/data-entry/time-picker/subcomponents/time-selector.js.map +1 -1
  701. package/dist/src/ui/components/data-entry/time-picker/subcomponents/use-time-selector.d.ts +2 -2
  702. package/dist/src/ui/components/data-entry/time-picker/subcomponents/use-time-selector.d.ts.map +1 -1
  703. package/dist/src/ui/components/data-entry/time-picker/time-picker.stories.d.ts +66 -0
  704. package/dist/src/ui/components/data-entry/time-picker/time-picker.stories.d.ts.map +1 -0
  705. package/dist/src/ui/components/data-entry/time-picker/time-picker.stories.js +228 -0
  706. package/dist/src/ui/components/data-entry/time-picker/time-picker.stories.js.map +1 -0
  707. package/dist/src/ui/components/data-entry/time-picker/time-picker.test.d.ts +2 -0
  708. package/dist/src/ui/components/data-entry/time-picker/time-picker.test.d.ts.map +1 -0
  709. package/dist/src/ui/components/data-entry/time-picker/time-picker.test.js +235 -0
  710. package/dist/src/ui/components/data-entry/time-picker/time-picker.test.js.map +1 -0
  711. package/dist/src/ui/components/data-entry/time-picker/utils.test.d.ts +2 -0
  712. package/dist/src/ui/components/data-entry/time-picker/utils.test.d.ts.map +1 -0
  713. package/dist/src/ui/components/data-entry/time-picker/utils.test.js +149 -0
  714. package/dist/src/ui/components/data-entry/time-picker/utils.test.js.map +1 -0
  715. package/dist/src/ui/components/data-entry/toggle/toggle-base.test.d.ts +2 -0
  716. package/dist/src/ui/components/data-entry/toggle/toggle-base.test.d.ts.map +1 -0
  717. package/dist/src/ui/components/data-entry/toggle/toggle-base.test.js +98 -0
  718. package/dist/src/ui/components/data-entry/toggle/toggle-base.test.js.map +1 -0
  719. package/dist/src/ui/components/data-entry/toggle/toggle.stories.d.ts +68 -0
  720. package/dist/src/ui/components/data-entry/toggle/toggle.stories.d.ts.map +1 -0
  721. package/dist/src/ui/components/data-entry/toggle/toggle.stories.js +131 -0
  722. package/dist/src/ui/components/data-entry/toggle/toggle.stories.js.map +1 -0
  723. package/dist/src/ui/components/data-entry/url-input/url-input.stories.d.ts +34 -0
  724. package/dist/src/ui/components/data-entry/url-input/url-input.stories.d.ts.map +1 -0
  725. package/dist/src/ui/components/data-entry/url-input/url-input.stories.js +156 -0
  726. package/dist/src/ui/components/data-entry/url-input/url-input.stories.js.map +1 -0
  727. package/dist/src/ui/components/data-entry/url-input/url-input.test.d.ts +2 -0
  728. package/dist/src/ui/components/data-entry/url-input/url-input.test.d.ts.map +1 -0
  729. package/dist/src/ui/components/data-entry/url-input/url-input.test.js +72 -0
  730. package/dist/src/ui/components/data-entry/url-input/url-input.test.js.map +1 -0
  731. package/dist/src/ui/components/dropdown/dropdown.stories.d.ts +169 -0
  732. package/dist/src/ui/components/dropdown/dropdown.stories.d.ts.map +1 -0
  733. package/dist/src/ui/components/dropdown/dropdown.stories.js +194 -0
  734. package/dist/src/ui/components/dropdown/dropdown.stories.js.map +1 -0
  735. package/dist/src/ui/components/icon/icon.stories.d.ts +16 -0
  736. package/dist/src/ui/components/icon/icon.stories.d.ts.map +1 -0
  737. package/dist/src/ui/components/icon/icon.stories.js +37 -0
  738. package/dist/src/ui/components/icon/icon.stories.js.map +1 -0
  739. package/dist/src/ui/components/icon/index.js +1 -0
  740. package/dist/src/ui/components/icon/index.js.map +1 -1
  741. package/dist/src/ui/components/sidebar/sidebar.stories.d.ts +147 -0
  742. package/dist/src/ui/components/sidebar/sidebar.stories.d.ts.map +1 -0
  743. package/dist/src/ui/components/sidebar/sidebar.stories.js +420 -0
  744. package/dist/src/ui/components/sidebar/sidebar.stories.js.map +1 -0
  745. package/dist/src/ui/components/sidebar/sidebar.test.d.ts +2 -0
  746. package/dist/src/ui/components/sidebar/sidebar.test.d.ts.map +1 -0
  747. package/dist/src/ui/components/sidebar/sidebar.test.js +357 -0
  748. package/dist/src/ui/components/sidebar/sidebar.test.js.map +1 -0
  749. package/dist/src/ui/components/sidebar/subcomponents/sidebar-item.d.ts.map +1 -1
  750. package/dist/src/ui/components/sidebar/subcomponents/sidebar-item.js +3 -1
  751. package/dist/src/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -1
  752. package/dist/src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts +1 -1
  753. package/dist/src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts.map +1 -1
  754. package/dist/src/ui/components/sidebar/subcomponents/status-icon.d.ts +1 -1
  755. package/dist/src/ui/components/sidebar/subcomponents/status-icon.d.ts.map +1 -1
  756. package/dist/src/ui/components/sidebar/use-sidebar-resize.d.ts +1 -1
  757. package/dist/src/ui/components/tooltip/tooltip.stories.d.ts +11 -0
  758. package/dist/src/ui/components/tooltip/tooltip.stories.d.ts.map +1 -0
  759. package/dist/src/ui/components/tooltip/tooltip.stories.js +87 -0
  760. package/dist/src/ui/components/tooltip/tooltip.stories.js.map +1 -0
  761. package/dist/src/ui/components/tooltip/tooltip.test.d.ts +2 -0
  762. package/dist/src/ui/components/tooltip/tooltip.test.d.ts.map +1 -0
  763. package/dist/src/ui/components/tooltip/tooltip.test.js +60 -0
  764. package/dist/src/ui/components/tooltip/tooltip.test.js.map +1 -0
  765. package/dist/style.css +19 -18
  766. package/dist/tsconfig.tsbuildinfo +1 -0
  767. package/dist/vitest.config.d.ts +3 -0
  768. package/dist/vitest.config.d.ts.map +1 -0
  769. package/dist/vitest.config.js +16 -0
  770. package/dist/vitest.config.js.map +1 -0
  771. package/package.json +90 -88
  772. package/dist/scripts/create-icon-components.d.ts +0 -2
  773. package/dist/scripts/create-icon-components.d.ts.map +0 -1
  774. package/dist/scripts/create-icon-components.js +0 -91
  775. package/dist/scripts/create-icon-components.js.map +0 -1
  776. package/dist/tsconfig.lib.tsbuildinfo +0 -1
@@ -0,0 +1,793 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
2
+ import { describe, expect, it } from 'vitest';
3
+ import { fireEvent } from '@testing-library/react';
4
+ import { createMockPerson, createTestTableConfig, renderTestTable } from './helpers/test-utils.js';
5
+ import { TablePage } from './page-objects/table.page.js';
6
+ describe('ObjectSetTable - Sorting', () => {
7
+ describe('Basic Sorting Functionality', () => {
8
+ it('should sort string column in ascending order', () => {
9
+ const sortableConfig = createTestTableConfig({
10
+ columns: [
11
+ {
12
+ field: 'firstName',
13
+ title: 'First Name',
14
+ type: 'string',
15
+ sortable: true,
16
+ },
17
+ {
18
+ field: 'status',
19
+ title: 'Status',
20
+ type: 'string',
21
+ sortable: true,
22
+ },
23
+ {
24
+ field: 'payment',
25
+ title: 'Payment',
26
+ type: 'number',
27
+ sortable: true,
28
+ },
29
+ ],
30
+ });
31
+ const renderResult = renderTestTable(sortableConfig);
32
+ const table = new TablePage(renderResult);
33
+ // Verify initial state - no sorting
34
+ expect(table.header.isColumnSorted(0)).toBe(false);
35
+ expect(table.header.getColumnSortDirection(0)).toBe(null);
36
+ // Click header to sort ascending (column 1 is First Name, column 0 is row number)
37
+ const headerCell = table.getHeaderCellByIndex(1);
38
+ expect(headerCell).toBeTruthy();
39
+ fireEvent.click(headerCell);
40
+ // Verify sorting state
41
+ expect(table.header.isColumnSorted(1)).toBe(true);
42
+ expect(table.header.getColumnSortDirection(1)).toBe('asc');
43
+ // Verify data is sorted alphabetically (column 1 is First Name)
44
+ expect(table.cell.getCellValue(0, 1)).toBe('Alex');
45
+ expect(table.cell.getCellValue(1, 1)).toBe('Alice');
46
+ expect(table.cell.getCellValue(2, 1)).toBe('Bob');
47
+ expect(table.cell.getCellValue(3, 1)).toBe('Diana');
48
+ expect(table.cell.getCellValue(4, 1)).toBe('Fiona');
49
+ });
50
+ it('should sort string column in descending order', () => {
51
+ const sortableConfig = createTestTableConfig({
52
+ columns: [
53
+ {
54
+ field: 'firstName',
55
+ title: 'First Name',
56
+ type: 'string',
57
+ sortable: true,
58
+ },
59
+ {
60
+ field: 'status',
61
+ title: 'Status',
62
+ type: 'string',
63
+ sortable: true,
64
+ },
65
+ {
66
+ field: 'payment',
67
+ title: 'Payment',
68
+ type: 'number',
69
+ sortable: true,
70
+ },
71
+ ],
72
+ });
73
+ const renderResult = renderTestTable(sortableConfig);
74
+ const table = new TablePage(renderResult);
75
+ // Click header twice to get descending order (column 1 is First Name)
76
+ const headerCell = table.getHeaderCellByIndex(1);
77
+ expect(headerCell).toBeTruthy();
78
+ fireEvent.click(headerCell); // First click: asc
79
+ fireEvent.click(headerCell); // Second click: desc
80
+ // Verify sorting state
81
+ expect(table.header.isColumnSorted(1)).toBe(true);
82
+ expect(table.header.getColumnSortDirection(1)).toBe('desc');
83
+ // Verify data is sorted in descending order (column 1 is First Name)
84
+ expect(table.cell.getCellValue(0, 1)).toBe('Fiona');
85
+ expect(table.cell.getCellValue(1, 1)).toBe('Diana');
86
+ expect(table.cell.getCellValue(2, 1)).toBe('Bob');
87
+ expect(table.cell.getCellValue(3, 1)).toBe('Alice');
88
+ expect(table.cell.getCellValue(4, 1)).toBe('Alex');
89
+ });
90
+ it('should clear sorting on third click', () => {
91
+ const sortableConfig = createTestTableConfig({
92
+ columns: [
93
+ {
94
+ field: 'firstName',
95
+ title: 'First Name',
96
+ type: 'string',
97
+ sortable: true,
98
+ },
99
+ {
100
+ field: 'status',
101
+ title: 'Status',
102
+ type: 'string',
103
+ sortable: true,
104
+ },
105
+ {
106
+ field: 'payment',
107
+ title: 'Payment',
108
+ type: 'number',
109
+ sortable: true,
110
+ },
111
+ ],
112
+ });
113
+ const renderResult = renderTestTable(sortableConfig);
114
+ const table = new TablePage(renderResult);
115
+ // Get original order (column 1 is First Name)
116
+ const originalOrder = table.cell.getColumnCells(1);
117
+ // Click header three times to cycle through: asc -> desc -> none (column 1 is First Name)
118
+ const headerCell = table.getHeaderCellByIndex(1);
119
+ expect(headerCell).toBeTruthy();
120
+ fireEvent.click(headerCell); // First click: asc
121
+ fireEvent.click(headerCell); // Second click: desc
122
+ fireEvent.click(headerCell); // Third click: none
123
+ // Verify sorting is cleared
124
+ expect(table.header.isColumnSorted(1)).toBe(false);
125
+ expect(table.header.getColumnSortDirection(1)).toBe(null);
126
+ // Verify data is back to original order (column 1 is First Name)
127
+ const currentOrder = table.cell.getColumnCells(1);
128
+ expect(currentOrder).toEqual(originalOrder);
129
+ });
130
+ it('should sort numeric column correctly', () => {
131
+ const sortableConfig = createTestTableConfig({
132
+ columns: [
133
+ {
134
+ field: 'firstName',
135
+ title: 'First Name',
136
+ type: 'string',
137
+ sortable: true,
138
+ },
139
+ {
140
+ field: 'payment',
141
+ title: 'Payment',
142
+ type: 'number',
143
+ sortable: true,
144
+ },
145
+ ],
146
+ });
147
+ const renderResult = renderTestTable(sortableConfig);
148
+ const table = new TablePage(renderResult);
149
+ // Click payment column header to sort ascending (column 2 is Payment)
150
+ const paymentHeaderCell = table.getHeaderCellByIndex(2);
151
+ expect(paymentHeaderCell).toBeTruthy();
152
+ fireEvent.click(paymentHeaderCell);
153
+ // Verify sorting state
154
+ expect(table.header.isColumnSorted(2)).toBe(true);
155
+ expect(table.header.getColumnSortDirection(2)).toBe('asc');
156
+ // Verify numeric data is sorted correctly (column 2 is Payment)
157
+ expect(table.cell.getCellValue(0, 2)).toBe('0');
158
+ expect(table.cell.getCellValue(1, 2)).toBe('15');
159
+ expect(table.cell.getCellValue(2, 2)).toBe('100');
160
+ expect(table.cell.getCellValue(3, 2)).toBe('14522');
161
+ expect(table.cell.getCellValue(4, 2)).toBe('1065460');
162
+ });
163
+ it('should sort numeric column in descending order', () => {
164
+ const sortableConfig = createTestTableConfig({
165
+ columns: [
166
+ {
167
+ field: 'firstName',
168
+ title: 'First Name',
169
+ type: 'string',
170
+ sortable: true,
171
+ },
172
+ {
173
+ field: 'payment',
174
+ title: 'Payment',
175
+ type: 'number',
176
+ sortable: true,
177
+ },
178
+ ],
179
+ });
180
+ const renderResult = renderTestTable(sortableConfig);
181
+ const table = new TablePage(renderResult);
182
+ // Click payment column header twice to sort descending (column 2 is Payment)
183
+ const paymentHeaderCell = table.getHeaderCellByIndex(2);
184
+ expect(paymentHeaderCell).toBeTruthy();
185
+ fireEvent.click(paymentHeaderCell); // First click: asc
186
+ fireEvent.click(paymentHeaderCell); // Second click: desc
187
+ // Verify sorting state
188
+ expect(table.header.isColumnSorted(2)).toBe(true);
189
+ expect(table.header.getColumnSortDirection(2)).toBe('desc');
190
+ // Verify numeric data is sorted in descending order (column 2 is Payment)
191
+ expect(table.cell.getCellValue(0, 2)).toBe('10234234230');
192
+ expect(table.cell.getCellValue(1, 2)).toBe('11231200');
193
+ expect(table.cell.getCellValue(2, 2)).toBe('1065460');
194
+ expect(table.cell.getCellValue(3, 2)).toBe('14522');
195
+ expect(table.cell.getCellValue(4, 2)).toBe('100');
196
+ });
197
+ });
198
+ describe('Sorting State Management', () => {
199
+ it('should switch sorting to different column', () => {
200
+ const sortableConfig = createTestTableConfig({
201
+ columns: [
202
+ {
203
+ field: 'firstName',
204
+ title: 'First Name',
205
+ type: 'string',
206
+ sortable: true,
207
+ },
208
+ {
209
+ field: 'status',
210
+ title: 'Status',
211
+ type: 'string',
212
+ sortable: true,
213
+ },
214
+ {
215
+ field: 'payment',
216
+ title: 'Payment',
217
+ type: 'number',
218
+ sortable: true,
219
+ },
220
+ ],
221
+ });
222
+ const renderResult = renderTestTable(sortableConfig);
223
+ const table = new TablePage(renderResult);
224
+ // Sort by firstName column (column 1 is First Name)
225
+ const firstNameHeader = table.getHeaderCellByIndex(1);
226
+ expect(firstNameHeader).toBeTruthy();
227
+ fireEvent.click(firstNameHeader);
228
+ // Verify firstName is sorted
229
+ expect(table.header.isColumnSorted(1)).toBe(true);
230
+ expect(table.header.getColumnSortDirection(1)).toBe('asc');
231
+ expect(table.header.isColumnSorted(2)).toBe(false);
232
+ // Sort by status column (column 2 is Status)
233
+ const statusHeader = table.getHeaderCellByIndex(2);
234
+ expect(statusHeader).toBeTruthy();
235
+ fireEvent.click(statusHeader);
236
+ // Verify status is now sorted and firstName is not
237
+ expect(table.header.isColumnSorted(1)).toBe(false);
238
+ expect(table.header.isColumnSorted(2)).toBe(true);
239
+ expect(table.header.getColumnSortDirection(2)).toBe('asc');
240
+ });
241
+ it('should maintain sort direction when switching columns', () => {
242
+ const sortableConfig = createTestTableConfig({
243
+ columns: [
244
+ {
245
+ field: 'firstName',
246
+ title: 'First Name',
247
+ type: 'string',
248
+ sortable: true,
249
+ },
250
+ {
251
+ field: 'status',
252
+ title: 'Status',
253
+ type: 'string',
254
+ sortable: true,
255
+ },
256
+ {
257
+ field: 'payment',
258
+ title: 'Payment',
259
+ type: 'number',
260
+ sortable: true,
261
+ },
262
+ ],
263
+ });
264
+ const renderResult = renderTestTable(sortableConfig);
265
+ const table = new TablePage(renderResult);
266
+ // Sort firstName column to descending (column 1 is First Name)
267
+ const firstNameHeader = table.getHeaderCellByIndex(1);
268
+ expect(firstNameHeader).toBeTruthy();
269
+ fireEvent.click(firstNameHeader); // asc
270
+ fireEvent.click(firstNameHeader); // desc
271
+ // Verify firstName is sorted descending
272
+ expect(table.header.isColumnSorted(1)).toBe(true);
273
+ expect(table.header.getColumnSortDirection(1)).toBe('desc');
274
+ // Switch to status column (column 2 is Status)
275
+ const statusHeader = table.getHeaderCellByIndex(2);
276
+ expect(statusHeader).toBeTruthy();
277
+ fireEvent.click(statusHeader);
278
+ // Verify status is sorted ascending (new column starts with asc)
279
+ expect(table.header.isColumnSorted(1)).toBe(false);
280
+ expect(table.header.isColumnSorted(2)).toBe(true);
281
+ expect(table.header.getColumnSortDirection(2)).toBe('asc');
282
+ });
283
+ it('should handle multiple column sorting interactions', () => {
284
+ const sortableConfig = createTestTableConfig({
285
+ columns: [
286
+ {
287
+ field: 'firstName',
288
+ title: 'First Name',
289
+ type: 'string',
290
+ sortable: true,
291
+ },
292
+ {
293
+ field: 'status',
294
+ title: 'Status',
295
+ type: 'string',
296
+ sortable: true,
297
+ },
298
+ {
299
+ field: 'payment',
300
+ title: 'Payment',
301
+ type: 'number',
302
+ sortable: true,
303
+ },
304
+ ],
305
+ });
306
+ const renderResult = renderTestTable(sortableConfig);
307
+ const table = new TablePage(renderResult);
308
+ // Sort by firstName (column 1 is First Name)
309
+ const firstNameHeader = table.getHeaderCellByIndex(1);
310
+ expect(firstNameHeader).toBeTruthy();
311
+ fireEvent.click(firstNameHeader);
312
+ expect(table.header.getColumnSortDirection(1)).toBe('asc');
313
+ // Sort by payment (column 3 is Payment)
314
+ const paymentHeader = table.getHeaderCellByIndex(3);
315
+ expect(paymentHeader).toBeTruthy();
316
+ fireEvent.click(paymentHeader);
317
+ expect(table.header.getColumnSortDirection(3)).toBe('asc');
318
+ expect(table.header.isColumnSorted(1)).toBe(false);
319
+ // Sort by status (column 2 is Status)
320
+ const statusHeader = table.getHeaderCellByIndex(2);
321
+ expect(statusHeader).toBeTruthy();
322
+ fireEvent.click(statusHeader);
323
+ expect(table.header.getColumnSortDirection(2)).toBe('asc');
324
+ expect(table.header.isColumnSorted(3)).toBe(false);
325
+ });
326
+ });
327
+ describe('Non-Sortable Columns', () => {
328
+ it('should not sort non-sortable columns', () => {
329
+ const mixedConfig = createTestTableConfig({
330
+ columns: [
331
+ {
332
+ field: 'firstName',
333
+ title: 'First Name',
334
+ type: 'string',
335
+ sortable: false,
336
+ },
337
+ {
338
+ field: 'status',
339
+ title: 'Status',
340
+ type: 'string',
341
+ sortable: true,
342
+ },
343
+ {
344
+ field: 'payment',
345
+ title: 'Payment',
346
+ type: 'number',
347
+ sortable: false,
348
+ },
349
+ ],
350
+ });
351
+ const renderResult = renderTestTable(mixedConfig);
352
+ const table = new TablePage(renderResult);
353
+ // Verify firstName column is not sortable (column 1 is First Name)
354
+ expect(table.header.isColumnSortable(1)).toBe(false);
355
+ expect(table.header.isColumnSorted(1)).toBe(false);
356
+ // Verify status column is sortable (column 2 is Status)
357
+ expect(table.header.isColumnSortable(2)).toBe(true);
358
+ // Try to click non-sortable column - should not change sorting
359
+ const firstNameHeader = table.getHeaderCellByIndex(1);
360
+ expect(firstNameHeader).toBeTruthy();
361
+ fireEvent.click(firstNameHeader);
362
+ // Verify no sorting occurred
363
+ expect(table.header.isColumnSorted(1)).toBe(false);
364
+ expect(table.header.getColumnSortDirection(1)).toBe(null);
365
+ });
366
+ it('should only allow sorting on sortable columns', () => {
367
+ const sortableConfig = createTestTableConfig({
368
+ columns: [
369
+ {
370
+ field: 'firstName',
371
+ title: 'First Name',
372
+ type: 'string',
373
+ sortable: true,
374
+ },
375
+ {
376
+ field: 'status',
377
+ title: 'Status',
378
+ type: 'string',
379
+ sortable: false,
380
+ },
381
+ {
382
+ field: 'payment',
383
+ title: 'Payment',
384
+ type: 'number',
385
+ sortable: true,
386
+ },
387
+ ],
388
+ });
389
+ const renderResult = renderTestTable(sortableConfig);
390
+ const table = new TablePage(renderResult);
391
+ // Verify sortable columns
392
+ expect(table.header.isColumnSortable(1)).toBe(true); // firstName
393
+ expect(table.header.isColumnSortable(2)).toBe(false); // status
394
+ expect(table.header.isColumnSortable(3)).toBe(true); // payment
395
+ // Sort by sortable column
396
+ const firstNameHeader = table.getHeaderCellByIndex(1);
397
+ expect(firstNameHeader).toBeTruthy();
398
+ fireEvent.click(firstNameHeader);
399
+ expect(table.header.isColumnSorted(1)).toBe(true);
400
+ // Try to sort non-sortable column
401
+ const statusHeader = table.getHeaderCellByIndex(2);
402
+ expect(statusHeader).toBeTruthy();
403
+ fireEvent.click(statusHeader);
404
+ // Verify firstName is still sorted
405
+ expect(table.header.isColumnSorted(1)).toBe(true);
406
+ expect(table.header.isColumnSorted(2)).toBe(false);
407
+ });
408
+ });
409
+ describe('Null and Empty Value Handling', () => {
410
+ it('should handle null values in sortable columns', () => {
411
+ const sortableConfig = createTestTableConfig({
412
+ columns: [
413
+ {
414
+ field: 'firstName',
415
+ title: 'First Name',
416
+ type: 'string',
417
+ sortable: true,
418
+ },
419
+ {
420
+ field: 'status',
421
+ title: 'Status',
422
+ type: 'string',
423
+ sortable: true,
424
+ },
425
+ ],
426
+ });
427
+ const renderResult = renderTestTable(sortableConfig);
428
+ const table = new TablePage(renderResult);
429
+ // Sort firstName column ascending (column 1 is First Name)
430
+ const firstNameHeader = table.getHeaderCellByIndex(1);
431
+ expect(firstNameHeader).toBeTruthy();
432
+ fireEvent.click(firstNameHeader);
433
+ // Verify null values are placed at the end
434
+ const firstNameValues = table.cell.getColumnCells(1);
435
+ const nullValueIndices = firstNameValues
436
+ .map((value, index) => (value === '' ? index : -1))
437
+ .filter((index) => index !== -1);
438
+ // Null values should be at the end
439
+ expect(nullValueIndices.length).toBeGreaterThan(0);
440
+ const maxNullIndex = Math.max(...nullValueIndices);
441
+ const minNonNullIndex = Math.min(...firstNameValues
442
+ .map((value, index) => (value !== '' ? index : Infinity))
443
+ .filter((index) => index !== Infinity));
444
+ expect(maxNullIndex).toBeGreaterThan(minNonNullIndex);
445
+ });
446
+ it('should handle empty strings in sortable columns', () => {
447
+ const customData = [
448
+ createMockPerson({ firstName: 'Alice' }),
449
+ createMockPerson({ firstName: '' }),
450
+ createMockPerson({ firstName: 'Bob' }),
451
+ createMockPerson({ firstName: null }),
452
+ createMockPerson({ firstName: 'Charlie' }),
453
+ ];
454
+ const sortableConfig = createTestTableConfig({
455
+ columns: [
456
+ {
457
+ field: 'firstName',
458
+ title: 'First Name',
459
+ type: 'string',
460
+ sortable: true,
461
+ },
462
+ ],
463
+ data: customData,
464
+ });
465
+ const renderResult = renderTestTable(sortableConfig);
466
+ const table = new TablePage(renderResult);
467
+ // Sort firstName column ascending (column 1 is First Name)
468
+ const firstNameHeader = table.getHeaderCellByIndex(1);
469
+ expect(firstNameHeader).toBeTruthy();
470
+ fireEvent.click(firstNameHeader);
471
+ // Verify empty and null values are handled correctly
472
+ const firstNameValues = table.cell.getColumnCells(1);
473
+ // Empty strings are placed at the beginning when sorting ascending
474
+ expect(firstNameValues[0]).toBe('');
475
+ expect(firstNameValues[1]).toBe('Alice');
476
+ expect(firstNameValues[2]).toBe('Bob');
477
+ expect(firstNameValues[3]).toBe('Charlie');
478
+ expect(firstNameValues[4]).toBe('');
479
+ });
480
+ });
481
+ describe('Custom Sorting Configuration', () => {
482
+ it('should work with custom sortable configuration', () => {
483
+ const customSortableConfig = createTestTableConfig({
484
+ columns: [
485
+ {
486
+ field: 'firstName',
487
+ title: 'First Name',
488
+ type: 'string',
489
+ sortable: true,
490
+ },
491
+ {
492
+ field: 'status',
493
+ title: 'Status',
494
+ type: 'string',
495
+ sortable: true,
496
+ },
497
+ {
498
+ field: 'payment',
499
+ title: 'Payment',
500
+ type: 'number',
501
+ sortable: true,
502
+ },
503
+ ],
504
+ });
505
+ const renderResult = renderTestTable(customSortableConfig);
506
+ const table = new TablePage(renderResult);
507
+ // Verify all columns are sortable
508
+ expect(table.header.isColumnSortable(1)).toBe(true); // firstName
509
+ expect(table.header.isColumnSortable(2)).toBe(true); // status
510
+ expect(table.header.isColumnSortable(3)).toBe(true); // payment
511
+ // Test sorting each column
512
+ const firstNameHeader = table.getHeaderCellByIndex(1);
513
+ expect(firstNameHeader).toBeTruthy();
514
+ fireEvent.click(firstNameHeader);
515
+ expect(table.header.getColumnSortDirection(1)).toBe('asc');
516
+ const statusHeader = table.getHeaderCellByIndex(2);
517
+ expect(statusHeader).toBeTruthy();
518
+ fireEvent.click(statusHeader);
519
+ expect(table.header.getColumnSortDirection(2)).toBe('asc');
520
+ expect(table.header.isColumnSorted(1)).toBe(false);
521
+ const paymentHeader = table.getHeaderCellByIndex(3);
522
+ expect(paymentHeader).toBeTruthy();
523
+ fireEvent.click(paymentHeader);
524
+ expect(table.header.getColumnSortDirection(3)).toBe('asc');
525
+ expect(table.header.isColumnSorted(2)).toBe(false);
526
+ });
527
+ it('should handle mixed sortable and non-sortable columns', () => {
528
+ const mixedConfig = createTestTableConfig({
529
+ columns: [
530
+ {
531
+ field: 'firstName',
532
+ title: 'First Name',
533
+ type: 'string',
534
+ sortable: true,
535
+ },
536
+ {
537
+ field: 'status',
538
+ title: 'Status',
539
+ type: 'string',
540
+ sortable: false,
541
+ },
542
+ {
543
+ field: 'payment',
544
+ title: 'Payment',
545
+ type: 'number',
546
+ sortable: true,
547
+ },
548
+ {
549
+ field: 'email',
550
+ title: 'Email',
551
+ type: 'string',
552
+ sortable: false,
553
+ },
554
+ ],
555
+ });
556
+ const renderResult = renderTestTable(mixedConfig);
557
+ const table = new TablePage(renderResult);
558
+ // Verify sortable columns
559
+ expect(table.header.isColumnSortable(1)).toBe(true); // firstName
560
+ expect(table.header.isColumnSortable(2)).toBe(false); // status
561
+ expect(table.header.isColumnSortable(3)).toBe(true); // payment
562
+ expect(table.header.isColumnSortable(4)).toBe(false); // email
563
+ // Sort by sortable columns only
564
+ const firstNameHeader = table.getHeaderCellByIndex(1);
565
+ expect(firstNameHeader).toBeTruthy();
566
+ fireEvent.click(firstNameHeader);
567
+ expect(table.header.isColumnSorted(1)).toBe(true);
568
+ const paymentHeader = table.getHeaderCellByIndex(3);
569
+ expect(paymentHeader).toBeTruthy();
570
+ fireEvent.click(paymentHeader);
571
+ expect(table.header.isColumnSorted(3)).toBe(true);
572
+ expect(table.header.isColumnSorted(1)).toBe(false);
573
+ });
574
+ });
575
+ describe('Edge Cases', () => {
576
+ it('should handle sorting with single row', () => {
577
+ const singleRowData = [createMockPerson({ firstName: 'Single User' })];
578
+ const sortableConfig = createTestTableConfig({
579
+ columns: [
580
+ {
581
+ field: 'firstName',
582
+ title: 'First Name',
583
+ type: 'string',
584
+ sortable: true,
585
+ },
586
+ {
587
+ field: 'payment',
588
+ title: 'Payment',
589
+ type: 'number',
590
+ sortable: true,
591
+ },
592
+ ],
593
+ data: singleRowData,
594
+ });
595
+ const renderResult = renderTestTable(sortableConfig);
596
+ const table = new TablePage(renderResult);
597
+ // Sort by firstName (column 1 is First Name)
598
+ const firstNameHeader = table.getHeaderCellByIndex(1);
599
+ expect(firstNameHeader).toBeTruthy();
600
+ fireEvent.click(firstNameHeader);
601
+ // Verify sorting works with single row
602
+ expect(table.header.isColumnSorted(1)).toBe(true);
603
+ expect(table.header.getColumnSortDirection(1)).toBe('asc');
604
+ expect(table.cell.getCellValue(0, 1)).toBe('Single User');
605
+ });
606
+ it('should handle sorting with empty data', () => {
607
+ const sortableConfig = createTestTableConfig({
608
+ columns: [
609
+ {
610
+ field: 'firstName',
611
+ title: 'First Name',
612
+ type: 'string',
613
+ sortable: true,
614
+ },
615
+ {
616
+ field: 'payment',
617
+ title: 'Payment',
618
+ type: 'number',
619
+ sortable: true,
620
+ },
621
+ ],
622
+ data: [],
623
+ });
624
+ const renderResult = renderTestTable(sortableConfig);
625
+ const table = new TablePage(renderResult);
626
+ // Try to sort with no data (column 1 is First Name)
627
+ const firstNameHeader = table.getHeaderCellByIndex(1);
628
+ expect(firstNameHeader).toBeTruthy();
629
+ fireEvent.click(firstNameHeader);
630
+ // Verify sorting state is set even with no data
631
+ expect(table.header.isColumnSorted(1)).toBe(true);
632
+ expect(table.header.getColumnSortDirection(1)).toBe('asc');
633
+ expect(table.getRowCount()).toBe(0);
634
+ });
635
+ it('should handle rapid sorting changes', () => {
636
+ const sortableConfig = createTestTableConfig({
637
+ columns: [
638
+ {
639
+ field: 'firstName',
640
+ title: 'First Name',
641
+ type: 'string',
642
+ sortable: true,
643
+ },
644
+ {
645
+ field: 'status',
646
+ title: 'Status',
647
+ type: 'string',
648
+ sortable: true,
649
+ },
650
+ {
651
+ field: 'payment',
652
+ title: 'Payment',
653
+ type: 'number',
654
+ sortable: true,
655
+ },
656
+ ],
657
+ });
658
+ const renderResult = renderTestTable(sortableConfig);
659
+ const table = new TablePage(renderResult);
660
+ // Rapidly click different headers
661
+ const firstNameHeader = table.getHeaderCellByIndex(1);
662
+ const statusHeader = table.getHeaderCellByIndex(2);
663
+ const paymentHeader = table.getHeaderCellByIndex(3);
664
+ expect(firstNameHeader).toBeTruthy();
665
+ expect(statusHeader).toBeTruthy();
666
+ expect(paymentHeader).toBeTruthy();
667
+ fireEvent.click(firstNameHeader);
668
+ fireEvent.click(statusHeader);
669
+ fireEvent.click(paymentHeader);
670
+ // Verify only the last clicked column is sorted
671
+ expect(table.header.isColumnSorted(1)).toBe(false);
672
+ expect(table.header.isColumnSorted(2)).toBe(false);
673
+ expect(table.header.isColumnSorted(3)).toBe(true);
674
+ expect(table.header.getColumnSortDirection(3)).toBe('asc');
675
+ });
676
+ it('should handle sorting with duplicate values', () => {
677
+ const duplicateData = [
678
+ createMockPerson({ firstName: 'Alice', payment: 100 }),
679
+ createMockPerson({ firstName: 'Bob', payment: 100 }),
680
+ createMockPerson({ firstName: 'Charlie', payment: 200 }),
681
+ createMockPerson({ firstName: 'Alice', payment: 150 }),
682
+ ];
683
+ const sortableConfig = createTestTableConfig({
684
+ columns: [
685
+ {
686
+ field: 'firstName',
687
+ title: 'First Name',
688
+ type: 'string',
689
+ sortable: true,
690
+ },
691
+ {
692
+ field: 'payment',
693
+ title: 'Payment',
694
+ type: 'number',
695
+ sortable: true,
696
+ },
697
+ ],
698
+ data: duplicateData,
699
+ });
700
+ const renderResult = renderTestTable(sortableConfig);
701
+ const table = new TablePage(renderResult);
702
+ // Sort by firstName with duplicates (column 1 is First Name)
703
+ const firstNameHeader = table.getHeaderCellByIndex(1);
704
+ expect(firstNameHeader).toBeTruthy();
705
+ fireEvent.click(firstNameHeader);
706
+ // Verify sorting handles duplicates correctly
707
+ expect(table.header.isColumnSorted(1)).toBe(true);
708
+ expect(table.header.getColumnSortDirection(1)).toBe('asc');
709
+ const firstNameValues = table.cell.getColumnCells(1);
710
+ expect(firstNameValues[0]).toBe('Alice');
711
+ expect(firstNameValues[1]).toBe('Alice');
712
+ expect(firstNameValues[2]).toBe('Bob');
713
+ expect(firstNameValues[3]).toBe('Charlie');
714
+ });
715
+ });
716
+ describe('Visual Indicators', () => {
717
+ it('should show sort indicators on sortable columns', () => {
718
+ const sortableConfig = createTestTableConfig({
719
+ columns: [
720
+ {
721
+ field: 'firstName',
722
+ title: 'First Name',
723
+ type: 'string',
724
+ sortable: true,
725
+ },
726
+ {
727
+ field: 'status',
728
+ title: 'Status',
729
+ type: 'string',
730
+ sortable: false,
731
+ },
732
+ {
733
+ field: 'payment',
734
+ title: 'Payment',
735
+ type: 'number',
736
+ sortable: true,
737
+ },
738
+ ],
739
+ });
740
+ const renderResult = renderTestTable(sortableConfig);
741
+ const table = new TablePage(renderResult);
742
+ // Verify sortable columns have sort indicators
743
+ expect(table.header.isColumnSortable(1)).toBe(true); // firstName
744
+ expect(table.header.isColumnSortable(2)).toBe(false); // status
745
+ expect(table.header.isColumnSortable(3)).toBe(true); // payment
746
+ // Sort a column and verify visual state
747
+ const firstNameHeader = table.getHeaderCellByIndex(1);
748
+ expect(firstNameHeader).toBeTruthy();
749
+ fireEvent.click(firstNameHeader);
750
+ expect(table.header.isColumnSorted(1)).toBe(true);
751
+ expect(table.header.getColumnSortDirection(1)).toBe('asc');
752
+ });
753
+ it('should update sort indicators when sorting changes', () => {
754
+ const sortableConfig = createTestTableConfig({
755
+ columns: [
756
+ {
757
+ field: 'firstName',
758
+ title: 'First Name',
759
+ type: 'string',
760
+ sortable: true,
761
+ },
762
+ {
763
+ field: 'status',
764
+ title: 'Status',
765
+ type: 'string',
766
+ sortable: true,
767
+ },
768
+ ],
769
+ });
770
+ const renderResult = renderTestTable(sortableConfig);
771
+ const table = new TablePage(renderResult);
772
+ // Initial state - no sorting
773
+ expect(table.header.isColumnSorted(1)).toBe(false);
774
+ expect(table.header.isColumnSorted(2)).toBe(false);
775
+ // Sort firstName ascending (column 1 is First Name)
776
+ const firstNameHeader = table.getHeaderCellByIndex(1);
777
+ expect(firstNameHeader).toBeTruthy();
778
+ fireEvent.click(firstNameHeader);
779
+ expect(table.header.isColumnSorted(1)).toBe(true);
780
+ expect(table.header.getColumnSortDirection(1)).toBe('asc');
781
+ expect(table.header.isColumnSorted(2)).toBe(false);
782
+ // Sort firstName descending
783
+ fireEvent.click(firstNameHeader);
784
+ expect(table.header.isColumnSorted(1)).toBe(true);
785
+ expect(table.header.getColumnSortDirection(1)).toBe('desc');
786
+ // Clear sorting
787
+ fireEvent.click(firstNameHeader);
788
+ expect(table.header.isColumnSorted(1)).toBe(false);
789
+ expect(table.header.getColumnSortDirection(1)).toBe(null);
790
+ });
791
+ });
792
+ });
793
+ //# sourceMappingURL=sorting.test.js.map