@customafk/lunas-ui 0.2.82 → 0.2.83

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 (273) hide show
  1. package/dist/{action-submit-kYjq-iPD.cjs → action-submit-B9vHpLoN.cjs} +2 -2
  2. package/dist/{action-submit-kYjq-iPD.cjs.map → action-submit-B9vHpLoN.cjs.map} +1 -1
  3. package/dist/{action-submit-DVNxnW4-.mjs → action-submit-BQdkz4mS.mjs} +2 -2
  4. package/dist/{action-submit-DVNxnW4-.mjs.map → action-submit-BQdkz4mS.mjs.map} +1 -1
  5. package/dist/{actions-form-DRrkiGzh.mjs → actions-form-D4n1W3-X.mjs} +2 -2
  6. package/dist/{actions-form-DRrkiGzh.mjs.map → actions-form-D4n1W3-X.mjs.map} +1 -1
  7. package/dist/{actions-form-CwicJU89.cjs → actions-form-DF2eYxGQ.cjs} +2 -2
  8. package/dist/{actions-form-CwicJU89.cjs.map → actions-form-DF2eYxGQ.cjs.map} +1 -1
  9. package/dist/{analysis-panel-BoKjkPYz.cjs → analysis-panel-B4ynYuwg.cjs} +2 -2
  10. package/dist/{analysis-panel-BoKjkPYz.cjs.map → analysis-panel-B4ynYuwg.cjs.map} +1 -1
  11. package/dist/{analysis-panel-CZ8g9AAO.mjs → analysis-panel-CcM3tBcc.mjs} +2 -2
  12. package/dist/{analysis-panel-CZ8g9AAO.mjs.map → analysis-panel-CcM3tBcc.mjs.map} +1 -1
  13. package/dist/{badge-BPiU1Ss2.d.cts → badge-C_NPjGXe.d.cts} +9 -2
  14. package/dist/{badge-BPiU1Ss2.d.mts → badge-C_NPjGXe.d.mts} +9 -2
  15. package/dist/{badge-display-DHbCN998.cjs → badge-display-C1_Fc3Sj.cjs} +2 -2
  16. package/dist/{badge-display-DHbCN998.cjs.map → badge-display-C1_Fc3Sj.cjs.map} +1 -1
  17. package/dist/{badge-display-B5m09_Hs.mjs → badge-display-DRmVhZ-C.mjs} +2 -2
  18. package/dist/{badge-display-B5m09_Hs.mjs.map → badge-display-DRmVhZ-C.mjs.map} +1 -1
  19. package/dist/{boolean-display-CzHHDfHW.mjs → boolean-display-ByTs3aOa.mjs} +2 -2
  20. package/dist/{boolean-display-CzHHDfHW.mjs.map → boolean-display-ByTs3aOa.mjs.map} +1 -1
  21. package/dist/{boolean-display-D2wjQhNX.cjs → boolean-display-DUA-6Q13.cjs} +2 -2
  22. package/dist/{boolean-display-D2wjQhNX.cjs.map → boolean-display-DUA-6Q13.cjs.map} +1 -1
  23. package/dist/{checkbox-field-BN3Vd9qq.mjs → checkbox-field-BRGTLOjq.mjs} +2 -2
  24. package/dist/{checkbox-field-BN3Vd9qq.mjs.map → checkbox-field-BRGTLOjq.mjs.map} +1 -1
  25. package/dist/{checkbox-field-DBUjQC_4.cjs → checkbox-field-ldZRSCca.cjs} +2 -2
  26. package/dist/{checkbox-field-DBUjQC_4.cjs.map → checkbox-field-ldZRSCca.cjs.map} +1 -1
  27. package/dist/{cms-layout-DCJhB-GY.cjs → cms-layout-BGsf1E4E.cjs} +2 -2
  28. package/dist/{cms-layout-DCJhB-GY.cjs.map → cms-layout-BGsf1E4E.cjs.map} +1 -1
  29. package/dist/{cms-layout-Ba_5wSnr.mjs → cms-layout-BHLo0_L_.mjs} +2 -2
  30. package/dist/{cms-layout-Ba_5wSnr.mjs.map → cms-layout-BHLo0_L_.mjs.map} +1 -1
  31. package/dist/combobox-Bhgo112r.cjs +2 -0
  32. package/dist/{combobox-kp_kPY8o.cjs.map → combobox-Bhgo112r.cjs.map} +1 -1
  33. package/dist/combobox-C0nno01T.mjs +2 -0
  34. package/dist/{combobox-C64Rvd7n.mjs.map → combobox-C0nno01T.mjs.map} +1 -1
  35. package/dist/{combobox-field-Bug1qI5B.mjs → combobox-field-CvkdZkQE.mjs} +2 -2
  36. package/dist/{combobox-field-Bug1qI5B.mjs.map → combobox-field-CvkdZkQE.mjs.map} +1 -1
  37. package/dist/{combobox-field-BE9miJ3D.cjs → combobox-field-ZYr7636s.cjs} +2 -2
  38. package/dist/{combobox-field-BE9miJ3D.cjs.map → combobox-field-ZYr7636s.cjs.map} +1 -1
  39. package/dist/{currency-display-B06kc2IG.cjs → currency-display-DefLJLqL.cjs} +2 -2
  40. package/dist/{currency-display-B06kc2IG.cjs.map → currency-display-DefLJLqL.cjs.map} +1 -1
  41. package/dist/{currency-display-7w-ZjVUw.mjs → currency-display-DpbtUluj.mjs} +2 -2
  42. package/dist/{currency-display-7w-ZjVUw.mjs.map → currency-display-DpbtUluj.mjs.map} +1 -1
  43. package/dist/data-display/phone-number.cjs +1 -1
  44. package/dist/data-display/phone-number.cjs.map +1 -1
  45. package/dist/data-display/phone-number.d.cts +1 -1
  46. package/dist/data-display/phone-number.d.mts +1 -1
  47. package/dist/data-display/phone-number.mjs +1 -1
  48. package/dist/data-display/phone-number.mjs.map +1 -1
  49. package/dist/{date-display-BO7OY_AC.mjs → date-display-ByvkuSk0.mjs} +2 -2
  50. package/dist/{date-display-BO7OY_AC.mjs.map → date-display-ByvkuSk0.mjs.map} +1 -1
  51. package/dist/{date-display-DHnZr_yf.cjs → date-display-CkPBLlWz.cjs} +2 -2
  52. package/dist/{date-display-DHnZr_yf.cjs.map → date-display-CkPBLlWz.cjs.map} +1 -1
  53. package/dist/{date-field-CYoPe74G.cjs → date-field-1Hmcv8Zp.cjs} +2 -2
  54. package/dist/{date-field-CYoPe74G.cjs.map → date-field-1Hmcv8Zp.cjs.map} +1 -1
  55. package/dist/{date-field-D_qpBb-t.mjs → date-field-DGMTG_hu.mjs} +2 -2
  56. package/dist/{date-field-D_qpBb-t.mjs.map → date-field-DGMTG_hu.mjs.map} +1 -1
  57. package/dist/{description-display-CBfoP3Y2.mjs → description-display-BFTBwDmB.mjs} +2 -2
  58. package/dist/{description-display-CBfoP3Y2.mjs.map → description-display-BFTBwDmB.mjs.map} +1 -1
  59. package/dist/{description-display-Cckihd1s.cjs → description-display-DeEwppdC.cjs} +2 -2
  60. package/dist/{description-display-Cckihd1s.cjs.map → description-display-DeEwppdC.cjs.map} +1 -1
  61. package/dist/descriptions-Bw9GSCjo.mjs +3 -0
  62. package/dist/descriptions-Bw9GSCjo.mjs.map +1 -0
  63. package/dist/descriptions-DUsJjqd2.cjs +3 -0
  64. package/dist/descriptions-DUsJjqd2.cjs.map +1 -0
  65. package/dist/{dialog-form-CCIcht28.mjs → dialog-form-BRSZpRTC.mjs} +2 -2
  66. package/dist/{dialog-form-CCIcht28.mjs.map → dialog-form-BRSZpRTC.mjs.map} +1 -1
  67. package/dist/{dialog-form-BTZZwz3T.cjs → dialog-form-C1qpltYx.cjs} +2 -2
  68. package/dist/{dialog-form-BTZZwz3T.cjs.map → dialog-form-C1qpltYx.cjs.map} +1 -1
  69. package/dist/{email-display-w-hRYIeL.cjs → email-display-BXw4IbbW.cjs} +2 -2
  70. package/dist/{email-display-w-hRYIeL.cjs.map → email-display-BXw4IbbW.cjs.map} +1 -1
  71. package/dist/{email-display-Bk_furIx.mjs → email-display-qxdrnYmK.mjs} +2 -2
  72. package/dist/{email-display-Bk_furIx.mjs.map → email-display-qxdrnYmK.mjs.map} +1 -1
  73. package/dist/{email-field-DxSNJ6tf.mjs → email-field-C2Lvl_rQ.mjs} +2 -2
  74. package/dist/{email-field-DxSNJ6tf.mjs.map → email-field-C2Lvl_rQ.mjs.map} +1 -1
  75. package/dist/{email-field-DJa7iASY.cjs → email-field-D3nSkHj2.cjs} +2 -2
  76. package/dist/{email-field-DJa7iASY.cjs.map → email-field-D3nSkHj2.cjs.map} +1 -1
  77. package/dist/features/descriptions/index.cjs +1 -2
  78. package/dist/features/descriptions/index.d.cts +2 -2
  79. package/dist/features/descriptions/index.d.mts +2 -2
  80. package/dist/features/descriptions/index.mjs +1 -2
  81. package/dist/features/tables/index.cjs +1 -1
  82. package/dist/features/tables/index.d.cts +1 -1
  83. package/dist/features/tables/index.d.mts +1 -1
  84. package/dist/features/tables/index.mjs +1 -1
  85. package/dist/features/tanstack-form/index.cjs +1 -1
  86. package/dist/features/tanstack-form/index.mjs +1 -1
  87. package/dist/{filter-BO7ISTIR.mjs → filter-DM4QLW77.mjs} +2 -2
  88. package/dist/{filter-BO7ISTIR.mjs.map → filter-DM4QLW77.mjs.map} +1 -1
  89. package/dist/{filter-CQ9BD0MV.cjs → filter-DQEjSnOP.cjs} +2 -2
  90. package/dist/{filter-CQ9BD0MV.cjs.map → filter-DQEjSnOP.cjs.map} +1 -1
  91. package/dist/{flex-CrxTaAXE.d.cts → flex-C63_IqSY.d.cts} +6 -4
  92. package/dist/{flex-CrxTaAXE.d.mts → flex-C63_IqSY.d.mts} +6 -4
  93. package/dist/{index-DaLpXe5l.d.cts → index--wNkNzCB.d.cts} +5 -5
  94. package/dist/index-Cp4Db57w.d.cts +598 -0
  95. package/dist/index-CqE3mOHo.d.mts +598 -0
  96. package/dist/{index-BPo-Lg3p.d.mts → index-CrkOhm--.d.mts} +5 -5
  97. package/dist/index.cjs +1 -1
  98. package/dist/index.d.cts +8 -8
  99. package/dist/index.d.mts +8 -8
  100. package/dist/index.mjs +1 -1
  101. package/dist/layouts/cms-layout/index.cjs +1 -1
  102. package/dist/layouts/cms-layout/index.mjs +1 -1
  103. package/dist/layouts/flex.cjs +1 -1
  104. package/dist/layouts/flex.cjs.map +1 -1
  105. package/dist/layouts/flex.d.cts +1 -1
  106. package/dist/layouts/flex.d.mts +1 -1
  107. package/dist/layouts/flex.mjs +1 -1
  108. package/dist/layouts/flex.mjs.map +1 -1
  109. package/dist/layouts/payment-layout/index.cjs +1 -1
  110. package/dist/layouts/payment-layout/index.mjs +1 -1
  111. package/dist/layouts/ui-grid.cjs +1 -1
  112. package/dist/layouts/ui-grid.cjs.map +1 -1
  113. package/dist/layouts/ui-grid.d.cts +1 -1
  114. package/dist/layouts/ui-grid.d.mts +1 -1
  115. package/dist/layouts/ui-grid.mjs +1 -1
  116. package/dist/layouts/ui-grid.mjs.map +1 -1
  117. package/dist/{list-display-DLsm8uAh.mjs → list-display-4tTkV29U.mjs} +2 -2
  118. package/dist/{list-display-DLsm8uAh.mjs.map → list-display-4tTkV29U.mjs.map} +1 -1
  119. package/dist/{list-display-DDeJoneW.cjs → list-display-CJvQ-wwT.cjs} +2 -2
  120. package/dist/{list-display-DDeJoneW.cjs.map → list-display-CJvQ-wwT.cjs.map} +1 -1
  121. package/dist/{name-display-H5HFH1fU.mjs → name-display-BFoDcvt2.mjs} +2 -2
  122. package/dist/{name-display-H5HFH1fU.mjs.map → name-display-BFoDcvt2.mjs.map} +1 -1
  123. package/dist/{name-display-CKnyugrP.cjs → name-display-Br7rcdqi.cjs} +2 -2
  124. package/dist/{name-display-CKnyugrP.cjs.map → name-display-Br7rcdqi.cjs.map} +1 -1
  125. package/dist/{number-field-5INgdUUv.mjs → number-field-CR5PLX6H.mjs} +2 -2
  126. package/dist/{number-field-5INgdUUv.mjs.map → number-field-CR5PLX6H.mjs.map} +1 -1
  127. package/dist/{number-field-DKZz-27X.cjs → number-field-CWDYA3La.cjs} +2 -2
  128. package/dist/{number-field-DKZz-27X.cjs.map → number-field-CWDYA3La.cjs.map} +1 -1
  129. package/dist/{password-field-DOIe6wTv.mjs → password-field-B2_kzss6.mjs} +2 -2
  130. package/dist/{password-field-DOIe6wTv.mjs.map → password-field-B2_kzss6.mjs.map} +1 -1
  131. package/dist/{password-field-BuWARi35.cjs → password-field-BHRhVyZ0.cjs} +2 -2
  132. package/dist/{password-field-BuWARi35.cjs.map → password-field-BHRhVyZ0.cjs.map} +1 -1
  133. package/dist/{payment-layout-BSl9DYQA.mjs → payment-layout--b7bhmR1.mjs} +2 -2
  134. package/dist/{payment-layout-BSl9DYQA.mjs.map → payment-layout--b7bhmR1.mjs.map} +1 -1
  135. package/dist/payment-layout-BZtIcu-3.cjs +2 -0
  136. package/dist/{payment-layout-DDcLanA0.cjs.map → payment-layout-BZtIcu-3.cjs.map} +1 -1
  137. package/dist/{permalink-CaCx9fi6.mjs → permalink-BPCF_npZ.mjs} +2 -2
  138. package/dist/{permalink-CaCx9fi6.mjs.map → permalink-BPCF_npZ.mjs.map} +1 -1
  139. package/dist/{permalink-azuGQg2b.cjs → permalink-DCvWlrAT.cjs} +2 -2
  140. package/dist/{permalink-azuGQg2b.cjs.map → permalink-DCvWlrAT.cjs.map} +1 -1
  141. package/dist/phone-CTTjc3mv.mjs +2 -0
  142. package/dist/phone-CTTjc3mv.mjs.map +1 -0
  143. package/dist/phone-CUxXVTg6.cjs +2 -0
  144. package/dist/phone-CUxXVTg6.cjs.map +1 -0
  145. package/dist/{phone-number-D9j5xYDW.d.cts → phone-number-B1bLIt8i.d.cts} +3 -3
  146. package/dist/{phone-number-D9j5xYDW.d.mts → phone-number-B1bLIt8i.d.mts} +3 -3
  147. package/dist/{phone-number-Ba-f4s1Y.mjs → phone-number-DHFLnHWO.mjs} +2 -2
  148. package/dist/{phone-number-Ba-f4s1Y.mjs.map → phone-number-DHFLnHWO.mjs.map} +1 -1
  149. package/dist/{phone-number-BqRhKQdr.cjs → phone-number-YzmDmFBU.cjs} +2 -2
  150. package/dist/{phone-number-BqRhKQdr.cjs.map → phone-number-YzmDmFBU.cjs.map} +1 -1
  151. package/dist/{popover-form-BsapHJck.mjs → popover-form-CeRVpy1B.mjs} +2 -2
  152. package/dist/{popover-form-BsapHJck.mjs.map → popover-form-CeRVpy1B.mjs.map} +1 -1
  153. package/dist/{popover-form-Bq2GcuZu.cjs → popover-form-Ch_iMMSm.cjs} +2 -2
  154. package/dist/{popover-form-Bq2GcuZu.cjs.map → popover-form-Ch_iMMSm.cjs.map} +1 -1
  155. package/dist/{progress-display-CiYWPOnq.cjs → progress-display-57LT7U37.cjs} +2 -2
  156. package/dist/{progress-display-CiYWPOnq.cjs.map → progress-display-57LT7U37.cjs.map} +1 -1
  157. package/dist/{progress-display-0UsBzt_r.mjs → progress-display-AfoHitiE.mjs} +2 -2
  158. package/dist/{progress-display-0UsBzt_r.mjs.map → progress-display-AfoHitiE.mjs.map} +1 -1
  159. package/dist/{radio-group-field-kTgtvp1p.cjs → radio-group-field-BFhBfzoT.cjs} +2 -2
  160. package/dist/{radio-group-field-kTgtvp1p.cjs.map → radio-group-field-BFhBfzoT.cjs.map} +1 -1
  161. package/dist/{radio-group-field-DOJ4jVSr.mjs → radio-group-field-Iwo2Q2Ig.mjs} +2 -2
  162. package/dist/{radio-group-field-DOJ4jVSr.mjs.map → radio-group-field-Iwo2Q2Ig.mjs.map} +1 -1
  163. package/dist/{resizable-C3uADYIg.d.mts → resizable-CNqPu4Ck.d.cts} +2 -2
  164. package/dist/{resizable-C3uADYIg.d.cts → resizable-CNqPu4Ck.d.mts} +2 -2
  165. package/dist/{select-field-CURv37h4.cjs → select-field-CvDBZQTl.cjs} +2 -2
  166. package/dist/{select-field-CURv37h4.cjs.map → select-field-CvDBZQTl.cjs.map} +1 -1
  167. package/dist/{select-field-BcsFBbNJ.mjs → select-field-NJgDDCO2.mjs} +2 -2
  168. package/dist/{select-field-BcsFBbNJ.mjs.map → select-field-NJgDDCO2.mjs.map} +1 -1
  169. package/dist/{simple-array-field-wFE_DUOV.mjs → simple-array-field-BwNCeUnn.mjs} +2 -2
  170. package/dist/{simple-array-field-wFE_DUOV.mjs.map → simple-array-field-BwNCeUnn.mjs.map} +1 -1
  171. package/dist/{simple-array-field-bCUuPMgT.cjs → simple-array-field-aGXkDZXD.cjs} +2 -2
  172. package/dist/{simple-array-field-bCUuPMgT.cjs.map → simple-array-field-aGXkDZXD.cjs.map} +1 -1
  173. package/dist/{simple-boolean-field-DRapzNrB.cjs → simple-boolean-field-BeVkn3c4.cjs} +2 -2
  174. package/dist/{simple-boolean-field-DRapzNrB.cjs.map → simple-boolean-field-BeVkn3c4.cjs.map} +1 -1
  175. package/dist/{simple-boolean-field-GQJyeyVS.mjs → simple-boolean-field-t_XDXqYs.mjs} +2 -2
  176. package/dist/{simple-boolean-field-GQJyeyVS.mjs.map → simple-boolean-field-t_XDXqYs.mjs.map} +1 -1
  177. package/dist/{simple-combobox-field-D6IaMJKl.mjs → simple-combobox-field-HCB4A33-.mjs} +2 -2
  178. package/dist/{simple-combobox-field-D6IaMJKl.mjs.map → simple-combobox-field-HCB4A33-.mjs.map} +1 -1
  179. package/dist/{simple-combobox-field-Cp5dfQv3.cjs → simple-combobox-field-U0ZAl7VQ.cjs} +2 -2
  180. package/dist/{simple-combobox-field-Cp5dfQv3.cjs.map → simple-combobox-field-U0ZAl7VQ.cjs.map} +1 -1
  181. package/dist/{simple-date-field-dszQs7Ik.mjs → simple-date-field-Dj4bJoji.mjs} +2 -2
  182. package/dist/{simple-date-field-dszQs7Ik.mjs.map → simple-date-field-Dj4bJoji.mjs.map} +1 -1
  183. package/dist/{simple-date-field-_PSkIXAt.cjs → simple-date-field-DtxEpEZj.cjs} +2 -2
  184. package/dist/{simple-date-field-_PSkIXAt.cjs.map → simple-date-field-DtxEpEZj.cjs.map} +1 -1
  185. package/dist/{simple-email-field-CwyoXqWo.mjs → simple-email-field-BDyhkmHV.mjs} +2 -2
  186. package/dist/{simple-email-field-CwyoXqWo.mjs.map → simple-email-field-BDyhkmHV.mjs.map} +1 -1
  187. package/dist/{simple-email-field-DIHwYrhk.cjs → simple-email-field-DK9I_Tc_.cjs} +2 -2
  188. package/dist/{simple-email-field-DIHwYrhk.cjs.map → simple-email-field-DK9I_Tc_.cjs.map} +1 -1
  189. package/dist/{simple-number-field-VdEeaIiC.cjs → simple-number-field-BspqWU-3.cjs} +2 -2
  190. package/dist/{simple-number-field-VdEeaIiC.cjs.map → simple-number-field-BspqWU-3.cjs.map} +1 -1
  191. package/dist/{simple-number-field-Id1kV5yR.mjs → simple-number-field-hneXMhfJ.mjs} +2 -2
  192. package/dist/{simple-number-field-Id1kV5yR.mjs.map → simple-number-field-hneXMhfJ.mjs.map} +1 -1
  193. package/dist/{simple-password-field-7xbVB1H3.cjs → simple-password-field-BEEcleom.cjs} +2 -2
  194. package/dist/{simple-password-field-7xbVB1H3.cjs.map → simple-password-field-BEEcleom.cjs.map} +1 -1
  195. package/dist/{simple-password-field-DIO9FwQy.mjs → simple-password-field-vsLRHDk4.mjs} +2 -2
  196. package/dist/{simple-password-field-DIO9FwQy.mjs.map → simple-password-field-vsLRHDk4.mjs.map} +1 -1
  197. package/dist/{simple-radio-group-field-BmHWRnns.mjs → simple-radio-group-field-BURm_BSA.mjs} +2 -2
  198. package/dist/{simple-radio-group-field-BmHWRnns.mjs.map → simple-radio-group-field-BURm_BSA.mjs.map} +1 -1
  199. package/dist/{simple-radio-group-field-CxVAr6yW.cjs → simple-radio-group-field-Wm8xB0fN.cjs} +2 -2
  200. package/dist/{simple-radio-group-field-CxVAr6yW.cjs.map → simple-radio-group-field-Wm8xB0fN.cjs.map} +1 -1
  201. package/dist/{simple-select-field-DfZk0zPa.mjs → simple-select-field-8cY51U4d.mjs} +2 -2
  202. package/dist/{simple-select-field-DfZk0zPa.mjs.map → simple-select-field-8cY51U4d.mjs.map} +1 -1
  203. package/dist/{simple-select-field-C9u7Pg9u.cjs → simple-select-field-QQ65caBf.cjs} +2 -2
  204. package/dist/{simple-select-field-C9u7Pg9u.cjs.map → simple-select-field-QQ65caBf.cjs.map} +1 -1
  205. package/dist/{simple-text-field-BxPjcB4c.cjs → simple-text-field-BHkCPiE5.cjs} +2 -2
  206. package/dist/{simple-text-field-BxPjcB4c.cjs.map → simple-text-field-BHkCPiE5.cjs.map} +1 -1
  207. package/dist/{simple-text-field-CT9KFUSK.mjs → simple-text-field-DK72_OA_.mjs} +2 -2
  208. package/dist/{simple-text-field-CT9KFUSK.mjs.map → simple-text-field-DK72_OA_.mjs.map} +1 -1
  209. package/dist/{simple-textarea-field-B22rT6zS.mjs → simple-textarea-field-B72nNQHv.mjs} +2 -2
  210. package/dist/{simple-textarea-field-B22rT6zS.mjs.map → simple-textarea-field-B72nNQHv.mjs.map} +1 -1
  211. package/dist/{simple-textarea-field-DG9oPtP-.cjs → simple-textarea-field-Bu5h7sfH.cjs} +2 -2
  212. package/dist/{simple-textarea-field-DG9oPtP-.cjs.map → simple-textarea-field-Bu5h7sfH.cjs.map} +1 -1
  213. package/dist/{statistic-CE_Jg8SN.cjs → statistic-CXBTEgKI.cjs} +2 -2
  214. package/dist/{statistic-CE_Jg8SN.cjs.map → statistic-CXBTEgKI.cjs.map} +1 -1
  215. package/dist/{statistic-639yMA2d.mjs → statistic-CvgurN5Z.mjs} +2 -2
  216. package/dist/{statistic-639yMA2d.mjs.map → statistic-CvgurN5Z.mjs.map} +1 -1
  217. package/dist/{status-display-BCYpNJmd.mjs → status-display-Caae2aYf.mjs} +2 -2
  218. package/dist/{status-display-BCYpNJmd.mjs.map → status-display-Caae2aYf.mjs.map} +1 -1
  219. package/dist/{status-display-xcCCGpGS.cjs → status-display-EVwkPrm6.cjs} +2 -2
  220. package/dist/{status-display-xcCCGpGS.cjs.map → status-display-EVwkPrm6.cjs.map} +1 -1
  221. package/dist/{summary-bar-C3NAnI3V.mjs → summary-bar-B6B_wmZA.mjs} +2 -2
  222. package/dist/{summary-bar-C3NAnI3V.mjs.map → summary-bar-B6B_wmZA.mjs.map} +1 -1
  223. package/dist/{summary-bar-C08g8bb1.cjs → summary-bar-D36n4fox.cjs} +2 -2
  224. package/dist/{summary-bar-C08g8bb1.cjs.map → summary-bar-D36n4fox.cjs.map} +1 -1
  225. package/dist/{switch-field-Cz4lDf1D.mjs → switch-field-DoPUWb9d.mjs} +2 -2
  226. package/dist/{switch-field-Cz4lDf1D.mjs.map → switch-field-DoPUWb9d.mjs.map} +1 -1
  227. package/dist/{switch-field-yE4A6EoF.cjs → switch-field-eLVlQZSI.cjs} +2 -2
  228. package/dist/{switch-field-yE4A6EoF.cjs.map → switch-field-eLVlQZSI.cjs.map} +1 -1
  229. package/dist/{tables-Dg3KMBKA.mjs → tables-CuoBQNqx.mjs} +2 -2
  230. package/dist/{tables-Dg3KMBKA.mjs.map → tables-CuoBQNqx.mjs.map} +1 -1
  231. package/dist/{tables-BqZ4Zs6e.cjs → tables-DdLEj1dI.cjs} +2 -2
  232. package/dist/{tables-BqZ4Zs6e.cjs.map → tables-DdLEj1dI.cjs.map} +1 -1
  233. package/dist/{tanstack-form-BxqS40rB.cjs → tanstack-form-C0ab8EEl.cjs} +2 -2
  234. package/dist/{tanstack-form-BxqS40rB.cjs.map → tanstack-form-C0ab8EEl.cjs.map} +1 -1
  235. package/dist/{tanstack-form-q9hDCc0Y.mjs → tanstack-form-fkaBh9RO.mjs} +2 -2
  236. package/dist/{tanstack-form-q9hDCc0Y.mjs.map → tanstack-form-fkaBh9RO.mjs.map} +1 -1
  237. package/dist/{text-editor-field-CQ8tnZFw.mjs → text-editor-field-B6HEsAHt.mjs} +2 -2
  238. package/dist/{text-editor-field-CQ8tnZFw.mjs.map → text-editor-field-B6HEsAHt.mjs.map} +1 -1
  239. package/dist/{text-editor-field-CxU-KMMn.cjs → text-editor-field-DcEUC0iH.cjs} +2 -2
  240. package/dist/{text-editor-field-CxU-KMMn.cjs.map → text-editor-field-DcEUC0iH.cjs.map} +1 -1
  241. package/dist/{text-field-B3xlvEUN.mjs → text-field-Bm-k6Jr7.mjs} +2 -2
  242. package/dist/{text-field-B3xlvEUN.mjs.map → text-field-Bm-k6Jr7.mjs.map} +1 -1
  243. package/dist/{text-field-BQovKYN-.cjs → text-field-DT50dOVI.cjs} +2 -2
  244. package/dist/{text-field-BQovKYN-.cjs.map → text-field-DT50dOVI.cjs.map} +1 -1
  245. package/dist/{textarea-field-B38SnNv4.cjs → textarea-field-BhqX29CS.cjs} +2 -2
  246. package/dist/{textarea-field-B38SnNv4.cjs.map → textarea-field-BhqX29CS.cjs.map} +1 -1
  247. package/dist/{textarea-field-u2UUwtr_.mjs → textarea-field-DNLyrRH7.mjs} +2 -2
  248. package/dist/{textarea-field-u2UUwtr_.mjs.map → textarea-field-DNLyrRH7.mjs.map} +1 -1
  249. package/dist/{tooltip-BVzKgxrZ.cjs → tooltip-CUyGXE9e.cjs} +3 -3
  250. package/dist/{tooltip-BVzKgxrZ.cjs.map → tooltip-CUyGXE9e.cjs.map} +1 -1
  251. package/dist/{tooltip-D7U_Nl5c.mjs → tooltip-DSxSeIak.mjs} +3 -3
  252. package/dist/{tooltip-D7U_Nl5c.mjs.map → tooltip-DSxSeIak.mjs.map} +1 -1
  253. package/dist/ui/badge.cjs +1 -1
  254. package/dist/ui/badge.cjs.map +1 -1
  255. package/dist/ui/badge.d.cts +2 -2
  256. package/dist/ui/badge.d.mts +2 -2
  257. package/dist/ui/badge.mjs +1 -1
  258. package/dist/ui/badge.mjs.map +1 -1
  259. package/dist/ui/combobox.cjs +1 -1
  260. package/dist/ui/combobox.mjs +1 -1
  261. package/dist/ui/resizable.d.cts +1 -1
  262. package/dist/ui/resizable.d.mts +1 -1
  263. package/dist/{ui-grid-CzL5J7cm.d.cts → ui-grid-D1-Ponqs.d.cts} +5 -5
  264. package/dist/{ui-grid-CzL5J7cm.d.mts → ui-grid-D1-Ponqs.d.mts} +5 -5
  265. package/package.json +2 -3
  266. package/ai-docs.md +0 -419
  267. package/dist/combobox-C64Rvd7n.mjs +0 -2
  268. package/dist/combobox-kp_kPY8o.cjs +0 -2
  269. package/dist/features/descriptions/index.cjs.map +0 -1
  270. package/dist/features/descriptions/index.mjs.map +0 -1
  271. package/dist/index-BMuVmm7f.d.mts +0 -236
  272. package/dist/index-CLx89ATZ.d.cts +0 -236
  273. package/dist/payment-layout-DDcLanA0.cjs +0 -2
