@public-ui/sample-react 3.0.8-rc.0 → 3.0.8-rc.2

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 (441) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/Alert-_tq2FoQ5-C1jHNIsn.js +2 -0
  3. package/dist/assets/{Alert-hN9U8sSE-CAO5y8BU.js.map → Alert-_tq2FoQ5-C1jHNIsn.js.map} +1 -1
  4. package/dist/assets/Collapsible-CDwlCzFc-BJkAAwIm.js +2 -0
  5. package/dist/assets/{Collapsible-C93hvY9L-DbJ699_0.js.map → Collapsible-CDwlCzFc-BJkAAwIm.js.map} +1 -1
  6. package/dist/assets/CustomSuggestionsOptionsGroup-tYcs0PjI-CsqAr_N-.js +2 -0
  7. package/dist/assets/CustomSuggestionsOptionsGroup-tYcs0PjI-CsqAr_N-.js.map +1 -0
  8. package/dist/assets/FieldControlStateWrapper-DPS47DdW-DKvRNw11.js +2 -0
  9. package/dist/assets/{FieldControlStateWrapper-D428HqUZ-CK28Nbyg.js.map → FieldControlStateWrapper-DPS47DdW-DKvRNw11.js.map} +1 -1
  10. package/dist/assets/FormFieldStateWrapper-CXX3L-J--DRs0eOw7.js +2 -0
  11. package/dist/assets/FormFieldStateWrapper-CXX3L-J--DRs0eOw7.js.map +1 -0
  12. package/dist/assets/Heading-ClMNjISM-CgG5k5qN.js +2 -0
  13. package/dist/assets/{Heading-BjokntSX-BzC5q6FG.js.map → Heading-ClMNjISM-CgG5k5qN.js.map} +1 -1
  14. package/dist/assets/Icon-DbAAa0Pk-Bzk6m_XY.js +2 -0
  15. package/dist/assets/Icon-DbAAa0Pk-Bzk6m_XY.js.map +1 -0
  16. package/dist/assets/Input-BeGyOfuS-DWLh7l-3.js +2 -0
  17. package/dist/assets/{Input-DAqsRj-i-CJFl9uCx.js.map → Input-BeGyOfuS-DWLh7l-3.js.map} +1 -1
  18. package/dist/assets/InputStateWrapper-DhEnE4BK-DtYr-2kk.js +2 -0
  19. package/dist/assets/{InputStateWrapper-DcMj4qzd-_AHD8o6q.js.map → InputStateWrapper-DhEnE4BK-DtYr-2kk.js.map} +1 -1
  20. package/dist/assets/InternalUnderlinedBadgeText-DoYMr6GR-BA3snmms.js +2 -0
  21. package/dist/assets/{InternalUnderlinedBadgeText-DHIFD3pP-H9orIfPs.js.map → InternalUnderlinedBadgeText-DoYMr6GR-BA3snmms.js.map} +1 -1
  22. package/dist/assets/Span-B8GtyhT--Udo4oazi.js +2 -0
  23. package/dist/assets/{Span-B3tZSiPO-ypX6vdWJ.js.map → Span-B8GtyhT--Udo4oazi.js.map} +1 -1
  24. package/dist/assets/access-and-short-key-B37XLwy2-De__J-zl.js +2 -0
  25. package/dist/assets/{access-and-short-key-bcID78Ha-xFWEP807.js.map → access-and-short-key-B37XLwy2-De__J-zl.js.map} +1 -1
  26. package/dist/assets/align-D-ifSKu8-m7uQ8kL7.js +2 -0
  27. package/dist/assets/{align-CyK0wp7d-haYkKGoN.js.map → align-D-ifSKu8-m7uQ8kL7.js.map} +1 -1
  28. package/dist/assets/align-floating-elements-BkpeqvtE-CcAAx6MR.js +2 -0
  29. package/dist/assets/{align-floating-elements-Bx4ukVlr-ZC76iw7l.js.map → align-floating-elements-BkpeqvtE-CcAAx6MR.js.map} +1 -1
  30. package/dist/assets/associated.controller-ByY2WiIp-CjYpfkJI.js +2 -0
  31. package/dist/assets/{associated.controller-BKIODHIT-De4anNGk.js.map → associated.controller-ByY2WiIp-CjYpfkJI.js.map} +1 -1
  32. package/dist/assets/auto-complete-mCkUnxg2-BGSYdXqz.js +2 -0
  33. package/dist/assets/auto-complete-mCkUnxg2-BGSYdXqz.js.map +1 -0
  34. package/dist/assets/clsx-eK3rPvPS-B-dksMZM.js +2 -0
  35. package/dist/assets/clsx-eK3rPvPS-B-dksMZM.js.map +1 -0
  36. package/dist/assets/color-BOIEtqEM-RWCxOMKL.js +2 -0
  37. package/dist/assets/{color-C3pYZKV3-rtpPdWMn.js.map → color-BOIEtqEM-RWCxOMKL.js.map} +1 -1
  38. package/dist/assets/controller-C5Ill7ej-DE5g-KDp.js +2 -0
  39. package/dist/assets/{controller-B9N11jWX-Ci2uNJmk.js.map → controller-C5Ill7ej-DE5g-KDp.js.map} +1 -1
  40. package/dist/assets/controller-Cxj0GMIA-PVv4YdX9.js +2 -0
  41. package/dist/assets/{controller-gm4Pjz_4-B_Bv4uU9.js.map → controller-Cxj0GMIA-PVv4YdX9.js.map} +1 -1
  42. package/dist/assets/controller-DdswdfgO-DW0S6gXk.js +2 -0
  43. package/dist/assets/{controller-CoyKbMdh-D9KS0etF.js.map → controller-DdswdfgO-DW0S6gXk.js.map} +1 -1
  44. package/dist/assets/controller-icon-DIQMFP0b-C_n_kwj4.js +2 -0
  45. package/dist/assets/controller-icon-DIQMFP0b-C_n_kwj4.js.map +1 -0
  46. package/dist/assets/controller-xTkXmOlE-CCwLeoT0.js +2 -0
  47. package/dist/assets/{controller-BepWdG0L-C09WtOG2.js.map → controller-xTkXmOlE-CCwLeoT0.js.map} +1 -1
  48. package/dist/assets/custom-class-nuoQ9Aml-CTIH156Q.js +2 -0
  49. package/dist/assets/custom-class-nuoQ9Aml-CTIH156Q.js.map +1 -0
  50. package/dist/assets/{dev.utils-Dv-mTlC2-CczNBjzu.js → dev.utils-Cn_6kyQ0-n4725Gnv.js} +2 -4
  51. package/dist/assets/{dev.utils-Dv-mTlC2-CczNBjzu.js.map → dev.utils-Cn_6kyQ0-n4725Gnv.js.map} +1 -1
  52. package/dist/assets/devtools-COtKdu8_-DWZP7Jpv.js +14 -0
  53. package/dist/assets/{devtools-SJBY2ZK5-DAFpHK2r.js.map → devtools-COtKdu8_-DWZP7Jpv.js.map} +1 -1
  54. package/dist/assets/disabled-BhpAFgSp-Bd8kdBI3.js +2 -0
  55. package/dist/assets/disabled-BhpAFgSp-Bd8kdBI3.js.map +1 -0
  56. package/dist/assets/has-closer-CQzjaTkv-sN6_yR5U.js +2 -0
  57. package/dist/assets/has-closer-CQzjaTkv-sN6_yR5U.js.map +1 -0
  58. package/dist/assets/hide-label-B9FhGrWP-Bvjly7dM.js +2 -0
  59. package/dist/assets/hide-label-B9FhGrWP-Bvjly7dM.js.map +1 -0
  60. package/dist/assets/href-rwDd36rS-SKQVKuzD.js +2 -0
  61. package/dist/assets/href-rwDd36rS-SKQVKuzD.js.map +1 -0
  62. package/dist/assets/i18n-C5ifExT3-DAcY3F-T.js +2 -0
  63. package/dist/assets/i18n-C5ifExT3-DAcY3F-T.js.map +1 -0
  64. package/dist/assets/icons-B5i9zwjJ-DHsM9jX2.js +2 -0
  65. package/dist/assets/{icons-72ER78AW-ZMq9m8Iz.js.map → icons-B5i9zwjJ-DHsM9jX2.js.map} +1 -1
  66. package/dist/assets/image-source-BfBEJ0rX-CgjwcmPn.js +2 -0
  67. package/dist/assets/image-source-BfBEJ0rX-CgjwcmPn.js.map +1 -0
  68. package/dist/assets/index-BuTEZuln.js +22385 -0
  69. package/dist/assets/index-BuTEZuln.js.map +1 -0
  70. package/dist/assets/index-DRMfGBas.css +1 -0
  71. package/dist/assets/isObject-DvSELytj-DhzEQer1.js +2 -0
  72. package/dist/assets/{isObject-DvSELytj-B0RigBxT.js.map → isObject-DvSELytj-DhzEQer1.js.map} +1 -1
  73. package/dist/assets/keyboard-D6PoWr38-BGYQJqo4.js +2 -0
  74. package/dist/assets/{keyboard-D6PoWr38-Bn_Qh8Bq.js.map → keyboard-D6PoWr38-BGYQJqo4.js.map} +1 -1
  75. package/dist/assets/{kol-abbr.entry-DKlcYi-5.js → kol-abbr.entry-Ca98NmwE.js} +36 -19
  76. package/dist/assets/{kol-abbr.entry-DKlcYi-5.js.map → kol-abbr.entry-Ca98NmwE.js.map} +1 -1
  77. package/dist/assets/{kol-accordion.entry-CxRK96Hy.js → kol-accordion.entry-CVj1ttdc.js} +28 -23
  78. package/dist/assets/kol-accordion.entry-CVj1ttdc.js.map +1 -0
  79. package/dist/assets/kol-alert-wc.entry-DKWmTbsy.js +2 -0
  80. package/dist/assets/{kol-alert-wc.entry-CzMk9mto.js.map → kol-alert-wc.entry-DKWmTbsy.js.map} +1 -1
  81. package/dist/assets/{kol-alert.entry-Dke4t1Ea.js → kol-alert.entry-Dd8hC8Eo.js} +35 -18
  82. package/dist/assets/{kol-alert.entry-Dke4t1Ea.js.map → kol-alert.entry-Dd8hC8Eo.js.map} +1 -1
  83. package/dist/assets/kol-avatar-wc.entry-BMzt_h0u.js +2 -0
  84. package/dist/assets/kol-avatar-wc.entry-BMzt_h0u.js.map +1 -0
  85. package/dist/assets/{kol-avatar.entry-o0fHklqz.js → kol-avatar.entry-BLxTJQeK.js} +9 -9
  86. package/dist/assets/{kol-avatar.entry-o0fHklqz.js.map → kol-avatar.entry-BLxTJQeK.js.map} +1 -1
  87. package/dist/assets/{kol-badge.entry-CFc5ayoT.js → kol-badge.entry-tgnBfo7R.js} +36 -19
  88. package/dist/assets/kol-badge.entry-tgnBfo7R.js.map +1 -0
  89. package/dist/assets/{kol-breadcrumb.entry-CII6kloY.js → kol-breadcrumb.entry-BddiExwe.js} +39 -22
  90. package/dist/assets/kol-breadcrumb.entry-BddiExwe.js.map +1 -0
  91. package/dist/assets/{kol-button-link.entry-DrwQRQer.js → kol-button-link.entry-DEK1d0qR.js} +39 -22
  92. package/dist/assets/kol-button-link.entry-DEK1d0qR.js.map +1 -0
  93. package/dist/assets/kol-button-wc.entry-C8yV6jGM.js +2 -0
  94. package/dist/assets/kol-button-wc.entry-C8yV6jGM.js.map +1 -0
  95. package/dist/assets/{kol-button.entry-DklhZ761.js → kol-button.entry-qE0k3ZTb.js} +36 -22
  96. package/dist/assets/{kol-button.entry-DklhZ761.js.map → kol-button.entry-qE0k3ZTb.js.map} +1 -1
  97. package/dist/assets/kol-card-wc.entry-C-z4BIVN.js +2 -0
  98. package/dist/assets/kol-card-wc.entry-C-z4BIVN.js.map +1 -0
  99. package/dist/assets/{kol-card.entry-CZjJq_l3.js → kol-card.entry-B2kwvfXi.js} +36 -19
  100. package/dist/assets/{kol-card.entry-CZjJq_l3.js.map → kol-card.entry-B2kwvfXi.js.map} +1 -1
  101. package/dist/assets/kol-combobox.entry-Ze0RcIoZ.js +383 -0
  102. package/dist/assets/kol-combobox.entry-Ze0RcIoZ.js.map +1 -0
  103. package/dist/assets/{kol-details.entry-Bu866gXr.js → kol-details.entry-J9bgzUpd.js} +28 -23
  104. package/dist/assets/kol-details.entry-J9bgzUpd.js.map +1 -0
  105. package/dist/assets/{kol-drawer.entry-CEcMq8uW.js → kol-drawer.entry-DxZK9jjV.js} +36 -19
  106. package/dist/assets/kol-drawer.entry-DxZK9jjV.js.map +1 -0
  107. package/dist/assets/{kol-form.entry-CXKlGUqi.js → kol-form.entry-ri3O2a-x.js} +39 -22
  108. package/dist/assets/kol-form.entry-ri3O2a-x.js.map +1 -0
  109. package/dist/assets/{kol-heading.entry-CN8Kw6Xg.js → kol-heading.entry-DMHhD9v6.js} +8 -8
  110. package/dist/assets/{kol-heading.entry-CN8Kw6Xg.js.map → kol-heading.entry-DMHhD9v6.js.map} +1 -1
  111. package/dist/assets/{kol-icon.entry-IVxMzpX5.js → kol-icon.entry-CTApNM6n.js} +3 -5
  112. package/dist/assets/{kol-icon.entry-IVxMzpX5.js.map → kol-icon.entry-CTApNM6n.js.map} +1 -1
  113. package/dist/assets/{kol-image.entry-0pxIQqIq.js → kol-image.entry-B_QL-YCn.js} +8 -8
  114. package/dist/assets/{kol-image.entry-0pxIQqIq.js.map → kol-image.entry-B_QL-YCn.js.map} +1 -1
  115. package/dist/assets/{kol-input-checkbox.entry-CDGAwOZ9.js → kol-input-checkbox.entry-BsatM7mL.js} +36 -19
  116. package/dist/assets/kol-input-checkbox.entry-BsatM7mL.js.map +1 -0
  117. package/dist/assets/{kol-input-color.entry-CRcY9Vsc.js → kol-input-color.entry-xmUhxMU2.js} +36 -19
  118. package/dist/assets/kol-input-color.entry-xmUhxMU2.js.map +1 -0
  119. package/dist/assets/kol-input-date.entry-Dw0xWCQQ.js +359 -0
  120. package/dist/assets/kol-input-date.entry-Dw0xWCQQ.js.map +1 -0
  121. package/dist/assets/{kol-input-email.entry-BVsx4KUS.js → kol-input-email.entry-BGNAeaQS.js} +36 -19
  122. package/dist/assets/kol-input-email.entry-BGNAeaQS.js.map +1 -0
  123. package/dist/assets/{kol-input-file.entry-COeh7KJX.js → kol-input-file.entry-DeWIxtal.js} +36 -19
  124. package/dist/assets/kol-input-file.entry-DeWIxtal.js.map +1 -0
  125. package/dist/assets/{kol-input-number.entry-BT3xAUUD.js → kol-input-number.entry-DiDWqAVo.js} +36 -19
  126. package/dist/assets/kol-input-number.entry-DiDWqAVo.js.map +1 -0
  127. package/dist/assets/{kol-input-password.entry-DkOmf7BI.js → kol-input-password.entry-CpUEHo7Z.js} +36 -19
  128. package/dist/assets/kol-input-password.entry-CpUEHo7Z.js.map +1 -0
  129. package/dist/assets/{kol-input-radio.entry-ubyLttQ6.js → kol-input-radio.entry-jw_C092O.js} +36 -19
  130. package/dist/assets/kol-input-radio.entry-jw_C092O.js.map +1 -0
  131. package/dist/assets/{kol-input-range.entry-CoT6EXkp.js → kol-input-range.entry-Cl-5Hp_h.js} +42 -25
  132. package/dist/assets/kol-input-range.entry-Cl-5Hp_h.js.map +1 -0
  133. package/dist/assets/{kol-input-text.entry-CUxUvMsS.js → kol-input-text.entry-DnIDHhSG.js} +36 -19
  134. package/dist/assets/kol-input-text.entry-DnIDHhSG.js.map +1 -0
  135. package/dist/assets/{kol-kolibri.entry-rR3mSkws.js → kol-kolibri.entry-DoCsfU3f.js} +8 -8
  136. package/dist/assets/kol-kolibri.entry-DoCsfU3f.js.map +1 -0
  137. package/dist/assets/{kol-link-button.entry-4tXz28YR.js → kol-link-button.entry-6eYTrbuk.js} +36 -22
  138. package/dist/assets/{kol-link-button.entry-4tXz28YR.js.map → kol-link-button.entry-6eYTrbuk.js.map} +1 -1
  139. package/dist/assets/kol-link-wc.entry-D_hKlnQV.js +2 -0
  140. package/dist/assets/kol-link-wc.entry-D_hKlnQV.js.map +1 -0
  141. package/dist/assets/{kol-link.entry-BJQrNLhB.js → kol-link.entry-CWLDaaZy.js} +39 -22
  142. package/dist/assets/{kol-link.entry-BJQrNLhB.js.map → kol-link.entry-CWLDaaZy.js.map} +1 -1
  143. package/dist/assets/{kol-modal.entry-Dve7bbLb.js → kol-modal.entry-DGNz310R.js} +36 -19
  144. package/dist/assets/kol-modal.entry-DGNz310R.js.map +1 -0
  145. package/dist/assets/{kol-nav.entry-C2kVhpck.js → kol-nav.entry-BZmSt3QT.js} +37 -20
  146. package/dist/assets/kol-nav.entry-BZmSt3QT.js.map +1 -0
  147. package/dist/assets/kol-pagination-wc.entry-BY6DxY8v.js +2 -0
  148. package/dist/assets/kol-pagination-wc.entry-BY6DxY8v.js.map +1 -0
  149. package/dist/assets/{kol-pagination.entry-CBug62p3.js → kol-pagination.entry-BHzSat7I.js} +36 -19
  150. package/dist/assets/{kol-pagination.entry-CBug62p3.js.map → kol-pagination.entry-BHzSat7I.js.map} +1 -1
  151. package/dist/assets/kol-popover-button-wc.entry-CnHcr7iG.js +2 -0
  152. package/dist/assets/kol-popover-button-wc.entry-CnHcr7iG.js.map +1 -0
  153. package/dist/assets/{kol-popover-button.entry-DyBynmR_.js → kol-popover-button.entry-SITr22dj.js} +39 -22
  154. package/dist/assets/kol-popover-button.entry-SITr22dj.js.map +1 -0
  155. package/dist/assets/kol-popover-wc.entry-Df2oV0iS.js +2 -0
  156. package/dist/assets/kol-popover-wc.entry-Df2oV0iS.js.map +1 -0
  157. package/dist/assets/{kol-progress.entry-B8HpRM-l.js → kol-progress.entry-Dqn91hGj.js} +8 -8
  158. package/dist/assets/kol-progress.entry-Dqn91hGj.js.map +1 -0
  159. package/dist/assets/{kol-quote.entry-BUnPAMTc.js → kol-quote.entry-CPhsXysu.js} +11 -11
  160. package/dist/assets/{kol-quote.entry-BUnPAMTc.js.map → kol-quote.entry-CPhsXysu.js.map} +1 -1
  161. package/dist/assets/{kol-select.entry-B41zSTbU.js → kol-select.entry-CJltHYsb.js} +39 -20
  162. package/dist/assets/kol-select.entry-CJltHYsb.js.map +1 -0
  163. package/dist/assets/kol-single-select.entry-DW7ztTLW.js +393 -0
  164. package/dist/assets/kol-single-select.entry-DW7ztTLW.js.map +1 -0
  165. package/dist/assets/{kol-skip-nav.entry-C53NqwFa.js → kol-skip-nav.entry-BCOwBz1G.js} +8 -8
  166. package/dist/assets/{kol-skip-nav.entry-C53NqwFa.js.map → kol-skip-nav.entry-BCOwBz1G.js.map} +1 -1
  167. package/dist/assets/{kol-spin.entry-D35g6Swm.js → kol-spin.entry-CEmCFF7S.js} +8 -8
  168. package/dist/assets/kol-spin.entry-CEmCFF7S.js.map +1 -0
  169. package/dist/assets/{kol-split-button.entry-f4bc9CDQ.js → kol-split-button.entry-Ctd5jyPI.js} +36 -19
  170. package/dist/assets/kol-split-button.entry-Ctd5jyPI.js.map +1 -0
  171. package/dist/assets/kol-table-settings-wc.entry-B2ZwmPGq.js +2 -0
  172. package/dist/assets/kol-table-settings-wc.entry-B2ZwmPGq.js.map +1 -0
  173. package/dist/assets/{kol-table-stateful.entry-vCRN94-F.js → kol-table-stateful.entry-Ba9uSrz6.js} +43 -29
  174. package/dist/assets/kol-table-stateful.entry-Ba9uSrz6.js.map +1 -0
  175. package/dist/assets/kol-table-stateless-wc.entry-CGXysMVA.js +2 -0
  176. package/dist/assets/kol-table-stateless-wc.entry-CGXysMVA.js.map +1 -0
  177. package/dist/assets/{kol-table-stateless.entry-BNyArcdV.js → kol-table-stateless.entry-YhaMnp4B.js} +43 -29
  178. package/dist/assets/kol-table-stateless.entry-YhaMnp4B.js.map +1 -0
  179. package/dist/assets/{kol-tabs.entry-D8ThT46X.js → kol-tabs.entry-mE5SZu3Q.js} +36 -19
  180. package/dist/assets/kol-tabs.entry-mE5SZu3Q.js.map +1 -0
  181. package/dist/assets/kol-textarea.entry-DE_zhgxC.js +337 -0
  182. package/dist/assets/kol-textarea.entry-DE_zhgxC.js.map +1 -0
  183. package/dist/assets/{kol-toast-container.entry-DmTrx_Vz.js → kol-toast-container.entry-CGD7xhUg.js} +36 -19
  184. package/dist/assets/kol-toast-container.entry-CGD7xhUg.js.map +1 -0
  185. package/dist/assets/{kol-toolbar.entry-BL0ptigm.js → kol-toolbar.entry-DznY3MjX.js} +39 -22
  186. package/dist/assets/kol-toolbar.entry-DznY3MjX.js.map +1 -0
  187. package/dist/assets/kol-tooltip-wc.entry-DRyimBL1.js +2 -0
  188. package/dist/assets/kol-tooltip-wc.entry-DRyimBL1.js.map +1 -0
  189. package/dist/assets/kol-tree-item-wc.entry-CoMmy4ch.js +2 -0
  190. package/dist/assets/{kol-tree-item-wc.entry-jTVP9kAt.js.map → kol-tree-item-wc.entry-CoMmy4ch.js.map} +1 -1
  191. package/dist/assets/{kol-tree-item.entry-DYBXIkOg.js → kol-tree-item.entry-C1Cvugxa.js} +8 -8
  192. package/dist/assets/{kol-tree-item.entry-DYBXIkOg.js.map → kol-tree-item.entry-C1Cvugxa.js.map} +1 -1
  193. package/dist/assets/kol-tree-wc.entry-DvWb2Cnp.js +2 -0
  194. package/dist/assets/{kol-tree-wc.entry-WdCmBFya.js.map → kol-tree-wc.entry-DvWb2Cnp.js.map} +1 -1
  195. package/dist/assets/{kol-tree.entry-CxSIBHHU.js → kol-tree.entry-DPeZpWkp.js} +8 -8
  196. package/dist/assets/{kol-tree.entry-CxSIBHHU.js.map → kol-tree.entry-DPeZpWkp.js.map} +1 -1
  197. package/dist/assets/{kol-version.entry-DxV8SYMJ.js → kol-version.entry-DFhhtCxD.js} +8 -8
  198. package/dist/assets/{kol-version.entry-DxV8SYMJ.js.map → kol-version.entry-DFhhtCxD.js.map} +1 -1
  199. package/dist/assets/label-Dnmzb2S_-BK9SA9Jq.js +2 -0
  200. package/dist/assets/{label-CdtNxOKu-Pn_0Xgl2.js.map → label-Dnmzb2S_-BK9SA9Jq.js.map} +1 -1
  201. package/dist/assets/link-variant-DQEKOyAU-ty-Pag5O.js +2 -0
  202. package/dist/assets/{link-variant-H9yefO89-bX4-NwQo.js.map → link-variant-DQEKOyAU-ty-Pag5O.js.map} +1 -1
  203. package/dist/assets/{markdown-DL-PkOqb-D37psS9E.js → markdown-BSkXjaSn-BHK7SX3w.js} +9 -11
  204. package/dist/assets/{markdown-DL-PkOqb-D37psS9E.js.map → markdown-BSkXjaSn-BHK7SX3w.js.map} +1 -1
  205. package/dist/assets/material-icons/README.md +19 -14
  206. package/dist/assets/material-icons/_data/versions.json +2123 -2123
  207. package/dist/assets/material-icons/index.d.ts +2122 -2122
  208. package/dist/assets/material-icons/package.json +50 -50
  209. package/dist/assets/material-symbols/README.md +18 -11
  210. package/dist/assets/material-symbols/index.d.ts +2803 -2803
  211. package/dist/assets/material-symbols/package.json +39 -39
  212. package/dist/assets/max-length-behavior-nTw1Zuyf-CI04vACS.js +2 -0
  213. package/dist/assets/{max-length-behavior-BmNWss6T-5QMQvuDx.js.map → max-length-behavior-nTw1Zuyf-CI04vACS.js.map} +1 -1
  214. package/dist/assets/multiple-Cj3JQafH-Ze4jmwWo.js +2 -0
  215. package/dist/assets/multiple-Cj3JQafH-Ze4jmwWo.js.map +1 -0
  216. package/dist/assets/open-CbvHO4XG-DAegQoyg.js +2 -0
  217. package/dist/assets/open-CbvHO4XG-DAegQoyg.js.map +1 -0
  218. package/dist/assets/orientation-eCMt8CD1-BhRcIajB.js +2 -0
  219. package/dist/assets/orientation-eCMt8CD1-BhRcIajB.js.map +1 -0
  220. package/dist/assets/placeholder-BVhy3BzI-BP7N1w_Y.js +2 -0
  221. package/dist/assets/placeholder-BVhy3BzI-BP7N1w_Y.js.map +1 -0
  222. package/dist/assets/read-only-BetTuumR-ihKif8dG.js +2 -0
  223. package/dist/assets/read-only-BetTuumR-ihKif8dG.js.map +1 -0
  224. package/dist/assets/required-CnTTpFCN-B2iPaQx3.js +2 -0
  225. package/dist/assets/required-CnTTpFCN-B2iPaQx3.js.map +1 -0
  226. package/dist/assets/reuse-CX4AQDkS-BaVSFETn.js +2 -0
  227. package/dist/assets/{reuse-CX4AQDkS-Cyh-fyjG.js.map → reuse-CX4AQDkS-BaVSFETn.js.map} +1 -1
  228. package/dist/assets/rows-DtS-0sp9-B-8AOHgP.js +2 -0
  229. package/dist/assets/rows-DtS-0sp9-B-8AOHgP.js.map +1 -0
  230. package/dist/assets/show-DdPK3aM7-BpdV4dND.js +2 -0
  231. package/dist/assets/show-DdPK3aM7-BpdV4dND.js.map +1 -0
  232. package/dist/assets/spell-check-B9ot-4t--BD_RlJla.js +2 -0
  233. package/dist/assets/spell-check-B9ot-4t--BD_RlJla.js.map +1 -0
  234. package/dist/assets/suggestions-B-jLvT4L-reYC-zny.js +2 -0
  235. package/dist/assets/{suggestions-DfF4lcNG-B3mlg97-.js.map → suggestions-B-jLvT4L-reYC-zny.js.map} +1 -1
  236. package/dist/assets/table-settings-DxLvhwRE-CqJUqP24.js +2 -0
  237. package/dist/assets/{table-settings-DSZObo-2-DDS49kg1.js.map → table-settings-DxLvhwRE-CqJUqP24.js.map} +1 -1
  238. package/dist/assets/test-component.entry-D48GYwxH.js +2 -0
  239. package/dist/assets/test-component.entry-D48GYwxH.js.map +1 -0
  240. package/dist/assets/tooltip-align-Cnin7S26-BEYuObSl.js +2 -0
  241. package/dist/assets/tooltip-align-Cnin7S26-BEYuObSl.js.map +1 -0
  242. package/dist/assets/tooltip-open-tracking-rBbBgPWP-DRkgcff2.js +2 -0
  243. package/dist/assets/{tooltip-open-tracking-rBbBgPWP-CZrYVTp5.js.map → tooltip-open-tracking-rBbBgPWP-DRkgcff2.js.map} +1 -1
  244. package/dist/assets/tslib.es6-CxX45GIN-BGVaTf34.js +2 -0
  245. package/dist/assets/{tslib.es6-CxX45GIN-BAJoBDh7.js.map → tslib.es6-CxX45GIN-BGVaTf34.js.map} +1 -1
  246. package/dist/assets/unique-nav-labels-CrfmPC99-1FskP638.js +2 -0
  247. package/dist/assets/unique-nav-labels-CrfmPC99-1FskP638.js.map +1 -0
  248. package/dist/assets/validation-BfjI5un_-CCNoZkKk.js +2 -0
  249. package/dist/assets/validation-BfjI5un_-CCNoZkKk.js.map +1 -0
  250. package/dist/assets/validation-aqgnZOL6-D_UnhLX9.js +2 -0
  251. package/dist/assets/validation-aqgnZOL6-D_UnhLX9.js.map +1 -0
  252. package/dist/index.html +2 -2
  253. package/package.json +24 -27
  254. package/public/assets/material-icons/README.md +19 -14
  255. package/public/assets/material-icons/_data/versions.json +2123 -2123
  256. package/public/assets/material-icons/index.d.ts +2122 -2122
  257. package/public/assets/material-icons/package.json +50 -50
  258. package/public/assets/material-symbols/README.md +18 -11
  259. package/public/assets/material-symbols/index.d.ts +2803 -2803
  260. package/public/assets/material-symbols/package.json +39 -39
  261. package/src/components/accordion/basic.tsx +9 -5
  262. package/src/components/avatar/basic.tsx +5 -1
  263. package/src/components/button/icons.tsx +1 -1
  264. package/src/components/card/headlines.tsx +46 -0
  265. package/src/components/card/routes.ts +2 -0
  266. package/src/components/combobox/html.tsx +16 -0
  267. package/src/components/combobox/routes.ts +2 -0
  268. package/src/components/icon/basic.tsx +6 -2
  269. package/src/components/icon/font-awesome.tsx +36 -0
  270. package/src/components/icon/routes.ts +2 -0
  271. package/src/components/input-number/number-formatter.tsx +215 -0
  272. package/src/components/input-number/routes.ts +2 -0
  273. package/src/components/input-text/text-formatter.tsx +129 -102
  274. package/src/components/popover-button/basic.tsx +12 -9
  275. package/src/components/skip-nav/basic.tsx +35 -26
  276. package/src/components/table/direction-aware-sort.tsx +65 -0
  277. package/src/components/table/multi-sort.tsx +38 -70
  278. package/src/components/table/predefined-settings.tsx +3 -3
  279. package/src/components/table/routes.ts +4 -0
  280. package/src/components/table/settings-column-options.tsx +58 -0
  281. package/src/components/table/stateless-with-settings-menu.tsx +58 -6
  282. package/src/scenarios/appointment-form/AppointmentForm.tsx +115 -97
  283. package/src/scenarios/appointment-form/AvailableAppointmentsForm.tsx +83 -75
  284. package/src/scenarios/appointment-form/DistrictForm.tsx +49 -49
  285. package/src/scenarios/appointment-form/PersonalInformationForm.tsx +110 -144
  286. package/src/scenarios/appointment-form/Summary.tsx +11 -10
  287. package/src/scenarios/appointment-form/formUtils.ts +26 -7
  288. package/src/scenarios/custom-tooltip-css-properties.tsx +42 -0
  289. package/src/scenarios/date-in-form.tsx +24 -0
  290. package/src/scenarios/react-hook-form/basic.tsx +67 -56
  291. package/src/scenarios/routes.ts +4 -2
  292. package/src/scenarios/sample-form-with-validation.tsx +37 -69
  293. package/unocss.config.ts +1 -1
  294. package/vite.config.ts +4 -4
  295. package/dist/assets/Alert-hN9U8sSE-CAO5y8BU.js +0 -4
  296. package/dist/assets/Collapsible-C93hvY9L-DbJ699_0.js +0 -4
  297. package/dist/assets/CustomSuggestionsToggle-Br_ZPQtz-ChIxs8JA.js +0 -4
  298. package/dist/assets/CustomSuggestionsToggle-Br_ZPQtz-ChIxs8JA.js.map +0 -1
  299. package/dist/assets/FieldControlStateWrapper-D428HqUZ-CK28Nbyg.js +0 -4
  300. package/dist/assets/FormFieldStateWrapper-CKkaKcfe-1k-5Up8f.js +0 -4
  301. package/dist/assets/FormFieldStateWrapper-CKkaKcfe-1k-5Up8f.js.map +0 -1
  302. package/dist/assets/Heading-BjokntSX-BzC5q6FG.js +0 -4
  303. package/dist/assets/Icon-awNmzVo_-Bnu0iurI.js +0 -4
  304. package/dist/assets/Icon-awNmzVo_-Bnu0iurI.js.map +0 -1
  305. package/dist/assets/Input-DAqsRj-i-CJFl9uCx.js +0 -4
  306. package/dist/assets/InputStateWrapper-DcMj4qzd-_AHD8o6q.js +0 -4
  307. package/dist/assets/InternalUnderlinedBadgeText-DHIFD3pP-H9orIfPs.js +0 -4
  308. package/dist/assets/Span-B3tZSiPO-ypX6vdWJ.js +0 -4
  309. package/dist/assets/access-and-short-key-bcID78Ha-xFWEP807.js +0 -4
  310. package/dist/assets/align-CyK0wp7d-haYkKGoN.js +0 -4
  311. package/dist/assets/align-floating-elements-Bx4ukVlr-ZC76iw7l.js +0 -4
  312. package/dist/assets/associated.controller-BKIODHIT-De4anNGk.js +0 -4
  313. package/dist/assets/auto-complete-BsG3RQJ3-ByW5ho23.js +0 -4
  314. package/dist/assets/auto-complete-BsG3RQJ3-ByW5ho23.js.map +0 -1
  315. package/dist/assets/clsx-eK3rPvPS-BT_IL7Fz.js +0 -4
  316. package/dist/assets/clsx-eK3rPvPS-BT_IL7Fz.js.map +0 -1
  317. package/dist/assets/color-C3pYZKV3-rtpPdWMn.js +0 -4
  318. package/dist/assets/controller-B9N11jWX-Ci2uNJmk.js +0 -4
  319. package/dist/assets/controller-BepWdG0L-C09WtOG2.js +0 -4
  320. package/dist/assets/controller-CoyKbMdh-D9KS0etF.js +0 -4
  321. package/dist/assets/controller-gm4Pjz_4-B_Bv4uU9.js +0 -4
  322. package/dist/assets/controller-icon-BHscyxzA-DLzUvNjP.js +0 -4
  323. package/dist/assets/controller-icon-BHscyxzA-DLzUvNjP.js.map +0 -1
  324. package/dist/assets/custom-class-CA0KGtrM-C3zsQh48.js +0 -4
  325. package/dist/assets/custom-class-CA0KGtrM-C3zsQh48.js.map +0 -1
  326. package/dist/assets/devtools-SJBY2ZK5-DAFpHK2r.js +0 -16
  327. package/dist/assets/disabled-BydergHu-DYktZuoo.js +0 -4
  328. package/dist/assets/disabled-BydergHu-DYktZuoo.js.map +0 -1
  329. package/dist/assets/has-closer-BBMh8HY3-CKRJpi_i.js +0 -4
  330. package/dist/assets/has-closer-BBMh8HY3-CKRJpi_i.js.map +0 -1
  331. package/dist/assets/hide-label-DRunOux4-DXVK4jpE.js +0 -4
  332. package/dist/assets/hide-label-DRunOux4-DXVK4jpE.js.map +0 -1
  333. package/dist/assets/href-zZq6HYWf-Cs0kEZrK.js +0 -4
  334. package/dist/assets/href-zZq6HYWf-Cs0kEZrK.js.map +0 -1
  335. package/dist/assets/i18n-CdSCDnmA-dAbv3ULE.js +0 -4
  336. package/dist/assets/i18n-CdSCDnmA-dAbv3ULE.js.map +0 -1
  337. package/dist/assets/icons-72ER78AW-ZMq9m8Iz.js +0 -4
  338. package/dist/assets/image-source-RWPv7frZ-Bve4-YgL.js +0 -4
  339. package/dist/assets/image-source-RWPv7frZ-Bve4-YgL.js.map +0 -1
  340. package/dist/assets/index-56fasavN.css +0 -1
  341. package/dist/assets/index-CxAoy6H7.js +0 -14159
  342. package/dist/assets/index-CxAoy6H7.js.map +0 -1
  343. package/dist/assets/isObject-DvSELytj-B0RigBxT.js +0 -4
  344. package/dist/assets/keyboard-D6PoWr38-Bn_Qh8Bq.js +0 -4
  345. package/dist/assets/kol-accordion.entry-CxRK96Hy.js.map +0 -1
  346. package/dist/assets/kol-alert-wc.entry-CzMk9mto.js +0 -4
  347. package/dist/assets/kol-avatar-wc.entry-C5-HcKlp.js +0 -4
  348. package/dist/assets/kol-avatar-wc.entry-C5-HcKlp.js.map +0 -1
  349. package/dist/assets/kol-badge.entry-CFc5ayoT.js.map +0 -1
  350. package/dist/assets/kol-breadcrumb.entry-CII6kloY.js.map +0 -1
  351. package/dist/assets/kol-button-link.entry-DrwQRQer.js.map +0 -1
  352. package/dist/assets/kol-button-wc.entry-DzJT04AD.js +0 -4
  353. package/dist/assets/kol-button-wc.entry-DzJT04AD.js.map +0 -1
  354. package/dist/assets/kol-card-wc.entry-DO0vpesJ.js +0 -4
  355. package/dist/assets/kol-card-wc.entry-DO0vpesJ.js.map +0 -1
  356. package/dist/assets/kol-combobox.entry-gnk0TxhL.js +0 -352
  357. package/dist/assets/kol-combobox.entry-gnk0TxhL.js.map +0 -1
  358. package/dist/assets/kol-details.entry-Bu866gXr.js.map +0 -1
  359. package/dist/assets/kol-drawer.entry-CEcMq8uW.js.map +0 -1
  360. package/dist/assets/kol-form.entry-CXKlGUqi.js.map +0 -1
  361. package/dist/assets/kol-input-checkbox.entry-CDGAwOZ9.js.map +0 -1
  362. package/dist/assets/kol-input-color.entry-CRcY9Vsc.js.map +0 -1
  363. package/dist/assets/kol-input-date.entry-C5IPCwDJ.js +0 -342
  364. package/dist/assets/kol-input-date.entry-C5IPCwDJ.js.map +0 -1
  365. package/dist/assets/kol-input-email.entry-BVsx4KUS.js.map +0 -1
  366. package/dist/assets/kol-input-file.entry-COeh7KJX.js.map +0 -1
  367. package/dist/assets/kol-input-number.entry-BT3xAUUD.js.map +0 -1
  368. package/dist/assets/kol-input-password.entry-DkOmf7BI.js.map +0 -1
  369. package/dist/assets/kol-input-radio.entry-ubyLttQ6.js.map +0 -1
  370. package/dist/assets/kol-input-range.entry-CoT6EXkp.js.map +0 -1
  371. package/dist/assets/kol-input-text.entry-CUxUvMsS.js.map +0 -1
  372. package/dist/assets/kol-kolibri.entry-rR3mSkws.js.map +0 -1
  373. package/dist/assets/kol-link-wc.entry-Cuv5r-v4.js +0 -4
  374. package/dist/assets/kol-link-wc.entry-Cuv5r-v4.js.map +0 -1
  375. package/dist/assets/kol-modal.entry-Dve7bbLb.js.map +0 -1
  376. package/dist/assets/kol-nav.entry-C2kVhpck.js.map +0 -1
  377. package/dist/assets/kol-pagination-wc.entry-DWuVpt2q.js +0 -4
  378. package/dist/assets/kol-pagination-wc.entry-DWuVpt2q.js.map +0 -1
  379. package/dist/assets/kol-popover-button-wc.entry-QdbA9-25.js +0 -4
  380. package/dist/assets/kol-popover-button-wc.entry-QdbA9-25.js.map +0 -1
  381. package/dist/assets/kol-popover-button.entry-DyBynmR_.js.map +0 -1
  382. package/dist/assets/kol-popover-wc.entry-L6MJRZ3B.js +0 -4
  383. package/dist/assets/kol-popover-wc.entry-L6MJRZ3B.js.map +0 -1
  384. package/dist/assets/kol-progress.entry-B8HpRM-l.js.map +0 -1
  385. package/dist/assets/kol-select.entry-B41zSTbU.js.map +0 -1
  386. package/dist/assets/kol-single-select.entry-DYW6wgkB.js +0 -368
  387. package/dist/assets/kol-single-select.entry-DYW6wgkB.js.map +0 -1
  388. package/dist/assets/kol-spin.entry-D35g6Swm.js.map +0 -1
  389. package/dist/assets/kol-split-button.entry-f4bc9CDQ.js.map +0 -1
  390. package/dist/assets/kol-table-settings-wc.entry-DkXNcLW9.js +0 -4
  391. package/dist/assets/kol-table-settings-wc.entry-DkXNcLW9.js.map +0 -1
  392. package/dist/assets/kol-table-stateful.entry-vCRN94-F.js.map +0 -1
  393. package/dist/assets/kol-table-stateless-wc.entry-BBrXuonL.js +0 -4
  394. package/dist/assets/kol-table-stateless-wc.entry-BBrXuonL.js.map +0 -1
  395. package/dist/assets/kol-table-stateless.entry-BNyArcdV.js.map +0 -1
  396. package/dist/assets/kol-tabs.entry-D8ThT46X.js.map +0 -1
  397. package/dist/assets/kol-textarea.entry-CB2CqlXx.js +0 -320
  398. package/dist/assets/kol-textarea.entry-CB2CqlXx.js.map +0 -1
  399. package/dist/assets/kol-toast-container.entry-DmTrx_Vz.js.map +0 -1
  400. package/dist/assets/kol-toolbar.entry-BL0ptigm.js.map +0 -1
  401. package/dist/assets/kol-tooltip-wc.entry-BzmPsUnw.js +0 -4
  402. package/dist/assets/kol-tooltip-wc.entry-BzmPsUnw.js.map +0 -1
  403. package/dist/assets/kol-tree-item-wc.entry-jTVP9kAt.js +0 -4
  404. package/dist/assets/kol-tree-wc.entry-WdCmBFya.js +0 -4
  405. package/dist/assets/label-CdtNxOKu-Pn_0Xgl2.js +0 -4
  406. package/dist/assets/link-variant-H9yefO89-bX4-NwQo.js +0 -4
  407. package/dist/assets/max-length-behavior-BmNWss6T-5QMQvuDx.js +0 -4
  408. package/dist/assets/multiple-bcm5IaCN-DS4YrHi9.js +0 -4
  409. package/dist/assets/multiple-bcm5IaCN-DS4YrHi9.js.map +0 -1
  410. package/dist/assets/open-D9q98v46-B-8kA1XB.js +0 -4
  411. package/dist/assets/open-D9q98v46-B-8kA1XB.js.map +0 -1
  412. package/dist/assets/orientation-5kQWqijN-DyT6sER_.js +0 -4
  413. package/dist/assets/orientation-5kQWqijN-DyT6sER_.js.map +0 -1
  414. package/dist/assets/placeholder-6URRds0_-Bqpth3EQ.js +0 -4
  415. package/dist/assets/placeholder-6URRds0_-Bqpth3EQ.js.map +0 -1
  416. package/dist/assets/read-only-CcRldJ9w-Dv2y506W.js +0 -4
  417. package/dist/assets/read-only-CcRldJ9w-Dv2y506W.js.map +0 -1
  418. package/dist/assets/required-G86n77y0-HtSUuMig.js +0 -4
  419. package/dist/assets/required-G86n77y0-HtSUuMig.js.map +0 -1
  420. package/dist/assets/reuse-CX4AQDkS-Cyh-fyjG.js +0 -4
  421. package/dist/assets/rows-P4l3PNiA-Cez3_Yoz.js +0 -4
  422. package/dist/assets/rows-P4l3PNiA-Cez3_Yoz.js.map +0 -1
  423. package/dist/assets/show-DsV_Vx8g-H9Qn67Rg.js +0 -4
  424. package/dist/assets/show-DsV_Vx8g-H9Qn67Rg.js.map +0 -1
  425. package/dist/assets/spell-check-DIsLAYgk-T5nH5s3H.js +0 -4
  426. package/dist/assets/spell-check-DIsLAYgk-T5nH5s3H.js.map +0 -1
  427. package/dist/assets/suggestions-DfF4lcNG-B3mlg97-.js +0 -4
  428. package/dist/assets/table-settings-DSZObo-2-DDS49kg1.js +0 -4
  429. package/dist/assets/test-component.entry-C1VEbyQi.js +0 -4
  430. package/dist/assets/test-component.entry-C1VEbyQi.js.map +0 -1
  431. package/dist/assets/tooltip-align-_VI7LehI-DYA8h8mw.js +0 -4
  432. package/dist/assets/tooltip-align-_VI7LehI-DYA8h8mw.js.map +0 -1
  433. package/dist/assets/tooltip-open-tracking-rBbBgPWP-CZrYVTp5.js +0 -4
  434. package/dist/assets/tslib.es6-CxX45GIN-BAJoBDh7.js +0 -4
  435. package/dist/assets/unique-nav-labels-C_NhdgGz-C3mUQl4j.js +0 -4
  436. package/dist/assets/unique-nav-labels-C_NhdgGz-C3mUQl4j.js.map +0 -1
  437. package/dist/assets/validation-CW_RXPSn-GiEjg8hT.js +0 -4
  438. package/dist/assets/validation-CW_RXPSn-GiEjg8hT.js.map +0 -1
  439. package/dist/assets/validation-DoIjmu3L-oe5A-v58.js +0 -4
  440. package/dist/assets/validation-DoIjmu3L-oe5A-v58.js.map +0 -1
  441. package/src/scenarios/custom-tooltip-width.tsx +0 -33
