@skdx/vue-blocks 0.1.0 → 0.35.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 (241) hide show
  1. package/dist/chat-composer/ChatComposer.vue.cjs +1 -0
  2. package/dist/chat-composer/ChatComposer.vue.d.cts +104 -0
  3. package/dist/chat-composer/ChatComposer.vue.d.ts +104 -0
  4. package/dist/chat-composer/ChatComposer.vue.js +1 -0
  5. package/dist/chat-composer/ChatComposer.vue_vue_type_script_setup_true_lang.cjs +1 -0
  6. package/dist/chat-composer/ChatComposer.vue_vue_type_script_setup_true_lang.js +1 -0
  7. package/dist/chat-composer/index.cjs +1 -0
  8. package/dist/chat-composer/index.d.cts +2 -0
  9. package/dist/chat-composer/index.d.ts +2 -0
  10. package/dist/chat-composer/index.js +1 -0
  11. package/dist/chat-composer/types.d.cts +7 -0
  12. package/dist/chat-composer/types.d.ts +7 -0
  13. package/dist/chat-message/ChatMessage.vue.cjs +1 -0
  14. package/dist/chat-message/ChatMessage.vue.d.cts +73 -0
  15. package/dist/chat-message/ChatMessage.vue.d.ts +73 -0
  16. package/dist/chat-message/ChatMessage.vue.js +1 -0
  17. package/dist/chat-message/ChatMessage.vue_vue_type_script_setup_true_lang.cjs +1 -0
  18. package/dist/chat-message/ChatMessage.vue_vue_type_script_setup_true_lang.js +1 -0
  19. package/dist/chat-message/index.cjs +1 -0
  20. package/dist/chat-message/index.d.cts +1 -0
  21. package/dist/chat-message/index.d.ts +1 -0
  22. package/dist/chat-message/index.js +1 -0
  23. package/dist/chat-message/types.d.cts +0 -0
  24. package/dist/chat-message/types.d.ts +0 -0
  25. package/dist/comment/Comment.vue.cjs +1 -0
  26. package/dist/comment/Comment.vue.d.cts +65 -0
  27. package/dist/comment/Comment.vue.d.ts +65 -0
  28. package/dist/comment/Comment.vue.js +1 -0
  29. package/dist/comment/Comment.vue_vue_type_script_setup_true_lang.cjs +1 -0
  30. package/dist/comment/Comment.vue_vue_type_script_setup_true_lang.js +1 -0
  31. package/dist/comment/index.cjs +1 -0
  32. package/dist/comment/index.d.cts +1 -0
  33. package/dist/comment/index.d.ts +1 -0
  34. package/dist/comment/index.js +1 -0
  35. package/dist/comment/types.d.cts +0 -0
  36. package/dist/comment/types.d.ts +0 -0
  37. package/dist/comment-thread/CommentThread.vue.cjs +1 -0
  38. package/dist/comment-thread/CommentThread.vue.d.cts +65 -0
  39. package/dist/comment-thread/CommentThread.vue.d.ts +65 -0
  40. package/dist/comment-thread/CommentThread.vue.js +1 -0
  41. package/dist/comment-thread/CommentThread.vue_vue_type_script_setup_true_lang.cjs +1 -0
  42. package/dist/comment-thread/CommentThread.vue_vue_type_script_setup_true_lang.js +1 -0
  43. package/dist/comment-thread/index.cjs +1 -0
  44. package/dist/comment-thread/index.d.cts +1 -0
  45. package/dist/comment-thread/index.d.ts +1 -0
  46. package/dist/comment-thread/index.js +1 -0
  47. package/dist/comment-thread/types.d.cts +0 -0
  48. package/dist/comment-thread/types.d.ts +0 -0
  49. package/dist/confirm-dialog/ConfirmDialog.vue.cjs +1 -0
  50. package/dist/confirm-dialog/ConfirmDialog.vue.d.cts +114 -0
  51. package/dist/confirm-dialog/ConfirmDialog.vue.d.ts +114 -0
  52. package/dist/confirm-dialog/ConfirmDialog.vue.js +1 -0
  53. package/dist/confirm-dialog/ConfirmDialog.vue_vue_type_script_setup_true_lang.cjs +1 -0
  54. package/dist/confirm-dialog/ConfirmDialog.vue_vue_type_script_setup_true_lang.js +1 -0
  55. package/dist/confirm-dialog/index.cjs +1 -0
  56. package/dist/confirm-dialog/index.d.cts +2 -0
  57. package/dist/confirm-dialog/index.d.ts +2 -0
  58. package/dist/confirm-dialog/index.js +1 -0
  59. package/dist/confirm-dialog/types.d.cts +2 -0
  60. package/dist/confirm-dialog/types.d.ts +2 -0
  61. package/dist/conversation-list/ConversationList.vue.cjs +1 -0
  62. package/dist/conversation-list/ConversationList.vue.d.cts +86 -0
  63. package/dist/conversation-list/ConversationList.vue.d.ts +86 -0
  64. package/dist/conversation-list/ConversationList.vue.js +1 -0
  65. package/dist/conversation-list/ConversationList.vue_vue_type_script_setup_true_lang.cjs +1 -0
  66. package/dist/conversation-list/ConversationList.vue_vue_type_script_setup_true_lang.js +1 -0
  67. package/dist/conversation-list/index.cjs +1 -0
  68. package/dist/conversation-list/index.d.cts +2 -0
  69. package/dist/conversation-list/index.d.ts +2 -0
  70. package/dist/conversation-list/index.js +1 -0
  71. package/dist/conversation-list/types.d.cts +38 -0
  72. package/dist/conversation-list/types.d.ts +38 -0
  73. package/dist/dashboard-layout/DashboardNavList.vue_vue_type_script_setup_true_lang.cjs +1 -1
  74. package/dist/dashboard-layout/DashboardNavList.vue_vue_type_script_setup_true_lang.js +1 -1
  75. package/dist/empty-state/EmptyState.vue.cjs +1 -0
  76. package/dist/empty-state/EmptyState.vue.d.cts +57 -0
  77. package/dist/empty-state/EmptyState.vue.d.ts +57 -0
  78. package/dist/empty-state/EmptyState.vue.js +1 -0
  79. package/dist/empty-state/EmptyState.vue_vue_type_script_setup_true_lang.cjs +1 -0
  80. package/dist/empty-state/EmptyState.vue_vue_type_script_setup_true_lang.js +1 -0
  81. package/dist/empty-state/index.cjs +1 -0
  82. package/dist/empty-state/index.d.cts +2 -0
  83. package/dist/empty-state/index.d.ts +2 -0
  84. package/dist/empty-state/index.js +1 -0
  85. package/dist/empty-state/types.d.cts +6 -0
  86. package/dist/empty-state/types.d.ts +6 -0
  87. package/dist/filter-bar/FilterBar.vue.cjs +1 -0
  88. package/dist/filter-bar/FilterBar.vue.d.cts +97 -0
  89. package/dist/filter-bar/FilterBar.vue.d.ts +97 -0
  90. package/dist/filter-bar/FilterBar.vue.js +1 -0
  91. package/dist/filter-bar/FilterBar.vue_vue_type_script_setup_true_lang.cjs +1 -0
  92. package/dist/filter-bar/FilterBar.vue_vue_type_script_setup_true_lang.js +1 -0
  93. package/dist/filter-bar/index.cjs +1 -0
  94. package/dist/filter-bar/index.d.cts +2 -0
  95. package/dist/filter-bar/index.d.ts +2 -0
  96. package/dist/filter-bar/index.js +1 -0
  97. package/dist/filter-bar/types.d.cts +7 -0
  98. package/dist/filter-bar/types.d.ts +7 -0
  99. package/dist/forgot-password-page/ForgotPasswordPage.vue.cjs +1 -0
  100. package/dist/forgot-password-page/ForgotPasswordPage.vue.d.cts +76 -0
  101. package/dist/forgot-password-page/ForgotPasswordPage.vue.d.ts +76 -0
  102. package/dist/forgot-password-page/ForgotPasswordPage.vue.js +1 -0
  103. package/dist/forgot-password-page/ForgotPasswordPage.vue_vue_type_script_setup_true_lang.cjs +1 -0
  104. package/dist/forgot-password-page/ForgotPasswordPage.vue_vue_type_script_setup_true_lang.js +1 -0
  105. package/dist/forgot-password-page/index.cjs +1 -0
  106. package/dist/forgot-password-page/index.d.cts +2 -0
  107. package/dist/forgot-password-page/index.d.ts +2 -0
  108. package/dist/forgot-password-page/index.js +1 -0
  109. package/dist/forgot-password-page/types.d.cts +5 -0
  110. package/dist/forgot-password-page/types.d.ts +5 -0
  111. package/dist/form-section/FormSection.vue.cjs +1 -0
  112. package/dist/form-section/FormSection.vue.d.cts +49 -0
  113. package/dist/form-section/FormSection.vue.d.ts +49 -0
  114. package/dist/form-section/FormSection.vue.js +1 -0
  115. package/dist/form-section/FormSection.vue_vue_type_script_setup_true_lang.cjs +1 -0
  116. package/dist/form-section/FormSection.vue_vue_type_script_setup_true_lang.js +1 -0
  117. package/dist/form-section/index.cjs +1 -0
  118. package/dist/form-section/index.d.cts +2 -0
  119. package/dist/form-section/index.d.ts +2 -0
  120. package/dist/form-section/index.js +1 -0
  121. package/dist/form-section/types.d.cts +2 -0
  122. package/dist/form-section/types.d.ts +2 -0
  123. package/dist/index.cjs +1 -1
  124. package/dist/index.d.cts +19 -0
  125. package/dist/index.d.ts +19 -0
  126. package/dist/index.js +1 -1
  127. package/dist/notification-center/NotificationCenter.vue.cjs +1 -0
  128. package/dist/notification-center/NotificationCenter.vue.d.cts +111 -0
  129. package/dist/notification-center/NotificationCenter.vue.d.ts +111 -0
  130. package/dist/notification-center/NotificationCenter.vue.js +1 -0
  131. package/dist/notification-center/NotificationCenter.vue_vue_type_script_setup_true_lang.cjs +1 -0
  132. package/dist/notification-center/NotificationCenter.vue_vue_type_script_setup_true_lang.js +1 -0
  133. package/dist/notification-center/index.cjs +1 -0
  134. package/dist/notification-center/index.d.cts +2 -0
  135. package/dist/notification-center/index.d.ts +2 -0
  136. package/dist/notification-center/index.js +1 -0
  137. package/dist/notification-center/types.d.cts +23 -0
  138. package/dist/notification-center/types.d.ts +23 -0
  139. package/dist/onboarding-checklist/OnboardingChecklist.vue.cjs +1 -0
  140. package/dist/onboarding-checklist/OnboardingChecklist.vue.d.cts +59 -0
  141. package/dist/onboarding-checklist/OnboardingChecklist.vue.d.ts +59 -0
  142. package/dist/onboarding-checklist/OnboardingChecklist.vue.js +1 -0
  143. package/dist/onboarding-checklist/OnboardingChecklist.vue_vue_type_script_setup_true_lang.cjs +1 -0
  144. package/dist/onboarding-checklist/OnboardingChecklist.vue_vue_type_script_setup_true_lang.js +1 -0
  145. package/dist/onboarding-checklist/index.cjs +1 -0
  146. package/dist/onboarding-checklist/index.d.cts +3 -0
  147. package/dist/onboarding-checklist/index.d.ts +3 -0
  148. package/dist/onboarding-checklist/index.js +1 -0
  149. package/dist/onboarding-checklist/types.cjs +1 -0
  150. package/dist/onboarding-checklist/types.d.cts +31 -0
  151. package/dist/onboarding-checklist/types.d.ts +31 -0
  152. package/dist/onboarding-checklist/types.js +1 -0
  153. package/dist/reset-password-page/ResetPasswordPage.vue.cjs +1 -0
  154. package/dist/reset-password-page/ResetPasswordPage.vue.d.cts +85 -0
  155. package/dist/reset-password-page/ResetPasswordPage.vue.d.ts +85 -0
  156. package/dist/reset-password-page/ResetPasswordPage.vue.js +1 -0
  157. package/dist/reset-password-page/ResetPasswordPage.vue_vue_type_script_setup_true_lang.cjs +1 -0
  158. package/dist/reset-password-page/ResetPasswordPage.vue_vue_type_script_setup_true_lang.js +1 -0
  159. package/dist/reset-password-page/index.cjs +1 -0
  160. package/dist/reset-password-page/index.d.cts +2 -0
  161. package/dist/reset-password-page/index.d.ts +2 -0
  162. package/dist/reset-password-page/index.js +1 -0
  163. package/dist/reset-password-page/types.d.cts +5 -0
  164. package/dist/reset-password-page/types.d.ts +5 -0
  165. package/dist/sign-up-page/SignUpPage.vue.cjs +1 -0
  166. package/dist/sign-up-page/SignUpPage.vue.d.cts +105 -0
  167. package/dist/sign-up-page/SignUpPage.vue.d.ts +105 -0
  168. package/dist/sign-up-page/SignUpPage.vue.js +1 -0
  169. package/dist/sign-up-page/SignUpPage.vue_vue_type_script_setup_true_lang.cjs +1 -0
  170. package/dist/sign-up-page/SignUpPage.vue_vue_type_script_setup_true_lang.js +1 -0
  171. package/dist/sign-up-page/index.cjs +1 -0
  172. package/dist/sign-up-page/index.d.cts +2 -0
  173. package/dist/sign-up-page/index.d.ts +2 -0
  174. package/dist/sign-up-page/index.js +1 -0
  175. package/dist/sign-up-page/types.d.cts +25 -0
  176. package/dist/sign-up-page/types.d.ts +25 -0
  177. package/dist/stat-card/StatCard.vue.cjs +1 -0
  178. package/dist/stat-card/StatCard.vue.d.cts +80 -0
  179. package/dist/stat-card/StatCard.vue.d.ts +80 -0
  180. package/dist/stat-card/StatCard.vue.js +1 -0
  181. package/dist/stat-card/StatCard.vue_vue_type_script_setup_true_lang.cjs +1 -0
  182. package/dist/stat-card/StatCard.vue_vue_type_script_setup_true_lang.js +1 -0
  183. package/dist/stat-card/index.cjs +1 -0
  184. package/dist/stat-card/index.d.cts +2 -0
  185. package/dist/stat-card/index.d.ts +2 -0
  186. package/dist/stat-card/index.js +1 -0
  187. package/dist/stat-card/types.d.cts +4 -0
  188. package/dist/stat-card/types.d.ts +4 -0
  189. package/dist/usage-card/UsageCard.vue.cjs +1 -0
  190. package/dist/usage-card/UsageCard.vue.d.cts +66 -0
  191. package/dist/usage-card/UsageCard.vue.d.ts +66 -0
  192. package/dist/usage-card/UsageCard.vue.js +1 -0
  193. package/dist/usage-card/UsageCard.vue_vue_type_script_setup_true_lang.cjs +1 -0
  194. package/dist/usage-card/UsageCard.vue_vue_type_script_setup_true_lang.js +1 -0
  195. package/dist/usage-card/index.cjs +1 -0
  196. package/dist/usage-card/index.d.cts +2 -0
  197. package/dist/usage-card/index.d.ts +2 -0
  198. package/dist/usage-card/index.js +1 -0
  199. package/dist/usage-card/types.d.cts +2 -0
  200. package/dist/usage-card/types.d.ts +2 -0
  201. package/dist/usage-card/usage.cjs +1 -0
  202. package/dist/usage-card/usage.d.cts +18 -0
  203. package/dist/usage-card/usage.d.ts +18 -0
  204. package/dist/usage-card/usage.js +1 -0
  205. package/dist/user-menu/UserMenu.vue.cjs +1 -0
  206. package/dist/user-menu/UserMenu.vue.d.cts +97 -0
  207. package/dist/user-menu/UserMenu.vue.d.ts +97 -0
  208. package/dist/user-menu/UserMenu.vue.js +1 -0
  209. package/dist/user-menu/UserMenu.vue_vue_type_script_setup_true_lang.cjs +1 -0
  210. package/dist/user-menu/UserMenu.vue_vue_type_script_setup_true_lang.js +1 -0
  211. package/dist/user-menu/index.cjs +1 -0
  212. package/dist/user-menu/index.d.cts +2 -0
  213. package/dist/user-menu/index.d.ts +2 -0
  214. package/dist/user-menu/index.js +1 -0
  215. package/dist/user-menu/types.d.cts +2 -0
  216. package/dist/user-menu/types.d.ts +2 -0
  217. package/dist/verification-page/VerificationPage.vue.cjs +1 -0
  218. package/dist/verification-page/VerificationPage.vue.d.cts +112 -0
  219. package/dist/verification-page/VerificationPage.vue.d.ts +112 -0
  220. package/dist/verification-page/VerificationPage.vue.js +1 -0
  221. package/dist/verification-page/VerificationPage.vue_vue_type_script_setup_true_lang.cjs +1 -0
  222. package/dist/verification-page/VerificationPage.vue_vue_type_script_setup_true_lang.js +1 -0
  223. package/dist/verification-page/index.cjs +1 -0
  224. package/dist/verification-page/index.d.cts +2 -0
  225. package/dist/verification-page/index.d.ts +2 -0
  226. package/dist/verification-page/index.js +1 -0
  227. package/dist/verification-page/types.d.cts +5 -0
  228. package/dist/verification-page/types.d.ts +5 -0
  229. package/dist/workspace-switcher/WorkspaceSwitcher.vue.cjs +1 -0
  230. package/dist/workspace-switcher/WorkspaceSwitcher.vue.d.cts +135 -0
  231. package/dist/workspace-switcher/WorkspaceSwitcher.vue.d.ts +135 -0
  232. package/dist/workspace-switcher/WorkspaceSwitcher.vue.js +1 -0
  233. package/dist/workspace-switcher/WorkspaceSwitcher.vue_vue_type_script_setup_true_lang.cjs +1 -0
  234. package/dist/workspace-switcher/WorkspaceSwitcher.vue_vue_type_script_setup_true_lang.js +1 -0
  235. package/dist/workspace-switcher/index.cjs +1 -0
  236. package/dist/workspace-switcher/index.d.cts +2 -0
  237. package/dist/workspace-switcher/index.d.ts +2 -0
  238. package/dist/workspace-switcher/index.js +1 -0
  239. package/dist/workspace-switcher/types.d.cts +22 -0
  240. package/dist/workspace-switcher/types.d.ts +22 -0
  241. package/package.json +196 -6