@@ -0,0 +1,598 @@
1
+ import { t as TUIGridBreakpoint } from "./ui-grid-D1-Ponqs.cjs";
2
+ import { n as BadgeProps } from "./badge-C_NPjGXe.cjs";
3
+ import { VariantProps } from "class-variance-authority";
4
+ //#region packages/components/features/descriptions/descriptions.variants.d.ts
5
+ /**
6
+ * These variants only carry surface/border/padding/typography classes. Flex mechanics
7
+ * (`flex`, `items-*`, `justify-*`, `gap-*`) are expressed as props on the `Flex` component
8
+ * that wraps each region instead — don't re-add them here.
9
+ */
10
+ /** Shared size scale across every Description sub-component, matching `ui/badge.tsx`/`ui/button.tsx`'s `xs–xl` scale. */
11
+ type TDescriptionSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
12
+ declare const descriptionVariants: (props?: ({
13
+ surface?: "card" | "nested" | "grouped" | null | undefined;
14
+ bordered?: boolean | null | undefined;
15
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
+ declare const descriptionGroupVariants: (props?: ({
17
+ bordered?: boolean | null | undefined;
18
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
+ declare const descriptionHeaderVariants: (props?: ({
20
+ sticky?: boolean | null | undefined;
21
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
22
+ bordered?: boolean | null | undefined;
23
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
24
+ declare const descriptionHeaderTitleVariants: (props?: ({
25
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
26
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
27
+ declare const descriptionHeaderDescriptionVariants: (props?: ({
28
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
29
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
30
+ declare const descriptionSectionVariants: (props?: ({
31
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
32
+ bordered?: boolean | null | undefined;
33
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
34
+ /**
35
+ * Bottom rule that disappears on the last *visible* row instead of merely the last DOM row.
36
+ * `:has(~ …)` reads "has a following sibling row/item that isn't search-hidden" — this subsumes
37
+ * plain `last:border-b-0` and additionally survives a `DescriptionSearch` filter hiding trailing
38
+ * rows via `data-search-hidden` (see `search.tsx`). `last:border-b-0` stays as a plain fallback.
39
+ */
40
+ declare const DESCRIPTION_LAST_ROW_SELECTOR = "last:border-b-0 [&:not(:has(~:is([data-slot=\"description-item\"],[data-slot=\"description-row\"]):not([data-search-hidden])))]:border-b-0";
41
+ declare const descriptionItemVariants: (props?: ({
42
+ orientation?: "vertical" | "horizontal" | null | undefined;
43
+ bordered?: boolean | null | undefined;
44
+ inRow?: boolean | null | undefined;
45
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
46
+ declare const descriptionItemLabelVariants: (props?: ({
47
+ orientation?: "vertical" | "horizontal" | null | undefined;
48
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
49
+ bordered?: boolean | null | undefined;
50
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
51
+ declare const descriptionItemValueVariants: (props?: ({
52
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
53
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
54
+ /** Layout-only — surface/border classes for a `DescriptionRow`'s wrapper (the row itself, not its cells). */
55
+ declare const descriptionRowVariants: (props?: ({
56
+ bordered?: boolean | null | undefined;
57
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
58
+ type DescriptionVariants = VariantProps<typeof descriptionVariants>;
59
+ type DescriptionHeaderVariants = VariantProps<typeof descriptionHeaderVariants>;
60
+ type DescriptionItemVariants = VariantProps<typeof descriptionItemVariants>;
61
+ //#endregion
62
+ //#region packages/components/features/descriptions/context.d.ts
63
+ /** Number of grid columns (out of 12) a label column can occupy. `12` is deliberately excluded so the value column always keeps at least 1. */
64
+ type TDescriptionLabelSpan = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
65
+ /**
66
+ * Label column width — a plain number fixes it at every container width, or an object varies it
67
+ * per container-query breakpoint (see {@link TUIGridBreakpoint} for the exact pixel value of each key).
68
+ */
69
+ type TDescriptionLabelColSpan = TDescriptionLabelSpan | Partial<Record<TUIGridBreakpoint, TDescriptionLabelSpan>>;
70
+ /** Whether the nearest ancestor is a `DescriptionGroup` — read by `Description` to pick its `grouped` surface. */
71
+ declare const DescriptionGroupContext: import("react").Context<boolean>;
72
+ type TDescriptionConfig = {
73
+ labelColSpan: TDescriptionLabelColSpan | null;
74
+ size: TDescriptionSize;
75
+ bordered: boolean;
76
+ };
77
+ declare const DESCRIPTION_CONFIG_DEFAULT: TDescriptionConfig;
78
+ /**
79
+ * Cascading config a `Description`/`DescriptionGroup`/`DescriptionRow` publishes for every descendant
80
+ * `DescriptionItem`/`DescriptionHeader`/`DescriptionSection` to read. Each provider MERGES over the
81
+ * inherited value (only overriding the keys it was explicitly given), so `size`/`bordered` inherit
82
+ * through nested panels and groups unless a descendant sets its own.
83
+ */
84
+ declare const DescriptionConfigContext: import("react").Context<TDescriptionConfig>;
85
+ /** Set by `DescriptionRow` so a wrapped `DescriptionItem` knows to skip its own bottom rule — the row wrapper owns it instead. */
86
+ declare const DescriptionRowContext: import("react").Context<boolean>;
87
+ type TDescriptionSearch = {
88
+ query: string;
89
+ setQuery: (query: string) => void;
90
+ };
91
+ /** Live search query published by `Description`, set by a `DescriptionSearch` input and read by every `DescriptionItem`/`DescriptionCollapsibleSection` to decide their own visibility. */
92
+ declare const DescriptionSearchContext: import("react").Context<TDescriptionSearch>;
93
+ type TDescriptionSectionScope = {
94
+ report: (id: string, matched: boolean | null) => void;
95
+ };
96
+ /** Lets a `DescriptionItem` report its own search-match state up to the nearest `DescriptionCollapsibleSection`, which aggregates matches to decide its own visibility. `matched: null` means "this item is unmounting". */
97
+ declare const DescriptionSectionScopeContext: import("react").Context<TDescriptionSectionScope | null>;
98
+ //#endregion
99
+ //#region packages/components/features/descriptions/collapsible-section.d.ts
100
+ type DescriptionCollapsibleSectionProps = React.PropsWithChildren<{
101
+ /** Section label rendered beside the divider line and chevron. */
102
+ title: string;
103
+ /** Uncontrolled initial state. @default true */
104
+ defaultOpen?: boolean;
105
+ /** Controlled open state — pair with `onOpenChange`. */
106
+ open?: boolean;
107
+ onOpenChange?: (open: boolean) => void;
108
+ /**
109
+ * Set `false` to render a static section header with no trigger/chevron (children always render)
110
+ * while still participating in `DescriptionSearch` — a search-aware alternative to the flat
111
+ * `DescriptionSection` divider.
112
+ * @default true
113
+ */
114
+ collapsible?: boolean;
115
+ className?: string;
116
+ }>;
117
+ /**
118
+ * A `DescriptionSection`-style divider whose items collapse/expand, and — unlike the flat
119
+ * `DescriptionSection` — auto-hides itself when every `DescriptionItem` inside it is filtered out by a
120
+ * `DescriptionSearch` (and auto-opens while a query matches one of its items, so hits are never buried
121
+ * inside a collapsed section).
122
+ *
123
+ * @example
124
+ * import { Description, DescriptionCollapsibleSection, DescriptionItem } from '@customafk/lunas-ui/features/descriptions';
125
+ *
126
+ * <Description>
127
+ * <DescriptionCollapsibleSection title="Advanced" defaultOpen={false}>
128
+ * <DescriptionItem label="Internal ID">usr_01hv3k9x2b</DescriptionItem>
129
+ * </DescriptionCollapsibleSection>
130
+ * </Description>
131
+ */
132
+ declare const DescriptionCollapsibleSection: React.FC<DescriptionCollapsibleSectionProps>;
133
+ //#endregion
134
+ //#region packages/components/features/descriptions/components/badge.d.ts
135
+ type DescriptionBadgeProps = {
136
+ label: string | number | null | undefined;
137
+ color?: BadgeProps['color'];
138
+ variant?: BadgeProps['variant'];
139
+ size?: BadgeProps['size'];
140
+ };
141
+ declare const DescriptionBadge: React.FC<DescriptionBadgeProps>;
142
+ //#endregion
143
+ //#region packages/components/features/descriptions/components/boolean.d.ts
144
+ type DescriptionBooleanProps = {
145
+ value: boolean | null | undefined;
146
+ trueLabel?: string;
147
+ falseLabel?: string;
148
+ };
149
+ declare const DescriptionBoolean: React.FC<DescriptionBooleanProps>;
150
+ //#endregion
151
+ //#region packages/components/features/descriptions/components/color.d.ts
152
+ type DescriptionColorProps = {
153
+ /** Any valid CSS color value (`#rrggbb`, `rgb(...)`, a named color, ...). */
154
+ value: string | null | undefined;
155
+ /** Text shown next to the swatch. Defaults to the uppercased raw `value`. */
156
+ label?: string;
157
+ };
158
+ /** A small color swatch + label — for hex codes, theme tokens, or any other color-valued field. */
159
+ declare const DescriptionColor: React.FC<DescriptionColorProps>;
160
+ //#endregion
161
+ //#region packages/components/features/descriptions/components/copy.d.ts
162
+ type DescriptionCopyProps = {
163
+ value: string | null | undefined;
164
+ truncate?: boolean;
165
+ };
166
+ declare const DescriptionCopy: React.FC<DescriptionCopyProps>;
167
+ //#endregion
168
+ //#region packages/components/features/descriptions/components/copy-all.d.ts
169
+ type DescriptionCopyAllProps = {
170
+ /** Accessible label / tooltip text for the button. @default 'Sao chép toàn bộ' */
171
+ label?: string;
172
+ className?: string;
173
+ };
174
+ /**
175
+ * A small icon button that copies every visible `label: value` pair of the nearest ancestor
176
+ * `Description`/`DescriptionGroup` as plain text — place it explicitly wherever you want it, typically
177
+ * inside `DescriptionHeader`'s `extra` slot: `<DescriptionHeader extra={<DescriptionCopyAll />} />`.
178
+ *
179
+ * Reads the *rendered DOM* rather than any props, because a value cell can render arbitrary nodes —
180
+ * the only universally correct "what's currently displayed" is what's actually painted. Section/header
181
+ * titles are included as heading lines so the pasted text keeps its structure, and anything hidden by a
182
+ * `DescriptionSearch` filter (or a collapsed `DescriptionCollapsibleSection`) is skipped — copying
183
+ * matches what's currently visible on screen.
184
+ *
185
+ * @example
186
+ * import { Description, DescriptionHeader } from '@customafk/lunas-ui/features/descriptions';
187
+ * import { DescriptionCopyAll } from '@customafk/lunas-ui/features/descriptions/components';
188
+ *
189
+ * <Description>
190
+ * <DescriptionHeader title="Order #1234" extra={<DescriptionCopyAll />} />
191
+ * ...
192
+ * </Description>
193
+ */
194
+ declare const DescriptionCopyAll: React.FC<DescriptionCopyAllProps>;
195
+ //#endregion
196
+ //#region packages/components/features/descriptions/components/date.d.ts
197
+ type DescriptionDateProps = {
198
+ date: Date | string | number | null | undefined;
199
+ };
200
+ declare const DescriptionDate: React.FC<DescriptionDateProps>;
201
+ //#endregion
202
+ //#region packages/components/features/descriptions/components/empty.d.ts
203
+ declare const DescriptionEmpty: React.FC;
204
+ //#endregion
205
+ //#region packages/components/features/descriptions/components/file.d.ts
206
+ type DescriptionFileProps = {
207
+ name: string | null | undefined;
208
+ /** Download/view URL. Omit while an upload is pending — the filename still renders as inert text. */
209
+ url?: string | null;
210
+ /** File size in bytes, shown formatted (KB/MB/...) next to the name. */
211
+ size?: number | null;
212
+ };
213
+ /**
214
+ * Filename + optional size, linking to `url` for download when one is available. Only null-guards on
215
+ * `!name` — a pending/unavailable upload has a name but no `url` yet, and showing the filename as inert
216
+ * text is more useful than an empty dash.
217
+ */
218
+ declare const DescriptionFile: React.FC<DescriptionFileProps>;
219
+ //#endregion
220
+ //#region packages/components/features/descriptions/components/images.d.ts
221
+ type ImageItem = {
222
+ id: string;
223
+ src: string;
224
+ alt: string;
225
+ };
226
+ declare const DescriptionImages: React.FC<{
227
+ images?: Array<ImageItem> | null | undefined;
228
+ }>;
229
+ //#endregion
230
+ //#region packages/components/features/descriptions/components/json.d.ts
231
+ type DescriptionJsonProps = {
232
+ value: unknown;
233
+ /** Max rendered height in px before the block scrolls internally rather than growing the row. @default 240 */
234
+ maxHeight?: number;
235
+ /** `JSON.stringify` indent width. @default 2 */
236
+ indent?: number;
237
+ /** Renders a click-to-copy button in the top-right corner of the block. @default true */
238
+ copyable?: boolean;
239
+ };
240
+ /**
241
+ * Pretty-printed, monospaced JSON viewer for a value inside a `DescriptionItem`. Bounded height + internal
242
+ * scroll rather than collapsible-by-default — inside a description row the JSON is a *value*, and a value
243
+ * that's collapsed by default reads as empty. Reach for `DescriptionCollapsibleSection` if you want the
244
+ * surrounding section itself to start collapsed.
245
+ */
246
+ declare const DescriptionJson: React.FC<DescriptionJsonProps>;
247
+ //#endregion
248
+ //#region packages/components/features/descriptions/components/link.d.ts
249
+ type DescriptionLinkProps = {
250
+ href: string | null | undefined;
251
+ label?: string;
252
+ external?: boolean;
253
+ className?: string;
254
+ };
255
+ declare const DescriptionLink: React.FC<DescriptionLinkProps>;
256
+ //#endregion
257
+ //#region packages/components/features/descriptions/components/longtext.d.ts
258
+ declare const DescriptionLongText: React.FC<{
259
+ content: string | null | undefined | number;
260
+ }>;
261
+ //#endregion
262
+ //#region packages/components/features/descriptions/components/name.d.ts
263
+ declare const DescriptionName: React.FC<{
264
+ name?: string | null | undefined;
265
+ }>;
266
+ //#endregion
267
+ //#region packages/components/features/descriptions/components/number-phone.d.ts
268
+ declare const DescriptionNumberPhone: React.FC<{
269
+ value?: string | null;
270
+ }>;
271
+ //#endregion
272
+ //#region packages/components/features/descriptions/components/progress.d.ts
273
+ type DescriptionProgressColor = 'primary' | 'success' | 'warning' | 'danger';
274
+ type DescriptionProgressProps = {
275
+ value: number | null | undefined;
276
+ /** @default 100 */
277
+ max?: number;
278
+ /** @default true */
279
+ showValue?: boolean;
280
+ /** Bar thickness. @default 'sm' */
281
+ size?: 'xs' | 'sm' | 'md';
282
+ /** @default 'primary' */
283
+ color?: DescriptionProgressColor;
284
+ };
285
+ /**
286
+ * Thin-wraps `ui/progress` for use as a description value. `value={0}` renders a (visually empty) bar,
287
+ * not `DescriptionEmpty` — 0% progress is real information, unlike `DescriptionStatistic`'s `0`-hides-by-default
288
+ * behavior for currency-like values, where an unset field and a genuine zero amount are indistinguishable.
289
+ */
290
+ declare const DescriptionProgress: React.FC<DescriptionProgressProps>;
291
+ //#endregion
292
+ //#region packages/components/features/descriptions/components/statistic.d.ts
293
+ declare const descriptionStatisticVariants: (props?: ({
294
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
295
+ trend?: "neutral" | "up" | "down" | null | undefined;
296
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
297
+ type DescriptionStatisticProps = VariantProps<typeof descriptionStatisticVariants> & {
298
+ decimalSeparator?: string;
299
+ groupSeparator?: string;
300
+ prefix?: React.ReactNode;
301
+ suffix?: React.ReactNode;
302
+ precision?: number;
303
+ roundingMode?: 'round' | 'floor' | 'ceil';
304
+ showTrailingZeros?: boolean;
305
+ value: number | string | null | undefined;
306
+ className?: string;
307
+ /**
308
+ * Renders `DescriptionEmpty` for a literal `0` value, same as any other unset/invalid input.
309
+ * Set to `false` to display a genuine `0` amount instead.
310
+ * @default true
311
+ */
312
+ emptyOnZero?: boolean;
313
+ };
314
+ /**
315
+ * The value-cell to use for numbers inside a `DescriptionItem` — prefer this over the standalone
316
+ * `Statistic` (`data-display/statistic`) so empty/invalid values consistently fall back to `DescriptionEmpty`.
317
+ */
318
+ declare const DescriptionStatistic: import("react").MemoExoticComponent<({ decimalSeparator, groupSeparator, prefix: Prefix, suffix: Suffix, precision, roundingMode, showTrailingZeros, size, trend, value, className, emptyOnZero }: DescriptionStatisticProps) => import("react").JSX.Element>;
319
+ //#endregion
320
+ //#region packages/components/features/descriptions/components/status.d.ts
321
+ type StatusColor = NonNullable<BadgeProps['color']>;
322
+ type DescriptionStatusProps = {
323
+ label: string | null | undefined;
324
+ color?: StatusColor;
325
+ dot?: boolean;
326
+ };
327
+ declare const DescriptionStatus: React.FC<DescriptionStatusProps>;
328
+ //#endregion
329
+ //#region packages/components/features/descriptions/components/tag-list.d.ts
330
+ type DescriptionTagListProps = {
331
+ tags: Array<string | number> | null | undefined;
332
+ max?: number;
333
+ color?: BadgeProps['color'];
334
+ variant?: BadgeProps['variant'];
335
+ };
336
+ declare const DescriptionTagList: React.FC<DescriptionTagListProps>;
337
+ //#endregion
338
+ //#region packages/components/features/descriptions/components/text.d.ts
339
+ type DescriptionTextProps = {
340
+ value: string | number | null | undefined;
341
+ /** `'normal'` (default) or `'medium'` — the two weights used across real detail panels. */
342
+ weight?: 'normal' | 'medium';
343
+ /** Clamp to a single line with an ellipsis. @default false */
344
+ truncate?: boolean;
345
+ className?: string;
346
+ };
347
+ /**
348
+ * Plain-text value cell with a built-in `DescriptionEmpty` fallback — use this instead of hand-wrapping
349
+ * a value in `<p className="text-sm">` (the `DescriptionItem` value slot already applies that styling).
350
+ *
351
+ * @example
352
+ * import { DescriptionItem, DescriptionText } from '@customafk/lunas-ui/features/descriptions';
353
+ *
354
+ * <DescriptionItem label="Ghi chú">
355
+ * <DescriptionText value={order.note} />
356
+ * </DescriptionItem>
357
+ */
358
+ declare const DescriptionText: React.FC<DescriptionTextProps>;
359
+ //#endregion
360
+ //#region packages/components/features/descriptions/components/user.d.ts
361
+ type DescriptionUserProps = {
362
+ uuid?: string | null;
363
+ username?: string | null;
364
+ email?: string | null;
365
+ };
366
+ declare const DescriptionUser: React.FC<DescriptionUserProps>;
367
+ //#endregion
368
+ //#region packages/components/features/descriptions/row.d.ts
369
+ /** Column counts that divide 12 evenly, so every cell in a `DescriptionRow` is equal-width. */
370
+ type TDescriptionRowColumns = 1 | 2 | 3 | 4 | 6;
371
+ /**
372
+ * Number of `DescriptionItem`s laid out per row — a plain number resolves to `{ base: 1, md: N }`
373
+ * (stacked below 448px, `N`-per-row above), or an object varies it per container-query breakpoint
374
+ * the same way `UIGrid.cols`/`labelColSpan` do.
375
+ */
376
+ type TDescriptionRowColumnsConfig = TDescriptionRowColumns | Partial<Record<TUIGridBreakpoint, TDescriptionRowColumns>>;
377
+ /**
378
+ * Lays a run of `DescriptionItem`s out `columns`-per-row instead of each taking the full row width —
379
+ * an explicit wrapper rather than auto-detecting consecutive `DescriptionItem` children, so the layout
380
+ * never depends on how the children happen to be written (`.map()`, a `Fragment`, a conditional, ...).
381
+ *
382
+ * Each cell nests its own `UIGrid` (the one `DescriptionItem` already renders internally for its
383
+ * label/value split) inside this row's `UIGrid` cell — both declare the same named `@container/ui-grid`
384
+ * context, so the nearer one wins and a squeezed cell's label column resolves against the *cell's* own
385
+ * width, not the full row's, which is exactly what you want (a half-width cell gets the wider `base: 5`
386
+ * label share automatically).
387
+ *
388
+ * There's no vertical rule between cells by default: with a responsive `columns`, "last cell in a visual
389
+ * row" isn't knowable in CSS, so a blanket rule would put a stray line flush against the card's own right
390
+ * edge on every row. Pass `divided` only when every row is known to divide evenly.
391
+ *
392
+ * @example
393
+ * import { Description, DescriptionRow, DescriptionItem } from '@customafk/lunas-ui/features/descriptions';
394
+ *
395
+ * <Description>
396
+ * <DescriptionRow columns={2}>
397
+ * <DescriptionItem label="First name">John</DescriptionItem>
398
+ * <DescriptionItem label="Last name">Doe</DescriptionItem>
399
+ * </DescriptionRow>
400
+ * </Description>
401
+ */
402
+ declare const DescriptionRow: React.FC<React.PropsWithChildren<{
403
+ /** @default 2 */
404
+ columns?: TDescriptionRowColumnsConfig;
405
+ /** Label column width override for every `DescriptionItem` in this row (they'd otherwise inherit the panel default). */
406
+ labelColSpan?: TDescriptionLabelColSpan;
407
+ /** Renders a vertical rule between cells. Only safe when every row has exactly `columns` items. @default false */
408
+ divided?: boolean;
409
+ className?: string;
410
+ }>>;
411
+ //#endregion
412
+ //#region packages/components/features/descriptions/search.d.ts
413
+ type DescriptionSearchProps = {
414
+ /** @default 'Tìm kiếm...' */
415
+ placeholder?: string;
416
+ autoFocus?: boolean;
417
+ className?: string;
418
+ };
419
+ /**
420
+ * A live, as-you-type filter for a `Description`'s `DescriptionItem`s — no debounce, since matching is a
421
+ * cheap string test over at most a few dozen items. Place it inside `DescriptionHeader`'s `extra` slot
422
+ * (the header is sticky by default, so the input stays reachable while scrolling filtered results); it
423
+ * also works as a direct child of `Description`.
424
+ *
425
+ * Filters by case- and diacritic-insensitive substring match against each `DescriptionItem`'s `label` —
426
+ * this is cross-cutting by design (every sibling item reads the query from context), so no wiring is
427
+ * needed beyond mounting this component once per panel.
428
+ *
429
+ * @example
430
+ * import { Description, DescriptionHeader, DescriptionSearch } from '@customafk/lunas-ui/features/descriptions';
431
+ *
432
+ * <Description>
433
+ * <DescriptionHeader title="Order details" extra={<DescriptionSearch />} />
434
+ * ...
435
+ * </Description>
436
+ */
437
+ declare const DescriptionSearch: React.FC<DescriptionSearchProps>;
438
+ //#endregion
439
+ //#region packages/components/features/descriptions/index.d.ts
440
+ /**
441
+ * A single labeled row within a {@link Description} container, supporting both horizontal (side-by-side label/value) and vertical (stacked) layouts.
442
+ *
443
+ * The label column width defaults to a responsive `{ base: 5, sm: 4, md: 3 }` (out of 12) — wider on narrow
444
+ * containers like a `SidePanel`, settling to the classic 3/12 from 448px up — and can be overridden per-item
445
+ * via `labelColSpan`, or for every item in a panel at once via {@link Description}'s own `labelColSpan` prop.
446
+ * A label that doesn't fit its column truncates to a single line with an ellipsis — never wraps to a second
447
+ * line — and shows the full text in a tooltip on hover/focus.
448
+ *
449
+ * Renders inline `size`/`bordered` inherited from the nearest {@link Description}, and, if placed inside a
450
+ * {@link DescriptionSearch}-enabled panel, hides itself (`hidden` + `data-search-hidden`) when its `label`
451
+ * doesn't match the live query — no props needed for this, it's cross-cutting via context.
452
+ *
453
+ * @example
454
+ * import { Description, DescriptionItem } from '@customafk/lunas-ui/features/descriptions';
455
+ *
456
+ * <Description>
457
+ * <DescriptionItem label="Full name">John Doe</DescriptionItem>
458
+ * <DescriptionItem label="Email" orientation="vertical">john@example.com</DescriptionItem>
459
+ * </Description>
460
+ */
461
+ declare const DescriptionItem: React.FC<React.PropsWithChildren<{
462
+ /** Text displayed in the label column. */
463
+ label: string;
464
+ /**
465
+ * Column width (out of 12) allocated to the label in horizontal orientation. Overrides
466
+ * whatever the parent {@link Description}'s own `labelColSpan` (or the library default) is.
467
+ * @default { base: 5, sm: 4, md: 3 }
468
+ */
469
+ labelColSpan?: TDescriptionLabelColSpan;
470
+ /**
471
+ * Layout direction of the label/value pair.
472
+ * - `'horizontal'` — label and value are side by side.
473
+ * - `'vertical'` — label sits above the value.
474
+ * @default 'horizontal'
475
+ */
476
+ orientation?: 'horizontal' | 'vertical';
477
+ /** Optional node rendered in the top-right corner of the label area (e.g. an edit action). */
478
+ action?: React.ReactNode;
479
+ /**
480
+ * Horizontal alignment of the label text within its column.
481
+ * @default 'start'
482
+ */
483
+ labelAlign?: 'start' | 'end';
484
+ }>>;
485
+ /**
486
+ * A header bar for a {@link Description} block, showing a title, an optional subtitle, and an optional trailing action area.
487
+ *
488
+ * @example
489
+ * import { Description, DescriptionHeader } from '@customafk/lunas-ui/features/descriptions';
490
+ *
491
+ * <Description>
492
+ * <DescriptionHeader title="User details" description="Read-only overview" extra={<EditBtn />} />
493
+ * </Description>
494
+ */
495
+ declare const DescriptionHeader: React.FC<{
496
+ /** Primary heading text. */
497
+ title: string;
498
+ /** Optional secondary text rendered below the title in a smaller, muted style. */
499
+ description?: string;
500
+ /** Optional node rendered on the right side of the header (e.g. action buttons, a {@link DescriptionSearch}). */
501
+ extra?: React.ReactNode;
502
+ /**
503
+ * Sticks the header to the top of its scroll container (`sticky top-0 z-30`). Disable when the
504
+ * header is rendered inside a non-scrolling context (e.g. a `Dialog`) where stickiness has no effect.
505
+ * @default true
506
+ */
507
+ sticky?: boolean;
508
+ /** Additional CSS class names applied to the header wrapper. */
509
+ className?: string;
510
+ }>;
511
+ /**
512
+ * A visual section divider inside a {@link Description} container that optionally displays a section title with a decorative horizontal rule.
513
+ *
514
+ * This flat divider stays always-visible during a {@link DescriptionSearch} filter (it has no ownership of
515
+ * the items that follow it). Use {@link DescriptionCollapsibleSection} instead when you want a section that
516
+ * auto-hides once every item inside it is filtered out.
517
+ *
518
+ * @example
519
+ * import { Description, DescriptionSection, DescriptionItem } from '@customafk/lunas-ui/features/descriptions';
520
+ *
521
+ * <Description>
522
+ * <DescriptionSection title="Contact" />
523
+ * <DescriptionItem label="Email">john@example.com</DescriptionItem>
524
+ * </Description>
525
+ */
526
+ declare const DescriptionSection: React.FC<{
527
+ /** Optional section label rendered as uppercase small-caps text beside the divider line. */
528
+ title?: string;
529
+ /** Additional CSS class names applied to the section wrapper. */
530
+ className?: string;
531
+ }>;
532
+ /**
533
+ * Root container for a description block — a bordered, rounded card that groups {@link DescriptionHeader}, {@link DescriptionSection}, and {@link DescriptionItem} elements.
534
+ *
535
+ * Set `nested` when embedding one `Description` inside another (removes the outer card shadow/ring and constrains sizing).
536
+ * Set `loading` to replace content with animated skeleton rows while data is being fetched.
537
+ * Set `labelColSpan` to apply the same label column width to every child `DescriptionItem` at once.
538
+ * Set `size`/`bordered` to apply the same size scale / border style to every descendant at once — both
539
+ * inherit from an ancestor `Description`/`DescriptionGroup` when omitted, so a nested panel matches its
540
+ * parent by default.
541
+ *
542
+ * @example
543
+ * import { Description, DescriptionHeader, DescriptionItem } from '@customafk/lunas-ui/features/descriptions';
544
+ *
545
+ * <Description>
546
+ * <DescriptionHeader title="Order #1234" />
547
+ * <DescriptionItem label="Status">Shipped</DescriptionItem>
548
+ * <DescriptionItem label="Total">$99.00</DescriptionItem>
549
+ * </Description>
550
+ */
551
+ declare const Description: React.FC<React.PropsWithChildren<{
552
+ /** Additional CSS class names applied to the root wrapper element. */
553
+ className?: string;
554
+ /** Strips the outer card shadow/ring and adapts sizing for embedding inside another Description. */
555
+ nested?: boolean;
556
+ /** Replaces children with animated skeleton rows while data is loading. */
557
+ loading?: boolean;
558
+ /** Number of skeleton rows shown when `loading` is true (max 24). @default 4 */
559
+ loadingRows?: number;
560
+ /** Label column width applied to every child `DescriptionItem` that doesn't set its own `labelColSpan`. */
561
+ labelColSpan?: TDescriptionLabelColSpan;
562
+ /** Padding/typography scale for every descendant. Inherits from an ancestor `Description`/`DescriptionGroup` when omitted. @default 'md' */
563
+ size?: TDescriptionSize;
564
+ /** Whether the card chrome and every internal grid line render. `false` strips both the outer border and the inner label background/dividers for a flat look. Inherits when omitted. @default true */
565
+ bordered?: boolean;
566
+ }>>;
567
+ /**
568
+ * A scrollable container that groups multiple {@link Description} blocks and makes each
569
+ * {@link DescriptionHeader} sticky. As you scroll, the next section header stacks above
570
+ * (pushes out) the previous one — standard CSS sticky behaviour within a single scroll context.
571
+ *
572
+ * `size`/`bordered` set here cascade to every child `Description` that doesn't set its own.
573
+ *
574
+ * @example
575
+ * import { DescriptionGroup, Description, DescriptionHeader, DescriptionItem } from '@customafk/lunas-ui/features/descriptions';
576
+ *
577
+ * <DescriptionGroup>
578
+ * <Description>
579
+ * <DescriptionHeader title="Personal info" />
580
+ * <DescriptionItem label="Name">John Doe</DescriptionItem>
581
+ * </Description>
582
+ * <Description>
583
+ * <DescriptionHeader title="Contact" />
584
+ * <DescriptionItem label="Email">john@example.com</DescriptionItem>
585
+ * </Description>
586
+ * </DescriptionGroup>
587
+ */
588
+ declare const DescriptionGroup: React.FC<React.PropsWithChildren<{
589
+ /** Additional CSS class names applied to the group wrapper. */
590
+ className?: string;
591
+ /** Applied to every child `Description` that doesn't set its own. @default 'md' */
592
+ size?: TDescriptionSize;
593
+ /** Applied to every child `Description` that doesn't set its own. @default true */
594
+ bordered?: boolean;
595
+ }>>;
596
+ //#endregion
597
+ export { descriptionItemValueVariants as $, DescriptionBadge as A, TDescriptionLabelSpan as B, DescriptionFile as C, DescriptionCopy as D, DescriptionCopyAll as E, DescriptionRowContext as F, DescriptionItemVariants as G, TDescriptionSectionScope as H, DescriptionSearchContext as I, descriptionGroupVariants as J, DescriptionVariants as K, DescriptionSectionScopeContext as L, DESCRIPTION_CONFIG_DEFAULT as M, DescriptionConfigContext as N, DescriptionColor as O, DescriptionGroupContext as P, descriptionItemLabelVariants as Q, TDescriptionConfig as R, DescriptionImages as S, DescriptionDate as T, DESCRIPTION_LAST_ROW_SELECTOR as U, TDescriptionSearch as V, DescriptionHeaderVariants as W, descriptionHeaderTitleVariants as X, descriptionHeaderDescriptionVariants as Y, descriptionHeaderVariants as Z, DescriptionNumberPhone as _, DescriptionSection as a, DescriptionLink as b, TDescriptionRowColumns as c, DescriptionText as d, descriptionItemVariants as et, DescriptionTagList as f, DescriptionProgress as g, DescriptionStatisticProps as h, DescriptionItem as i, DescriptionCollapsibleSection as j, DescriptionBoolean as k, TDescriptionRowColumnsConfig as l, DescriptionStatistic as m, DescriptionGroup as n, descriptionSectionVariants as nt, DescriptionSearch as o, DescriptionStatus as p, TDescriptionSize as q, DescriptionHeader as r, descriptionVariants as rt, DescriptionRow as s, Description as t, descriptionRowVariants as tt, DescriptionUser as u, DescriptionName as v, DescriptionEmpty as w, DescriptionJson as x, DescriptionLongText as y, TDescriptionLabelColSpan as z };
598
+ //# sourceMappingURL=index-Cp4Db57w.d.cts.map