@@ -1,9 +1,24 @@
1
- import { KolForm, KolHeading, KolInputText } from '@public-ui/react-v19';
2
- import { Field, Formik, type FieldProps } from 'formik';
3
- import * as React from 'react';
1
+ import { KolForm, KolInputText } from '@public-ui/react-v19';
2
+ import React, { useMemo, useRef, type BaseSyntheticEvent } from 'react';
3
+ import { Controller, useForm } from 'react-hook-form';
4
+
4
5
  import { SampleDescription } from '../SampleDescription';
5
6
 
6
- import { NumericFormat, type NumberFormatValues } from 'react-number-format';
7
+ type InputTextElementSelection = {
8
+ setSelectionStart?: (position: number) => Promise<void>;
9
+ selectionStart?: () => Promise<number | null>;
10
+ };
11
+
12
+ type KolInputTextEvents = {
13
+ onBlur?: (event: Event) => void;
14
+ onChange?: (event: Event, value: unknown) => void;
15
+ onFocus?: (event: Event) => void;
16
+ onInput?: (event: Event, value: unknown) => void;
17
+ };
18
+ type KolInputTextProps = Omit<React.ComponentProps<typeof KolInputText>, '_on' | '_value'> & {
19
+ _on?: KolInputTextEvents;
20
+ _value?: string;
21
+ };
7
22
 