@@ -0,0 +1 @@
1
+ import{skdxPart as e}from"../internal/part.js";import a from"../empty-state/EmptyState.vue.js";import{Fragment as t,computed as i,createBlock as o,createCommentVNode as s,createElementBlock as l,createElementVNode as r,createTextVNode as n,createVNode as d,defineComponent as u,mergeProps as v,openBlock as f,ref as p,renderList as m,renderSlot as c,toDisplayString as k,unref as y,withCtx as _}from"vue";import{SkdxBadge as g,SkdxSkeleton as b,SkdxTime as x,SkdxVisuallyHidden as w}from"@skdx/vue";import{SkdxListbox as S,SkdxListboxGroup as h,SkdxListboxItem as L,SkdxListboxLabel as V}from"@skdx/vue/primitives/listbox";var C=["aria-busy"],B=/* @__PURE__ */u({__name:"ConversationList",props:{items:{},value:{default:void 0},defaultValue:{default:void 0},label:{default:"Conversations"},unreadLabel:{default:"Unread"},emptyTitle:{default:"No conversations"},emptyDescription:{default:void 0},loading:{type:Boolean,default:!1},now:{default:void 0}},emits:["update:value","value-change"],setup(u,{emit:B}){const N=u,T=B,$=p(N.defaultValue??""),z=i(()=>N.value??$.value),D=i(()=>{const e=/* @__PURE__ */new Map([[void 0,[]]]);for(const a of N.items){const t=e.get(a.group);t?t.push(a):e.set(a.group,[a])}return[...e].filter(([,e])=>e.length>0)});function E(e){return void 0!==e.timestamp||void 0!==e.badge}function j(e){const a=e.selectedValue??"";void 0===N.value&&($.value=a),T("update:value",a),T("value-change",a)}return(i,p)=>(f(),l("div",v(y(e)("conversation-list","root"),{"aria-busy":u.loading?"true":"false"}),[u.loading?(f(),l("div",v({key:0,"aria-hidden":"true"},y(e)("conversation-list","loading")),[d(y(b)),d(y(b)),d(y(b))],16)):0===u.items.length?(f(),o(y(a),v({key:1},y(e)("conversation-list","empty"),{size:"sm",title:N.emptyTitle,description:u.emptyDescription}),null,16,["title","description"])):(f(),o(y(S),v({key:2},y(e)("conversation-list","list"),{"aria-label":u.label,value:z.value,onValueChange:j}),{default:_(()=>[(f(!0),l(t,null,m(D.value,([a,p])=>(f(),l(t,{key:a??"__ungrouped__"},[void 0===a?(f(!0),l(t,{key:0},m(p,a=>(f(),o(y(L),v({key:a.id,value:a.id,disabled:a.disabled,"text-value":a.title,"data-unread":a.unread?"":void 0},{ref_for:!0},y(e)("conversation-list","item")),{default:_(()=>[i.$slots.leading?(f(),l("span",v({key:0,"aria-hidden":"true"},{ref_for:!0},y(e)("conversation-list","leading")),[c(i.$slots,"leading",{item:a})],16)):s("",!0),r("span",v({ref_for:!0},y(e)("conversation-list","body")),[r("span",v({ref_for:!0},y(e)("conversation-list","title")),[n(k(a.title)+" ",1),a.unread?(f(),o(y(w),{key:0},{default:_(()=>[n(k(u.unreadLabel),1)]),_:1})):s("",!0)],16),a.preview?(f(),l("span",v({key:0,ref_for:!0},y(e)("conversation-list","preview")),k(a.preview),17)):s("",!0)],16),E(a)?(f(),l("span",v({key:1,ref_for:!0},y(e)("conversation-list","meta")),[void 0!==a.timestamp?(f(),o(y(x),v({key:0,ref_for:!0},{...y(e)("conversation-list","time"),...void 0===u.now?{}:{now:u.now}},{value:a.timestamp,relative:""}),null,16,["value"])):s("",!0),void 0!==a.badge?(f(),o(y(g),v({key:1,ref_for:!0},y(e)("conversation-list","badge"),{size:"sm"}),{default:_(()=>[n(k(a.badge),1)]),_:2},1040)):s("",!0)],16)):s("",!0)]),_:2},1040,["value","disabled","text-value","data-unread"]))),128)):(f(),o(y(h),v({key:1,ref_for:!0},y(e)("conversation-list","group")),{default:_(()=>[d(y(V),v({ref_for:!0},y(e)("conversation-list","group-label")),{default:_(()=>[n(k(a),1)]),_:2},1040),(f(!0),l(t,null,m(p,a=>(f(),o(y(L),v({key:a.id,value:a.id,disabled:a.disabled,"text-value":a.title,"data-unread":a.unread?"":void 0},{ref_for:!0},y(e)("conversation-list","item")),{default:_(()=>[i.$slots.leading?(f(),l("span",v({key:0,"aria-hidden":"true"},{ref_for:!0},y(e)("conversation-list","leading")),[c(i.$slots,"leading",{item:a})],16)):s("",!0),r("span",v({ref_for:!0},y(e)("conversation-list","body")),[r("span",v({ref_for:!0},y(e)("conversation-list","title")),[n(k(a.title)+" ",1),a.unread?(f(),o(y(w),{key:0},{default:_(()=>[n(k(u.unreadLabel),1)]),_:1})):s("",!0)],16),a.preview?(f(),l("span",v({key:0,ref_for:!0},y(e)("conversation-list","preview")),k(a.preview),17)):s("",!0)],16),E(a)?(f(),l("span",v({key:1,ref_for:!0},y(e)("conversation-list","meta")),[void 0!==a.timestamp?(f(),o(y(x),v({key:0,ref_for:!0},{...y(e)("conversation-list","time"),...void 0===u.now?{}:{now:u.now}},{value:a.timestamp,relative:""}),null,16,["value"])):s("",!0),void 0!==a.badge?(f(),o(y(g),v({key:1,ref_for:!0},y(e)("conversation-list","badge"),{size:"sm"}),{default:_(()=>[n(k(a.badge),1)]),_:2},1040)):s("",!0)],16)):s("",!0)]),_:2},1040,["value","disabled","text-value","data-unread"]))),128))]),_:2},1040))],64))),128))]),_:3},16,["aria-label","value"]))],16,C))}});export{B as default};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ConversationList.vue.cjs");exports.SkdxConversationList=e.default;
@@ -0,0 +1,2 @@
1
+ export { default as SkdxConversationList } from './ConversationList.vue.cjs';
2
+ export type { ConversationListItem } from './types.cjs';
@@ -0,0 +1,2 @@
1
+ export { default as SkdxConversationList } from './ConversationList.vue.js';
2
+ export type { ConversationListItem } from './types.js';
@@ -0,0 +1 @@
1
+ import o from"./ConversationList.vue.js";export{o as SkdxConversationList};
@@ -0,0 +1,38 @@
1
+ import type { DateInput } from '@skdx/vue';
2
+ /** One conversation or thread row rendered by the `SkdxConversationList` block. */
3
+ export interface ConversationListItem {
4
+ /** Identifier committed as the list's selected value when this row is chosen. */
5
+ id: string;
6
+ /** Primary line of the row, and the text the list's typeahead matches on. */
7
+ title: string;
8
+ /**
9
+ * Secondary line under the title, clamped by the skin to two lines.
10
+ * @default undefined — no preview line renders in the row.
11
+ */
12
+ preview?: string | undefined;
13
+ /**
14
+ * Instant rendered as a relative timestamp in the row's meta column.
15
+ * @default undefined — no timestamp renders in the row.
16
+ */
17
+ timestamp?: DateInput | undefined;
18
+ /**
19
+ * Marks the row as not yet read, mirrored to data-unread on the option.
20
+ * @default false
21
+ */
22
+ unread?: boolean | undefined;
23
+ /**
24
+ * Short count or status text rendered into a small badge beside the timestamp.
25
+ * @default undefined — no badge renders in the row.
26
+ */
27
+ badge?: string | undefined;
28
+ /**
29
+ * Heading this row belongs under; rows sharing it render inside one group.
30
+ * @default undefined — the row renders ungrouped, ahead of every group.
31
+ */
32
+ group?: string | undefined;
33
+ /**
34
+ * Excludes this row from selection and from keyboard and typeahead navigation.
35
+ * @default false
36
+ */
37
+ disabled?: boolean | undefined;
38
+ }
@@ -0,0 +1,38 @@
1
+ import type { DateInput } from '@skdx/vue';
2
+ /** One conversation or thread row rendered by the `SkdxConversationList` block. */
3
+ export interface ConversationListItem {
4
+ /** Identifier committed as the list's selected value when this row is chosen. */
5
+ id: string;
6
+ /** Primary line of the row, and the text the list's typeahead matches on. */
7
+ title: string;
8
+ /**
9
+ * Secondary line under the title, clamped by the skin to two lines.
10
+ * @default undefined — no preview line renders in the row.
11
+ */
12
+ preview?: string | undefined;
13
+ /**
14
+ * Instant rendered as a relative timestamp in the row's meta column.
15
+ * @default undefined — no timestamp renders in the row.
16
+ */
17
+ timestamp?: DateInput | undefined;
18
+ /**
19
+ * Marks the row as not yet read, mirrored to data-unread on the option.
20
+ * @default false
21
+ */
22
+ unread?: boolean | undefined;
23
+ /**
24
+ * Short count or status text rendered into a small badge beside the timestamp.
25
+ * @default undefined — no badge renders in the row.
26
+ */
27
+ badge?: string | undefined;
28
+ /**
29
+ * Heading this row belongs under; rows sharing it render inside one group.
30
+ * @default undefined — the row renders ungrouped, ahead of every group.
31
+ */
32
+ group?: string | undefined;
33
+ /**
34
+ * Excludes this row from selection and from keyboard and typeahead navigation.
35
+ * @default false
36
+ */
37
+ disabled?: boolean | undefined;
38
+ }
@@ -1 +1 @@
1
- const a=require("../internal/part.cjs");let e=require("vue");var n={key:2},s={key:3},d=["href","aria-current"],u=(0,e.defineComponent)({__name:"DashboardNavList",props:{items:{}},setup(t){return(c,i)=>{const o=(0,e.resolveComponent)("DashboardNavList",!0);return(0,e.openBlock)(),(0,e.createElementBlock)("ul",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(a.skdxPart)("dashboard-layout","nav-list"))),[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.items,(r,l)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:l},[r.kind==="divider"?((0,e.openBlock)(),(0,e.createElementBlock)("li",(0,e.mergeProps)({key:0,role:"separator"},{ref_for:!0},(0,e.unref)(a.skdxPart)("dashboard-layout","nav-divider")),null,16)):r.kind==="header"?((0,e.openBlock)(),(0,e.createElementBlock)("li",(0,e.mergeProps)({key:1,ref_for:!0},(0,e.unref)(a.skdxPart)("dashboard-layout","nav-header")),(0,e.toDisplayString)(r.label),17)):r.children?.length&&r.href===void 0?((0,e.openBlock)(),(0,e.createElementBlock)("li",n,[(0,e.createElementVNode)("span",(0,e.mergeProps)({ref_for:!0},(0,e.unref)(a.skdxPart)("dashboard-layout","nav-item")),(0,e.toDisplayString)(r.label),17),(0,e.createVNode)(o,{items:r.children},null,8,["items"])])):((0,e.openBlock)(),(0,e.createElementBlock)("li",s,[(0,e.createElementVNode)("a",(0,e.mergeProps)({ref_for:!0},(0,e.unref)(a.skdxPart)("dashboard-layout","nav-item"),{href:r.href,"aria-current":r.current?"page":void 0}),(0,e.toDisplayString)(r.label),17,d)]))],64))),128))],16)}}});exports.default=u;
1
+ const a=require("../internal/part.cjs");let e=require("vue");var l={key:0},s={key:2},d={key:3},c=["href","aria-current"],u=(0,e.defineComponent)({__name:"DashboardNavList",props:{items:{}},setup(t){return(i,p)=>{const o=(0,e.resolveComponent)("DashboardNavList",!0);return(0,e.openBlock)(),(0,e.createElementBlock)("ul",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(a.skdxPart)("dashboard-layout","nav-list"))),[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.items,(r,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:n},[r.kind==="divider"?((0,e.openBlock)(),(0,e.createElementBlock)("li",l,[(0,e.createElementVNode)("hr",(0,e.mergeProps)({ref_for:!0},(0,e.unref)(a.skdxPart)("dashboard-layout","nav-divider")),null,16)])):r.kind==="header"?((0,e.openBlock)(),(0,e.createElementBlock)("li",(0,e.mergeProps)({key:1,ref_for:!0},(0,e.unref)(a.skdxPart)("dashboard-layout","nav-header")),(0,e.toDisplayString)(r.label),17)):r.children?.length&&r.href===void 0?((0,e.openBlock)(),(0,e.createElementBlock)("li",s,[(0,e.createElementVNode)("span",(0,e.mergeProps)({ref_for:!0},(0,e.unref)(a.skdxPart)("dashboard-layout","nav-item")),(0,e.toDisplayString)(r.label),17),(0,e.createVNode)(o,{items:r.children},null,8,["items"])])):((0,e.openBlock)(),(0,e.createElementBlock)("li",d,[(0,e.createElementVNode)("a",(0,e.mergeProps)({ref_for:!0},(0,e.unref)(a.skdxPart)("dashboard-layout","nav-item"),{href:r.href,"aria-current":r.current?"page":void 0}),(0,e.toDisplayString)(r.label),17,c)]))],64))),128))],16)}}});exports.default=u;
@@ -1 +1 @@
1
- import{skdxPart as e}from"../internal/part.js";import{Fragment as a,createElementBlock as r,createElementVNode as o,createVNode as s,defineComponent as t,guardReactiveProps as l,mergeProps as n,normalizeProps as i,openBlock as d,renderList as m,resolveComponent as u,toDisplayString as f,unref as p}from"vue";var h={key:2},v={key:3},c=["href","aria-current"],y=/* @__PURE__ */t({__name:"DashboardNavList",props:{items:{}},setup:t=>(y,b)=>{const k=u("DashboardNavList",!0);return d(),r("ul",i(l(p(e)("dashboard-layout","nav-list"))),[(d(!0),r(a,null,m(t.items,(t,l)=>(d(),r(a,{key:l},["divider"===t.kind?(d(),r("li",n({key:0,role:"separator"},{ref_for:!0},p(e)("dashboard-layout","nav-divider")),null,16)):"header"===t.kind?(d(),r("li",n({key:1,ref_for:!0},p(e)("dashboard-layout","nav-header")),f(t.label),17)):t.children?.length&&void 0===t.href?(d(),r("li",h,[o("span",n({ref_for:!0},p(e)("dashboard-layout","nav-item")),f(t.label),17),s(k,{items:t.children},null,8,["items"])])):(d(),r("li",v,[o("a",n({ref_for:!0},p(e)("dashboard-layout","nav-item"),{href:t.href,"aria-current":t.current?"page":void 0}),f(t.label),17,c)]))],64))),128))],16)}});export{y as default};
1
+ import{skdxPart as e}from"../internal/part.js";import{Fragment as a,createElementBlock as r,createElementVNode as s,createVNode as o,defineComponent as t,guardReactiveProps as l,mergeProps as n,normalizeProps as i,openBlock as d,renderList as m,resolveComponent as u,toDisplayString as f,unref as h}from"vue";var p={key:0},v={key:2},c={key:3},y=["href","aria-current"],b=/* @__PURE__ */t({__name:"DashboardNavList",props:{items:{}},setup:t=>(b,k)=>{const g=u("DashboardNavList",!0);return d(),r("ul",i(l(h(e)("dashboard-layout","nav-list"))),[(d(!0),r(a,null,m(t.items,(t,l)=>(d(),r(a,{key:l},["divider"===t.kind?(d(),r("li",p,[s("hr",n({ref_for:!0},h(e)("dashboard-layout","nav-divider")),null,16)])):"header"===t.kind?(d(),r("li",n({key:1,ref_for:!0},h(e)("dashboard-layout","nav-header")),f(t.label),17)):t.children?.length&&void 0===t.href?(d(),r("li",v,[s("span",n({ref_for:!0},h(e)("dashboard-layout","nav-item")),f(t.label),17),o(g,{items:t.children},null,8,["items"])])):(d(),r("li",c,[s("a",n({ref_for:!0},h(e)("dashboard-layout","nav-item"),{href:t.href,"aria-current":t.current?"page":void 0}),f(t.label),17,y)]))],64))),128))],16)}});export{b as default};
@@ -0,0 +1 @@
1
+ const e=require("./EmptyState.vue_vue_type_script_setup_true_lang.cjs");var t=e.default;exports.default=t;
@@ -0,0 +1,57 @@
1
+ import type { EmptyStateAlign, EmptyStateHeadingLevel, EmptyStateSize } from './types.cjs';
2
+ /**
3
+ * Placeholder block for a region with nothing to show — no content yet, no results, first use, or disconnected — composing a Heading, a Text description and consumer-supplied icon and actions.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxEmptyState title="No invoices yet" description="Invoices you create will show up here.">
8
+ * <template #icon><InboxIcon /></template>
9
+ * <template #actions><SkdxButton>Create invoice</SkdxButton></template>
10
+ * </SkdxEmptyState>
11
+ * ```
12
+ */
13
+ type __VLS_Props = {
14
+ /** Heading text naming the empty region, rendered into a derived Heading. */
15
+ title: string;
16
+ /**
17
+ * Supporting copy rendered below the title, explaining why the region is empty.
18
+ * @default undefined — no description region renders.
19
+ */
20
+ description?: string | undefined;
21
+ /**
22
+ * Outline level of the derived title heading, from 1 down to 6.
23
+ * @default 3
24
+ */
25
+ headingLevel?: EmptyStateHeadingLevel;
26
+ /**
27
+ * Visual size rung, mirrored to data-size; the skin scales the icon, spacing and title by it.
28
+ * @default undefined — the skin's own default size.
29
+ */
30
+ size?: EmptyStateSize | undefined;
31
+ /**
32
+ * Text and content alignment rung, mirrored to data-align.
33
+ * @default 'center'
34
+ */
35
+ align?: EmptyStateAlign;
36
+ };
37
+ type __VLS_Slots = {
38
+ /** Extra content rendered between the description and the actions region. */
39
+ default?(): unknown;
40
+ /** Decorative illustration or glyph rendered above the title, always aria-hidden. */
41
+ icon?(): unknown;
42
+ /** Primary and secondary controls rendered below the content. */
43
+ actions?(): unknown;
44
+ };
45
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
46
+ headingLevel: EmptyStateHeadingLevel;
47
+ size: EmptyStateSize | undefined;
48
+ description: string | undefined;
49
+ align: EmptyStateAlign;
50
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
51
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
52
+ export default _default;
53
+ type __VLS_WithSlots<T, S> = T & {
54
+ new (): {
55
+ $slots: S;
56
+ };
57
+ };
@@ -0,0 +1,57 @@
1
+ import type { EmptyStateAlign, EmptyStateHeadingLevel, EmptyStateSize } from './types.js';
2
+ /**
3
+ * Placeholder block for a region with nothing to show — no content yet, no results, first use, or disconnected — composing a Heading, a Text description and consumer-supplied icon and actions.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxEmptyState title="No invoices yet" description="Invoices you create will show up here.">
8
+ * <template #icon><InboxIcon /></template>
9
+ * <template #actions><SkdxButton>Create invoice</SkdxButton></template>
10
+ * </SkdxEmptyState>
11
+ * ```
12
+ */
13
+ type __VLS_Props = {
14
+ /** Heading text naming the empty region, rendered into a derived Heading. */
15
+ title: string;
16
+ /**
17
+ * Supporting copy rendered below the title, explaining why the region is empty.
18
+ * @default undefined — no description region renders.
19
+ */
20
+ description?: string | undefined;
21
+ /**
22
+ * Outline level of the derived title heading, from 1 down to 6.
23
+ * @default 3
24
+ */
25
+ headingLevel?: EmptyStateHeadingLevel;
26
+ /**
27
+ * Visual size rung, mirrored to data-size; the skin scales the icon, spacing and title by it.
28
+ * @default undefined — the skin's own default size.
29
+ */
30
+ size?: EmptyStateSize | undefined;
31
+ /**
32
+ * Text and content alignment rung, mirrored to data-align.
33
+ * @default 'center'
34
+ */
35
+ align?: EmptyStateAlign;
36
+ };
37
+ type __VLS_Slots = {
38
+ /** Extra content rendered between the description and the actions region. */
39
+ default?(): unknown;
40
+ /** Decorative illustration or glyph rendered above the title, always aria-hidden. */
41
+ icon?(): unknown;
42
+ /** Primary and secondary controls rendered below the content. */
43
+ actions?(): unknown;
44
+ };
45
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
46
+ headingLevel: EmptyStateHeadingLevel;
47
+ size: EmptyStateSize | undefined;
48
+ description: string | undefined;
49
+ align: EmptyStateAlign;
50
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
51
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
52
+ export default _default;
53
+ type __VLS_WithSlots<T, S> = T & {
54
+ new (): {
55
+ $slots: S;
56
+ };
57
+ };
@@ -0,0 +1 @@
1
+ import t from"./EmptyState.vue_vue_type_script_setup_true_lang.js";var e=t;export{e as default};
@@ -0,0 +1 @@
1
+ const a=require("../internal/part.cjs");let e=require("vue"),o=require("@skdx/vue");var s=["data-size","data-align"],l=(0,e.defineComponent)({__name:"EmptyState",props:{title:{},description:{default:void 0},headingLevel:{default:3},size:{default:void 0},align:{default:"center"}},setup(t){const n=t,d=(0,e.useId)(),i=(0,e.computed)(()=>`h${n.headingLevel}`);return(r,u)=>((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.mergeProps)((0,e.unref)(a.skdxPart)("empty-state","root"),{"data-size":t.size,"data-align":t.align}),[r.$slots.icon?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.mergeProps)({key:0,"aria-hidden":"true"},(0,e.unref)(a.skdxPart)("empty-state","icon")),[(0,e.renderSlot)(r.$slots,"icon")],16)):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(o.SkdxHeading),(0,e.mergeProps)({id:(0,e.unref)(d)},(0,e.unref)(a.skdxPart)("empty-state","title"),{as:i.value}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.title),1)]),_:1},16,["id","as"]),t.description?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(o.SkdxText),(0,e.mergeProps)({key:1,as:"p",tone:"muted"},(0,e.unref)(a.skdxPart)("empty-state","description")),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.description),1)]),_:1},16)):(0,e.createCommentVNode)("",!0),r.$slots.default?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:2},(0,e.unref)(a.skdxPart)("empty-state","content"))),[(0,e.renderSlot)(r.$slots,"default")],16)):(0,e.createCommentVNode)("",!0),r.$slots.actions?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:3},(0,e.unref)(a.skdxPart)("empty-state","actions"))),[(0,e.renderSlot)(r.$slots,"actions")],16)):(0,e.createCommentVNode)("",!0)],16,s))}});exports.default=l;
@@ -0,0 +1 @@
1
+ import{skdxPart as e}from"../internal/part.js";import{computed as t,createBlock as a,createCommentVNode as s,createElementBlock as i,createTextVNode as o,createVNode as d,defineComponent as n,mergeProps as r,normalizeProps as l,openBlock as p,renderSlot as c,toDisplayString as m,unref as u,useId as f,withCtx as v}from"vue";import{SkdxHeading as y,SkdxText as k}from"@skdx/vue";var g=["data-size","data-align"],x=/* @__PURE__ */n({__name:"EmptyState",props:{title:{},description:{default:void 0},headingLevel:{default:3},size:{default:void 0},align:{default:"center"}},setup(n){const x=n,$=f(),h=t(()=>`h${x.headingLevel}`);return(t,f)=>(p(),i("div",r(u(e)("empty-state","root"),{"data-size":n.size,"data-align":n.align}),[t.$slots.icon?(p(),i("div",r({key:0,"aria-hidden":"true"},u(e)("empty-state","icon")),[c(t.$slots,"icon")],16)):s("",!0),d(u(y),r({id:u($)},u(e)("empty-state","title"),{as:h.value}),{default:v(()=>[o(m(n.title),1)]),_:1},16,["id","as"]),n.description?(p(),a(u(k),r({key:1,as:"p",tone:"muted"},u(e)("empty-state","description")),{default:v(()=>[o(m(n.description),1)]),_:1},16)):s("",!0),t.$slots.default?(p(),i("div",l(r({key:2},u(e)("empty-state","content"))),[c(t.$slots,"default")],16)):s("",!0),t.$slots.actions?(p(),i("div",l(r({key:3},u(e)("empty-state","actions"))),[c(t.$slots,"actions")],16)):s("",!0)],16,g))}});export{x as default};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./EmptyState.vue.cjs");exports.SkdxEmptyState=e.default;
@@ -0,0 +1,2 @@
1
+ export { default as SkdxEmptyState } from './EmptyState.vue.cjs';
2
+ export type { EmptyStateAlign, EmptyStateHeadingLevel, EmptyStateSize } from './types.cjs';
@@ -0,0 +1,2 @@
1
+ export { default as SkdxEmptyState } from './EmptyState.vue.js';
2
+ export type { EmptyStateAlign, EmptyStateHeadingLevel, EmptyStateSize } from './types.js';
@@ -0,0 +1 @@
1
+ import t from"./EmptyState.vue.js";export{t as SkdxEmptyState};
@@ -0,0 +1,6 @@
1
+ /** Outline level of a `SkdxEmptyState`'s derived title heading, from `1` down to `6`. */
2
+ export type EmptyStateHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
3
+ /** Visual size rung of a `SkdxEmptyState`, mirrored to `data-size`. */
4
+ export type EmptyStateSize = 'sm' | 'md' | 'lg' | (string & {});
5
+ /** Text and content alignment rung of a `SkdxEmptyState`, mirrored to `data-align`. */
6
+ export type EmptyStateAlign = 'center' | 'start' | (string & {});
@@ -0,0 +1,6 @@
1
+ /** Outline level of a `SkdxEmptyState`'s derived title heading, from `1` down to `6`. */
2
+ export type EmptyStateHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
3
+ /** Visual size rung of a `SkdxEmptyState`, mirrored to `data-size`. */
4
+ export type EmptyStateSize = 'sm' | 'md' | 'lg' | (string & {});
5
+ /** Text and content alignment rung of a `SkdxEmptyState`, mirrored to `data-align`. */
6
+ export type EmptyStateAlign = 'center' | 'start' | (string & {});
@@ -0,0 +1 @@
1
+ const e=require("./FilterBar.vue_vue_type_script_setup_true_lang.cjs");var r=e.default;exports.default=r;
@@ -0,0 +1,97 @@
1
+ import type { FilterBarFilter } from './types.cjs';
2
+ /**
3
+ * Filtering surface above a table, list, card grid or report: a search field, the consumer's filter controls, the applied filters as removable tags, and a clear action. Composes TextField, TagGroup and Button.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxFilterBar
8
+ * search-label="Search invoices"
9
+ * :active-filters="[{ id: 'status', label: 'Status: Overdue' }]"
10
+ * @remove-filter="(filter) => removeFilter(filter.id)"
11
+ * @clear="clearFilters"
12
+ * >
13
+ * <SkdxSelect aria-label="Status" />
14
+ * </SkdxFilterBar>
15
+ * ```
16
+ */
17
+ type __VLS_Props = {
18
+ /**
19
+ * Accessible name of the root region, written to aria-label.
20
+ * @default 'Filters'
21
+ */
22
+ label?: string;
23
+ /**
24
+ * Accessible name of the search field; providing it renders the search region.
25
+ * @default undefined — no search region renders.
26
+ */
27
+ searchLabel?: string | undefined;
28
+ /**
29
+ * Placeholder shown in the empty search field.
30
+ * @default undefined — no placeholder renders.
31
+ */
32
+ searchPlaceholder?: string | undefined;
33
+ /**
34
+ * Current search text, for controlled usage. Pair with `v-model:search-value` or `@search-value-change`.
35
+ * @default undefined — uncontrolled, tracks its own value internally.
36
+ */
37
+ searchValue?: string | undefined;
38
+ /**
39
+ * Initial search text, for uncontrolled usage — seeds the internally-tracked value.
40
+ * @default ''
41
+ */
42
+ defaultSearchValue?: string;
43
+ /**
44
+ * Accessible name of the search field's clear button.
45
+ * @default 'Clear search'
46
+ */
47
+ clearSearchLabel?: string;
48
+ /**
49
+ * The applied filters, in display order, rendered as removable tags; an empty or omitted list renders no active region.
50
+ * @default undefined — no active region renders.
51
+ */
52
+ activeFilters?: readonly FilterBarFilter[] | undefined;
53
+ /**
54
+ * Accessible name of the active-filters tag list.
55
+ * @default 'Active filters'
56
+ */
57
+ activeFiltersLabel?: string;
58
+ /**
59
+ * Text rendered on the clear-filters button.
60
+ * @default 'Clear filters'
61
+ */
62
+ clearLabel?: string;
63
+ };
64
+ type __VLS_Slots = {
65
+ /** The consumer's filter controls, laid out in the filters region. */
66
+ default?(): unknown;
67
+ /** Controls rendered at the end of the bar, such as a "Save view" button. */
68
+ actions?(): unknown;
69
+ };
70
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
71
+ "update:searchValue": (value: string) => any;
72
+ "search-value-change": (value: string) => any;
73
+ "remove-filter": (filter: FilterBarFilter) => any;
74
+ clear: () => any;
75
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
76
+ "onUpdate:searchValue"?: (value: string) => any;
77
+ "onSearch-value-change"?: (value: string) => any;
78
+ "onRemove-filter"?: (filter: FilterBarFilter) => any;
79
+ onClear?: () => any;
80
+ }>, {
81
+ label: string;
82
+ clearLabel: string;
83
+ searchLabel: string | undefined;
84
+ searchPlaceholder: string | undefined;
85
+ searchValue: string | undefined;
86
+ defaultSearchValue: string;
87
+ clearSearchLabel: string;
88
+ activeFilters: readonly FilterBarFilter[] | undefined;
89
+ activeFiltersLabel: string;
90
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
91
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
92
+ export default _default;
93
+ type __VLS_WithSlots<T, S> = T & {
94
+ new (): {
95
+ $slots: S;
96
+ };
97
+ };
@@ -0,0 +1,97 @@
1
+ import type { FilterBarFilter } from './types.js';
2
+ /**
3
+ * Filtering surface above a table, list, card grid or report: a search field, the consumer's filter controls, the applied filters as removable tags, and a clear action. Composes TextField, TagGroup and Button.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxFilterBar
8
+ * search-label="Search invoices"
9
+ * :active-filters="[{ id: 'status', label: 'Status: Overdue' }]"
10
+ * @remove-filter="(filter) => removeFilter(filter.id)"
11
+ * @clear="clearFilters"
12
+ * >
13
+ * <SkdxSelect aria-label="Status" />
14
+ * </SkdxFilterBar>
15
+ * ```
16
+ */
17
+ type __VLS_Props = {
18
+ /**
19
+ * Accessible name of the root region, written to aria-label.
20
+ * @default 'Filters'
21
+ */
22
+ label?: string;
23
+ /**
24
+ * Accessible name of the search field; providing it renders the search region.
25
+ * @default undefined — no search region renders.
26
+ */
27
+ searchLabel?: string | undefined;
28
+ /**
29
+ * Placeholder shown in the empty search field.
30
+ * @default undefined — no placeholder renders.
31
+ */
32
+ searchPlaceholder?: string | undefined;
33
+ /**
34
+ * Current search text, for controlled usage. Pair with `v-model:search-value` or `@search-value-change`.
35
+ * @default undefined — uncontrolled, tracks its own value internally.
36
+ */
37
+ searchValue?: string | undefined;
38
+ /**
39
+ * Initial search text, for uncontrolled usage — seeds the internally-tracked value.
40
+ * @default ''
41
+ */
42
+ defaultSearchValue?: string;
43
+ /**
44
+ * Accessible name of the search field's clear button.
45
+ * @default 'Clear search'
46
+ */
47
+ clearSearchLabel?: string;
48
+ /**
49
+ * The applied filters, in display order, rendered as removable tags; an empty or omitted list renders no active region.
50
+ * @default undefined — no active region renders.
51
+ */
52
+ activeFilters?: readonly FilterBarFilter[] | undefined;
53
+ /**
54
+ * Accessible name of the active-filters tag list.
55
+ * @default 'Active filters'
56
+ */
57
+ activeFiltersLabel?: string;
58
+ /**
59
+ * Text rendered on the clear-filters button.
60
+ * @default 'Clear filters'
61
+ */
62
+ clearLabel?: string;
63
+ };
64
+ type __VLS_Slots = {
65
+ /** The consumer's filter controls, laid out in the filters region. */
66
+ default?(): unknown;
67
+ /** Controls rendered at the end of the bar, such as a "Save view" button. */
68
+ actions?(): unknown;
69
+ };
70
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
71
+ "update:searchValue": (value: string) => any;
72
+ "search-value-change": (value: string) => any;
73
+ "remove-filter": (filter: FilterBarFilter) => any;
74
+ clear: () => any;
75
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
76
+ "onUpdate:searchValue"?: (value: string) => any;
77
+ "onSearch-value-change"?: (value: string) => any;
78
+ "onRemove-filter"?: (filter: FilterBarFilter) => any;
79
+ onClear?: () => any;
80
+ }>, {
81
+ label: string;
82
+ clearLabel: string;
83
+ searchLabel: string | undefined;
84
+ searchPlaceholder: string | undefined;
85
+ searchValue: string | undefined;
86
+ defaultSearchValue: string;
87
+ clearSearchLabel: string;
88
+ activeFilters: readonly FilterBarFilter[] | undefined;
89
+ activeFiltersLabel: string;
90
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
91
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
92
+ export default _default;
93
+ type __VLS_WithSlots<T, S> = T & {
94
+ new (): {
95
+ $slots: S;
96
+ };
97
+ };
@@ -0,0 +1 @@
1
+ import e from"./FilterBar.vue_vue_type_script_setup_true_lang.js";var r=e;export{r as default};
@@ -0,0 +1 @@
1
+ const l=require("../internal/part.cjs");let e=require("vue"),u=require("@skdx/vue"),c=require("@skdx/vue/primitives/text-field");var k=["aria-label"],b=(0,e.defineComponent)({__name:"FilterBar",props:{label:{default:"Filters"},searchLabel:{default:void 0},searchPlaceholder:{default:void 0},searchValue:{default:void 0},defaultSearchValue:{default:""},clearSearchLabel:{default:"Clear search"},activeFilters:{default:void 0},activeFiltersLabel:{default:"Active filters"},clearLabel:{default:"Clear filters"}},emits:["update:searchValue","search-value-change","remove-filter","clear"],setup(r,{emit:i}){const s=r,o=i,d=(0,e.getCurrentInstance)(),f=()=>d?.vnode.props?.onClear!=null,n=(0,e.computed)(()=>s.activeFilters??[]),m=(0,e.computed)(()=>n.value.map(a=>({value:a.id,label:a.label})));function v(a){o("update:searchValue",a),o("search-value-change",a)}function h(a){const t=n.value[a.index];t&&o("remove-filter",t)}return(a,t)=>((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.mergeProps)((0,e.unref)(l.skdxPart)("filter-bar","root"),{"aria-label":r.label}),[r.searchLabel?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(l.skdxPart)("filter-bar","search"))),[(0,e.createVNode)((0,e.unref)(u.SkdxTextField),{value:r.searchValue,"default-value":r.defaultSearchValue,onValueChange:v},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(c.SkdxTextFieldInput),{type:"search","aria-label":r.searchLabel,placeholder:r.searchPlaceholder},null,8,["aria-label","placeholder"]),(0,e.createVNode)((0,e.unref)(c.SkdxTextFieldClearButton),{label:r.clearSearchLabel},null,8,["label"])]),_:1},8,["value","default-value"])],16)):(0,e.createCommentVNode)("",!0),a.$slots.default?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:1},(0,e.unref)(l.skdxPart)("filter-bar","filters"))),[(0,e.renderSlot)(a.$slots,"default")],16)):(0,e.createCommentVNode)("",!0),a.$slots.actions?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:2},(0,e.unref)(l.skdxPart)("filter-bar","actions"))),[(0,e.renderSlot)(a.$slots,"actions")],16)):(0,e.createCommentVNode)("",!0),n.value.length>0?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:3},(0,e.unref)(l.skdxPart)("filter-bar","active"))),[(0,e.createVNode)((0,e.unref)(u.SkdxTagGroup),(0,e.mergeProps)((0,e.unref)(l.skdxPart)("filter-bar","tags"),{"aria-label":r.activeFiltersLabel,tags:m.value,onRemove:h}),null,16,["aria-label","tags"]),f()?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(u.SkdxButton),(0,e.mergeProps)({key:0},(0,e.unref)(l.skdxPart)("filter-bar","clear"),{variant:"ghost",size:"sm",onClick:t[0]||(t[0]=p=>o("clear"))}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(r.clearLabel),1)]),_:1},16)):(0,e.createCommentVNode)("",!0)],16)):(0,e.createCommentVNode)("",!0)],16,k))}});exports.default=b;
@@ -0,0 +1 @@
1
+ import{skdxPart as e}from"../internal/part.js";import{computed as a,createBlock as l,createCommentVNode as t,createElementBlock as r,createTextVNode as s,createVNode as i,defineComponent as o,getCurrentInstance as u,mergeProps as c,normalizeProps as d,openBlock as n,renderSlot as f,toDisplayString as v,unref as b,withCtx as h}from"vue";import{SkdxButton as p,SkdxTagGroup as m,SkdxTextField as k}from"@skdx/vue";import{SkdxTextFieldClearButton as x,SkdxTextFieldInput as g}from"@skdx/vue/primitives/text-field";var S=["aria-label"],C=/* @__PURE__ */o({__name:"FilterBar",props:{label:{default:"Filters"},searchLabel:{default:void 0},searchPlaceholder:{default:void 0},searchValue:{default:void 0},defaultSearchValue:{default:""},clearSearchLabel:{default:"Clear search"},activeFilters:{default:void 0},activeFiltersLabel:{default:"Active filters"},clearLabel:{default:"Clear filters"}},emits:["update:searchValue","search-value-change","remove-filter","clear"],setup(o,{emit:C}){const V=o,F=C,L=u(),y=a(()=>V.activeFilters??[]),B=a(()=>y.value.map(e=>({value:e.id,label:e.label})));function P(e){F("update:searchValue",e),F("search-value-change",e)}function T(e){const a=y.value[e.index];a&&F("remove-filter",a)}return(a,u)=>(n(),r("div",c(b(e)("filter-bar","root"),{"aria-label":o.label}),[o.searchLabel?(n(),r("div",d(c({key:0},b(e)("filter-bar","search"))),[i(b(k),{value:o.searchValue,"default-value":o.defaultSearchValue,onValueChange:P},{default:h(()=>[i(b(g),{type:"search","aria-label":o.searchLabel,placeholder:o.searchPlaceholder},null,8,["aria-label","placeholder"]),i(b(x),{label:o.clearSearchLabel},null,8,["label"])]),_:1},8,["value","default-value"])],16)):t("",!0),a.$slots.default?(n(),r("div",d(c({key:1},b(e)("filter-bar","filters"))),[f(a.$slots,"default")],16)):t("",!0),a.$slots.actions?(n(),r("div",d(c({key:2},b(e)("filter-bar","actions"))),[f(a.$slots,"actions")],16)):t("",!0),y.value.length>0?(n(),r("div",d(c({key:3},b(e)("filter-bar","active"))),[i(b(m),c(b(e)("filter-bar","tags"),{"aria-label":o.activeFiltersLabel,tags:B.value,onRemove:T}),null,16,["aria-label","tags"]),null!=L?.vnode.props?.onClear?(n(),l(b(p),c({key:0},b(e)("filter-bar","clear"),{variant:"ghost",size:"sm",onClick:u[0]||(u[0]=e=>F("clear"))}),{default:h(()=>[s(v(o.clearLabel),1)]),_:1},16)):t("",!0)],16)):t("",!0)],16,S))}});export{C as default};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./FilterBar.vue.cjs");exports.SkdxFilterBar=e.default;
@@ -0,0 +1,2 @@
1
+ export { default as SkdxFilterBar } from './FilterBar.vue.cjs';
2
+ export type { FilterBarFilter } from './types.cjs';
@@ -0,0 +1,2 @@
1
+ export { default as SkdxFilterBar } from './FilterBar.vue.js';
2
+ export type { FilterBarFilter } from './types.js';
@@ -0,0 +1 @@
1
+ import r from"./FilterBar.vue.js";export{r as SkdxFilterBar};
@@ -0,0 +1,7 @@
1
+ /** One applied filter rendered as a removable tag by a `SkdxFilterBar`. */
2
+ export interface FilterBarFilter {
3
+ /** Unique identifier, carried on `remove-filter` and used as the tag's key. */
4
+ id: string;
5
+ /** Text rendered on the tag and read by its remove control's accessible name. */
6
+ label: string;
7
+ }
@@ -0,0 +1,7 @@
1
+ /** One applied filter rendered as a removable tag by a `SkdxFilterBar`. */
2
+ export interface FilterBarFilter {
3
+ /** Unique identifier, carried on `remove-filter` and used as the tag's key. */
4
+ id: string;
5
+ /** Text rendered on the tag and read by its remove control's accessible name. */
6
+ label: string;
7
+ }
@@ -0,0 +1 @@
1
+ const e=require("./ForgotPasswordPage.vue_vue_type_script_setup_true_lang.cjs");var r=e.default;exports.default=r;
@@ -0,0 +1,76 @@
1
+ import type { ForgotPasswordDetail } from './types.cjs';
2
+ /**
3
+ * A password-recovery panel: one email field whose address is reported as a `request-reset` event, replaced by a success Alert once the consumer accepts it.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <SkdxForgotPasswordPage
8
+ * description="We will email you a link to choose a new password."
9
+ * :success="sent ? 'Check your inbox.' : undefined"
10
+ * @request-reset="({ email }) => requestReset(email)"
11
+ * />
12
+ * ```
13
+ */
14
+ type __VLS_Props = {
15
+ /**
16
+ * Heading text, rendered into a derived `<h1>` that names the section.
17
+ * @default 'Reset your password'
18
+ */
19
+ title?: string;
20
+ /**
21
+ * Supporting copy rendered below the title, explaining what the reset link does.
22
+ * @default undefined — no description region renders.
23
+ */
24
+ description?: string | undefined;
25
+ /**
26
+ * Message rendered into a derived error Alert; the block never clears it, the consumer does.
27
+ * @default undefined — no error region renders.
28
+ */
29
+ error?: string | undefined;
30
+ /**
31
+ * Confirmation rendered into a derived success Alert that replaces the form entirely.
32
+ * @default undefined — the form renders instead.
33
+ */
34
+ success?: string | undefined;
35
+ /**
36
+ * Marks the request in flight, making the submit button busy while the email field stays editable.
37
+ * @default false
38
+ */
39
+ pending?: boolean;
40
+ /**
41
+ * Label of the email field the reset link is requested for.
42
+ * @default 'Email'
43
+ */
44
+ emailLabel?: string;
45
+ /**
46
+ * Text of the form's submit button.
47
+ * @default 'Send reset link'
48
+ */
49
+ submitLabel?: string;
50
+ };
51
+ type __VLS_Slots = {
52
+ /** Extra fields rendered inside the form, above the submit button. */
53
+ default?(): unknown;
54
+ /** Navigation below the form, such as a link back to the sign-in page. */
55
+ footer?(): unknown;
56
+ };
57
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
58
+ "request-reset": (detail: ForgotPasswordDetail) => any;
59
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
60
+ "onRequest-reset"?: (detail: ForgotPasswordDetail) => any;
61
+ }>, {
62
+ title: string;
63
+ error: string | undefined;
64
+ emailLabel: string;
65
+ submitLabel: string;
66
+ description: string | undefined;
67
+ success: string | undefined;
68
+ pending: boolean;
69
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
70
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
71
+ export default _default;
72
+ type __VLS_WithSlots<T, S> = T & {
73
+ new (): {
74
+ $slots: S;
75
+ };
76
+ };