forlogic-core 2.0.4 → 2.0.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/.note/memory/features/crud-defaults-batteries-included.md +1 -1
- package/dist/auth/services/TokenManager.d.ts +0 -1
- package/dist/components/ui/dialog-wizard.d.ts +82 -0
- package/dist/components/ui/input-group.d.ts +1 -1
- package/dist/components/ui/input.d.ts +5 -23
- package/dist/components/ui/resizable.d.ts +1 -1
- package/dist/components/ui/sidebar.d.ts +1 -1
- package/dist/components/ui/step-selector.d.ts +11 -9
- package/dist/components/ui/textarea.d.ts +1 -0
- package/dist/crud/components/CrudTable.d.ts +3 -1
- package/dist/crud/createCrudPage.d.ts +2 -0
- package/dist/crud/hooks/useColumnManager.d.ts +3 -1
- package/dist/exports/ui.d.ts +1 -0
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/types.d.ts +3 -0
- package/docs/design-system/README.md +2 -2
- package/docs/design-system/buttons-actions.md +6 -0
- package/docs/design-system/domain.md +10 -0
- package/docs/design-system/inputs.md +20 -0
- package/docs/design-system/navigation.md +5 -0
- package/docs/design-system/notifications-feedback.md +2 -0
- package/package.json +1 -1
- package/dist/assets/AccordionDoc-CGNlubG3.js +0 -31
- package/dist/assets/ActionButtonDoc-CYtkXR0k.js +0 -47
- package/dist/assets/ActionPlanDoc-BSuPRftQ.js +0 -65
- package/dist/assets/AlertDoc-Cpvxneqg.js +0 -37
- package/dist/assets/AliasUrlDoc-DIpUWf4Y.js +0 -189
- package/dist/assets/AppHeaderDoc-DNQErj_t.js +0 -74
- package/dist/assets/AppSidebarDoc-DkeQarDu.js +0 -221
- package/dist/assets/ApprovalFlowDoc-8YgXbhKJ.js +0 -31
- package/dist/assets/AuditLogDoc-BBvNcHIo.js +0 -67
- package/dist/assets/AuditTrailDoc-DgFHO-uo.js +0 -17
- package/dist/assets/AuthDoc-WIA_Aetl.js +0 -200
- package/dist/assets/AvatarDoc-B6go1C1T.js +0 -11
- package/dist/assets/BadgeDoc-BONhfqB_.js +0 -36
- package/dist/assets/BaseFormDoc-CuyUArcj.js +0 -169
- package/dist/assets/BodyContentDoc-CterHC1E.js +0 -83
- package/dist/assets/BreadcrumbDoc-Dwn9nLeO.js +0 -75
- package/dist/assets/ButtonDoc-BOjRseZT.js +0 -41
- package/dist/assets/ButtonGroupDoc-8IS6PPh4.js +0 -7
- package/dist/assets/CalendarDoc-CMwIEqgT.js +0 -81
- package/dist/assets/CardDoc-BZz1CVg2.js +0 -49
- package/dist/assets/ChartDoc-B5vZVtqD.js +0 -76
- package/dist/assets/CheckboxDoc-lAbYO9I5.js +0 -55
- package/dist/assets/ColorPickerDoc-Dpsprp4N.js +0 -10
- package/dist/assets/ColorsFoundationDoc-CCHeSL3p.js +0 -13
- package/dist/assets/ComboTreeDoc-D4dTkIt-.js +0 -46
- package/dist/assets/ComboboxDoc-CqqZPvZq.js +0 -134
- package/dist/assets/ComponentDocTemplate-CQbBhfvZ.js +0 -1
- package/dist/assets/ContextMenuDoc-D3jC-MVA.js +0 -182
- package/dist/assets/ContextsDoc-XFH0-JdS.js +0 -211
- package/dist/assets/CreateCrudPageDoc-CpuiWI-g.js +0 -106
- package/dist/assets/CrudActionBarDoc-wuBGXD9Y.js +0 -112
- package/dist/assets/CrudGridDoc-BYWqSXBH.js +0 -85
- package/dist/assets/CrudOverviewDoc-B_bk2a2t.js +0 -14
- package/dist/assets/CrudPrimitivesDoc-CxaTB94A.js +0 -164
- package/dist/assets/CrudTableDoc-Dga1VgCu.js +0 -113
- package/dist/assets/CustomFormFieldsDoc-C1hwwSl3.js +0 -33
- package/dist/assets/DashboardFormDoc-BUDCmrMl.js +0 -49
- package/dist/assets/DashboardGeneralViewDoc-Cyg1SIiG.js +0 -71
- package/dist/assets/DashboardGridDoc-BavePiRF.js +0 -49
- package/dist/assets/DashboardListDoc-CLyMA6UK.js +0 -37
- package/dist/assets/DashboardOverviewDoc-DRVvNIF1.js +0 -35
- package/dist/assets/DashboardPanelRendererDoc--mfwb8Nc.js +0 -60
- package/dist/assets/DashboardPanelsBasicDoc-BQ2V_52D.js +0 -62
- package/dist/assets/DashboardPanelsCartesianDoc-sy-hcVQY.js +0 -75
- package/dist/assets/DashboardPanelsSpecialDoc-DsIUCRRP.js +0 -83
- package/dist/assets/DashboardViewDoc-CtlCNlEF.js +0 -45
- package/dist/assets/DataListDoc-DUy88lCQ.js +0 -13
- package/dist/assets/DesignSystemHome-DHl9YtbH.js +0 -1
- package/dist/assets/DialogDoc-CMQqnTV-.js +0 -981
- package/dist/assets/DropdownMenuDoc-S7X9csGt.js +0 -175
- package/dist/assets/ElectronicSignatureDialogDoc-BfithaL_.js +0 -57
- package/dist/assets/EmptyStateDoc-CHGCiGIk.js +0 -35
- package/dist/assets/EnvironmentsDoc-DZHJZ2nm.js +0 -96
- package/dist/assets/ErrorBoundaryDoc-DoaAg68p.js +0 -111
- package/dist/assets/ExampleActionPlanPage-C0fIMZCD.js +0 -1
- package/dist/assets/ExampleAppDoc-DzIU81Fn.js +0 -1
- package/dist/assets/ExampleCard-DuLrb3t-.js +0 -1
- package/dist/assets/ExampleCrudReportsPage-M0pz6tdM.js +0 -1
- package/dist/assets/ExampleDashboardPage-CRG5r3Vw.js +0 -1
- package/dist/assets/ExampleIdeasPage-I84ZMLY4.js +0 -1
- package/dist/assets/ExampleImportWizardPage-h4YqrrSe.js +0 -1
- package/dist/assets/ExampleSettingsPage-CwdWqoaP.js +0 -1
- package/dist/assets/FileUploadDoc-9-UujFNX.js +0 -34
- package/dist/assets/FilterBar-DDTqqUfZ.js +0 -1
- package/dist/assets/FormDoc-CVES6n3d.js +0 -81
- package/dist/assets/FoundationOverview-DT0u11Gz.js +0 -1
- package/dist/assets/GridDoc-CbHFSILF.js +0 -28
- package/dist/assets/HooksDoc-Ctxdk6Wq.js +0 -665
- package/dist/assets/HoverCardDoc-8Wkaafdj.js +0 -31
- package/dist/assets/I18nDoc-D3Q2m7ik.js +0 -167
- package/dist/assets/IconPickerDoc-DZ26Gdpg.js +0 -10
- package/dist/assets/IconsFoundationDoc-xOxtC7CW.js +0 -33
- package/dist/assets/InputDoc-BhztAiuJ.js +0 -211
- package/dist/assets/LabelDoc-A4hmTRRV.js +0 -42
- package/dist/assets/LeadershipDoc-CqOSfWsP.js +0 -452
- package/dist/assets/MediaDoc-C78gvC8p.js +0 -459
- package/dist/assets/MenubarDoc-DCnmd2tO.js +0 -165
- package/dist/assets/ModuleAccessDoc-CmD5nHDp.js +0 -153
- package/dist/assets/ModulesDialogDoc-DVit1CA-.js +0 -46
- package/dist/assets/MultiselectPermissionsDoc-tlJMs04L.js +0 -34
- package/dist/assets/NavigationMenuDoc-q1fbc89j.js +0 -116
- package/dist/assets/OnboardingDialogDoc-3A3eBYrq.js +0 -55
- package/dist/assets/PaginationDoc-B8-bMz5J.js +0 -27
- package/dist/assets/PaginationDoc-BkGdxHL3.js +0 -98
- package/dist/assets/PlacesDoc-CKPO6ATs.js +0 -226
- package/dist/assets/PopoverDoc-CJPU4Ags.js +0 -64
- package/dist/assets/ProgressDoc-CpjbTL4o.js +0 -29
- package/dist/assets/QualiexUserFieldDoc-DDwumlRw.js +0 -149
- package/dist/assets/RadioGroupDoc-D6tSZz8G.js +0 -57
- package/dist/assets/RadiusDoc-B4xSnajw.js +0 -7
- package/dist/assets/ReportRequestListDoc-C0LIaU8P.js +0 -15
- package/dist/assets/RequiredFieldsCounterDoc-COesoSdx.js +0 -58
- package/dist/assets/ResizableDoc-CW0-XQuB.js +0 -104
- package/dist/assets/RichTextEditorDoc-C8c_XA9P.js +0 -24
- package/dist/assets/ScrollAreaDoc-BxtoAPaZ.js +0 -28
- package/dist/assets/SecurityDoc-wOVqpg2F.js +0 -204
- package/dist/assets/SelectDoc-C75gtY9D.js +0 -80
- package/dist/assets/SeparatorDoc-BjQBPB1P.js +0 -4
- package/dist/assets/ServicesDoc-CXTctwBl.js +0 -308
- package/dist/assets/ShadowsDoc-C6Lw8_x2.js +0 -9
- package/dist/assets/SignDoc-Bh5ZUg5x.js +0 -66
- package/dist/assets/SkeletonDoc-rTLGK5VE.js +0 -54
- package/dist/assets/SliderDoc-JMAMDub7.js +0 -41
- package/dist/assets/SpacingDoc-RljOrpwA.js +0 -12
- package/dist/assets/SplitButtonDoc-CvShUW3w.js +0 -53
- package/dist/assets/StepSelectorDoc-C-nAap9H.js +0 -41
- package/dist/assets/SwitchDoc-DLnqmkPr.js +0 -56
- package/dist/assets/TableDoc-B8EpWLVg.js +0 -128
- package/dist/assets/TabsDoc-DIBtl_uC.js +0 -42
- package/dist/assets/TeamSelectorDoc-B7OnCbL7.js +0 -10
- package/dist/assets/TermsOfUseDoc-Bb-pw08s.js +0 -16
- package/dist/assets/TextareaDoc-DGnqMqEC.js +0 -46
- package/dist/assets/ToastDoc-DjYyc7ae.js +0 -157
- package/dist/assets/ToggleDoc-C9ZOVjkY.js +0 -51
- package/dist/assets/TooltipDoc-BEx4l9-i.js +0 -58
- package/dist/assets/TruncatedCellDoc-BbV1bRSY.js +0 -12
- package/dist/assets/TypographyFoundationDoc-CUDYjRo9.js +0 -7
- package/dist/assets/UpdatesNotificationDoc-7nyjzLMJ.js +0 -29
- package/dist/assets/UsersGroupsSelectorDoc-C0KlTAL5.js +0 -18
- package/dist/assets/UtilitiesDoc-DGxaHVV1.js +0 -145
- package/dist/assets/ViewerDialogsDoc-CnTPTEz0.js +0 -1
- package/dist/assets/blocks-B6LrJeAM.js +0 -1
- package/dist/assets/building-DeVappnD.js +0 -1
- package/dist/assets/calendar-days-BQ0na5kM.js +0 -1
- package/dist/assets/check-check-C_-PJCJa.js +0 -1
- package/dist/assets/circle-plus-CpIcep-O.js +0 -1
- package/dist/assets/circle-x-jPpBPew0.js +0 -1
- package/dist/assets/clipboard-list-CXNPdciZ.js +0 -1
- package/dist/assets/cloud-upload-BEjzumjl.js +0 -1
- package/dist/assets/crown-CqNsQIsm.js +0 -1
- package/dist/assets/date-picker-BW3eGOe_.js +0 -1
- package/dist/assets/disabled-menu-item-C2YaMvSt.js +0 -1
- package/dist/assets/drawer-D5rflIcD.js +0 -3
- package/dist/assets/file-braces-DFb5X9so.js +0 -1
- package/dist/assets/file-pen-line-CyUGKkEN.js +0 -1
- package/dist/assets/git-branch-BcXv9mpp.js +0 -1
- package/dist/assets/globe-CpMIWAcv.js +0 -1
- package/dist/assets/hash-cQWdKjya.js +0 -1
- package/dist/assets/hourglass-BahQ3eDv.js +0 -1
- package/dist/assets/hover-card-R66N85sZ.js +0 -1
- package/dist/assets/iframe-dialog-V0mW5aBb.js +0 -1
- package/dist/assets/index-DkiftrvI.js +0 -352
- package/dist/assets/index-nmBjO9Th.css +0 -1
- package/dist/assets/life-buoy-ByXiPddz.js +0 -1
- package/dist/assets/loading-state-Cb5_t5uE.js +0 -1
- package/dist/assets/lucide-react-Cp3Yw3Zm.js +0 -1
- package/dist/assets/package-B3-pVvPM.js +0 -1
- package/dist/assets/pen-Bi_lmmKT.js +0 -1
- package/dist/assets/pin-DVsSl8QA.js +0 -1
- package/dist/assets/printer-BnJ8B6m-.js +0 -1
- package/dist/assets/radio-group-BHAaNGsm.js +0 -1
- package/dist/assets/server-CtzFTfKR.js +0 -1
- package/dist/assets/share-2-Dv8Do445.js +0 -1
- package/dist/assets/shield-check-CFXjOV_w.js +0 -1
- package/dist/assets/shield-x-DJTRfVux.js +0 -1
- package/dist/assets/slider-v9tXBSnB.js +0 -1
- package/dist/assets/smartphone-BSNR60L7.js +0 -1
- package/dist/assets/step-selector-ATTh_9Wa.js +0 -1
- package/dist/assets/text-align-start-qE-MbYYw.js +0 -1
- package/dist/assets/thumbs-up-D_XIW_uX.js +0 -1
- package/dist/assets/trash-DTWQwpwA.js +0 -1
- package/dist/assets/trending-up-jip5-leJ.js +0 -1
- package/dist/assets/useMockCrud-CN4vjyOZ.js +0 -1
- package/dist/assets/user-check-BlH3EDWK.js +0 -1
- package/dist/assets/user-plus-BqwXwD-c.js +0 -1
- package/dist/index.html +0 -33
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import{bt as z,r as l,bu as ce,bv as Kr,bw as b,bx as $r,by as W,bz as Wa,bA as Nr,bB as Fa,bC as Ze,bD as Mr,bE as zr,bF as Wr,bG as Xe,bH as ke,bI as Fr,bJ as Gr,bK as qr,bL as Vr,bM as Hr,bN as Ur,bO as Q,bP as R,bQ as X,bR as me,bS as pe,bT as I,bU as N,bV as Ga,bW as qa,bX as Je,bY as Va,bZ as Ha,b_ as Oe,b$ as Yr,c0 as Zr,c1 as Xr,c2 as $,c3 as Jr,c4 as Qr,c5 as Ua,c6 as Qe,c7 as Ee,c8 as Ya,c9 as Za,ca as et,cb as at,cc as rt,cd as Xa,ce as tt,cf as xe,cg as nt,ch as ea,ci as aa,cj as Ja,ck as oe,cl as Qa,cm as er,cn as ar,co as ra,cp as rr,cq as it,cr as We,cs as Fe,ct as tr,cu as nr,cv as ir,cw as ot,cx as Z,cy as lt,cz as st,cA as ct,cB as ut,cC as dt,cD as ft,cE as or,cF as vt,cG as mt,cH as pt,cI as yt,cJ as gt,cK as ht,cL as xt,cM as bt,cN as Pt,cO as jt,cP as At,cQ as kt,cR as lr,cS as Ot,aD as ta,cT as Et,cU as St,cV as fa,cW as Ct,cX as wt,cY as Rt,cZ as Bt,c_ as Lt,c$ as va,d0 as sr,d1 as cr,d2 as ur,ay as It,az as _t,j as o,at as Dt,o as q,au as na,av as ee,aw as ae,ax as re,aA as ie,aE as dr,aF as Ge,d3 as fr,d4 as ue,aB as vr,aC as mr}from"./index-DkiftrvI.js";import{C as Tt}from"./ComponentDocTemplate-CQbBhfvZ.js";import"./ExampleCard-DuLrb3t-.js";var Kt=["points","className","baseLinePoints","connectNulls"],ma;function ne(){return ne=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},ne.apply(null,arguments)}function $t(e,a){if(e==null)return{};var r,t,n=Nt(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)r=i[t],a.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Nt(e,a){if(e==null)return{};var r={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(a.indexOf(t)!==-1)continue;r[t]=e[t]}return r}function Mt(e,a){return a||(a=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(a)}}))}var pa=e=>e!=null&&e.x===+e.x&&e.y===+e.y,zt=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=[[]];a.forEach(s=>{var c=r[r.length-1];pa(s)?c&&c.push(s):c&&c.length>0&&r.push([])});var t=a[0],n=r[r.length-1];pa(t)&&n&&n.push(t);var i=r[r.length-1];return i&&i.length<=0&&(r=r.slice(0,-1)),r},de=(e,a)=>{var r=zt(e);a&&(r=[r.reduce((n,i)=>[...n,...i],[])]);var t=r.map(n=>n.reduce((i,s,c)=>Kr(ma||(ma=Mt(["","","",",",""])),i,c===0?"M":"L",s.x,s.y),"")).join("");return r.length===1?"".concat(t,"Z"):t},Wt=(e,a,r)=>{var t=de(e,r);return"".concat(t.slice(-1)==="Z"?t.slice(0,-1):t,"L").concat(de(Array.from(a).reverse(),r).slice(1))},pr=e=>{var{points:a,className:r,baseLinePoints:t,connectNulls:n}=e,i=$t(e,Kt);if(!a||!a.length)return null;var s=z("recharts-polygon",r);if(t&&t.length){var c=i.stroke&&i.stroke!=="none",u=Wt(a,t,n);return l.createElement("g",{className:s},l.createElement("path",ne({},ce(i),{fill:u.slice(-1)==="Z"?i.fill:"none",stroke:"none",d:u})),c?l.createElement("path",ne({},ce(i),{fill:"none",d:de(a,n)})):null,c?l.createElement("path",ne({},ce(i),{fill:"none",d:de(t,n)})):null)}var d=de(a,n);return l.createElement("path",ne({},ce(i),{fill:d.slice(-1)==="Z"?i.fill:"none",className:s,d}))},ia=(e,a,r)=>{switch(a){case"angleAxis":return ke(e,r);case"radiusAxis":return Xe(e,r);default:throw new Error("Unexpected axis type: ".concat(a))}},oa=(e,a,r)=>{switch(a){case"angleAxis":return Gr(e,r);case"radiusAxis":return Fr(e,r);default:throw new Error("Unexpected axis type: ".concat(a))}},Ft=b([ia,Wa,zr,oa],Wr),H=b([Ft],$r),yr=b([W,qr,Vr,Ze],Hr),te=b([W,ia,Wa,H,Nr,oa,Fa,yr,Ze],Mr),Gt=b([te],e=>{if(e){var a=new Map;return e.forEach(r=>{var t=(r.coordinate+360)%360;a.has(t)||a.set(t,r)}),Array.from(a.values())}}),qt=b([W,ia,H,oa,Fa,yr,Ze],Ur),Vt=(e,a)=>te(e,"angleAxis",a,!1),Ht=b([Vt],e=>{if(e)return e.map(a=>a.coordinate)}),Ut=(e,a)=>te(e,"radiusAxis",a,!1),Yt=b([Ut],e=>{if(e)return e.map(a=>a.coordinate)}),Zt=["gridType","radialLines","angleAxisId","radiusAxisId","cx","cy","innerRadius","outerRadius","polarAngles","polarRadius","zIndex"];function Xt(e,a){if(e==null)return{};var r,t,n=Jt(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)r=i[t],a.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Jt(e,a){if(e==null)return{};var r={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(a.indexOf(t)!==-1)continue;r[t]=e[t]}return r}function T(){return T=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},T.apply(null,arguments)}function ya(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,t)}return r}function Se(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?ya(Object(r),!0).forEach(function(t){Qt(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ya(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Qt(e,a,r){return(a=en(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function en(e){var a=an(e,"string");return typeof a=="symbol"?a:a+""}function an(e,a){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,a);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}var rn=(e,a,r,t)=>{var n="";return t.forEach((i,s)=>{var c=N(a,r,e,i);s?n+="L ".concat(c.x,",").concat(c.y):n+="M ".concat(c.x,",").concat(c.y)}),n+="Z",n},tn=e=>{var{cx:a,cy:r,innerRadius:t,outerRadius:n,polarAngles:i,radialLines:s}=e;if(!i||!i.length||!s)return null;var c=Se({stroke:"#ccc"},I(e));return l.createElement("g",{className:"recharts-polar-grid-angle"},i.map(u=>{var d=N(a,r,t,u),y=N(a,r,n,u);return l.createElement("line",T({key:"line-".concat(u)},c,{x1:d.x,y1:d.y,x2:y.x,y2:y.y}))}))},ga=e=>{var{cx:a,cy:r,radius:t}=e,n=Se({stroke:"#ccc",fill:"none"},I(e));return l.createElement("circle",T({},n,{className:z("recharts-polar-grid-concentric-circle",e.className),cx:a,cy:r,r:t}))},ha=e=>{var{radius:a}=e,r=Se({stroke:"#ccc",fill:"none"},I(e));return l.createElement("path",T({},r,{className:z("recharts-polar-grid-concentric-polygon",e.className),d:rn(a,e.cx,e.cy,e.polarAngles)}))},nn=e=>{var{polarRadius:a,gridType:r}=e;if(!a||!a.length)return null;var t=Math.max(...a),n=e.fill&&e.fill!=="none";return l.createElement("g",{className:"recharts-polar-grid-concentric"},n&&r==="circle"&&l.createElement(ga,T({},e,{radius:t})),n&&r!=="circle"&&l.createElement(ha,T({},e,{radius:t})),a.map((i,s)=>{var c=s;return r==="circle"?l.createElement(ga,T({key:c},e,{fill:"none",radius:i})):l.createElement(ha,T({key:c},e,{fill:"none",radius:i}))}))},on={angleAxisId:0,radiusAxisId:0,gridType:"polygon",radialLines:!0,zIndex:me.grid},gr=e=>{var a,r,t,n,i,s,c,u,d=Q(e,on),{gridType:y,radialLines:v,angleAxisId:m,radiusAxisId:g,cx:x,cy:k,innerRadius:j,outerRadius:f,polarAngles:p,polarRadius:A,zIndex:P}=d,O=Xt(d,Zt),h=R(pe),E=R(Y=>Ht(Y,m)),S=R(Y=>Yt(Y,g)),B=Array.isArray(p)?p:E,D=Array.isArray(A)?A:S;if(B==null||D==null)return null;var U=Se({cx:(a=(r=h?.cx)!==null&&r!==void 0?r:x)!==null&&a!==void 0?a:0,cy:(t=(n=h?.cy)!==null&&n!==void 0?n:k)!==null&&t!==void 0?t:0,innerRadius:(i=(s=h?.innerRadius)!==null&&s!==void 0?s:j)!==null&&i!==void 0?i:0,outerRadius:(c=(u=h?.outerRadius)!==null&&u!==void 0?u:f)!==null&&c!==void 0?c:0,polarAngles:B,polarRadius:D,zIndex:P},O),{outerRadius:se}=U;return se<=0?null:l.createElement(X,{zIndex:U.zIndex},l.createElement("g",{className:"recharts-polar-grid"},l.createElement(nn,T({gridType:y,radialLines:v},U,{polarAngles:B,polarRadius:D})),l.createElement(tn,T({gridType:y,radialLines:v},U,{polarAngles:B,polarRadius:D}))))};gr.displayName="PolarGrid";var Le={},Ie={},xa;function ln(){return xa||(xa=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function a(r,t){if(r.length===0)return;let n=r[0],i=t(n,0,r);for(let s=1;s<r.length;s++){const c=r[s],u=t(c,s,r);u>i&&(i=u,n=c)}return n}e.maxBy=a})(Ie)),Ie}var ba;function sn(){return ba||(ba=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const a=ln(),r=qa(),t=Ga();function n(i,s){if(i!=null)return a.maxBy(Array.from(i),t.iteratee(s??r.identity))}e.maxBy=n})(Le)),Le}var _e,Pa;function cn(){return Pa||(Pa=1,_e=sn().maxBy),_e}var un=cn();const dn=Je(un);var De={},Te={},ja;function fn(){return ja||(ja=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function a(r,t){if(r.length===0)return;let n=r[0],i=t(n,0,r);for(let s=1;s<r.length;s++){const c=r[s],u=t(c,s,r);u<i&&(i=u,n=c)}return n}e.minBy=a})(Te)),Te}var Aa;function vn(){return Aa||(Aa=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const a=fn(),r=qa(),t=Ga();function n(i,s){if(i!=null)return a.minBy(Array.from(i),t.iteratee(s??r.identity))}e.minBy=n})(De)),De}var Ke,ka;function mn(){return ka||(ka=1,Ke=vn().minBy),Ke}var pn=mn();const yn=Je(pn);var gn=["type"],hn=["cx","cy","angle","axisLine"],xn=["angle","tickFormatter","stroke","tick"];function fe(){return fe=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},fe.apply(null,arguments)}function Oa(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,t)}return r}function K(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?Oa(Object(r),!0).forEach(function(t){bn(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Oa(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function bn(e,a,r){return(a=Pn(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function Pn(e){var a=jn(e,"string");return typeof a=="symbol"?a:a+""}function jn(e,a){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,a);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}function la(e,a){if(e==null)return{};var r,t,n=An(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)r=i[t],a.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function An(e,a){if(e==null)return{};var r={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(a.indexOf(t)!==-1)continue;r[t]=e[t]}return r}var kn="radiusAxis";function On(e){var a=Va(),r=Ha(),t=l.useMemo(()=>{var{type:n}=e,i=la(e,gn),s=Ua(r,"radiusAxis",n);if(s!=null)return K(K({},i),{},{type:s})},[e,r]);return l.useEffect(()=>t==null?Oe:(a(Yr(t)),()=>{a(Zr(t))}),[a,t]),null}var En=(e,a,r,t)=>{var{coordinate:n}=e;return N(r,t,n,a)},Sn=e=>{var a;switch(e){case"left":a="end";break;case"right":a="start";break;default:a="middle";break}return a},Cn=(e,a,r,t)=>{var n=dn(t,s=>s.coordinate||0),i=yn(t,s=>s.coordinate||0);return{cx:a,cy:r,startAngle:e,endAngle:e,innerRadius:i?.coordinate||0,outerRadius:n?.coordinate||0,clockWise:!1}},wn=(e,a)=>{var{cx:r,cy:t,angle:n,axisLine:i}=e,s=la(e,hn),c=a.reduce((v,m)=>[Math.min(v[0],m.coordinate),Math.max(v[1],m.coordinate)],[1/0,-1/0]),u=N(r,t,c[0],n),d=N(r,t,c[1],n),y=K(K(K({},I(s)),{},{fill:"none"},I(i)),{},{x1:u.x,y1:u.y,x2:d.x,y2:d.y});return l.createElement("line",fe({className:"recharts-polar-radius-axis-line"},y))},Rn=(e,a,r)=>{var t;return l.isValidElement(e)?t=l.cloneElement(e,a):typeof e=="function"?t=e(a):t=l.createElement(Za,fe({},a,{className:"recharts-polar-radius-axis-tick-value"}),r),t},Bn=(e,a)=>{var{angle:r,tickFormatter:t,stroke:n,tick:i}=e,s=la(e,xn),c=Sn(e.orientation),u=I(s),d=Qe(i),y=a.map((v,m)=>{var g=En(v,e.angle,e.cx,e.cy),x=K(K(K(K({textAnchor:c,transform:"rotate(".concat(90-r,", ").concat(g.x,", ").concat(g.y,")")},u),{},{stroke:"none",fill:n},d),{},{index:m},g),{},{payload:v});return l.createElement($,fe({className:z("recharts-polar-radius-axis-tick",Ya(i)),key:"tick-".concat(v.coordinate)},Ee(e,v,m)),Rn(i,x,t?t(v.value,m):v.value))});return l.createElement($,{className:"recharts-polar-radius-axis-ticks"},y)},Ln=e=>{var{radiusAxisId:a}=e,r=R(pe),t=R(u=>H(u,"radiusAxis",a)),n=R(u=>te(u,"radiusAxis",a,!1));if(r==null||!n||!n.length||t==null)return null;var i=K(K({},e),{},{scale:t},r),{tick:s,axisLine:c}=i;return l.createElement(X,{zIndex:i.zIndex},l.createElement($,{className:z("recharts-polar-radius-axis",kn,i.className)},c&&wn(i,n),s&&Bn(i,n),l.createElement(Jr,Cn(i.angle,i.cx,i.cy,n),l.createElement(Qr,{label:i.label}),i.children)))};function hr(e){var a,r=Q(e,Xr);return l.createElement(l.Fragment,null,l.createElement(On,{domain:r.domain,id:r.radiusAxisId,scale:r.scale,type:r.type,dataKey:r.dataKey,unit:void 0,name:r.name,allowDuplicatedCategory:r.allowDuplicatedCategory,allowDataOverflow:r.allowDataOverflow,reversed:r.reversed,includeHidden:r.includeHidden,allowDecimals:r.allowDecimals,niceTicks:(a=r.niceTicks)!==null&&a!==void 0?a:"auto",ticks:r.ticks,tickCount:r.tickCount,tick:r.tick}),l.createElement(Ln,r))}hr.displayName="PolarRadiusAxis";var In=["children","type"],_n=["ref"];function J(){return J=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},J.apply(null,arguments)}function Ea(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,t)}return r}function L(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?Ea(Object(r),!0).forEach(function(t){Dn(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ea(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Dn(e,a,r){return(a=Tn(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function Tn(e){var a=Kn(e,"string");return typeof a=="symbol"?a:a+""}function Kn(e,a){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,a);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}function xr(e,a){if(e==null)return{};var r,t,n=$n(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)r=i[t],a.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $n(e,a){if(e==null)return{};var r={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(a.indexOf(t)!==-1)continue;r[t]=e[t]}return r}var Sa=1e-5,Nn=Math.cos(xe(45)),Mn="angleAxis";function zn(e){var a=Va(),r=Ha(),t=l.useMemo(()=>{var{children:s,type:c}=e,u=xr(e,In),d=Ua(r,"angleAxis",c);if(d!=null)return L(L({},u),{},{type:d})},[e,r]),n=R(s=>ke(s,t?.id)),i=t===n;return l.useEffect(()=>t==null?Oe:(a(et(t)),()=>{a(at(t))}),[a,t]),i?e.children:null}var Wn=(e,a)=>{var{cx:r,cy:t,radius:n,orientation:i,tickSize:s}=a,c=s||8,u=N(r,t,n,e.coordinate),d=N(r,t,n+(i==="inner"?-1:1)*c,e.coordinate);return{x1:u.x,y1:u.y,x2:d.x,y2:d.y}},Fn=(e,a)=>{var r=Math.cos(xe(-e.coordinate));return r>Sa?a==="outer"?"start":"end":r<-Sa?a==="outer"?"end":"start":"middle"},Gn=e=>{var a=Math.cos(xe(-e.coordinate)),r=Math.sin(xe(-e.coordinate));return Math.abs(a)<=Nn?r>0?"start":"end":"middle"},qn=e=>{var{cx:a,cy:r,radius:t,axisLineType:n,axisLine:i,ticks:s}=e;if(!i)return null;var c=L(L({},I(e)),{},{fill:"none"},I(i));if(n==="circle")return l.createElement(tt,J({className:"recharts-polar-angle-axis-line"},c,{cx:a,cy:r,r:t}));var u=s.map(d=>N(a,r,t,d.coordinate));return l.createElement(pr,J({className:"recharts-polar-angle-axis-line"},c,{points:u}))},Vn=e=>{var{tick:a,tickProps:r,value:t}=e;return a?l.isValidElement(a)?l.cloneElement(a,r):typeof a=="function"?a(r):l.createElement(Za,J({},r,{className:"recharts-polar-angle-axis-tick-value"}),t):null},Hn=e=>{var{tick:a,tickLine:r,tickFormatter:t,stroke:n,ticks:i}=e,s=I(e),{ref:c}=s,u=xr(s,_n),d=Qe(a),y=L(L({},u),{},{fill:"none"},I(r)),v=i.map((m,g)=>{var x=Wn(m,e),k=Fn(m,e.orientation),j=Gn(m),f=L(L(L({},u),{},{textAnchor:k,verticalAnchor:j,stroke:"none",fill:n},d),{},{index:g,payload:m,x:x.x2,y:x.y2});return l.createElement($,J({className:z("recharts-polar-angle-axis-tick",Ya(a)),key:"tick-".concat(m.coordinate)},Ee(e,m,g)),r&&l.createElement("line",J({className:"recharts-polar-angle-axis-tick-line"},y,x)),l.createElement(Vn,{tick:a,tickProps:f,value:t?t(m.value,g):m.value}))});return l.createElement($,{className:"recharts-polar-angle-axis-ticks"},v)},Un=e=>{var{angleAxisId:a}=e,r=R(pe),t=R(c=>H(c,"angleAxis",a)),n=Xa(),i=R(c=>Gt(c,"angleAxis",a,n));if(r==null||!i||!i.length||t==null)return null;var s=L(L(L({},e),{},{scale:t},r),{},{radius:r.outerRadius,ticks:i});return l.createElement(X,{zIndex:s.zIndex},l.createElement($,{className:z("recharts-polar-angle-axis",Mn,s.className)},l.createElement(qn,s),l.createElement(Hn,s)))};function br(e){var a,r=Q(e,rt);return l.createElement(zn,{id:r.angleAxisId,scale:r.scale,type:r.type,dataKey:r.dataKey,unit:void 0,name:r.name,allowDuplicatedCategory:!1,allowDataOverflow:!1,reversed:r.reversed,includeHidden:!1,allowDecimals:r.allowDecimals,tickCount:r.tickCount,niceTicks:(a=r.niceTicks)!==null&&a!==void 0?a:"auto",ticks:r.ticks,tick:r.tick,domain:r.domain},l.createElement(Un,r))}br.displayName="PolarAngleAxis";var $e={},Ne={},Ca;function Yn(){return Ca||(Ca=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function a(r){return r[r.length-1]}e.last=a})(Ne)),Ne}var Me={},wa;function Zn(){return wa||(wa=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function a(r){return Array.isArray(r)?r:Array.from(r)}e.toArray=a})(Me)),Me}var Ra;function Xn(){return Ra||(Ra=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const a=Yn(),r=Zn(),t=nt();function n(i){if(t.isArrayLike(i))return a.last(r.toArray(i))}e.last=n})($e)),$e}var ze,Ba;function Jn(){return Ba||(Ba=1,ze=Xn().last),ze}var Qn=Jn();const ei=Je(Qn);function La(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,t)}return r}function be(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?La(Object(r),!0).forEach(function(t){ai(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):La(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ai(e,a,r){return(a=ri(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function ri(e){var a=ti(e,"string");return typeof a=="symbol"?a:a+""}function ti(e,a){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,a);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}var Pr=(e,a)=>H(e,"radiusAxis",a),ni=b([Pr],e=>{if(e!=null)return{scale:e}}),ii=b([Xe,Pr],(e,a)=>{if(!(e==null||a==null))return be(be({},e),{},{scale:a})}),oi=(e,a,r,t)=>te(e,"radiusAxis",a,t),jr=(e,a,r)=>ke(e,r),Ar=(e,a,r)=>H(e,"angleAxis",r),li=b([jr,Ar],(e,a)=>{if(!(e==null||a==null))return be(be({},e),{},{scale:a})}),si=(e,a,r,t)=>te(e,"angleAxis",r,t),ci=b([jr,Ar,pe],(e,a,r)=>{if(!(r==null||a==null))return{scale:a,type:e.type,dataKey:e.dataKey,cx:r.cx,cy:r.cy}}),ui=(e,a,r,t,n)=>n,di=b([W,ii,oi,li,si],(e,a,r,t,n)=>Ja(e,"radiusAxis")?oe(a,r,!1):oe(t,n,!1)),fi=b([aa,ui],(e,a)=>{if(e!=null){var r=e.find(t=>t.type==="radar"&&a===t.id);return r?.dataKey}}),vi=b([ni,ci,ea,fi,di],(e,a,r,t,n)=>{var{chartData:i,dataStartIndex:s,dataEndIndex:c}=r;if(!(e==null||a==null||i==null||n==null||t==null)){var u=i.slice(s,c+1);return Ai({radiusAxis:e,angleAxis:a,displayedData:u,dataKey:t,bandSize:n})}}),mi=["id"];function ve(){return ve=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},ve.apply(null,arguments)}function Ia(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,t)}return r}function w(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?Ia(Object(r),!0).forEach(function(t){pi(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ia(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function pi(e,a,r){return(a=yi(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function yi(e){var a=gi(e,"string");return typeof a=="symbol"?a:a+""}function gi(e,a){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,a);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}function hi(e,a){if(e==null)return{};var r,t,n=xi(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)r=i[t],a.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function xi(e,a){if(e==null)return{};var r={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(a.indexOf(t)!==-1)continue;r[t]=e[t]}return r}function sa(e,a){return e&&e!=="none"?e:a}var bi=e=>{var{dataKey:a,name:r,stroke:t,fill:n,legendType:i,hide:s}=e;return[{inactive:s,dataKey:a,type:i,color:sa(t,n),value:ra(r,a),payload:e}]},Pi=l.memo(e=>{var{dataKey:a,stroke:r,strokeWidth:t,fill:n,name:i,hide:s,tooltipType:c,id:u}=e,d={dataDefinedOnItem:void 0,getPosition:Oe,settings:{stroke:r,strokeWidth:t,fill:n,nameKey:void 0,dataKey:a,name:ra(i,a),hide:s,type:c,color:sa(r,n),unit:"",graphicalItemId:u}};return l.createElement(rr,{tooltipEntrySettings:d})});function ji(e){var{points:a,props:r}=e,{dot:t,dataKey:n}=r,{id:i}=r,s=hi(r,mi),c=I(s);return l.createElement(lt,{points:a,dot:t,className:"recharts-radar-dots",dotClassName:"recharts-radar-dot",dataKey:n,baseProps:c})}function Ai(e){var{radiusAxis:a,angleAxis:r,displayedData:t,dataKey:n,bandSize:i}=e,{cx:s,cy:c}=r,u=!1,d=[],y=r.type!=="number"?i??0:0;t.forEach((m,g)=>{var x,k,j=We(m,r.dataKey,g),f=We(m,n),p=((x=r.scale.map(j))!==null&&x!==void 0?x:0)+y,A=Array.isArray(f)?ei(f):f,P=Fe(A)?0:(k=a.scale.map(A))!==null&&k!==void 0?k:0;Array.isArray(f)&&f.length>=2&&(u=!0),d.push(w(w({},N(s,c,P,p)),{},{name:j,value:f,cx:s,cy:c,radius:P,angle:p,payload:m}))});var v=[];return u&&d.forEach(m=>{if(Array.isArray(m.value)){var g,x=m.value[0],k=Fe(x)?0:(g=a.scale.map(x))!==null&&g!==void 0?g:0;v.push(w(w({},m),{},{radius:k},N(s,c,k,m.angle)))}else v.push(m)}),{points:d,isRange:u,baseLinePoints:v}}function ki(e){var{showLabels:a,points:r,children:t}=e,n=r.map(i=>{var s,c={x:i.x,y:i.y,width:0,lowerWidth:0,upperWidth:0,height:0};return w(w({},c),{},{value:(s=i.value)!==null&&s!==void 0?s:"",payload:i.payload,parentViewBox:void 0,viewBox:c,fill:void 0})});return l.createElement(ot,{value:a?n:void 0},t)}function Oi(e){var{points:a,baseLinePoints:r,props:t}=e;if(a==null)return null;var{shape:n,isRange:i,connectNulls:s}=t,c=y=>{var{onMouseEnter:v}=t;v&&v(t,y)},u=y=>{var{onMouseLeave:v}=t;v&&v(t,y)},d;return l.isValidElement(n)?d=l.cloneElement(n,w(w({},t),{},{points:a})):typeof n=="function"?d=n(w(w({},t),{},{points:a})):d=l.createElement(pr,ve({},ce(t),{onMouseEnter:c,onMouseLeave:u,points:a,baseLinePoints:i?r:void 0,connectNulls:s})),l.createElement($,{className:"recharts-radar-polygon"},d,l.createElement(ji,{props:t,points:a}))}var _a=(e,a,r)=>(t,n)=>{var i=e&&e[Math.floor(n*a)];return i?w(w({},t),{},{x:Z(i.x,t.x,r),y:Z(i.y,t.y,r)}):w(w({},t),{},{x:Z(t.cx,t.x,r),y:Z(t.cy,t.y,r)})};function Ei(e){var{props:a,previousPointsRef:r,previousBaseLinePointsRef:t}=e,{points:n,baseLinePoints:i,isAnimationActive:s,animationBegin:c,animationDuration:u,animationEasing:d,onAnimationEnd:y,onAnimationStart:v}=a,m=r.current,g=t.current,x=m?m.length/n.length:1,k=g?g.length/i.length:1,j=tr(a,"recharts-radar-"),[f,p]=l.useState(!1),A=!f,P=l.useCallback(()=>{typeof y=="function"&&y(),p(!1)},[y]),O=l.useCallback(()=>{typeof v=="function"&&v(),p(!0)},[v]);return l.createElement(ki,{showLabels:A,points:n},l.createElement(nr,{animationId:j,begin:c,duration:u,isActive:s,easing:d,key:"radar-".concat(j),onAnimationEnd:P,onAnimationStart:O},h=>{var E=h===1?n:n.map(_a(m,x,h)),S=h===1?i:i?.map(_a(g,k,h));return h>0&&(r.current=E,t.current=S),l.createElement(Oi,{points:E,baseLinePoints:S,props:a})}),l.createElement(ir,{label:a.label}),a.children)}function Si(e){var a=l.useRef(void 0),r=l.useRef(void 0);return l.createElement(Ei,{props:e,previousPointsRef:a,previousBaseLinePointsRef:r})}var Ci={activeDot:!0,angleAxisId:0,animationBegin:0,animationDuration:1500,animationEasing:"ease",dot:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",radiusAxisId:0,zIndex:me.area};function wi(e){var{hide:a,className:r,points:t}=e;if(a)return null;var n=z("recharts-radar",r);return l.createElement(X,{zIndex:e.zIndex},l.createElement($,{className:n},l.createElement(Si,e)),l.createElement(it,{points:t,mainColor:sa(e.stroke,e.fill),itemDataKey:e.dataKey,activeDot:e.activeDot}))}function Ri(e){var a=Xa(),r=R(t=>vi(t,e.radiusAxisId,e.angleAxisId,a,e.id));return r?.points==null?null:l.createElement(wi,ve({},e,{points:r?.points,baseLinePoints:r?.baseLinePoints,isRange:r?.isRange}))}function qe(e){var a=Q(e,Ci);return l.createElement(Qa,{id:a.id,type:"radar"},r=>l.createElement(l.Fragment,null,l.createElement(er,{type:"radar",id:r,data:void 0,dataKey:a.dataKey,hide:a.hide,angleAxisId:a.angleAxisId,radiusAxisId:a.radiusAxisId}),l.createElement(ar,{legendPayload:bi(a)}),l.createElement(Pi,{dataKey:a.dataKey,stroke:a.stroke,strokeWidth:a.strokeWidth,fill:a.fill,name:a.name,hide:a.hide,tooltipType:a.tooltipType,id:r}),l.createElement(Ri,ve({},a,{id:r}))))}qe.displayName="Radar";function Ve(){return Ve=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},Ve.apply(null,arguments)}function kr(e){return typeof e=="string"?parseInt(e,10):e}function He(e){return l.createElement(st,Ve({shapeType:"sector"},e))}function Da(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,t)}return r}function Pe(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?Da(Object(r),!0).forEach(function(t){Bi(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Da(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Bi(e,a,r){return(a=Li(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function Li(e){var a=Ii(e,"string");return typeof a=="symbol"?a:a+""}function Ii(e,a){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,a);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}var _i=(e,a)=>Xe(e,a),Di=(e,a)=>H(e,"radiusAxis",a),Ce=b([_i,Di],(e,a)=>{if(!(e==null||a==null))return Pe(Pe({},e),{},{scale:a})}),ca=(e,a)=>qt(e,"radiusAxis",a,!1),Ti=(e,a,r)=>ke(e,r),Ki=(e,a,r)=>H(e,"angleAxis",r),we=b([Ti,Ki],(e,a)=>{if(!(e==null||a==null))return Pe(Pe({},e),{},{scale:a})}),ua=(e,a,r)=>te(e,"angleAxis",r,!1),$i=(e,a,r,t)=>t,da=b([aa,$i],(e,a)=>{if(e.some(r=>r.type==="radialBar"&&a.dataKey===r.dataKey&&a.stackId===r.stackId))return a}),Or=b([W,Ce,ca,we,ua],(e,a,r,t,n)=>Ja(e,"radiusAxis")?oe(a,r,!1):oe(t,n,!1)),Ni=b([we,Ce,W],(e,a,r)=>{var t=r==="radial"?e:a;if(!(t==null||t.scale==null))return ut({numericAxis:t})}),Mi=(e,a,r,t,n)=>n,zi=(e,a,r,t,n)=>r,Wi=(e,a,r,t,n)=>a,Er=(e,a,r,t,n)=>t.maxBarSize,Sr=e=>e.type==="radialBar",Fi=b([W,aa,zi,Wi],(e,a,r,t)=>a.filter(n=>e==="centric"?n.angleAxisId===r:n.radiusAxisId===t).filter(n=>n.hide===!1).filter(Sr)),Gi=()=>{},qi=b([Fi,yt,Gi],gt),Vi=b([W,or,we,ua,Ce,ca,Er],(e,a,r,t,n,i,s)=>{var c,u,d=Fe(s)?a:s;if(e==="centric"){var y,v;return(y=(v=oe(r,t,!0))!==null&&v!==void 0?v:d)!==null&&y!==void 0?y:0}return(c=(u=oe(n,i,!0))!==null&&u!==void 0?u:d)!==null&&c!==void 0?c:0}),Hi=b([qi,or,vt,mt,Vi,Or,Er],pt),Ui=b([Hi,da],dt),Cr=b([At],e=>e.filter(Sr).filter(kt)),Yi=b([Cr,ea,Pt],jt),Ta=b([Yi,Cr,ht,xt],bt),Zi=(e,a,r)=>{var t=W(e);return t==="centric"?Ta(e,"radiusAxis",a):Ta(e,"angleAxis",r)},Xi=b([Zi,da],ft),Ji=b([we,ua,Ce,ca,ct,da,Or,W,Ni,pe,Mi,Ui,Xi],(e,a,r,t,n,i,s,c,u,d,y,v,m)=>{var{chartData:g,dataStartIndex:x,dataEndIndex:k}=n;if(i==null||r==null||e==null||g==null||s==null||v==null||c!=="centric"&&c!=="radial"||t==null||d==null)return[];var{dataKey:j,minPointSize:f}=i,{cx:p,cy:A,startAngle:P,endAngle:O}=d,h=g.slice(x,k+1),E=c==="centric"?r:e,S=m?E.scale.domain():null;return yo({angleAxis:e,angleAxisTicks:a,bandSize:s,baseValue:u,cells:y,cx:p,cy:A,dataKey:j,dataStartIndex:x,displayedData:h,endAngle:O,layout:c,minPointSize:f,pos:v,radiusAxis:r,radiusAxisTicks:t,stackedData:m,stackedDomain:S,startAngle:P})}),Qi=b([ea,(e,a)=>a],(e,a)=>{var{chartData:r,dataStartIndex:t,dataEndIndex:n}=e;if(r==null)return[];var i=r.slice(t,n+1);return i.length===0?[]:i.map(s=>({type:a,value:s.name,color:s.fill,payload:s}))}),eo=["shape","activeShape","cornerRadius","id"],ao=["onMouseEnter","onClick","onMouseLeave"],ro=["value","background"];function le(){return le=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},le.apply(null,arguments)}function Ka(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,t)}return r}function C(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?Ka(Object(r),!0).forEach(function(t){to(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ka(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function to(e,a,r){return(a=no(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function no(e){var a=io(e,"string");return typeof a=="symbol"?a:a+""}function io(e,a){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,a);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}function Ue(e,a){if(e==null)return{};var r,t,n=oo(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)r=i[t],a.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function oo(e,a){if(e==null)return{};var r={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(a.indexOf(t)!==-1)continue;r[t]=e[t]}return r}var je=[];function lo(e){var{showLabels:a,sectors:r,children:t}=e,n=r.map(i=>({value:i.value,payload:i.payload,parentViewBox:void 0,clockWise:!1,viewBox:{cx:i.cx,cy:i.cy,innerRadius:i.innerRadius,outerRadius:i.outerRadius,startAngle:i.startAngle,endAngle:i.endAngle,clockWise:!1},fill:i.fill}));return l.createElement(Lt,{value:a?n:void 0},t)}function so(e){var{sectors:a,allOtherRadialBarProps:r,showLabels:t}=e,{shape:n,activeShape:i,cornerRadius:s,id:c}=r,u=Ue(r,eo),d=I(u),y=R(Ct),{onMouseEnter:v,onClick:m,onMouseLeave:g}=r,x=Ue(r,ao),k=wt(v,r.dataKey,c),j=Rt(g),f=Bt(m,r.dataKey,c);return a==null?null:l.createElement(lo,{showLabels:t,sectors:a},a.map((p,A)=>{var P=!!(i&&y===String(A)),O=k(p,A),h=j(p,A),E=f(p,A),S=C(C(C(C({},d),{},{cornerRadius:kr(s)},p),Ee(x,p,A)),{},{onMouseEnter:O,onMouseLeave:h,onClick:E,className:"recharts-radial-bar-sector ".concat(p.className),forceCornerRadius:u.forceCornerRadius,cornerIsExternal:u.cornerIsExternal,isActive:P,option:P?i:n,index:A});return P?l.createElement(X,{zIndex:me.activeBar,key:"sector-".concat(p.cx,"-").concat(p.cy,"-").concat(p.innerRadius,"-").concat(p.outerRadius,"-").concat(p.startAngle,"-").concat(p.endAngle,"-").concat(A)},l.createElement(He,S)):l.createElement(He,le({key:"sector-".concat(p.cx,"-").concat(p.cy,"-").concat(p.innerRadius,"-").concat(p.outerRadius,"-").concat(p.startAngle,"-").concat(p.endAngle,"-").concat(A)},S))}),l.createElement(ir,{label:r.label}),r.children)}function co(e){var{props:a,previousSectorsRef:r}=e,{sectors:t,isAnimationActive:n,animationBegin:i,animationDuration:s,animationEasing:c,onAnimationEnd:u,onAnimationStart:d}=a,y=tr(a,"recharts-radialbar-"),v=r.current,[m,g]=l.useState(!1),x=l.useCallback(()=>{typeof u=="function"&&u(),g(!1)},[u]),k=l.useCallback(()=>{typeof d=="function"&&d(),g(!0)},[d]);return l.createElement(nr,{animationId:y,begin:i,duration:s,isActive:n,easing:c,onAnimationStart:k,onAnimationEnd:x,key:y},j=>{var f=j===1?t:(t??je).map((p,A)=>{var P=v&&v[A];if(P)return C(C({},p),{},{startAngle:Z(P.startAngle,p.startAngle,j),endAngle:Z(P.endAngle,p.endAngle,j)});var{endAngle:O,startAngle:h}=p;return C(C({},p),{},{endAngle:Z(h,O,j)})});return j>0&&(r.current=f??null),l.createElement(so,{sectors:f??je,allOtherRadialBarProps:a,showLabels:!m})})}function uo(e){var a=l.useRef(null);return l.createElement(co,{props:e,previousSectorsRef:a})}function fo(e){var a=R(r=>Qi(r,e.legendType));return l.createElement(ar,{legendPayload:a??[]})}var vo=l.memo(e=>{var{dataKey:a,sectors:r,stroke:t,strokeWidth:n,name:i,hide:s,fill:c,tooltipType:u,id:d}=e,y={dataDefinedOnItem:r,getPosition:Oe,settings:{graphicalItemId:d,stroke:t,strokeWidth:n,fill:c,nameKey:void 0,dataKey:a,name:ra(i,a),hide:s,type:u,color:c,unit:""}};return l.createElement(rr,{tooltipEntrySettings:y})});class mo extends l.PureComponent{renderBackground(a){if(a==null)return null;var{cornerRadius:r}=this.props,t=Qe(this.props.background);return l.createElement(X,{zIndex:Et(this.props.background,me.barBackground)},a.map((n,i)=>{var{value:s,background:c}=n,u=Ue(n,ro);if(!c)return null;var d=C(C(C(C(C({cornerRadius:kr(r)},u),{},{fill:"#eee"},c),t),Ee(this.props,n,i)),{},{index:i,className:z("recharts-radial-bar-background-sector",String(t?.className)),option:c,isActive:!1});return l.createElement(He,le({key:"background-".concat(u.cx,"-").concat(u.cy,"-").concat(u.innerRadius,"-").concat(u.outerRadius,"-").concat(u.startAngle,"-").concat(u.endAngle,"-").concat(i)},d))}))}render(){var{hide:a,sectors:r,className:t,background:n}=this.props;if(a)return null;var i=z("recharts-area",t);return l.createElement(X,{zIndex:this.props.zIndex},l.createElement($,{className:i},n&&l.createElement($,{className:"recharts-radial-bar-background"},this.renderBackground(r)),l.createElement($,{className:"recharts-radial-bar-sectors"},l.createElement(uo,this.props))))}}function po(e){var a,r=l.useMemo(()=>Ot(e.children,ta),[e.children]),t=l.useMemo(()=>({data:void 0,hide:!1,id:e.id,dataKey:e.dataKey,minPointSize:e.minPointSize,stackId:lr(e.stackId),maxBarSize:e.maxBarSize,barSize:e.barSize,type:"radialBar",angleAxisId:e.angleAxisId,radiusAxisId:e.radiusAxisId}),[e.id,e.dataKey,e.minPointSize,e.stackId,e.maxBarSize,e.barSize,e.angleAxisId,e.radiusAxisId]),n=(a=R(i=>Ji(i,e.radiusAxisId,e.angleAxisId,t,r)))!==null&&a!==void 0?a:je;return l.createElement(l.Fragment,null,l.createElement(vo,{dataKey:e.dataKey,sectors:n,stroke:e.stroke,strokeWidth:e.strokeWidth,name:e.name,hide:e.hide,fill:e.fill,tooltipType:e.tooltipType,id:e.id}),l.createElement(mo,le({},e,{sectors:n})))}var he={angleAxisId:0,animationBegin:0,animationDuration:1500,animationEasing:"ease",background:!1,cornerIsExternal:!1,cornerRadius:0,forceCornerRadius:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:0,radiusAxisId:0,zIndex:me.bar};function yo(e){var{displayedData:a,stackedData:r,dataStartIndex:t,stackedDomain:n,dataKey:i,baseValue:s,layout:c,radiusAxis:u,radiusAxisTicks:d,bandSize:y,pos:v,angleAxis:m,minPointSize:g,cx:x,cy:k,angleAxisTicks:j,cells:f,startAngle:p,endAngle:A}=e;return j==null||d==null?je:(a??[]).map((P,O)=>{var h,E,S,B,D,U;if(r?h=St(r[t+O],n):(h=We(P,i),Array.isArray(h)||(h=[s,h])),c==="radial"){var se,Y;if(B=(se=m.scale.map(h[0]))!==null&&se!==void 0?se:p,D=(Y=m.scale.map(h[1]))!==null&&Y!==void 0?Y:A,E=fa({axis:u,ticks:d,bandSize:y,offset:v.offset,entry:P,index:O}),E!=null&&D!=null&&B!=null){S=E+v.size;var Re=D-B;if(Math.abs(g)>0&&Math.abs(Re)<Math.abs(g)){var Dr=va(Re||g)*(Math.abs(g)-Math.abs(Re));D+=Dr}U={background:{cx:x,cy:k,innerRadius:E,outerRadius:S,startAngle:p,endAngle:A}}}}else if(E=u.scale.map(h[0]),S=u.scale.map(h[1]),B=fa({axis:m,ticks:j,bandSize:y,offset:v.offset,entry:P,index:O}),E!=null&&S!=null&&B!=null){D=B+v.size;var Be=S-E;if(Math.abs(g)>0&&Math.abs(Be)<Math.abs(g)){var Tr=va(Be||g)*(Math.abs(g)-Math.abs(Be));S+=Tr}}return C(C(C({},P),U),{},{payload:P,value:r?h:h[1],cx:x,cy:k,innerRadius:E,outerRadius:S,startAngle:B,endAngle:D},f&&f[O]&&f[O].props)})}function wr(e){var a=Q(e,he);return l.createElement(Qa,{id:a.id,type:"radialBar"},r=>{var t,n,i;return l.createElement(l.Fragment,null,l.createElement(er,{type:"radialBar",id:r,data:void 0,dataKey:a.dataKey,hide:(t=a.hide)!==null&&t!==void 0?t:he.hide,angleAxisId:(n=a.angleAxisId)!==null&&n!==void 0?n:he.angleAxisId,radiusAxisId:(i=a.radiusAxisId)!==null&&i!==void 0?i:he.radiusAxisId,stackId:lr(a.stackId),barSize:a.barSize,minPointSize:a.minPointSize,maxBarSize:a.maxBarSize}),l.createElement(fo,a),l.createElement(po,le({},a,{id:r})))})}wr.displayName="RadialBar";function $a(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,t)}return r}function Na(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?$a(Object(r),!0).forEach(function(t){go(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$a(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function go(e,a,r){return(a=ho(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function ho(e){var a=xo(e,"string");return typeof a=="symbol"?a:a+""}function xo(e,a){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,a);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}var bo=["axis"],Po=Na(Na({},ur),{},{layout:"centric",startAngle:90,endAngle:-270}),jo=l.forwardRef((e,a)=>{var r=Q(e,Po);return l.createElement(sr,{chartName:"RadarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:bo,tooltipPayloadSearcher:cr,categoricalChartProps:r,ref:a})});function Ma(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,t)}return r}function za(e){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?Ma(Object(r),!0).forEach(function(t){Ao(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ma(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Ao(e,a,r){return(a=ko(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function ko(e){var a=Oo(e,"string");return typeof a=="symbol"?a:a+""}function Oo(e,a){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var t=r.call(e,a);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(e)}var Eo=["axis","item"],So=za(za({},ur),{},{layout:"radial",startAngle:0,endAngle:360}),Co=l.forwardRef((e,a)=>{var r=Q(e,So);return l.createElement(sr,{chartName:"RadialBarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Eo,tooltipPayloadSearcher:cr,categoricalChartProps:r,ref:a})});const wo={light:"",dark:".dark"},Rr=l.createContext(null);function Br(){const e=l.useContext(Rr);if(!e)throw new Error("useChart must be used within a <ChartContainer />");return e}const _=l.forwardRef(({id:e,className:a,children:r,config:t,...n},i)=>{const s=l.useId(),c=`chart-${e||s.replace(/:/g,"")}`;return o.jsx(Rr.Provider,{value:{config:t},children:o.jsxs("div",{"data-chart":c,ref:i,className:q("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",a),...n,children:[o.jsx(Ro,{id:c,config:t}),o.jsx(Dt,{children:r})]})})});_.displayName="Chart";const Ro=({id:e,config:a})=>{const r=Object.entries(a).filter(([,t])=>t.theme||t.color);return r.length?o.jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(wo).map(([t,n])=>`
|
|
2
|
-
${n} [data-chart=${e}] {
|
|
3
|
-
${r.map(([i,s])=>{const c=s.theme?.[t]||s.color;return c?` --color-${i}: ${c};`:null}).join(`
|
|
4
|
-
`)}
|
|
5
|
-
}
|
|
6
|
-
`).join(`
|
|
7
|
-
`)}}):null},F=It,M=l.forwardRef(({active:e,payload:a,className:r,indicator:t="dot",hideLabel:n=!1,hideIndicator:i=!1,label:s,labelFormatter:c,labelClassName:u,formatter:d,color:y,nameKey:v,labelKey:m},g)=>{const{config:x}=Br(),k=l.useMemo(()=>{if(n||!a?.length)return null;const[f]=a,p=`${m||f?.dataKey||f?.name||"value"}`,A=Ye(x,f,p),P=!m&&typeof s=="string"?x[s]?.label||s:A?.label;return c?o.jsx("div",{className:q("font-medium",u),children:c(P,a)}):P?o.jsx("div",{className:q("font-medium",u),children:P}):null},[s,c,a,n,u,x,m]);if(!e||!a?.length)return null;const j=a.length===1&&t!=="dot";return o.jsxs("div",{ref:g,className:q("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",r),children:[j?null:k,o.jsx("div",{className:"grid gap-1.5",children:a.map((f,p)=>{const A=`${v||f.name||f.dataKey||"value"}`,P=Ye(x,f,A),O=y||f.payload?.fill||f.color;return o.jsx("div",{className:q("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",t==="dot"&&"items-center"),children:d&&f?.value!==void 0&&f.name?d(f.value,f.name,f,p,f.payload):o.jsxs(o.Fragment,{children:[P?.icon?o.jsx(P.icon,{}):!i&&o.jsx("div",{className:q("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":t==="dot","w-1":t==="line","w-0 border-[1.5px] border-dashed bg-transparent":t==="dashed","my-0.5":j&&t==="dashed"}),style:{"--color-bg":O,"--color-border":O}}),o.jsxs("div",{className:q("flex flex-1 justify-between leading-none",j?"items-end":"items-center"),children:[o.jsxs("div",{className:"grid gap-1.5",children:[j?k:null,o.jsx("span",{className:"text-muted-foreground",children:P?.label||f.name})]}),f.value!==void 0&&o.jsx("span",{className:"font-mono font-medium tabular-nums text-foreground",children:typeof f.value=="number"?f.value.toLocaleString():f.value})]})]})},f.dataKey||p)})})]})});M.displayName="ChartTooltip";const V=_t,G=l.forwardRef(({className:e,hideIcon:a=!1,payload:r,verticalAlign:t="bottom",nameKey:n},i)=>{const{config:s}=Br();return r?.length?o.jsx("div",{ref:i,className:q("flex items-center justify-center gap-4",t==="top"?"pb-3":"pt-3",e),children:r.map(c=>{const u=`${n||c.dataKey||"value"}`,d=Ye(s,c,u);return o.jsxs("div",{className:q("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[d?.icon&&!a?o.jsx(d.icon,{}):o.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:c.color}}),d?.label]},c.value)})}):null});G.displayName="ChartLegend";function Ye(e,a,r){if(typeof a!="object"||a===null)return;const t="payload"in a&&typeof a.payload=="object"&&a.payload!==null?a.payload:void 0;let n=r;return r in a&&typeof a[r]=="string"?n=a[r]:t&&r in t&&typeof t[r]=="string"&&(n=t[r]),n in e?e[n]:e[r]}const ye=[{month:"Jan",desktop:186,mobile:80},{month:"Fev",desktop:305,mobile:200},{month:"Mar",desktop:237,mobile:120},{month:"Abr",desktop:73,mobile:190},{month:"Mai",desktop:209,mobile:130},{month:"Jun",desktop:214,mobile:140}],Ae=[{name:"Chrome",value:400,fill:"hsl(var(--primary))"},{name:"Firefox",value:300,fill:"hsl(var(--secondary))"},{name:"Safari",value:200,fill:"hsl(var(--accent))"},{name:"Edge",value:100,fill:"hsl(var(--muted))"}],Bo=[{name:"A",value:80,fill:"hsl(var(--primary))"},{name:"B",value:65,fill:"hsl(var(--secondary))"},{name:"C",value:45,fill:"hsl(var(--accent))"}],Lo=[{subject:"Math",A:120,B:110,fullMark:150},{subject:"Chinese",A:98,B:130,fullMark:150},{subject:"English",A:86,B:130,fullMark:150},{subject:"Geography",A:99,B:100,fullMark:150},{subject:"Physics",A:85,B:90,fullMark:150},{subject:"History",A:65,B:85,fullMark:150}],Lr=[{name:"Jan",desktop:4e3,mobile:2400,tablet:1200},{name:"Fev",desktop:3e3,mobile:1398,tablet:900},{name:"Mar",desktop:2e3,mobile:9800,tablet:1500},{name:"Abr",desktop:2780,mobile:3908,tablet:1100},{name:"Mai",desktop:1890,mobile:4800,tablet:800},{name:"Jun",desktop:2390,mobile:3800,tablet:1300}],ge={desktop:{label:"Desktop",color:"hsl(var(--primary))"},mobile:{label:"Mobile",color:"hsl(var(--secondary))"}},Ir={desktop:{label:"Desktop",color:"hsl(var(--primary))"},mobile:{label:"Mobile",color:"hsl(var(--secondary))"},tablet:{label:"Tablet",color:"hsl(var(--accent))"}},Io={A:{label:"Aluno A",color:"hsl(var(--primary))"},B:{label:"Aluno B",color:"hsl(var(--secondary))"}},_r={Chrome:{label:"Chrome",color:"hsl(var(--primary))"},Firefox:{label:"Firefox",color:"hsl(var(--secondary))"},Safari:{label:"Safari",color:"hsl(var(--accent))"},Edge:{label:"Edge",color:"hsl(var(--muted))"}};function _o(){return o.jsx(_,{config:ge,className:"h-[300px] w-full",children:o.jsxs(na,{data:ye,children:[o.jsx(ee,{strokeDasharray:"3 3",vertical:!1}),o.jsx(ae,{dataKey:"month",tickLine:!1,axisLine:!1}),o.jsx(re,{tickLine:!1,axisLine:!1}),o.jsx(F,{content:o.jsx(M,{})}),o.jsx(V,{content:o.jsx(G,{})}),o.jsx(ie,{dataKey:"desktop",fill:"var(--color-desktop)",radius:4}),o.jsx(ie,{dataKey:"mobile",fill:"var(--color-mobile)",radius:4})]})})}function Do(){return o.jsx(_,{config:Ir,className:"h-[300px] w-full",children:o.jsxs(na,{data:Lr,children:[o.jsx(ee,{strokeDasharray:"3 3",vertical:!1}),o.jsx(ae,{dataKey:"name",tickLine:!1,axisLine:!1}),o.jsx(re,{tickLine:!1,axisLine:!1}),o.jsx(F,{content:o.jsx(M,{})}),o.jsx(V,{content:o.jsx(G,{})}),o.jsx(ie,{dataKey:"desktop",stackId:"a",fill:"var(--color-desktop)",radius:[0,0,0,0]}),o.jsx(ie,{dataKey:"mobile",stackId:"a",fill:"var(--color-mobile)",radius:[0,0,0,0]}),o.jsx(ie,{dataKey:"tablet",stackId:"a",fill:"var(--color-tablet)",radius:[4,4,0,0]})]})})}function To(){return o.jsx(_,{config:ge,className:"h-[300px] w-full",children:o.jsxs(na,{data:ye,layout:"vertical",children:[o.jsx(ee,{strokeDasharray:"3 3",horizontal:!1}),o.jsx(ae,{type:"number",tickLine:!1,axisLine:!1}),o.jsx(re,{dataKey:"month",type:"category",tickLine:!1,axisLine:!1,width:40}),o.jsx(F,{content:o.jsx(M,{})}),o.jsx(ie,{dataKey:"desktop",fill:"var(--color-desktop)",radius:4})]})})}function Ko(){return o.jsx(_,{config:ge,className:"h-[300px] w-full",children:o.jsxs(dr,{data:ye,children:[o.jsx(ee,{strokeDasharray:"3 3",vertical:!1}),o.jsx(ae,{dataKey:"month",tickLine:!1,axisLine:!1}),o.jsx(re,{tickLine:!1,axisLine:!1}),o.jsx(F,{content:o.jsx(M,{})}),o.jsx(V,{content:o.jsx(G,{})}),o.jsx(Ge,{type:"monotone",dataKey:"desktop",stroke:"var(--color-desktop)",strokeWidth:2,dot:!1}),o.jsx(Ge,{type:"monotone",dataKey:"mobile",stroke:"var(--color-mobile)",strokeWidth:2,dot:!1})]})})}function $o(){return o.jsx(_,{config:ge,className:"h-[300px] w-full",children:o.jsxs(dr,{data:ye,children:[o.jsx(ee,{strokeDasharray:"3 3",vertical:!1}),o.jsx(ae,{dataKey:"month",tickLine:!1,axisLine:!1}),o.jsx(re,{tickLine:!1,axisLine:!1}),o.jsx(F,{content:o.jsx(M,{})}),o.jsx(Ge,{type:"monotone",dataKey:"desktop",stroke:"var(--color-desktop)",strokeWidth:2,dot:{fill:"var(--color-desktop)",strokeWidth:2},activeDot:{r:6,strokeWidth:2}})]})})}function No(){return o.jsx(_,{config:ge,className:"h-[300px] w-full",children:o.jsxs(fr,{data:ye,children:[o.jsx(ee,{strokeDasharray:"3 3",vertical:!1}),o.jsx(ae,{dataKey:"month",tickLine:!1,axisLine:!1}),o.jsx(re,{tickLine:!1,axisLine:!1}),o.jsx(F,{content:o.jsx(M,{})}),o.jsx(V,{content:o.jsx(G,{})}),o.jsx(ue,{type:"monotone",dataKey:"desktop",stroke:"var(--color-desktop)",fill:"var(--color-desktop)",fillOpacity:.3,strokeWidth:2}),o.jsx(ue,{type:"monotone",dataKey:"mobile",stroke:"var(--color-mobile)",fill:"var(--color-mobile)",fillOpacity:.3,strokeWidth:2})]})})}function Mo(){return o.jsx(_,{config:Ir,className:"h-[300px] w-full",children:o.jsxs(fr,{data:Lr,children:[o.jsx(ee,{strokeDasharray:"3 3",vertical:!1}),o.jsx(ae,{dataKey:"name",tickLine:!1,axisLine:!1}),o.jsx(re,{tickLine:!1,axisLine:!1}),o.jsx(F,{content:o.jsx(M,{})}),o.jsx(V,{content:o.jsx(G,{})}),o.jsx(ue,{type:"monotone",dataKey:"desktop",stackId:"1",stroke:"var(--color-desktop)",fill:"var(--color-desktop)",fillOpacity:.6}),o.jsx(ue,{type:"monotone",dataKey:"mobile",stackId:"1",stroke:"var(--color-mobile)",fill:"var(--color-mobile)",fillOpacity:.6}),o.jsx(ue,{type:"monotone",dataKey:"tablet",stackId:"1",stroke:"var(--color-tablet)",fill:"var(--color-tablet)",fillOpacity:.6})]})})}function zo(){return o.jsx(_,{config:_r,className:"h-[300px] w-full",children:o.jsxs(vr,{children:[o.jsx(F,{content:o.jsx(M,{})}),o.jsx(V,{content:o.jsx(G,{})}),o.jsx(mr,{data:Ae,dataKey:"value",nameKey:"name",cx:"50%",cy:"50%",outerRadius:100,label:!0,children:Ae.map((e,a)=>o.jsx(ta,{fill:e.fill},`cell-${a}`))})]})})}function Wo(){return o.jsx(_,{config:_r,className:"h-[300px] w-full",children:o.jsxs(vr,{children:[o.jsx(F,{content:o.jsx(M,{})}),o.jsx(V,{content:o.jsx(G,{})}),o.jsx(mr,{data:Ae,dataKey:"value",nameKey:"name",cx:"50%",cy:"50%",innerRadius:60,outerRadius:100,children:Ae.map((e,a)=>o.jsx(ta,{fill:e.fill},`cell-${a}`))})]})})}function Fo(){const e={A:{label:"A",color:"hsl(var(--primary))"},B:{label:"B",color:"hsl(var(--secondary))"},C:{label:"C",color:"hsl(var(--accent))"}};return o.jsx(_,{config:e,className:"h-[300px] w-full",children:o.jsxs(Co,{cx:"50%",cy:"50%",innerRadius:"30%",outerRadius:"100%",data:Bo,startAngle:180,endAngle:0,children:[o.jsx(wr,{dataKey:"value",background:!0,cornerRadius:10}),o.jsx(V,{content:o.jsx(G,{})})]})})}function Go(){return o.jsx(_,{config:Io,className:"h-[300px] w-full",children:o.jsxs(jo,{cx:"50%",cy:"50%",outerRadius:"80%",data:Lo,children:[o.jsx(gr,{}),o.jsx(br,{dataKey:"subject"}),o.jsx(hr,{}),o.jsx(F,{content:o.jsx(M,{})}),o.jsx(qe,{name:"Aluno A",dataKey:"A",stroke:"var(--color-A)",fill:"var(--color-A)",fillOpacity:.3}),o.jsx(qe,{name:"Aluno B",dataKey:"B",stroke:"var(--color-B)",fill:"var(--color-B)",fillOpacity:.3}),o.jsx(V,{content:o.jsx(G,{})})]})})}function Uo(){return o.jsx(Tt,{title:"Chart",description:"Sistema de gráficos baseado em Recharts com suporte a temas e tooltips customizados. Inclui barras, linhas, áreas, pizza, radar e mais.",component:o.jsx(_o,{}),usage:`import { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent } from "forlogic-core"
|
|
8
|
-
import { Bar, BarChart, XAxis, YAxis, CartesianGrid } from "recharts"
|
|
9
|
-
|
|
10
|
-
const chartConfig = {
|
|
11
|
-
desktop: { label: "Desktop", color: "hsl(var(--primary))" },
|
|
12
|
-
mobile: { label: "Mobile", color: "hsl(var(--secondary))" },
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
<ChartContainer config={chartConfig} className="h-[300px]">
|
|
16
|
-
<BarChart data={data}>
|
|
17
|
-
<CartesianGrid strokeDasharray="3 3" vertical={false} />
|
|
18
|
-
<XAxis dataKey="month" tickLine={false} axisLine={false} />
|
|
19
|
-
<YAxis tickLine={false} axisLine={false} />
|
|
20
|
-
<ChartTooltip content={<ChartTooltipContent />} />
|
|
21
|
-
<ChartLegend content={<ChartLegendContent />} />
|
|
22
|
-
<Bar dataKey="desktop" fill="var(--color-desktop)" radius={4} />
|
|
23
|
-
<Bar dataKey="mobile" fill="var(--color-mobile)" radius={4} />
|
|
24
|
-
</BarChart>
|
|
25
|
-
</ChartContainer>`,examples:[{title:"Gráfico de Barras Empilhadas",description:"Barras empilhadas para comparar partes de um todo",preview:o.jsx(Do,{}),code:`<BarChart data={data}>
|
|
26
|
-
<Bar dataKey="desktop" stackId="a" fill="var(--color-desktop)" />
|
|
27
|
-
<Bar dataKey="mobile" stackId="a" fill="var(--color-mobile)" />
|
|
28
|
-
<Bar dataKey="tablet" stackId="a" fill="var(--color-tablet)" radius={[4, 4, 0, 0]} />
|
|
29
|
-
</BarChart>`},{title:"Gráfico de Barras Horizontal",description:"Layout horizontal para labels longos",preview:o.jsx(To,{}),code:`<BarChart data={data} layout="vertical">
|
|
30
|
-
<XAxis type="number" />
|
|
31
|
-
<YAxis dataKey="month" type="category" />
|
|
32
|
-
<Bar dataKey="desktop" fill="var(--color-desktop)" radius={4} />
|
|
33
|
-
</BarChart>`},{title:"Gráfico de Linhas",description:"Ideal para séries temporais",preview:o.jsx(Ko,{}),code:`<LineChart data={data}>
|
|
34
|
-
<Line type="monotone" dataKey="desktop" stroke="var(--color-desktop)" strokeWidth={2} dot={false} />
|
|
35
|
-
<Line type="monotone" dataKey="mobile" stroke="var(--color-mobile)" strokeWidth={2} dot={false} />
|
|
36
|
-
</LineChart>`},{title:"Gráfico de Linhas com Pontos",description:"Com marcadores nos pontos de dados",preview:o.jsx($o,{}),code:`<LineChart data={data}>
|
|
37
|
-
<Line
|
|
38
|
-
type="monotone"
|
|
39
|
-
dataKey="desktop"
|
|
40
|
-
stroke="var(--color-desktop)"
|
|
41
|
-
dot={{ fill: "var(--color-desktop)", strokeWidth: 2 }}
|
|
42
|
-
activeDot={{ r: 6, strokeWidth: 2 }}
|
|
43
|
-
/>
|
|
44
|
-
</LineChart>`},{title:"Gráfico de Área",description:"Visualização com preenchimento abaixo da linha",preview:o.jsx(No,{}),code:`<AreaChart data={data}>
|
|
45
|
-
<Area
|
|
46
|
-
type="monotone"
|
|
47
|
-
dataKey="desktop"
|
|
48
|
-
stroke="var(--color-desktop)"
|
|
49
|
-
fill="var(--color-desktop)"
|
|
50
|
-
fillOpacity={0.3}
|
|
51
|
-
/>
|
|
52
|
-
</AreaChart>`},{title:"Gráfico de Área Empilhada",description:"Áreas empilhadas para comparar contribuições",preview:o.jsx(Mo,{}),code:`<AreaChart data={data}>
|
|
53
|
-
<Area type="monotone" dataKey="desktop" stackId="1" fill="var(--color-desktop)" fillOpacity={0.6} />
|
|
54
|
-
<Area type="monotone" dataKey="mobile" stackId="1" fill="var(--color-mobile)" fillOpacity={0.6} />
|
|
55
|
-
<Area type="monotone" dataKey="tablet" stackId="1" fill="var(--color-tablet)" fillOpacity={0.6} />
|
|
56
|
-
</AreaChart>`},{title:"Gráfico de Pizza",description:"Visualização de proporções",preview:o.jsx(zo,{}),code:`<PieChart>
|
|
57
|
-
<Pie data={data} dataKey="value" nameKey="name" cx="50%" cy="50%" outerRadius={100} label>
|
|
58
|
-
{data.map((entry, index) => (
|
|
59
|
-
<Cell key={index} fill={entry.fill} />
|
|
60
|
-
))}
|
|
61
|
-
</Pie>
|
|
62
|
-
</PieChart>`},{title:"Gráfico Donut",description:"Pizza com furo central para destaque",preview:o.jsx(Wo,{}),code:`<PieChart>
|
|
63
|
-
<Pie data={data} dataKey="value" innerRadius={60} outerRadius={100}>
|
|
64
|
-
{data.map((entry, index) => (
|
|
65
|
-
<Cell key={index} fill={entry.fill} />
|
|
66
|
-
))}
|
|
67
|
-
</Pie>
|
|
68
|
-
</PieChart>`},{title:"Gráfico Radial",description:"Barras em formato circular",preview:o.jsx(Fo,{}),code:`<RadialBarChart innerRadius="30%" outerRadius="100%" data={data} startAngle={180} endAngle={0}>
|
|
69
|
-
<RadialBar dataKey="value" background cornerRadius={10} />
|
|
70
|
-
</RadialBarChart>`},{title:"Gráfico Radar",description:"Comparação multidimensional",preview:o.jsx(Go,{}),code:`<RadarChart cx="50%" cy="50%" outerRadius="80%" data={data}>
|
|
71
|
-
<PolarGrid />
|
|
72
|
-
<PolarAngleAxis dataKey="subject" />
|
|
73
|
-
<PolarRadiusAxis />
|
|
74
|
-
<Radar name="A" dataKey="A" stroke="var(--color-A)" fill="var(--color-A)" fillOpacity={0.3} />
|
|
75
|
-
<Radar name="B" dataKey="B" stroke="var(--color-B)" fill="var(--color-B)" fillOpacity={0.3} />
|
|
76
|
-
</RadarChart>`}],props:[{name:"config",type:"ChartConfig",default:"-",description:"Configuração de cores e labels para cada série de dados."},{name:"className",type:"string",default:"-",description:"Classes CSS para dimensionamento do container."},{name:"ChartTooltip",type:"Component",default:"-",description:"Componente de tooltip customizado para exibir valores."},{name:"ChartTooltipContent",type:"Component",default:"-",description:"Conteúdo do tooltip com formatação automática."},{name:"ChartLegend",type:"Component",default:"-",description:"Componente de legenda customizado."},{name:"ChartLegendContent",type:"Component",default:"-",description:"Conteúdo da legenda com cores e labels."}],accessibility:["Cores configuráveis via design tokens para consistência visual","Tooltips acessíveis com informações detalhadas","Suporte a temas claro/escuro automático","Responsivo via ResponsiveContainer interno","Legendas clicáveis para filtrar séries"],notes:["Utiliza a biblioteca **Recharts** internamente","As cores são definidas via CSS variables (`--color-{key}`)","Suporte automático a temas light/dark","Configure `chartConfig` para definir cores e labels de cada série","Use `CartesianGrid` com `vertical={false}` para grids mais limpos","Remova `axisLine` e `tickLine` para visual mais moderno"]})}export{Uo as ChartDoc};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import{j as e,m as s,J as d,r}from"./index-DkiftrvI.js";import{C as o}from"./ComponentDocTemplate-CQbBhfvZ.js";import"./ExampleCard-DuLrb3t-.js";function m(){const[t,i]=r.useState([{id:"task1",label:"Revisar código",checked:!0},{id:"task2",label:"Atualizar documentação",checked:!1},{id:"task3",label:"Fazer deploy",checked:!1}]),l=a=>{i(t.map(c=>c.id===a?{...c,checked:!c.checked}:c))};return e.jsx("div",{className:"space-y-3",children:t.map(a=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:a.id,checked:a.checked,onCheckedChange:()=>l(a.id)}),e.jsx(d,{htmlFor:a.id,className:a.checked?"line-through text-muted-foreground":"",children:a.label})]},a.id))})}function k(){return e.jsx(o,{title:"Checkbox",description:"Um controle que permite ao usuário alternar entre marcado e desmarcado.",component:e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:"terms"}),e.jsx("label",{htmlFor:"terms",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Accept terms and conditions"})]}),usage:`import { Checkbox } from "forlogic-core"
|
|
2
|
-
|
|
3
|
-
<div className="flex items-center space-x-2">
|
|
4
|
-
<Checkbox id="terms" />
|
|
5
|
-
<label htmlFor="terms">Accept terms and conditions</label>
|
|
6
|
-
</div>`,examples:[{title:"Estados",preview:e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:"unchecked"}),e.jsx(d,{htmlFor:"unchecked",children:"Unchecked"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:"checked",defaultChecked:!0}),e.jsx(d,{htmlFor:"checked",children:"Checked"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:"disabled",disabled:!0}),e.jsx(d,{htmlFor:"disabled",className:"text-muted-foreground",children:"Disabled"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:"disabled-checked",disabled:!0,defaultChecked:!0}),e.jsx(d,{htmlFor:"disabled-checked",className:"text-muted-foreground",children:"Disabled Checked"})]})]}),code:`<Checkbox id="unchecked" />
|
|
7
|
-
<Checkbox id="checked" defaultChecked />
|
|
8
|
-
<Checkbox id="disabled" disabled />
|
|
9
|
-
<Checkbox id="disabled-checked" disabled defaultChecked />`},{title:"Com Label",preview:e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:"terms2"}),e.jsx(d,{htmlFor:"terms2",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Accept terms and conditions"})]}),code:`<div className="flex items-center space-x-2">
|
|
10
|
-
<Checkbox id="terms" />
|
|
11
|
-
<Label htmlFor="terms">Accept terms and conditions</Label>
|
|
12
|
-
</div>`},{title:"Casos de Uso - Lista de Tarefas",preview:e.jsx(m,{}),code:`const [tasks, setTasks] = useState([
|
|
13
|
-
{ id: 'task1', label: 'Revisar código', checked: true },
|
|
14
|
-
{ id: 'task2', label: 'Atualizar documentação', checked: false },
|
|
15
|
-
{ id: 'task3', label: 'Fazer deploy', checked: false },
|
|
16
|
-
]);
|
|
17
|
-
|
|
18
|
-
const toggleTask = (id: string) => {
|
|
19
|
-
setTasks(tasks.map(task =>
|
|
20
|
-
task.id === id ? { ...task, checked: !task.checked } : task
|
|
21
|
-
));
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
<div className="space-y-3">
|
|
26
|
-
{tasks.map(task => (
|
|
27
|
-
<div key={task.id} className="flex items-center space-x-2">
|
|
28
|
-
<Checkbox
|
|
29
|
-
id={task.id}
|
|
30
|
-
checked={task.checked}
|
|
31
|
-
onCheckedChange={() => toggleTask(task.id)}
|
|
32
|
-
/>
|
|
33
|
-
<Label
|
|
34
|
-
htmlFor={task.id}
|
|
35
|
-
className={task.checked ? 'line-through text-muted-foreground' : ''}
|
|
36
|
-
>
|
|
37
|
-
{task.label}
|
|
38
|
-
</Label>
|
|
39
|
-
</div>
|
|
40
|
-
))}
|
|
41
|
-
</div>
|
|
42
|
-
);`},{title:"Casos de Uso - Formulário de Permissões",preview:e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"font-medium",children:"Permissões do Usuário"}),e.jsxs("div",{className:"space-y-2 pl-4",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:"read",defaultChecked:!0}),e.jsx(d,{htmlFor:"read",children:"Leitura"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:"write",defaultChecked:!0}),e.jsx(d,{htmlFor:"write",children:"Escrita"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:"delete"}),e.jsx(d,{htmlFor:"delete",children:"Deletar"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(s,{id:"admin",disabled:!0}),e.jsx(d,{htmlFor:"admin",className:"text-muted-foreground",children:"Admin (requer aprovação)"})]})]})]}),code:`<div className="space-y-2">
|
|
43
|
-
<div className="flex items-center space-x-2">
|
|
44
|
-
<Checkbox id="read" defaultChecked />
|
|
45
|
-
<Label htmlFor="read">Leitura</Label>
|
|
46
|
-
</div>
|
|
47
|
-
<div className="flex items-center space-x-2">
|
|
48
|
-
<Checkbox id="write" defaultChecked />
|
|
49
|
-
<Label htmlFor="write">Escrita</Label>
|
|
50
|
-
</div>
|
|
51
|
-
<div className="flex items-center space-x-2">
|
|
52
|
-
<Checkbox id="delete" />
|
|
53
|
-
<Label htmlFor="delete">Deletar</Label>
|
|
54
|
-
</div>
|
|
55
|
-
</div>`}],props:[{name:"checked",type:"boolean",default:"false",description:"O estado marcado controlado."},{name:"defaultChecked",type:"boolean",default:"false",description:"O estado marcado padrão."},{name:"disabled",type:"boolean",default:"false",description:"Se o checkbox está desabilitado."},{name:"onCheckedChange",type:"(checked: boolean) => void",default:"-",description:"Manipulador de evento chamado quando o estado marcado muda."}],accessibility:["Suporte completo de teclado","Segue o padrão de design WAI-ARIA","Gerenciamento adequado de foco","Funciona com labels de formulário"]})}export{k as CheckboxDoc};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{r,j as o,eO as t}from"./index-DkiftrvI.js";import{C as c}from"./ComponentDocTemplate-CQbBhfvZ.js";import"./ExampleCard-DuLrb3t-.js";function n(){const[e,a]=r.useState("#3b82f6");return o.jsx(c,{title:"Color Picker",description:"Seletor de cores com paleta predefinida e seletor customizado.",component:o.jsxs("div",{className:"w-[300px]",children:[o.jsx(t,{value:e,onChange:a,label:"Escolha uma cor"}),o.jsx("div",{className:"mt-4 p-4 rounded-md",style:{backgroundColor:e},children:o.jsxs("p",{className:"text-white font-medium",children:["Cor selecionada: ",e]})})]}),usage:`import { ColorPicker } from "forlogic-core"
|
|
2
|
-
import { useState } from 'react'
|
|
3
|
-
|
|
4
|
-
const [color, setColor] = useState('#3b82f6')
|
|
5
|
-
|
|
6
|
-
<ColorPicker
|
|
7
|
-
value={color}
|
|
8
|
-
onChange={setColor}
|
|
9
|
-
label="Escolha uma cor"
|
|
10
|
-
/>`,props:[{name:"value",type:"string",default:"#3b82f6",description:"Cor atual selecionada (formato hexadecimal)."},{name:"onChange",type:"(color: string) => void",default:"-",description:"Callback quando a cor é alterada."},{name:"label",type:"string",default:"-",description:"Label opcional para o campo."}],accessibility:["Botão com papel semântico correto","Input de cor nativo acessível","Labels descritivos para cores predefinidas","Navegação por teclado completa"]})}export{n as ColorPickerDoc};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import{j as s,a as x,b as h,c as p,e as u,d as j,J as N,K as w,m as B,W as F,Y as A}from"./index-DkiftrvI.js";const S={0:"0 0% 100%",50:"0 0% 98%",100:"0 0% 96%",200:"0 0% 92%",300:"0 0% 88%",400:"0 0% 71%",500:"0 0% 51%",600:"0 0% 38%",700:"0 0% 26%",800:"0 0% 15%",900:"0 0% 9%",950:"0 0% 5%",1e3:"0 0% 0%"},M={50:"217 94% 97%",100:"217 94% 93%",200:"217 94% 87%",300:"217 94% 78%",400:"217 94% 63%",500:"217 94% 49%",600:"217 94% 35%",700:"217 94% 26%",800:"217 94% 19%",900:"217 94% 12%"},E={success:{50:"138 76% 97%",100:"138 76% 93%",200:"138 76% 85%",300:"138 76% 75%",400:"138 76% 60%",500:"138 69% 45%",600:"138 69% 35%",700:"138 69% 28%",800:"138 69% 22%",900:"138 69% 16%"},warning:{50:"48 100% 96%",100:"48 96% 89%",200:"48 97% 77%",300:"48 95% 64%",400:"47 94% 53%",500:"45 93% 47%",600:"43 96% 41%",700:"38 92% 35%",800:"32 88% 28%",900:"25 84% 22%"},danger:{50:"0 86% 97%",100:"0 93% 94%",200:"0 96% 89%",300:"0 94% 82%",400:"0 91% 71%",500:"0 84% 60%",600:"0 72% 51%",700:"0 74% 42%",800:"0 70% 35%",900:"0 63% 31%"},sharp:{50:"78 70% 97%",100:"78 70% 93%",200:"78 70% 85%",300:"78 70% 75%",400:"78 70% 60%",500:"78 70% 52%",600:"78 70% 46%",700:"78 70% 36%",800:"78 70% 28%",900:"78 70% 20%"}};function b(i){const[e,d,a]=i.split(" ").map(k=>parseFloat(k)),r=d/100,m=a/100,c=(1-Math.abs(2*m-1))*r,n=c*(1-Math.abs(e/60%2-1)),g=m-c/2;let o=0,t=0,l=0;e>=0&&e<60?(o=c,t=n,l=0):e>=60&&e<120?(o=n,t=c,l=0):e>=120&&e<180?(o=0,t=c,l=n):e>=180&&e<240?(o=0,t=n,l=c):e>=240&&e<300?(o=n,t=0,l=c):e>=300&&e<360&&(o=c,t=0,l=n);const f=Math.round((o+g)*255),C=Math.round((t+g)*255),y=Math.round((l+g)*255);return`${f}, ${C}, ${y}`}function v(i){const[e,d,a]=i.split(", ").map(r=>parseInt(r));return`#${((1<<24)+(e<<16)+(d<<8)+a).toString(16).slice(1).toUpperCase()}`}function q(){const i=e=>{navigator.clipboard.writeText(e),A.success(`Código ${e} copiado!`)};return s.jsxs("div",{className:"space-y-8",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-4xl font-bold mb-4",children:"Sistema de Cores"}),s.jsx("p",{className:"text-lg text-muted-foreground mb-6",children:"Sistema de cores profissional completo com escala neutra (0-1000), escala de marca (50-900), e cores funcionais (sucesso, aviso, perigo, sharp). Todas as cores garantem conformidade de contraste WCAG AA."})]}),s.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[s.jsxs(x,{children:[s.jsxs(h,{children:[s.jsx(p,{children:"Escala Neutra"}),s.jsx(u,{children:"Paleta de escala de cinza completa do branco puro (0) ao preto puro (1000)"})]}),s.jsx(j,{children:s.jsx("div",{className:"grid grid-cols-5 gap-2",children:Object.entries(S).map(([e,d])=>{const a=b(d),r=v(a);return s.jsxs("div",{className:"space-y-2",children:[s.jsx("div",{className:"h-16 rounded-md border shadow-sm cursor-pointer hover:ring-2 hover:ring-primary transition-all",style:{backgroundColor:`hsl(${d})`},onClick:()=>i(r),title:"Clique para copiar"}),s.jsxs("div",{className:"text-xs font-mono text-center space-y-1",children:[s.jsx("div",{className:"font-semibold",children:e}),s.jsxs("div",{className:"text-muted-foreground text-[10px]",children:["RGB: ",a]}),s.jsx("div",{className:"text-primary text-[10px] font-semibold",children:r})]})]},e)})})})]}),s.jsxs(x,{children:[s.jsxs(h,{children:[s.jsx(p,{children:"Escala de Marca"}),s.jsx(u,{children:"Paleta de cores primárias da marca com gama tonal completa"})]}),s.jsx(j,{children:s.jsx("div",{className:"grid grid-cols-5 gap-2",children:Object.entries(M).map(([e,d])=>{const a=b(d),r=v(a);return s.jsxs("div",{className:"space-y-2",children:[s.jsx("div",{className:"h-16 rounded-md border shadow-sm cursor-pointer hover:ring-2 hover:ring-primary transition-all",style:{backgroundColor:`hsl(${d})`},onClick:()=>i(r),title:"Clique para copiar"}),s.jsxs("div",{className:"text-xs font-mono text-center space-y-1",children:[s.jsx("div",{className:"font-semibold",children:e}),s.jsxs("div",{className:"text-muted-foreground text-[10px]",children:["RGB: ",a]}),s.jsx("div",{className:"text-primary text-[10px] font-semibold",children:r})]})]},e)})})})]}),Object.entries(E).map(([e,d])=>s.jsxs(x,{children:[s.jsxs(h,{children:[s.jsx(p,{className:"capitalize",children:e}),s.jsxs(u,{children:["Escala completa de cores ",e," com conformidade de contraste AA"]})]}),s.jsx(j,{children:s.jsx("div",{className:"grid grid-cols-5 gap-2",children:Object.entries(d).map(([a,r])=>{const m=b(r),c=v(m);return s.jsxs("div",{className:"space-y-2",children:[s.jsx("div",{className:"h-16 rounded-md border shadow-sm cursor-pointer hover:ring-2 hover:ring-primary transition-all",style:{backgroundColor:`hsl(${r})`},onClick:()=>i(c),title:"Clique para copiar"}),s.jsxs("div",{className:"text-xs font-mono text-center space-y-1",children:[s.jsx("div",{className:"font-semibold",children:a}),s.jsxs("div",{className:"text-muted-foreground text-[10px]",children:["RGB: ",m]}),s.jsx("div",{className:"text-primary text-[10px] font-semibold",children:c})]})]},a)})})})]},e))]}),s.jsxs(x,{children:[s.jsxs(h,{children:[s.jsx(p,{children:"Estados de Focus"}),s.jsx(u,{children:"O anel de focus utiliza a cor da marca para reforçar a identidade visual em todos os componentes interativos"})]}),s.jsxs(j,{className:"space-y-6",children:[s.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[s.jsx("div",{className:"space-y-4",children:s.jsxs("div",{children:[s.jsx("h4",{className:"font-semibold mb-2",children:"Light Mode"}),s.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[s.jsx("div",{className:"h-8 w-8 rounded-md border shadow-sm",style:{backgroundColor:"hsl(217 94% 35%)"}}),s.jsxs("div",{className:"text-sm font-mono",children:[s.jsx("div",{className:"font-semibold",children:"Brand 600"}),s.jsx("div",{className:"text-muted-foreground",children:"#0546AD"})]})]}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Cor principal da marca usada para focus rings em modo claro."})]})}),s.jsx("div",{className:"space-y-4",children:s.jsxs("div",{children:[s.jsx("h4",{className:"font-semibold mb-2",children:"Dark Mode"}),s.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[s.jsx("div",{className:"h-8 w-8 rounded-md border shadow-sm",style:{backgroundColor:"hsl(217 94% 63%)"}}),s.jsxs("div",{className:"text-sm font-mono",children:[s.jsx("div",{className:"font-semibold",children:"Brand 400"}),s.jsx("div",{className:"text-muted-foreground",children:"#4B8EF5"})]})]}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Versão mais clara da marca para melhor contraste no modo escuro."})]})})]}),s.jsxs("div",{children:[s.jsx("h4",{className:"font-semibold mb-3",children:"Exemplos Interativos"}),s.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Clique nos campos abaixo para ver o estado de focus com a cor da marca:"}),s.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx(N,{htmlFor:"focus-example-input",children:"Input"}),s.jsx(w,{id:"focus-example-input",placeholder:"Clique para ver o focus..."})]}),s.jsxs("div",{className:"flex items-center space-x-3 pt-6",children:[s.jsx(B,{id:"focus-example-checkbox"}),s.jsx(N,{htmlFor:"focus-example-checkbox",children:"Checkbox"})]}),s.jsxs("div",{className:"flex items-center space-x-3 pt-6",children:[s.jsx(F,{id:"focus-example-switch"}),s.jsx(N,{htmlFor:"focus-example-switch",children:"Switch"})]})]})]}),s.jsxs("div",{children:[s.jsx("h4",{className:"font-semibold mb-2",children:"Referência CSS"}),s.jsx("pre",{className:"bg-muted p-3 rounded-md text-xs overflow-x-auto",children:`:root {
|
|
2
|
-
--ring: 217 94% 35%; /* Brand 600 - #0546AD */
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.dark {
|
|
6
|
-
--ring: 217 94% 63%; /* Brand 400 - #4B8EF5 */
|
|
7
|
-
}`})]})]})]}),s.jsxs(x,{children:[s.jsxs(h,{children:[s.jsx(p,{children:"Diretrizes de Uso"}),s.jsx(u,{children:"Melhores práticas para usar o sistema de cores"})]}),s.jsxs(j,{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsx("h4",{className:"font-semibold mb-2",children:"✅ Faça"}),s.jsxs("ul",{className:"list-disc list-inside space-y-1 text-sm text-muted-foreground",children:[s.jsxs("li",{children:["Sempre use tokens de cores semânticos (ex: ",s.jsx("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:"bg-primary"}),")"]}),s.jsx("li",{children:"Garanta taxa de contraste mínima AA (4.5:1 para texto, 3:1 para elementos de UI)"}),s.jsx("li",{children:"Use neutral-500 como ponto de pivô de contraste"}),s.jsx("li",{children:"Use brand-600 como cor padrão da marca"}),s.jsx("li",{children:"Use cores funcionais para estados semânticos (sucesso, aviso, perigo, sharp)"})]})]}),s.jsxs("div",{children:[s.jsx("h4",{className:"font-semibold mb-2",children:"❌ Não Faça"}),s.jsxs("ul",{className:"list-disc list-inside space-y-1 text-sm text-muted-foreground",children:[s.jsx("li",{children:"Não use valores HSL brutos diretamente em componentes"}),s.jsx("li",{children:"Não use cores de paleta (neutral-200, brand-400) diretamente"}),s.jsx("li",{children:"Não crie cores personalizadas fora do design system"}),s.jsx("li",{children:"Não use cores que falham nos requisitos de contraste AA"})]})]}),s.jsxs("div",{children:[s.jsx("h4",{className:"font-semibold mb-3",children:"Exemplos de Código"}),s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{children:[s.jsx("div",{className:"text-sm font-medium mb-2 text-green-600 dark:text-green-400",children:"✅ Correto"}),s.jsx("pre",{className:"bg-muted p-3 rounded-md text-xs overflow-x-auto",children:`<Button variant="primary">Primary Action</Button>
|
|
8
|
-
<div className="bg-background text-foreground">
|
|
9
|
-
<p className="text-muted-foreground">Muted text</p>
|
|
10
|
-
</div>`})]}),s.jsxs("div",{children:[s.jsx("div",{className:"text-sm font-medium mb-2 text-red-600 dark:text-red-400",children:"❌ Incorreto"}),s.jsx("pre",{className:"bg-muted p-3 rounded-md text-xs overflow-x-auto",children:`<Button className="bg-[hsl(218,91%,48%)]">Bad</Button>
|
|
11
|
-
<div className="bg-neutral-100 text-neutral-800">
|
|
12
|
-
<p className="text-neutral-500">Wrong</p>
|
|
13
|
-
</div>`})]})]})]})]})]})]})}export{q as ColorsFoundationDoc};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import{u as re,r as u,j as e,J as q,h as ie,o as v,dv as ce,Z as de,_ as ue,B as Q,a1 as J,bk as A,x as me,a0 as pe,d7 as xe,aG as he,b7 as fe,bs as be,aQ as ve,F as x,dJ as w,dI as S,dn as ge}from"./index-DkiftrvI.js";import{C as je}from"./ComponentDocTemplate-CQbBhfvZ.js";import"./ExampleCard-DuLrb3t-.js";const T=a=>a.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").toLowerCase();function K(a,n){if(!n)return null;const t=T(n),r=[];for(const i of a){const l=T(i.label).includes(t),o=i.children?K(i.children,n):null,d=o&&o.length>0;(l||d)&&r.push({...i,children:l?i.children:d?o:i.children})}return r}function Ne(a,n){const t=new Set,r=T(n);function i(l){if(!l.children||l.children.length===0)return T(l.label).includes(r);let o=!1;for(const d of l.children)i(d)&&(o=!0);return o&&t.add(l.value),o||T(l.label).includes(r)}for(const l of a)i(l);return t}function X(a,n){for(const t of a){if(t.value===n)return t.label;if(t.children){const r=X(t.children,n);if(r)return r}}}function Ce({node:a,level:n,expanded:t,onToggleExpand:r,selectedValues:i,onSelect:l}){const o=a.children&&a.children.length>0,d=i.includes(a.value);return e.jsxs("div",{role:"treeitem","aria-expanded":o?t:void 0,"aria-selected":d,className:v("flex items-center gap-1 rounded-sm px-2 py-1.5 text-sm cursor-pointer","hover:bg-accent hover:text-accent-foreground","outline-none"),style:{paddingLeft:`${8+n*20}px`},children:[e.jsxs("span",{className:"flex flex-1 items-center gap-2 truncate",onClick:f=>{f.stopPropagation(),l(a.value)},children:[e.jsx(be,{className:v("h-4 w-4 shrink-0",d?"opacity-100":"opacity-0")}),(()=>{const f=d?a.iconSelected??(t?a.iconOpen:null)??a.icon:t?a.iconOpen??a.icon:a.icon;return f?e.jsx(f,{className:v("h-4 w-4 shrink-0",a.iconClassName||"text-muted-foreground")}):null})(),e.jsx("span",{className:"truncate",children:a.label})]}),o&&e.jsx("button",{type:"button",className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-sm hover:bg-muted ml-auto",onClick:f=>{f.stopPropagation(),r(a.value)},tabIndex:-1,"aria-label":t?"Recolher":"Expandir",children:t?e.jsx(A,{className:"h-3.5 w-3.5 text-muted-foreground"}):e.jsx(ve,{className:"h-3.5 w-3.5 text-muted-foreground"})})]})}function Y({nodes:a,level:n,expandedIds:t,onToggleExpand:r,selectedValues:i,onSelect:l}){return e.jsx(e.Fragment,{children:a.map(o=>{const d=t.has(o.value);return e.jsxs(fe.Fragment,{children:[e.jsx(Ce,{node:o,level:n,expanded:d,onToggleExpand:r,selectedValues:i,onSelect:l}),d&&o.children&&o.children.length>0&&e.jsx(Y,{nodes:o.children,level:n+1,expandedIds:t,onToggleExpand:r,selectedValues:i,onSelect:l})]},o.value)})})}function E({multiple:a=!1,options:n,value:t,onChange:r,placeholder:i,label:l,icon:o,emptyMessage:d,searchPlaceholder:f,disabled:g=!1,required:D=!1,isLoading:G=!1,error:j,className:M,maxDisplayedBadges:N,popoverContainer:P,onOpen:U,onClose:Z}){const{t:C}=re(),[k,R]=u.useState(!1),[p,F]=u.useState(""),[$,W]=u.useState(new Set),B=i||C("select_placeholder","Selecione..."),ee=d||C("no_results","Nenhum resultado encontrado"),ae=f||C("search_placeholder","Pesquisar..."),b=u.useMemo(()=>t?Array.isArray(t)?t:[t]:[],[t]),L=u.useMemo(()=>{if(!P)return;let s=P,c=0;try{for(;s&&c<3;){const m=window.getComputedStyle(s),y=m.overflowY||m.overflow;if(y&&y!=="visible"&&y!=="unset"){s=s.parentElement,c++;continue}break}}catch{}return s??void 0},[P]),V=u.useMemo(()=>K(n,p),[n,p])??n,se=u.useMemo(()=>p?Ne(n,p):new Set,[n,p]),te=p?se:$,ne=u.useCallback(s=>{p||W(c=>{const m=new Set(c);return m.has(s)?m.delete(s):m.add(s),m})},[p]),h=u.useMemo(()=>b.map(s=>({value:s,label:X(n,s)||s})),[b,n]),_=s=>{R(s),s?U?.():(F(""),Z?.())},oe=u.useCallback(s=>{if(r)if(a){const m=b.includes(s)?b.filter(y=>y!==s):[...b,s];r(m)}else r(s),R(!1)},[r,a,b]),I=(s,c)=>{c.preventDefault(),c.stopPropagation(),r&&r(a?b.filter(m=>m!==s):"")},le=N?h.slice(0,N):h,z=N&&h.length>N?h.length-N:0;if(G)return e.jsxs("div",{className:v("space-y-2",M),children:[l&&e.jsxs(q,{children:[l,D&&e.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),e.jsx(ie,{className:"h-10 w-full"})]});const H=typeof j=="string"?j:j instanceof Error?j.message:j?C("error_loading","Erro ao carregar"):void 0;return H?e.jsxs("div",{className:v("space-y-2",M),children:[l&&e.jsxs(q,{children:[l,D&&e.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),e.jsxs("div",{className:"flex items-center gap-2 p-3 border border-destructive rounded-md bg-destructive/10 text-destructive",children:[e.jsx(ce,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:H})]})]}):e.jsxs("div",{className:v("space-y-2",M),children:[l&&e.jsxs(q,{children:[l,D&&e.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),e.jsxs(de,{open:k,onOpenChange:_,modal:!1,children:[e.jsx(ue,{asChild:!0,children:a?e.jsxs("div",{role:"combobox","aria-expanded":k,"aria-disabled":g,tabIndex:g?-1:0,onKeyDown:s=>{g||(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),_(!k))},className:v("flex w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","min-h-10 h-auto cursor-pointer",g&&"pointer-events-none opacity-50 cursor-not-allowed",h.length===0&&"text-muted-foreground"),children:[h.length===0?e.jsxs("span",{className:"flex items-center gap-2",children:[o&&e.jsx(o,{className:"h-4 w-4"}),B]}):e.jsxs("div",{className:"flex flex-wrap gap-1.5 flex-1 mr-2",children:[le.map(s=>e.jsxs(Q,{variant:"secondary",className:"gap-1 pr-1",children:[s.label,e.jsx("button",{type:"button",className:"rounded-full outline-none ring-offset-background focus:ring-2 focus:ring-ring focus:ring-offset-2",onKeyDown:c=>{c.key==="Enter"&&I(s.value,c)},onMouseDown:c=>{c.preventDefault(),c.stopPropagation()},onClick:c=>I(s.value,c),children:e.jsx(J,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},s.value)),z>0&&e.jsxs(Q,{variant:"outline",className:"gap-1",children:["+",z]})]}),e.jsx(A,{className:"h-4 w-4 shrink-0 opacity-50"})]}):e.jsxs(me,{variant:"outline",role:"combobox","aria-expanded":k,disabled:g,className:v("w-full justify-between min-h-10 h-auto font-normal",h.length===0&&"text-muted-foreground"),children:[h.length===0?e.jsxs("span",{className:"flex items-center gap-2",children:[o&&e.jsx(o,{className:"h-4 w-4"}),B]}):e.jsxs("span",{className:"flex items-center gap-2",children:[o&&e.jsx(o,{className:"h-4 w-4"}),h[0]?.label]}),e.jsx(A,{className:"h-4 w-4 shrink-0 opacity-50"})]})}),e.jsxs(pe,{className:"w-full p-0 bg-popover z-[60]",align:"start",container:L,collisionBoundary:L,children:[e.jsxs("div",{className:"flex items-center border-b px-3",children:[e.jsx(xe,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),e.jsx("input",{className:"flex h-10 w-full bg-transparent py-3 px-2 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",placeholder:ae,value:p,onChange:s=>F(s.target.value)}),p&&e.jsx("button",{type:"button",className:"rounded-sm p-0.5 text-muted-foreground hover:text-foreground",onClick:()=>F(""),children:e.jsx(J,{className:"h-3.5 w-3.5"})})]}),e.jsx(he,{className:"max-h-[300px]",children:e.jsx("div",{role:"tree",className:"p-1",children:V.length===0?e.jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:n.length===0?ee:C("no_search_results","Nenhum resultado encontrado")}):e.jsx(Y,{nodes:V,level:0,expandedIds:te,onToggleExpand:ne,selectedValues:b,onSelect:oe})})})]})]})]})}const O=[{value:"quality",label:"Qualidade",icon:S,iconOpen:w,iconClassName:"text-amber-500",children:[{value:"docs",label:"Documentos",icon:S,iconOpen:w,iconClassName:"text-amber-500",children:[{value:"docs-templates",label:"Templates",icon:x,iconClassName:"text-blue-500"},{value:"docs-procedures",label:"Procedimentos",icon:x,iconClassName:"text-blue-500"}]},{value:"occurrences",label:"Ocorrências",icon:x,iconClassName:"text-blue-500"},{value:"audits",label:"Auditorias",icon:x,iconClassName:"text-blue-500"}]},{value:"hr",label:"Recursos Humanos",icon:S,iconOpen:w,iconClassName:"text-amber-500",children:[{value:"hr-training",label:"Treinamentos",icon:x,iconClassName:"text-blue-500"},{value:"hr-recruitment",label:"Recrutamento",icon:x,iconClassName:"text-blue-500"}]},{value:"finance",label:"Financeiro",icon:ge,iconClassName:"text-blue-500"},{value:"it",label:"Tecnologia",icon:S,iconOpen:w,iconClassName:"text-amber-500",children:[{value:"it-infra",label:"Infraestrutura",icon:x,iconClassName:"text-blue-500"},{value:"it-dev",label:"Desenvolvimento",icon:x,iconClassName:"text-blue-500"},{value:"it-security",label:"Segurança",icon:S,iconOpen:w,iconClassName:"text-amber-500",children:[{value:"it-sec-network",label:"Rede",icon:x,iconClassName:"text-blue-500"},{value:"it-sec-app",label:"Aplicação",icon:x,iconClassName:"text-blue-500"}]}]}],ye=`import { ComboTree, type ComboTreeOption } from 'forlogic-core';
|
|
2
|
-
import { Folder, FolderOpen, FileText } from 'lucide-react';
|
|
3
|
-
|
|
4
|
-
const options: ComboTreeOption[] = [
|
|
5
|
-
{
|
|
6
|
-
value: 'quality',
|
|
7
|
-
label: 'Qualidade',
|
|
8
|
-
icon: Folder,
|
|
9
|
-
iconOpen: FolderOpen,
|
|
10
|
-
children: [
|
|
11
|
-
{ value: 'docs', label: 'Documentos', icon: FileText },
|
|
12
|
-
{ value: 'occurrences', label: 'Ocorrências', icon: FileText },
|
|
13
|
-
],
|
|
14
|
-
},
|
|
15
|
-
{ value: 'hr', label: 'RH' },
|
|
16
|
-
];
|
|
17
|
-
|
|
18
|
-
<ComboTree
|
|
19
|
-
options={options}
|
|
20
|
-
value={selected}
|
|
21
|
-
onChange={setSelected}
|
|
22
|
-
label="Departamento"
|
|
23
|
-
placeholder="Selecione..."
|
|
24
|
-
/>`,we=`<ComboTree
|
|
25
|
-
label="Departamento"
|
|
26
|
-
options={options}
|
|
27
|
-
value={singleValue}
|
|
28
|
-
onChange={(v) => setSingleValue(v as string)}
|
|
29
|
-
placeholder="Selecione um departamento..."
|
|
30
|
-
/>`,Se=`<ComboTree
|
|
31
|
-
multiple
|
|
32
|
-
label="Departamentos"
|
|
33
|
-
options={options}
|
|
34
|
-
value={multiValue}
|
|
35
|
-
onChange={(v) => setMultiValue(v as string[])}
|
|
36
|
-
placeholder="Selecione departamentos..."
|
|
37
|
-
maxDisplayedBadges={3}
|
|
38
|
-
/>`,Te=`// A busca é built-in — basta digitar no campo.
|
|
39
|
-
// A árvore é filtrada recursivamente mantendo nós ancestrais visíveis.
|
|
40
|
-
<ComboTree
|
|
41
|
-
label="Buscar na árvore"
|
|
42
|
-
options={options}
|
|
43
|
-
value=""
|
|
44
|
-
onChange={() => {}}
|
|
45
|
-
placeholder="Busque e veja a filtragem..."
|
|
46
|
-
/>`;function ke(){const[a,n]=u.useState("");return e.jsxs("div",{className:"space-y-2 max-w-sm",children:[e.jsx(E,{label:"Departamento",options:O,value:a,onChange:t=>n(t),placeholder:"Selecione um departamento..."}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Valor: ",e.jsx("code",{className:"bg-muted px-1 rounded",children:a||"(nenhum)"})]})]})}function Ee(){const[a,n]=u.useState([]);return e.jsxs("div",{className:"space-y-2 max-w-sm",children:[e.jsx(E,{multiple:!0,label:"Departamentos",options:O,value:a,onChange:t=>n(t),placeholder:"Selecione departamentos...",maxDisplayedBadges:3}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Valores: ",e.jsx("code",{className:"bg-muted px-1 rounded",children:a.join(", ")||"(nenhum)"})]})]})}function Oe(){return e.jsxs("div",{className:"space-y-2 max-w-sm",children:[e.jsx(E,{label:"Buscar na árvore",options:O,value:"",onChange:()=>{},placeholder:"Busque e veja a filtragem..."}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Experimente buscar ",e.jsx("code",{className:"bg-muted px-1 rounded",children:"rede"})," ou ",e.jsx("code",{className:"bg-muted px-1 rounded",children:"treinamento"}),"."]})]})}function De(){const[a,n]=u.useState("");return e.jsx("div",{className:"max-w-sm",children:e.jsx(E,{label:"Departamento",options:O,value:a,onChange:t=>n(t),placeholder:"Selecione um departamento..."})})}function Ae(){return e.jsx(je,{title:"ComboTree",description:"Componente de seleção hierárquica (tree view) com busca recursiva, expansão por chevron e seleção por label.",component:e.jsx(De,{}),usage:ye,examples:[{title:"Seleção Única",description:"Clique no chevron para expandir/recolher. Clique na label para selecionar.",preview:e.jsx(ke,{}),code:we},{title:"Seleção Múltipla",description:"Permite selecionar vários itens com badges visíveis.",preview:e.jsx(Ee,{}),code:Se},{title:"Busca Recursiva",description:"Ao digitar na busca, a árvore é filtrada mantendo os nós ancestrais visíveis e auto-expandidos.",preview:e.jsx(Oe,{}),code:Te}],props:[{name:"options",type:"ComboTreeOption[]",description:"Itens hierárquicos"},{name:"value",type:"string | string[]",default:"''",description:"Valor(es) selecionado(s)"},{name:"onChange",type:"(value) => void",description:"Callback de seleção"},{name:"multiple",type:"boolean",default:"false",description:"Seleção múltipla"},{name:"placeholder",type:"string",default:"'Selecione...'",description:"Texto quando vazio"},{name:"label",type:"string",description:"Label do campo"},{name:"required",type:"boolean",default:"false",description:"Asterisco obrigatório"},{name:"disabled",type:"boolean",default:"false",description:"Desabilita interação"},{name:"isLoading",type:"boolean",default:"false",description:"Exibe skeleton"},{name:"error",type:"string | Error | boolean",description:"Mensagem de erro"},{name:"iconOpen",type:"React.ComponentType",description:"Ícone quando o nó está expandido (ComboTreeOption)"},{name:"searchPlaceholder",type:"string",default:"'Pesquisar...'",description:"Placeholder da busca"},{name:"maxDisplayedBadges",type:"number",description:"Limite de badges (múltiplo)"},{name:"popoverContainer",type:"HTMLElement",description:"Container para portal (Dialog)"}],accessibility:["Navegação por teclado com Tab e Enter","Aria-expanded indica estado de expansão dos nós","Role tree e treeitem para semântica correta","Busca por texto filtra sem perder contexto hierárquico"],notes:["Use icon e iconSelected em ComboTreeOption para ícones customizados (ex: pasta fechada/aberta)","O popoverContainer é útil quando o ComboTree está dentro de um Dialog para evitar problemas de z-index"]})}export{Ae as ComboTreeDoc};
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import{r,j as e,eP as b,Z as w,_ as D,x as d,P as c,a0 as S,eQ as p,eR as u,eS as x,eT as h,eU as g,aT as i,bs as y,eV as v,o as N,B as P,ak as O,al as T,dC as E,an as k,eW as L,aq as j,eX as A,eY as B,eZ as I,ao as V,e_ as F}from"./index-DkiftrvI.js";import{C as R}from"./ComponentDocTemplate-CQbBhfvZ.js";import{D as G,a as Q,b as z}from"./drawer-D5rflIcD.js";import"./ExampleCard-DuLrb3t-.js";function q(t){const[n,s]=r.useState(!1);return r.useEffect(()=>{const a=window.matchMedia(t);s(a.matches);const o=l=>{s(l.matches)};return a.addEventListener("change",o),()=>a.removeEventListener("change",o)},[t]),n}const C=[{value:"next.js",label:"Next.js"},{value:"sveltekit",label:"SvelteKit"},{value:"nuxt.js",label:"Nuxt.js"},{value:"remix",label:"Remix"},{value:"astro",label:"Astro"}],m=[{value:"backlog",label:"Backlog",icon:i},{value:"todo",label:"Todo",icon:i},{value:"in-progress",label:"Em Progresso",icon:i},{value:"done",label:"Concluído",icon:y},{value:"canceled",label:"Cancelado",icon:i}],W=["feature","bug","enhancement","documentation","design","question","maintenance"];function H(){const[t,n]=r.useState(!1),[s,a]=r.useState(null);return e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:"Status"}),e.jsxs(w,{open:t,onOpenChange:n,children:[e.jsx(D,{asChild:!0,children:e.jsx(d,{variant:"outline",size:"sm",className:"w-[150px] justify-start",children:s?e.jsxs(e.Fragment,{children:[e.jsx(s.icon,{className:"mr-2 h-4 w-4 shrink-0"}),s.label]}):e.jsxs(e.Fragment,{children:[e.jsx(c,{className:"mr-2 h-4 w-4"}),"Definir status"]})})}),e.jsx(S,{className:"p-0 bg-popover",side:"right",align:"start",children:e.jsxs(p,{children:[e.jsx(u,{placeholder:"Alterar status..."}),e.jsxs(x,{children:[e.jsx(h,{children:"Nenhum resultado encontrado."}),e.jsx(g,{children:m.map(o=>e.jsxs(v,{value:o.value,onSelect:l=>{a(m.find(M=>M.value===l)||null),n(!1)},children:[e.jsx(o.icon,{className:N("mr-2 h-4 w-4",o.value===s?.value?"opacity-100":"opacity-40")}),e.jsx("span",{children:o.label})]},o.value))})]})]})})]})]})}function K(){const[t,n]=r.useState("feature"),[s,a]=r.useState(!1);return e.jsxs("div",{className:"flex w-full flex-col items-start justify-between rounded-md border px-4 py-3 sm:flex-row sm:items-center",children:[e.jsxs("p",{className:"text-sm font-medium leading-none",children:[e.jsx(P,{className:"mr-2",variant:"secondary",children:t}),e.jsx("span",{className:"text-muted-foreground",children:"Criar um novo projeto"})]}),e.jsxs(O,{open:s,onOpenChange:a,children:[e.jsx(T,{asChild:!0,children:e.jsx(d,{variant:"ghost",size:"sm",children:e.jsx(E,{className:"h-4 w-4"})})}),e.jsxs(k,{align:"end",className:"w-[200px] bg-popover",children:[e.jsx(L,{children:"Ações"}),e.jsx(j,{}),e.jsxs(A,{children:[e.jsx(B,{children:"Aplicar label"}),e.jsx(I,{className:"p-0 bg-popover",children:e.jsxs(p,{children:[e.jsx(u,{placeholder:"Filtrar label...",autoFocus:!0}),e.jsxs(x,{children:[e.jsx(h,{children:"Nenhum label encontrado."}),e.jsx(g,{children:W.map(o=>e.jsx(v,{value:o,onSelect:l=>{n(l),a(!1)},children:o},o))})]})]})})]}),e.jsx(j,{}),e.jsxs(V,{className:"text-destructive",children:["Excluir",e.jsx(F,{children:"⌘⌫"})]})]})]})]})}function U(){const[t,n]=r.useState(!1),s=q("(min-width: 768px)"),[a,o]=r.useState(null);return s?e.jsxs(w,{open:t,onOpenChange:n,children:[e.jsx(D,{asChild:!0,children:e.jsx(d,{variant:"outline",className:"w-[150px] justify-start",children:a?e.jsxs(e.Fragment,{children:[e.jsx(a.icon,{className:"mr-2 h-4 w-4 shrink-0"}),a.label]}):e.jsxs(e.Fragment,{children:[e.jsx(c,{className:"mr-2 h-4 w-4"}),"Definir status"]})})}),e.jsx(S,{className:"w-[200px] p-0 bg-popover",align:"start",children:e.jsx(f,{setOpen:n,setSelectedStatus:o,selectedStatus:a})})]}):e.jsxs(G,{open:t,onOpenChange:n,children:[e.jsx(Q,{asChild:!0,children:e.jsx(d,{variant:"outline",className:"w-[150px] justify-start",children:a?e.jsxs(e.Fragment,{children:[e.jsx(a.icon,{className:"mr-2 h-4 w-4 shrink-0"}),a.label]}):e.jsxs(e.Fragment,{children:[e.jsx(c,{className:"mr-2 h-4 w-4"}),"Definir status"]})})}),e.jsx(z,{children:e.jsx("div",{className:"mt-4 border-t",children:e.jsx(f,{setOpen:n,setSelectedStatus:o,selectedStatus:a})})})]})}function f({setOpen:t,setSelectedStatus:n,selectedStatus:s}){return e.jsxs(p,{children:[e.jsx(u,{placeholder:"Filtrar status..."}),e.jsxs(x,{children:[e.jsx(h,{children:"Nenhum resultado encontrado."}),e.jsx(g,{children:m.map(a=>e.jsxs(v,{value:a.value,onSelect:o=>{n(m.find(l=>l.value===o)||null),t(!1)},children:[e.jsx(a.icon,{className:N("mr-2 h-4 w-4",a.value===s?.value?"opacity-100":"opacity-40")}),e.jsx("span",{children:a.label})]},a.value))})]})]})}function J(){const[t,n]=r.useState(""),[s,a]=r.useState([]);return e.jsx(R,{title:"Combobox",description:"Componente versátil para seleção única ou múltipla com busca inteligente. Combina Popover e Command para autocomplete. O componente Command é usado internamente para fornecer funcionalidades de busca e navegação por teclado.",component:e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Seleção única"}),e.jsx(b,{options:C,value:t,onChange:o=>n(o),placeholder:"Selecione framework...",className:"w-[300px]"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Seleção múltipla"}),e.jsx(b,{multiple:!0,options:C,value:s,onChange:o=>a(o),placeholder:"Selecione frameworks...",className:"w-[300px]"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Popover"}),e.jsx(H,{})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Dropdown Menu"}),e.jsx(K,{})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm font-medium text-muted-foreground",children:"Responsivo (Popover no desktop, Drawer no mobile)"}),e.jsx(U,{})]})]}),usage:`import { Combobox } from "forlogic-core"
|
|
2
|
-
|
|
3
|
-
const options = [
|
|
4
|
-
{ value: 'next.js', label: 'Next.js' },
|
|
5
|
-
{ value: 'sveltekit', label: 'SvelteKit' },
|
|
6
|
-
]
|
|
7
|
-
|
|
8
|
-
// Seleção única
|
|
9
|
-
<Combobox
|
|
10
|
-
options={options}
|
|
11
|
-
value={selected}
|
|
12
|
-
onChange={setSelected}
|
|
13
|
-
placeholder="Select..."
|
|
14
|
-
/>
|
|
15
|
-
|
|
16
|
-
// Seleção múltipla
|
|
17
|
-
<Combobox
|
|
18
|
-
multiple
|
|
19
|
-
options={options}
|
|
20
|
-
value={selectedArray}
|
|
21
|
-
onChange={setSelectedArray}
|
|
22
|
-
placeholder="Select multiple..."
|
|
23
|
-
/>
|
|
24
|
-
|
|
25
|
-
// =====================
|
|
26
|
-
// POPOVER COM COMMAND
|
|
27
|
-
// =====================
|
|
28
|
-
import { Popover, PopoverTrigger, PopoverContent, Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, Button } from "forlogic-core"
|
|
29
|
-
|
|
30
|
-
<Popover open={open} onOpenChange={setOpen}>
|
|
31
|
-
<PopoverTrigger asChild>
|
|
32
|
-
<Button variant="outline">
|
|
33
|
-
{selectedStatus ? selectedStatus.label : "+ Definir status"}
|
|
34
|
-
</Button>
|
|
35
|
-
</PopoverTrigger>
|
|
36
|
-
<PopoverContent className="p-0 bg-popover" side="right" align="start">
|
|
37
|
-
<Command>
|
|
38
|
-
<CommandInput placeholder="Alterar status..." />
|
|
39
|
-
<CommandList>
|
|
40
|
-
<CommandEmpty>Nenhum resultado.</CommandEmpty>
|
|
41
|
-
<CommandGroup>
|
|
42
|
-
{statuses.map((status) => (
|
|
43
|
-
<CommandItem
|
|
44
|
-
key={status.value}
|
|
45
|
-
value={status.value}
|
|
46
|
-
onSelect={(value) => {
|
|
47
|
-
setSelectedStatus(statuses.find((s) => s.value === value))
|
|
48
|
-
setOpen(false)
|
|
49
|
-
}}
|
|
50
|
-
>
|
|
51
|
-
{status.label}
|
|
52
|
-
</CommandItem>
|
|
53
|
-
))}
|
|
54
|
-
</CommandGroup>
|
|
55
|
-
</CommandList>
|
|
56
|
-
</Command>
|
|
57
|
-
</PopoverContent>
|
|
58
|
-
</Popover>
|
|
59
|
-
|
|
60
|
-
// =====================
|
|
61
|
-
// DROPDOWN MENU COM COMMAND
|
|
62
|
-
// =====================
|
|
63
|
-
import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent } from "forlogic-core"
|
|
64
|
-
|
|
65
|
-
<DropdownMenu open={open} onOpenChange={setOpen}>
|
|
66
|
-
<DropdownMenuTrigger asChild>
|
|
67
|
-
<Button variant="ghost" size="sm">
|
|
68
|
-
<MoreVertical className="h-4 w-4" />
|
|
69
|
-
</Button>
|
|
70
|
-
</DropdownMenuTrigger>
|
|
71
|
-
<DropdownMenuContent align="end" className="w-[200px] bg-popover">
|
|
72
|
-
<DropdownMenuLabel>Ações</DropdownMenuLabel>
|
|
73
|
-
<DropdownMenuSeparator />
|
|
74
|
-
<DropdownMenuSub>
|
|
75
|
-
<DropdownMenuSubTrigger>Aplicar label</DropdownMenuSubTrigger>
|
|
76
|
-
<DropdownMenuSubContent className="p-0 bg-popover">
|
|
77
|
-
<Command>
|
|
78
|
-
<CommandInput placeholder="Filtrar label..." />
|
|
79
|
-
<CommandList>
|
|
80
|
-
<CommandEmpty>Nenhum label encontrado.</CommandEmpty>
|
|
81
|
-
<CommandGroup>
|
|
82
|
-
{labels.map((label) => (
|
|
83
|
-
<CommandItem
|
|
84
|
-
key={label}
|
|
85
|
-
value={label}
|
|
86
|
-
onSelect={(value) => {
|
|
87
|
-
setLabel(value)
|
|
88
|
-
setOpen(false)
|
|
89
|
-
}}
|
|
90
|
-
>
|
|
91
|
-
{label}
|
|
92
|
-
</CommandItem>
|
|
93
|
-
))}
|
|
94
|
-
</CommandGroup>
|
|
95
|
-
</CommandList>
|
|
96
|
-
</Command>
|
|
97
|
-
</DropdownMenuSubContent>
|
|
98
|
-
</DropdownMenuSub>
|
|
99
|
-
</DropdownMenuContent>
|
|
100
|
-
</DropdownMenu>
|
|
101
|
-
|
|
102
|
-
// =====================
|
|
103
|
-
// RESPONSIVO (Popover/Drawer)
|
|
104
|
-
// =====================
|
|
105
|
-
import { useMediaQuery } from "@/design-system/hooks/useMediaQuery"
|
|
106
|
-
import { Drawer, DrawerTrigger, DrawerContent } from "forlogic-core"
|
|
107
|
-
|
|
108
|
-
function ResponsiveCombobox() {
|
|
109
|
-
const isDesktop = useMediaQuery("(min-width: 768px)")
|
|
110
|
-
|
|
111
|
-
if (isDesktop) {
|
|
112
|
-
return (
|
|
113
|
-
<Popover>
|
|
114
|
-
<PopoverTrigger asChild>
|
|
115
|
-
<Button>Definir status</Button>
|
|
116
|
-
</PopoverTrigger>
|
|
117
|
-
<PopoverContent className="p-0 bg-popover">
|
|
118
|
-
<StatusList />
|
|
119
|
-
</PopoverContent>
|
|
120
|
-
</Popover>
|
|
121
|
-
)
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
return (
|
|
125
|
-
<Drawer>
|
|
126
|
-
<DrawerTrigger asChild>
|
|
127
|
-
<Button>Definir status</Button>
|
|
128
|
-
</DrawerTrigger>
|
|
129
|
-
<DrawerContent>
|
|
130
|
-
<StatusList />
|
|
131
|
-
</DrawerContent>
|
|
132
|
-
</Drawer>
|
|
133
|
-
)
|
|
134
|
-
}`,props:[{name:"options",type:"T[]",default:"[]",description:"Array de opções disponíveis."},{name:"value",type:"string | string[]",default:"-",description:"Valor(es) selecionado(s)."},{name:"onChange",type:"(value: string | string[]) => void",default:"-",description:"Callback quando seleção muda."},{name:"multiple",type:"boolean",default:"false",description:"Habilita seleção múltipla."},{name:"getOptionValue",type:"(opt: T) => string",default:"opt.value",description:"Extrai valor único do item."},{name:"getOptionLabel",type:"(opt: T) => string",default:"opt.label",description:"Extrai label do item."},{name:"placeholder",type:"string",default:'"Selecione..."',description:"Placeholder quando vazio."},{name:"searchPlaceholder",type:"string",default:'"Buscar..."',description:"Placeholder do campo de busca."},{name:"disabled",type:"boolean",default:"false",description:"Desabilita o componente."},{name:"isLoading",type:"boolean",default:"false",description:"Exibe skeleton loader."},{name:"error",type:"string | boolean | Error",default:"-",description:"Mensagem de erro."},{name:"sortOptions",type:"boolean",default:"true",description:"Ordena opções alfabeticamente."},{name:"popoverContainer",type:"HTMLElement | null",default:"undefined",description:"Container para portal (útil em Dialog)."}],accessibility:["Navegação completa por teclado","Busca inteligente (sem acentos, case-insensitive)","Segue padrão WAI-ARIA combobox","Anúncios para leitores de tela","Badges removíveis com teclado (modo múltiplo)","Versão responsiva com Drawer para mobile"]})}export{J as ComboboxDoc};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e,a9 as j,r as g,eB as p}from"./index-DkiftrvI.js";import{E as b}from"./ExampleCard-DuLrb3t-.js";function N({items:a}){if(a.length===0)return null;const m=t=>{const d=document.getElementById(t);d&&d.scrollIntoView({behavior:"smooth",block:"start"})};return e.jsxs("nav",{className:"mb-8 p-4 rounded-lg border bg-muted/30",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3 text-sm font-medium text-muted-foreground",children:[e.jsx(j,{className:"h-4 w-4"}),e.jsx("span",{children:"Nesta página"})]}),e.jsx("ul",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-x-4 gap-y-2",children:a.map(t=>e.jsx("li",{children:e.jsx("button",{onClick:()=>m(t.id),className:"text-sm text-muted-foreground hover:text-foreground hover:underline transition-colors text-left truncate max-w-full",title:t.label,children:t.label})},t.id))})]})}function k({title:a,description:m,component:t,usage:d,installation:r,examples:i=[],props:c=[],accessibility:o=[],notes:n=[],children:f,tocItems:x=[],hideToc:u=!1}){const h=g.useMemo(()=>{const s=[];return r&&s.push({id:"instalacao",label:"Instalação"}),d&&t&&s.push({id:"uso",label:"Uso"}),s.push(...x),i.length>0&&(s.push({id:"exemplos",label:"Exemplos"}),i.forEach(l=>{s.push({id:p(l.title),label:l.title})})),c.length>0&&s.push({id:"props",label:"Props"}),o.length>0&&s.push({id:"acessibilidade",label:"Acessibilidade"}),n.length>0&&s.push({id:"notas",label:"Notas"}),s},[r,d,t,i,c,o,n,x]);return e.jsxs("div",{className:"space-y-10",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-4xl font-bold tracking-tight",children:a}),e.jsx("p",{className:"text-lg text-muted-foreground",children:m})]}),!u&&h.length>0&&e.jsx(N,{items:h}),r&&e.jsxs("div",{id:"instalacao",className:"space-y-4 scroll-mt-4",children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight border-b pb-2",children:"Instalação"}),e.jsx("pre",{className:"rounded-lg border bg-muted/50 p-4 overflow-x-auto",children:e.jsx("code",{className:"text-sm font-mono",children:r})})]}),d&&t&&e.jsx("div",{id:"uso",className:"scroll-mt-4",children:e.jsx(b,{preview:t,code:d})}),f,i.length>0&&e.jsxs("div",{id:"exemplos",className:"space-y-6 scroll-mt-4",children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight border-b pb-2",children:"Exemplos"}),i.map((s,l)=>e.jsx(b,{id:p(s.title),title:s.title,description:s.description,preview:s.preview,code:s.code},l))]}),c.length>0&&e.jsxs("div",{id:"props",className:"space-y-4 scroll-mt-4",children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight border-b pb-2",children:"Props"}),e.jsx("div",{className:"rounded-lg border",children:e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b bg-muted/50",children:[e.jsx("th",{className:"px-4 py-3 text-left text-sm font-semibold",children:"Prop"}),e.jsx("th",{className:"px-4 py-3 text-left text-sm font-semibold",children:"Tipo"}),e.jsx("th",{className:"px-4 py-3 text-left text-sm font-semibold",children:"Padrão"}),e.jsx("th",{className:"px-4 py-3 text-left text-sm font-semibold",children:"Descrição"})]})}),e.jsx("tbody",{children:c.map((s,l)=>e.jsxs("tr",{className:"border-b last:border-0",children:[e.jsx("td",{className:"px-4 py-3 font-mono text-sm font-medium",children:s.name}),e.jsx("td",{className:"px-4 py-3 font-mono text-sm text-muted-foreground",children:s.type}),e.jsx("td",{className:"px-4 py-3 font-mono text-sm text-muted-foreground",children:s.default||"-"}),e.jsx("td",{className:"px-4 py-3 text-sm",children:s.description})]},l))})]})})]}),o.length>0&&e.jsxs("div",{id:"acessibilidade",className:"space-y-4 scroll-mt-4",children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight border-b pb-2",children:"Acessibilidade"}),e.jsx("ul",{className:"space-y-2 list-disc list-inside",children:o.map((s,l)=>e.jsx("li",{className:"text-sm",children:s},l))})]}),n.length>0&&e.jsxs("div",{id:"notas",className:"space-y-4 scroll-mt-4",children:[e.jsx("h2",{className:"text-2xl font-semibold tracking-tight border-b pb-2",children:"Notas"}),e.jsx("ul",{className:"space-y-2",children:n.map((s,l)=>e.jsx("li",{className:"text-sm",children:s},l))})]})]})}export{k as C};
|