@stachelock/ui 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/dist/{AlertModal.vue_vue_type_script_setup_true_lang-CxwewAVy.js → AlertModal.vue_vue_type_script_setup_true_lang-C6q8Mpl4.js} +2 -2
  2. package/dist/{AlertModal.vue_vue_type_script_setup_true_lang-CxwewAVy.js.map → AlertModal.vue_vue_type_script_setup_true_lang-C6q8Mpl4.js.map} +1 -1
  3. package/dist/{BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-B570pdYL.js → BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-C8msTrTn.js} +6 -6
  4. package/dist/{BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-B570pdYL.js.map → BackgroundGradientWrapper.vue_vue_type_script_setup_true_lang-C8msTrTn.js.map} +1 -1
  5. package/dist/{BarChart.vue_vue_type_script_setup_true_lang-Dnuzd7vZ.js → BarChart.vue_vue_type_script_setup_true_lang-xCb0DCbf.js} +19 -19
  6. package/dist/{BarChart.vue_vue_type_script_setup_true_lang-Dnuzd7vZ.js.map → BarChart.vue_vue_type_script_setup_true_lang-xCb0DCbf.js.map} +1 -1
  7. package/dist/{BaseModal.vue_vue_type_script_setup_true_lang-Cr_GAD6Q.js → BaseModal.vue_vue_type_script_setup_true_lang-B67Pt3tW.js} +5 -6
  8. package/dist/{BaseModal.vue_vue_type_script_setup_true_lang-Cr_GAD6Q.js.map → BaseModal.vue_vue_type_script_setup_true_lang-B67Pt3tW.js.map} +1 -1
  9. package/dist/{CalendarHeader.vue_vue_type_script_setup_true_lang-DRwe4rw8.js → CalendarHeader.vue_vue_type_script_setup_true_lang-P5ypRyGV.js} +111 -111
  10. package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-P5ypRyGV.js.map +1 -0
  11. package/dist/CheckboxInput.vue_vue_type_script_setup_true_lang-BikR9rgi.js +187 -0
  12. package/dist/{CheckboxInput.vue_vue_type_script_setup_true_lang-B8wJVkPP.js.map → CheckboxInput.vue_vue_type_script_setup_true_lang-BikR9rgi.js.map} +1 -1
  13. package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-1YGa9Fnd.js +1351 -0
  14. package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-1YGa9Fnd.js.map +1 -0
  15. package/dist/{ComingSoon.vue_vue_type_script_setup_true_lang-C5GU-yiK.js → ComingSoon.vue_vue_type_script_setup_true_lang-CJ8FXE42.js} +19 -19
  16. package/dist/{ComingSoon.vue_vue_type_script_setup_true_lang-C5GU-yiK.js.map → ComingSoon.vue_vue_type_script_setup_true_lang-CJ8FXE42.js.map} +1 -1
  17. package/dist/{DashboardLayout.vue_vue_type_script_setup_true_lang-DV-XVWqh.js → DashboardLayout.vue_vue_type_script_setup_true_lang-B0M6-9os.js} +7 -8
  18. package/dist/{DashboardLayout.vue_vue_type_script_setup_true_lang-DV-XVWqh.js.map → DashboardLayout.vue_vue_type_script_setup_true_lang-B0M6-9os.js.map} +1 -1
  19. package/dist/DatepickerInput.vue_vue_type_style_index_0_lang-BdkGLw0H.js.map +1 -1
  20. package/dist/{DayCalendar.vue_vue_type_script_setup_true_lang-BV9vYYuX.js → DayCalendar.vue_vue_type_script_setup_true_lang-8al4Fotu.js} +47 -47
  21. package/dist/{DayCalendar.vue_vue_type_script_setup_true_lang-BV9vYYuX.js.map → DayCalendar.vue_vue_type_script_setup_true_lang-8al4Fotu.js.map} +1 -1
  22. package/dist/{DisclosureWrapper.vue_vue_type_script_setup_true_lang-B-Mr_vdx.js → DisclosureWrapper.vue_vue_type_script_setup_true_lang-C7y2bNhW.js} +38 -38
  23. package/dist/{DisclosureWrapper.vue_vue_type_script_setup_true_lang-B-Mr_vdx.js.map → DisclosureWrapper.vue_vue_type_script_setup_true_lang-C7y2bNhW.js.map} +1 -1
  24. package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-CxSaO5Cl.js +253 -0
  25. package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-CxSaO5Cl.js.map +1 -0
  26. package/dist/{DynamicFormField.vue_vue_type_script_setup_true_lang-Ct8b80dM.js → DynamicFormField.vue_vue_type_script_setup_true_lang-CSLSRFM7.js} +16 -16
  27. package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-CSLSRFM7.js.map +1 -0
  28. package/dist/EmailInput.vue_vue_type_script_setup_true_lang-BicPMIop.js +122 -0
  29. package/dist/{EmailInput.vue_vue_type_script_setup_true_lang-Dhfgs2Jn.js.map → EmailInput.vue_vue_type_script_setup_true_lang-BicPMIop.js.map} +1 -1
  30. package/dist/{EmptyInput.vue_vue_type_script_setup_true_lang-BDxgc5Bs.js → EmptyInput.vue_vue_type_script_setup_true_lang-FWDCFF2c.js} +9 -9
  31. package/dist/{EmptyInput.vue_vue_type_script_setup_true_lang-BDxgc5Bs.js.map → EmptyInput.vue_vue_type_script_setup_true_lang-FWDCFF2c.js.map} +1 -1
  32. package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-B_XAq5Sr.js → EmptyState.vue_vue_type_script_setup_true_lang-Dxy-cLPT.js} +29 -29
  33. package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-B_XAq5Sr.js.map → EmptyState.vue_vue_type_script_setup_true_lang-Dxy-cLPT.js.map} +1 -1
  34. package/dist/{EventsList.vue_vue_type_script_setup_true_lang-D3q9wJ4E.js → EventsList.vue_vue_type_script_setup_true_lang-MhuVi5u8.js} +30 -31
  35. package/dist/{EventsList.vue_vue_type_script_setup_true_lang-D3q9wJ4E.js.map → EventsList.vue_vue_type_script_setup_true_lang-MhuVi5u8.js.map} +1 -1
  36. package/dist/{FunnelChart.vue_vue_type_script_setup_true_lang-B8QYlJ-s.js → FunnelChart.vue_vue_type_script_setup_true_lang-B4pH6xCV.js} +12 -12
  37. package/dist/{FunnelChart.vue_vue_type_script_setup_true_lang-B8QYlJ-s.js.map → FunnelChart.vue_vue_type_script_setup_true_lang-B4pH6xCV.js.map} +1 -1
  38. package/dist/{HiddenInput.vue_vue_type_script_setup_true_lang-DYdvWmVE.js → HiddenInput.vue_vue_type_script_setup_true_lang-PtGZ4eLW.js} +10 -10
  39. package/dist/{HiddenInput.vue_vue_type_script_setup_true_lang-DYdvWmVE.js.map → HiddenInput.vue_vue_type_script_setup_true_lang-PtGZ4eLW.js.map} +1 -1
  40. package/dist/{InlineTabs.vue_vue_type_script_setup_true_lang-DhkX5sWS.js → InlineTabs.vue_vue_type_script_setup_true_lang-CD0lnkUm.js} +29 -29
  41. package/dist/{InlineTabs.vue_vue_type_script_setup_true_lang-DhkX5sWS.js.map → InlineTabs.vue_vue_type_script_setup_true_lang-CD0lnkUm.js.map} +1 -1
  42. package/dist/{LineChart.vue_vue_type_script_setup_true_lang-DszQ-a5L.js → LineChart.vue_vue_type_script_setup_true_lang-DJo0edLJ.js} +17 -17
  43. package/dist/{LineChart.vue_vue_type_script_setup_true_lang-DszQ-a5L.js.map → LineChart.vue_vue_type_script_setup_true_lang-DJo0edLJ.js.map} +1 -1
  44. package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-swmHdR0_.js +36 -0
  45. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-CwOOShcM.js.map → LottieAnimation.vue_vue_type_script_setup_true_lang-swmHdR0_.js.map} +1 -1
  46. package/dist/{MonthCalendar.vue_vue_type_style_index_0_lang-CnX3Ih0W.js → MonthCalendar.vue_vue_type_style_index_0_lang-Cyzq7A9j.js} +2 -2
  47. package/dist/{MonthCalendar.vue_vue_type_style_index_0_lang-CnX3Ih0W.js.map → MonthCalendar.vue_vue_type_style_index_0_lang-Cyzq7A9j.js.map} +1 -1
  48. package/dist/NavigationGroup.vue_vue_type_script_setup_true_lang-BWq5fpEm.js +30 -0
  49. package/dist/{NavigationGroup.vue_vue_type_script_setup_true_lang-2tAB9Hbx.js.map → NavigationGroup.vue_vue_type_script_setup_true_lang-BWq5fpEm.js.map} +1 -1
  50. package/dist/{NavigationItem.vue_vue_type_script_setup_true_lang-CEsuYl3S.js → NavigationItem.vue_vue_type_script_setup_true_lang-C8aX-84Q.js} +18 -18
  51. package/dist/{NavigationItem.vue_vue_type_script_setup_true_lang-CEsuYl3S.js.map → NavigationItem.vue_vue_type_script_setup_true_lang-C8aX-84Q.js.map} +1 -1
  52. package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-DZxcEZkP.js +277 -0
  53. package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-DZxcEZkP.js.map +1 -0
  54. package/dist/{PieChart.vue_vue_type_script_setup_true_lang-DJRcsty7.js → PieChart.vue_vue_type_script_setup_true_lang-e3wsA9O4.js} +12 -12
  55. package/dist/{PieChart.vue_vue_type_script_setup_true_lang-DJRcsty7.js.map → PieChart.vue_vue_type_script_setup_true_lang-e3wsA9O4.js.map} +1 -1
  56. package/dist/ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-DkABeWJt.js +130 -0
  57. package/dist/{ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-Cri9BiBy.js.map → ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-DkABeWJt.js.map} +1 -1
  58. package/dist/{ProjectLogo.vue_vue_type_script_setup_true_lang-CtroDq7L.js → ProjectLogo.vue_vue_type_script_setup_true_lang-DYjp-RNh.js} +24 -24
  59. package/dist/{ProjectLogo.vue_vue_type_script_setup_true_lang-CtroDq7L.js.map → ProjectLogo.vue_vue_type_script_setup_true_lang-DYjp-RNh.js.map} +1 -1
  60. package/dist/{SelectInput.vue_vue_type_script_setup_true_lang--yUL7bcx.js → SelectInput.vue_vue_type_script_setup_true_lang-DHiZ-7K2.js} +111 -111
  61. package/dist/SelectInput.vue_vue_type_script_setup_true_lang-DHiZ-7K2.js.map +1 -0
  62. package/dist/{SelectTextInput.vue_vue_type_script_setup_true_lang-B2Gw_se2.js → SelectTextInput.vue_vue_type_script_setup_true_lang-DYrXW14A.js} +2 -2
  63. package/dist/{SelectTextInput.vue_vue_type_script_setup_true_lang-B2Gw_se2.js.map → SelectTextInput.vue_vue_type_script_setup_true_lang-DYrXW14A.js.map} +1 -1
  64. package/dist/{SidebarLayout.vue_vue_type_script_setup_true_lang-BD2PF5xp.js → SidebarLayout.vue_vue_type_script_setup_true_lang-BJ5jadgZ.js} +9 -10
  65. package/dist/{SidebarLayout.vue_vue_type_script_setup_true_lang-BD2PF5xp.js.map → SidebarLayout.vue_vue_type_script_setup_true_lang-BJ5jadgZ.js.map} +1 -1
  66. package/dist/{SparklineChart.vue_vue_type_script_setup_true_lang-DDTcpEjy.js → SparklineChart.vue_vue_type_script_setup_true_lang-BlNk5ZqM.js} +17 -17
  67. package/dist/{SparklineChart.vue_vue_type_script_setup_true_lang-DDTcpEjy.js.map → SparklineChart.vue_vue_type_script_setup_true_lang-BlNk5ZqM.js.map} +1 -1
  68. package/dist/{StatCard.vue_vue_type_script_setup_true_lang-DTOT0-WB.js → StatCard.vue_vue_type_script_setup_true_lang-BfFupfmC.js} +40 -40
  69. package/dist/{StatCard.vue_vue_type_script_setup_true_lang-DTOT0-WB.js.map → StatCard.vue_vue_type_script_setup_true_lang-BfFupfmC.js.map} +1 -1
  70. package/dist/{StepperPanels.vue_vue_type_script_setup_true_lang-BtHrfqFI.js → StepperPanels.vue_vue_type_script_setup_true_lang-D6Fv7iz3.js} +38 -38
  71. package/dist/{StepperPanels.vue_vue_type_script_setup_true_lang-BtHrfqFI.js.map → StepperPanels.vue_vue_type_script_setup_true_lang-D6Fv7iz3.js.map} +1 -1
  72. package/dist/{SwitchInput.vue_vue_type_script_setup_true_lang-D6M1qwP1.js → SwitchInput.vue_vue_type_script_setup_true_lang-C88FcxuK.js} +110 -108
  73. package/dist/{SwitchInput.vue_vue_type_script_setup_true_lang-D6M1qwP1.js.map → SwitchInput.vue_vue_type_script_setup_true_lang-C88FcxuK.js.map} +1 -1
  74. package/dist/{SwitchInputGroup.vue_vue_type_script_setup_true_lang-BNKKEAMq.js → SwitchInputGroup.vue_vue_type_script_setup_true_lang-CK9JWl4F.js} +2 -2
  75. package/dist/{SwitchInputGroup.vue_vue_type_script_setup_true_lang-BNKKEAMq.js.map → SwitchInputGroup.vue_vue_type_script_setup_true_lang-CK9JWl4F.js.map} +1 -1
  76. package/dist/{TabGroup.vue_vue_type_script_setup_true_lang-DrhDwLL3.js → TabGroup.vue_vue_type_script_setup_true_lang-DVVeOgWH.js} +3 -3
  77. package/dist/{TabGroup.vue_vue_type_script_setup_true_lang-DrhDwLL3.js.map → TabGroup.vue_vue_type_script_setup_true_lang-DVVeOgWH.js.map} +1 -1
  78. package/dist/{TabGroupUnderline.vue_vue_type_script_setup_true_lang-Di33js6c.js → TabGroupUnderline.vue_vue_type_script_setup_true_lang-_3XtOn3w.js} +32 -32
  79. package/dist/{TabGroupUnderline.vue_vue_type_script_setup_true_lang-Di33js6c.js.map → TabGroupUnderline.vue_vue_type_script_setup_true_lang-_3XtOn3w.js.map} +1 -1
  80. package/dist/{TabsInPills.vue_vue_type_script_setup_true_lang-CMxaK0Kw.js → TabsInPills.vue_vue_type_script_setup_true_lang-DY1NkXCQ.js} +21 -21
  81. package/dist/{TabsInPills.vue_vue_type_script_setup_true_lang-CMxaK0Kw.js.map → TabsInPills.vue_vue_type_script_setup_true_lang-DY1NkXCQ.js.map} +1 -1
  82. package/dist/{TagifyInput.vue_vue_type_script_setup_true_lang-CAK6ZIiz.js → TagifyInput.vue_vue_type_script_setup_true_lang-Da6-pRJ2.js} +2 -2
  83. package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-Da6-pRJ2.js.map +1 -0
  84. package/dist/{TextAreaInput.vue_vue_type_script_setup_true_lang-BMpc-5ln.js → TextAreaInput.vue_vue_type_script_setup_true_lang-Cf0MJobG.js} +47 -47
  85. package/dist/{TextAreaInput.vue_vue_type_script_setup_true_lang-BMpc-5ln.js.map → TextAreaInput.vue_vue_type_script_setup_true_lang-Cf0MJobG.js.map} +1 -1
  86. package/dist/{UiAvatar.vue_vue_type_script_setup_true_lang-Ci7VLRZx.js → UiAvatar.vue_vue_type_script_setup_true_lang-WVY6JbUL.js} +36 -36
  87. package/dist/UiAvatar.vue_vue_type_script_setup_true_lang-WVY6JbUL.js.map +1 -0
  88. package/dist/{UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js → UiBadge.vue_vue_type_script_setup_true_lang-DOtbLb9x.js} +19 -19
  89. package/dist/{UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js.map → UiBadge.vue_vue_type_script_setup_true_lang-DOtbLb9x.js.map} +1 -1
  90. package/dist/{UiButtonGroup.vue_vue_type_script_setup_true_lang-BKyznfxi.js → UiButtonGroup.vue_vue_type_script_setup_true_lang-CVwXB-cb.js} +28 -28
  91. package/dist/{UiButtonGroup.vue_vue_type_script_setup_true_lang-BKyznfxi.js.map → UiButtonGroup.vue_vue_type_script_setup_true_lang-CVwXB-cb.js.map} +1 -1
  92. package/dist/{UiCheckbox.vue_vue_type_script_setup_true_lang-B5fPB7PH.js → UiCheckbox.vue_vue_type_script_setup_true_lang-BxyM_F-V.js} +37 -37
  93. package/dist/{UiCheckbox.vue_vue_type_script_setup_true_lang-B5fPB7PH.js.map → UiCheckbox.vue_vue_type_script_setup_true_lang-BxyM_F-V.js.map} +1 -1
  94. package/dist/{UiLoading.vue_vue_type_script_setup_true_lang-DldleD-3.js → UiLoading.vue_vue_type_script_setup_true_lang-rNvtzKbq.js} +42 -42
  95. package/dist/{UiLoading.vue_vue_type_script_setup_true_lang-DldleD-3.js.map → UiLoading.vue_vue_type_script_setup_true_lang-rNvtzKbq.js.map} +1 -1
  96. package/dist/{UiMenu.vue_vue_type_script_setup_true_lang-aJddpshR.js → UiMenu.vue_vue_type_script_setup_true_lang-bQdfCzk6.js} +74 -74
  97. package/dist/{UiMenu.vue_vue_type_script_setup_true_lang-aJddpshR.js.map → UiMenu.vue_vue_type_script_setup_true_lang-bQdfCzk6.js.map} +1 -1
  98. package/dist/{UiModal.vue_vue_type_script_setup_true_lang-CFgLuifQ.js → UiModal.vue_vue_type_script_setup_true_lang-CpwFUDVU.js} +9 -10
  99. package/dist/{UiModal.vue_vue_type_script_setup_true_lang-CFgLuifQ.js.map → UiModal.vue_vue_type_script_setup_true_lang-CpwFUDVU.js.map} +1 -1
  100. package/dist/{UiNavLink.vue_vue_type_script_setup_true_lang-C23h6Do0.js → UiNavLink.vue_vue_type_script_setup_true_lang-DnWMn40M.js} +2 -2
  101. package/dist/{UiNavLink.vue_vue_type_script_setup_true_lang-C23h6Do0.js.map → UiNavLink.vue_vue_type_script_setup_true_lang-DnWMn40M.js.map} +1 -1
  102. package/dist/{UiProgressBar.vue_vue_type_script_setup_true_lang-BioTMORv.js → UiProgressBar.vue_vue_type_script_setup_true_lang-BCh4orZW.js} +24 -24
  103. package/dist/{UiProgressBar.vue_vue_type_script_setup_true_lang-BioTMORv.js.map → UiProgressBar.vue_vue_type_script_setup_true_lang-BCh4orZW.js.map} +1 -1
  104. package/dist/{UiTable.vue_vue_type_script_setup_true_lang-BuOCaPzi.js → UiTable.vue_vue_type_script_setup_true_lang-xGAiJ9rS.js} +80 -83
  105. package/dist/UiTable.vue_vue_type_script_setup_true_lang-xGAiJ9rS.js.map +1 -0
  106. package/dist/{UiTransition.vue_vue_type_script_setup_true_lang-DwBTj18t.js → UiTransition.vue_vue_type_script_setup_true_lang-C4jb9I-3.js} +15 -15
  107. package/dist/{UiTransition.vue_vue_type_script_setup_true_lang-DwBTj18t.js.map → UiTransition.vue_vue_type_script_setup_true_lang-C4jb9I-3.js.map} +1 -1
  108. package/dist/{YearCalendar.vue_vue_type_script_setup_true_lang-C01PTLg8.js → YearCalendar.vue_vue_type_script_setup_true_lang-CfKSpLLN.js} +15 -15
  109. package/dist/{YearCalendar.vue_vue_type_script_setup_true_lang-C01PTLg8.js.map → YearCalendar.vue_vue_type_script_setup_true_lang-CfKSpLLN.js.map} +1 -1
  110. package/dist/{calendar-DyIP7WGv.js → calendar-BlSSD4nO.js} +2 -2
  111. package/dist/calendar-BlSSD4nO.js.map +1 -0
  112. package/dist/calendars/CalendarDashboard.d.ts +1 -3
  113. package/dist/calendars/CalendarDashboard.js +32 -33
  114. package/dist/calendars/CalendarDashboard.js.map +1 -1
  115. package/dist/calendars/CalendarHeader.d.ts +1 -3
  116. package/dist/calendars/CalendarHeader.js +1 -1
  117. package/dist/calendars/DayCalendar.d.ts +1 -3
  118. package/dist/calendars/DayCalendar.js +1 -1
  119. package/dist/calendars/EventCard.d.ts +1 -3
  120. package/dist/calendars/EventsList.d.ts +1 -3
  121. package/dist/calendars/EventsList.js +1 -1
  122. package/dist/calendars/MonthCalendar.d.ts +1 -3
  123. package/dist/calendars/MonthCalendar.js +1 -1
  124. package/dist/calendars/WeekCalendar.d.ts +1 -3
  125. package/dist/calendars/WeekCalendar.js +118 -118
  126. package/dist/calendars/WeekCalendar.js.map +1 -1
  127. package/dist/calendars/YearCalendar.d.ts +1 -3
  128. package/dist/calendars/YearCalendar.js +1 -1
  129. package/dist/charts/BarChart.d.ts +1 -3
  130. package/dist/charts/BarChart.js +1 -1
  131. package/dist/charts/BaseChart.d.ts +1 -3
  132. package/dist/charts/BaseChart.js +54 -54
  133. package/dist/charts/BaseChart.js.map +1 -1
  134. package/dist/charts/FunnelChart.d.ts +1 -3
  135. package/dist/charts/FunnelChart.js +1 -1
  136. package/dist/charts/LineChart.d.ts +1 -3
  137. package/dist/charts/LineChart.js +1 -1
  138. package/dist/charts/PieChart.d.ts +1 -3
  139. package/dist/charts/PieChart.js +1 -1
  140. package/dist/charts/SparklineChart.d.ts +1 -3
  141. package/dist/charts/SparklineChart.js +1 -1
  142. package/dist/charts/StatCard.d.ts +1 -3
  143. package/dist/charts/StatCard.js +1 -1
  144. package/dist/charts/chartTheme.d.ts +3 -0
  145. package/dist/charts/index.d.ts +1 -0
  146. package/dist/charts/index.js +6 -6
  147. package/dist/components/Avatar.d.ts +1 -3
  148. package/dist/components/Avatar.js +1 -1
  149. package/dist/components/Badge.d.ts +1 -3
  150. package/dist/components/Badge.js +1 -1
  151. package/dist/components/Banner.d.ts +1 -3
  152. package/dist/components/Banner.js +69 -69
  153. package/dist/components/Banner.js.map +1 -1
  154. package/dist/components/Breadcrumb.d.ts +1 -3
  155. package/dist/components/Breadcrumb.js +5 -5
  156. package/dist/components/Breadcrumb.js.map +1 -1
  157. package/dist/components/Button.d.ts +1 -3
  158. package/dist/components/Button.js +29 -29
  159. package/dist/components/Button.js.map +1 -1
  160. package/dist/components/ButtonGroup.d.ts +1 -3
  161. package/dist/components/ButtonGroup.js +1 -1
  162. package/dist/components/Checkbox.d.ts +1 -3
  163. package/dist/components/Checkbox.js +1 -1
  164. package/dist/components/CloudinaryImage.d.ts +1 -3
  165. package/dist/components/Loading.d.ts +1 -3
  166. package/dist/components/Loading.js +1 -1
  167. package/dist/components/LoadingDots.d.ts +1 -3
  168. package/dist/components/LottieAnimation.d.ts +1 -3
  169. package/dist/components/LottieAnimation.js +1 -1
  170. package/dist/components/Menu.d.ts +1 -3
  171. package/dist/components/Menu.js +1 -1
  172. package/dist/components/Modal.d.ts +1 -3
  173. package/dist/components/Modal.js +1 -1
  174. package/dist/components/NavLink.d.ts +1 -3
  175. package/dist/components/NavLink.js +1 -1
  176. package/dist/components/ProgressBar.d.ts +1 -3
  177. package/dist/components/ProgressBar.js +1 -1
  178. package/dist/components/RadialProgressBar.d.ts +1 -3
  179. package/dist/components/RadialProgressBar.js +1 -1
  180. package/dist/components/Table.d.ts +1 -3
  181. package/dist/components/Table.js +1 -1
  182. package/dist/components/Transition.d.ts +1 -3
  183. package/dist/components/Transition.js +1 -1
  184. package/dist/composables/index.d.ts +1 -0
  185. package/dist/composables/useCalendar.d.ts +3 -0
  186. package/dist/composables/useCalendar.js +1 -1
  187. package/dist/composables/useFormValidation.d.ts +3 -0
  188. package/dist/composables/useMap.d.ts +3 -0
  189. package/dist/composables/useModal.d.ts +3 -0
  190. package/dist/composables/useNotifications.d.ts +3 -0
  191. package/dist/composables/useNotifications.js +221 -58
  192. package/dist/composables/useNotifications.js.map +1 -1
  193. package/dist/composables/useTabs.d.ts +1 -0
  194. package/dist/composables/useTheme.d.ts +3 -0
  195. package/dist/{dialog-B2WA4G25.js → dialog-BJ2Ld8l3.js} +2 -2
  196. package/dist/{dialog-B2WA4G25.js.map → dialog-BJ2Ld8l3.js.map} +1 -1
  197. package/dist/empty-state/ComingSoon.d.ts +1 -3
  198. package/dist/empty-state/ComingSoon.js +1 -1
  199. package/dist/empty-state/EmptyState.d.ts +1 -3
  200. package/dist/empty-state/EmptyState.js +1 -1
  201. package/dist/empty-state/index.d.ts +1 -0
  202. package/dist/empty-state/index.js +2 -2
  203. package/dist/forms/DynamicForm.d.ts +1 -3
  204. package/dist/forms/DynamicForm.js +1 -1
  205. package/dist/forms/DynamicFormField.d.ts +1 -3
  206. package/dist/forms/DynamicFormField.js +1 -1
  207. package/dist/forms/FormFieldWrapper.d.ts +1 -3
  208. package/dist/forms/FormFieldWrapper.js +56 -56
  209. package/dist/forms/FormFieldWrapper.js.map +1 -1
  210. package/dist/index.d.ts +3 -0
  211. package/dist/index.js +505 -511
  212. package/dist/index.js.map +1 -1
  213. package/dist/inputs/AddDeleteButtonGroup.d.ts +1 -3
  214. package/dist/inputs/CheckboxInput.d.ts +1 -3
  215. package/dist/inputs/CheckboxInput.js +1 -1
  216. package/dist/inputs/ComboboxInput.d.ts +1 -3
  217. package/dist/inputs/ComboboxInput.js +1 -1
  218. package/dist/inputs/DatepickerInput.d.ts +1 -3
  219. package/dist/inputs/EmailInput.d.ts +1 -3
  220. package/dist/inputs/EmailInput.js +1 -1
  221. package/dist/inputs/EmptyInput.d.ts +1 -3
  222. package/dist/inputs/EmptyInput.js +1 -1
  223. package/dist/inputs/FileDropzoneInput.d.ts +1 -3
  224. package/dist/inputs/HiddenInput.d.ts +1 -3
  225. package/dist/inputs/HiddenInput.js +1 -1
  226. package/dist/inputs/PhoneInput.d.ts +1 -3
  227. package/dist/inputs/PhoneInput.js +33 -23
  228. package/dist/inputs/PhoneInput.js.map +1 -1
  229. package/dist/inputs/RichTextInput.d.ts +1 -3
  230. package/dist/inputs/RichTextInput.js +693 -693
  231. package/dist/inputs/RichTextInput.js.map +1 -1
  232. package/dist/inputs/SelectInput.d.ts +1 -3
  233. package/dist/inputs/SelectInput.js +1 -1
  234. package/dist/inputs/SelectTextInput.d.ts +1 -3
  235. package/dist/inputs/SelectTextInput.js +1 -1
  236. package/dist/inputs/SwitchInput.d.ts +1 -3
  237. package/dist/inputs/SwitchInput.js +1 -1
  238. package/dist/inputs/SwitchInputGroup.d.ts +1 -3
  239. package/dist/inputs/SwitchInputGroup.js +1 -1
  240. package/dist/inputs/TagifyInput.d.ts +1 -3
  241. package/dist/inputs/TagifyInput.js +1 -1
  242. package/dist/inputs/TextAreaInput.d.ts +1 -3
  243. package/dist/inputs/TextAreaInput.js +1 -1
  244. package/dist/inputs/TextInput.d.ts +1 -3
  245. package/dist/inputs/TextInput.js +43 -43
  246. package/dist/inputs/TextInput.js.map +1 -1
  247. package/dist/layouts/DashboardLayout.d.ts +1 -3
  248. package/dist/layouts/DashboardLayout.js +1 -1
  249. package/dist/layouts/DefaultLayout.d.ts +1 -3
  250. package/dist/layouts/HeaderLayout.d.ts +1 -3
  251. package/dist/layouts/NavigationGroup.d.ts +1 -3
  252. package/dist/layouts/NavigationGroup.js +1 -1
  253. package/dist/layouts/NavigationItem.d.ts +1 -3
  254. package/dist/layouts/NavigationItem.js +1 -1
  255. package/dist/layouts/ProfileHeaderAvatar.d.ts +1 -3
  256. package/dist/layouts/ProfileHeaderAvatar.js +1 -1
  257. package/dist/layouts/ProjectLogo.d.ts +1 -3
  258. package/dist/layouts/ProjectLogo.js +1 -1
  259. package/dist/layouts/SidebarLayout.d.ts +1 -3
  260. package/dist/layouts/SidebarLayout.js +1 -1
  261. package/dist/{listbox-p2_4hUSD.js → listbox-YaWWZiiG.js} +2 -2
  262. package/dist/{listbox-p2_4hUSD.js.map → listbox-YaWWZiiG.js.map} +1 -1
  263. package/dist/loading/ContentSkeleton.d.ts +1 -3
  264. package/dist/loading/ContentSkeleton.js +32 -32
  265. package/dist/loading/ContentSkeleton.js.map +1 -1
  266. package/dist/loading/SmartLoadingIndicator.d.ts +1 -3
  267. package/dist/loading/SmartLoadingIndicator.js +92 -92
  268. package/dist/loading/SmartLoadingIndicator.js.map +1 -1
  269. package/dist/loading/index.d.ts +1 -0
  270. package/dist/maps/GoogleMap.d.ts +1 -3
  271. package/dist/maps/GoogleMap.js +2 -2
  272. package/dist/maps/GoogleMap.js.map +1 -1
  273. package/dist/maps/UiInfoWindow.d.ts +1 -3
  274. package/dist/maps/UiMap.d.ts +1 -3
  275. package/dist/maps/UiMap.js +18 -15
  276. package/dist/maps/UiMap.js.map +1 -1
  277. package/dist/maps/UiMapAll.d.ts +1 -3
  278. package/dist/maps/UiMapMarker.d.ts +1 -3
  279. package/dist/maps/index.d.ts +1 -0
  280. package/dist/modals/AlertModal.d.ts +1 -3
  281. package/dist/modals/AlertModal.js +1 -1
  282. package/dist/modals/BaseModal.d.ts +1 -3
  283. package/dist/modals/BaseModal.js +1 -1
  284. package/dist/modals/ImageCropperModal.d.ts +1 -3
  285. package/dist/modals/ImageCropperModal.js +182 -185
  286. package/dist/modals/ImageCropperModal.js.map +1 -1
  287. package/dist/notifications/NotificationContainer.d.ts +1 -3
  288. package/dist/notifications/NotificationContainer.js +30 -16
  289. package/dist/notifications/NotificationContainer.js.map +1 -1
  290. package/dist/notifications/NotificationToast.d.ts +1 -3
  291. package/dist/notifications/NotificationToast.js +1 -1
  292. package/dist/notifications/index.d.ts +1 -0
  293. package/dist/notifications/index.js +1 -1
  294. package/dist/src/components/CloudinaryImage.d.ts +7 -8
  295. package/dist/src/components/CloudinaryImage.d.ts.map +1 -1
  296. package/dist/src/components/LottieAnimation.d.ts +6 -37
  297. package/dist/src/components/LottieAnimation.d.ts.map +1 -1
  298. package/dist/src/components/ThemeDebugModal.d.ts +6 -16
  299. package/dist/src/components/ThemeDebugModal.d.ts.map +1 -1
  300. package/dist/src/components/UiAvatar.d.ts +26 -36
  301. package/dist/src/components/UiAvatar.d.ts.map +1 -1
  302. package/dist/src/components/UiBadge.d.ts +6 -33
  303. package/dist/src/components/UiBadge.d.ts.map +1 -1
  304. package/dist/src/components/UiBanner.d.ts +34 -107
  305. package/dist/src/components/UiBanner.d.ts.map +1 -1
  306. package/dist/src/components/UiBreadcrumb.d.ts +10 -11
  307. package/dist/src/components/UiBreadcrumb.d.ts.map +1 -1
  308. package/dist/src/components/UiButton.d.ts +13 -66
  309. package/dist/src/components/UiButton.d.ts.map +1 -1
  310. package/dist/src/components/UiButtonGroup.d.ts +7 -37
  311. package/dist/src/components/UiButtonGroup.d.ts.map +1 -1
  312. package/dist/src/components/UiCheckbox.d.ts +8 -33
  313. package/dist/src/components/UiCheckbox.d.ts.map +1 -1
  314. package/dist/src/components/UiLoading.d.ts +2 -28
  315. package/dist/src/components/UiLoading.d.ts.map +1 -1
  316. package/dist/src/components/UiLoadingDots.d.ts +1 -1
  317. package/dist/src/components/UiLoadingDots.d.ts.map +1 -1
  318. package/dist/src/components/UiMenu.d.ts +4 -32
  319. package/dist/src/components/UiMenu.d.ts.map +1 -1
  320. package/dist/src/components/UiModal.d.ts +3 -2
  321. package/dist/src/components/UiModal.d.ts.map +1 -1
  322. package/dist/src/components/UiNavLink.d.ts +6 -40
  323. package/dist/src/components/UiNavLink.d.ts.map +1 -1
  324. package/dist/src/components/UiProgressBar.d.ts +3 -32
  325. package/dist/src/components/UiProgressBar.d.ts.map +1 -1
  326. package/dist/src/components/UiRadialProgressBar.d.ts +3 -34
  327. package/dist/src/components/UiRadialProgressBar.d.ts.map +1 -1
  328. package/dist/src/components/UiTable.d.ts +25 -67
  329. package/dist/src/components/UiTable.d.ts.map +1 -1
  330. package/dist/src/components/UiTransition.d.ts +3 -26
  331. package/dist/src/components/UiTransition.d.ts.map +1 -1
  332. package/dist/src/components/calendars/CalendarDashboard.d.ts +5 -17
  333. package/dist/src/components/calendars/CalendarDashboard.d.ts.map +1 -1
  334. package/dist/src/components/calendars/CalendarHeader.d.ts +8 -7
  335. package/dist/src/components/calendars/CalendarHeader.d.ts.map +1 -1
  336. package/dist/src/components/calendars/DayCalendar.d.ts +11 -17
  337. package/dist/src/components/calendars/DayCalendar.d.ts.map +1 -1
  338. package/dist/src/components/calendars/EventCard.d.ts +1 -2
  339. package/dist/src/components/calendars/EventCard.d.ts.map +1 -1
  340. package/dist/src/components/calendars/EventsList.d.ts +6 -18
  341. package/dist/src/components/calendars/EventsList.d.ts.map +1 -1
  342. package/dist/src/components/calendars/MonthCalendar.d.ts +6 -30
  343. package/dist/src/components/calendars/MonthCalendar.d.ts.map +1 -1
  344. package/dist/src/components/calendars/WeekCalendar.d.ts +10 -16
  345. package/dist/src/components/calendars/WeekCalendar.d.ts.map +1 -1
  346. package/dist/src/components/calendars/YearCalendar.d.ts +5 -29
  347. package/dist/src/components/calendars/YearCalendar.d.ts.map +1 -1
  348. package/dist/src/components/charts/BarChart.d.ts +6 -39
  349. package/dist/src/components/charts/BarChart.d.ts.map +1 -1
  350. package/dist/src/components/charts/FunnelChart.d.ts +5 -34
  351. package/dist/src/components/charts/FunnelChart.d.ts.map +1 -1
  352. package/dist/src/components/charts/LineChart.d.ts +6 -37
  353. package/dist/src/components/charts/LineChart.d.ts.map +1 -1
  354. package/dist/src/components/charts/PieChart.d.ts +6 -37
  355. package/dist/src/components/charts/PieChart.d.ts.map +1 -1
  356. package/dist/src/components/charts/SparklineChart.d.ts +3 -32
  357. package/dist/src/components/charts/SparklineChart.d.ts.map +1 -1
  358. package/dist/src/components/charts/StatCard.d.ts +2 -24
  359. package/dist/src/components/charts/StatCard.d.ts.map +1 -1
  360. package/dist/src/components/charts/chartTheme.d.ts +0 -1
  361. package/dist/src/components/empty-state/ComingSoon.d.ts +2 -29
  362. package/dist/src/components/empty-state/ComingSoon.d.ts.map +1 -1
  363. package/dist/src/components/empty-state/EmptyState.d.ts +4 -26
  364. package/dist/src/components/empty-state/EmptyState.d.ts.map +1 -1
  365. package/dist/src/components/forms/DynamicForm.d.ts +21 -47
  366. package/dist/src/components/forms/DynamicForm.d.ts.map +1 -1
  367. package/dist/src/components/forms/DynamicFormField.d.ts +8 -18
  368. package/dist/src/components/forms/DynamicFormField.d.ts.map +1 -1
  369. package/dist/src/components/forms/FormFieldWrapper.d.ts +14 -58
  370. package/dist/src/components/forms/FormFieldWrapper.d.ts.map +1 -1
  371. package/dist/src/components/inputs/AddDeleteButtonGroup.d.ts +3 -4
  372. package/dist/src/components/inputs/AddDeleteButtonGroup.d.ts.map +1 -1
  373. package/dist/src/components/inputs/CheckboxInput.d.ts +10 -37
  374. package/dist/src/components/inputs/CheckboxInput.d.ts.map +1 -1
  375. package/dist/src/components/inputs/ComboboxInput.d.ts +13 -48
  376. package/dist/src/components/inputs/ComboboxInput.d.ts.map +1 -1
  377. package/dist/src/components/inputs/DatepickerInput.d.ts +1045 -42
  378. package/dist/src/components/inputs/DatepickerInput.d.ts.map +1 -1
  379. package/dist/src/components/inputs/EmailInput.d.ts +10 -54
  380. package/dist/src/components/inputs/EmailInput.d.ts.map +1 -1
  381. package/dist/src/components/inputs/EmptyInput.d.ts +2 -26
  382. package/dist/src/components/inputs/EmptyInput.d.ts.map +1 -1
  383. package/dist/src/components/inputs/FileDropzoneInput.d.ts +8 -7
  384. package/dist/src/components/inputs/FileDropzoneInput.d.ts.map +1 -1
  385. package/dist/src/components/inputs/HiddenInput.d.ts +2 -23
  386. package/dist/src/components/inputs/HiddenInput.d.ts.map +1 -1
  387. package/dist/src/components/inputs/InputsShowcase.d.ts +1 -1
  388. package/dist/src/components/inputs/InputsShowcase.d.ts.map +1 -1
  389. package/dist/src/components/inputs/PhoneInput.d.ts +79 -16
  390. package/dist/src/components/inputs/PhoneInput.d.ts.map +1 -1
  391. package/dist/src/components/inputs/RichTextInput.d.ts +22 -80
  392. package/dist/src/components/inputs/RichTextInput.d.ts.map +1 -1
  393. package/dist/src/components/inputs/SelectInput.d.ts +49 -42
  394. package/dist/src/components/inputs/SelectInput.d.ts.map +1 -1
  395. package/dist/src/components/inputs/SelectTextInput.d.ts +52 -12
  396. package/dist/src/components/inputs/SelectTextInput.d.ts.map +1 -1
  397. package/dist/src/components/inputs/SwitchInput.d.ts +115 -42
  398. package/dist/src/components/inputs/SwitchInput.d.ts.map +1 -1
  399. package/dist/src/components/inputs/SwitchInputGroup.d.ts +2 -3
  400. package/dist/src/components/inputs/SwitchInputGroup.d.ts.map +1 -1
  401. package/dist/src/components/inputs/TagifyInput.d.ts +30 -20
  402. package/dist/src/components/inputs/TagifyInput.d.ts.map +1 -1
  403. package/dist/src/components/inputs/TextAreaInput.d.ts +9 -35
  404. package/dist/src/components/inputs/TextAreaInput.d.ts.map +1 -1
  405. package/dist/src/components/inputs/TextInput.d.ts +13 -73
  406. package/dist/src/components/inputs/TextInput.d.ts.map +1 -1
  407. package/dist/src/components/layouts/CardLayout.d.ts +20 -66
  408. package/dist/src/components/layouts/CardLayout.d.ts.map +1 -1
  409. package/dist/src/components/layouts/DashboardLayout.d.ts +8 -5
  410. package/dist/src/components/layouts/DashboardLayout.d.ts.map +1 -1
  411. package/dist/src/components/layouts/DefaultLayout.d.ts +1 -1
  412. package/dist/src/components/layouts/DefaultLayout.d.ts.map +1 -1
  413. package/dist/src/components/layouts/HeaderLayout.d.ts +4 -4
  414. package/dist/src/components/layouts/HeaderLayout.d.ts.map +1 -1
  415. package/dist/src/components/layouts/InfoCard.d.ts +2 -25
  416. package/dist/src/components/layouts/InfoCard.d.ts.map +1 -1
  417. package/dist/src/components/layouts/NavigationGroup.d.ts +5 -16
  418. package/dist/src/components/layouts/NavigationGroup.d.ts.map +1 -1
  419. package/dist/src/components/layouts/NavigationItem.d.ts +7 -24
  420. package/dist/src/components/layouts/NavigationItem.d.ts.map +1 -1
  421. package/dist/src/components/layouts/ProfileHeaderAvatar.d.ts +10 -40
  422. package/dist/src/components/layouts/ProfileHeaderAvatar.d.ts.map +1 -1
  423. package/dist/src/components/layouts/ProjectLogo.d.ts +2 -33
  424. package/dist/src/components/layouts/ProjectLogo.d.ts.map +1 -1
  425. package/dist/src/components/layouts/PropsTable.d.ts +2 -23
  426. package/dist/src/components/layouts/PropsTable.d.ts.map +1 -1
  427. package/dist/src/components/layouts/ShowcaseCard.d.ts +2 -29
  428. package/dist/src/components/layouts/ShowcaseCard.d.ts.map +1 -1
  429. package/dist/src/components/layouts/ShowcaseLayout.d.ts +5 -28
  430. package/dist/src/components/layouts/ShowcaseLayout.d.ts.map +1 -1
  431. package/dist/src/components/layouts/SidebarLayout.d.ts +7 -4
  432. package/dist/src/components/layouts/SidebarLayout.d.ts.map +1 -1
  433. package/dist/src/components/layouts/StateDisplay.d.ts +2 -23
  434. package/dist/src/components/layouts/StateDisplay.d.ts.map +1 -1
  435. package/dist/src/components/loading/ContentSkeleton.d.ts +2 -31
  436. package/dist/src/components/loading/ContentSkeleton.d.ts.map +1 -1
  437. package/dist/src/components/loading/SmartLoadingIndicator.d.ts +6 -47
  438. package/dist/src/components/loading/SmartLoadingIndicator.d.ts.map +1 -1
  439. package/dist/src/components/maps/GoogleMap.d.ts +7 -8
  440. package/dist/src/components/maps/GoogleMap.d.ts.map +1 -1
  441. package/dist/src/components/maps/UiInfoWindow.d.ts +229 -14
  442. package/dist/src/components/maps/UiInfoWindow.d.ts.map +1 -1
  443. package/dist/src/components/maps/UiMap.d.ts +5091 -101
  444. package/dist/src/components/maps/UiMap.d.ts.map +1 -1
  445. package/dist/src/components/maps/UiMapAll.d.ts +1130 -20
  446. package/dist/src/components/maps/UiMapAll.d.ts.map +1 -1
  447. package/dist/src/components/maps/UiMapMarker.d.ts +16 -17
  448. package/dist/src/components/maps/UiMapMarker.d.ts.map +1 -1
  449. package/dist/src/components/modals/AlertModal.d.ts +9 -10
  450. package/dist/src/components/modals/AlertModal.d.ts.map +1 -1
  451. package/dist/src/components/modals/BaseModal.d.ts +6 -7
  452. package/dist/src/components/modals/BaseModal.d.ts.map +1 -1
  453. package/dist/src/components/modals/ImageCropperModal.d.ts +379 -75
  454. package/dist/src/components/modals/ImageCropperModal.d.ts.map +1 -1
  455. package/dist/src/components/notifications/NotificationContainer.d.ts.map +1 -1
  456. package/dist/src/components/notifications/NotificationToast.d.ts +9 -18
  457. package/dist/src/components/notifications/NotificationToast.d.ts.map +1 -1
  458. package/dist/src/components/stepper/StepperPanels.d.ts +4 -14
  459. package/dist/src/components/stepper/StepperPanels.d.ts.map +1 -1
  460. package/dist/src/components/tabs/InlineTabs.d.ts +4 -28
  461. package/dist/src/components/tabs/InlineTabs.d.ts.map +1 -1
  462. package/dist/src/components/tabs/TabGroup.d.ts +6 -32
  463. package/dist/src/components/tabs/TabGroup.d.ts.map +1 -1
  464. package/dist/src/components/tabs/TabGroupUnderline.d.ts +6 -32
  465. package/dist/src/components/tabs/TabGroupUnderline.d.ts.map +1 -1
  466. package/dist/src/components/tabs/TabsInPills.d.ts +4 -26
  467. package/dist/src/components/tabs/TabsInPills.d.ts.map +1 -1
  468. package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts +2 -37
  469. package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts.map +1 -1
  470. package/dist/src/components/wrappers/CardWrapper.d.ts +1 -1
  471. package/dist/src/components/wrappers/CardWrapper.d.ts.map +1 -1
  472. package/dist/src/components/wrappers/DisclosureWrapper.d.ts +2 -23
  473. package/dist/src/components/wrappers/DisclosureWrapper.d.ts.map +1 -1
  474. package/dist/src/components/wrappers/FormErrorWrapper.d.ts +2 -25
  475. package/dist/src/components/wrappers/FormErrorWrapper.d.ts.map +1 -1
  476. package/dist/src/composables/useCalendar.d.ts +4 -5
  477. package/dist/src/composables/useFormValidation.d.ts +0 -1
  478. package/dist/src/composables/useMap.d.ts +0 -1
  479. package/dist/src/composables/useNotifications.d.ts +1308 -30
  480. package/dist/src/composables/useNotifications.d.ts.map +1 -1
  481. package/dist/src/composables/useSimpleTabs.d.ts +0 -1
  482. package/dist/src/composables/useStringTransform.d.ts +0 -1
  483. package/dist/src/composables/useTabs.d.ts +0 -1
  484. package/dist/src/config/css-variables.d.ts +0 -1
  485. package/dist/src/config/design-tokens.d.ts +1 -1
  486. package/dist/src/config/design-tokens.d.ts.map +1 -1
  487. package/dist/src/dev.d.ts +0 -1
  488. package/dist/src/plugin/configure.d.ts +0 -1
  489. package/dist/src/types/calendars.d.ts +12 -11
  490. package/dist/src/types/calendars.d.ts.map +1 -1
  491. package/dist/src/types/core.d.ts +3 -4
  492. package/dist/src/types/core.d.ts.map +1 -1
  493. package/dist/src/types/form.d.ts +15 -13
  494. package/dist/src/types/form.d.ts.map +1 -1
  495. package/dist/src/types/forms.d.ts +2 -1
  496. package/dist/src/types/forms.d.ts.map +1 -1
  497. package/dist/src/types/inputs.d.ts +14 -9
  498. package/dist/src/types/inputs.d.ts.map +1 -1
  499. package/dist/src/types/layouts.d.ts +0 -1
  500. package/dist/src/types/navigation.d.ts +2 -1
  501. package/dist/src/types/navigation.d.ts.map +1 -1
  502. package/dist/src/types/tables.d.ts +8 -6
  503. package/dist/src/types/tables.d.ts.map +1 -1
  504. package/dist/src/types/ui.d.ts +1 -2
  505. package/dist/src/types/ui.d.ts.map +1 -1
  506. package/dist/src/utils/calendar.d.ts +1 -1
  507. package/dist/src/utils/calendar.d.ts.map +1 -1
  508. package/dist/src/utils/component-registry.d.ts +0 -1
  509. package/dist/src/utils/mapThemes.d.ts +0 -1
  510. package/dist/src/utils/phone.d.ts +0 -1
  511. package/dist/src/views/ButtonsShowcase.d.ts +3 -0
  512. package/dist/src/views/ButtonsShowcase.d.ts.map +1 -0
  513. package/dist/src/views/CalendarsShowcase.d.ts +3 -0
  514. package/dist/src/views/CalendarsShowcase.d.ts.map +1 -0
  515. package/dist/src/views/CardsShowcase.d.ts +3 -0
  516. package/dist/src/views/CardsShowcase.d.ts.map +1 -0
  517. package/dist/src/views/ChartsShowcase.d.ts +3 -0
  518. package/dist/src/views/ChartsShowcase.d.ts.map +1 -0
  519. package/dist/src/views/EmptyStatesShowcase.d.ts +3 -0
  520. package/dist/src/views/EmptyStatesShowcase.d.ts.map +1 -0
  521. package/dist/src/views/InputsShowcase.d.ts +3 -0
  522. package/dist/src/views/InputsShowcase.d.ts.map +1 -0
  523. package/dist/src/views/KitchenSink.d.ts +3 -0
  524. package/dist/src/views/KitchenSink.d.ts.map +1 -0
  525. package/dist/src/views/LayoutsShowcase.d.ts +3 -0
  526. package/dist/src/views/LayoutsShowcase.d.ts.map +1 -0
  527. package/dist/src/views/LoadingShowcase.d.ts +3 -0
  528. package/dist/src/views/LoadingShowcase.d.ts.map +1 -0
  529. package/dist/src/views/MapsShowcase.d.ts +3 -0
  530. package/dist/src/views/MapsShowcase.d.ts.map +1 -0
  531. package/dist/src/views/ModalsShowcase.d.ts +3 -0
  532. package/dist/src/views/ModalsShowcase.d.ts.map +1 -0
  533. package/dist/src/views/NotificationsShowcase.d.ts +3 -0
  534. package/dist/src/views/NotificationsShowcase.d.ts.map +1 -0
  535. package/dist/src/views/StepperShowcase.d.ts +3 -0
  536. package/dist/src/views/StepperShowcase.d.ts.map +1 -0
  537. package/dist/src/views/TabsShowcase.d.ts +3 -0
  538. package/dist/src/views/TabsShowcase.d.ts.map +1 -0
  539. package/dist/src/views/ValidationDemo.d.ts +3 -0
  540. package/dist/src/views/ValidationDemo.d.ts.map +1 -0
  541. package/dist/src/views/WrappersShowcase.d.ts +3 -0
  542. package/dist/src/views/WrappersShowcase.d.ts.map +1 -0
  543. package/dist/src/views/components/AvatarPage.d.ts +3 -0
  544. package/dist/src/views/components/AvatarPage.d.ts.map +1 -0
  545. package/dist/src/views/components/BadgePage.d.ts +3 -0
  546. package/dist/src/views/components/BadgePage.d.ts.map +1 -0
  547. package/dist/src/views/components/BannerPage.d.ts +3 -0
  548. package/dist/src/views/components/BannerPage.d.ts.map +1 -0
  549. package/dist/src/views/components/BreadcrumbPage.d.ts +3 -0
  550. package/dist/src/views/components/BreadcrumbPage.d.ts.map +1 -0
  551. package/dist/src/views/components/ButtonPage.d.ts +3 -0
  552. package/dist/src/views/components/ButtonPage.d.ts.map +1 -0
  553. package/dist/src/views/components/CloudinaryImagePage.d.ts +3 -0
  554. package/dist/src/views/components/CloudinaryImagePage.d.ts.map +1 -0
  555. package/dist/src/views/components/LoadingPage.d.ts +3 -0
  556. package/dist/src/views/components/LoadingPage.d.ts.map +1 -0
  557. package/dist/src/views/components/MenuPage.d.ts +3 -0
  558. package/dist/src/views/components/MenuPage.d.ts.map +1 -0
  559. package/dist/src/views/components/ModalPage.d.ts +3 -0
  560. package/dist/src/views/components/ModalPage.d.ts.map +1 -0
  561. package/dist/src/views/components/ProgressPage.d.ts +3 -0
  562. package/dist/src/views/components/ProgressPage.d.ts.map +1 -0
  563. package/dist/src/views/components/RichTextInputPage.d.ts +3 -0
  564. package/dist/src/views/components/RichTextInputPage.d.ts.map +1 -0
  565. package/dist/src/views/components/TablePage.d.ts +3 -0
  566. package/dist/src/views/components/TablePage.d.ts.map +1 -0
  567. package/dist/src/views/components/TextInputPage.d.ts +3 -0
  568. package/dist/src/views/components/TextInputPage.d.ts.map +1 -0
  569. package/dist/src/views/components/TransitionPage.d.ts +3 -0
  570. package/dist/src/views/components/TransitionPage.d.ts.map +1 -0
  571. package/dist/src/views/examples/CheckoutFormExample.d.ts +3 -0
  572. package/dist/src/views/examples/CheckoutFormExample.d.ts.map +1 -0
  573. package/dist/src/views/examples/ContactFormExample.d.ts +3 -0
  574. package/dist/src/views/examples/ContactFormExample.d.ts.map +1 -0
  575. package/dist/src/views/examples/RegistrationFormExample.d.ts +3 -0
  576. package/dist/src/views/examples/RegistrationFormExample.d.ts.map +1 -0
  577. package/dist/src/views/examples/SettingsFormExample.d.ts +3 -0
  578. package/dist/src/views/examples/SettingsFormExample.d.ts.map +1 -0
  579. package/dist/src/views/forms/ValidationPage.d.ts +3 -0
  580. package/dist/src/views/forms/ValidationPage.d.ts.map +1 -0
  581. package/dist/src/views/inputs/CheckboxPage.d.ts +3 -0
  582. package/dist/src/views/inputs/CheckboxPage.d.ts.map +1 -0
  583. package/dist/src/views/inputs/ComboboxPage.d.ts +3 -0
  584. package/dist/src/views/inputs/ComboboxPage.d.ts.map +1 -0
  585. package/dist/src/views/inputs/DatepickerPage.d.ts +3 -0
  586. package/dist/src/views/inputs/DatepickerPage.d.ts.map +1 -0
  587. package/dist/src/views/inputs/EmailPage.d.ts +3 -0
  588. package/dist/src/views/inputs/EmailPage.d.ts.map +1 -0
  589. package/dist/src/views/inputs/FileDropzonePage.d.ts +3 -0
  590. package/dist/src/views/inputs/FileDropzonePage.d.ts.map +1 -0
  591. package/dist/src/views/inputs/MiscInputsPage.d.ts +3 -0
  592. package/dist/src/views/inputs/MiscInputsPage.d.ts.map +1 -0
  593. package/dist/src/views/inputs/PhonePage.d.ts +3 -0
  594. package/dist/src/views/inputs/PhonePage.d.ts.map +1 -0
  595. package/dist/src/views/inputs/SelectPage.d.ts +3 -0
  596. package/dist/src/views/inputs/SelectPage.d.ts.map +1 -0
  597. package/dist/src/views/inputs/SelectTextPage.d.ts +3 -0
  598. package/dist/src/views/inputs/SelectTextPage.d.ts.map +1 -0
  599. package/dist/src/views/inputs/SwitchGroupPage.d.ts +3 -0
  600. package/dist/src/views/inputs/SwitchGroupPage.d.ts.map +1 -0
  601. package/dist/src/views/inputs/SwitchPage.d.ts +3 -0
  602. package/dist/src/views/inputs/SwitchPage.d.ts.map +1 -0
  603. package/dist/src/views/inputs/TextAreaPage.d.ts +3 -0
  604. package/dist/src/views/inputs/TextAreaPage.d.ts.map +1 -0
  605. package/dist/src/views/layouts/CardLayoutPage.d.ts +3 -0
  606. package/dist/src/views/layouts/CardLayoutPage.d.ts.map +1 -0
  607. package/dist/src/views/layouts/DashboardLayoutPage.d.ts +3 -0
  608. package/dist/src/views/layouts/DashboardLayoutPage.d.ts.map +1 -0
  609. package/dist/src/views/layouts/HeaderLayoutPage.d.ts +3 -0
  610. package/dist/src/views/layouts/HeaderLayoutPage.d.ts.map +1 -0
  611. package/dist/src/views/layouts/SidebarLayoutPage.d.ts +3 -0
  612. package/dist/src/views/layouts/SidebarLayoutPage.d.ts.map +1 -0
  613. package/dist/stepper/StepperPanels.d.ts +1 -3
  614. package/dist/stepper/StepperPanels.js +1 -1
  615. package/dist/stepper/index.d.ts +1 -0
  616. package/dist/stepper/index.js +1 -1
  617. package/dist/style.css +1 -1
  618. package/dist/tabs/InlineTabs.d.ts +1 -3
  619. package/dist/tabs/InlineTabs.js +1 -1
  620. package/dist/tabs/TabGroup.d.ts +1 -3
  621. package/dist/tabs/TabGroup.js +1 -1
  622. package/dist/tabs/TabGroupUnderline.d.ts +1 -3
  623. package/dist/tabs/TabGroupUnderline.js +1 -1
  624. package/dist/tabs/TabsInPills.d.ts +1 -3
  625. package/dist/tabs/TabsInPills.js +1 -1
  626. package/dist/tabs/index.d.ts +1 -0
  627. package/dist/tabs/index.js +4 -4
  628. package/dist/{tabs-Da32Mbhf.js → tabs-J5phClGv.js} +2 -2
  629. package/dist/{tabs-Da32Mbhf.js.map → tabs-J5phClGv.js.map} +1 -1
  630. package/dist/ui.css +1 -0
  631. package/dist/{use-outside-click-DNDV36Sc.js → use-outside-click-14T0Zn98.js} +3 -3
  632. package/dist/{use-outside-click-DNDV36Sc.js.map → use-outside-click-14T0Zn98.js.map} +1 -1
  633. package/dist/{use-tree-walker-BHCORE7u.js → use-tree-walker-Bo9gIb_K.js} +2 -2
  634. package/dist/{use-tree-walker-BHCORE7u.js.map → use-tree-walker-Bo9gIb_K.js.map} +1 -1
  635. package/dist/vue-router-B3K2xmg_.js +120 -0
  636. package/dist/vue-router-B3K2xmg_.js.map +1 -0
  637. package/dist/vue3-lottie.es-DT4qZE-F.js +7981 -0
  638. package/dist/{vue3-lottie.es-C_MDkNwR.js.map → vue3-lottie.es-DT4qZE-F.js.map} +1 -1
  639. package/dist/wrappers/BackgroundGradientWrapper.d.ts +1 -3
  640. package/dist/wrappers/BackgroundGradientWrapper.js +1 -1
  641. package/dist/wrappers/CardWrapper.d.ts +1 -3
  642. package/dist/wrappers/DisclosureWrapper.d.ts +1 -3
  643. package/dist/wrappers/DisclosureWrapper.js +1 -1
  644. package/dist/wrappers/FormErrorWrapper.d.ts +1 -3
  645. package/dist/wrappers/index.d.ts +1 -0
  646. package/dist/wrappers/index.js +2 -2
  647. package/package.json +24 -16
  648. package/dist/CalendarHeader.vue_vue_type_script_setup_true_lang-DRwe4rw8.js.map +0 -1
  649. package/dist/CheckboxInput.vue_vue_type_script_setup_true_lang-B8wJVkPP.js +0 -187
  650. package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-ClGP5YU0.js +0 -1315
  651. package/dist/ComboboxInput.vue_vue_type_script_setup_true_lang-ClGP5YU0.js.map +0 -1
  652. package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-DRDP86Yc.js +0 -253
  653. package/dist/DynamicForm.vue_vue_type_script_setup_true_lang-DRDP86Yc.js.map +0 -1
  654. package/dist/DynamicFormField.vue_vue_type_script_setup_true_lang-Ct8b80dM.js.map +0 -1
  655. package/dist/EmailInput.vue_vue_type_script_setup_true_lang-Dhfgs2Jn.js +0 -122
  656. package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-CwOOShcM.js +0 -36
  657. package/dist/NavigationGroup.vue_vue_type_script_setup_true_lang-2tAB9Hbx.js +0 -30
  658. package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-Cm5RsC7C.js +0 -162
  659. package/dist/NotificationToast.vue_vue_type_script_setup_true_lang-Cm5RsC7C.js.map +0 -1
  660. package/dist/ProfileHeaderAvatar.vue_vue_type_script_setup_true_lang-Cri9BiBy.js +0 -130
  661. package/dist/SelectInput.vue_vue_type_script_setup_true_lang--yUL7bcx.js.map +0 -1
  662. package/dist/TagifyInput.vue_vue_type_script_setup_true_lang-CAK6ZIiz.js.map +0 -1
  663. package/dist/UiAvatar.vue_vue_type_script_setup_true_lang-Ci7VLRZx.js.map +0 -1
  664. package/dist/UiTable.vue_vue_type_script_setup_true_lang-BuOCaPzi.js.map +0 -1
  665. package/dist/calendar-DyIP7WGv.js.map +0 -1
  666. package/dist/src/components/charts/BaseChart.d.ts +0 -81
  667. package/dist/src/components/charts/BaseChart.d.ts.map +0 -1
  668. package/dist/vue-router-BPbyZ7xA.js +0 -145
  669. package/dist/vue-router-BPbyZ7xA.js.map +0 -1
  670. package/dist/vue3-lottie.es-C_MDkNwR.js +0 -7976
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as V, ref as p, watch as z, onMounted as A, createBlock as w, openBlock as u, withCtx as g, createElementVNode as d, normalizeClass as F, createElementBlock as c, Fragment as T, renderList as S, withDirectives as k, toDisplayString as h, normalizeStyle as Q, withKeys as C, withModifiers as y, vModelText as B, createVNode as U, unref as R, createCommentVNode as K, renderSlot as L, nextTick as W } from "vue";
2
- import { _ } from "./UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js";
2
+ import { _ } from "./UiBadge.vue_vue_type_script_setup_true_lang-DOtbLb9x.js";
3
3
  import j from "./forms/FormFieldWrapper.js";
