hanap-labs 0.1.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 (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +190 -0
  3. package/dist/auto-import/index.js +40 -0
  4. package/dist/chunks/components-BlNF7xT6.js +3951 -0
  5. package/dist/chunks/composables-C9eE_X8p.js +1393 -0
  6. package/dist/chunks/helpers-QkG7gR6t.js +6 -0
  7. package/dist/chunks/usePopup-zCvtcQsc.js +943 -0
  8. package/dist/components/index.js +2 -0
  9. package/dist/composables/index.js +3 -0
  10. package/dist/helpers/index.js +2 -0
  11. package/dist/index.js +6 -0
  12. package/dist/toolkit.css +2 -0
  13. package/dist/types/auto-import/index.d.ts +31 -0
  14. package/dist/types/components/hl-avatar/HLAvatar.types.d.ts +6 -0
  15. package/dist/types/components/hl-avatar/index.d.ts +2 -0
  16. package/dist/types/components/hl-breadcrumb/HLBreadcrumb.types.d.ts +24 -0
  17. package/dist/types/components/hl-breadcrumb/index.d.ts +2 -0
  18. package/dist/types/components/hl-breadcrumb/useBreadcrumb.d.ts +7 -0
  19. package/dist/types/components/hl-button/HLButton.types.d.ts +19 -0
  20. package/dist/types/components/hl-button/index.d.ts +2 -0
  21. package/dist/types/components/hl-checkbox/HLCheckbox.types.d.ts +17 -0
  22. package/dist/types/components/hl-checkbox/index.d.ts +2 -0
  23. package/dist/types/components/hl-icon/HLIcon.registry.d.ts +2 -0
  24. package/dist/types/components/hl-icon/HLIcon.types.d.ts +10 -0
  25. package/dist/types/components/hl-icon/index.d.ts +3 -0
  26. package/dist/types/components/hl-input/HLInput.types.d.ts +30 -0
  27. package/dist/types/components/hl-input/index.d.ts +2 -0
  28. package/dist/types/components/hl-label/HLLabel.types.d.ts +11 -0
  29. package/dist/types/components/hl-label/index.d.ts +2 -0
  30. package/dist/types/components/hl-menu-action/HLMenuAction.types.d.ts +23 -0
  31. package/dist/types/components/hl-menu-action/index.d.ts +2 -0
  32. package/dist/types/components/hl-notify/index.d.ts +12 -0
  33. package/dist/types/components/hl-popup/index.d.ts +12 -0
  34. package/dist/types/components/hl-select/HLSelect.types.d.ts +31 -0
  35. package/dist/types/components/hl-select/index.d.ts +2 -0
  36. package/dist/types/components/hl-skeleton/HLSkeleton.types.d.ts +3 -0
  37. package/dist/types/components/hl-skeleton/index.d.ts +2 -0
  38. package/dist/types/components/hl-table/HLTable.types.d.ts +35 -0
  39. package/dist/types/components/hl-table/index.d.ts +2 -0
  40. package/dist/types/components/hl-tabs/HLTabs.types.d.ts +9 -0
  41. package/dist/types/components/hl-tabs/index.d.ts +2 -0
  42. package/dist/types/components/hl-textarea/HLTextarea.types.d.ts +17 -0
  43. package/dist/types/components/hl-textarea/index.d.ts +2 -0
  44. package/dist/types/components/index.d.ts +15 -0
  45. package/dist/types/composables/data/useMutation.d.ts +12 -0
  46. package/dist/types/composables/data/useQuery.d.ts +18 -0
  47. package/dist/types/composables/form/useForm.d.ts +22 -0
  48. package/dist/types/composables/index.d.ts +9 -0
  49. package/dist/types/composables/ui/useFloat.d.ts +29 -0
  50. package/dist/types/composables/ui/useNotify.d.ts +25 -0
  51. package/dist/types/composables/ui/usePopup.d.ts +25 -0
  52. package/dist/types/helpers/formatLabel.d.ts +1 -0
  53. package/dist/types/helpers/index.d.ts +1 -0
  54. package/dist/types/index.d.ts +6 -0
  55. package/dist/types/types/index.d.ts +1 -0
  56. package/dist/types/types/ui.types.d.ts +5 -0
  57. package/package.json +97 -0
@@ -0,0 +1,2 @@
1
+ import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, x, y as S } from "../chunks/components-BlNF7xT6.js";
2
+ export { t as AH_ICON_NAMES, S as HLAvatar, i as HLBreadcrumb, b as HLButton, c as HLCheckbox, s as HLGlobalNotify, a as HLGlobalPopup, x as HLIcon, l as HLInput, n as HLLabel, f as HLMenuAction, d as HLPopup, r as HLSelect, u as HLSkeleton, p as HLTable, g as HLTabs, v as HLTextarea, h as HLToast, y as createNotifyPlugin, m as createPopupPlugin, e as getAHIconSvg, o as unmountNotifyHost, _ as unmountPopupHost };
@@ -0,0 +1,3 @@
1
+ import { n as e, r as t, t as n } from "../chunks/composables-C9eE_X8p.js";
2
+ import { n as r, r as i, t as a } from "../chunks/usePopup-zCvtcQsc.js";
3
+ export { e as createUseQuery, i as useFloat, n as useForm, r as useNotify, a as usePopup, t as useQuery };
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../chunks/helpers-QkG7gR6t.js";
2
+ export { e as formatLabel };
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ import { n as e, r as t, t as n } from "./chunks/composables-C9eE_X8p.js";
2
+ import { C as r, S as i, _ as a, a as o, b as s, c, d as l, f as u, g as d, h as f, i as p, l as m, m as h, n as g, o as _, p as v, r as y, s as b, t as x, u as S, v as C, x as w, y as T } from "./chunks/components-BlNF7xT6.js";
3
+ import { n as E, r as D, t as O } from "./chunks/usePopup-zCvtcQsc.js";
4
+ import { t as k } from "./chunks/helpers-QkG7gR6t.js";
5
+ import { createToolkitAutoImportModules as A, createToolkitAutoImportOptions as j, createToolkitComponentsResolver as M } from "./auto-import/index.js";
6
+ export { i as AH_ICON_NAMES, T as HLAvatar, s as HLBreadcrumb, C as HLButton, d as HLCheckbox, u as HLGlobalNotify, c as HLGlobalPopup, w as HLIcon, f as HLInput, a as HLLabel, h as HLMenuAction, m as HLPopup, o as HLSelect, p as HLSkeleton, g as HLTable, y as HLTabs, x as HLTextarea, v as HLToast, S as createNotifyPlugin, _ as createPopupPlugin, A as createToolkitAutoImportModules, j as createToolkitAutoImportOptions, M as createToolkitComponentsResolver, e as createUseQuery, k as formatLabel, r as getAHIconSvg, l as unmountNotifyHost, b as unmountPopupHost, D as useFloat, n as useForm, E as useNotify, O as usePopup, t as useQuery };
@@ -0,0 +1,2 @@
1
+ .hl-icon__svg[data-v-cddb1332] svg{width:100%;height:100%;display:block}.hl-search-input[data-v-5186dc0e]::-webkit-search-cancel-button{appearance:none;display:none}.hl-search-input[data-v-5186dc0e]::-webkit-search-decoration{appearance:none;display:none}.hl-search-input[data-v-5186dc0e]::-webkit-search-results-button{appearance:none;display:none}.hl-search-input[data-v-5186dc0e]::-webkit-search-results-decoration{appearance:none;display:none}.hl-search-input[data-v-5186dc0e]::-ms-clear{display:none}.hl-search-input[data-v-5186dc0e]::-ms-reveal{display:none}textarea[data-v-a5005dfc]{-ms-overflow-style:none;scrollbar-width:none}textarea[data-v-a5005dfc]::-webkit-scrollbar{display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.right-6{right:1.5rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.order-1{order:1}.order-2{order:2}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-auto{margin-top:auto;margin-bottom:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.\!size-8{width:2rem!important;height:2rem!important}.\!size-\[var\(--hanaplabstoolkit-size-sm\)\]{width:var(--hanaplabstoolkit-size-sm)!important;height:var(--hanaplabstoolkit-size-sm)!important}.size-10{width:2.5rem;height:2.5rem}.size-2{width:.5rem;height:.5rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-\[var\(--hanaplabstoolkit-size-lg\)\]{width:var(--hanaplabstoolkit-size-lg);height:var(--hanaplabstoolkit-size-lg)}.size-\[var\(--hanaplabstoolkit-size-md\)\]{width:var(--hanaplabstoolkit-size-md);height:var(--hanaplabstoolkit-size-md)}.size-\[var\(--hanaplabstoolkit-size-sm\)\]{width:var(--hanaplabstoolkit-size-sm);height:var(--hanaplabstoolkit-size-sm)}.size-\[var\(--hanaplabstoolkit-size-xs\)\]{width:var(--hanaplabstoolkit-size-xs);height:var(--hanaplabstoolkit-size-xs)}.size-full{width:100%;height:100%}.\!h-\[var\(--hanaplabstoolkit-size-md\)\]{height:var(--hanaplabstoolkit-size-md)!important}.\!h-auto{height:auto!important}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[var\(--hanaplabstoolkit-size-lg\)\]{height:var(--hanaplabstoolkit-size-lg)}.h-\[var\(--hanaplabstoolkit-size-md\)\]{height:var(--hanaplabstoolkit-size-md)}.h-\[var\(--hanaplabstoolkit-size-sm\)\]{height:var(--hanaplabstoolkit-size-sm)}.h-\[var\(--hanaplabstoolkit-size-xs\)\]{height:var(--hanaplabstoolkit-size-xs)}.h-full{height:100%}.\!min-h-0{min-height:0!important}.min-h-48{min-height:12rem}.min-h-\[212px\]{min-height:212px}.min-h-\[220px\]{min-height:220px}.min-h-\[240px\]{min-height:240px}.min-h-\[260px\]{min-height:260px}.\!w-\[var\(--hanaplabstoolkit-size-md\)\]{width:var(--hanaplabstoolkit-size-md)!important}.\!w-full{width:100%!important}.w-1{width:.25rem}.w-10{width:2.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\[280px\]{width:280px}.w-\[calc\(100\%-1rem\)\]{width:calc(100% - 1rem)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.\!min-w-0{min-width:0!important}.min-w-0{min-width:0}.min-w-4{min-width:1rem}.min-w-40{min-width:10rem}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-\[110px\]{max-width:110px}.max-w-full{max-width:100%}.max-w-max{max-width:max-content}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.table-auto{table-layout:auto}.translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y:.5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.\!justify-start{justify-content:flex-start!important}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.\!gap-0{gap:0!important}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.\!rounded-md{border-radius:.375rem!important}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.\!border-b{border-bottom-width:1px!important}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.\!border-gray-200{--tw-border-opacity:1!important;border-color:rgb(229 231 235/var(--tw-border-opacity,1))!important}.border-danger{border-color:var(--anonghanap-toolkit-danger,#dc2626)}.border-dark{border-color:var(--anonghanap-toolkit-dark,#030712)}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-info{border-color:var(--anonghanap-toolkit-info,#15803d)}.border-light{border-color:var(--anonghanap-toolkit-light,#fff)}.border-muted{border-color:var(--anonghanap-toolkit-muted,#6b8274)}.border-primary{border-color:var(--anonghanap-toolkit-primary,#15803d)}.border-secondary{border-color:var(--anonghanap-toolkit-secondary,#fff)}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-success{border-color:var(--anonghanap-toolkit-success,#059669)}.border-tertiary{border-color:var(--anonghanap-toolkit-tertiary,#e6ede8)}.border-warning{border-color:var(--anonghanap-toolkit-warning,#f59e0b)}.\!bg-transparent{background-color:#0000!important}.bg-black\/50{background-color:#00000080}.bg-danger{background-color:var(--anonghanap-toolkit-danger,#dc2626)}.bg-dark{background-color:var(--anonghanap-toolkit-dark,#030712)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-info{background-color:var(--anonghanap-toolkit-info,#15803d)}.bg-light{background-color:var(--anonghanap-toolkit-light,#fff)}.bg-muted{background-color:var(--anonghanap-toolkit-muted,#6b8274)}.bg-primary{background-color:var(--anonghanap-toolkit-primary,#15803d)}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-secondary{background-color:var(--anonghanap-toolkit-secondary,#fff)}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-success{background-color:var(--anonghanap-toolkit-success,#059669)}.bg-tertiary{background-color:var(--anonghanap-toolkit-tertiary,#e6ede8)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--anonghanap-toolkit-warning,#f59e0b)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pr-8{padding-right:2rem}.pt-0\.5{padding-top:.125rem}.\!text-left{text-align:left!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.\!font-medium{font-weight:500!important}.\!font-normal{font-weight:400!important}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.\!text-slate-600{--tw-text-opacity:1!important;color:rgb(71 85 105/var(--tw-text-opacity,1))!important}.\!text-slate-700{--tw-text-opacity:1!important;color:rgb(51 65 85/var(--tw-text-opacity,1))!important}.text-danger{color:var(--anonghanap-toolkit-danger,#dc2626)}.text-dark{color:var(--anonghanap-toolkit-dark,#030712)}.text-info{color:var(--anonghanap-toolkit-info,#15803d)}.text-light{color:var(--anonghanap-toolkit-light,#fff)}.text-muted{color:var(--anonghanap-toolkit-muted,#6b8274)}.text-primary{color:var(--anonghanap-toolkit-primary,#15803d)}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-secondary{color:var(--anonghanap-toolkit-secondary,#fff)}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-success{color:var(--anonghanap-toolkit-success,#059669)}.text-tertiary{color:var(--anonghanap-toolkit-tertiary,#e6ede8)}.text-warning{color:var(--anonghanap-toolkit-warning,#f59e0b)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.\!shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)!important}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-black\/5{--tw-ring-color:#0000000d}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--anonghanap-toolkit-size-xs:24px;--anonghanap-toolkit-size-sm:36px;--anonghanap-toolkit-size-md:42px;--anonghanap-toolkit-size-lg:48px;--anonghanap-toolkit-primary:var(--anonghanap-primary,var(--primary,#15803d));--anonghanap-toolkit-secondary:var(--anonghanap-secondary,var(--secondary,#9fcb98));--anonghanap-toolkit-tertiary:var(--anonghanap-tertiary,var(--tertiary,#79ae6f));--anonghanap-toolkit-success:var(--anonghanap-success,var(--success,#059669));--anonghanap-toolkit-danger:var(--anonghanap-danger,var(--danger,#dc2626));--anonghanap-toolkit-warning:var(--anonghanap-warning,var(--warning,#f59e0b));--anonghanap-toolkit-info:var(--anonghanap-info,var(--info,#38bdf8));--anonghanap-toolkit-light:var(--anonghanap-light,var(--light,#ede9e6));--anonghanap-toolkit-dark:var(--anonghanap-dark,var(--dark,#030712));--anonghanap-toolkit-muted:var(--anonghanap-muted,var(--muted,#6b8274));--anonghanap-toolkit-font-family:var(--anonghanap-font-family,inherit);font-size:16px}.anonghanap-toolkit-font{font-family:var(--anonghanap-toolkit-font-family,inherit)}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--anonghanap-toolkit-primary:var(--anonghanap-primary,var(--primary,#85bb65));--anonghanap-toolkit-secondary:var(--anonghanap-secondary,var(--secondary,#3e5f4a));--anonghanap-toolkit-tertiary:var(--anonghanap-tertiary,var(--tertiary,#2f4a39));--anonghanap-toolkit-success:var(--anonghanap-success,var(--success,#34d399));--anonghanap-toolkit-danger:var(--anonghanap-danger,var(--danger,#f87171));--anonghanap-toolkit-warning:var(--anonghanap-warning,var(--warning,#fbbf24));--anonghanap-toolkit-info:var(--anonghanap-info,var(--info,#60a5fa));--anonghanap-toolkit-light:var(--anonghanap-light,var(--light,#d9d4cb));--anonghanap-toolkit-dark:var(--anonghanap-dark,var(--dark,#030712));--anonghanap-toolkit-muted:var(--anonghanap-muted,var(--muted,#9ca3af))}.placeholder\:text-muted::placeholder{color:var(--anonghanap-toolkit-muted,#6b8274)}.last\:\!border-b-0:last-child{border-bottom-width:0!important}.hover\:\!bg-gray-100:hover{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.hover\:bg-\[var\(--hl-select-option-hover-bg\)\]:hover{background-color:var(--hl-select-option-hover-bg)}.hover\:bg-danger:hover{background-color:var(--anonghanap-toolkit-danger,#dc2626)}.hover\:bg-dark:hover{background-color:var(--anonghanap-toolkit-dark,#030712)}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-info:hover{background-color:var(--anonghanap-toolkit-info,#15803d)}.hover\:bg-light:hover{background-color:var(--anonghanap-toolkit-light,#fff)}.hover\:bg-muted:hover{background-color:var(--anonghanap-toolkit-muted,#6b8274)}.hover\:bg-primary:hover{background-color:var(--anonghanap-toolkit-primary,#15803d)}.hover\:bg-secondary:hover{background-color:var(--anonghanap-toolkit-secondary,#fff)}.hover\:bg-success:hover{background-color:var(--anonghanap-toolkit-success,#059669)}.hover\:bg-tertiary:hover{background-color:var(--anonghanap-toolkit-tertiary,#e6ede8)}.hover\:bg-warning:hover{background-color:var(--anonghanap-toolkit-warning,#f59e0b)}.hover\:\!text-slate-800:hover{--tw-text-opacity:1!important;color:rgb(30 41 59/var(--tw-text-opacity,1))!important}.hover\:text-dark:hover{color:var(--anonghanap-toolkit-dark,#030712)}.hover\:text-light:hover{color:var(--anonghanap-toolkit-light,#fff)}.hover\:text-primary:hover{color:var(--anonghanap-toolkit-primary,#15803d)}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-90:hover{opacity:.9}.focus\:border-0:focus{border-width:0}.focus\:border-danger:focus{border-color:var(--anonghanap-toolkit-danger,#dc2626)}.focus\:border-dark:focus{border-color:var(--anonghanap-toolkit-dark,#030712)}.focus\:border-gray-200:focus{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.focus\:border-info:focus{border-color:var(--anonghanap-toolkit-info,#15803d)}.focus\:border-muted:focus{border-color:var(--anonghanap-toolkit-muted,#6b8274)}.focus\:border-primary:focus{border-color:var(--anonghanap-toolkit-primary,#15803d)}.focus\:border-secondary:focus{border-color:var(--anonghanap-toolkit-secondary,#fff)}.focus\:border-success:focus{border-color:var(--anonghanap-toolkit-success,#059669)}.focus\:border-tertiary:focus{border-color:var(--anonghanap-toolkit-tertiary,#e6ede8)}.focus\:border-warning:focus{border-color:var(--anonghanap-toolkit-warning,#f59e0b)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-70:disabled{opacity:.7}@media (width>=640px){.sm\:block{display:block}.sm\:w-72{width:18rem}.sm\:w-auto{width:auto}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:px-0{padding-left:0;padding-right:0}}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1024px){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
2
+ /*$vite$:1*/
@@ -0,0 +1,31 @@
1
+ declare const TOOLKIT_COMPOSABLES_ENTRYPOINT = "anonghanap-toolkit/composables";
2
+ declare const TOOLKIT_COMPONENT_NAMES: readonly ["AHAvatar", "AHBreadcrumb", "AHButton", "AHIcon", "AHMenuAction", "AHSelect", "AHSkeleton", "AHTabs", "AHTable"];
3
+ declare const TOOLKIT_COMPOSABLE_NAMES: readonly ["useFloat", "useNotify", "usePopup", "useQuery"];
4
+ export type ToolkitComponentName = (typeof TOOLKIT_COMPONENT_NAMES)[number];
5
+ export type ToolkitComposableName = (typeof TOOLKIT_COMPOSABLE_NAMES)[number];
6
+ export type ToolkitComponentsResolveResult = {
7
+ name: ToolkitComponentName;
8
+ from: string;
9
+ };
10
+ export type ToolkitComponentsResolver = {
11
+ type: "component";
12
+ resolve: (name: string) => ToolkitComponentsResolveResult | undefined;
13
+ };
14
+ export type ToolkitAutoImportModules = Array<{
15
+ [TOOLKIT_COMPOSABLES_ENTRYPOINT]: ToolkitComposableName[];
16
+ }>;
17
+ export type ToolkitAutoImportOptions = {
18
+ componentNames?: ToolkitComponentName[];
19
+ composableNames?: ToolkitComposableName[];
20
+ };
21
+ export declare function createToolkitComponentsResolver(componentNames?: ToolkitComponentName[]): ToolkitComponentsResolver;
22
+ export declare function createToolkitAutoImportModules(composableNames?: ToolkitComposableName[]): ToolkitAutoImportModules;
23
+ export declare function createToolkitAutoImportOptions(options?: ToolkitAutoImportOptions): {
24
+ components: {
25
+ resolvers: ToolkitComponentsResolver[];
26
+ };
27
+ composables: {
28
+ imports: ToolkitAutoImportModules;
29
+ };
30
+ };
31
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { AHUISize } from "../../types/ui.types";
2
+ export interface HLAvatarProps {
3
+ text?: string;
4
+ image?: string;
5
+ size?: AHUISize;
6
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLAvatar } from "./HLAvatar.vue";
2
+ export type { HLAvatarProps } from "./HLAvatar.types";
@@ -0,0 +1,24 @@
1
+ import type { AHUIColor } from "../../types/ui.types";
2
+ export interface HLBreadcrumbItem {
3
+ label: string;
4
+ href?: string;
5
+ isActive: boolean;
6
+ }
7
+ export interface HLBreadcrumbStaticData {
8
+ dashboardLabel: string;
9
+ routeNameMap: Readonly<Record<string, string>>;
10
+ routeHrefMap: Readonly<Record<string, string>>;
11
+ addLabelByParent: Readonly<Record<string, string>>;
12
+ createLabelByRootSegment: Readonly<Record<string, string>>;
13
+ pathOverrides: Readonly<Record<string, HLBreadcrumbItem[]>>;
14
+ uuidPattern: RegExp;
15
+ }
16
+ export interface HLBreadcrumbProps {
17
+ path?: string;
18
+ dynamicLabel?: string | null;
19
+ staticData?: Partial<HLBreadcrumbStaticData>;
20
+ separator?: string;
21
+ separatorType?: "text" | "icon";
22
+ separatorIconName?: string;
23
+ activeColor?: AHUIColor;
24
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLBreadcrumb } from "./HLBreadcrumb.vue";
2
+ export type { HLBreadcrumbItem, HLBreadcrumbProps, HLBreadcrumbStaticData, } from "./HLBreadcrumb.types";
@@ -0,0 +1,7 @@
1
+ import { type ComputedRef, type Ref } from "vue";
2
+ import type { HLBreadcrumbItem, HLBreadcrumbStaticData } from "./HLBreadcrumb.types";
3
+ export interface UseBreadcrumbOptions {
4
+ staticData?: Partial<HLBreadcrumbStaticData>;
5
+ dynamicLabel?: Ref<string | null> | ComputedRef<string | null>;
6
+ }
7
+ export declare function useBreadcrumb(pathRef: Ref<string> | ComputedRef<string>, options?: UseBreadcrumbOptions): ComputedRef<HLBreadcrumbItem[]>;
@@ -0,0 +1,19 @@
1
+ import type { AHUIColor, AHUIPosition, AHUISize, AHUIVariant } from "../../types/ui.types";
2
+ export type HLButtonColor = AHUIColor;
3
+ export type HLButtonSize = AHUISize;
4
+ export type HLButtonVariant = AHUIVariant;
5
+ export type HLButtonIconPosition = AHUIPosition;
6
+ export type HLButtonType = "button" | "submit" | "reset";
7
+ export interface HLButtonProps {
8
+ color?: HLButtonColor;
9
+ size?: HLButtonSize;
10
+ variant?: HLButtonVariant;
11
+ rounded?: boolean;
12
+ iconOnly?: boolean;
13
+ label: string;
14
+ iconPosition?: HLButtonIconPosition;
15
+ loading?: boolean;
16
+ disabled?: boolean;
17
+ type?: HLButtonType;
18
+ noBorder?: boolean;
19
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLButton } from "./HLButton.vue";
2
+ export type { HLButtonProps } from "./HLButton.types";
@@ -0,0 +1,17 @@
1
+ import type { AHUIColor, AHUISize } from "../../types/ui.types";
2
+ export type HLCheckboxSize = AHUISize;
3
+ export type HLCheckboxColor = AHUIColor;
4
+ export interface HLCheckboxProps {
5
+ id?: string;
6
+ label?: string;
7
+ description?: string;
8
+ labelClass?: string;
9
+ descriptionClass?: string;
10
+ ariaLabel?: string;
11
+ disabled?: boolean;
12
+ indeterminate?: boolean;
13
+ size?: HLCheckboxSize;
14
+ labelSize?: HLCheckboxSize;
15
+ color?: HLCheckboxColor;
16
+ noBorder?: boolean;
17
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLCheckbox } from "./HLCheckbox.vue";
2
+ export type { HLCheckboxProps } from "./HLCheckbox.types";
@@ -0,0 +1,2 @@
1
+ export declare const AH_ICON_NAMES: readonly string[];
2
+ export declare function getAHIconSvg(name: string): string | undefined;
@@ -0,0 +1,10 @@
1
+ import type { AHUIColor } from "../../types/ui.types";
2
+ export type HLIconColor = AHUIColor;
3
+ export interface HLIconProps {
4
+ name: string;
5
+ size?: number | string;
6
+ color?: HLIconColor;
7
+ title?: string;
8
+ decorative?: boolean;
9
+ ariaLabel?: string;
10
+ }
@@ -0,0 +1,3 @@
1
+ export { default as HLIcon } from "./HLIcon.vue";
2
+ export { AH_ICON_NAMES, getAHIconSvg } from "./HLIcon.registry";
3
+ export type { HLIconProps } from "./HLIcon.types";
@@ -0,0 +1,30 @@
1
+ import type { AHUIColor, AHUISize } from "../../types/ui.types";
2
+ export type HLInputType = "text" | "email" | "password" | "number" | "tel" | "url" | "search";
3
+ export type HLInputSize = AHUISize;
4
+ export type HLInputColor = AHUIColor;
5
+ export interface HLInputProps {
6
+ id?: string;
7
+ type?: HLInputType;
8
+ placeholder?: string;
9
+ label?: string;
10
+ description?: string;
11
+ required?: boolean;
12
+ disabled?: boolean;
13
+ readonly?: boolean;
14
+ error?: string;
15
+ errors?: string[];
16
+ autocomplete?: string;
17
+ maxlength?: number | string;
18
+ minlength?: number | string;
19
+ pattern?: string;
20
+ showPasswordToggle?: boolean;
21
+ labelClass?: string;
22
+ labelSize?: HLInputSize;
23
+ iconLeft?: boolean;
24
+ inputClass?: string;
25
+ size?: HLInputSize;
26
+ color?: HLInputColor;
27
+ rounded?: boolean;
28
+ loading?: boolean;
29
+ noBorder?: boolean;
30
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLInput } from "./HLInput.vue";
2
+ export type { HLInputProps } from "./HLInput.types";
@@ -0,0 +1,11 @@
1
+ import type { AHUISize } from "../../types/ui.types";
2
+ export interface HLLabelProps {
3
+ label?: string;
4
+ description?: string;
5
+ forId?: string;
6
+ labelId?: string;
7
+ required?: boolean;
8
+ size?: AHUISize;
9
+ labelClass?: string;
10
+ descriptionClass?: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLLabel } from "./HLLabel.vue";
2
+ export type { HLLabelProps } from "./HLLabel.types";
@@ -0,0 +1,23 @@
1
+ import type { HLIconProps } from "../hl-icon/HLIcon.types";
2
+ import type { AHUIColor } from "../../types/ui.types";
3
+ export type HLMenuActionOptionValue = string | number;
4
+ export type HLMenuActionOptionColor = AHUIColor;
5
+ export interface HLMenuActionOption {
6
+ value: HLMenuActionOptionValue;
7
+ label: string;
8
+ icon?: HLIconProps["name"];
9
+ color?: HLMenuActionOptionColor;
10
+ disabled?: boolean;
11
+ loading?: boolean;
12
+ callback?: () => void | Promise<void>;
13
+ }
14
+ export interface HLMenuActionProps {
15
+ options?: HLMenuActionOption[];
16
+ disabled?: boolean;
17
+ triggerAriaLabel?: string;
18
+ closeOnSelect?: boolean;
19
+ closeOnClickOutside?: boolean;
20
+ closeOnEscape?: boolean;
21
+ menuClass?: string;
22
+ optionClass?: string;
23
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLMenuAction } from "./HLMenuAction.vue";
2
+ export type { HLMenuActionOption, HLMenuActionOptionColor, HLMenuActionOptionValue, HLMenuActionProps, } from "./HLMenuAction.types";
@@ -0,0 +1,12 @@
1
+ import { type Plugin } from "vue";
2
+ import HLGlobalNotify from "./HLGlobalNotify.vue";
3
+ import HLToast from "./HLToast.vue";
4
+ type NotifyPluginOptions = {
5
+ autoMount?: boolean;
6
+ mountId?: string;
7
+ componentName?: string;
8
+ };
9
+ export declare const unmountNotifyHost: () => void;
10
+ export declare const createNotifyPlugin: (pluginOptions?: NotifyPluginOptions) => Plugin;
11
+ export { HLGlobalNotify, HLToast };
12
+ export type { NotifyPluginOptions };
@@ -0,0 +1,12 @@
1
+ import { type Plugin } from "vue";
2
+ import HLGlobalPopup from "./HLGlobalPopup.vue";
3
+ import HLPopup from "./HLPopup.vue";
4
+ type PopupPluginOptions = {
5
+ autoMount?: boolean;
6
+ mountId?: string;
7
+ componentName?: string;
8
+ };
9
+ export declare const unmountPopupHost: () => void;
10
+ export declare const createPopupPlugin: (pluginOptions?: PopupPluginOptions) => Plugin;
11
+ export { HLGlobalPopup, HLPopup };
12
+ export type { PopupPluginOptions };
@@ -0,0 +1,31 @@
1
+ import type { AHUIColor, AHUISize } from "../../types/ui.types";
2
+ export type HLSelectSize = AHUISize;
3
+ export type HLSelectColor = AHUIColor;
4
+ export type HLSelectValue = unknown;
5
+ export interface HLSelectOption {
6
+ label: string;
7
+ value: HLSelectValue;
8
+ description?: string;
9
+ disabled?: boolean;
10
+ }
11
+ export interface HLSelectProps {
12
+ id?: string;
13
+ label?: string;
14
+ description?: string;
15
+ required?: boolean;
16
+ disabled?: boolean;
17
+ error?: string;
18
+ errors?: string[];
19
+ placeholder?: string;
20
+ options?: HLSelectOption[];
21
+ labelClass?: string;
22
+ inputClass?: string;
23
+ optionClass?: string;
24
+ size?: HLSelectSize;
25
+ color?: HLSelectColor;
26
+ maxMenuHeight?: number;
27
+ multiple?: boolean;
28
+ maxVisiblePills?: number;
29
+ allowCreateWhenNoMatch?: boolean;
30
+ noBorder?: boolean;
31
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLSelect } from "./HLSelect.vue";
2
+ export type { HLSelectOption, HLSelectProps, HLSelectSize, HLSelectValue, } from "./HLSelect.types";
@@ -0,0 +1,3 @@
1
+ export interface HLSkeletonProps {
2
+ class?: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLSkeleton } from "./HLSkeleton.vue";
2
+ export type { HLSkeletonProps } from "./HLSkeleton.types";
@@ -0,0 +1,35 @@
1
+ import type { ColumnDef } from "@tanstack/vue-table";
2
+ export type HLTableRowData = Record<string, unknown>;
3
+ export type HLTableAlignment = "left" | "center" | "right";
4
+ export interface HLTableSimpleColumn<TData extends HLTableRowData> {
5
+ key: Extract<keyof TData, string> | string;
6
+ label: string;
7
+ alignment?: HLTableAlignment;
8
+ sortable?: boolean;
9
+ }
10
+ export type HLTableColumn<TData extends HLTableRowData> = ColumnDef<TData> | HLTableSimpleColumn<TData>;
11
+ export interface HLTableSortChange {
12
+ columnKey: string;
13
+ direction: "asc" | "desc";
14
+ }
15
+ export interface HLTableCellSlotProps<TData extends HLTableRowData> {
16
+ row: TData;
17
+ rowId: string;
18
+ columnId: string;
19
+ value: unknown;
20
+ }
21
+ export interface HLTableProps<TData extends HLTableRowData> {
22
+ columns: HLTableColumn<TData>[];
23
+ data: TData[];
24
+ total: number;
25
+ initializing?: boolean;
26
+ fetching?: boolean;
27
+ searchable?: boolean;
28
+ refreshable?: boolean;
29
+ selectable?: boolean;
30
+ rowKey?: Extract<keyof TData, string> | string;
31
+ pageSize?: number;
32
+ pageCount?: number;
33
+ currentPage?: number;
34
+ searchPlaceholder?: string;
35
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLTable } from "./HLTable.vue";
2
+ export type { HLTableAlignment, HLTableCellSlotProps, HLTableColumn, HLTableProps, HLTableRowData, HLTableSimpleColumn, HLTableSortChange, } from "./HLTable.types";
@@ -0,0 +1,9 @@
1
+ export interface HLTabItem {
2
+ value: string;
3
+ label: string;
4
+ icon?: string;
5
+ disabled?: boolean;
6
+ }
7
+ export interface HLTabsProps {
8
+ items?: readonly HLTabItem[];
9
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLTabs } from "./HLTabs.vue";
2
+ export type { HLTabItem, HLTabsProps } from "./HLTabs.types";
@@ -0,0 +1,17 @@
1
+ export interface HLTextareaProps {
2
+ id?: string;
3
+ placeholder?: string;
4
+ label?: string;
5
+ description?: string;
6
+ required?: boolean;
7
+ disabled?: boolean;
8
+ readonly?: boolean;
9
+ error?: string;
10
+ errors?: string[];
11
+ rows?: number;
12
+ maxlength?: number | string;
13
+ minlength?: number | string;
14
+ labelClass?: string;
15
+ inputClass?: string;
16
+ noBorder?: boolean;
17
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HLTextarea } from "./HLTextarea.vue";
2
+ export type { HLTextareaProps } from "./HLTextarea.types";
@@ -0,0 +1,15 @@
1
+ export * from "./hl-breadcrumb";
2
+ export * from "./hl-avatar";
3
+ export * from "./hl-button";
4
+ export * from "./hl-checkbox";
5
+ export * from "./hl-icon";
6
+ export * from "./hl-input";
7
+ export * from "./hl-label";
8
+ export * from "./hl-menu-action";
9
+ export * from "./hl-notify";
10
+ export * from "./hl-popup";
11
+ export * from "./hl-select";
12
+ export * from "./hl-skeleton";
13
+ export * from "./hl-tabs";
14
+ export * from "./hl-table";
15
+ export * from "./hl-textarea";
@@ -0,0 +1,12 @@
1
+ import { type MutationFunction, type UseMutationOptions, type UseMutationReturnType } from "@tanstack/vue-query";
2
+ type MutationBase<TData, TError, TVariables, TContext> = UseMutationReturnType<TData, TError, TVariables, TContext>;
3
+ type UseMutationReturn<TData, TError, TVariables, TContext> = MutationBase<TData, TError, TVariables, TContext> & {
4
+ run: MutationBase<TData, TError, TVariables, TContext>["mutateAsync"];
5
+ loading: MutationBase<TData, TError, TVariables, TContext>["isPending"];
6
+ };
7
+ type MutationOptions<TData, TError, TVariables, TContext> = UseMutationOptions<TData, TError, TVariables, TContext> & {
8
+ onSuccess?: (data: TData, variables: TVariables, context: TContext) => void | Promise<void>;
9
+ onError?: (error: TError, variables: TVariables, context: TContext | undefined) => void | Promise<void>;
10
+ };
11
+ export declare function useMutation<TData, TError = Error, TVariables = void, TContext = unknown>(mutationFn: MutationFunction<TData, TVariables>, options?: MutationOptions<TData, TError, TVariables, TContext>): UseMutationReturn<TData, TError, TVariables, TContext>;
12
+ export {};
@@ -0,0 +1,18 @@
1
+ import { type QueryFunction, type QueryKey, type UseQueryOptions, type UseQueryReturnType } from "@tanstack/vue-query";
2
+ import { type ComputedRef } from "vue";
3
+ type UseQueryReturn<TData, TError> = UseQueryReturnType<TData, TError> & {
4
+ run: UseQueryReturnType<TData, TError>["refetch"];
5
+ loading: UseQueryReturnType<TData, TError>["isLoading"];
6
+ };
7
+ type QueryKeyResolver = QueryKey | (() => QueryKey);
8
+ type EnabledResolver = boolean | ComputedRef<boolean> | (() => boolean);
9
+ type QueryOptions<TQueryFnData, TError, TData> = Omit<UseQueryOptions<TQueryFnData, TError, TData>, "queryFn" | "queryKey"> & {
10
+ queryKey: QueryKeyResolver;
11
+ enabled?: EnabledResolver;
12
+ onSuccess?: (data: TData) => void | Promise<void>;
13
+ onError?: (error: TError) => void | Promise<void>;
14
+ };
15
+ type UseQueryGlobalOptions<TGlobalError = Error> = Omit<QueryOptions<unknown, TGlobalError, unknown>, "queryKey" | "onSuccess" | "onError">;
16
+ export declare function createUseQuery<TGlobalError = Error>(globalOptions?: UseQueryGlobalOptions<TGlobalError>): <TQueryFnData = unknown, TError = TGlobalError, TData = TQueryFnData>(queryFn: QueryFunction<TQueryFnData>, options: QueryOptions<TQueryFnData, TError, TData>) => UseQueryReturn<TData, TError>;
17
+ export declare const useQuery: <TQueryFnData = unknown, TError = Error, TData = TQueryFnData>(queryFn: QueryFunction<TQueryFnData>, options: QueryOptions<TQueryFnData, TError, TData>) => UseQueryReturn<TData, TError>;
18
+ export type { EnabledResolver, QueryKeyResolver, QueryOptions, UseQueryGlobalOptions, UseQueryReturn, };
@@ -0,0 +1,22 @@
1
+ import { type Ref } from "vue";
2
+ import type { ZodSchema } from "zod";
3
+ type FormShape = Record<string, unknown>;
4
+ type FormErrors = Record<string, string[]>;
5
+ type ValidationResult<TValues extends FormShape> = {
6
+ valid: true;
7
+ data: TValues;
8
+ } | {
9
+ valid: false;
10
+ errors: FormErrors;
11
+ };
12
+ interface UseFormReturn<TValues extends FormShape> {
13
+ form: TValues;
14
+ errors: Readonly<Ref<FormErrors>>;
15
+ isDirty: Readonly<Ref<boolean>>;
16
+ validate: () => ValidationResult<TValues>;
17
+ reset: (nextValues?: Partial<TValues>) => void;
18
+ clearErrors: () => void;
19
+ setErrors: (fieldErrors: FormErrors) => void;
20
+ }
21
+ export declare function useForm<TValues extends FormShape>(initialValues: TValues, schema?: ZodSchema<TValues>): UseFormReturn<TValues>;
22
+ export {};
@@ -0,0 +1,9 @@
1
+ export { useFloat } from "./ui/useFloat";
2
+ export type { UseFloatOptions, UseFloatReturn } from "./ui/useFloat";
3
+ export { usePopup } from "./ui/usePopup";
4
+ export type { ConfirmOptions, PopupKind, UsePopupReturn } from "./ui/usePopup";
5
+ export { useNotify } from "./ui/useNotify";
6
+ export type { NotifyPayload, NotifyState, NotifyType, UseNotifyReturn, } from "./ui/useNotify";
7
+ export { createUseQuery, useQuery } from "./data/useQuery";
8
+ export type { EnabledResolver, QueryKeyResolver, QueryOptions, UseQueryGlobalOptions, UseQueryReturn, } from "./data/useQuery";
9
+ export { useForm } from "./form/useForm";
@@ -0,0 +1,29 @@
1
+ import { flip as flipMiddleware, shift as shiftMiddleware, type Middleware, type Placement, type Strategy } from "@floating-ui/dom";
2
+ import { type ComponentPublicInstance, type ComputedRef, type CSSProperties, type Ref } from "vue";
3
+ type FlipOptions = Parameters<typeof flipMiddleware>[0];
4
+ type ShiftOptions = Parameters<typeof shiftMiddleware>[0];
5
+ type TemplateRefBinding = Element | ComponentPublicInstance | null;
6
+ interface UseFloatOptions {
7
+ placement?: Placement;
8
+ strategy?: Strategy;
9
+ offset?: number;
10
+ flip?: boolean | FlipOptions;
11
+ shift?: boolean | ShiftOptions;
12
+ middleware?: Middleware[];
13
+ autoUpdate?: boolean;
14
+ }
15
+ interface UseFloatReturn {
16
+ ACTION_REF: (el: TemplateRefBinding) => void;
17
+ FLOATING_REF: (el: TemplateRefBinding) => void;
18
+ ACTION_ID: string;
19
+ FLOATING_ID: string;
20
+ isVisible: Readonly<Ref<boolean>>;
21
+ show: () => void;
22
+ hide: () => void;
23
+ toggle: () => void;
24
+ floatingStyles: ComputedRef<CSSProperties>;
25
+ placement: Readonly<Ref<Placement>>;
26
+ updatePosition: () => Promise<void>;
27
+ }
28
+ export declare function useFloat(options?: UseFloatOptions): UseFloatReturn;
29
+ export type { UseFloatOptions, UseFloatReturn };
@@ -0,0 +1,25 @@
1
+ import { type ComputedRef, type Ref } from "vue";
2
+ type NotifyType = "success" | "error" | "info" | "warning";
3
+ interface NotifyPayload {
4
+ type: NotifyType;
5
+ message: string | string[];
6
+ title?: string;
7
+ duration?: number;
8
+ }
9
+ interface NotifyState {
10
+ visible: boolean;
11
+ type: NotifyType;
12
+ message: string;
13
+ title: string;
14
+ colorClass: string;
15
+ }
16
+ interface UseNotifyReturn {
17
+ notification: Readonly<Ref<NotifyState>>;
18
+ classes: ComputedRef<string>;
19
+ show: (payload: NotifyPayload) => void;
20
+ notifySuccess: (message: string | string[], title?: string, duration?: number) => void;
21
+ notifyError: (message: string | string[], title?: string, duration?: number) => void;
22
+ hide: () => void;
23
+ }
24
+ export declare function useNotify(): UseNotifyReturn;
25
+ export type { NotifyPayload, NotifyState, NotifyType, UseNotifyReturn };
@@ -0,0 +1,25 @@
1
+ import { type Component, type ComputedRef, type Ref } from "vue";
2
+ type PopupKind = "custom" | "confirm";
3
+ interface ConfirmOptions {
4
+ title?: string;
5
+ message: string;
6
+ confirmText?: string;
7
+ cancelText?: string;
8
+ loading?: Ref<boolean> | ComputedRef<boolean>;
9
+ [key: string]: unknown;
10
+ }
11
+ interface UsePopupReturn {
12
+ isVisible: ComputedRef<boolean>;
13
+ type: ComputedRef<PopupKind>;
14
+ component: ComputedRef<Component | null>;
15
+ props: ComputedRef<Record<string, unknown> | undefined>;
16
+ isLoading: ComputedRef<boolean>;
17
+ open: (componentToOpen: Component, componentProps?: Record<string, unknown>) => void;
18
+ openConfirm: (options: ConfirmOptions) => Promise<boolean>;
19
+ close: () => void;
20
+ confirm: () => void;
21
+ resetPopupState: () => void;
22
+ setLoading: (loading: boolean) => void;
23
+ }
24
+ export declare function usePopup(): UsePopupReturn;
25
+ export type { ConfirmOptions, PopupKind, UsePopupReturn };