@customafk/lunas-ui 0.2.4 → 0.2.6
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.
- package/README.md +39 -9
- package/ai-docs.md +419 -0
- package/dist/alert-5MxGtf3j.d.mts +88 -0
- package/dist/alert-DIC1_ymv.cjs +2 -0
- package/dist/alert-DIC1_ymv.cjs.map +1 -0
- package/dist/alert-DwdUOFaC.d.cts +88 -0
- package/dist/alert-VP3giy31.mjs +2 -0
- package/dist/alert-VP3giy31.mjs.map +1 -0
- package/dist/avatar-CTS9-raY.cjs +2 -0
- package/dist/avatar-CTS9-raY.cjs.map +1 -0
- package/dist/avatar-DbxqvCjT.mjs +2 -0
- package/dist/avatar-DbxqvCjT.mjs.map +1 -0
- package/dist/badge-B8bw2UEY.mjs +2 -0
- package/dist/badge-B8bw2UEY.mjs.map +1 -0
- package/dist/badge-BFTGDsBm.d.cts +42 -0
- package/dist/badge-sL8O2yfv.d.mts +42 -0
- package/dist/badge-uQ0pIZbQ.cjs +2 -0
- package/dist/badge-uQ0pIZbQ.cjs.map +1 -0
- package/dist/button-BlQb81It.d.mts +174 -0
- package/dist/button-C6ybzxxj.mjs +2 -0
- package/dist/button-C6ybzxxj.mjs.map +1 -0
- package/dist/button-CEOQ3-82.d.cts +174 -0
- package/dist/button-CwDT3m4m.cjs +2 -0
- package/dist/button-CwDT3m4m.cjs.map +1 -0
- package/dist/button.variants-DeCyas1F.mjs +2 -0
- package/dist/button.variants-DeCyas1F.mjs.map +1 -0
- package/dist/button.variants-tnhb123u.cjs +2 -0
- package/dist/button.variants-tnhb123u.cjs.map +1 -0
- package/dist/{calendar-CG-WMM8e.cjs → calendar-CyAPpT2m.cjs} +2 -2
- package/dist/calendar-CyAPpT2m.cjs.map +1 -0
- package/dist/calendar-JKxWM6AF.mjs +2 -0
- package/dist/calendar-JKxWM6AF.mjs.map +1 -0
- package/dist/cards/grid-product-card.cjs +1 -1
- package/dist/cards/grid-product-card.cjs.map +1 -1
- package/dist/cards/grid-product-card.d.cts +23 -0
- package/dist/cards/grid-product-card.d.mts +23 -0
- package/dist/cards/grid-product-card.mjs +1 -1
- package/dist/cards/grid-product-card.mjs.map +1 -1
- package/dist/cards/product-card.cjs +1 -1
- package/dist/cards/product-card.cjs.map +1 -1
- package/dist/cards/product-card.d.cts +23 -0
- package/dist/cards/product-card.d.mts +23 -0
- package/dist/cards/product-card.mjs +1 -1
- package/dist/cards/product-card.mjs.map +1 -1
- package/dist/cards/simple-card.cjs +1 -1
- package/dist/cards/simple-card.cjs.map +1 -1
- package/dist/cards/simple-card.d.cts +16 -0
- package/dist/cards/simple-card.d.mts +16 -0
- package/dist/cards/simple-card.mjs +1 -1
- package/dist/cards/simple-card.mjs.map +1 -1
- package/dist/{checkbox-Bg2FiuQw.mjs → checkbox-DJEdYOjA.mjs} +2 -2
- package/dist/checkbox-DJEdYOjA.mjs.map +1 -0
- package/dist/{checkbox-C0fSWwmD.cjs → checkbox-RZrRNYP2.cjs} +2 -2
- package/dist/checkbox-RZrRNYP2.cjs.map +1 -0
- package/dist/close-BU0kWRVo.mjs +2 -0
- package/dist/{close-DfuHB7kq.mjs.map → close-BU0kWRVo.mjs.map} +1 -1
- package/dist/close-DXk_H3Gt.cjs +2 -0
- package/dist/{close-D_Ge7gnP.cjs.map → close-DXk_H3Gt.cjs.map} +1 -1
- package/dist/cms-layout-Dc4moos1.cjs +2 -0
- package/dist/cms-layout-Dc4moos1.cjs.map +1 -0
- package/dist/cms-layout-HfnOQS16.mjs +2 -0
- package/dist/cms-layout-HfnOQS16.mjs.map +1 -0
- package/dist/{command-_zpTaaIk.cjs → command-SHd-d_o0.cjs} +2 -2
- package/dist/command-SHd-d_o0.cjs.map +1 -0
- package/dist/{command-DhBTNTqz.mjs → command-bpcnKEbR.mjs} +2 -2
- package/dist/command-bpcnKEbR.mjs.map +1 -0
- package/dist/data-display/country.cjs +1 -1
- package/dist/data-display/country.cjs.map +1 -1
- package/dist/data-display/country.d.cts +15 -3
- package/dist/data-display/country.d.mts +15 -3
- package/dist/data-display/country.mjs +1 -1
- package/dist/data-display/country.mjs.map +1 -1
- package/dist/data-display/data-list.cjs +1 -1
- package/dist/data-display/data-list.cjs.map +1 -1
- package/dist/data-display/data-list.d.cts +31 -2
- package/dist/data-display/data-list.d.mts +31 -2
- package/dist/data-display/data-list.mjs +1 -1
- package/dist/data-display/data-list.mjs.map +1 -1
- package/dist/data-display/date-tooltip.cjs +1 -1
- package/dist/data-display/date-tooltip.cjs.map +1 -1
- package/dist/data-display/date-tooltip.d.cts +13 -2
- package/dist/data-display/date-tooltip.d.mts +13 -2
- package/dist/data-display/date-tooltip.mjs +1 -1
- package/dist/data-display/date-tooltip.mjs.map +1 -1
- package/dist/data-display/date.cjs +1 -1
- package/dist/data-display/date.d.cts +28 -2
- package/dist/data-display/date.d.mts +28 -2
- package/dist/data-display/date.mjs +1 -1
- package/dist/data-display/empty.cjs +1 -1
- package/dist/data-display/empty.cjs.map +1 -1
- package/dist/data-display/empty.d.cts +17 -3
- package/dist/data-display/empty.d.mts +17 -3
- package/dist/data-display/empty.mjs +1 -1
- package/dist/data-display/empty.mjs.map +1 -1
- package/dist/data-display/name.cjs +1 -1
- package/dist/data-display/name.cjs.map +1 -1
- package/dist/data-display/name.d.cts +12 -1
- package/dist/data-display/name.d.mts +12 -1
- package/dist/data-display/name.mjs +1 -1
- package/dist/data-display/name.mjs.map +1 -1
- package/dist/data-display/phone-number.cjs +1 -1
- package/dist/data-display/phone-number.cjs.map +1 -1
- package/dist/data-display/phone-number.d.cts +14 -2
- package/dist/data-display/phone-number.d.mts +14 -2
- package/dist/data-display/phone-number.mjs +1 -1
- package/dist/data-display/phone-number.mjs.map +1 -1
- package/dist/data-display/role-badge.cjs +1 -1
- package/dist/data-display/role-badge.cjs.map +1 -1
- package/dist/data-display/role-badge.d.cts +15 -3
- package/dist/data-display/role-badge.d.mts +15 -3
- package/dist/data-display/role-badge.mjs +1 -1
- package/dist/data-display/role-badge.mjs.map +1 -1
- package/dist/data-display/statistic.cjs +1 -1
- package/dist/data-display/statistic.cjs.map +1 -1
- package/dist/data-display/statistic.d.cts +35 -6
- package/dist/data-display/statistic.d.mts +35 -6
- package/dist/data-display/statistic.mjs +1 -1
- package/dist/data-display/statistic.mjs.map +1 -1
- package/dist/data-display/user.cjs +1 -2
- package/dist/data-display/user.d.cts +14 -1
- package/dist/data-display/user.d.mts +14 -1
- package/dist/data-display/user.mjs +1 -2
- package/dist/date-CVz9xdCg.mjs +2 -0
- package/dist/date-CVz9xdCg.mjs.map +1 -0
- package/dist/date-a3RI5Pwo.cjs +2 -0
- package/dist/date-a3RI5Pwo.cjs.map +1 -0
- package/dist/dialog-Bah7jLoO.d.cts +90 -0
- package/dist/dialog-BchwY6-N.mjs +2 -0
- package/dist/dialog-BchwY6-N.mjs.map +1 -0
- package/dist/dialog-DSg5IKmb.d.mts +90 -0
- package/dist/dialog-o_68LQXd.cjs +2 -0
- package/dist/dialog-o_68LQXd.cjs.map +1 -0
- package/dist/dialogs/confirm-dialog.cjs +1 -1
- package/dist/dialogs/confirm-dialog.cjs.map +1 -1
- package/dist/dialogs/confirm-dialog.d.cts +129 -3
- package/dist/dialogs/confirm-dialog.d.mts +129 -3
- package/dist/dialogs/confirm-dialog.mjs +1 -1
- package/dist/dialogs/confirm-dialog.mjs.map +1 -1
- package/dist/dialogs/detail-dialog/components/sidebar.cjs +1 -2
- package/dist/dialogs/detail-dialog/components/sidebar.d.cts +71 -24
- package/dist/dialogs/detail-dialog/components/sidebar.d.mts +71 -24
- package/dist/dialogs/detail-dialog/components/sidebar.mjs +1 -2
- package/dist/dialogs/detail-dialog/index.cjs +1 -1
- package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
- package/dist/dialogs/detail-dialog/index.d.cts +37 -8
- package/dist/dialogs/detail-dialog/index.d.mts +37 -8
- package/dist/dialogs/detail-dialog/index.mjs +1 -1
- package/dist/dialogs/detail-dialog/index.mjs.map +1 -1
- package/dist/dialogs/error-dialog.cjs +1 -1
- package/dist/dialogs/error-dialog.cjs.map +1 -1
- package/dist/dialogs/error-dialog.d.cts +18 -4
- package/dist/dialogs/error-dialog.d.mts +18 -4
- package/dist/dialogs/error-dialog.mjs +1 -1
- package/dist/dialogs/error-dialog.mjs.map +1 -1
- package/dist/dialogs/loading-dialog.cjs +1 -1
- package/dist/dialogs/loading-dialog.cjs.map +1 -1
- package/dist/dialogs/loading-dialog.d.cts +15 -3
- package/dist/dialogs/loading-dialog.d.mts +15 -3
- package/dist/dialogs/loading-dialog.mjs +1 -1
- package/dist/dialogs/loading-dialog.mjs.map +1 -1
- package/dist/{dist-CvmzZ_6C.mjs → dist-CIN9T2FB.mjs} +1 -1
- package/dist/{dist-CvmzZ_6C.mjs.map → dist-CIN9T2FB.mjs.map} +1 -1
- package/dist/{dist-BudM04oj.cjs → dist-Dh8WwRa8.cjs} +1 -1
- package/dist/{dist-BudM04oj.cjs.map → dist-Dh8WwRa8.cjs.map} +1 -1
- package/dist/dropdown-menu-Ct9BLGfa.cjs +2 -0
- package/dist/dropdown-menu-Ct9BLGfa.cjs.map +1 -0
- package/dist/dropdown-menu-DWSfXhHo.mjs +2 -0
- package/dist/dropdown-menu-DWSfXhHo.mjs.map +1 -0
- package/dist/features/descriptions/index.cjs +1 -1
- package/dist/features/descriptions/index.cjs.map +1 -1
- package/dist/features/descriptions/index.d.cts +158 -19
- package/dist/features/descriptions/index.d.mts +158 -19
- package/dist/features/descriptions/index.mjs +1 -1
- package/dist/features/descriptions/index.mjs.map +1 -1
- package/dist/features/search-modal/index.cjs +1 -2
- package/dist/features/search-modal/index.d.cts +12 -2
- package/dist/features/search-modal/index.d.mts +12 -2
- package/dist/features/search-modal/index.mjs +1 -2
- package/dist/features/tables/index.cjs +1 -2
- package/dist/features/tables/index.d.cts +746 -24
- package/dist/features/tables/index.d.mts +742 -20
- package/dist/features/tables/index.mjs +1 -2
- package/dist/features/tanstack-form/index.cjs +1 -2
- package/dist/features/tanstack-form/index.d.cts +2 -1786
- package/dist/features/tanstack-form/index.d.mts +2 -1786
- package/dist/features/tanstack-form/index.mjs +1 -2
- package/dist/field-CXVnw75a.mjs +2 -0
- package/dist/field-CXVnw75a.mjs.map +1 -0
- package/dist/field-CppNvoxV.cjs +2 -0
- package/dist/field-CppNvoxV.cjs.map +1 -0
- package/dist/{flex-BP8sTi70.mjs → flex-BLMTj7Ev.mjs} +2 -2
- package/dist/flex-BLMTj7Ev.mjs.map +1 -0
- package/dist/{flex-twCgWyx1.cjs → flex-BbbogTsZ.cjs} +2 -2
- package/dist/flex-BbbogTsZ.cjs.map +1 -0
- package/dist/heading-AKz5ewy-.cjs +2 -0
- package/dist/heading-AKz5ewy-.cjs.map +1 -0
- package/dist/heading-DN67djxs.mjs +2 -0
- package/dist/heading-DN67djxs.mjs.map +1 -0
- package/dist/{image-DuFv8sPr.cjs → image-B1Dm5LWk.cjs} +2 -2
- package/dist/image-B1Dm5LWk.cjs.map +1 -0
- package/dist/{image-CS_Q0WA7.mjs → image-BlzrSaoE.mjs} +2 -2
- package/dist/image-BlzrSaoE.mjs.map +1 -0
- package/dist/index-D4shnfqM.d.cts +2030 -0
- package/dist/index-Dktb6D35.d.mts +2030 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +90 -0
- package/dist/index.d.mts +90 -0
- package/dist/index.mjs +1 -0
- package/dist/{input-DBtIgQB6.mjs → input-Cd0G5y-9.mjs} +2 -2
- package/dist/input-Cd0G5y-9.mjs.map +1 -0
- package/dist/{input-BFWWaN-v.cjs → input-Cl5VkKQh.cjs} +2 -2
- package/dist/input-Cl5VkKQh.cjs.map +1 -0
- package/dist/input-DAGzv97v.d.mts +44 -0
- package/dist/input-DPLvx5x8.d.cts +44 -0
- package/dist/{label-BzfsTrVt.cjs → label-DkMTQ3Ch.cjs} +2 -2
- package/dist/label-DkMTQ3Ch.cjs.map +1 -0
- package/dist/label-OmlGaZ5h.mjs +2 -0
- package/dist/label-OmlGaZ5h.mjs.map +1 -0
- package/dist/layouts/cms-layout/index.cjs +1 -2
- package/dist/layouts/cms-layout/index.d.cts +66 -13
- package/dist/layouts/cms-layout/index.d.mts +66 -13
- package/dist/layouts/cms-layout/index.mjs +1 -2
- package/dist/layouts/flex.cjs +1 -1
- package/dist/layouts/flex.d.cts +90 -6
- package/dist/layouts/flex.d.mts +93 -9
- package/dist/layouts/flex.mjs +1 -1
- package/dist/layouts/grid.cjs +1 -1
- package/dist/layouts/grid.cjs.map +1 -1
- package/dist/layouts/grid.d.cts +14 -0
- package/dist/layouts/grid.d.mts +14 -0
- package/dist/layouts/grid.mjs +1 -1
- package/dist/layouts/grid.mjs.map +1 -1
- package/dist/layouts/payment-layout/index.cjs +1 -2
- package/dist/layouts/payment-layout/index.d.cts +35 -0
- package/dist/layouts/payment-layout/index.d.mts +35 -0
- package/dist/layouts/payment-layout/index.mjs +1 -2
- package/dist/pages/FeatureDeveloping.cjs +1 -1
- package/dist/pages/FeatureDeveloping.cjs.map +1 -1
- package/dist/pages/FeatureDeveloping.d.cts +21 -3
- package/dist/pages/FeatureDeveloping.d.mts +21 -3
- package/dist/pages/FeatureDeveloping.mjs +1 -1
- package/dist/pages/FeatureDeveloping.mjs.map +1 -1
- package/dist/pages/FeatureFixing.cjs +1 -1
- package/dist/pages/FeatureFixing.cjs.map +1 -1
- package/dist/pages/FeatureFixing.d.cts +21 -3
- package/dist/pages/FeatureFixing.d.mts +21 -3
- package/dist/pages/FeatureFixing.mjs +1 -1
- package/dist/pages/FeatureFixing.mjs.map +1 -1
- package/dist/pages/NotAuthorized.cjs +1 -1
- package/dist/pages/NotAuthorized.cjs.map +1 -1
- package/dist/pages/NotAuthorized.d.cts +21 -3
- package/dist/pages/NotAuthorized.d.mts +21 -3
- package/dist/pages/NotAuthorized.mjs +1 -1
- package/dist/pages/NotAuthorized.mjs.map +1 -1
- package/dist/pages/NotFound.cjs +1 -1
- package/dist/pages/NotFound.cjs.map +1 -1
- package/dist/pages/NotFound.d.cts +21 -3
- package/dist/pages/NotFound.d.mts +21 -3
- package/dist/pages/NotFound.mjs +1 -1
- package/dist/pages/NotFound.mjs.map +1 -1
- package/dist/paragraph-Ch5TvEqL.mjs +2 -0
- package/dist/paragraph-Ch5TvEqL.mjs.map +1 -0
- package/dist/paragraph-DN85Huc4.cjs +2 -0
- package/dist/paragraph-DN85Huc4.cjs.map +1 -0
- package/dist/payment-layout-Da29dHJe.cjs +2 -0
- package/dist/payment-layout-Da29dHJe.cjs.map +1 -0
- package/dist/payment-layout-wN5c7MCM.mjs +2 -0
- package/dist/payment-layout-wN5c7MCM.mjs.map +1 -0
- package/dist/{popover-DzDrgttC.cjs → popover-AEt-aSy3.cjs} +2 -2
- package/dist/popover-AEt-aSy3.cjs.map +1 -0
- package/dist/popover-OJXFbqJi.mjs +2 -0
- package/dist/popover-OJXFbqJi.mjs.map +1 -0
- package/dist/{radio-group-CBhRsUjN.cjs → radio-group-BWLdQw7M.cjs} +2 -2
- package/dist/radio-group-BWLdQw7M.cjs.map +1 -0
- package/dist/{radio-group-Cem8O6BK.mjs → radio-group-CAgfOr7-.mjs} +2 -2
- package/dist/radio-group-CAgfOr7-.mjs.map +1 -0
- package/dist/{resizable-mlGS6Zto.cjs → resizable-D6UKwvFa.cjs} +2 -2
- package/dist/resizable-D6UKwvFa.cjs.map +1 -0
- package/dist/{resizable-DXHfkbaz.mjs → resizable-DWh_mp5P.mjs} +2 -2
- package/dist/resizable-DWh_mp5P.mjs.map +1 -0
- package/dist/search-modal-BxjKY8I7.mjs +2 -0
- package/dist/search-modal-BxjKY8I7.mjs.map +1 -0
- package/dist/search-modal-C-jNqQI1.cjs +2 -0
- package/dist/search-modal-C-jNqQI1.cjs.map +1 -0
- package/dist/{select-2CgwiefV.cjs → select-Py_t2nX1.cjs} +2 -2
- package/dist/select-Py_t2nX1.cjs.map +1 -0
- package/dist/{select-CivtMKTM.mjs → select-Ze8Fq88G.mjs} +2 -2
- package/dist/select-Ze8Fq88G.mjs.map +1 -0
- package/dist/separator-BMsbHAVt.mjs +2 -0
- package/dist/separator-BMsbHAVt.mjs.map +1 -0
- package/dist/{separator-C3ip6sbh.cjs → separator-BwZb12bh.cjs} +2 -2
- package/dist/separator-BwZb12bh.cjs.map +1 -0
- package/dist/{sheet-5MJRtrfG.cjs → sheet-CaDXTx7n.cjs} +2 -2
- package/dist/sheet-CaDXTx7n.cjs.map +1 -0
- package/dist/{sheet-oadGRiie.mjs → sheet-DMIqn1iv.mjs} +2 -2
- package/dist/sheet-DMIqn1iv.mjs.map +1 -0
- package/dist/sidebar-C27_pwLR.cjs +2 -0
- package/dist/sidebar-C27_pwLR.cjs.map +1 -0
- package/dist/sidebar-meLttL0V.mjs +2 -0
- package/dist/sidebar-meLttL0V.mjs.map +1 -0
- package/dist/skeleton-BPxcW2yu.mjs +2 -0
- package/dist/skeleton-BPxcW2yu.mjs.map +1 -0
- package/dist/skeleton-BfMCjXYM.cjs +2 -0
- package/dist/skeleton-BfMCjXYM.cjs.map +1 -0
- package/dist/spinner-EgMJOaQi.mjs +2 -0
- package/dist/spinner-EgMJOaQi.mjs.map +1 -0
- package/dist/spinner-MKXqwF9G.cjs +2 -0
- package/dist/spinner-MKXqwF9G.cjs.map +1 -0
- package/dist/systems/google.cjs.map +1 -1
- package/dist/systems/google.d.cts +36 -0
- package/dist/systems/google.d.mts +36 -0
- package/dist/systems/google.mjs.map +1 -1
- package/dist/tables-CmOVrvXM.cjs +2 -0
- package/dist/tables-CmOVrvXM.cjs.map +1 -0
- package/dist/tables-cBo0_szt.mjs +2 -0
- package/dist/tables-cBo0_szt.mjs.map +1 -0
- package/dist/tanstack-form-BmV2BXDz.cjs +2 -0
- package/dist/tanstack-form-BmV2BXDz.cjs.map +1 -0
- package/dist/tanstack-form-CJ43hVb_.mjs +2 -0
- package/dist/tanstack-form-CJ43hVb_.mjs.map +1 -0
- package/dist/{textarea-COQoSVSc.cjs → textarea-BsgmN4jy.cjs} +2 -2
- package/dist/textarea-BsgmN4jy.cjs.map +1 -0
- package/dist/{textarea-bLtmb71c.mjs → textarea-CdGSEkZB.mjs} +2 -2
- package/dist/textarea-CdGSEkZB.mjs.map +1 -0
- package/dist/tooltip-Bj0iOG4s.mjs +2 -0
- package/dist/tooltip-Bj0iOG4s.mjs.map +1 -0
- package/dist/{tooltip-DC6i1A25.cjs → tooltip-itUmYz9k.cjs} +2 -2
- package/dist/tooltip-itUmYz9k.cjs.map +1 -0
- package/dist/{types-Bd0JePtp.d.cts → types-B_32Ieia.d.mts} +1 -1
- package/dist/{types-BpHcqlOI.d.mts → types-CDYHkcOk.d.cts} +1 -1
- package/dist/{types-DBD4LOem.mjs → types-DNphnTW-.mjs} +1 -1
- package/dist/{types-DBD4LOem.mjs.map → types-DNphnTW-.mjs.map} +1 -1
- package/dist/typography/paragraph.cjs +1 -1
- package/dist/typography/paragraph.d.cts +40 -20
- package/dist/typography/paragraph.d.mts +40 -20
- package/dist/typography/paragraph.mjs +1 -1
- package/dist/typography/title.cjs +1 -1
- package/dist/typography/title.cjs.map +1 -1
- package/dist/typography/title.d.cts +33 -5
- package/dist/typography/title.d.mts +33 -5
- package/dist/typography/title.mjs +1 -1
- package/dist/typography/title.mjs.map +1 -1
- package/dist/ui/alert-dialog.cjs +1 -1
- package/dist/ui/alert-dialog.cjs.map +1 -1
- package/dist/ui/alert-dialog.d.cts +54 -12
- package/dist/ui/alert-dialog.d.mts +54 -12
- package/dist/ui/alert-dialog.mjs +1 -1
- package/dist/ui/alert-dialog.mjs.map +1 -1
- package/dist/ui/alert.cjs +1 -2
- package/dist/ui/alert.d.cts +2 -69
- package/dist/ui/alert.d.mts +2 -69
- package/dist/ui/alert.mjs +1 -2
- package/dist/ui/aspect-ratio.cjs +1 -1
- package/dist/ui/aspect-ratio.cjs.map +1 -1
- package/dist/ui/aspect-ratio.d.cts +15 -2
- package/dist/ui/aspect-ratio.d.mts +15 -2
- package/dist/ui/aspect-ratio.mjs +1 -1
- package/dist/ui/aspect-ratio.mjs.map +1 -1
- package/dist/ui/avatar.cjs +1 -1
- package/dist/ui/avatar.d.cts +20 -4
- package/dist/ui/avatar.d.mts +20 -4
- package/dist/ui/avatar.mjs +1 -1
- package/dist/ui/badge.cjs +1 -1
- package/dist/ui/badge.d.cts +2 -21
- package/dist/ui/badge.d.mts +2 -21
- package/dist/ui/badge.mjs +1 -1
- package/dist/ui/breadcrumb.cjs +1 -1
- package/dist/ui/breadcrumb.cjs.map +1 -1
- package/dist/ui/breadcrumb.d.cts +38 -25
- package/dist/ui/breadcrumb.d.mts +38 -25
- package/dist/ui/breadcrumb.mjs +1 -1
- package/dist/ui/breadcrumb.mjs.map +1 -1
- package/dist/ui/button-group.cjs +1 -1
- package/dist/ui/button-group.cjs.map +1 -1
- package/dist/ui/button-group.d.cts +27 -6
- package/dist/ui/button-group.d.mts +27 -6
- package/dist/ui/button-group.mjs +1 -1
- package/dist/ui/button-group.mjs.map +1 -1
- package/dist/ui/button.cjs +1 -1
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.mts +1 -1
- package/dist/ui/button.mjs +1 -1
- package/dist/ui/buttons/add-new.cjs +1 -1
- package/dist/ui/buttons/add-new.cjs.map +1 -1
- package/dist/ui/buttons/add-new.d.cts +9 -0
- package/dist/ui/buttons/add-new.d.mts +9 -0
- package/dist/ui/buttons/add-new.mjs +1 -1
- package/dist/ui/buttons/add-new.mjs.map +1 -1
- package/dist/ui/buttons/edit.cjs +1 -1
- package/dist/ui/buttons/edit.cjs.map +1 -1
- package/dist/ui/buttons/edit.d.cts +9 -0
- package/dist/ui/buttons/edit.d.mts +9 -0
- package/dist/ui/buttons/edit.mjs +1 -1
- package/dist/ui/buttons/edit.mjs.map +1 -1
- package/dist/ui/buttons/refresh.cjs +1 -1
- package/dist/ui/buttons/refresh.cjs.map +1 -1
- package/dist/ui/buttons/refresh.d.cts +9 -0
- package/dist/ui/buttons/refresh.d.mts +9 -0
- package/dist/ui/buttons/refresh.mjs +1 -1
- package/dist/ui/buttons/refresh.mjs.map +1 -1
- package/dist/ui/buttons/trash.cjs +1 -1
- package/dist/ui/buttons/trash.cjs.map +1 -1
- package/dist/ui/buttons/trash.d.cts +9 -0
- package/dist/ui/buttons/trash.d.mts +9 -0
- package/dist/ui/buttons/trash.mjs +1 -1
- package/dist/ui/buttons/trash.mjs.map +1 -1
- package/dist/ui/buttons/upload-image.cjs +1 -1
- package/dist/ui/buttons/upload-image.cjs.map +1 -1
- package/dist/ui/buttons/upload-image.d.cts +13 -0
- package/dist/ui/buttons/upload-image.d.mts +13 -0
- package/dist/ui/buttons/upload-image.mjs +1 -1
- package/dist/ui/buttons/upload-image.mjs.map +1 -1
- package/dist/ui/calendar.cjs +1 -1
- package/dist/ui/calendar.d.cts +22 -4
- package/dist/ui/calendar.d.mts +22 -4
- package/dist/ui/calendar.mjs +1 -1
- package/dist/ui/card.cjs +1 -1
- package/dist/ui/card.cjs.map +1 -1
- package/dist/ui/card.d.cts +37 -8
- package/dist/ui/card.d.mts +37 -8
- package/dist/ui/card.mjs +1 -1
- package/dist/ui/card.mjs.map +1 -1
- package/dist/ui/carousel.cjs +1 -1
- package/dist/ui/carousel.cjs.map +1 -1
- package/dist/ui/carousel.d.cts +31 -7
- package/dist/ui/carousel.d.mts +31 -7
- package/dist/ui/carousel.mjs +1 -1
- package/dist/ui/carousel.mjs.map +1 -1
- package/dist/ui/checkbox.cjs +1 -1
- package/dist/ui/checkbox.d.cts +17 -2
- package/dist/ui/checkbox.d.mts +17 -2
- package/dist/ui/checkbox.mjs +1 -1
- package/dist/ui/collapsible.cjs.map +1 -1
- package/dist/ui/collapsible.d.cts +22 -4
- package/dist/ui/collapsible.d.mts +22 -4
- package/dist/ui/collapsible.mjs.map +1 -1
- package/dist/ui/command.cjs +1 -1
- package/dist/ui/command.d.cts +48 -11
- package/dist/ui/command.d.mts +48 -11
- package/dist/ui/command.mjs +1 -1
- package/dist/ui/context-menu.cjs +1 -1
- package/dist/ui/context-menu.cjs.map +1 -1
- package/dist/ui/context-menu.d.cts +65 -16
- package/dist/ui/context-menu.d.mts +65 -16
- package/dist/ui/context-menu.mjs +1 -1
- package/dist/ui/context-menu.mjs.map +1 -1
- package/dist/ui/dialog.cjs +1 -1
- package/dist/ui/dialog.d.cts +1 -1
- package/dist/ui/dialog.d.mts +1 -1
- package/dist/ui/dialog.mjs +1 -1
- package/dist/ui/drawer.cjs +1 -1
- package/dist/ui/drawer.cjs.map +1 -1
- package/dist/ui/drawer.d.cts +39 -11
- package/dist/ui/drawer.d.mts +39 -11
- package/dist/ui/drawer.mjs +1 -1
- package/dist/ui/drawer.mjs.map +1 -1
- package/dist/ui/dropdown-menu.cjs +1 -1
- package/dist/ui/dropdown-menu.d.cts +65 -16
- package/dist/ui/dropdown-menu.d.mts +65 -16
- package/dist/ui/dropdown-menu.mjs +1 -1
- package/dist/ui/empty.cjs +1 -1
- package/dist/ui/empty.cjs.map +1 -1
- package/dist/ui/empty.d.cts +41 -9
- package/dist/ui/empty.d.mts +41 -9
- package/dist/ui/empty.mjs +1 -1
- package/dist/ui/empty.mjs.map +1 -1
- package/dist/ui/field.cjs +1 -2
- package/dist/ui/field.d.cts +13 -13
- package/dist/ui/field.d.mts +24 -24
- package/dist/ui/field.mjs +1 -2
- package/dist/ui/file-uploader.cjs +2 -2
- package/dist/ui/file-uploader.cjs.map +1 -1
- package/dist/ui/file-uploader.d.cts +27 -2
- package/dist/ui/file-uploader.d.mts +27 -2
- package/dist/ui/file-uploader.mjs +2 -2
- package/dist/ui/file-uploader.mjs.map +1 -1
- package/dist/ui/form.cjs +1 -1
- package/dist/ui/form.cjs.map +1 -1
- package/dist/ui/form.d.cts +51 -7
- package/dist/ui/form.d.mts +55 -11
- package/dist/ui/form.mjs +1 -1
- package/dist/ui/form.mjs.map +1 -1
- package/dist/ui/hover-card.cjs +1 -1
- package/dist/ui/hover-card.cjs.map +1 -1
- package/dist/ui/hover-card.d.cts +22 -4
- package/dist/ui/hover-card.d.mts +22 -4
- package/dist/ui/hover-card.mjs +1 -1
- package/dist/ui/hover-card.mjs.map +1 -1
- package/dist/ui/image.cjs +1 -1
- package/dist/ui/image.d.cts +20 -0
- package/dist/ui/image.d.mts +20 -0
- package/dist/ui/image.mjs +1 -1
- package/dist/ui/input-otp.cjs +1 -1
- package/dist/ui/input-otp.cjs.map +1 -1
- package/dist/ui/input-otp.d.cts +36 -5
- package/dist/ui/input-otp.d.mts +36 -5
- package/dist/ui/input-otp.mjs +1 -1
- package/dist/ui/input-otp.mjs.map +1 -1
- package/dist/ui/input.cjs +1 -1
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.mts +1 -1
- package/dist/ui/input.mjs +1 -1
- package/dist/ui/inputs/search-input.cjs +1 -1
- package/dist/ui/inputs/search-input.cjs.map +1 -1
- package/dist/ui/inputs/search-input.d.cts +20 -3
- package/dist/ui/inputs/search-input.d.mts +20 -3
- package/dist/ui/inputs/search-input.mjs +1 -1
- package/dist/ui/inputs/search-input.mjs.map +1 -1
- package/dist/ui/item.cjs +1 -1
- package/dist/ui/item.cjs.map +1 -1
- package/dist/ui/item.d.cts +56 -16
- package/dist/ui/item.d.mts +56 -16
- package/dist/ui/item.mjs +1 -1
- package/dist/ui/item.mjs.map +1 -1
- package/dist/ui/label.cjs +1 -1
- package/dist/ui/label.d.cts +15 -2
- package/dist/ui/label.d.mts +15 -2
- package/dist/ui/label.mjs +1 -1
- package/dist/ui/menubar.cjs +1 -1
- package/dist/ui/menubar.cjs.map +1 -1
- package/dist/ui/menubar.d.cts +68 -17
- package/dist/ui/menubar.d.mts +68 -17
- package/dist/ui/menubar.mjs +1 -1
- package/dist/ui/menubar.mjs.map +1 -1
- package/dist/ui/multi-select.cjs +1 -1
- package/dist/ui/multi-select.cjs.map +1 -1
- package/dist/ui/multi-select.d.cts +39 -2
- package/dist/ui/multi-select.d.mts +40 -3
- package/dist/ui/multi-select.mjs +1 -1
- package/dist/ui/multi-select.mjs.map +1 -1
- package/dist/ui/navigation-menu.cjs +1 -1
- package/dist/ui/navigation-menu.cjs.map +1 -1
- package/dist/ui/navigation-menu.d.cts +42 -11
- package/dist/ui/navigation-menu.d.mts +42 -11
- package/dist/ui/navigation-menu.mjs +1 -1
- package/dist/ui/navigation-menu.mjs.map +1 -1
- package/dist/ui/pagination.cjs +1 -1
- package/dist/ui/pagination.cjs.map +1 -1
- package/dist/ui/pagination.d.cts +37 -9
- package/dist/ui/pagination.d.mts +37 -9
- package/dist/ui/pagination.mjs +1 -1
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/popover.cjs +1 -1
- package/dist/ui/popover.d.cts +32 -6
- package/dist/ui/popover.d.mts +32 -6
- package/dist/ui/popover.mjs +1 -1
- package/dist/ui/progress.cjs +1 -1
- package/dist/ui/progress.cjs.map +1 -1
- package/dist/ui/progress.d.cts +13 -2
- package/dist/ui/progress.d.mts +13 -2
- package/dist/ui/progress.mjs +1 -1
- package/dist/ui/progress.mjs.map +1 -1
- package/dist/ui/radio-group.cjs +1 -1
- package/dist/ui/radio-group.d.cts +25 -3
- package/dist/ui/radio-group.d.mts +25 -3
- package/dist/ui/radio-group.mjs +1 -1
- package/dist/ui/resizable.cjs +1 -1
- package/dist/ui/resizable.d.cts +29 -9
- package/dist/ui/resizable.d.mts +29 -9
- package/dist/ui/resizable.mjs +1 -1
- package/dist/ui/scroll-area.cjs +1 -1
- package/dist/ui/scroll-area.cjs.map +1 -1
- package/dist/ui/scroll-area.d.cts +24 -6
- package/dist/ui/scroll-area.d.mts +24 -6
- package/dist/ui/scroll-area.mjs +1 -1
- package/dist/ui/scroll-area.mjs.map +1 -1
- package/dist/ui/select.cjs +1 -1
- package/dist/ui/select.d.cts +43 -9
- package/dist/ui/select.d.mts +43 -9
- package/dist/ui/select.mjs +1 -1
- package/dist/ui/separator.cjs +1 -1
- package/dist/ui/separator.d.cts +23 -2
- package/dist/ui/separator.d.mts +23 -2
- package/dist/ui/separator.mjs +1 -1
- package/dist/ui/sheet.cjs +1 -1
- package/dist/ui/sheet.d.cts +38 -9
- package/dist/ui/sheet.d.mts +38 -9
- package/dist/ui/sheet.mjs +1 -1
- package/dist/ui/sidebar.cjs +1 -1
- package/dist/ui/sidebar.cjs.map +1 -1
- package/dist/ui/sidebar.d.cts +125 -28
- package/dist/ui/sidebar.d.mts +123 -26
- package/dist/ui/sidebar.mjs +1 -1
- package/dist/ui/sidebar.mjs.map +1 -1
- package/dist/ui/skeleton.cjs +1 -1
- package/dist/ui/skeleton.d.cts +19 -2
- package/dist/ui/skeleton.d.mts +19 -2
- package/dist/ui/skeleton.mjs +1 -1
- package/dist/ui/slider.cjs +1 -1
- package/dist/ui/slider.cjs.map +1 -1
- package/dist/ui/slider.d.cts +13 -2
- package/dist/ui/slider.d.mts +13 -2
- package/dist/ui/slider.mjs +1 -1
- package/dist/ui/slider.mjs.map +1 -1
- package/dist/ui/sonner.cjs +1 -1
- package/dist/ui/sonner.cjs.map +1 -1
- package/dist/ui/sonner.d.cts +18 -2
- package/dist/ui/sonner.d.mts +18 -2
- package/dist/ui/sonner.mjs +1 -1
- package/dist/ui/sonner.mjs.map +1 -1
- package/dist/ui/spinner.cjs +1 -1
- package/dist/ui/spinner.d.cts +17 -2
- package/dist/ui/spinner.d.mts +17 -2
- package/dist/ui/spinner.mjs +1 -1
- package/dist/ui/switch.cjs +1 -1
- package/dist/ui/switch.cjs.map +1 -1
- package/dist/ui/switch.d.cts +17 -2
- package/dist/ui/switch.d.mts +17 -2
- package/dist/ui/switch.mjs +1 -1
- package/dist/ui/switch.mjs.map +1 -1
- package/dist/ui/table.cjs +1 -1
- package/dist/ui/table.cjs.map +1 -1
- package/dist/ui/table.d.cts +44 -9
- package/dist/ui/table.d.mts +53 -18
- package/dist/ui/table.mjs +1 -1
- package/dist/ui/table.mjs.map +1 -1
- package/dist/ui/tabs.cjs +1 -1
- package/dist/ui/tabs.cjs.map +1 -1
- package/dist/ui/tabs.d.cts +26 -5
- package/dist/ui/tabs.d.mts +26 -5
- package/dist/ui/tabs.mjs +1 -1
- package/dist/ui/tabs.mjs.map +1 -1
- package/dist/ui/textarea.cjs +1 -1
- package/dist/ui/textarea.d.cts +18 -2
- package/dist/ui/textarea.d.mts +18 -2
- package/dist/ui/textarea.mjs +1 -1
- package/dist/ui/toggle-group.cjs +1 -1
- package/dist/ui/toggle-group.cjs.map +1 -1
- package/dist/ui/toggle-group.d.cts +19 -3
- package/dist/ui/toggle-group.d.mts +19 -3
- package/dist/ui/toggle-group.mjs +1 -1
- package/dist/ui/toggle-group.mjs.map +1 -1
- package/dist/ui/toggle.cjs +1 -1
- package/dist/ui/toggle.cjs.map +1 -1
- package/dist/ui/toggle.d.cts +15 -2
- package/dist/ui/toggle.d.mts +17 -4
- package/dist/ui/toggle.mjs +1 -1
- package/dist/ui/toggle.mjs.map +1 -1
- package/dist/ui/tooltip.cjs +1 -1
- package/dist/ui/tooltip.d.cts +37 -5
- package/dist/ui/tooltip.d.mts +37 -5
- package/dist/ui/tooltip.mjs +1 -1
- package/dist/user-BEyYLDNK.cjs +2 -0
- package/dist/user-BEyYLDNK.cjs.map +1 -0
- package/dist/user-DONsffqr.mjs +2 -0
- package/dist/user-DONsffqr.mjs.map +1 -0
- package/package.json +14 -5
- package/styles/theme.css +44 -23
- package/dist/avatar-DReNH6rV.mjs +0 -2
- package/dist/avatar-DReNH6rV.mjs.map +0 -1
- package/dist/avatar-aVxo69zP.cjs +0 -2
- package/dist/avatar-aVxo69zP.cjs.map +0 -1
- package/dist/badge-B4Fa7-J3.mjs +0 -2
- package/dist/badge-B4Fa7-J3.mjs.map +0 -1
- package/dist/badge-cvLJyaCA.cjs +0 -2
- package/dist/badge-cvLJyaCA.cjs.map +0 -1
- package/dist/button-BFcXpjqF.cjs +0 -2
- package/dist/button-BFcXpjqF.cjs.map +0 -1
- package/dist/button-BQTNG97Y.mjs +0 -2
- package/dist/button-BQTNG97Y.mjs.map +0 -1
- package/dist/button-BX8Kz9y6.d.cts +0 -59
- package/dist/button-Bo4oQsyD.d.mts +0 -59
- package/dist/button.variants-CS-Cmarr.cjs +0 -2
- package/dist/button.variants-CS-Cmarr.cjs.map +0 -1
- package/dist/button.variants-DRWf66hR.mjs +0 -2
- package/dist/button.variants-DRWf66hR.mjs.map +0 -1
- package/dist/calendar-CG-WMM8e.cjs.map +0 -1
- package/dist/calendar-CfOkrubO.mjs +0 -2
- package/dist/calendar-CfOkrubO.mjs.map +0 -1
- package/dist/checkbox-Bg2FiuQw.mjs.map +0 -1
- package/dist/checkbox-C0fSWwmD.cjs.map +0 -1
- package/dist/close-D_Ge7gnP.cjs +0 -2
- package/dist/close-DfuHB7kq.mjs +0 -2
- package/dist/command-DhBTNTqz.mjs.map +0 -1
- package/dist/command-_zpTaaIk.cjs.map +0 -1
- package/dist/data-display/user.cjs.map +0 -1
- package/dist/data-display/user.mjs.map +0 -1
- package/dist/date-By93kONr.mjs +0 -2
- package/dist/date-By93kONr.mjs.map +0 -1
- package/dist/date-em5f7hCx.cjs +0 -2
- package/dist/date-em5f7hCx.cjs.map +0 -1
- package/dist/dialog-CxELDK98.mjs +0 -2
- package/dist/dialog-CxELDK98.mjs.map +0 -1
- package/dist/dialog-DjRiV5vR.cjs +0 -2
- package/dist/dialog-DjRiV5vR.cjs.map +0 -1
- package/dist/dialog-PWeGBpsm.d.mts +0 -47
- package/dist/dialog-aSu9xFOW.d.cts +0 -47
- package/dist/dialogs/detail-dialog/components/sidebar.cjs.map +0 -1
- package/dist/dialogs/detail-dialog/components/sidebar.mjs.map +0 -1
- package/dist/dropdown-menu-B8GUTfTp.mjs +0 -2
- package/dist/dropdown-menu-B8GUTfTp.mjs.map +0 -1
- package/dist/dropdown-menu-BuyuU6uF.cjs +0 -2
- package/dist/dropdown-menu-BuyuU6uF.cjs.map +0 -1
- package/dist/features/search-modal/index.cjs.map +0 -1
- package/dist/features/search-modal/index.mjs.map +0 -1
- package/dist/features/tables/index.cjs.map +0 -1
- package/dist/features/tables/index.mjs.map +0 -1
- package/dist/features/tanstack-form/index.cjs.map +0 -1
- package/dist/features/tanstack-form/index.mjs.map +0 -1
- package/dist/flex-BP8sTi70.mjs.map +0 -1
- package/dist/flex-twCgWyx1.cjs.map +0 -1
- package/dist/heading--VmdIi7C.mjs +0 -2
- package/dist/heading--VmdIi7C.mjs.map +0 -1
- package/dist/heading-BEm5CCSE.cjs +0 -2
- package/dist/heading-BEm5CCSE.cjs.map +0 -1
- package/dist/image-CS_Q0WA7.mjs.map +0 -1
- package/dist/image-DuFv8sPr.cjs.map +0 -1
- package/dist/input-BFWWaN-v.cjs.map +0 -1
- package/dist/input-BgHvD7zf.d.mts +0 -25
- package/dist/input-DBtIgQB6.mjs.map +0 -1
- package/dist/input-DhQmoNrK.d.cts +0 -25
- package/dist/label-BzfsTrVt.cjs.map +0 -1
- package/dist/label-Dqr8nxWi.mjs +0 -2
- package/dist/label-Dqr8nxWi.mjs.map +0 -1
- package/dist/layouts/cms-layout/index.cjs.map +0 -1
- package/dist/layouts/cms-layout/index.mjs.map +0 -1
- package/dist/layouts/payment-layout/index.cjs.map +0 -1
- package/dist/layouts/payment-layout/index.mjs.map +0 -1
- package/dist/paragraph-B72bHMf7.cjs +0 -2
- package/dist/paragraph-B72bHMf7.cjs.map +0 -1
- package/dist/paragraph-moBSTPmT.mjs +0 -2
- package/dist/paragraph-moBSTPmT.mjs.map +0 -1
- package/dist/popover-BckwBuuD.mjs +0 -2
- package/dist/popover-BckwBuuD.mjs.map +0 -1
- package/dist/popover-DzDrgttC.cjs.map +0 -1
- package/dist/radio-group-CBhRsUjN.cjs.map +0 -1
- package/dist/radio-group-Cem8O6BK.mjs.map +0 -1
- package/dist/resizable-DXHfkbaz.mjs.map +0 -1
- package/dist/resizable-mlGS6Zto.cjs.map +0 -1
- package/dist/select-2CgwiefV.cjs.map +0 -1
- package/dist/select-CivtMKTM.mjs.map +0 -1
- package/dist/separator-Bf0gymN4.mjs +0 -2
- package/dist/separator-Bf0gymN4.mjs.map +0 -1
- package/dist/separator-C3ip6sbh.cjs.map +0 -1
- package/dist/sheet-5MJRtrfG.cjs.map +0 -1
- package/dist/sheet-oadGRiie.mjs.map +0 -1
- package/dist/skeleton-Ba6koCVf.mjs +0 -2
- package/dist/skeleton-Ba6koCVf.mjs.map +0 -1
- package/dist/skeleton-CHympz8k.cjs +0 -2
- package/dist/skeleton-CHympz8k.cjs.map +0 -1
- package/dist/spinner-Chm_2fLr.cjs +0 -2
- package/dist/spinner-Chm_2fLr.cjs.map +0 -1
- package/dist/spinner-D1v3Bard.mjs +0 -2
- package/dist/spinner-D1v3Bard.mjs.map +0 -1
- package/dist/textarea-COQoSVSc.cjs.map +0 -1
- package/dist/textarea-bLtmb71c.mjs.map +0 -1
- package/dist/tooltip-B3dTcgcc.mjs +0 -2
- package/dist/tooltip-B3dTcgcc.mjs.map +0 -1
- package/dist/tooltip-DC6i1A25.cjs.map +0 -1
- package/dist/ui/alert.cjs.map +0 -1
- package/dist/ui/alert.mjs.map +0 -1
- package/dist/ui/field.cjs.map +0 -1
- package/dist/ui/field.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -303,18 +303,48 @@ See [CHANGELOG.md](CHANGELOG.md) for version history and changes.
|
|
|
303
303
|
|
|
304
304
|
ISC © [CustomAFK](https://github.com/QuangPhamvt)
|
|
305
305
|
|
|
306
|
-
## 🤖
|
|
306
|
+
## 🤖 For Claude / AI Coding Assistants
|
|
307
307
|
|
|
308
|
-
|
|
308
|
+
This package ships an `ai-docs.md` file at the package root, optimized for AI
|
|
309
|
+
context windows. It covers import rules, the full component catalog with prop
|
|
310
|
+
types, and copy-ready usage patterns.
|
|
309
311
|
|
|
310
|
-
###
|
|
312
|
+
### Option A — Point Claude's project context at the file
|
|
311
313
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
314
|
+
Add this to your project's `.claude/CLAUDE.md` (or create one):
|
|
315
|
+
|
|
316
|
+
```markdown
|
|
317
|
+
## UI Library Context
|
|
318
|
+
|
|
319
|
+
This project uses `@customafk/lunas-ui`. Read the library reference before writing components:
|
|
320
|
+
|
|
321
|
+
@node_modules/@customafk/lunas-ui/ai-docs.md
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
Claude Code will attach the file automatically to every conversation in the project.
|
|
325
|
+
|
|
326
|
+
### Option B — Add to your AI tooling's context source list
|
|
327
|
+
|
|
328
|
+
For Cursor `.cursorrules`, Copilot `codeGeneration.instructions`, or an MCP RAG server, add:
|
|
329
|
+
|
|
330
|
+
```
|
|
331
|
+
node_modules/@customafk/lunas-ui/ai-docs.md
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### Option C — One-shot reference in chat
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
I'm using @customafk/lunas-ui.
|
|
338
|
+
Read node_modules/@customafk/lunas-ui/ai-docs.md for import paths and usage.
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### Key rules the AI must follow
|
|
342
|
+
|
|
343
|
+
1. **Named imports only** — `import { Button } from '@customafk/lunas-ui/ui/button'`
|
|
344
|
+
2. **No default imports** — the library has no default exports
|
|
345
|
+
3. **Use full category paths** — `…/ui/button`, not `…/button`
|
|
346
|
+
4. **Import styles in root layout** — `styles/base` + `styles/theme` are required
|
|
347
|
+
5. **Never import from `@radix-ui/*` directly** — use the lunas-ui wrappers
|
|
318
348
|
|
|
319
349
|
## 🙋♀️ Support
|
|
320
350
|
|
package/ai-docs.md
ADDED
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
# @customafk/lunas-ui — AI Reference Documentation
|
|
2
|
+
|
|
3
|
+
> Optimized for AI agents (Claude, GitHub Copilot, Cursor, etc.).
|
|
4
|
+
> Add a reference to this file in your project's CLAUDE.md or AI context config
|
|
5
|
+
> so the assistant always has accurate import paths, prop types, and usage patterns.
|
|
6
|
+
|
|
7
|
+
## Package Identity
|
|
8
|
+
|
|
9
|
+
- **Package name:** `@customafk/lunas-ui`
|
|
10
|
+
- **Framework:** React 19+ · TypeScript 5+
|
|
11
|
+
- **Styling:** TailwindCSS v4 (CSS custom properties — stylesheet import is required)
|
|
12
|
+
- **Radix UI:** primitives are wrapped — always import from `@customafk/lunas-ui/*`, never from `@radix-ui/*`
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## CRITICAL: Required Stylesheet Imports
|
|
17
|
+
|
|
18
|
+
Import these in your root layout **before** any component renders.
|
|
19
|
+
Without them all color tokens and base styles will be absent.
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
import '@customafk/lunas-ui/styles/base';
|
|
23
|
+
import '@customafk/lunas-ui/styles/theme';
|
|
24
|
+
// Optional: enhanced typographic defaults
|
|
25
|
+
import '@customafk/lunas-ui/styles/typography';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Import Rules (STRICT)
|
|
31
|
+
|
|
32
|
+
### Rule 1 — Named imports only; never default imports
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
// ✅ CORRECT
|
|
36
|
+
import { Button } from '@customafk/lunas-ui/ui/button';
|
|
37
|
+
import type { ButtonProps } from '@customafk/lunas-ui/ui/button';
|
|
38
|
+
|
|
39
|
+
// ❌ WRONG — no default export exists
|
|
40
|
+
import Button from '@customafk/lunas-ui/ui/button';
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Rule 2 — Use the exact published export paths
|
|
44
|
+
|
|
45
|
+
Each component has its own path that matches the `package.json` exports map exactly.
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
// ✅ CORRECT
|
|
49
|
+
import { Button } from '@customafk/lunas-ui/ui/button';
|
|
50
|
+
import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog';
|
|
51
|
+
import { Flex } from '@customafk/lunas-ui/layouts/flex';
|
|
52
|
+
import { UserDataDisplay } from '@customafk/lunas-ui/data-display/user';
|
|
53
|
+
import { Description } from '@customafk/lunas-ui/features/descriptions';
|
|
54
|
+
|
|
55
|
+
// ❌ WRONG — internal source path, not shipped
|
|
56
|
+
import { Button } from '@customafk/lunas-ui/packages/components/ui/button';
|
|
57
|
+
|
|
58
|
+
// ❌ WRONG — missing category prefix
|
|
59
|
+
import { Button } from '@customafk/lunas-ui/button';
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Rule 3 — Never import Radix UI primitives directly
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
// ❌ WRONG
|
|
66
|
+
import { AlertDialog } from '@radix-ui/react-alert-dialog';
|
|
67
|
+
|
|
68
|
+
// ✅ CORRECT — use the lunas-ui wrapper
|
|
69
|
+
import { AlertDialog } from '@customafk/lunas-ui/ui/alert-dialog';
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Rule 4 — Separate type and value imports
|
|
73
|
+
|
|
74
|
+
```tsx
|
|
75
|
+
import { Statistic } from '@customafk/lunas-ui/data-display/statistic';
|
|
76
|
+
import type { StatisticProps } from '@customafk/lunas-ui/data-display/statistic';
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Component Catalog
|
|
82
|
+
|
|
83
|
+
### UI Primitives — `@customafk/lunas-ui/ui/*`
|
|
84
|
+
|
|
85
|
+
| Component(s) | Full import path | Key props |
|
|
86
|
+
|---|---|---|
|
|
87
|
+
| `Button` | `.../ui/button` | `variant`, `color`, `size`, `isLoading`, `asChild` |
|
|
88
|
+
| `Input` | `.../ui/input` | All native `<input>` props |
|
|
89
|
+
| `Textarea` | `.../ui/textarea` | All native `<textarea>` props |
|
|
90
|
+
| `Label` | `.../ui/label` | `htmlFor` |
|
|
91
|
+
| `Checkbox` | `.../ui/checkbox` | `checked`, `onCheckedChange` |
|
|
92
|
+
| `Switch` | `.../ui/switch` | `checked`, `onCheckedChange` |
|
|
93
|
+
| `RadioGroup` + `RadioGroupItem` | `.../ui/radio-group` | `value`, `onValueChange` |
|
|
94
|
+
| `Select` + `SelectTrigger` + `SelectContent` + `SelectItem` + `SelectValue` | `.../ui/select` | Radix composition |
|
|
95
|
+
| `MultiSelect` | `.../ui/multi-select` | Multi-value select |
|
|
96
|
+
| `Dialog` + sub-components | `.../ui/dialog` | `open`, `onOpenChange` |
|
|
97
|
+
| `AlertDialog` + sub-components | `.../ui/alert-dialog` | `open`, `onOpenChange` |
|
|
98
|
+
| `Sheet` + `SheetContent` | `.../ui/sheet` | `side`: `left`\|`right`\|`top`\|`bottom` |
|
|
99
|
+
| `Drawer` + `DrawerContent` | `.../ui/drawer` | Mobile-first sheet |
|
|
100
|
+
| `Popover` + `PopoverContent` + `PopoverTrigger` | `.../ui/popover` | `open`, `onOpenChange` |
|
|
101
|
+
| `Tooltip` + `TooltipContent` + `TooltipTrigger` + `TooltipProvider` | `.../ui/tooltip` | Wrap app with `TooltipProvider` |
|
|
102
|
+
| `Badge` | `.../ui/badge` | `variant`, `color` |
|
|
103
|
+
| `Card` + `CardHeader` + `CardContent` + `CardFooter` + `CardTitle` + `CardDescription` + `CardAction` | `.../ui/card` | Composition |
|
|
104
|
+
| `Avatar` + `AvatarImage` + `AvatarFallback` | `.../ui/avatar` | — |
|
|
105
|
+
| `Tabs` + `TabsList` + `TabsTrigger` + `TabsContent` | `.../ui/tabs` | `defaultValue`, `value`, `onValueChange` |
|
|
106
|
+
| `Table` + `TableHeader` + `TableBody` + `TableRow` + `TableHead` + `TableCell` | `.../ui/table` | Semantic HTML table |
|
|
107
|
+
| `Calendar` | `.../ui/calendar` | `mode`, `selected`, `onSelect` |
|
|
108
|
+
| `Command` + sub-components | `.../ui/command` | Command palette |
|
|
109
|
+
| `Separator` | `.../ui/separator` | `orientation`: `horizontal`\|`vertical` |
|
|
110
|
+
| `ScrollArea` | `.../ui/scroll-area` | `className` for fixed height |
|
|
111
|
+
| `Skeleton` | `.../ui/skeleton` | `className` for shape |
|
|
112
|
+
| `Spinner` | `.../ui/spinner` | `size`, `className` |
|
|
113
|
+
| `Progress` | `.../ui/progress` | `value` (0–100) |
|
|
114
|
+
| `Slider` | `.../ui/slider` | `value`, `min`, `max`, `step` |
|
|
115
|
+
| `Sonner` | `.../ui/sonner` | Toast — use `toast()` from `sonner` package |
|
|
116
|
+
| `Pagination` | `.../ui/pagination` | Page navigation |
|
|
117
|
+
| `FileUploader` | `.../ui/file-uploader` | `onUpload`, `accept`, `maxSize` |
|
|
118
|
+
| `ButtonGroup` | `.../ui/button-group` | Groups buttons |
|
|
119
|
+
| `DropdownMenu` + sub-components | `.../ui/dropdown-menu` | — |
|
|
120
|
+
| `ContextMenu` | `.../ui/context-menu` | Right-click menu |
|
|
121
|
+
| `HoverCard` + sub-components | `.../ui/hover-card` | — |
|
|
122
|
+
| `Collapsible` + sub-components | `.../ui/collapsible` | — |
|
|
123
|
+
| `Breadcrumb` | `.../ui/breadcrumb` | — |
|
|
124
|
+
| `Carousel` + sub-components | `.../ui/carousel` | — |
|
|
125
|
+
| `Toggle` | `.../ui/toggle` | — |
|
|
126
|
+
| `ToggleGroup` + `ToggleGroupItem` | `.../ui/toggle-group` | — |
|
|
127
|
+
| `Resizable` + sub-components | `.../ui/resizable` | — |
|
|
128
|
+
| `InputOTP` | `.../ui/input-otp` | OTP / PIN input |
|
|
129
|
+
| `Sidebar` | `.../ui/sidebar` | App sidebar shell |
|
|
130
|
+
|
|
131
|
+
#### Button — Complete Prop Reference
|
|
132
|
+
|
|
133
|
+
```tsx
|
|
134
|
+
interface ButtonProps extends Omit<React.ComponentProps<'button'>, 'color'> {
|
|
135
|
+
variant?: 'default' | 'outline' | 'ghost' | 'link' | 'icon' | 'destructive'; // default: 'default'
|
|
136
|
+
color?: 'primary' | 'success' | 'danger' | 'warning' | 'muted'; // default: 'primary'
|
|
137
|
+
size?: 'sm' | 'default' | 'lg' | 'icon'; // default: 'default'
|
|
138
|
+
isLoading?: boolean; // Shows spinner + auto-disables. default: false
|
|
139
|
+
asChild?: boolean; // Renders child via Radix Slot. default: false
|
|
140
|
+
innerClassName?: string; // Classes on inner flex wrapper
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### Specialized UI Buttons — `@customafk/lunas-ui/ui/buttons/*`
|
|
147
|
+
|
|
148
|
+
| Component | Full import path | Purpose |
|
|
149
|
+
|---|---|---|
|
|
150
|
+
| `AddNewButton` | `.../ui/buttons/add-new` | Standard "+ Add new" CTA |
|
|
151
|
+
| `EditButton` | `.../ui/buttons/edit` | Edit / pencil icon |
|
|
152
|
+
| `RefreshButton` | `.../ui/buttons/refresh` | Reload action |
|
|
153
|
+
| `TrashButton` | `.../ui/buttons/trash` | Delete action |
|
|
154
|
+
| `UploadImageButton` | `.../ui/buttons/upload-image` | Image upload trigger |
|
|
155
|
+
| `SearchInput` | `.../ui/inputs/search-input` | Search field with icon |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
### Layout Components
|
|
160
|
+
|
|
161
|
+
| Component | Full import path | Key Props |
|
|
162
|
+
|---|---|---|
|
|
163
|
+
| `Flex` | `.../layouts/flex` | `vertical`, `wrap`, `gap`, `justify`, `align`, `padding`, `margin`, `width` |
|
|
164
|
+
| `Grid` | `.../layouts/grid` | Children grid container |
|
|
165
|
+
| `CmsLayout` | `.../layouts/cms-layout` | App shell with sidebar + header |
|
|
166
|
+
| `PaymentLayout` | `.../layouts/payment-layout` | Checkout page layout |
|
|
167
|
+
|
|
168
|
+
#### Flex — Complete Prop Reference
|
|
169
|
+
|
|
170
|
+
```tsx
|
|
171
|
+
type FlexProps = {
|
|
172
|
+
vertical?: boolean; // flex-col when true | flex-row when false (default: false)
|
|
173
|
+
wrap?: boolean; // flex-wrap vs flex-nowrap (default: true)
|
|
174
|
+
gap?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'; // default: 'xs'
|
|
175
|
+
justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' | 'stretch'; // default: 'start'
|
|
176
|
+
align?: 'start' | 'center' | 'end' | 'baseline' | 'stretch'; // default: 'center'
|
|
177
|
+
padding?: 'none' | 'sm' | 'md' | 'lg' | 'xl'; // default: 'sm'
|
|
178
|
+
margin?: 'none' | 'sm' | 'md' | 'lg' | 'xl'; // default: 'none'
|
|
179
|
+
width?: 'full' | 'auto' | 'fit' | 'screen' | 'min' | 'max' | null; // default: 'fit'
|
|
180
|
+
className?: string;
|
|
181
|
+
};
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
### Typography
|
|
187
|
+
|
|
188
|
+
| Component | Full import path | Key Props |
|
|
189
|
+
|---|---|---|
|
|
190
|
+
| `Title` | `.../typography/title` | `level` (1–6) → `<h1>`–`<h6>` |
|
|
191
|
+
| `Paragraph` | `.../typography/paragraph` | `variant`, all `<p>` attrs |
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
### Data Display — `@customafk/lunas-ui/data-display/*`
|
|
196
|
+
|
|
197
|
+
Read-only components for formatted entity fields.
|
|
198
|
+
|
|
199
|
+
| Component | Full import path | Key Props |
|
|
200
|
+
|---|---|---|
|
|
201
|
+
| `UserDataDisplay` | `.../data-display/user` | `uuid`, `username`, `email` |
|
|
202
|
+
| `DateDisplay` | `.../data-display/date` | `date` (ISO string or `Date`), `format?`, `showTime?` |
|
|
203
|
+
| `DateTooltip` | `.../data-display/date-tooltip` | `date` — relative label + full date on hover |
|
|
204
|
+
| `NameDisplay` | `.../data-display/name` | `name` |
|
|
205
|
+
| `PhoneNumberDisplay` | `.../data-display/phone-number` | `value` |
|
|
206
|
+
| `CountryDisplay` | `.../data-display/country` | `country` (ISO 3166-1 alpha-2) |
|
|
207
|
+
| `RoleBadge` | `.../data-display/role-badge` | `status` (role / status string) |
|
|
208
|
+
| `Statistic` | `.../data-display/statistic` | `label`, `value`, `trend?` |
|
|
209
|
+
| `EmptyDisplay` | `.../data-display/empty` | `label?` |
|
|
210
|
+
| `DataList` + `DataListItem` | `.../data-display/data-list` | `DataListItem`: `label` + `value` |
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
### Dialogs — `@customafk/lunas-ui/dialogs/*`
|
|
215
|
+
|
|
216
|
+
All dialogs are **controlled** — manage `open` state in the parent.
|
|
217
|
+
|
|
218
|
+
| Component | Full import path | Key Props |
|
|
219
|
+
|---|---|---|
|
|
220
|
+
| `ConfirmDialog` | `.../dialogs/confirm-dialog` | `open`, `title`, `description`, `onConfirm`, `isLoading`, `submitText`, `cancelText` |
|
|
221
|
+
| `LoadingDialog` | `.../dialogs/loading-dialog` | `open`, `onOpenChange` |
|
|
222
|
+
| `ErrorDialog` | `.../dialogs/error-dialog` | `open`, `title`, `onOpenChange`, `children` |
|
|
223
|
+
| `DetailDialog` | `.../dialogs/detail-dialog` | `open`, `title`, `isLoading?`, `createdAt?`, `sidebar?`, `onOpenChange` |
|
|
224
|
+
|
|
225
|
+
#### ConfirmDialog — Complete Prop Reference
|
|
226
|
+
|
|
227
|
+
```tsx
|
|
228
|
+
type ConfirmDialogProps = {
|
|
229
|
+
open?: boolean;
|
|
230
|
+
isLoading?: boolean; // default: false
|
|
231
|
+
title: string; // required
|
|
232
|
+
description: string; // required
|
|
233
|
+
cancelText?: string; // default: 'Cancel'
|
|
234
|
+
submitText?: string; // default: 'Confirm'
|
|
235
|
+
descriptionClassName?: string;
|
|
236
|
+
onOpenChange?: (open: boolean) => void;
|
|
237
|
+
onConfirm?: () => Promise<void> | void; // async-safe
|
|
238
|
+
};
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
### Feature Components
|
|
244
|
+
|
|
245
|
+
#### Descriptions — `@customafk/lunas-ui/features/descriptions`
|
|
246
|
+
|
|
247
|
+
```tsx
|
|
248
|
+
import {
|
|
249
|
+
Description, // Outer container (border, shadow, rounded)
|
|
250
|
+
DescriptionHeader, // title, description?, extra?, className?
|
|
251
|
+
DescriptionSection, // title? — labeled horizontal divider
|
|
252
|
+
DescriptionItem, // label, labelColSpan? (default 3/12),
|
|
253
|
+
// orientation? ('horizontal'|'vertical'), action?
|
|
254
|
+
} from '@customafk/lunas-ui/features/descriptions';
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Also exports typed value cells:
|
|
258
|
+
`DescriptionBadge`, `DescriptionDate`, `DescriptionName`, `DescriptionEmpty`,
|
|
259
|
+
`DescriptionStatistic`, `DescriptionNumberPhone`, `DescriptionImages`, `DescriptionLongtext`.
|
|
260
|
+
|
|
261
|
+
#### Tables — `@customafk/lunas-ui/features/tables`
|
|
262
|
+
|
|
263
|
+
TanStack React Table v8 wrapper with column helpers, filter components, and table context provider.
|
|
264
|
+
|
|
265
|
+
#### TanStack Form — `@customafk/lunas-ui/features/tanstack-form`
|
|
266
|
+
|
|
267
|
+
```tsx
|
|
268
|
+
import {
|
|
269
|
+
useTanStackForm, // Form factory hook — call once per form definition
|
|
270
|
+
withTanStackForm, // HOC: connect a component to the form context
|
|
271
|
+
withTanStackFieldGroup, // HOC: wrap a group of related fields
|
|
272
|
+
} from '@customafk/lunas-ui/features/tanstack-form';
|
|
273
|
+
// Field components (TextField, ComboboxField, etc.) are registered in the
|
|
274
|
+
// factory — use them via the form's .AppField slot, not as direct imports.
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
#### Search Modal — `@customafk/lunas-ui/features/search-modal`
|
|
278
|
+
|
|
279
|
+
```tsx
|
|
280
|
+
import { SearchModal } from '@customafk/lunas-ui/features/search-modal';
|
|
281
|
+
// Self-contained command-palette dialog — no props required.
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
### Cards
|
|
287
|
+
|
|
288
|
+
| Component | Full import path | Key Props |
|
|
289
|
+
|---|---|---|
|
|
290
|
+
| `SimpleCard` | `.../cards/simple-card` | `title`, `description?`, `action?`, `footer?` |
|
|
291
|
+
| `ProductCard` | `.../cards/product-card` | `id`, `name`, `thumbnail`, `price` |
|
|
292
|
+
| `GridProductCard` | `.../cards/grid-product-card` | `id`, `name`, `thumbnail`, `price` |
|
|
293
|
+
|
|
294
|
+
### Page Components
|
|
295
|
+
|
|
296
|
+
| Component | Full import path | Purpose |
|
|
297
|
+
|---|---|---|
|
|
298
|
+
| `NotFound` | `.../pages/NotFound` | 404 page |
|
|
299
|
+
| `NotAuthorized` | `.../pages/NotAuthorized` | 403 / access denied |
|
|
300
|
+
| `FeatureDeveloping` | `.../pages/FeatureDeveloping` | Coming-soon placeholder |
|
|
301
|
+
| `FeatureFixing` | `.../pages/FeatureFixing` | Maintenance-mode page |
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Usage Patterns (RAG Examples)
|
|
306
|
+
|
|
307
|
+
### Pattern 1 — Confirm dialog before a destructive mutation
|
|
308
|
+
|
|
309
|
+
```tsx
|
|
310
|
+
import { useState } from 'react';
|
|
311
|
+
import { Button } from '@customafk/lunas-ui/ui/button';
|
|
312
|
+
import { ConfirmDialog } from '@customafk/lunas-ui/dialogs/confirm-dialog';
|
|
313
|
+
|
|
314
|
+
export function DeleteUserButton({ userId, onDeleted }: {
|
|
315
|
+
userId: string;
|
|
316
|
+
onDeleted: () => void;
|
|
317
|
+
}) {
|
|
318
|
+
const [open, setOpen] = useState(false);
|
|
319
|
+
const [isPending, setIsPending] = useState(false);
|
|
320
|
+
|
|
321
|
+
const handleConfirm = async () => {
|
|
322
|
+
setIsPending(true);
|
|
323
|
+
try {
|
|
324
|
+
await deleteUser(userId);
|
|
325
|
+
setOpen(false);
|
|
326
|
+
onDeleted();
|
|
327
|
+
} finally {
|
|
328
|
+
setIsPending(false);
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
return (
|
|
333
|
+
<>
|
|
334
|
+
<Button variant="outline" color="danger" onClick={() => setOpen(true)}>
|
|
335
|
+
Delete user
|
|
336
|
+
</Button>
|
|
337
|
+
<ConfirmDialog
|
|
338
|
+
open={open}
|
|
339
|
+
title="Delete user?"
|
|
340
|
+
description="This action is permanent and cannot be undone."
|
|
341
|
+
submitText="Yes, delete"
|
|
342
|
+
isLoading={isPending}
|
|
343
|
+
onOpenChange={setOpen}
|
|
344
|
+
onConfirm={handleConfirm}
|
|
345
|
+
/>
|
|
346
|
+
</>
|
|
347
|
+
);
|
|
348
|
+
}
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Pattern 2 — Entity detail panel with Description + Data Display
|
|
352
|
+
|
|
353
|
+
```tsx
|
|
354
|
+
import {
|
|
355
|
+
Description,
|
|
356
|
+
DescriptionHeader,
|
|
357
|
+
DescriptionItem,
|
|
358
|
+
DescriptionSection,
|
|
359
|
+
} from '@customafk/lunas-ui/features/descriptions';
|
|
360
|
+
import { UserDataDisplay } from '@customafk/lunas-ui/data-display/user';
|
|
361
|
+
import { DateDisplay } from '@customafk/lunas-ui/data-display/date';
|
|
362
|
+
import { RoleBadge } from '@customafk/lunas-ui/data-display/role-badge';
|
|
363
|
+
import { Statistic } from '@customafk/lunas-ui/data-display/statistic';
|
|
364
|
+
|
|
365
|
+
export function OrderDetailPanel({ order }: { order: Order }) {
|
|
366
|
+
return (
|
|
367
|
+
<Description>
|
|
368
|
+
<DescriptionHeader title="Order Details" description={`#${order.id}`} />
|
|
369
|
+
<DescriptionSection title="Customer" />
|
|
370
|
+
<DescriptionItem label="Account">
|
|
371
|
+
<UserDataDisplay uuid={order.customer.id} username={order.customer.name} email={order.customer.email} />
|
|
372
|
+
</DescriptionItem>
|
|
373
|
+
<DescriptionItem label="Created at">
|
|
374
|
+
<DateDisplay date={order.createdAt} showTime />
|
|
375
|
+
</DescriptionItem>
|
|
376
|
+
<DescriptionSection title="Order" />
|
|
377
|
+
<DescriptionItem label="Status">
|
|
378
|
+
<RoleBadge status={order.status} />
|
|
379
|
+
</DescriptionItem>
|
|
380
|
+
<DescriptionItem label="Total">
|
|
381
|
+
<Statistic label="VND" value={order.total} />
|
|
382
|
+
</DescriptionItem>
|
|
383
|
+
</Description>
|
|
384
|
+
);
|
|
385
|
+
}
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
## Semantic Color Tokens (TailwindCSS)
|
|
391
|
+
|
|
392
|
+
| Token | Usage |
|
|
393
|
+
|---|---|
|
|
394
|
+
| `text-text-positive` | Primary body text |
|
|
395
|
+
| `text-text-positive-weak` | Secondary / muted text |
|
|
396
|
+
| `text-text-positive-strong` | Emphasis / heading text |
|
|
397
|
+
| `text-text-positive-muted` | Placeholder / disabled text |
|
|
398
|
+
| `bg-primary` | Primary brand fill |
|
|
399
|
+
| `bg-secondary-muted` | Light gray surface (table headers, label columns) |
|
|
400
|
+
| `bg-card` | Card / panel background |
|
|
401
|
+
| `border-border` | Default border |
|
|
402
|
+
| `border-border-weak` | Subtle border / divider |
|
|
403
|
+
| `text-success` | Positive / success value |
|
|
404
|
+
| `text-danger` | Error / destructive value |
|
|
405
|
+
| `text-warning` | Cautionary value |
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
## Anti-patterns to Avoid
|
|
410
|
+
|
|
411
|
+
| ❌ Don't | ✅ Do instead |
|
|
412
|
+
|---|---|
|
|
413
|
+
| `import Button from '…/ui/button'` | `import { Button } from '…/ui/button'` |
|
|
414
|
+
| `import { Button } from '…/button'` | Include category: `'…/ui/button'` |
|
|
415
|
+
| Import from `@radix-ui/*` directly | Use the lunas-ui wrapper |
|
|
416
|
+
| Skip stylesheet imports | Always import `styles/base` + `styles/theme` |
|
|
417
|
+
| `window.confirm()` for destructive actions | Use `<ConfirmDialog>` |
|
|
418
|
+
| `<div className="flex gap-2">` | Use `<Flex gap="sm">` |
|
|
419
|
+
| Add `disabled` manually during loading | Use `isLoading` on `<Button>` |
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as react_jsx_runtime122 from "react/jsx-runtime";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
import * as class_variance_authority_types15 from "class-variance-authority/types";
|
|
4
|
+
|
|
5
|
+
//#region packages/components/ui/alert-variants.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Alert component variants for styling using class-variance-authority
|
|
8
|
+
*/
|
|
9
|
+
declare const alertVariants: (props?: ({
|
|
10
|
+
variant?: "default" | "info" | "success" | "warning" | "destructive" | null | undefined;
|
|
11
|
+
} & class_variance_authority_types15.ClassProp) | undefined) => string;
|
|
12
|
+
type AlertVariantProps = VariantProps<typeof alertVariants>;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region packages/components/ui/alert.d.ts
|
|
15
|
+
/**
|
|
16
|
+
* Props for the Alert component.
|
|
17
|
+
*/
|
|
18
|
+
interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, Omit<AlertVariantProps, 'className'> {
|
|
19
|
+
/**
|
|
20
|
+
* Optional icon to display in the alert; defaults to a variant-appropriate icon when omitted.
|
|
21
|
+
*/
|
|
22
|
+
icon?: React.ReactNode;
|
|
23
|
+
/**
|
|
24
|
+
* Whether the alert can be dismissed by the user.
|
|
25
|
+
*/
|
|
26
|
+
dismissible?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Callback invoked when the dismiss button is clicked.
|
|
29
|
+
*/
|
|
30
|
+
onDismiss?: () => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Displays a contextual feedback message with optional icon, title, description, and dismiss button.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* import { Alert, AlertTitle, AlertDescription } from '@customafk/lunas-ui/ui/alert';
|
|
38
|
+
*
|
|
39
|
+
* <Alert variant="success" dismissible onDismiss={() => setOpen(false)}>
|
|
40
|
+
* <AlertTitle>Saved successfully</AlertTitle>
|
|
41
|
+
* <AlertDescription>Your changes have been saved.</AlertDescription>
|
|
42
|
+
* </Alert>
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
declare function Alert({
|
|
46
|
+
className,
|
|
47
|
+
variant,
|
|
48
|
+
children,
|
|
49
|
+
icon,
|
|
50
|
+
dismissible,
|
|
51
|
+
onDismiss,
|
|
52
|
+
...props
|
|
53
|
+
}: AlertProps): react_jsx_runtime122.JSX.Element;
|
|
54
|
+
/**
|
|
55
|
+
* Props for the AlertTitle component.
|
|
56
|
+
*/
|
|
57
|
+
interface AlertTitleProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
58
|
+
/**
|
|
59
|
+
* Title text or elements to display.
|
|
60
|
+
*/
|
|
61
|
+
children: React.ReactNode;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Renders the bold title line inside an Alert.
|
|
65
|
+
*/
|
|
66
|
+
declare function AlertTitle({
|
|
67
|
+
className,
|
|
68
|
+
...props
|
|
69
|
+
}: AlertTitleProps): react_jsx_runtime122.JSX.Element;
|
|
70
|
+
/**
|
|
71
|
+
* Props for the AlertDescription component.
|
|
72
|
+
*/
|
|
73
|
+
interface AlertDescriptionProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
74
|
+
/**
|
|
75
|
+
* Descriptive text or elements displayed below the title.
|
|
76
|
+
*/
|
|
77
|
+
children: React.ReactNode;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Renders the supporting body text inside an Alert.
|
|
81
|
+
*/
|
|
82
|
+
declare function AlertDescription({
|
|
83
|
+
className,
|
|
84
|
+
...props
|
|
85
|
+
}: AlertDescriptionProps): react_jsx_runtime122.JSX.Element;
|
|
86
|
+
//#endregion
|
|
87
|
+
export { AlertTitle as a, AlertProps as i, AlertDescription as n, AlertTitleProps as o, AlertDescriptionProps as r, Alert as t };
|
|
88
|
+
//# sourceMappingURL=alert-5MxGtf3j.d.mts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`./chunk-Bmb41Sf3.cjs`);let t=require(`lucide-react`),n=require(`react`),r=require(`react/jsx-runtime`),i=require(`@customafk/react-toolkit/utils`),a=require(`class-variance-authority`);const o=(0,a.cva)([`relative grid w-full items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm`,`grid-cols-[0_1fr]`,`has-[>svg]:grid-cols-[24px_1fr] has-[>svg]:gap-x-3`,`[&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,`transition-colors duration-150`],{variants:{variant:{default:`bg-card text-text-positive-strong border-border`,destructive:`bg-danger-bg-subtle text-danger-intense border-danger-border-subtle [&>svg]:text-danger *:data-[slot=alert-description]:text-danger-strong`,warning:`bg-warning-bg-subtle text-warning-intense border-warning-border-subtle [&>svg]:text-warning *:data-[slot=alert-description]:text-warning-strong`,success:`bg-success-bg-subtle text-success-intense border-success-border-subtle [&>svg]:text-success *:data-[slot=alert-description]:text-success-strong`,info:`bg-info-bg-subtle text-info-intense border-info-border-subtle [&>svg]:text-info *:data-[slot=alert-description]:text-info-strong`}},defaultVariants:{variant:`default`}});function s({className:e,variant:a,children:s,icon:c,dismissible:l,onDismiss:u,...d}){let f=(0,n.useMemo)(()=>{if(!c)switch(a){case`destructive`:return(0,r.jsx)(t.AlertCircle,{});case`warning`:return(0,r.jsx)(t.AlertTriangle,{});case`success`:return(0,r.jsx)(t.CheckCircle,{});case`info`:return(0,r.jsx)(t.Info,{});default:return null}return c},[c,a]);return(0,r.jsxs)(`div`,{"data-slot":`alert`,role:`alert`,"data-variant":a,className:(0,i.cn)(o({variant:a}),e),...d,children:[f,s,l&&(0,r.jsx)(`button`,{type:`button`,onClick:u,"aria-label":`Close alert`,className:`absolute top-2 right-2 size-6 rounded-md p-1 opacity-70 transition-opacity duration-100 hover:opacity-100`,"data-slot":`alert-close`,children:(0,r.jsx)(t.X,{size:16})})]})}function c({className:e,...t}){return(0,r.jsx)(`div`,{"data-slot":`alert-title`,className:(0,i.cn)(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function l({className:e,...t}){return(0,r.jsx)(`div`,{"data-slot":`alert-description`,className:(0,i.cn)(`text-text-positive-weak col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,e),...t})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
|
|
2
|
+
//# sourceMappingURL=alert-DIC1_ymv.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-DIC1_ymv.cjs","names":["AlertCircle","AlertTriangle","CheckCircle","Info","X"],"sources":["../packages/components/ui/alert-variants.ts","../packages/components/ui/alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\n/**\n * Alert component variants for styling using class-variance-authority\n */\nexport const alertVariants = cva(\n [\n 'relative grid w-full items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm',\n 'grid-cols-[0_1fr]',\n 'has-[>svg]:grid-cols-[24px_1fr] has-[>svg]:gap-x-3',\n '[&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n 'transition-colors duration-150',\n ],\n {\n variants: {\n variant: {\n default: 'bg-card text-text-positive-strong border-border',\n destructive:\n 'bg-danger-bg-subtle text-danger-intense border-danger-border-subtle [&>svg]:text-danger *:data-[slot=alert-description]:text-danger-strong',\n warning:\n 'bg-warning-bg-subtle text-warning-intense border-warning-border-subtle [&>svg]:text-warning *:data-[slot=alert-description]:text-warning-strong',\n success:\n 'bg-success-bg-subtle text-success-intense border-success-border-subtle [&>svg]:text-success *:data-[slot=alert-description]:text-success-strong',\n info: 'bg-info-bg-subtle text-info-intense border-info-border-subtle [&>svg]:text-info *:data-[slot=alert-description]:text-info-strong',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type AlertVariantProps = VariantProps<typeof alertVariants>;\n","'use client';\n\nimport { useMemo } from 'react';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { AlertCircle, AlertTriangle, CheckCircle, Info, X } from 'lucide-react';\n\nimport { type AlertVariantProps, alertVariants } from './alert-variants';\n\n/**\n * Props for the Alert component.\n */\nexport interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, Omit<AlertVariantProps, 'className'> {\n /**\n * Optional icon to display in the alert; defaults to a variant-appropriate icon when omitted.\n */\n icon?: React.ReactNode;\n /**\n * Whether the alert can be dismissed by the user.\n */\n dismissible?: boolean;\n /**\n * Callback invoked when the dismiss button is clicked.\n */\n onDismiss?: () => void;\n}\n\n/**\n * Displays a contextual feedback message with optional icon, title, description, and dismiss button.\n *\n * @example\n * ```tsx\n * import { Alert, AlertTitle, AlertDescription } from '@customafk/lunas-ui/ui/alert';\n *\n * <Alert variant=\"success\" dismissible onDismiss={() => setOpen(false)}>\n * <AlertTitle>Saved successfully</AlertTitle>\n * <AlertDescription>Your changes have been saved.</AlertDescription>\n * </Alert>\n * ```\n */\nfunction Alert({ className, variant, children, icon, dismissible, onDismiss, ...props }: AlertProps) {\n // Default icons based on variant\n const defaultIcon = useMemo(() => {\n if (!icon) {\n switch (variant) {\n case 'destructive':\n return <AlertCircle />;\n case 'warning':\n return <AlertTriangle />;\n case 'success':\n return <CheckCircle />;\n case 'info':\n return <Info />;\n default:\n return null;\n }\n }\n return icon;\n }, [icon, variant]);\n\n return (\n <div data-slot=\"alert\" role=\"alert\" data-variant={variant} className={cn(alertVariants({ variant }), className)} {...props}>\n {defaultIcon}\n {children}\n {dismissible && (\n <button\n type=\"button\"\n onClick={onDismiss}\n aria-label=\"Close alert\"\n className=\"absolute top-2 right-2 size-6 rounded-md p-1 opacity-70 transition-opacity duration-100 hover:opacity-100\"\n data-slot=\"alert-close\"\n >\n <X size={16} />\n </button>\n )}\n </div>\n );\n}\n\n/**\n * Props for the AlertTitle component.\n */\nexport interface AlertTitleProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Title text or elements to display.\n */\n children: React.ReactNode;\n}\n\n/**\n * Renders the bold title line inside an Alert.\n */\nfunction AlertTitle({ className, ...props }: AlertTitleProps) {\n return <div data-slot=\"alert-title\" className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)} {...props} />;\n}\n\n/**\n * Props for the AlertDescription component.\n */\nexport interface AlertDescriptionProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Descriptive text or elements displayed below the title.\n */\n children: React.ReactNode;\n}\n\n/**\n * Renders the supporting body text inside an Alert.\n */\nfunction AlertDescription({ className, ...props }: AlertDescriptionProps) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn('text-text-positive-weak col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed', className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n"],"mappings":"0MAKA,MAAa,GAAA,EAAA,EAAA,KACX,CACE,iFACA,oBACA,qDACA,8DACA,iCACD,CACD,CACE,SAAU,CACR,QAAS,CACP,QAAS,kDACT,YACE,6IACF,QACE,kJACF,QACE,kJACF,KAAM,mIACP,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,CACF,CCUD,SAAS,EAAM,CAAE,YAAW,UAAS,WAAU,OAAM,cAAa,YAAW,GAAG,GAAqB,CAEnG,IAAM,GAAA,EAAA,EAAA,aAA4B,CAChC,GAAI,CAAC,EACH,OAAQ,EAAR,CACE,IAAK,cACH,OAAO,EAAA,EAAA,KAACA,EAAAA,YAAAA,EAAAA,CAAc,CACxB,IAAK,UACH,OAAO,EAAA,EAAA,KAACC,EAAAA,cAAAA,EAAAA,CAAgB,CAC1B,IAAK,UACH,OAAO,EAAA,EAAA,KAACC,EAAAA,YAAAA,EAAAA,CAAc,CACxB,IAAK,OACH,OAAO,EAAA,EAAA,KAACC,EAAAA,KAAAA,EAAAA,CAAO,CACjB,QACE,OAAO,KAGb,OAAO,GACN,CAAC,EAAM,EAAQ,CAAC,CAEnB,OACE,EAAA,EAAA,MAAC,MAAA,CAAI,YAAU,QAAQ,KAAK,QAAQ,eAAc,EAAS,WAAA,EAAA,EAAA,IAAc,EAAc,CAAE,UAAS,CAAC,CAAE,EAAU,CAAE,GAAI,YAClH,EACA,EACA,IACC,EAAA,EAAA,KAAC,SAAA,CACC,KAAK,SACL,QAAS,EACT,aAAW,cACX,UAAU,4GACV,YAAU,wBAEV,EAAA,EAAA,KAACC,EAAAA,EAAAA,CAAE,KAAM,GAAA,CAAM,EACR,GAEP,CAiBV,SAAS,EAAW,CAAE,YAAW,GAAG,GAA0B,CAC5D,OAAO,EAAA,EAAA,KAAC,MAAA,CAAI,YAAU,cAAc,WAAA,EAAA,EAAA,IAAc,8DAA+D,EAAU,CAAE,GAAI,GAAS,CAgB5I,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAgC,CACxE,OACE,EAAA,EAAA,KAAC,MAAA,CACC,YAAU,oBACV,WAAA,EAAA,EAAA,IAAc,mGAAoG,EAAU,CAC5H,GAAI,GACJ"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as react_jsx_runtime44 from "react/jsx-runtime";
|
|
2
|
+
import * as class_variance_authority_types13 from "class-variance-authority/types";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
|
|
5
|
+
//#region packages/components/ui/alert-variants.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Alert component variants for styling using class-variance-authority
|
|
8
|
+
*/
|
|
9
|
+
declare const alertVariants: (props?: ({
|
|
10
|
+
variant?: "default" | "info" | "success" | "warning" | "destructive" | null | undefined;
|
|
11
|
+
} & class_variance_authority_types13.ClassProp) | undefined) => string;
|
|
12
|
+
type AlertVariantProps = VariantProps<typeof alertVariants>;
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region packages/components/ui/alert.d.ts
|
|
15
|
+
/**
|
|
16
|
+
* Props for the Alert component.
|
|
17
|
+
*/
|
|
18
|
+
interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, Omit<AlertVariantProps, 'className'> {
|
|
19
|
+
/**
|
|
20
|
+
* Optional icon to display in the alert; defaults to a variant-appropriate icon when omitted.
|
|
21
|
+
*/
|
|
22
|
+
icon?: React.ReactNode;
|
|
23
|
+
/**
|
|
24
|
+
* Whether the alert can be dismissed by the user.
|
|
25
|
+
*/
|
|
26
|
+
dismissible?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Callback invoked when the dismiss button is clicked.
|
|
29
|
+
*/
|
|
30
|
+
onDismiss?: () => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Displays a contextual feedback message with optional icon, title, description, and dismiss button.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* import { Alert, AlertTitle, AlertDescription } from '@customafk/lunas-ui/ui/alert';
|
|
38
|
+
*
|
|
39
|
+
* <Alert variant="success" dismissible onDismiss={() => setOpen(false)}>
|
|
40
|
+
* <AlertTitle>Saved successfully</AlertTitle>
|
|
41
|
+
* <AlertDescription>Your changes have been saved.</AlertDescription>
|
|
42
|
+
* </Alert>
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
declare function Alert({
|
|
46
|
+
className,
|
|
47
|
+
variant,
|
|
48
|
+
children,
|
|
49
|
+
icon,
|
|
50
|
+
dismissible,
|
|
51
|
+
onDismiss,
|
|
52
|
+
...props
|
|
53
|
+
}: AlertProps): react_jsx_runtime44.JSX.Element;
|
|
54
|
+
/**
|
|
55
|
+
* Props for the AlertTitle component.
|
|
56
|
+
*/
|
|
57
|
+
interface AlertTitleProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
58
|
+
/**
|
|
59
|
+
* Title text or elements to display.
|
|
60
|
+
*/
|
|
61
|
+
children: React.ReactNode;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Renders the bold title line inside an Alert.
|
|
65
|
+
*/
|
|
66
|
+
declare function AlertTitle({
|
|
67
|
+
className,
|
|
68
|
+
...props
|
|
69
|
+
}: AlertTitleProps): react_jsx_runtime44.JSX.Element;
|
|
70
|
+
/**
|
|
71
|
+
* Props for the AlertDescription component.
|
|
72
|
+
*/
|
|
73
|
+
interface AlertDescriptionProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
74
|
+
/**
|
|
75
|
+
* Descriptive text or elements displayed below the title.
|
|
76
|
+
*/
|
|
77
|
+
children: React.ReactNode;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Renders the supporting body text inside an Alert.
|
|
81
|
+
*/
|
|
82
|
+
declare function AlertDescription({
|
|
83
|
+
className,
|
|
84
|
+
...props
|
|
85
|
+
}: AlertDescriptionProps): react_jsx_runtime44.JSX.Element;
|
|
86
|
+
//#endregion
|
|
87
|
+
export { AlertTitle as a, AlertProps as i, AlertDescription as n, AlertTitleProps as o, AlertDescriptionProps as r, Alert as t };
|
|
88
|
+
//# sourceMappingURL=alert-DwdUOFaC.d.cts.map
|