4
4
  import { r as G } from "./XMarkIcon-DNvCkiOy.js";
5
5
  const H = { key: 0 }, P = ["onUpdate:modelValue", "placeholder", "disabled", "onKeydown", "onBlur"], X = ["onClick", "disabled"], Y = { class: "sl-flex-1 sl-min-w-0 sl-relative" }, Z = ["placeholder", "disabled", "onKeydown"], ee = { class: "sl-absolute sl-inset-y-0 sl-right-0 sl-flex sl-items-center sl-pr-3 sl-pointer-events-auto" }, te = {
@@ -227,4 +227,4 @@ const H = { key: 0 }, P = ["onUpdate:modelValue", "placeholder", "disabled", "on
227
227
  export {
228
228
  ce as _
229
229
  };
230
- //# sourceMappingURL=TagifyInput.vue_vue_type_script_setup_true_lang-CAK6ZIiz.js.map
230
+ //# sourceMappingURL=TagifyInput.vue_vue_type_script_setup_true_lang-Da6-pRJ2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagifyInput.vue_vue_type_script_setup_true_lang-Da6-pRJ2.js","sources":["../src/components/inputs/TagifyInput.vue"],"sourcesContent":["<template>\n <FormFieldWrapper\n :id=\"name\"\n :name=\"name\"\n :label=\"label\"\n :tertiary-label=\"tertiaryLabel\"\n :error-message=\"errorMessage\"\n :disabled=\"disabled\"\n :optional=\"optional\"\n >\n <template #tertiary-label-overlay>\n <slot name=\"tertiary-overlay\"></slot>\n </template>\n \n <div class=\"sl-flex sl-flex-wrap sl-items-center sl-gap-4 sl-rounded-md sl-bg-white sl-px-3 sm:sl-text-sm sm:sl-leading-6\"\n :class=\"inline ? null : 'sl-shadow-sm sl-border sl-border-gray-300 focus-within:sl-ring-2 focus-within:sl-ring-stachelock-600'\">\n <!-- Display selected tags as badges -->\n <UiBadge v-for=\"(tag, index) in selectedTags\" :key=\"index\" @click=\"editTag(index)\" theme=\"primary\" size=\"sm\">\n <span v-if=\"!tag.isEditing\">{{ tagDisplay(tag) }}</span>\n <input v-else ref=\"editInput\" v-model=\"tag[props.itemText]\" :placeholder=\"placeholder\"\n :disabled=\"disabled\" @keydown.enter.prevent=\"stopEditingTag(index)\"\n @blur=\"stopEditingTag(index)\"\n class=\"sl-bg-transparent sl-border-none sl-outline-none sl-text-stachelock-600 sl-text-sm placeholder:sl-text-stachelock-400/80 focus:sl-ring-0 focus:sl-ring-stachelock-600 focus:sl-rounded-lg -sl-mx-3 -sl-my-2\"\n :style=\"{ width: tag[props.itemText].length + 4 + 'ch' }\" />\n <button type=\"button\" class=\"sl-ml-2 sl-text-stachelock-600 hover:sl-text-stachelock-400 focus:sl-outline-none\"\n @click.stop=\"removeTag(index)\" :disabled=\"disabled\">\n <XMarkIcon class=\"sl-h-4 sl-w-4\" />\n </button>\n </UiBadge>\n <!-- Input for adding new tags -->\n <div class=\"sl-flex-1 sl-min-w-0 sl-relative\">\n <input ref=\"input\" v-model=\"query\" :placeholder=\"placeholder\" @input=\"filterItems\"\n :disabled=\"disabled\" @keydown.enter.prevent=\"addTag\"\n class=\"sl-w-full sl-border-none sl-outline-none sl-rounded-md focus:sl-ring-0 sl-text-sm sl-font-light -sl-mx-3 sl-pr-12\" />\n <!-- Overlay slot aligned to the far right -->\n <div class=\"sl-absolute sl-inset-y-0 sl-right-0 sl-flex sl-items-center sl-pr-3 sl-pointer-events-auto\">\n <slot name=\"input-overlay\" />\n </div>\n <!-- Suggestions Dropdown -->\n <div v-if=\"showDropdown && !disabled\"\n class=\"sl-absolute sl-z-50 sl-mt-1 sl-max-h-60 sl-w-full sl-overflow-auto sl-rounded-md sl-bg-white sl-py-1 sl-text-base sl-shadow-lg sl-ring-1 sl-ring-black sl-ring-opacity-5 focus:sl-outline-none sm:sl-text-sm\">\n <div v-for=\"item in filteredItems\" :key=\"item[itemKey]\"\n class=\"sl-cursor-pointer sl-select-none sl-py-2 sl-pl-3 sl-pr-9 hover:sl-bg-stachelock-600 hover:sl-text-white\"\n @click.prevent=\"selectSuggestion(item)\">\n <div class=\"sl-flex\">\n <span class=\"sl-truncate sl-font-semibold\">\n <span class=\"sl-block sl-truncate\">{{ itemDisplay(item) }}</span>\n </span>\n <span v-if=\"showSubext\" class=\"sl-ml-2 sl-truncate sl-text-gray-500\">\n {{ itemSecondaryDisplay(item) }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </FormFieldWrapper>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, watch, onMounted, nextTick } from 'vue';\nimport { XMarkIcon } from '@heroicons/vue/20/solid';\nimport UiBadge from '../UiBadge.vue';\nimport FormFieldWrapper from '../forms/FormFieldWrapper.vue';\nimport type { TagifyItem } from '../../types/inputs';\n\ntype Item = TagifyItem;\n\nconst props = defineProps({\n items: {\n type: Array as () => Item[],\n required: true,\n },\n value: {\n type: Array as () => Item[],\n default: () => [],\n },\n name: {\n type: String,\n required: true,\n },\n label: {\n type: String,\n required: false,\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'value',\n },\n itemSubtext: {\n type: String,\n default: 'name',\n },\n showSubext: {\n type: Boolean,\n default: true\n },\n tagDisplayKey: {\n type: String,\n default: 'name',\n },\n tertiaryLabel: {\n type: String,\n required: false,\n },\n pattern: {\n type: RegExp,\n default: null,\n },\n inline: {\n type: Boolean,\n default: false,\n },\n placeholder: {\n type: String,\n default: 'Add a tag...',\n },\n disabled: {\n type: Boolean,\n default: false\n },\n optional: {\n type: Boolean,\n default: false\n },\n errorMessage: {\n type: String,\n default: ''\n },\n hasInputRing: {\n type: Boolean,\n default: false\n }\n});\n\nconst emits = defineEmits(['update:value', 'update:query', 'invalid-tag']);\n\nconst query = ref<string>('');\nconst filteredItems = ref<Item[]>([]);\nconst selectedTags = ref<Item[]>(JSON.parse(JSON.stringify(props.value)));\nconst showDropdown = ref(false);\n\nwatch(\n () => props.value,\n (newVal) => {\n if (JSON.stringify(newVal) !== JSON.stringify(selectedTags.value)) {\n selectedTags.value = JSON.parse(JSON.stringify(newVal));\n }\n },\n { deep: true }\n);\n\nconst itemDisplay = (item: Item) => item[props.itemSubtext] || item[props.itemText];\nconst itemSecondaryDisplay = (item: Item) => item[props.itemSubtext] ? item[props.itemText] : undefined;\nconst tagDisplay = (tag: Item) => tag[props.tagDisplayKey] || tag[props.itemText];\n\nconst filterItems = () => {\n if (query.value && query.value.length > 0) {\n emits('update:query', query.value);\n\n // Simple filtering logic\n const lowerQuery = query.value.toLowerCase();\n filteredItems.value = props.items.filter((item) => {\n return (\n item[props.itemText]?.toLowerCase().includes(lowerQuery) ||\n item[props.itemSubtext]?.toLowerCase().includes(lowerQuery)\n );\n });\n showDropdown.value = true;\n } else {\n filteredItems.value = [];\n showDropdown.value = false;\n }\n};\n\nconst addTag = () => {\n const trimmedQuery = query.value.trim();\n if (trimmedQuery === '') {\n return;\n }\n\n let tagToAdd: Item | null = null;\n\n const lowerQuery = trimmedQuery.toLowerCase();\n\n // Check if the query matches any item in the items list\n const matchedItem = props.items.find(\n (item) =>\n item[props.itemText]?.toLowerCase() === lowerQuery ||\n item[props.itemSubtext]?.toLowerCase() === lowerQuery\n );\n\n if (matchedItem) {\n tagToAdd = { ...matchedItem };\n } else if (props.pattern && props.pattern.test(trimmedQuery)) {\n // Create a new item if it doesn't exist and matches the pattern\n tagToAdd = { id: null, [props.itemText]: trimmedQuery };\n } else {\n // Do not emit invalid-tag here; let the user continue typing\n return;\n }\n\n // Avoid duplicates\n if (\n !selectedTags.value.some(\n (tag) => tag[props.itemText] === tagToAdd![props.itemText]\n )\n ) {\n selectedTags.value.push(tagToAdd!);\n emits('update:value', selectedTags.value);\n }\n\n query.value = '';\n filteredItems.value = [];\n showDropdown.value = false;\n};\n\nconst selectSuggestion = (item: Item) => {\n const valueToTest = item[props.itemText].trim();\n\n // Avoid duplicates\n if (\n !selectedTags.value.some(\n (tag) => tag[props.itemText] === valueToTest\n )\n ) {\n selectedTags.value.push({ ...item });\n emits('update:value', selectedTags.value);\n }\n query.value = '';\n filteredItems.value = [];\n showDropdown.value = false;\n};\n\nconst removeTag = (index: number) => {\n selectedTags.value.splice(index, 1);\n emits('update:value', selectedTags.value);\n};\n\nconst editTag = (index: number) => {\n selectedTags.value[index].isEditing = true;\n nextTick(() => {\n // Focus logic can be added here if needed\n });\n};\n\nconst stopEditingTag = (index: number) => {\n const tag = selectedTags.value[index];\n if (tag) {\n tag.isEditing = false;\n const valueToTest = tag[props.itemText].trim();\n\n // Validate tag if pattern is provided\n if (props.pattern && !props.pattern.test(valueToTest)) {\n emits('invalid-tag', valueToTest);\n removeTag(index);\n return;\n }\n\n // Update the tag value after trimming\n tag[props.itemText] = valueToTest;\n emits('update:value', selectedTags.value);\n }\n};\n\nonMounted(() => {\n // Initialize filteredItems\n filteredItems.value = [];\n});\n\ndefineExpose({\n selectedTags,\n});\n</script>\n\n<style scoped>\n</style>\n"],"names":["props","__props","emits","__emit","query","ref","filteredItems","selectedTags","showDropdown","watch","newVal","itemDisplay","item","itemSecondaryDisplay","tagDisplay","tag","filterItems","lowerQuery","addTag","trimmedQuery","tagToAdd","matchedItem","selectSuggestion","valueToTest","removeTag","index","editTag","nextTick","stopEditingTag","onMounted","__expose","_createBlock","FormFieldWrapper","_renderSlot","_ctx","_createElementVNode","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_renderList","UiBadge","$event","_withKeys","_withModifiers","_hoisted_1","_toDisplayString","_createVNode","_unref","XMarkIcon","_hoisted_4","_hoisted_6","_hoisted_7","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent as S, ref as z, watch as b, computed as F, createElementBlock as n, openBlock as u, createVNode as O, unref as a, withCtx as g, createElementVNode as h, withDirectives as I, createCommentVNode as f, mergeProps as N, isRef as R, vModelText as j, toDisplayString as i } from "vue";
1
+ import { defineComponent as S, ref as z, watch as h, computed as F, createElementBlock as u, openBlock as i, createVNode as O, unref as t, withCtx as f, createElementVNode as x, withDirectives as I, createCommentVNode as y, mergeProps as N, isRef as R, vModelText as j, toDisplayString as c } from "vue";
2
2
  import { useField as A } from "vee-validate";
3
3
  import D from "./forms/FormFieldWrapper.js";
4
4
  import { g as E } from "./id-DafBB_QF.js";
@@ -26,8 +26,8 @@ const L = { class: "sl-w-full" }, T = { class: "sl-relative" }, P = ["id", "name
26
26
  boxShadow: { type: Boolean, default: !1 }
27
27
  },
28
28
  emits: ["update:modelValue", "blur", "focus"],
29
- setup(y, { expose: v, emit: k }) {
30
- const s = y, d = k, t = z(), c = E(s.name), { value: l, errorMessage: p, handleBlur: w, handleChange: m, meta: o } = A(
29
+ setup(e, { expose: v, emit: k }) {
30
+ const s = e, n = k, o = z(), m = E(s.name), { value: a, errorMessage: b, handleBlur: p, handleChange: g, meta: d } = A(
31
31
  () => s.name,
32
32
  s.rules,
33
33
  {
@@ -36,19 +36,19 @@ const L = { class: "sl-w-full" }, T = { class: "sl-relative" }, P = ["id", "name
36
36
  syncVModel: !0
37
37
  }
38
38
  );
39
- b(
39
+ h(
40
40
  () => s.modelValue,
41
- (e) => {
42
- e !== l.value && (l.value = e || "");
41
+ (l) => {
42
+ l !== a.value && (a.value = l || "");
43
43
  }
44
- ), b(
45
- l,
46
- (e) => {
47
- d("update:modelValue", e);
44
+ ), h(
45
+ a,
46
+ (l) => {
47
+ n("update:modelValue", l);
48
48
  }
49
49
  );
50
- const x = F(() => {
51
- const e = [
50
+ const w = F(() => {
51
+ const l = [
52
52
  "sl-w-full",
53
53
  "sl-px-3",
54
54
  "sl-py-2",
@@ -70,7 +70,7 @@ const L = { class: "sl-w-full" }, T = { class: "sl-relative" }, P = ["id", "name
70
70
  "sl-resize-y",
71
71
  "sl-min-h-[80px]"
72
72
  ];
73
- return s.disabled ? e.push(
73
+ return s.disabled ? l.push(
74
74
  "sl-bg-gray-50",
75
75
  "dark:sl-bg-slate-800",
76
76
  "sl-text-gray-500",
@@ -78,85 +78,85 @@ const L = { class: "sl-w-full" }, T = { class: "sl-relative" }, P = ["id", "name
78
78
  "sl-cursor-not-allowed",
79
79
  "sl-border-gray-200",
80
80
  "dark:sl-border-slate-700"
81
- ) : p.value ? e.push(
81
+ ) : b.value ? l.push(
82
82
  "sl-border-red-300",
83
83
  "dark:sl-border-red-500",
84
84
  "focus:sl-ring-red-500",
85
85
  "focus:sl-border-red-500"
86
- ) : o.valid && o.touched ? e.push(
86
+ ) : d.valid && d.touched ? l.push(
87
87
  "sl-border-green-300",
88
88
  "dark:sl-border-green-500",
89
89
  "focus:sl-ring-green-500",
90
90
  "focus:sl-border-green-500"
91
- ) : e.push(
91
+ ) : l.push(
92
92
  "sl-border-gray-300",
93
93
  "dark:sl-border-slate-600",
94
94
  "hover:sl-border-gray-400",
95
95
  "dark:hover:sl-border-slate-500"
96
- ), e.join(" ");
97
- }), B = (e) => {
98
- const r = e.target;
99
- s.lazy || m(r.value);
100
- }, M = (e) => {
96
+ ), l.join(" ");
97
+ }), B = (l) => {
98
+ const r = l.target;
99
+ s.lazy || g(r.value);
100
+ }, M = (l) => {
101
101
  if (s.lazy) {
102
- const r = e.target;
103
- m(r.value);
102
+ const r = l.target;
103
+ g(r.value);
104
104
  }
105
- w(e), d("blur", e);
106
- }, V = (e) => {
107
- d("focus", e);
105
+ p(l), n("blur", l);
106
+ }, V = (l) => {
107
+ n("focus", l);
108
108
  };
109
109
  return v({
110
110
  focus: () => {
111
- t.value?.focus();
111
+ o.value?.focus();
112
112
  },
113
113
  blur: () => {
114
- t.value?.blur();
114
+ o.value?.blur();
115
115
  },
116
- textareaRef: t
117
- }), (e, r) => (u(), n("div", L, [
116
+ textareaRef: o
117
+ }), (l, r) => (i(), u("div", L, [
118
118
  O(D, {
119
- id: a(c),
119
+ id: t(m),
120
120
  name: e.name,
121
121
  label: e.label,
122
122
  disabled: e.disabled,
123
123
  optional: !e.rules,
124
124
  "tertiary-label": e.tertiaryLabel,
125
125
  "box-shadow": e.boxShadow,
126
- "error-message": a(p),
126
+ "error-message": t(b),
127
127
  "success-message": e.successMessage,
128
- "is-valid": a(o).valid,
129
- "is-touched": a(o).touched
128
+ "is-valid": t(d).valid,
129
+ "is-touched": t(d).touched
130
130
  }, {
131
- "success-message": g(() => [
132
- e.successMessage ? (u(), n("span", W, i(e.successMessage), 1)) : f("", !0)
131
+ "success-message": f(() => [
132
+ e.successMessage ? (i(), u("span", W, c(e.successMessage), 1)) : y("", !0)
133
133
  ]),
134
- default: g(() => [
135
- h("div", T, [
136
- I(h("textarea", N({
137
- id: a(c),
134
+ default: f(() => [
135
+ x("div", T, [
136
+ I(x("textarea", N({
137
+ id: t(m),
138
138
  ref_key: "textareaRef",
139
- ref: t,
140
- "onUpdate:modelValue": r[0] || (r[0] = (C) => R(l) ? l.value = C : null),
139
+ ref: o,
140
+ "onUpdate:modelValue": r[0] || (r[0] = (C) => R(a) ? a.value = C : null),
141
141
  name: e.name,
142
142
  disabled: e.disabled,
143
143
  placeholder: e.placeholder,
144
144
  class: [
145
- x.value,
145
+ w.value,
146
146
  e.inputClass
147
147
  ],
148
148
  style: e.inputStyle,
149
149
  spellcheck: e.spellcheck,
150
150
  rows: e.rows,
151
151
  maxlength: e.maxlength
152
- }, e.$attrs, {
152
+ }, l.$attrs, {
153
153
  onBlur: M,
154
154
  onFocus: V,
155
155
  onInput: B
156
156
  }), null, 16, P), [
157
- [j, a(l)]
157
+ [j, t(a)]
158
158
  ]),
159
- e.maxlength !== void 0 ? (u(), n("div", U, i(a(l)?.length || 0) + "/" + i(e.maxlength), 1)) : f("", !0)
159
+ e.maxlength !== void 0 ? (i(), u("div", U, c(t(a)?.length || 0) + "/" + c(e.maxlength), 1)) : y("", !0)
160
160
  ])
161
161
  ]),
162
162
  _: 1
@@ -167,4 +167,4 @@ const L = { class: "sl-w-full" }, T = { class: "sl-relative" }, P = ["id", "name
167
167
  export {
168
168
  Q as _
169
169
  };
170
- //# sourceMappingURL=TextAreaInput.vue_vue_type_script_setup_true_lang-BMpc-5ln.js.map
170
+ //# sourceMappingURL=TextAreaInput.vue_vue_type_script_setup_true_lang-Cf0MJobG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextAreaInput.vue_vue_type_script_setup_true_lang-BMpc-5ln.js","sources":["../src/components/inputs/TextAreaInput.vue"],"sourcesContent":["<!--\n @component TextAreaInput\n @description Multi-line text input with character count.\n \n A styled textarea component with validation, character limit display,\n and auto-resize capability.\n \n @props\n - name (string, required): Field name for form binding\n - label (string, optional): Display label\n - placeholder (string, optional): Placeholder text\n - disabled (boolean, optional): Disabled state\n - rules (Schema, optional): Validation rules\n - modelValue (string, optional): Text value via v-model\n - rows (number, optional): Number of visible rows\n - maxlength (number, optional): Maximum character limit\n - spellcheck (boolean, optional): Enable spellcheck\n \n @emits\n - update:modelValue: Emitted when text changes\n - update:validity: Emitted when validation state changes\n \n @example\n <TextAreaInput\n name=\"bio\"\n label=\"Biography\"\n v-model=\"form.bio\"\n :rows=\"4\"\n :maxlength=\"500\"\n placeholder=\"Tell us about yourself...\"\n />\n-->\n<template>\n <div class=\"sl-w-full\">\n <FormFieldWrapper\n :id=\"id\"\n :name=\"name\"\n :label=\"label\"\n :disabled=\"disabled\"\n :optional=\"!rules\"\n :tertiary-label=\"tertiaryLabel\"\n :box-shadow=\"boxShadow\"\n :error-message=\"errorMessage\"\n :success-message=\"successMessage\"\n :is-valid=\"meta.valid\"\n :is-touched=\"meta.touched\"\n >\n <div class=\"sl-relative\">\n <textarea\n :id=\"id\"\n ref=\"textareaRef\"\n v-model=\"value\"\n :name=\"name\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n :class=\"[\n textareaClasses,\n inputClass\n ]\"\n :style=\"inputStyle\"\n :spellcheck=\"spellcheck\"\n :rows=\"rows\"\n :maxlength=\"maxlength\"\n v-bind=\"$attrs\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput\"\n />\n \n <!-- Character count -->\n <div \n v-if=\"maxlength !== undefined\" \n class=\"sl-absolute sl-bottom-2 sl-right-2 sl-text-xs sl-text-slate-500 dark:sl-text-slate-200 sl-pointer-events-none\"\n >\n {{ value?.length || 0 }}/{{ maxlength }}\n </div>\n </div>\n \n <template #success-message>\n <span v-if=\"successMessage\">{{ successMessage }}</span>\n </template>\n </FormFieldWrapper>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, type StyleValue } from 'vue'\nimport { useField } from 'vee-validate'\nimport FormFieldWrapper from '../forms/FormFieldWrapper.vue'\nimport type { ValidationRule } from '../../types/form'\nimport { generateId } from '../../utils/id'\n\ninterface Props {\n name: string\n label?: string\n placeholder?: string\n disabled?: boolean\n rules?: ValidationRule\n validateOnMount?: boolean\n successMessage?: string\n tertiaryLabel?: string\n spellcheck?: boolean\n rows?: number\n maxlength?: number\n inputClass?: string\n inputStyle?: StyleValue\n lazy?: boolean\n modelValue?: string\n boxShadow?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n spellcheck: true,\n rows: 4,\n lazy: false,\n boxShadow: false\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n blur: [event: FocusEvent]\n focus: [event: FocusEvent]\n}>()\n\nconst textareaRef = ref<HTMLTextAreaElement>()\nconst id = generateId(props.name)\n\n// Use vee-validate for form validation\nconst { value, errorMessage, handleBlur, handleChange, meta } = useField(\n () => props.name,\n props.rules,\n {\n validateOnMount: props.validateOnMount,\n initialValue: props.modelValue,\n syncVModel: true\n }\n)\n\n// Sync with v-model\nwatch(\n () => props.modelValue,\n (newValue) => {\n if (newValue !== value.value) {\n value.value = newValue || ''\n }\n }\n)\n\nwatch(\n value,\n (newValue) => {\n emit('update:modelValue', newValue)\n }\n)\n\nconst textareaClasses = computed(() => {\n const baseClasses = [\n 'sl-w-full',\n 'sl-px-3',\n 'sl-py-2',\n 'sl-text-sm',\n 'sl-border',\n 'sl-rounded-md',\n 'sl-bg-white',\n 'dark:sl-bg-slate-900',\n 'sl-text-gray-900',\n 'dark:sl-text-slate-100',\n 'placeholder:sl-text-gray-400',\n 'dark:placeholder:sl-text-slate-500',\n 'sl-transition-all',\n 'sl-duration-200',\n 'focus:sl-outline-none',\n 'focus:sl-ring-2',\n 'focus:sl-ring-stachelock-500',\n 'focus:sl-border-stachelock-500',\n 'sl-resize-y',\n 'sl-min-h-[80px]'\n ]\n\n if (props.disabled) {\n baseClasses.push(\n 'sl-bg-gray-50',\n 'dark:sl-bg-slate-800',\n 'sl-text-gray-500',\n 'dark:sl-text-slate-300',\n 'sl-cursor-not-allowed',\n 'sl-border-gray-200',\n 'dark:sl-border-slate-700'\n )\n } else if (errorMessage.value) {\n baseClasses.push(\n 'sl-border-red-300',\n 'dark:sl-border-red-500',\n 'focus:sl-ring-red-500',\n 'focus:sl-border-red-500'\n )\n } else if (meta.valid && meta.touched) {\n baseClasses.push(\n 'sl-border-green-300',\n 'dark:sl-border-green-500',\n 'focus:sl-ring-green-500',\n 'focus:sl-border-green-500'\n )\n } else {\n baseClasses.push(\n 'sl-border-gray-300',\n 'dark:sl-border-slate-600',\n 'hover:sl-border-gray-400',\n 'dark:hover:sl-border-slate-500'\n )\n }\n\n return baseClasses.join(' ')\n})\n\nconst onInput = (event: Event) => {\n const target = event.target as HTMLTextAreaElement\n if (!props.lazy) {\n handleChange(target.value)\n }\n}\n\nconst onBlur = (event: FocusEvent) => {\n if (props.lazy) {\n const target = event.target as HTMLTextAreaElement\n handleChange(target.value)\n }\n handleBlur(event)\n emit('blur', event)\n}\n\nconst onFocus = (event: FocusEvent) => {\n emit('focus', event)\n}\n\nconst focus = () => {\n textareaRef.value?.focus()\n}\n\nconst blur = () => {\n textareaRef.value?.blur()\n}\n\ndefineExpose({\n focus,\n blur,\n textareaRef\n})\n</script>\n\n\n"],"names":["props","__props","emit","__emit","textareaRef","ref","id","generateId","value","errorMessage","handleBlur","handleChange","meta","useField","watch","newValue","textareaClasses","computed","baseClasses","onInput","event","target","onBlur","onFocus","__expose","_openBlock","_createElementBlock","_hoisted_1","_createVNode","FormFieldWrapper","_unref","name","label","disabled","rules","tertiaryLabel","boxShadow","successMessage","_createElementVNode","_hoisted_2","_withDirectives","_mergeProps","$event","placeholder","inputClass","inputStyle","spellcheck","rows","maxlength","$attrs","_hoisted_4","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+GA,UAAMA,IAAQC,GAORC,IAAOC,GAMPC,IAAcC,EAAA,GACdC,IAAKC,EAAWP,EAAM,IAAI,GAG1B,EAAE,OAAAQ,GAAO,cAAAC,GAAc,YAAAC,GAAY,cAAAC,GAAc,MAAAC,MAASC;AAAA,MAC9D,MAAMb,EAAM;AAAA,MACZA,EAAM;AAAA,MACN;AAAA,QACE,iBAAiBA,EAAM;AAAA,QACvB,cAAcA,EAAM;AAAA,QACpB,YAAY;AAAA,MAAA;AAAA,IACd;AAIF,IAAAc;AAAA,MACE,MAAMd,EAAM;AAAA,MACZ,CAACe,MAAa;AACZ,QAAIA,MAAaP,EAAM,UACrBA,EAAM,QAAQO,KAAY;AAAA,MAE9B;AAAA,IAAA,GAGFD;AAAA,MACEN;AAAA,MACA,CAACO,MAAa;AACZ,QAAAb,EAAK,qBAAqBa,CAAQ;AAAA,MACpC;AAAA,IAAA;AAGF,UAAMC,IAAkBC,EAAS,MAAM;AACrC,YAAMC,IAAc;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAGF,aAAIlB,EAAM,WACRkB,EAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,IAEOT,EAAa,QACtBS,EAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,IAEON,EAAK,SAASA,EAAK,UAC5BM,EAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,IAGFA,EAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,GAIGA,EAAY,KAAK,GAAG;AAAA,IAC7B,CAAC,GAEKC,IAAU,CAACC,MAAiB;AAChC,YAAMC,IAASD,EAAM;AACrB,MAAKpB,EAAM,QACTW,EAAaU,EAAO,KAAK;AAAA,IAE7B,GAEMC,IAAS,CAACF,MAAsB;AACpC,UAAIpB,EAAM,MAAM;AACd,cAAMqB,IAASD,EAAM;AACrB,QAAAT,EAAaU,EAAO,KAAK;AAAA,MAC3B;AACA,MAAAX,EAAWU,CAAK,GAChBlB,EAAK,QAAQkB,CAAK;AAAA,IACpB,GAEMG,IAAU,CAACH,MAAsB;AACrC,MAAAlB,EAAK,SAASkB,CAAK;AAAA,IACrB;AAUA,WAAAI,EAAa;AAAA,MACX,OATY,MAAM;AAClB,QAAApB,EAAY,OAAO,MAAA;AAAA,MACrB;AAAA,MAQE,MANW,MAAM;AACjB,QAAAA,EAAY,OAAO,KAAA;AAAA,MACrB;AAAA,MAKE,aAAAA;AAAA,IAAA,CACD,cAtNCqB,EAAA,GAAAC,EAiDM,OAjDNC,GAiDM;AAAA,MAhDJC,EA+CmBC,GAAA;AAAA,QA9ChB,IAAIC,EAAAxB,CAAA;AAAA,QACJ,MAAMyB,EAAAA;AAAAA,QACN,OAAOC,EAAAA;AAAAA,QACP,UAAUC,EAAAA;AAAAA,QACV,WAAWC,EAAAA;AAAAA,QACX,kBAAgBC,EAAAA;AAAAA,QAChB,cAAYC,EAAAA;AAAAA,QACZ,iBAAeN,EAAArB,CAAA;AAAA,QACf,mBAAiB4B,EAAAA;AAAAA,QACjB,YAAUP,EAAAlB,CAAA,EAAK;AAAA,QACf,cAAYkB,EAAAlB,CAAA,EAAK;AAAA,MAAA;QAiCP,qBACT,MAAuD;AAAA,UAA3CyB,EAAAA,kBAAZZ,EAAA,GAAAC,EAAuD,aAAxBW,EAAAA,cAAc,GAAA,CAAA;;mBAhC/C,MA6BM;AAAA,UA7BNC,EA6BM,OA7BNC,GA6BM;AAAA,YA5BJC,EAAAF,EAmBE,YAnBFG,EAmBE;AAAA,cAlBC,IAAIX,EAAAxB,CAAA;AAAA,uBACD;AAAA,cAAJ,KAAIF;AAAA,mEACKI,EAAK,QAAAkC,IAAA;AAAA,cACb,MAAMX,EAAAA;AAAAA,cACN,UAAUE,EAAAA;AAAAA,cACV,aAAaU,EAAAA;AAAAA,cACb,OAAK;AAAA,gBAAgB3B,EAAA;AAAA,gBAA6B4B,EAAAA;AAAAA,cAAAA;AAAAA,cAIlD,OAAOC,EAAAA;AAAAA,cACP,YAAYC,EAAAA;AAAAA,cACZ,MAAMC,EAAAA;AAAAA,cACN,WAAWC,EAAAA;AAAAA,YAAAA,GACJC,EAAAA,QAAM;AAAA,cACb,QAAA3B;AAAA,cACA,SAAAC;AAAA,cACA,SAAAJ;AAAA,YAAA;kBAfQW,EAAAtB,CAAA,CAAK;AAAA,YAAA;YAoBRwC,EAAAA,cAAc,eADtBtB,EAKM,OALNwB,GAKMC,EADDrB,EAAAtB,CAAA,GAAO,UAAM,CAAA,IAAQ,MAAC2C,EAAGH,EAAAA,SAAS,GAAA,CAAA;;;;;;;;"}
1
+ {"version":3,"file":"TextAreaInput.vue_vue_type_script_setup_true_lang-Cf0MJobG.js","sources":["../src/components/inputs/TextAreaInput.vue"],"sourcesContent":["<!--\n @component TextAreaInput\n @description Multi-line text input with character count.\n \n A styled textarea component with validation, character limit display,\n and auto-resize capability.\n \n @props\n - name (string, required): Field name for form binding\n - label (string, optional): Display label\n - placeholder (string, optional): Placeholder text\n - disabled (boolean, optional): Disabled state\n - rules (Schema, optional): Validation rules\n - modelValue (string, optional): Text value via v-model\n - rows (number, optional): Number of visible rows\n - maxlength (number, optional): Maximum character limit\n - spellcheck (boolean, optional): Enable spellcheck\n \n @emits\n - update:modelValue: Emitted when text changes\n - update:validity: Emitted when validation state changes\n \n @example\n <TextAreaInput\n name=\"bio\"\n label=\"Biography\"\n v-model=\"form.bio\"\n :rows=\"4\"\n :maxlength=\"500\"\n placeholder=\"Tell us about yourself...\"\n />\n-->\n<template>\n <div class=\"sl-w-full\">\n <FormFieldWrapper\n :id=\"id\"\n :name=\"name\"\n :label=\"label\"\n :disabled=\"disabled\"\n :optional=\"!rules\"\n :tertiary-label=\"tertiaryLabel\"\n :box-shadow=\"boxShadow\"\n :error-message=\"errorMessage\"\n :success-message=\"successMessage\"\n :is-valid=\"meta.valid\"\n :is-touched=\"meta.touched\"\n >\n <div class=\"sl-relative\">\n <textarea\n :id=\"id\"\n ref=\"textareaRef\"\n v-model=\"value\"\n :name=\"name\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n :class=\"[\n textareaClasses,\n inputClass\n ]\"\n :style=\"inputStyle\"\n :spellcheck=\"spellcheck\"\n :rows=\"rows\"\n :maxlength=\"maxlength\"\n v-bind=\"$attrs\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput\"\n />\n \n <!-- Character count -->\n <div \n v-if=\"maxlength !== undefined\" \n class=\"sl-absolute sl-bottom-2 sl-right-2 sl-text-xs sl-text-slate-500 dark:sl-text-slate-200 sl-pointer-events-none\"\n >\n {{ value?.length || 0 }}/{{ maxlength }}\n </div>\n </div>\n \n <template #success-message>\n <span v-if=\"successMessage\">{{ successMessage }}</span>\n </template>\n </FormFieldWrapper>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch, type StyleValue } from 'vue'\nimport { useField } from 'vee-validate'\nimport FormFieldWrapper from '../forms/FormFieldWrapper.vue'\nimport type { ValidationRule } from '../../types/form'\nimport { generateId } from '../../utils/id'\n\ninterface Props {\n name: string\n label?: string\n placeholder?: string\n disabled?: boolean\n rules?: ValidationRule\n validateOnMount?: boolean\n successMessage?: string\n tertiaryLabel?: string\n spellcheck?: boolean\n rows?: number\n maxlength?: number\n inputClass?: string\n inputStyle?: StyleValue\n lazy?: boolean\n modelValue?: string\n boxShadow?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n spellcheck: true,\n rows: 4,\n lazy: false,\n boxShadow: false\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string]\n blur: [event: FocusEvent]\n focus: [event: FocusEvent]\n}>()\n\nconst textareaRef = ref<HTMLTextAreaElement>()\nconst id = generateId(props.name)\n\n// Use vee-validate for form validation\nconst { value, errorMessage, handleBlur, handleChange, meta } = useField(\n () => props.name,\n props.rules,\n {\n validateOnMount: props.validateOnMount,\n initialValue: props.modelValue,\n syncVModel: true\n }\n)\n\n// Sync with v-model\nwatch(\n () => props.modelValue,\n (newValue) => {\n if (newValue !== value.value) {\n value.value = newValue || ''\n }\n }\n)\n\nwatch(\n value,\n (newValue) => {\n emit('update:modelValue', newValue)\n }\n)\n\nconst textareaClasses = computed(() => {\n const baseClasses = [\n 'sl-w-full',\n 'sl-px-3',\n 'sl-py-2',\n 'sl-text-sm',\n 'sl-border',\n 'sl-rounded-md',\n 'sl-bg-white',\n 'dark:sl-bg-slate-900',\n 'sl-text-gray-900',\n 'dark:sl-text-slate-100',\n 'placeholder:sl-text-gray-400',\n 'dark:placeholder:sl-text-slate-500',\n 'sl-transition-all',\n 'sl-duration-200',\n 'focus:sl-outline-none',\n 'focus:sl-ring-2',\n 'focus:sl-ring-stachelock-500',\n 'focus:sl-border-stachelock-500',\n 'sl-resize-y',\n 'sl-min-h-[80px]'\n ]\n\n if (props.disabled) {\n baseClasses.push(\n 'sl-bg-gray-50',\n 'dark:sl-bg-slate-800',\n 'sl-text-gray-500',\n 'dark:sl-text-slate-300',\n 'sl-cursor-not-allowed',\n 'sl-border-gray-200',\n 'dark:sl-border-slate-700'\n )\n } else if (errorMessage.value) {\n baseClasses.push(\n 'sl-border-red-300',\n 'dark:sl-border-red-500',\n 'focus:sl-ring-red-500',\n 'focus:sl-border-red-500'\n )\n } else if (meta.valid && meta.touched) {\n baseClasses.push(\n 'sl-border-green-300',\n 'dark:sl-border-green-500',\n 'focus:sl-ring-green-500',\n 'focus:sl-border-green-500'\n )\n } else {\n baseClasses.push(\n 'sl-border-gray-300',\n 'dark:sl-border-slate-600',\n 'hover:sl-border-gray-400',\n 'dark:hover:sl-border-slate-500'\n )\n }\n\n return baseClasses.join(' ')\n})\n\nconst onInput = (event: Event) => {\n const target = event.target as HTMLTextAreaElement\n if (!props.lazy) {\n handleChange(target.value)\n }\n}\n\nconst onBlur = (event: FocusEvent) => {\n if (props.lazy) {\n const target = event.target as HTMLTextAreaElement\n handleChange(target.value)\n }\n handleBlur(event)\n emit('blur', event)\n}\n\nconst onFocus = (event: FocusEvent) => {\n emit('focus', event)\n}\n\nconst focus = () => {\n textareaRef.value?.focus()\n}\n\nconst blur = () => {\n textareaRef.value?.blur()\n}\n\ndefineExpose({\n focus,\n blur,\n textareaRef\n})\n</script>\n\n\n"],"names":["props","__props","emit","__emit","textareaRef","ref","id","generateId","value","errorMessage","handleBlur","handleChange","meta","useField","watch","newValue","textareaClasses","computed","baseClasses","onInput","event","target","onBlur","onFocus","__expose","_openBlock","_createElementBlock","_hoisted_1","_createVNode","FormFieldWrapper","_unref","_createElementVNode","_hoisted_2","_withDirectives","_mergeProps","$event","$attrs","_hoisted_4","_toDisplayString"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent as b, ref as _, computed as s, createElementBlock as o, openBlock as u, normalizeClass as m, createCommentVNode as p, createElementVNode as z, toDisplayString as P } from "vue";
1
+ import { defineComponent as b, ref as z, computed as n, createElementBlock as u, openBlock as c, normalizeClass as m, createCommentVNode as p, createElementVNode as P, toDisplayString as x } from "vue";
2
2
  const C = {
3
3
  key: 0,
4
4
  class: "sl-h-full sl-w-full"
@@ -17,30 +17,30 @@ const C = {
17
17
  imagePath: { default: "image.url" },
18
18
  namePath: { default: "name" }
19
19
  },
20
- setup(v) {
21
- const e = v, i = _(!1), y = () => {
22
- i.value = !0;
23
- }, c = {
20
+ setup(s) {
21
+ const e = s, o = z(!1), y = () => {
22
+ o.value = !0;
23
+ }, f = {
24
24
  xs: "sl-h-6 sl-w-6",
25
25
  sm: "sl-h-8 sl-w-8",
26
26
  md: "sl-h-12 sl-w-12",
27
27
  lg: "sl-h-16 sl-w-16",
28
28
  xl: "sl-h-20 sl-w-20",
29
29
  "2xl": "sl-h-24 sl-w-24"
30
- }, k = s(() => typeof e.size == "number" ? `sl-h-${e.size} sl-w-${e.size}` : c[e.size] || c.md), n = (l, a) => {
30
+ }, k = n(() => typeof e.size == "number" ? `sl-h-${e.size} sl-w-${e.size}` : f[e.size] || f.md), i = (l, t) => {
31
31
  if (!l) return;
32
- const t = Array.isArray(a) ? a : a.split(".");
32
+ const a = Array.isArray(t) ? t : t.split(".");
33
33
  let r = l;
34
- for (const g of t)
35
- if (r && typeof r == "object" && g in r)
36
- r = r[g];
34
+ for (const v of a)
35
+ if (r && typeof r == "object" && v in r)
36
+ r = r[v];
37
37
  else
38
38
  return;
39
- return r;
40
- }, f = s(() => {
39
+ return typeof r == "string" ? r : void 0;
40
+ }, d = n(() => {
41
41
  if (e.imageUrl) return e.imageUrl;
42
42
  if (e.data && e.imagePath) {
43
- const l = n(e.data, e.imagePath);
43
+ const l = i(e.data, e.imagePath);
44
44
  if (l) return l;
45
45
  }
46
46
  if (e.data) {
@@ -51,16 +51,16 @@ const C = {
51
51
  "photo.url",
52
52
  "picture.url"
53
53
  ];
54
- for (const a of l) {
55
- const t = n(e.data, a);
56
- if (t) return t;
54
+ for (const t of l) {
55
+ const a = i(e.data, t);
56
+ if (a) return a;
57
57
  }
58
58
  }
59
59
  return null;
60
- }), d = s(() => {
60
+ }), h = n(() => {
61
61
  if (e.name) return e.name;
62
62
  if (e.data && e.namePath) {
63
- const l = n(e.data, e.namePath);
63
+ const l = i(e.data, e.namePath);
64
64
  if (l) return l;
65
65
  }
66
66
  if (e.data) {
@@ -71,38 +71,38 @@ const C = {
71
71
  "username",
72
72
  "title"
73
73
  ];
74
- for (const a of l) {
75
- const t = n(e.data, a);
76
- if (t) return t;
74
+ for (const t of l) {
75
+ const a = i(e.data, t);
76
+ if (a) return a;
77
77
  }
78
78
  }
79
79
  return "";
80
- }), h = s(() => !!f.value), w = s(() => {
81
- const l = d.value;
80
+ }), g = n(() => !!d.value), w = n(() => {
81
+ const l = h.value;
82
82
  if (!l || l.trim() === "")
83
83
  return e.fallbackInitials;
84
- const a = l.split(" ").filter(Boolean);
85
- return a.length === 0 ? e.fallbackInitials : a.length === 1 ? a[0][0].toUpperCase() : (a[0][0] + a[a.length - 1][0]).toUpperCase();
84
+ const t = l.split(" ").filter(Boolean);
85
+ return t.length === 0 ? e.fallbackInitials : t.length === 1 ? t[0][0].toUpperCase() : (t[0][0] + t[t.length - 1][0]).toUpperCase();
86
86
  });
87
- return (l, a) => (u(), o("div", {
88
- class: m(["sl-relative sl-inline-block", [k.value, l.ring, l.rounded]])
87
+ return (l, t) => (c(), u("div", {
88
+ class: m(["sl-relative sl-inline-block", [k.value, s.ring, s.rounded]])
89
89
  }, [
90
- h.value && !i.value ? (u(), o("div", C, [
91
- z("img", {
92
- src: f.value,
93
- alt: d.value,
94
- class: m(["sl-h-full sl-w-full sl-object-cover", l.rounded]),
90
+ g.value && !o.value ? (c(), u("div", C, [
91
+ P("img", {
92
+ src: d.value,
93
+ alt: h.value,
94
+ class: m(["sl-h-full sl-w-full sl-object-cover", s.rounded]),
95
95
  onError: y
96
96
  }, null, 42, U)
97
97
  ])) : p("", !0),
98
- !h.value || i.value ? (u(), o("div", {
98
+ !g.value || o.value ? (c(), u("div", {
99
99
  key: 1,
100
- class: m(["sl-h-full sl-w-full sl-flex sl-items-center sl-justify-center sl-font-semibold sl-text-white", [l.color, l.rounded]])
101
- }, P(w.value), 3)) : p("", !0)
100
+ class: m(["sl-h-full sl-w-full sl-flex sl-items-center sl-justify-center sl-font-semibold sl-text-white", [s.color, s.rounded]])
101
+ }, x(w.value), 3)) : p("", !0)
102
102
  ], 2));
103
103
  }
104
104
  });
105
105
  export {
106
106
  E as _
107
107
  };
108
- //# sourceMappingURL=UiAvatar.vue_vue_type_script_setup_true_lang-Ci7VLRZx.js.map
108
+ //# sourceMappingURL=UiAvatar.vue_vue_type_script_setup_true_lang-WVY6JbUL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiAvatar.vue_vue_type_script_setup_true_lang-WVY6JbUL.js","sources":["../src/components/UiAvatar.vue"],"sourcesContent":["<!--\n @component UiAvatar\n @description Avatar component displaying user image or initials fallback.\n \n Supports flexible data structures with configurable path resolution for\n images and names. Falls back to initials when no image is available.\n \n @props\n - data (object, optional): Flexible data object with image/name properties\n - name (string, optional): Direct name for initials\n - imageUrl (string, optional): Direct image URL\n - size (Size | number, optional): Avatar size - 'xs' through '2xl' or number\n - color (string, optional): Background color class for initials fallback\n - ring (string, optional): Ring/border class\n - rounded (string, optional): Border radius class\n - fallbackInitials (string, optional): Fallback when no name available\n - imagePath (string | string[], optional): Path to image in data object\n - namePath (string | string[], optional): Path to name in data object\n \n @example\n <UiAvatar name=\"John Doe\" size=\"lg\" />\n \n @example\n <UiAvatar :data=\"user\" image-path=\"profile.avatar.url\" name-path=\"profile.displayName\" />\n-->\n<template>\n <div class=\"sl-relative sl-inline-block\" :class=\"[sizeClass, ring, rounded]\">\n <div v-if=\"hasImage && !imageError\" class=\"sl-h-full sl-w-full\">\n <img\n :src=\"imageUrl\"\n :alt=\"displayName\"\n class=\"sl-h-full sl-w-full sl-object-cover\"\n :class=\"rounded\"\n @error=\"handleImageError\"\n />\n </div>\n <div v-if=\"!hasImage || imageError\" class=\"sl-h-full sl-w-full sl-flex sl-items-center sl-justify-center sl-font-semibold sl-text-white\"\n :class=\"[color, rounded]\">\n {{ initials }}\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n/**\n * UiAvatar - User avatar component with image and initials fallback\n * \n * Displays a user avatar with automatic fallback to initials when no image\n * is available or when image fails to load. Supports flexible data structures\n * through configurable path resolution.\n * \n * ## Features\n * - Image display with error handling\n * - Automatic initials generation from name\n * - Flexible data object support with path resolution\n * - Multiple size options\n * - Customizable colors and styling\n * \n * @module components/UiAvatar\n * @see {@link AvatarType} for prop interface\n */\nimport { computed, ref } from 'vue';\n\n// Type for flexible avatar data object\ntype AvatarData = Record<string, unknown> & {\n name?: string;\n display_name?: string;\n full_name?: string;\n username?: string;\n title?: string;\n image?: { url?: string };\n profile_image?: { url?: string };\n avatar?: { url?: string };\n photo?: { url?: string };\n picture?: { url?: string };\n [key: string]: unknown;\n};\n\ninterface AvatarProps {\n // Flexible data object - can be any object with optional name and image properties\n data?: AvatarData;\n \n // Direct properties for simple use cases\n name?: string;\n imageUrl?: string;\n \n // Size options\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | number;\n \n // Styling options\n color?: string;\n ring?: string;\n rounded?: string;\n \n // Image fallback options\n fallbackInitials?: string;\n fallbackIcon?: string;\n \n // Custom image path keys for different data structures\n imagePath?: string | string[]; // e.g., 'profile_image.url' or ['profile_image', 'url']\n namePath?: string | string[]; // e.g., 'display_name' or ['user', 'profile', 'name']\n}\n\nconst props = withDefaults(defineProps<AvatarProps>(), {\n size: 'md',\n color: 'sl-bg-primary-600 dark:sl-bg-primary-500',\n ring: 'sl-ring-white dark:sl-ring-slate-800',\n rounded: 'sl-rounded-full',\n fallbackInitials: '?',\n imagePath: 'image.url',\n namePath: 'name'\n});\n\nconst imageError = ref(false);\n\nconst handleImageError = () => {\n imageError.value = true;\n};\n\n// Size classes mapping\nconst sizeClasses: Record<string, string> = {\n xs: 'sl-h-6 sl-w-6',\n sm: 'sl-h-8 sl-w-8',\n md: 'sl-h-12 sl-w-12',\n lg: 'sl-h-16 sl-w-16',\n xl: 'sl-h-20 sl-w-20',\n '2xl': 'sl-h-24 sl-w-24',\n};\n\nconst sizeClass = computed(() => {\n if (typeof props.size === 'number') {\n return `sl-h-${props.size} sl-w-${props.size}`;\n }\n return sizeClasses[props.size] || sizeClasses.md;\n});\n\n// Helper function to get nested object values\nconst getNestedValue = (obj: AvatarData | undefined, path: string | string[]): string | undefined => {\n if (!obj) return undefined;\n \n const keys = Array.isArray(path) ? path : path.split('.');\n let current: unknown = obj;\n \n for (const key of keys) {\n if (current && typeof current === 'object' && key in current) {\n current = (current as Record<string, unknown>)[key];\n } else {\n return undefined;\n }\n }\n \n return typeof current === 'string' ? current : undefined;\n};\n\n// Get image URL from various sources\nconst imageUrl = computed(() => {\n // Direct imageUrl prop takes precedence\n if (props.imageUrl) return props.imageUrl;\n \n // Try to get from data object using imagePath\n if (props.data && props.imagePath) {\n const url = getNestedValue(props.data, props.imagePath);\n if (url) return url;\n }\n \n // Fallback to common image paths if no specific path provided\n if (props.data) {\n const commonPaths = [\n 'profile_image.url',\n 'image.url',\n 'avatar.url',\n 'photo.url',\n 'picture.url'\n ];\n \n for (const path of commonPaths) {\n const url = getNestedValue(props.data, path);\n if (url) return url;\n }\n }\n \n return null;\n});\n\n// Get display name from various sources\nconst displayName = computed(() => {\n // Direct name prop takes precedence\n if (props.name) return props.name;\n \n // Try to get from data object using namePath\n if (props.data && props.namePath) {\n const name = getNestedValue(props.data, props.namePath);\n if (name) return name;\n }\n \n // Fallback to common name paths if no specific path provided\n if (props.data) {\n const commonPaths = [\n 'name',\n 'display_name',\n 'full_name',\n 'username',\n 'title'\n ];\n \n for (const path of commonPaths) {\n const name = getNestedValue(props.data, path);\n if (name) return name;\n }\n }\n \n return '';\n});\n\nconst hasImage = computed(() => {\n return !!imageUrl.value;\n});\n\nconst initials = computed(() => {\n const name = displayName.value;\n \n if (!name || name.trim() === '') {\n return props.fallbackInitials;\n }\n\n const names = name.split(' ').filter(Boolean);\n if (names.length === 0) {\n return props.fallbackInitials;\n }\n\n if (names.length === 1) {\n return names[0][0].toUpperCase();\n } else {\n return (names[0][0] + names[names.length - 1][0]).toUpperCase();\n }\n});\n</script>\n\n<style scoped>\n</style>\n"],"names":["props","__props","imageError","ref","handleImageError","sizeClasses","sizeClass","computed","getNestedValue","obj","path","keys","current","key","imageUrl","url","commonPaths","displayName","name","hasImage","initials","names","_createElementBlock","_openBlock","_hoisted_1","_createElementVNode","_normalizeClass"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent as y, computed as e, createElementBlock as o, openBlock as n, normalizeClass as t, createCommentVNode as g, renderSlot as v, createElementVNode as d } from "vue";
1
+ import { defineComponent as y, computed as e, createElementBlock as n, openBlock as t, normalizeClass as g, createCommentVNode as d, renderSlot as v, createElementVNode as a } from "vue";
2
2
  const x = /* @__PURE__ */ y({
3
3
  __name: "UiBadge",
4
4
  props: {
@@ -8,8 +8,8 @@ const x = /* @__PURE__ */ y({
8
8
  removable: { type: Boolean, default: !1 }
9
9
  },
10
10
  emits: ["remove"],
11
- setup(a) {
12
- const r = a, i = e(() => ({
11
+ setup(o) {
12
+ const r = o, i = e(() => ({
13
13
  gray: "sl-bg-gray-100 dark:sl-bg-gray-800 sl-text-gray-700 dark:sl-text-gray-300 sl-ring-gray-500/20 dark:sl-ring-gray-500/30",
14
14
  red: "sl-bg-red-50 dark:sl-bg-red-900/30 sl-text-red-700 dark:sl-text-red-400 sl-ring-red-600/20 dark:sl-ring-red-500/30",
15
15
  yellow: "sl-bg-yellow-50 dark:sl-bg-yellow-900/30 sl-text-yellow-800 dark:sl-text-yellow-400 sl-ring-yellow-600/20 dark:sl-ring-yellow-500/30",
@@ -18,11 +18,11 @@ const x = /* @__PURE__ */ y({
18
18
  indigo: "sl-bg-indigo-50 dark:sl-bg-indigo-900/30 sl-text-indigo-700 dark:sl-text-indigo-400 sl-ring-indigo-600/20 dark:sl-ring-indigo-500/30",
19
19
  purple: "sl-bg-purple-50 dark:sl-bg-purple-900/30 sl-text-purple-700 dark:sl-text-purple-400 sl-ring-purple-600/20 dark:sl-ring-purple-500/30",
20
20
  pink: "sl-bg-pink-50 dark:sl-bg-pink-900/30 sl-text-pink-700 dark:sl-text-pink-400 sl-ring-pink-600/20 dark:sl-ring-pink-500/30"
21
- })[r.color]), p = e(() => ({
21
+ })[r.color]), b = e(() => ({
22
22
  sm: "sl-px-2 sl-py-0.5 sl-text-xs",
23
23
  md: "sl-px-2.5 sl-py-0.5 sl-text-xs",
24
24
  lg: "sl-px-3 sl-py-1 sl-text-sm"
25
- })[r.size]), b = e(() => [
25
+ })[r.size]), u = e(() => [
26
26
  "sl-h-1.5 sl-w-1.5 sl-rounded-full sl-mr-1.5",
27
27
  {
28
28
  gray: "sl-bg-gray-500",
@@ -34,7 +34,7 @@ const x = /* @__PURE__ */ y({
34
34
  purple: "sl-bg-purple-500",
35
35
  pink: "sl-bg-pink-500"
36
36
  }[r.color]
37
- ]), u = e(() => [
37
+ ]), p = e(() => [
38
38
  "sl-ml-1 sl-rounded-sm sl-p-0.5 sl-transition-colors",
39
39
  {
40
40
  gray: "hover:sl-bg-gray-200 dark:hover:sl-bg-gray-700",
@@ -49,28 +49,28 @@ const x = /* @__PURE__ */ y({
49
49
  ]), k = e(() => [
50
50
  "sl-inline-flex sl-items-center sl-font-medium sl-rounded-full sl-ring-1 sl-ring-inset",
51
51
  i.value,
52
- p.value
52
+ b.value
53
53
  ]);
54
- return (l, s) => (n(), o("span", {
55
- class: t(k.value)
54
+ return (l, s) => (t(), n("span", {
55
+ class: g(k.value)
56
56
  }, [
57
- l.dot ? (n(), o("span", {
57
+ o.dot ? (t(), n("span", {
58
58
  key: 0,
59
- class: t(b.value)
60
- }, null, 2)) : g("", !0),
59
+ class: g(u.value)
60
+ }, null, 2)) : d("", !0),
61
61
  v(l.$slots, "default"),
62
- l.removable ? (n(), o("button", {
62
+ o.removable ? (t(), n("button", {
63
63
  key: 1,
64
64
  type: "button",
65
65
  onClick: s[0] || (s[0] = (m) => l.$emit("remove")),
66
- class: t(u.value)
67
- }, s[1] || (s[1] = [
68
- d("svg", {
66
+ class: g(p.value)
67
+ }, [...s[1] || (s[1] = [
68
+ a("svg", {
69
69
  class: "sl-h-3 sl-w-3",
70
70
  viewBox: "0 0 14 14",
71
71
  fill: "currentColor"
72
72
  }, [
73
- d("path", {
73
+ a("path", {
74
74
  d: "M4 4l6 6m0-6l-6 6",
75
75
  stroke: "currentColor",
76
76
  "stroke-width": "1.5",
@@ -78,11 +78,11 @@ const x = /* @__PURE__ */ y({
78
78
  fill: "none"
79
79
  })
80
80
  ], -1)
81
- ]), 2)) : g("", !0)
81
+ ])], 2)) : d("", !0)
82
82
  ], 2));
83
83
  }
84
84
  });
85
85
  export {
86
86
  x as _
87
87
  };
88
- //# sourceMappingURL=UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js.map
88
+ //# sourceMappingURL=UiBadge.vue_vue_type_script_setup_true_lang-DOtbLb9x.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiBadge.vue_vue_type_script_setup_true_lang-CV8WVEXL.js","sources":["../src/components/UiBadge.vue"],"sourcesContent":["<!--\n @component UiBadge\n @description Status indicators, labels, and notification counts.\n \n @props\n - color: Color variant (gray, red, yellow, green, blue, indigo, purple, pink)\n - size: Size variant (sm, md, lg)\n - dot: Show leading status dot\n - removable: Show remove button\n \n @emits\n - remove: Emitted when remove button is clicked\n \n @slots\n - default: Badge content\n-->\n<template>\n <span :class=\"badgeClasses\">\n <!-- Status Dot -->\n <span v-if=\"dot\" :class=\"dotClasses\" />\n \n <!-- Content -->\n <slot />\n \n <!-- Remove Button -->\n <button\n v-if=\"removable\"\n type=\"button\"\n @click=\"$emit('remove')\"\n :class=\"removeButtonClasses\"\n >\n <svg class=\"sl-h-3 sl-w-3\" viewBox=\"0 0 14 14\" fill=\"currentColor\">\n <path d=\"M4 4l6 6m0-6l-6 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" fill=\"none\" />\n </svg>\n </button>\n </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\n\ntype BadgeColor = 'gray' | 'red' | 'yellow' | 'green' | 'blue' | 'indigo' | 'purple' | 'pink';\ntype BadgeSize = 'sm' | 'md' | 'lg';\n\ninterface BadgeProps {\n color?: BadgeColor;\n size?: BadgeSize;\n dot?: boolean;\n removable?: boolean;\n}\n\nconst props = withDefaults(defineProps<BadgeProps>(), {\n color: 'gray',\n size: 'md',\n dot: false,\n removable: false,\n});\n\ndefineEmits<{\n remove: [];\n}>();\n\n// Color classes for each variant\nconst colorClasses = computed(() => {\n const colors: Record<BadgeColor, string> = {\n gray: 'sl-bg-gray-100 dark:sl-bg-gray-800 sl-text-gray-700 dark:sl-text-gray-300 sl-ring-gray-500/20 dark:sl-ring-gray-500/30',\n red: 'sl-bg-red-50 dark:sl-bg-red-900/30 sl-text-red-700 dark:sl-text-red-400 sl-ring-red-600/20 dark:sl-ring-red-500/30',\n yellow: 'sl-bg-yellow-50 dark:sl-bg-yellow-900/30 sl-text-yellow-800 dark:sl-text-yellow-400 sl-ring-yellow-600/20 dark:sl-ring-yellow-500/30',\n green: 'sl-bg-green-50 dark:sl-bg-green-900/30 sl-text-green-700 dark:sl-text-green-400 sl-ring-green-600/20 dark:sl-ring-green-500/30',\n blue: 'sl-bg-blue-50 dark:sl-bg-blue-900/30 sl-text-blue-700 dark:sl-text-blue-400 sl-ring-blue-600/20 dark:sl-ring-blue-500/30',\n indigo: 'sl-bg-indigo-50 dark:sl-bg-indigo-900/30 sl-text-indigo-700 dark:sl-text-indigo-400 sl-ring-indigo-600/20 dark:sl-ring-indigo-500/30',\n purple: 'sl-bg-purple-50 dark:sl-bg-purple-900/30 sl-text-purple-700 dark:sl-text-purple-400 sl-ring-purple-600/20 dark:sl-ring-purple-500/30',\n pink: 'sl-bg-pink-50 dark:sl-bg-pink-900/30 sl-text-pink-700 dark:sl-text-pink-400 sl-ring-pink-600/20 dark:sl-ring-pink-500/30',\n };\n return colors[props.color];\n});\n\n// Size classes\nconst sizeClasses = computed(() => {\n const sizes: Record<BadgeSize, string> = {\n sm: 'sl-px-2 sl-py-0.5 sl-text-xs',\n md: 'sl-px-2.5 sl-py-0.5 sl-text-xs',\n lg: 'sl-px-3 sl-py-1 sl-text-sm',\n };\n return sizes[props.size];\n});\n\n// Dot color classes\nconst dotClasses = computed(() => {\n const dotColors: Record<BadgeColor, string> = {\n gray: 'sl-bg-gray-500',\n red: 'sl-bg-red-500',\n yellow: 'sl-bg-yellow-500',\n green: 'sl-bg-green-500',\n blue: 'sl-bg-blue-500',\n indigo: 'sl-bg-indigo-500',\n purple: 'sl-bg-purple-500',\n pink: 'sl-bg-pink-500',\n };\n return [\n 'sl-h-1.5 sl-w-1.5 sl-rounded-full sl-mr-1.5',\n dotColors[props.color]\n ];\n});\n\n// Remove button classes (hover matches badge color)\nconst removeButtonClasses = computed(() => {\n const hoverColors: Record<BadgeColor, string> = {\n gray: 'hover:sl-bg-gray-200 dark:hover:sl-bg-gray-700',\n red: 'hover:sl-bg-red-100 dark:hover:sl-bg-red-800/50',\n yellow: 'hover:sl-bg-yellow-100 dark:hover:sl-bg-yellow-800/50',\n green: 'hover:sl-bg-green-100 dark:hover:sl-bg-green-800/50',\n blue: 'hover:sl-bg-blue-100 dark:hover:sl-bg-blue-800/50',\n indigo: 'hover:sl-bg-indigo-100 dark:hover:sl-bg-indigo-800/50',\n purple: 'hover:sl-bg-purple-100 dark:hover:sl-bg-purple-800/50',\n pink: 'hover:sl-bg-pink-100 dark:hover:sl-bg-pink-800/50',\n };\n return [\n 'sl-ml-1 sl-rounded-sm sl-p-0.5 sl-transition-colors',\n hoverColors[props.color]\n ];\n});\n\n// Combined badge classes\nconst badgeClasses = computed(() => [\n 'sl-inline-flex sl-items-center sl-font-medium sl-rounded-full sl-ring-1 sl-ring-inset',\n colorClasses.value,\n sizeClasses.value,\n]);\n</script>\n"],"names":["props","__props","colorClasses","computed","sizeClasses","dotClasses","removeButtonClasses","badgeClasses","_createElementBlock","dot","_renderSlot","_ctx","removable","$emit","_createElementVNode"],"mappings":";;;;;;;;;;;AAmDA,UAAMA,IAAQC,GAYRC,IAAeC,EAAS,OACe;AAAA,MACzC,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA,GAEMH,EAAM,KAAK,CAC1B,GAGKI,IAAcD,EAAS,OACc;AAAA,MACvC,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA,GAEOH,EAAM,IAAI,CACxB,GAGKK,IAAaF,EAAS,MAWnB;AAAA,MACL;AAAA,MAX4C;AAAA,QAC5C,MAAM;AAAA,QACN,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA,EAIIH,EAAM,KAAK;AAAA,IAAA,CAExB,GAGKM,IAAsBH,EAAS,MAW5B;AAAA,MACL;AAAA,MAX8C;AAAA,QAC9C,MAAM;AAAA,QACN,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA,EAIMH,EAAM,KAAK;AAAA,IAAA,CAE1B,GAGKO,IAAeJ,EAAS,MAAM;AAAA,MAClC;AAAA,MACAD,EAAa;AAAA,MACbE,EAAY;AAAA,IAAA,CACb;2BA/GCI,EAkBO,QAAA;AAAA,MAlBA,SAAOD,EAAA,KAAY;AAAA,IAAA;MAEZE,EAAAA,YAAZD,EAAuC,QAAA;AAAA;QAArB,SAAOH,EAAA,KAAU;AAAA,MAAA;MAGnCK,EAAQC,EAAA,QAAA,SAAA;AAAA,MAIAC,EAAAA,kBADRJ,EASS,UAAA;AAAA;QAPP,MAAK;AAAA,QACJ,gCAAOK,EAAAA,MAAK,QAAA;AAAA,QACZ,SAAOP,EAAA,KAAmB;AAAA,MAAA;QAE3BQ,EAEM,OAAA;AAAA,UAFD,OAAM;AAAA,UAAgB,SAAQ;AAAA,UAAY,MAAK;AAAA,QAAA;UAClDA,EAA0G,QAAA;AAAA,YAApG,GAAE;AAAA,YAAoB,QAAO;AAAA,YAAe,gBAAa;AAAA,YAAM,kBAAe;AAAA,YAAQ,MAAK;AAAA,UAAA;;;;;;"}
1
+ {"version":3,"file":"UiBadge.vue_vue_type_script_setup_true_lang-DOtbLb9x.js","sources":["../src/components/UiBadge.vue"],"sourcesContent":["<!--\n @component UiBadge\n @description Status indicators, labels, and notification counts.\n \n @props\n - color: Color variant (gray, red, yellow, green, blue, indigo, purple, pink)\n - size: Size variant (sm, md, lg)\n - dot: Show leading status dot\n - removable: Show remove button\n \n @emits\n - remove: Emitted when remove button is clicked\n \n @slots\n - default: Badge content\n-->\n<template>\n <span :class=\"badgeClasses\">\n <!-- Status Dot -->\n <span v-if=\"dot\" :class=\"dotClasses\" />\n \n <!-- Content -->\n <slot />\n \n <!-- Remove Button -->\n <button\n v-if=\"removable\"\n type=\"button\"\n @click=\"$emit('remove')\"\n :class=\"removeButtonClasses\"\n >\n <svg class=\"sl-h-3 sl-w-3\" viewBox=\"0 0 14 14\" fill=\"currentColor\">\n <path d=\"M4 4l6 6m0-6l-6 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" fill=\"none\" />\n </svg>\n </button>\n </span>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\n\ntype BadgeColor = 'gray' | 'red' | 'yellow' | 'green' | 'blue' | 'indigo' | 'purple' | 'pink';\ntype BadgeSize = 'sm' | 'md' | 'lg';\n\ninterface BadgeProps {\n color?: BadgeColor;\n size?: BadgeSize;\n dot?: boolean;\n removable?: boolean;\n}\n\nconst props = withDefaults(defineProps<BadgeProps>(), {\n color: 'gray',\n size: 'md',\n dot: false,\n removable: false,\n});\n\ndefineEmits<{\n remove: [];\n}>();\n\n// Color classes for each variant\nconst colorClasses = computed(() => {\n const colors: Record<BadgeColor, string> = {\n gray: 'sl-bg-gray-100 dark:sl-bg-gray-800 sl-text-gray-700 dark:sl-text-gray-300 sl-ring-gray-500/20 dark:sl-ring-gray-500/30',\n red: 'sl-bg-red-50 dark:sl-bg-red-900/30 sl-text-red-700 dark:sl-text-red-400 sl-ring-red-600/20 dark:sl-ring-red-500/30',\n yellow: 'sl-bg-yellow-50 dark:sl-bg-yellow-900/30 sl-text-yellow-800 dark:sl-text-yellow-400 sl-ring-yellow-600/20 dark:sl-ring-yellow-500/30',\n green: 'sl-bg-green-50 dark:sl-bg-green-900/30 sl-text-green-700 dark:sl-text-green-400 sl-ring-green-600/20 dark:sl-ring-green-500/30',\n blue: 'sl-bg-blue-50 dark:sl-bg-blue-900/30 sl-text-blue-700 dark:sl-text-blue-400 sl-ring-blue-600/20 dark:sl-ring-blue-500/30',\n indigo: 'sl-bg-indigo-50 dark:sl-bg-indigo-900/30 sl-text-indigo-700 dark:sl-text-indigo-400 sl-ring-indigo-600/20 dark:sl-ring-indigo-500/30',\n purple: 'sl-bg-purple-50 dark:sl-bg-purple-900/30 sl-text-purple-700 dark:sl-text-purple-400 sl-ring-purple-600/20 dark:sl-ring-purple-500/30',\n pink: 'sl-bg-pink-50 dark:sl-bg-pink-900/30 sl-text-pink-700 dark:sl-text-pink-400 sl-ring-pink-600/20 dark:sl-ring-pink-500/30',\n };\n return colors[props.color];\n});\n\n// Size classes\nconst sizeClasses = computed(() => {\n const sizes: Record<BadgeSize, string> = {\n sm: 'sl-px-2 sl-py-0.5 sl-text-xs',\n md: 'sl-px-2.5 sl-py-0.5 sl-text-xs',\n lg: 'sl-px-3 sl-py-1 sl-text-sm',\n };\n return sizes[props.size];\n});\n\n// Dot color classes\nconst dotClasses = computed(() => {\n const dotColors: Record<BadgeColor, string> = {\n gray: 'sl-bg-gray-500',\n red: 'sl-bg-red-500',\n yellow: 'sl-bg-yellow-500',\n green: 'sl-bg-green-500',\n blue: 'sl-bg-blue-500',\n indigo: 'sl-bg-indigo-500',\n purple: 'sl-bg-purple-500',\n pink: 'sl-bg-pink-500',\n };\n return [\n 'sl-h-1.5 sl-w-1.5 sl-rounded-full sl-mr-1.5',\n dotColors[props.color]\n ];\n});\n\n// Remove button classes (hover matches badge color)\nconst removeButtonClasses = computed(() => {\n const hoverColors: Record<BadgeColor, string> = {\n gray: 'hover:sl-bg-gray-200 dark:hover:sl-bg-gray-700',\n red: 'hover:sl-bg-red-100 dark:hover:sl-bg-red-800/50',\n yellow: 'hover:sl-bg-yellow-100 dark:hover:sl-bg-yellow-800/50',\n green: 'hover:sl-bg-green-100 dark:hover:sl-bg-green-800/50',\n blue: 'hover:sl-bg-blue-100 dark:hover:sl-bg-blue-800/50',\n indigo: 'hover:sl-bg-indigo-100 dark:hover:sl-bg-indigo-800/50',\n purple: 'hover:sl-bg-purple-100 dark:hover:sl-bg-purple-800/50',\n pink: 'hover:sl-bg-pink-100 dark:hover:sl-bg-pink-800/50',\n };\n return [\n 'sl-ml-1 sl-rounded-sm sl-p-0.5 sl-transition-colors',\n hoverColors[props.color]\n ];\n});\n\n// Combined badge classes\nconst badgeClasses = computed(() => [\n 'sl-inline-flex sl-items-center sl-font-medium sl-rounded-full sl-ring-1 sl-ring-inset',\n colorClasses.value,\n sizeClasses.value,\n]);\n</script>\n"],"names":["props","__props","colorClasses","computed","sizeClasses","dotClasses","removeButtonClasses","badgeClasses","_createElementBlock","_renderSlot","_ctx","$emit","_createElementVNode"],"mappings":";;;;;;;;;;;AAmDA,UAAMA,IAAQC,GAYRC,IAAeC,EAAS,OACe;AAAA,MACzC,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA,GAEMH,EAAM,KAAK,CAC1B,GAGKI,IAAcD,EAAS,OACc;AAAA,MACvC,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA,GAEOH,EAAM,IAAI,CACxB,GAGKK,IAAaF,EAAS,MAWnB;AAAA,MACL;AAAA,MAX4C;AAAA,QAC5C,MAAM;AAAA,QACN,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA,EAIIH,EAAM,KAAK;AAAA,IAAA,CAExB,GAGKM,IAAsBH,EAAS,MAW5B;AAAA,MACL;AAAA,MAX8C;AAAA,QAC9C,MAAM;AAAA,QACN,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA,EAIMH,EAAM,KAAK;AAAA,IAAA,CAE1B,GAGKO,IAAeJ,EAAS,MAAM;AAAA,MAClC;AAAA,MACAD,EAAa;AAAA,MACbE,EAAY;AAAA,IAAA,CACb;2BA/GCI,EAkBO,QAAA;AAAA,MAlBA,SAAOD,EAAA,KAAY;AAAA,IAAA;MAEZN,EAAA,YAAZO,EAAuC,QAAA;AAAA;QAArB,SAAOH,EAAA,KAAU;AAAA,MAAA;MAGnCI,EAAQC,EAAA,QAAA,SAAA;AAAA,MAIAT,EAAA,kBADRO,EASS,UAAA;AAAA;QAPP,MAAK;AAAA,QACJ,gCAAOG,EAAAA,MAAK,QAAA;AAAA,QACZ,SAAOL,EAAA,KAAmB;AAAA,MAAA;QAE3BM,EAEM,OAAA;AAAA,UAFD,OAAM;AAAA,UAAgB,SAAQ;AAAA,UAAY,MAAK;AAAA,QAAA;UAClDA,EAA0G,QAAA;AAAA,YAApG,GAAE;AAAA,YAAoB,QAAO;AAAA,YAAe,gBAAa;AAAA,YAAM,kBAAe;AAAA,YAAQ,MAAK;AAAA,UAAA;;;;;;"}