8
23
  const NON_ALPHANUM = /[^a-zA-Z0-9]/g;
9
24
  const EVERY_FOUR_CHARS = /(.{4})(?!$)/g;
@@ -20,10 +35,12 @@ class IbanFormatter {
20
35
  public parse(value: string): string {
21
36
  return this.electronicFormat(value);
22
37
  }
38
+
23
39
  public format(value: string, ref?: HTMLKolInputTextElement | null, selectionStart?: number | null): string {
24
- if (ref && selectionStart) {
40
+ const setSelectionStart = (ref as InputTextElementSelection | null)?.setSelectionStart;
41
+ if (selectionStart && setSelectionStart) {
25
42
  if (selectionStart % 5 === 0) selectionStart++;
26
- ref?.setSelectionStart(selectionStart);
43
+ void setSelectionStart(selectionStart);
27
44
  }
28
45
  return this.printFormat(value);
29
46
  }
@@ -33,23 +50,104 @@ type IbanExampleFormValues = {
33
50
  iban: string;
34
51
  };
35
52
 
36
- type CurrencyExampleFormValues = {
37
- currency: number;
38
- };
53
+ function FormattedKolInputText({
54
+ formatter,
55
+ selectionStartRef,
56
+ _on,
57
+ _value,
58
+ ...props
59
+ }: KolInputTextProps & {
60
+ formatter: IbanFormatter;
61
+ selectionStartRef: React.MutableRefObject<number | null>;
62
+ }) {
63
+ const inputRef = useRef<HTMLKolInputTextElement | null>(null);
64
+ const normalizedOn = _on && typeof _on === 'object' ? (_on as KolInputTextEvents) : undefined;
65
+ const sanitizedSelectionRef = selectionStartRef as React.MutableRefObject<number | null>;
66
+
67
+ const element = inputRef.current;
68
+ const selectionStart = sanitizedSelectionRef.current;
69
+ const sanitizedFormatter: IbanFormatter = formatter;
70
+
71
+ return (
72
+ <KolInputText
73
+ {...props}
74
+ ref={inputRef}
75
+ _value={sanitizedFormatter.format(_value ?? '', element, selectionStart)}
76
+ _on={{
77
+ ...normalizedOn,
78
+ onInput: (event: Event, value: unknown) => {
79
+ const selectionStartGetter = (inputRef.current as InputTextElementSelection | null)?.selectionStart;
80
+ selectionStartGetter?.().then((start) => {
81
+ sanitizedSelectionRef.current = start ?? null;
82
+ });
83
+ const parsedValue = sanitizedFormatter.parse(typeof value === 'string' ? value : '');
84
+ normalizedOn?.onInput?.(event, parsedValue);
85
+ },
86
+ }}
87
+ />
88
+ );
89
+ }
90
+
91
+ function KolFormattedIbanController(props: any) {
92
+ const { name, control, rules, defaultValue, shouldUnregister, disabled, formatter, selectionStartRef, ...componentProps } = props;
93
+ return (
94
+ <Controller
95
+ name={name}
96
+ control={control}
97
+ rules={rules}
98
+ defaultValue={defaultValue}
99
+ shouldUnregister={shouldUnregister}
100
+ disabled={disabled}
101
+ render={({ field, fieldState }) => {
102
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
103
+ const userHandlers = componentProps._on as KolInputTextEvents | undefined;
104
+ return (
105
+ <FormattedKolInputText
106
+ {...(componentProps as any)}
107
+ formatter={formatter}
108
+ selectionStartRef={selectionStartRef}
109
+ _value={field.value}
110
+ _touched={fieldState.isTouched}
111
+ _msg={
112
+ fieldState.error
113
+ ? {
114
+ _type: 'error' as const,
115
+ _description: fieldState.error.message || String(fieldState.error),
116
+ }
117
+ : undefined
118
+ }
119
+ _on={{
120
+ onInput: (event: Event, value: unknown) => {
121
+ field.onChange(value);
122
+ userHandlers?.onInput?.(event, value);
123
+ },
124
+ onBlur: () => field.onBlur(),
125
+ }}
126
+ />
127
+ );
128
+ }}
129
+ />
130
+ );
131
+ }
39
132
 
40
133
  export function InputTextFormatterDemo() {
41
- const handleSubmit = async () => {};
42
- const formatter = new IbanFormatter();
134
+ const formatter = useMemo(() => new IbanFormatter(), []);
43
135
 
44
- const textInput1 = React.useRef<HTMLKolInputTextElement>(null);
45
- let textInput1SelectionStart: number | null | undefined;
136
+ const textInput1SelectionStart = useRef<number | null>(null);
46
137
 
47
138
  const initialIbanExampleValues: IbanExampleFormValues = {
48
139
  iban: 'DE89370400440532013000',
49
140
  };
50
141
 
51
- const initialCurrencyExampleValues: CurrencyExampleFormValues = {
52
- currency: 1000000,
142
+ const ibanForm = useForm<IbanExampleFormValues>({
143
+ defaultValues: initialIbanExampleValues,
144
+ mode: 'onTouched',
145
+ });
146
+
147
+ const ibanValues = ibanForm.watch();
148
+
149
+ const handleIbanSubmit = (event: Event) => {
150
+ void ibanForm.handleSubmit(async () => {})(event as unknown as BaseSyntheticEvent);
53
151
  };
54
152
 
55
153
  return (
@@ -60,93 +158,22 @@ export function InputTextFormatterDemo() {
60
158
  vice versa the formatting is removed again (machine format)
61
159
  </p>
62
160
  </SampleDescription>
63
- <section className="w-full flex flex-col">
64
- <Formik<IbanExampleFormValues> initialValues={initialIbanExampleValues} onSubmit={handleSubmit}>
65
- {(form) => (
66
- <>
67
- <div className="p-2">
68
- <KolHeading _label="Formatted Form Field" _level={2} />
69
- <KolForm>
70
- <Field name="iban">
71
- {({ field }: FieldProps<IbanExampleFormValues['iban']>) => (
72
- <div className="block mt-2">
73
- <KolInputText
74
- ref={textInput1}
75
- onBlur={() => {
76
- void form.setFieldTouched('iban', true);
77
- }}
78
- id="field-iban"
79
- _label="IBAN"
80
- _value={formatter.format(field.value ?? '', textInput1.current, textInput1SelectionStart)}
81
- _msg={{
82
- _type: 'error',
83
- _description: form.errors.iban || '',
84
- }}
85
- _touched={form.touched.iban}
86
- _required
87
- _on={{
88
- onInput: (event, value: unknown) => {
89
- if (event.target) {
90
- textInput1.current?.selectionStart().then((start) => {
91
- textInput1SelectionStart = start;
92
- });
93
- const parsed_value = formatter.parse((value as string) ?? '');
94
- void form.setFieldValue('iban', parsed_value, true);
95
- }
96
- },
97
- }}
98
- />
99
- </div>
100
- )}
101
- </Field>
102
- </KolForm>
103
- </div>
104
- <div className="p-2">
105
- <KolHeading _label="Model" _level={2} />
106
- <pre className="text-base">{JSON.stringify(form.values, null, 2)}</pre>
107
- </div>
108
- </>
109
- )}
110
- </Formik>
111
- </section>
112
-
113
- <section className="w-full flex flex-col">
114
- <Formik<CurrencyExampleFormValues> initialValues={initialCurrencyExampleValues} onSubmit={handleSubmit}>
115
- {(form) => (
116
- <>
117
- <div className="p-2">
118
- <KolHeading _label="Formatted Form Field (with react-number-format)" _level={2} />
119
- <KolForm>
120
- <Field name="currency">
121
- {({ field }: FieldProps<CurrencyExampleFormValues['currency']>) => (
122
- <div className="block mt-2">
123
- <NumericFormat
124
- customInput={({ type, value, onBlur, onChange, onFocus }: any) => {
125
- return <KolInputText _label="Currency" _type={type} _value={value} _on={{ onBlur, onChange, onFocus }} />;
126
- }}
127
- displayType="input"
128
- value={typeof field.value === 'number' ? field.value.toFixed(2) : undefined}
129
- onBlur={() => {
130
- void form.setFieldTouched('currency', true);
131
- }}
132
- onValueChange={(value: NumberFormatValues) => {
133
- void form.setFieldValue('currency', value.floatValue, true);
134
- }}
135
- suffix={'€'}
136
- thousandSeparator={true}
137
- />
138
- </div>
139
- )}
140
- </Field>
141
- </KolForm>
142
- </div>
143
- <div className="p-2">
144
- <KolHeading _label="Model" _level={2} />
145
- <pre className="text-base">{JSON.stringify(form.values, null, 2)}</pre>
146
- </div>
147
- </>
148
- )}
149
- </Formik>
161
+ <section className="w-full">
162
+ <div>
163
+ <KolForm _on={{ onSubmit: handleIbanSubmit }}>
164
+ <KolFormattedIbanController
165
+ control={ibanForm.control as any}
166
+ name="iban"
167
+ id="field-iban"
168
+ formatter={formatter}
169
+ selectionStartRef={textInput1SelectionStart}
170
+ rules={{ required: 'Please enter an IBAN.' }}
171
+ _label="IBAN"
172
+ _required
173
+ />
174
+ </KolForm>
175
+ <pre className="text-base mt-2">{JSON.stringify(ibanValues, null, 2)}</pre>
176
+ </div>
150
177
  </section>
151
178
  </>
152
179
  );
@@ -1,11 +1,12 @@
1
1
  import { KolHeading, KolPopoverButton, KolToolbar } from '@public-ui/react-v19';
2
2
  import type { FC } from 'react';
3
- import React from 'react';
3
+ import React, { useEffect } from 'react';
4
4
  import { useToasterService } from '../../hooks/useToasterService';
5
5
  import { SampleDescription } from '../SampleDescription';
6
6
 
7
7
  export const PopoverButtonBasic: FC = () => {
8
8
  const { dummyClickEventHandler } = useToasterService();
9
+ const buttonRef = React.useRef<HTMLKolPopoverButtonElement>(null);
9
10
 
10
11
  const dummyEventHandler = {
11
12
  onClick: dummyClickEventHandler,
@@ -29,6 +30,14 @@ export const PopoverButtonBasic: FC = () => {
29
30
  },
30
31
  ];
31
32
 
33
+ useEffect(() => {
34
+ // Ensure the popover is closed on initial render
35
+ if (buttonRef.current) {
36
+ buttonRef.current.showPopover();
37
+ buttonRef.current.kolFocus();
38
+ }
39
+ }, []);
40
+
32
41
  return (
33
42
  <>
34
43
  <SampleDescription>
@@ -37,19 +46,13 @@ export const PopoverButtonBasic: FC = () => {
37
46
  right, bottom, left) using the <code>_popoverAlign</code> prop.
38
47
  </p>
39
48
  </SampleDescription>
40
-
41
49
  <div className="flex flex-col gap-4">
42
- <KolHeading _label="Vertical toolbar with action buttons" _level={2}></KolHeading>
43
-
44
- <KolPopoverButton _label={'Actions'} _variant="primary" _icons={{ right: 'codicon codicon-chevron-down' }}>
50
+ <KolPopoverButton _label={'Actions'} _variant="primary" _icons={{ right: 'codicon codicon-chevron-down' }} ref={buttonRef}>
45
51
  <KolToolbar _label="Action toolbar" _items={TOOLBAR_ITEMS} _orientation="vertical" />
46
52
  </KolPopoverButton>
47
-
48
- <KolHeading _label="Info icon with help text" _level={2}></KolHeading>
49
-
50
53
  <KolPopoverButton _label="Help" _icons="codicon codicon-info" _popoverAlign="right" _tooltipAlign="bottom" _hideLabel>
51
54
  <div className="w-sm p-2 border border-solid border-gray">
52
- <KolHeading _label="Help Information" _level={3}></KolHeading>
55
+ <KolHeading _label="Help Information" _level={0}></KolHeading>
53
56
  <p>
54
57
  <u>Lorem ipsum dolor sit amet</u>, consectetur adipisicing elit. Aspernatur aut dolore dolores itaque praesentium reprehenderit sed voluptatum!
55
58
  Exercitationem ipsa magni maiores modi, placeat quas quos reprehenderit rerum sit veniam vitae.
@@ -1,33 +1,42 @@
1
1
  import type { FC } from 'react';
2
- import React from 'react';
2
+ import React, { useEffect, useRef } from 'react';
3
3
 
4
4
  import { KolSkipNav } from '@public-ui/react-v19';
5
5
 
6
6
  import { SampleDescription } from '../SampleDescription';
7
7
 
8
- export const SkipNavBasic: FC = () => (
9
- <div className="grid gap-4">
10
- <SampleDescription>
11
- <p>KolSkipNav renders a list of navigation links that are visually hidden by default and only visible on focus.</p>
12
- <p>For testing purposes, click into the example and press the tab-key in order to focus the first link.</p>
13
- </SampleDescription>
8
+ export const SkipNavBasic: FC = () => {
9
+ const skipNavRef = useRef<HTMLKolSkipNavElement>(null);
14
10
 
15
- <KolSkipNav
16
- _label="Hidden navigation"
17
- _links={[
18
- {
19
- _label: 'To the top',
20
- _href: '#/back-page',
21
- },
22
- {
23
- _label: 'To the form',
24
- _href: '#/back-page',
25
- },
26
- {
27
- _label: 'To the end',
28
- _href: '#/back-page',
29
- },
30
- ]}
31
- ></KolSkipNav>
32
- </div>
33
- );
11
+ useEffect(() => {
12
+ skipNavRef.current?.kolFocus();
13
+ }, []);
14
+
15
+ return (
16
+ <div className="grid gap-4">
17
+ <SampleDescription>
18
+ <p>KolSkipNav renders a list of navigation links that are visually hidden by default and only visible on focus.</p>
19
+ <p>For testing purposes, click into the example and press the tab-key in order to focus the first link.</p>
20
+ </SampleDescription>
21
+
22
+ <KolSkipNav
23
+ ref={skipNavRef}
24
+ _label="Hidden navigation"
25
+ _links={[
26
+ {
27
+ _label: 'To the top',
28
+ _href: '#/back-page',
29
+ },
30
+ {
31
+ _label: 'To the form',
32
+ _href: '#/back-page',
33
+ },
34
+ {
35
+ _label: 'To the end',
36
+ _href: '#/back-page',
37
+ },
38
+ ]}
39
+ ></KolSkipNav>
40
+ </div>
41
+ );
42
+ };
@@ -0,0 +1,65 @@
1
+ import type { FC } from 'react';
2
+ import React from 'react';
3
+
4
+ import type { KoliBriTableHeaders } from '@public-ui/components';
5
+ import { KolTableStateful } from '@public-ui/react-v19';
6
+ import { SampleDescription } from '../SampleDescription';
7
+
8
+ type TemperatureRow = {
9
+ city: string;
10
+ temperature: number;
11
+ };
12
+
13
+ const COMFORTABLE_TEMPERATURE = 22;
14
+
15
+ const TEMPERATURE_DATA: TemperatureRow[] = [
16
+ { city: 'Reykjavík', temperature: 6 },
17
+ { city: 'Berlin', temperature: 21 },
18
+ { city: 'Palma de Mallorca', temperature: 29 },
19
+ { city: 'Cairo', temperature: 35 },
20
+ { city: 'Helsinki', temperature: 14 },
21
+ ];
22
+
23
+ const HEADERS: KoliBriTableHeaders = {
24
+ horizontal: [
25
+ [
26
+ { label: 'City', key: 'city' },
27
+ {
28
+ label: 'Temperature (°C)',
29
+ key: 'temperature',
30
+ textAlign: 'right',
31
+ compareFn: (rowA, rowB, direction = 'ASC') => {
32
+ const temperatureA = (rowA as TemperatureRow).temperature;
33
+ const temperatureB = (rowB as TemperatureRow).temperature;
34
+ const differenceA = Math.abs(temperatureA - COMFORTABLE_TEMPERATURE);
35
+ const differenceB = Math.abs(temperatureB - COMFORTABLE_TEMPERATURE);
36
+
37
+ if (differenceA !== differenceB) {
38
+ return direction === 'DESC' ? differenceB - differenceA : differenceA - differenceB;
39
+ }
40
+
41
+ return direction === 'DESC' ? temperatureB - temperatureA : temperatureA - temperatureB;
42
+ },
43
+ render: (_element, _cell, row) => {
44
+ const difference = Math.abs((row as TemperatureRow).temperature - COMFORTABLE_TEMPERATURE);
45
+ return `${(row as TemperatureRow).temperature} °C (Δ ${difference} °C)`;
46
+ },
47
+ },
48
+ ],
49
+ ],
50
+ };
51
+
52
+ export const TableDirectionAwareSort: FC = () => (
53
+ <>
54
+ <SampleDescription>
55
+ <p>
56
+ This sample demonstrates how <code>compareFn</code> receives the current <code>sortDirection</code>. Ascending sorts show cities that are closest to
57
+ 22&nbsp;°C first, descending sorts highlight the most extreme temperatures.
58
+ </p>
59
+ </SampleDescription>
60
+
61
+ <section className="w-full">
62
+ <KolTableStateful _minWidth="100%" _label="Direction aware compare function" _data={TEMPERATURE_DATA} _headers={HEADERS} className="block" />
63
+ </section>
64
+ </>
65
+ );
@@ -1,8 +1,8 @@
1
1
  import type { FC } from 'react';
2
2
  import React, { useState } from 'react';
3
3
 
4
- import type { KoliBriTableDataType, KoliBriTableHeaders } from '@public-ui/components';
5
- import { KolHeading, KolInputCheckbox, KolTableStateful } from '@public-ui/react-v19';
4
+ import type { KoliBriTableDataType, KoliBriTableHeaderCellWithLogic, KoliBriTableHeaders } from '@public-ui/components';
5
+ import { KolButtonLink, KolHeading, KolTableStateful } from '@public-ui/react-v19';
6
6
  import { SampleDescription } from '../SampleDescription';
7
7
  import type { Data } from './test-data';
8
8
  import { DATA } from './test-data';
@@ -13,64 +13,42 @@ const DATE_FORMATTER = Intl.DateTimeFormat('de-DE', {
13
13
  year: 'numeric',
14
14
  });
15
15
 
16
+ const TABLE_HEADER_CELLS: KoliBriTableHeaderCellWithLogic[] = [
17
+ {
18
+ label: 'order',
19
+ key: 'order',
20
+ textAlign: 'center',
21
+ compareFn: (data0: KoliBriTableDataType, data1: KoliBriTableDataType) => {
22
+ if ((data0 as Data).order < (data1 as Data).order) return -1;
23
+ else if ((data1 as Data).order < (data0 as Data).order) return 1;
24
+ else return 0;
25
+ },
26
+ sortDirection: 'ASC',
27
+ },
28
+ {
29
+ label: 'date',
30
+ key: 'date',
31
+ textAlign: 'center',
32
+ render: (_el, _cell, tupel) => DATE_FORMATTER.format((tupel as Data).date),
33
+ compareFn: (data0: KoliBriTableDataType, data1: KoliBriTableDataType) => {
34
+ if ((data0 as Data).date < (data1 as Data).date) return -1;
35
+ else if ((data1 as Data).date < (data0 as Data).date) return 1;
36
+ else return 0;
37
+ },
38
+ },
39
+ ];
40
+
16
41
  const HEADERS_HORIZONTAL: KoliBriTableHeaders = {
17
- horizontal: [
18
- [
19
- {
20
- label: 'order',
21
- key: 'order',
22
- textAlign: 'center',
23
- compareFn: (data0: KoliBriTableDataType, data1: KoliBriTableDataType) => {
24
- if ((data0 as Data).order < (data1 as Data).order) return -1;
25
- else if ((data1 as Data).order < (data0 as Data).order) return 1;
26
- else return 0;
27
- },
28
- },
29
- {
30
- label: 'date',
31
- key: 'date',
32
- textAlign: 'center',
33
- render: (_el, _cell, tupel) => DATE_FORMATTER.format((tupel as Data).date),
34
- compareFn: (data0: KoliBriTableDataType, data1: KoliBriTableDataType) => {
35
- if ((data0 as Data).date < (data1 as Data).date) return -1;
36
- else if ((data1 as Data).date < (data0 as Data).date) return 1;
37
- else return 0;
38
- },
39
- },
40
- ],
41
- ],
42
+ horizontal: [TABLE_HEADER_CELLS],
42
43
  };
43
44
 
44
45
  const HEADERS_VERTICAL: KoliBriTableHeaders = {
45
- vertical: [
46
- [
47
- {
48
- label: 'order',
49
- key: 'order',
50
- textAlign: 'center',
51
- compareFn: (data0: KoliBriTableDataType, data1: KoliBriTableDataType) => {
52
- if ((data0 as Data).order < (data1 as Data).order) return -1;
53
- else if ((data1 as Data).order < (data0 as Data).order) return 1;
54
- else return 0;
55
- },
56
- },
57
- {
58
- label: 'date',
59
- key: 'date',
60
- textAlign: 'center',
61
- render: (_el, _cell, tupel) => DATE_FORMATTER.format((tupel as Data).date),
62
- compareFn: (data0: KoliBriTableDataType, data1: KoliBriTableDataType) => {
63
- if ((data0 as Data).date < (data1 as Data).date) return -1;
64
- else if ((data1 as Data).date < (data0 as Data).date) return 1;
65
- else return 0;
66
- },
67
- },
68
- ],
69
- ],
46
+ vertical: [TABLE_HEADER_CELLS],
70
47
  };
48
+
71
49
  export const MultiSortTable: FC = () => {
72
- const [allowMultiSortVertical, setAllowMultiSortVertical] = useState(false);
73
- const [allowMultiSortHorizontal, setAllowMultiSortHorizontal] = useState(true);
50
+ const [verticallHeader, setVerticalHeader] = useState(HEADERS_VERTICAL);
51
+ const [horizontalHeader, setHorizontalHeader] = useState(HEADERS_HORIZONTAL);
74
52
  return (
75
53
  <>
76
54
  <SampleDescription>
@@ -80,36 +58,26 @@ export const MultiSortTable: FC = () => {
80
58
  <section className="w-full grid gap-4">
81
59
  <section className="grid gap-4">
82
60
  <KolHeading _level={2} _label="Vertical" />
83
- <KolInputCheckbox
84
- _checked={allowMultiSortVertical}
85
- _label="Allow Multi-Sort"
86
- _variant="switch"
87
- _on={{ onChange: (_, value) => setAllowMultiSortVertical(Boolean(value)) }}
88
- ></KolInputCheckbox>
61
+ <KolButtonLink _label="Reset Table" _on={{ onClick: () => setVerticalHeader({ vertical: [[...TABLE_HEADER_CELLS]] }) }}></KolButtonLink>
89
62
  <KolTableStateful
90
63
  _label="Sort Table with Order and Date"
91
64
  _minWidth="auto"
92
65
  _data={DATA.slice(0, 10)}
93
- _headers={HEADERS_VERTICAL}
66
+ _headers={verticallHeader}
94
67
  className="block"
95
- _allowMultiSort={allowMultiSortVertical}
68
+ _allowMultiSort={true}
96
69
  />
97
70
  </section>
98
71
  <section className="grid gap-4">
99
72
  <KolHeading _level={2} _label="Horizontal" />
100
- <KolInputCheckbox
101
- _checked={allowMultiSortHorizontal}
102
- _label="Allow Multi-Sort"
103
- _variant="switch"
104
- _on={{ onChange: (_, value) => setAllowMultiSortHorizontal(Boolean(value)) }}
105
- ></KolInputCheckbox>
73
+ <KolButtonLink _label="Reset Table" _on={{ onClick: () => setHorizontalHeader({ horizontal: [[...TABLE_HEADER_CELLS]] }) }}></KolButtonLink>
106
74
  <KolTableStateful
107
75
  _label="Sort Table with Order and Date"
108
76
  _minWidth="auto"
109
77
  _data={DATA}
110
- _headers={HEADERS_HORIZONTAL}
78
+ _headers={horizontalHeader}
111
79
  className="block"
112
- _allowMultiSort={allowMultiSortHorizontal}
80
+ _allowMultiSort={true}
113
81
  />
114
82
  </section>
115
83
  </section>
@@ -27,9 +27,9 @@ export const PredefinedSettings: FC = () => {
27
27
  }}
28
28
  _tableSettings={{
29
29
  columns: [
30
- { key: 'columnA', visible: false, label: 'Column A', position: 2 },
31
- { key: 'columnB', visible: true, label: 'Column B', position: 1, width: 20 },
32
- { key: 'columnC', visible: true, label: 'Column C', position: 0, width: 45 },
30
+ { key: 'columnC', visible: true, label: 'Column C', width: 45 },
31
+ { key: 'columnB', visible: true, label: 'Column B', width: 20 },
32
+ { key: 'columnA', visible: false, label: 'Column A' },
33
33
  ],
34
34
  }}
35
35
  _data={DATA}
@@ -1,6 +1,7 @@
1
1
  import { Routes } from '../../shares/types';
2
2
  import { TableColumnAlignment } from './column-alignment';
3
3
  import { TableComplexHeaders } from './complex-headers';
4
+ import { TableDirectionAwareSort } from './direction-aware-sort';
4
5
  import { TableHorizontalScrollbar } from './horizontal-scrollbar';
5
6
  import { InteractiveChildElements } from './interactive-child-elements';
6
7
  import { MultiSortTable } from './multi-sort';
@@ -8,6 +9,7 @@ import { TableNonHidableColumns } from './non-hidable-columns';
8
9
  import { PaginationPosition } from './pagination-position';
9
10
  import { PredefinedSettings } from './predefined-settings';
10
11
  import { TableRenderCell } from './render-cell';
12
+ import { TableSettingsColumnOptions } from './settings-column-options';
11
13
  import { TableSortData } from './sort-data';
12
14
  import { TableStatefulWithSelection } from './stateful-with-selection';
13
15
  import { TableStatefulWithSingleSelection } from './stateful-with-single-selection';
@@ -30,7 +32,9 @@ export const TABLE_ROUTES: Routes = {
30
32
  'pagination-position': PaginationPosition,
31
33
  'predefined-settings': PredefinedSettings,
32
34
  'render-cell': TableRenderCell,
35
+ 'settings-column-options': TableSettingsColumnOptions,
33
36
  'sort-data': TableSortData,
37
+ 'direction-aware-sort': TableDirectionAwareSort,
34
38
  'stateful-with-selection': TableStatefulWithSelection,
35
39
  'stateless-with-settings-menu': TableStatelessWithSettingsMenu,
36
40
  'stateful-with-single-selection': TableStatefulWithSingleSelection,