@treeal/ds 0.1.0 → 0.1.1
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/dist/assets/style.css +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs10.js.map +1 -1
- package/dist/index.cjs11.js +1 -1
- package/dist/index.cjs11.js.map +1 -1
- package/dist/index.cjs12.js +1 -1
- package/dist/index.cjs12.js.map +1 -1
- package/dist/index.cjs13.js +1 -1
- package/dist/index.cjs13.js.map +1 -1
- package/dist/index.cjs14.js +1 -1
- package/dist/index.cjs14.js.map +1 -1
- package/dist/index.cjs15.js +1 -1
- package/dist/index.cjs16.js +1 -1
- package/dist/index.cjs17.js +1 -1
- package/dist/index.cjs18.js +1 -1
- package/dist/index.cjs19.js +1 -1
- package/dist/index.cjs21.js +1 -1
- package/dist/index.cjs22.js +1 -1
- package/dist/index.cjs23.js +1 -1
- package/dist/index.cjs24.js +2 -0
- package/dist/index.cjs24.js.map +1 -0
- package/dist/index.cjs3.js +1 -1
- package/dist/index.cjs3.js.map +1 -1
- package/dist/index.cjs4.js +1 -1
- package/dist/index.cjs4.js.map +1 -1
- package/dist/index.cjs5.js +1 -1
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs6.js +1 -1
- package/dist/index.cjs6.js.map +1 -1
- package/dist/index.cjs7.js +1 -1
- package/dist/index.cjs7.js.map +1 -1
- package/dist/index.cjs8.js +1 -1
- package/dist/index.cjs8.js.map +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.cjs9.js.map +1 -1
- package/dist/index.esm.js +24 -23
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm10.js +66 -226
- package/dist/index.esm10.js.map +1 -1
- package/dist/index.esm11.js +221 -160
- package/dist/index.esm11.js.map +1 -1
- package/dist/index.esm12.js +157 -73
- package/dist/index.esm12.js.map +1 -1
- package/dist/index.esm13.js +83 -212
- package/dist/index.esm13.js.map +1 -1
- package/dist/index.esm14.js +219 -23
- package/dist/index.esm14.js.map +1 -1
- package/dist/index.esm15.js +22 -30
- package/dist/index.esm15.js.map +1 -1
- package/dist/index.esm16.js +38 -60
- package/dist/index.esm16.js.map +1 -1
- package/dist/index.esm17.js +30 -60
- package/dist/index.esm17.js.map +1 -1
- package/dist/index.esm18.js +22 -38
- package/dist/index.esm18.js.map +1 -1
- package/dist/index.esm19.js +60 -22
- package/dist/index.esm19.js.map +1 -1
- package/dist/index.esm21.js +102 -48
- package/dist/index.esm21.js.map +1 -1
- package/dist/index.esm22.js +22 -22
- package/dist/index.esm23.js +60 -102
- package/dist/index.esm23.js.map +1 -1
- package/dist/index.esm24.js +52 -0
- package/dist/index.esm24.js.map +1 -0
- package/dist/index.esm3.js +89 -53
- package/dist/index.esm3.js.map +1 -1
- package/dist/index.esm4.js +58 -111
- package/dist/index.esm4.js.map +1 -1
- package/dist/index.esm5.js +106 -60
- package/dist/index.esm5.js.map +1 -1
- package/dist/index.esm6.js +60 -28
- package/dist/index.esm6.js.map +1 -1
- package/dist/index.esm7.js +26 -171
- package/dist/index.esm7.js.map +1 -1
- package/dist/index.esm8.js +167 -54
- package/dist/index.esm8.js.map +1 -1
- package/dist/index.esm9.js +62 -71
- package/dist/index.esm9.js.map +1 -1
- package/package.json +1 -1
- package/dist/index.cjs2.js +0 -2
- package/dist/index.cjs2.js.map +0 -1
- package/dist/index.esm2.js +0 -98
- package/dist/index.esm2.js.map +0 -1
package/dist/assets/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._alert_p4b5i_21{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:6px;border:1px solid;box-shadow:0 1px 12px #191b2326;max-width:600px;width:100%;box-sizing:border-box}._typeDefault_p4b5i_36{background:#f9f8fc;border-color:#dce5de}._typeInfo_p4b5i_37{background:#f4f9ff;border-color:#c9e2fe}._typeSuccess_p4b5i_38{background:#f5fbf7;border-color:#cae7d5}._typeWarning_p4b5i_39{background:#fff9e9;border-color:#ffdb90}._typeError_p4b5i_40{background:#fff8f6;border-color:#ffcabf}._iconSlot_p4b5i_44{display:flex;align-items:flex-start;flex-shrink:0;width:20px;height:20px}._textContent_p4b5i_54{display:flex;flex-direction:column;gap:2px;flex:1 0 0;min-width:0;line-height:1.3}._title_p4b5i_63{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.3;letter-spacing:0;margin:0}._titleDefault_p4b5i_72{color:#524e69}._titleInfo_p4b5i_73{color:#2472ba}._titleSuccess_p4b5i_74{color:#2c7d56}._titleWarning_p4b5i_75{color:#a36a00}._titleError_p4b5i_76{color:#de0000}._message_p4b5i_78{font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:14px;line-height:1.3;letter-spacing:0;color:#524e69;margin:0}._rightSlot_p4b5i_90{display:flex;flex-direction:row;align-items:center;align-self:stretch;gap:8px;flex-shrink:0}._actionBtn_p4b5i_101{display:flex;align-items:center;justify-content:center;gap:6px;background:#e7da10;border:none;border-radius:12px;min-height:36px;padding:6px 12px;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#203224;cursor:pointer;white-space:nowrap;transition:opacity .15s ease;flex-shrink:0}._actionBtn_p4b5i_101:hover{opacity:.88}._actionBtn_p4b5i_101:active{opacity:.75}._closeBtn_p4b5i_127{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:transparent;border:none;cursor:pointer;padding:0;color:#524e69;flex-shrink:0;transition:background .15s ease}._closeBtn_p4b5i_127:hover{background:#0000000f}._base_106pz_9{position:relative;width:20px;height:20px;flex-shrink:0;cursor:pointer}._checkDefault_106pz_18,._radioDefault_106pz_19{width:20px;height:20px;background:#fff;border:1px solid #DCE5DE;display:flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}._checkDefault_106pz_18{border-radius:4px}._radioDefault_106pz_19{border-radius:100px}._checkChecked_106pz_40,._radioChecked_106pz_41{width:20px;height:20px;background:#203224;border:1px solid #DCE5DE;display:flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}._checkChecked_106pz_40{border-radius:4px}._radioChecked_106pz_41{border-radius:100px}._checkIcon_106pz_64{width:12px;height:12px;position:relative;display:flex;align-items:center;justify-content:center}._checkIcon_106pz_64:after{content:"";display:block;width:5px;height:9px;border:2px solid #FFFFFF;border-top:none;border-left:none;transform:rotate(45deg) translate(-1px,-2px)}._radioIcon_106pz_86{width:12px;height:12px;display:flex;align-items:center;justify-content:center}._radioIcon_106pz_86:after{content:"";display:block;width:6px;height:6px;border-radius:50%;background:#fff}._toggleWrapper_106pz_105{display:flex;flex-direction:column;align-items:flex-start;cursor:pointer}._toggleTrack_106pz_113{position:relative;width:36px;height:20px;border-radius:100px;background:#9490ac;border:1px solid #DCE5DE;box-sizing:border-box;transition:background .2s ease,border-color .2s ease;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}._toggleTrack_106pz_113:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 2px #1018280f}._toggleChecked_106pz_140 ._toggleTrack_106pz_113{background:#203224;border-color:#203224}._toggleChecked_106pz_140 ._toggleTrack_106pz_113:after{transform:translate(16px)}._button_1hwro_8{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;padding-top:6px;padding-bottom:6px;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;letter-spacing:0;text-align:center;white-space:nowrap;cursor:pointer;border:none;background:transparent;box-sizing:border-box;transition:opacity .15s ease}._button_1hwro_8:focus-visible{outline:2px solid #0F6C13;outline-offset:2px}._sm_1hwro_40{gap:6px;min-height:36px;padding-left:12px;padding-right:12px}._md_1hwro_48{gap:8px;min-height:48px;padding-left:16px;padding-right:16px}._outline_1hwro_58{background:transparent;border:1px solid #0F6C13;color:#0f6c13;border-radius:12px}._outline_1hwro_58:hover:not(:disabled){background:#0f6c130f}._outline_1hwro_58:active:not(:disabled){background:#0f6c131f}._fill_1hwro_74{background:#e7da10;color:#203224;border-radius:12px}._fill_1hwro_74:hover:not(:disabled){background:#d4c80f}._fill_1hwro_74:active:not(:disabled){background:#bdb10d}._secondary_1hwro_89{background:#203224;color:#fff;border-radius:12px}._secondary_1hwro_89:hover:not(:disabled){background:#2c4433}._secondary_1hwro_89:active:not(:disabled){background:#162319}._text_1hwro_104{background:transparent;color:#2472ba;border-radius:8px}._text_1hwro_104:hover:not(:disabled){background:#2472ba0f}._text_1hwro_104:active:not(:disabled){background:#2472ba1f}._disabled_1hwro_119,._button_1hwro_8:disabled{background:#efeef2;color:#524e69;border-radius:12px;cursor:not-allowed;pointer-events:none}._label_1hwro_130{flex:1 0 0;min-width:1px;min-height:1px}._icon_1hwro_136{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center}._header_1jw5v_25{display:flex;align-items:center;gap:32px;padding:8px 16px;background:#fff;border-bottom:1px solid #DCE5DE;width:100%;box-sizing:border-box}._variantDefault_1jw5v_36,._variantMobile_1jw5v_37{height:64px}._variantMobileOpen_1jw5v_38{flex-direction:column;align-items:flex-start;height:auto;padding-top:12px;padding-bottom:12px;gap:16px}._pageTitle_1jw5v_49{flex:1 0 0;font-family:Clash Display Variable,sans-serif;font-weight:600;line-height:1.25;letter-spacing:0;color:#524e69;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}._pageTitleDesktop_1jw5v_63{font-size:21px}._pageTitleMobile_1jw5v_64{font-size:18px}._actions_1jw5v_68{display:flex;align-items:center;gap:16px;flex-shrink:0;height:100%}._actionsMobileOpen_1jw5v_76{flex-direction:column;align-items:flex-start;width:100%;height:auto;gap:16px}._workspace_1jw5v_86{display:flex;align-items:center;gap:12px;background:#f3f3f3;border-radius:6px;padding:0 12px;height:100%;cursor:pointer;border:none;flex-shrink:0;box-sizing:border-box;transition:background .15s ease}._workspace_1jw5v_86:hover{background:#ebebeb}._workspaceFull_1jw5v_104{width:100%;height:48px;flex:1 0 0}._workspaceLeft_1jw5v_110{display:flex;align-items:center;gap:6px;flex:1 0 0;min-width:0}._statusDot_1jw5v_118{width:12px;height:12px;border-radius:50%;background:#5ba980;flex-shrink:0}._workspaceCol_1jw5v_126{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}._workspaceAccount_1jw5v_134{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:10px;line-height:1.3;color:#524e69;white-space:nowrap;margin:0}._workspaceName_1jw5v_144{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.3;color:#203224;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}._workspaceArrow_1jw5v_156{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:#524e69}._bellBtn_1jw5v_168{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:transparent;border:none;cursor:pointer;padding:0;color:#524e69;flex-shrink:0;transition:background .15s ease}._bellBtn_1jw5v_168:hover{background:#0000000f}._menuBtn_1jw5v_188{display:flex;align-items:center;gap:4px;padding:12px 16px;background:transparent;border:none;border-radius:4px;cursor:pointer;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.3;color:#203224;flex-shrink:0;transition:background .15s ease}._menuBtn_1jw5v_188:hover{background:#0000000d}._menuIcon_1jw5v_208{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}._navUser_1jw5v_219{display:flex;align-items:center;gap:6px;flex-shrink:0;height:36px}._avatar_1jw5v_227{width:36px;height:36px;border-radius:50%;background:#0f6c13;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}._avatarImg_1jw5v_239{width:100%;height:100%;object-fit:cover;border-radius:50%;pointer-events:none;display:block}._avatarInitials_1jw5v_248{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:13px;color:#fff}._userText_1jw5v_255{display:flex;flex-direction:column;align-items:flex-start;white-space:nowrap}._userName_1jw5v_262{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.43;color:#203224;margin:0}._userRole_1jw5v_271{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:10px;line-height:1.3;color:#524e69;margin:0}._ctaBtn_1jw5v_282{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;padding:6px 12px;background:#e7da10;border:none;border-radius:12px;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#203224;cursor:pointer;box-sizing:border-box;transition:opacity .15s ease}._ctaBtn_1jw5v_282:hover{opacity:.88}._ctaBtn_1jw5v_282:active{opacity:.75}._mainActions_1jw5v_307{display:flex;align-items:center;gap:16px;width:100%}._wrapper_1iytr_9{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%}._labelRow_1iytr_19{display:flex;align-items:center;gap:4px;width:100%}._label_1iytr_19{flex:1 0 0;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.43;letter-spacing:0;color:#203224}._labelDisabled_1iytr_37{color:#524e69}._labelIcon_1iytr_41{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#9490ac}._field_1iytr_53{display:flex;align-items:center;gap:8px;padding:12px;width:100%;border-radius:6px;border:1px solid #DCE5DE;background:#fff;box-sizing:border-box;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}._hover_1iytr_70,._field_1iytr_53:hover{border-color:#9490ac}._active_1iytr_77,._field_1iytr_53:focus-within{border-color:#9490ac;box-shadow:0 0 0 2px #efeef2;outline:none}._disabled_1iytr_85{background:#efeef2;border-color:#dce5de;cursor:not-allowed}._disabled_1iytr_85:hover,._disabled_1iytr_85:focus-within{border-color:#dce5de;box-shadow:none}._error_1iytr_98{border-color:#ff3a29}._error_1iytr_98:hover,._error_1iytr_98:focus-within{border-color:#ff3a29;box-shadow:none}._icon_1iytr_110{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#9490ac}._input_1iytr_122{flex:1 0 0;min-width:100px;min-height:24px;height:24px;font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:16px;line-height:1.3;letter-spacing:0;color:#524e69;background:transparent;border:none;outline:none;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._input_1iytr_122::placeholder{color:#9490ac}._input_1iytr_122:disabled{color:#524e69;cursor:not-allowed}._message_1iytr_155{display:flex;align-items:flex-start;gap:4px;width:100%;height:20px;font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:14px;line-height:1.3;letter-spacing:0;color:#524e69}._messageError_1iytr_170{color:#ff3a29}._overlay_rzwii_24{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:_overlayIn_rzwii_1 .2s ease forwards}@keyframes _overlayIn_rzwii_1{0%{opacity:0}to{opacity:1}}._modal_rzwii_43{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:393px;display:flex;flex-direction:column;gap:32px;padding:24px 24px 32px;box-sizing:border-box;animation:_slideUp_rzwii_1 .25s ease forwards}@keyframes _slideUp_rzwii_1{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}._heading_rzwii_64{display:flex;flex-direction:column;gap:8px;color:#524e69;width:100%}._title_rzwii_72{font-family:Clash Display Variable,sans-serif;font-weight:600;font-size:21px;line-height:1.25;letter-spacing:0;margin:0}._description_rzwii_81{font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:16px;line-height:1.3;letter-spacing:0;margin:0}._body_rzwii_92{display:flex;flex-direction:column;gap:8px;width:100%}._actions_rzwii_101{display:flex;flex-direction:column;gap:16px;width:100%}._btns_rzwii_108{display:flex;gap:16px;width:100%}._btnSecondary_rzwii_115{flex:1 1 0;min-height:48px;padding:6px 16px;background:#203224;border:none;border-radius:12px;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#fff;cursor:pointer;transition:opacity .15s ease;box-sizing:border-box;overflow:hidden}._btnSecondary_rzwii_115:hover{opacity:.88}._btnSecondary_rzwii_115:active{opacity:.75}._btnPrimary_rzwii_137{flex:1 1 0;min-height:48px;padding:6px 16px;background:#e7da10;border:none;border-radius:12px;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#203224;cursor:pointer;transition:opacity .15s ease;box-sizing:border-box;overflow:hidden}._btnPrimary_rzwii_137:hover{opacity:.88}._btnPrimary_rzwii_137:active{opacity:.75}._nav_53r24_22{display:flex;flex-direction:column;height:100%;box-sizing:border-box;overflow:hidden}._navOpen_53r24_32,._navClosed_53r24_33{background:#f5f5f5}._navOpen_53r24_32{width:216px}._navClosed_53r24_33{width:80px}._navMobile_53r24_42{background:#203224;width:216px}._header_53r24_51{display:flex;align-items:center;flex-shrink:0}._headerOpen_53r24_58{padding:16px;gap:8px}._headerClosed_53r24_64{height:64px;flex-direction:column;justify-content:center;padding:16px 12px 16px 20px;gap:0}._headerMobile_53r24_73{border-bottom:1px solid #DCE5DE;padding:12px 16px;gap:8px;justify-content:space-between}._logoIcon_53r24_80{flex-shrink:0;display:flex;align-items:center;justify-content:center}._logoFull_53r24_87{flex:1 1 0;display:flex;align-items:center}._headerTitle_53r24_93{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#fff;margin:0}._headerActions_53r24_102{display:flex;align-items:center;gap:8px}._bellBtn_53r24_108{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0;border-radius:4px;color:#fff;flex-shrink:0}._bellBtn_53r24_108:hover{background:#ffffff1a}._links_53r24_129{flex:1 1 0;overflow-y:auto;display:flex;flex-direction:column}._linksOpen_53r24_136{padding:16px;gap:24px}._linksClosed_53r24_137{padding:16px 8px;gap:16px}._linksMobile_53r24_138{padding:0;gap:0}._section_53r24_142{display:flex;flex-direction:column}._sectionTitle_53r24_147{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.3;color:#9490ac;padding-bottom:8px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._sectionItems_53r24_160{display:flex;flex-direction:column;gap:4px}._item_53r24_168{display:flex;align-items:center;text-decoration:none;cursor:pointer;border:none;background:transparent;width:100%;box-sizing:border-box;transition:background .15s ease}._itemOpen_53r24_181{gap:8px;padding:12px 16px;border-radius:4px}._itemOpen_53r24_181:hover{background:#0000000d}._itemOpenActive_53r24_191{background:#e7da10;border-radius:6px}._itemOpenActive_53r24_191:hover{background:#e7da10}._itemClosed_53r24_201{justify-content:center;padding:12px;border-radius:4px}._itemClosed_53r24_201:hover{background:#0000000d}._itemClosedActive_53r24_211{background:#e7da10;border-radius:6px;justify-content:center}._itemClosedActive_53r24_211:hover{background:#e7da10}._itemMobile_53r24_222{gap:8px;padding:12px 16px}._itemMobile_53r24_222:hover{background:#ffffff14}._itemMobileActive_53r24_231{background:#e7da1026}._itemIcon_53r24_237{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}._itemIconDark_53r24_246{color:#524e69}._itemIconLight_53r24_247{color:#fff}._itemLabel_53r24_251{font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:16px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 0 0;text-align:left}._itemLabelDefault_53r24_263{color:#524e69}._itemLabelActive_53r24_264{color:#203224}._itemLabelMobile_53r24_265{color:#524e69}._chevron_53r24_269{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:#9490ac}._footer_53r24_283{flex-shrink:0}._collapseBtn_53r24_289{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:transparent;border:none;border-top:1px solid #DCE5DE;cursor:pointer;font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:14px;line-height:1.3;color:#9490ac;box-sizing:border-box;transition:background .15s ease}._collapseBtn_53r24_289:hover{background:#0000000a}._collapseBtnClosed_53r24_310{justify-content:center}._collapseBtnIcon_53r24_314{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:#9490ac}._footerMobile_53r24_326{border-top:1px solid #DCE5DE;padding:16px;display:flex;flex-direction:column;gap:8px}._ctaBtn_53r24_335{display:flex;align-items:center;justify-content:center;background:#e7da10;border-radius:12px;min-height:36px;padding:6px 16px;border:none;cursor:pointer;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.3;color:#203224;width:100%;box-sizing:border-box;transition:opacity .15s ease}._ctaBtn_53r24_335:hover{opacity:.9}._workspace_53r24_358{display:flex;align-items:center;gap:8px;background:#f3f3f3;border-radius:6px;height:48px;padding:0 12px;cursor:pointer;border:none;width:100%;box-sizing:border-box}._workspaceIcon_53r24_372{width:28px;height:28px;border-radius:4px;background:#e7da10;flex-shrink:0;display:flex;align-items:center;justify-content:center}._workspaceLabel_53r24_383{font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:13px;line-height:1.3;color:#203224;flex:1 0 0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._avatarRow_53r24_397{display:flex;align-items:center;gap:8px}._avatar_53r24_397{width:36px;height:36px;border-radius:50%;background:#0f6c13;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}._avatarInitials_53r24_415{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:13px;color:#fff}._avatarInfo_53r24_422{display:flex;flex-direction:column;gap:1px;flex:1 0 0;min-width:0}._avatarName_53r24_430{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:13px;line-height:1.3;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._avatarRole_53r24_441{font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:11px;line-height:1.3;color:#ffffffa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._pagination_olot7_11{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}._item_olot7_20{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:4px;overflow:hidden;font-family:Roboto,sans-serif;font-weight:400;font-variation-settings:"'wdth' 100";letter-spacing:0;text-align:center;white-space:nowrap;line-height:1;background:transparent;border:none;padding:0;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;transition:background .12s ease,opacity .12s ease}._item_olot7_20:focus-visible{outline:2px solid #0F6C13;outline-offset:1px}._xs_olot7_55{width:20px;height:20px;font-size:12px;line-height:14px}._md_olot7_63{width:32px;height:32px;font-size:16px;line-height:18px}._lg_olot7_71{width:40px;height:40px;font-size:18px;line-height:20px}._active_olot7_81{background:#0f6c13;color:#fff;cursor:default}._inactive_olot7_88{border:1px solid #CED4DA;color:#101113}._inactive_olot7_88:hover{background:#ced4da33}._inactive_olot7_88:active{background:#ced4da59}._dots_olot7_102{color:#101113;cursor:default;border:none;background:transparent}._control_olot7_110{border:1px solid #CED4DA;color:#101113}._control_olot7_110:hover{background:#ced4da33}._control_olot7_110:active{background:#ced4da59}._control_olot7_110:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}._steps_xg6k6_20{display:flex;align-items:stretch;width:100%;isolation:isolate}._item_xg6k6_30{flex:1 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 20px;min-height:62px;position:relative;box-sizing:border-box;cursor:default;transition:background .15s ease}._typeStart_xg6k6_51{clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);margin-right:-16px}._typeStep_xg6k6_66{clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%);margin-right:-16px}._typeEnd_xg6k6_82{clip-path:polygon(16px 0,100% 0,100% 100%,0 100%,16px 50%)}._stateDefault_xg6k6_94{background:#e0deed}._stateHover_xg6k6_95{background:#e7da10}._stateActive_xg6k6_96{background:#0f6c13}._stateComplete_xg6k6_97{background:#203224}._textDark_xg6k6_101{color:#203224}._textLight_xg6k6_102{color:#fff}._label_xg6k6_106{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.3;letter-spacing:0;white-space:nowrap;text-align:center;margin:0}._num_xg6k6_119{font-family:Clash Display Variable,sans-serif;font-weight:600;font-size:21px;line-height:1.25;letter-spacing:0;white-space:nowrap;text-align:center;margin:0}._checkIcon_xg6k6_132{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}._minified_xg6k6_143{display:flex;align-items:center;width:100%}._minDot_xg6k6_150{border-radius:50%;flex-shrink:0;transition:all .2s ease}._minDefault_xg6k6_156{width:8px;height:8px;background:#e0deed}._minActive_xg6k6_162{width:12px;height:12px;background:#0f6c13;box-shadow:0 0 0 3px #0f6c132e}._minComplete_xg6k6_169{width:8px;height:8px;background:#203224}._minConnector_xg6k6_176{flex:1 1 0;height:2px;min-width:8px;transition:background .2s ease}._minConnectorDefault_xg6k6_183,._minConnectorActive_xg6k6_184{background:#e0deed}._minConnectorComplete_xg6k6_185{background:#203224}._dropzone_19kgn_8{display:flex;align-items:center;width:100%;border:1px dashed #D0D5DD;border-radius:8px;background:#fff;overflow:hidden;cursor:pointer;box-sizing:border-box;transition:background .15s ease,border-color .15s ease,border-style .15s ease}._dropzoneMd_19kgn_22{flex-direction:row;gap:16px;padding:16px}._dropzoneLg_19kgn_29{flex-direction:column;justify-content:center;gap:12px;height:165px;padding:24px}._dropzone_19kgn_8:hover,._dropzoneDragging_19kgn_39{background:#dbe8ff;border-color:#2970ff;border-style:solid}._dropzoneIconMd_19kgn_48{width:32px;height:32px;flex-shrink:0;position:relative}._dropzoneIconLg_19kgn_56{width:96px;height:64px;flex-shrink:0;position:relative;filter:drop-shadow(0px 8px 8px rgba(0,0,0,.03)) drop-shadow(0px 20px 24px rgba(0,0,0,.08))}._dropzoneContent_19kgn_67{display:flex;flex-direction:column;gap:4px;flex:1 0 0;min-width:0}._dropzoneLg_19kgn_29 ._dropzoneContent_19kgn_67{align-items:center;flex:unset}._dropzoneTitleRow_19kgn_81{display:flex;align-items:center;gap:4px;flex-shrink:0}._dropzoneTitle_19kgn_81{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:1.6;letter-spacing:0;color:#101828;white-space:nowrap;margin:0}._dropzoneBrowse_19kgn_99{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:1.6;letter-spacing:0;color:#154fef;white-space:nowrap;background:none;border:none;padding:0;cursor:pointer;text-decoration:none}._dropzoneSubtitle_19kgn_114{font-family:Inter,sans-serif;font-weight:400;font-size:10px;line-height:1.6;letter-spacing:0;color:#667085;white-space:nowrap;margin:0;width:100%}._fileList_19kgn_128{display:flex;flex-direction:column;gap:8px;width:100%}._fileItem_19kgn_137{display:flex;gap:16px;padding:16px;background:#fff;border:1px solid #EAECF0;border-radius:8px;width:100%;box-sizing:border-box;overflow:hidden}._fileItemLg_19kgn_150{align-items:flex-start}._fileItemMd_19kgn_155{align-items:center}._fileBadge_19kgn_161{width:32px;height:32px;flex-shrink:0;background:#b2c9ff;border:4px solid #DBE8FF;border-radius:999px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}._fileContent_19kgn_176{display:flex;flex-direction:column;gap:4px;flex:1 0 0;min-width:0;min-height:1px;justify-content:center}._fileHeader_19kgn_186{display:flex;align-items:flex-start;gap:12px;width:100%}._fileTexts_19kgn_193{display:flex;flex-direction:column;gap:4px;flex:1 0 0;min-width:0;justify-content:center}._fileName_19kgn_202{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:1.6;letter-spacing:0;color:#101828;margin:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._fileSize_19kgn_216{font-family:Inter,sans-serif;font-weight:400;font-size:10px;line-height:1.6;letter-spacing:0;color:#667085;margin:0;width:100%}._actions_19kgn_229{display:flex;align-items:center;gap:4px;flex-shrink:0}._actionBtn_19kgn_236{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fff;border:1px solid #EAECF0;border-radius:4px;overflow:hidden;cursor:pointer;padding:0;flex-shrink:0;color:#475467;transition:background .1s ease}._actionBtn_19kgn_236:hover{background:#f8fafc}._progressRow_19kgn_259{display:flex;align-items:center;gap:8px;width:100%;flex-shrink:0}._progressTrack_19kgn_267{flex:1 0 0;height:4px;background:#eaecf0;border-radius:999px;min-width:1px;overflow:hidden;position:relative}._progressFill_19kgn_277{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:linear-gradient(to right,#2970ff,#0040c1);transition:width .3s ease}._progressLabel_19kgn_288{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:1.6;color:#101828;white-space:nowrap;flex-shrink:0;margin:0}._spinner_19kgn_301{width:24px;height:24px;flex-shrink:0;border:2px solid #DBE8FF;border-top-color:#2970ff;border-radius:50%;animation:_spin_19kgn_301 .7s linear infinite}@keyframes _spin_19kgn_301{to{transform:rotate(360deg)}}._wrapper_19kgn_317{display:flex;flex-direction:column;gap:12px;align-items:flex-start;width:100%}
|
|
1
|
+
@import"https://api.fontshare.com/v2/css?f[]=clash-grotesk@400,500,600,700&display=swap";._alert_p4b5i_21{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:6px;border:1px solid;box-shadow:0 1px 12px #191b2326;max-width:600px;width:100%;box-sizing:border-box}._typeDefault_p4b5i_36{background:#f9f8fc;border-color:#dce5de}._typeInfo_p4b5i_37{background:#f4f9ff;border-color:#c9e2fe}._typeSuccess_p4b5i_38{background:#f5fbf7;border-color:#cae7d5}._typeWarning_p4b5i_39{background:#fff9e9;border-color:#ffdb90}._typeError_p4b5i_40{background:#fff8f6;border-color:#ffcabf}._iconSlot_p4b5i_44{display:flex;align-items:flex-start;flex-shrink:0;width:20px;height:20px}._textContent_p4b5i_54{display:flex;flex-direction:column;gap:2px;flex:1 0 0;min-width:0;line-height:1.3}._title_p4b5i_63{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.3;letter-spacing:0;margin:0}._titleDefault_p4b5i_72{color:#524e69}._titleInfo_p4b5i_73{color:#2472ba}._titleSuccess_p4b5i_74{color:#2c7d56}._titleWarning_p4b5i_75{color:#a36a00}._titleError_p4b5i_76{color:#de0000}._message_p4b5i_78{font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:14px;line-height:1.3;letter-spacing:0;color:#524e69;margin:0}._rightSlot_p4b5i_90{display:flex;flex-direction:row;align-items:center;align-self:stretch;gap:8px;flex-shrink:0}._actionBtn_p4b5i_101{display:flex;align-items:center;justify-content:center;gap:6px;background:#e7da10;border:none;border-radius:12px;min-height:36px;padding:6px 12px;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#203224;cursor:pointer;white-space:nowrap;transition:opacity .15s ease;flex-shrink:0}._actionBtn_p4b5i_101:hover{opacity:.88}._actionBtn_p4b5i_101:active{opacity:.75}._closeBtn_p4b5i_127{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:transparent;border:none;cursor:pointer;padding:0;color:#524e69;flex-shrink:0;transition:background .15s ease}._closeBtn_p4b5i_127:hover{background:#0000000f}._base_106pz_9{position:relative;width:20px;height:20px;flex-shrink:0;cursor:pointer}._checkDefault_106pz_18,._radioDefault_106pz_19{width:20px;height:20px;background:#fff;border:1px solid #DCE5DE;display:flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}._checkDefault_106pz_18{border-radius:4px}._radioDefault_106pz_19{border-radius:100px}._checkChecked_106pz_40,._radioChecked_106pz_41{width:20px;height:20px;background:#203224;border:1px solid #DCE5DE;display:flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}._checkChecked_106pz_40{border-radius:4px}._radioChecked_106pz_41{border-radius:100px}._checkIcon_106pz_64{width:12px;height:12px;position:relative;display:flex;align-items:center;justify-content:center}._checkIcon_106pz_64:after{content:"";display:block;width:5px;height:9px;border:2px solid #FFFFFF;border-top:none;border-left:none;transform:rotate(45deg) translate(-1px,-2px)}._radioIcon_106pz_86{width:12px;height:12px;display:flex;align-items:center;justify-content:center}._radioIcon_106pz_86:after{content:"";display:block;width:6px;height:6px;border-radius:50%;background:#fff}._toggleWrapper_106pz_105{display:flex;flex-direction:column;align-items:flex-start;cursor:pointer}._toggleTrack_106pz_113{position:relative;width:36px;height:20px;border-radius:100px;background:#9490ac;border:1px solid #DCE5DE;box-sizing:border-box;transition:background .2s ease,border-color .2s ease;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}._toggleTrack_106pz_113:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 2px #1018280f}._toggleChecked_106pz_140 ._toggleTrack_106pz_113{background:#203224;border-color:#203224}._toggleChecked_106pz_140 ._toggleTrack_106pz_113:after{transform:translate(16px)}._button_1hwro_8{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;padding-top:6px;padding-bottom:6px;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;letter-spacing:0;text-align:center;white-space:nowrap;cursor:pointer;border:none;background:transparent;box-sizing:border-box;transition:opacity .15s ease}._button_1hwro_8:focus-visible{outline:2px solid #0F6C13;outline-offset:2px}._sm_1hwro_40{gap:6px;min-height:36px;padding-left:12px;padding-right:12px}._md_1hwro_48{gap:8px;min-height:48px;padding-left:16px;padding-right:16px}._outline_1hwro_58{background:transparent;border:1px solid #0F6C13;color:#0f6c13;border-radius:12px}._outline_1hwro_58:hover:not(:disabled){background:#0f6c130f}._outline_1hwro_58:active:not(:disabled){background:#0f6c131f}._fill_1hwro_74{background:#e7da10;color:#203224;border-radius:12px}._fill_1hwro_74:hover:not(:disabled){background:#d4c80f}._fill_1hwro_74:active:not(:disabled){background:#bdb10d}._secondary_1hwro_89{background:#203224;color:#fff;border-radius:12px}._secondary_1hwro_89:hover:not(:disabled){background:#2c4433}._secondary_1hwro_89:active:not(:disabled){background:#162319}._text_1hwro_104{background:transparent;color:#2472ba;border-radius:8px}._text_1hwro_104:hover:not(:disabled){background:#2472ba0f}._text_1hwro_104:active:not(:disabled){background:#2472ba1f}._disabled_1hwro_119,._button_1hwro_8:disabled{background:#efeef2;color:#524e69;border-radius:12px;cursor:not-allowed;pointer-events:none}._label_1hwro_130{flex:1 0 0;min-width:1px;min-height:1px}._icon_1hwro_136{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center}._header_1jw5v_25{display:flex;align-items:center;gap:32px;padding:8px 16px;background:#fff;border-bottom:1px solid #DCE5DE;width:100%;box-sizing:border-box}._variantDefault_1jw5v_36,._variantMobile_1jw5v_37{height:64px}._variantMobileOpen_1jw5v_38{flex-direction:column;align-items:flex-start;height:auto;padding-top:12px;padding-bottom:12px;gap:16px}._pageTitle_1jw5v_49{flex:1 0 0;font-family:Clash Display Variable,sans-serif;font-weight:600;line-height:1.25;letter-spacing:0;color:#524e69;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}._pageTitleDesktop_1jw5v_63{font-size:21px}._pageTitleMobile_1jw5v_64{font-size:18px}._actions_1jw5v_68{display:flex;align-items:center;gap:16px;flex-shrink:0;height:100%}._actionsMobileOpen_1jw5v_76{flex-direction:column;align-items:flex-start;width:100%;height:auto;gap:16px}._workspace_1jw5v_86{display:flex;align-items:center;gap:12px;background:#f3f3f3;border-radius:6px;padding:0 12px;height:100%;cursor:pointer;border:none;flex-shrink:0;box-sizing:border-box;transition:background .15s ease}._workspace_1jw5v_86:hover{background:#ebebeb}._workspaceFull_1jw5v_104{width:100%;height:48px;flex:1 0 0}._workspaceLeft_1jw5v_110{display:flex;align-items:center;gap:6px;flex:1 0 0;min-width:0}._statusDot_1jw5v_118{width:12px;height:12px;border-radius:50%;background:#5ba980;flex-shrink:0}._workspaceCol_1jw5v_126{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}._workspaceAccount_1jw5v_134{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:10px;line-height:1.3;color:#524e69;white-space:nowrap;margin:0}._workspaceName_1jw5v_144{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.3;color:#203224;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}._workspaceArrow_1jw5v_156{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:#524e69}._bellBtn_1jw5v_168{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:transparent;border:none;cursor:pointer;padding:0;color:#524e69;flex-shrink:0;transition:background .15s ease}._bellBtn_1jw5v_168:hover{background:#0000000f}._menuBtn_1jw5v_188{display:flex;align-items:center;gap:4px;padding:12px 16px;background:transparent;border:none;border-radius:4px;cursor:pointer;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.3;color:#203224;flex-shrink:0;transition:background .15s ease}._menuBtn_1jw5v_188:hover{background:#0000000d}._menuIcon_1jw5v_208{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}._navUser_1jw5v_219{display:flex;align-items:center;gap:6px;flex-shrink:0;height:36px}._avatar_1jw5v_227{width:36px;height:36px;border-radius:50%;background:#0f6c13;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}._avatarImg_1jw5v_239{width:100%;height:100%;object-fit:cover;border-radius:50%;pointer-events:none;display:block}._avatarInitials_1jw5v_248{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:13px;color:#fff}._userText_1jw5v_255{display:flex;flex-direction:column;align-items:flex-start;white-space:nowrap}._userName_1jw5v_262{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.43;color:#203224;margin:0}._userRole_1jw5v_271{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:10px;line-height:1.3;color:#524e69;margin:0}._ctaBtn_1jw5v_282{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;padding:6px 12px;background:#e7da10;border:none;border-radius:12px;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#203224;cursor:pointer;box-sizing:border-box;transition:opacity .15s ease}._ctaBtn_1jw5v_282:hover{opacity:.88}._ctaBtn_1jw5v_282:active{opacity:.75}._mainActions_1jw5v_307{display:flex;align-items:center;gap:16px;width:100%}._wrapper_1iytr_9{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%}._labelRow_1iytr_19{display:flex;align-items:center;gap:4px;width:100%}._label_1iytr_19{flex:1 0 0;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.43;letter-spacing:0;color:#203224}._labelDisabled_1iytr_37{color:#524e69}._labelIcon_1iytr_41{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#9490ac}._field_1iytr_53{display:flex;align-items:center;gap:8px;padding:12px;width:100%;border-radius:6px;border:1px solid #DCE5DE;background:#fff;box-sizing:border-box;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}._hover_1iytr_70,._field_1iytr_53:hover{border-color:#9490ac}._active_1iytr_77,._field_1iytr_53:focus-within{border-color:#9490ac;box-shadow:0 0 0 2px #efeef2;outline:none}._disabled_1iytr_85{background:#efeef2;border-color:#dce5de;cursor:not-allowed}._disabled_1iytr_85:hover,._disabled_1iytr_85:focus-within{border-color:#dce5de;box-shadow:none}._error_1iytr_98{border-color:#ff3a29}._error_1iytr_98:hover,._error_1iytr_98:focus-within{border-color:#ff3a29;box-shadow:none}._icon_1iytr_110{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#9490ac}._input_1iytr_122{flex:1 0 0;min-width:100px;min-height:24px;height:24px;font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:16px;line-height:1.3;letter-spacing:0;color:#524e69;background:transparent;border:none;outline:none;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._input_1iytr_122::placeholder{color:#9490ac}._input_1iytr_122:disabled{color:#524e69;cursor:not-allowed}._message_1iytr_155{display:flex;align-items:flex-start;gap:4px;width:100%;height:20px;font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:14px;line-height:1.3;letter-spacing:0;color:#524e69}._messageError_1iytr_170{color:#ff3a29}._overlay_rzwii_24{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:_overlayIn_rzwii_1 .2s ease forwards}@keyframes _overlayIn_rzwii_1{0%{opacity:0}to{opacity:1}}._modal_rzwii_43{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:393px;display:flex;flex-direction:column;gap:32px;padding:24px 24px 32px;box-sizing:border-box;animation:_slideUp_rzwii_1 .25s ease forwards}@keyframes _slideUp_rzwii_1{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}._heading_rzwii_64{display:flex;flex-direction:column;gap:8px;color:#524e69;width:100%}._title_rzwii_72{font-family:Clash Display Variable,sans-serif;font-weight:600;font-size:21px;line-height:1.25;letter-spacing:0;margin:0}._description_rzwii_81{font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:16px;line-height:1.3;letter-spacing:0;margin:0}._body_rzwii_92{display:flex;flex-direction:column;gap:8px;width:100%}._actions_rzwii_101{display:flex;flex-direction:column;gap:16px;width:100%}._btns_rzwii_108{display:flex;gap:16px;width:100%}._btnSecondary_rzwii_115{flex:1 1 0;min-height:48px;padding:6px 16px;background:#203224;border:none;border-radius:12px;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#fff;cursor:pointer;transition:opacity .15s ease;box-sizing:border-box;overflow:hidden}._btnSecondary_rzwii_115:hover{opacity:.88}._btnSecondary_rzwii_115:active{opacity:.75}._btnPrimary_rzwii_137{flex:1 1 0;min-height:48px;padding:6px 16px;background:#e7da10;border:none;border-radius:12px;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#203224;cursor:pointer;transition:opacity .15s ease;box-sizing:border-box;overflow:hidden}._btnPrimary_rzwii_137:hover{opacity:.88}._btnPrimary_rzwii_137:active{opacity:.75}._nav_53r24_22{display:flex;flex-direction:column;height:100%;box-sizing:border-box;overflow:hidden}._navOpen_53r24_32,._navClosed_53r24_33{background:#f5f5f5}._navOpen_53r24_32{width:216px}._navClosed_53r24_33{width:80px}._navMobile_53r24_42{background:#203224;width:216px}._header_53r24_51{display:flex;align-items:center;flex-shrink:0}._headerOpen_53r24_58{padding:16px;gap:8px}._headerClosed_53r24_64{height:64px;flex-direction:column;justify-content:center;padding:16px 12px 16px 20px;gap:0}._headerMobile_53r24_73{border-bottom:1px solid #DCE5DE;padding:12px 16px;gap:8px;justify-content:space-between}._logoIcon_53r24_80{flex-shrink:0;display:flex;align-items:center;justify-content:center}._logoFull_53r24_87{flex:1 1 0;display:flex;align-items:center}._headerTitle_53r24_93{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#fff;margin:0}._headerActions_53r24_102{display:flex;align-items:center;gap:8px}._bellBtn_53r24_108{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0;border-radius:4px;color:#fff;flex-shrink:0}._bellBtn_53r24_108:hover{background:#ffffff1a}._links_53r24_129{flex:1 1 0;overflow-y:auto;display:flex;flex-direction:column}._linksOpen_53r24_136{padding:16px;gap:24px}._linksClosed_53r24_137{padding:16px 8px;gap:16px}._linksMobile_53r24_138{padding:0;gap:0}._section_53r24_142{display:flex;flex-direction:column}._sectionTitle_53r24_147{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.3;color:#9490ac;padding-bottom:8px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._sectionItems_53r24_160{display:flex;flex-direction:column;gap:4px}._item_53r24_168{display:flex;align-items:center;text-decoration:none;cursor:pointer;border:none;background:transparent;width:100%;box-sizing:border-box;transition:background .15s ease}._itemOpen_53r24_181{gap:8px;padding:12px 16px;border-radius:4px}._itemOpen_53r24_181:hover{background:#0000000d}._itemOpenActive_53r24_191{background:#e7da10;border-radius:6px}._itemOpenActive_53r24_191:hover{background:#e7da10}._itemClosed_53r24_201{justify-content:center;padding:12px;border-radius:4px}._itemClosed_53r24_201:hover{background:#0000000d}._itemClosedActive_53r24_211{background:#e7da10;border-radius:6px;justify-content:center}._itemClosedActive_53r24_211:hover{background:#e7da10}._itemMobile_53r24_222{gap:8px;padding:12px 16px}._itemMobile_53r24_222:hover{background:#ffffff14}._itemMobileActive_53r24_231{background:#e7da1026}._itemIcon_53r24_237{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}._itemIconDark_53r24_246{color:#524e69}._itemIconLight_53r24_247{color:#fff}._itemLabel_53r24_251{font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:16px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 0 0;text-align:left}._itemLabelDefault_53r24_263{color:#524e69}._itemLabelActive_53r24_264{color:#203224}._itemLabelMobile_53r24_265{color:#524e69}._chevron_53r24_269{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:#9490ac}._footer_53r24_283{flex-shrink:0}._collapseBtn_53r24_289{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:transparent;border:none;border-top:1px solid #DCE5DE;cursor:pointer;font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:14px;line-height:1.3;color:#9490ac;box-sizing:border-box;transition:background .15s ease}._collapseBtn_53r24_289:hover{background:#0000000a}._collapseBtnClosed_53r24_310{justify-content:center}._collapseBtnIcon_53r24_314{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:#9490ac}._footerMobile_53r24_326{border-top:1px solid #DCE5DE;padding:16px;display:flex;flex-direction:column;gap:8px}._ctaBtn_53r24_335{display:flex;align-items:center;justify-content:center;background:#e7da10;border-radius:12px;min-height:36px;padding:6px 16px;border:none;cursor:pointer;font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.3;color:#203224;width:100%;box-sizing:border-box;transition:opacity .15s ease}._ctaBtn_53r24_335:hover{opacity:.9}._workspace_53r24_358{display:flex;align-items:center;gap:8px;background:#f3f3f3;border-radius:6px;height:48px;padding:0 12px;cursor:pointer;border:none;width:100%;box-sizing:border-box}._workspaceIcon_53r24_372{width:28px;height:28px;border-radius:4px;background:#e7da10;flex-shrink:0;display:flex;align-items:center;justify-content:center}._workspaceLabel_53r24_383{font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:13px;line-height:1.3;color:#203224;flex:1 0 0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._avatarRow_53r24_397{display:flex;align-items:center;gap:8px}._avatar_53r24_397{width:36px;height:36px;border-radius:50%;background:#0f6c13;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}._avatarInitials_53r24_415{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:13px;color:#fff}._avatarInfo_53r24_422{display:flex;flex-direction:column;gap:1px;flex:1 0 0;min-width:0}._avatarName_53r24_430{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:13px;line-height:1.3;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._avatarRole_53r24_441{font-family:Clash Grotesk Variable,sans-serif;font-weight:400;font-size:11px;line-height:1.3;color:#ffffffa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._pagination_olot7_11{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}._item_olot7_20{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:4px;overflow:hidden;font-family:Roboto,sans-serif;font-weight:400;font-variation-settings:"'wdth' 100";letter-spacing:0;text-align:center;white-space:nowrap;line-height:1;background:transparent;border:none;padding:0;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;transition:background .12s ease,opacity .12s ease}._item_olot7_20:focus-visible{outline:2px solid #0F6C13;outline-offset:1px}._xs_olot7_55{width:20px;height:20px;font-size:12px;line-height:14px}._md_olot7_63{width:32px;height:32px;font-size:16px;line-height:18px}._lg_olot7_71{width:40px;height:40px;font-size:18px;line-height:20px}._active_olot7_81{background:#0f6c13;color:#fff;cursor:default}._inactive_olot7_88{border:1px solid #CED4DA;color:#101113}._inactive_olot7_88:hover{background:#ced4da33}._inactive_olot7_88:active{background:#ced4da59}._dots_olot7_102{color:#101113;cursor:default;border:none;background:transparent}._control_olot7_110{border:1px solid #CED4DA;color:#101113}._control_olot7_110:hover{background:#ced4da33}._control_olot7_110:active{background:#ced4da59}._control_olot7_110:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}._steps_xg6k6_20{display:flex;align-items:stretch;width:100%;isolation:isolate}._item_xg6k6_30{flex:1 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 20px;min-height:62px;position:relative;box-sizing:border-box;cursor:default;transition:background .15s ease}._typeStart_xg6k6_51{clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);margin-right:-16px}._typeStep_xg6k6_66{clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%);margin-right:-16px}._typeEnd_xg6k6_82{clip-path:polygon(16px 0,100% 0,100% 100%,0 100%,16px 50%)}._stateDefault_xg6k6_94{background:#e0deed}._stateHover_xg6k6_95{background:#e7da10}._stateActive_xg6k6_96{background:#0f6c13}._stateComplete_xg6k6_97{background:#203224}._textDark_xg6k6_101{color:#203224}._textLight_xg6k6_102{color:#fff}._label_xg6k6_106{font-family:Clash Grotesk Variable,sans-serif;font-weight:600;font-size:14px;line-height:1.3;letter-spacing:0;white-space:nowrap;text-align:center;margin:0}._num_xg6k6_119{font-family:Clash Display Variable,sans-serif;font-weight:600;font-size:21px;line-height:1.25;letter-spacing:0;white-space:nowrap;text-align:center;margin:0}._checkIcon_xg6k6_132{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}._minified_xg6k6_143{display:flex;align-items:center;width:100%}._minDot_xg6k6_150{border-radius:50%;flex-shrink:0;transition:all .2s ease}._minDefault_xg6k6_156{width:8px;height:8px;background:#e0deed}._minActive_xg6k6_162{width:12px;height:12px;background:#0f6c13;box-shadow:0 0 0 3px #0f6c132e}._minComplete_xg6k6_169{width:8px;height:8px;background:#203224}._minConnector_xg6k6_176{flex:1 1 0;height:2px;min-width:8px;transition:background .2s ease}._minConnectorDefault_xg6k6_183,._minConnectorActive_xg6k6_184{background:#e0deed}._minConnectorComplete_xg6k6_185{background:#203224}._dropzone_19kgn_8{display:flex;align-items:center;width:100%;border:1px dashed #D0D5DD;border-radius:8px;background:#fff;overflow:hidden;cursor:pointer;box-sizing:border-box;transition:background .15s ease,border-color .15s ease,border-style .15s ease}._dropzoneMd_19kgn_22{flex-direction:row;gap:16px;padding:16px}._dropzoneLg_19kgn_29{flex-direction:column;justify-content:center;gap:12px;height:165px;padding:24px}._dropzone_19kgn_8:hover,._dropzoneDragging_19kgn_39{background:#dbe8ff;border-color:#2970ff;border-style:solid}._dropzoneIconMd_19kgn_48{width:32px;height:32px;flex-shrink:0;position:relative}._dropzoneIconLg_19kgn_56{width:96px;height:64px;flex-shrink:0;position:relative;filter:drop-shadow(0px 8px 8px rgba(0,0,0,.03)) drop-shadow(0px 20px 24px rgba(0,0,0,.08))}._dropzoneContent_19kgn_67{display:flex;flex-direction:column;gap:4px;flex:1 0 0;min-width:0}._dropzoneLg_19kgn_29 ._dropzoneContent_19kgn_67{align-items:center;flex:unset}._dropzoneTitleRow_19kgn_81{display:flex;align-items:center;gap:4px;flex-shrink:0}._dropzoneTitle_19kgn_81{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:1.6;letter-spacing:0;color:#101828;white-space:nowrap;margin:0}._dropzoneBrowse_19kgn_99{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:1.6;letter-spacing:0;color:#154fef;white-space:nowrap;background:none;border:none;padding:0;cursor:pointer;text-decoration:none}._dropzoneSubtitle_19kgn_114{font-family:Inter,sans-serif;font-weight:400;font-size:10px;line-height:1.6;letter-spacing:0;color:#667085;white-space:nowrap;margin:0;width:100%}._fileList_19kgn_128{display:flex;flex-direction:column;gap:8px;width:100%}._fileItem_19kgn_137{display:flex;gap:16px;padding:16px;background:#fff;border:1px solid #EAECF0;border-radius:8px;width:100%;box-sizing:border-box;overflow:hidden}._fileItemLg_19kgn_150{align-items:flex-start}._fileItemMd_19kgn_155{align-items:center}._fileBadge_19kgn_161{width:32px;height:32px;flex-shrink:0;background:#b2c9ff;border:4px solid #DBE8FF;border-radius:999px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}._fileContent_19kgn_176{display:flex;flex-direction:column;gap:4px;flex:1 0 0;min-width:0;min-height:1px;justify-content:center}._fileHeader_19kgn_186{display:flex;align-items:flex-start;gap:12px;width:100%}._fileTexts_19kgn_193{display:flex;flex-direction:column;gap:4px;flex:1 0 0;min-width:0;justify-content:center}._fileName_19kgn_202{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:1.6;letter-spacing:0;color:#101828;margin:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._fileSize_19kgn_216{font-family:Inter,sans-serif;font-weight:400;font-size:10px;line-height:1.6;letter-spacing:0;color:#667085;margin:0;width:100%}._actions_19kgn_229{display:flex;align-items:center;gap:4px;flex-shrink:0}._actionBtn_19kgn_236{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fff;border:1px solid #EAECF0;border-radius:4px;overflow:hidden;cursor:pointer;padding:0;flex-shrink:0;color:#475467;transition:background .1s ease}._actionBtn_19kgn_236:hover{background:#f8fafc}._progressRow_19kgn_259{display:flex;align-items:center;gap:8px;width:100%;flex-shrink:0}._progressTrack_19kgn_267{flex:1 0 0;height:4px;background:#eaecf0;border-radius:999px;min-width:1px;overflow:hidden;position:relative}._progressFill_19kgn_277{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:linear-gradient(to right,#2970ff,#0040c1);transition:width .3s ease}._progressLabel_19kgn_288{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:1.6;color:#101828;white-space:nowrap;flex-shrink:0;margin:0}._spinner_19kgn_301{width:24px;height:24px;flex-shrink:0;border:2px solid #DBE8FF;border-top-color:#2970ff;border-radius:50%;animation:_spin_19kgn_301 .7s linear infinite}@keyframes _spin_19kgn_301{to{transform:rotate(360deg)}}._wrapper_19kgn_317{display:flex;flex-direction:column;gap:12px;align-items:flex-start;width:100%}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../components/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../components/index.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAI9B,OAAO,EAAE,KAAK,EAAE,MAAiB,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAQ,kBAAkB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE9F,OAAO,EAAE,MAAM,EAAE,MAAgB,UAAU,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAgB,UAAU,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAiB,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAiB,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAmB,OAAO,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAY,cAAc,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,KAAK,EAAE,MAAiB,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAgB,UAAU,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI/G,OAAO,EAAE,MAAM,EAAE,MAAW,kBAAkB,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAW,sBAAsB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const e=require("./index.cjs3.js"),r=require("./index.cjs4.js"),o=require("./index.cjs5.js"),t=require("./index.cjs6.js"),a=require("./index.cjs7.js"),n=require("./index.cjs8.js"),i=require("./index.cjs9.js"),s=require("./index.cjs10.js"),u=require("./index.cjs11.js"),c=require("./index.cjs12.js"),p=require("./index.cjs13.js"),l=require("./index.cjs14.js");exports.colors=e.colors;exports.typography=r.typography;exports.Alert=o.Alert;exports.BaseCheckRadio=t.BaseCheckRadio;exports.Button=a.Button;exports.Header=n.Header;exports.Input=i.Input;exports.Modal=s.Modal;exports.Nav=u.Nav;exports.Pagination=c.Pagination;exports.Steps=p.Steps;exports.Upload=l.Upload;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.cjs10.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("react"),l=require("./index.cjs18.js");function b({isOpen:s,title:u,description:o,children:i,onClose:n,primaryAction:a,secondaryAction:d}){const c=r.useCallback(t=>{t.key==="Escape"&&n()},[n]);if(r.useEffect(()=>{if(!s)return;document.addEventListener("keydown",c);const t=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",c),document.body.style.overflow=t}},[s,c]),!s)return null;const m=a||d;return e.jsx("div",{className:l.default.overlay,onClick:n,role:"presentation",children:e.jsxs("div",{className:l.default.modal,role:"dialog","aria-modal":"true","aria-labelledby":"modal-title","aria-describedby":o?"modal-desc":void 0,onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:l.default.heading,children:[e.jsx("p",{id:"modal-title",className:l.default.title,children:u}),o&&e.jsx("p",{id:"modal-desc",className:l.default.description,children:o})]}),i&&e.jsx("div",{className:l.default.body,children:i}),m&&e.jsx("div",{className:l.default.actions,children:e.jsxs("div",{className:l.default.btns,children:[d&&e.jsx("button",{type:"button",className:l.default.btnSecondary,onClick:d.onClick,children:d.label}),a&&e.jsx("button",{type:"button",className:l.default.btnPrimary,onClick:a.onClick,children:a.label})]})})]})})}exports.Modal=b;
|
|
2
2
|
//# sourceMappingURL=index.cjs10.js.map
|
package/dist/index.cjs10.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs10.js","sources":["../components/Nav/Nav.tsx"],"sourcesContent":["import React from 'react';\nimport styles from './Nav.module.css';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface NavItem {\n id: string;\n label: string;\n icon: React.ReactNode;\n href?: string;\n onClick?: () => void;\n}\n\nexport interface NavSection {\n title?: string;\n items: NavItem[];\n}\n\nexport interface NavMobileFooter {\n ctaLabel?: string;\n onCtaClick?: () => void;\n workspaceName?: string;\n workspaceIcon?: React.ReactNode;\n onWorkspaceClick?: () => void;\n userName?: string;\n userRole?: string;\n userAvatarUrl?: string;\n userInitials?: string;\n}\n\nexport interface NavProps {\n /** Visual type of the nav */\n type: 'open' | 'closed' | 'mobile';\n /** Navigation sections with items */\n sections: NavSection[];\n /** Currently active item id */\n activeId?: string;\n /** Called when an item is clicked (receives item.id) */\n onItemClick?: (id: string) => void;\n /** Called when collapse/expand button is clicked (Open/Closed only) */\n onCollapseToggle?: () => void;\n /** Bell icon click handler (Mobile only) */\n onBellClick?: () => void;\n /** Mobile header title (defaults to \"Menu\") */\n mobileTitle?: string;\n /** Mobile footer data */\n mobileFooter?: NavMobileFooter;\n /** Logo for the Open type (full logo) */\n logo?: React.ReactNode;\n /** Small logo icon shown in Closed + Mobile headers */\n logoIcon?: React.ReactNode;\n className?: string;\n}\n\n// ─── Inline SVG icons ─────────────────────────────────────────────────────────\n\nfunction IconChevronRight() {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M6 12l4-4-4-4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\nfunction IconChevronLeft() {\n return (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M13 15l-5-5 5-5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\nfunction IconChevronRight20() {\n return (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M7 15l5-5-5-5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\nfunction IconBell() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9\" />\n <path d=\"M13.73 21a2 2 0 0 1-3.46 0\" />\n </svg>\n );\n}\n\nfunction DefaultLogoIcon() {\n return (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" aria-hidden=\"true\">\n <rect width=\"32\" height=\"32\" rx=\"6\" fill=\"#0F6C13\" />\n <path d=\"M8 24 L16 8 L24 24\" stroke=\"#E7DA10\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M11 19h10\" stroke=\"#E7DA10\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\n// ─── Sub-components ───────────────────────────────────────────────────────────\n\nfunction NavItemOpen({\n item,\n isActive,\n onClick,\n}: {\n item: NavItem;\n isActive: boolean;\n onClick: () => void;\n}) {\n const itemClass = [\n styles.item,\n styles.itemOpen,\n isActive ? styles.itemOpenActive : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n const labelClass = [\n styles.itemLabel,\n isActive ? styles.itemLabelActive : styles.itemLabelDefault,\n ].join(' ');\n\n return (\n <button\n type=\"button\"\n className={itemClass}\n onClick={onClick}\n aria-current={isActive ? 'page' : undefined}\n >\n <span className={[styles.itemIcon, styles.itemIconDark].join(' ')}>\n {item.icon}\n </span>\n <span className={labelClass}>{item.label}</span>\n </button>\n );\n}\n\nfunction NavItemClosed({\n item,\n isActive,\n onClick,\n}: {\n item: NavItem;\n isActive: boolean;\n onClick: () => void;\n}) {\n const itemClass = [\n styles.item,\n styles.itemClosed,\n isActive ? styles.itemClosedActive : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <button\n type=\"button\"\n className={itemClass}\n onClick={onClick}\n aria-label={item.label}\n aria-current={isActive ? 'page' : undefined}\n title={item.label}\n >\n <span className={[styles.itemIcon, styles.itemIconDark].join(' ')}>\n {item.icon}\n </span>\n </button>\n );\n}\n\nfunction NavItemMobile({\n item,\n isActive,\n onClick,\n}: {\n item: NavItem;\n isActive: boolean;\n onClick: () => void;\n}) {\n const itemClass = [\n styles.item,\n styles.itemMobile,\n isActive ? styles.itemMobileActive : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <button\n type=\"button\"\n className={itemClass}\n onClick={onClick}\n aria-current={isActive ? 'page' : undefined}\n >\n <span className={[styles.itemIcon, styles.itemIconLight].join(' ')}>\n {item.icon}\n </span>\n <span className={[styles.itemLabel, styles.itemLabelMobile].join(' ')}>\n {item.label}\n </span>\n <span className={styles.chevron}>\n <IconChevronRight />\n </span>\n </button>\n );\n}\n\n// ─── Main component ───────────────────────────────────────────────────────────\n\nexport function Nav({\n type,\n sections,\n activeId,\n onItemClick,\n onCollapseToggle,\n onBellClick,\n mobileTitle = 'Menu',\n mobileFooter,\n logo,\n logoIcon,\n className,\n}: NavProps) {\n const resolvedLogoIcon = logoIcon ?? <DefaultLogoIcon />;\n\n const navClass = [\n styles.nav,\n type === 'open' ? styles.navOpen : '',\n type === 'closed' ? styles.navClosed : '',\n type === 'mobile' ? styles.navMobile : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // ── Open ──────────────────────────────────────────────────────────────────\n if (type === 'open') {\n return (\n <nav className={navClass} aria-label=\"Main navigation\">\n {/* Header */}\n <div className={[styles.header, styles.headerOpen].join(' ')}>\n <div className={styles.logoIcon}>{resolvedLogoIcon}</div>\n {logo && <div className={styles.logoFull}>{logo}</div>}\n </div>\n\n {/* Links */}\n <div className={[styles.links, styles.linksOpen].join(' ')}>\n {sections.map((section, si) => (\n <div key={si} className={styles.section}>\n {section.title && (\n <p className={styles.sectionTitle}>{section.title}</p>\n )}\n <div className={styles.sectionItems}>\n {section.items.map((item) => (\n <NavItemOpen\n key={item.id}\n item={item}\n isActive={item.id === activeId}\n onClick={() => onItemClick?.(item.id)}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n\n {/* Footer: collapse */}\n <div className={styles.footer}>\n <button\n type=\"button\"\n className={styles.collapseBtn}\n onClick={onCollapseToggle}\n >\n <span className={styles.collapseBtnIcon}>\n <IconChevronLeft />\n </span>\n Recolher menu\n </button>\n </div>\n </nav>\n );\n }\n\n // ── Closed ────────────────────────────────────────────────────────────────\n if (type === 'closed') {\n return (\n <nav className={navClass} aria-label=\"Main navigation\">\n {/* Header */}\n <div className={[styles.header, styles.headerClosed].join(' ')}>\n <div className={styles.logoIcon}>{resolvedLogoIcon}</div>\n </div>\n\n {/* Links */}\n <div className={[styles.links, styles.linksClosed].join(' ')}>\n {sections.map((section, si) => (\n <div key={si} className={styles.section}>\n <div className={styles.sectionItems}>\n {section.items.map((item) => (\n <NavItemClosed\n key={item.id}\n item={item}\n isActive={item.id === activeId}\n onClick={() => onItemClick?.(item.id)}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n\n {/* Footer: expand */}\n <div className={styles.footer}>\n <button\n type=\"button\"\n className={[styles.collapseBtn, styles.collapseBtnClosed].join(' ')}\n onClick={onCollapseToggle}\n aria-label=\"Expand menu\"\n title=\"Expandir menu\"\n >\n <span className={styles.collapseBtnIcon}>\n <IconChevronRight20 />\n </span>\n </button>\n </div>\n </nav>\n );\n }\n\n // ── Mobile ────────────────────────────────────────────────────────────────\n return (\n <nav className={navClass} aria-label=\"Main navigation\">\n {/* Header */}\n <div className={[styles.header, styles.headerMobile].join(' ')}>\n <div className={styles.logoIcon}>{resolvedLogoIcon}</div>\n <h2 className={styles.headerTitle}>{mobileTitle}</h2>\n <div className={styles.headerActions}>\n <button\n type=\"button\"\n className={styles.bellBtn}\n onClick={onBellClick}\n aria-label=\"Notifications\"\n >\n <IconBell />\n </button>\n </div>\n </div>\n\n {/* Links */}\n <div className={[styles.links, styles.linksMobile].join(' ')}>\n {sections.map((section, si) => (\n <div key={si} className={styles.section}>\n <div className={styles.sectionItems}>\n {section.items.map((item) => (\n <NavItemMobile\n key={item.id}\n item={item}\n isActive={item.id === activeId}\n onClick={() => onItemClick?.(item.id)}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n\n {/* Footer: CTA + workspace + avatar */}\n {mobileFooter && (\n <div className={styles.footerMobile}>\n {mobileFooter.ctaLabel && (\n <button\n type=\"button\"\n className={styles.ctaBtn}\n onClick={mobileFooter.onCtaClick}\n >\n {mobileFooter.ctaLabel}\n </button>\n )}\n\n {mobileFooter.workspaceName && (\n <button\n type=\"button\"\n className={styles.workspace}\n onClick={mobileFooter.onWorkspaceClick}\n >\n <div className={styles.workspaceIcon}>\n {mobileFooter.workspaceIcon ?? <DefaultLogoIcon />}\n </div>\n <span className={styles.workspaceLabel}>\n {mobileFooter.workspaceName}\n </span>\n <span style={{ color: '#9490AC', display: 'flex' }}>\n <IconChevronRight />\n </span>\n </button>\n )}\n\n {(mobileFooter.userName || mobileFooter.userInitials) && (\n <div className={styles.avatarRow}>\n <div className={styles.avatar}>\n {mobileFooter.userAvatarUrl ? (\n <img\n src={mobileFooter.userAvatarUrl}\n alt={mobileFooter.userName ?? ''}\n style={{ width: '100%', height: '100%', objectFit: 'cover' }}\n />\n ) : (\n <span className={styles.avatarInitials}>\n {mobileFooter.userInitials ?? '?'}\n </span>\n )}\n </div>\n <div className={styles.avatarInfo}>\n {mobileFooter.userName && (\n <span className={styles.avatarName}>{mobileFooter.userName}</span>\n )}\n {mobileFooter.userRole && (\n <span className={styles.avatarRole}>{mobileFooter.userRole}</span>\n )}\n </div>\n </div>\n )}\n </div>\n )}\n </nav>\n );\n}\n"],"names":["IconChevronRight","jsx","IconChevronLeft","IconChevronRight20","IconBell","DefaultLogoIcon","jsxs","NavItemOpen","item","isActive","onClick","itemClass","styles","labelClass","NavItemClosed","NavItemMobile","Nav","type","sections","activeId","onItemClick","onCollapseToggle","onBellClick","mobileTitle","mobileFooter","logo","logoIcon","className","resolvedLogoIcon","navClass","section","si"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs10.js","sources":["../components/Modal/Modal.tsx"],"sourcesContent":["import React, { useEffect, useCallback } from 'react';\nimport styles from './Modal.module.css';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface ModalAction {\n label: string;\n onClick: () => void;\n}\n\nexport interface ModalProps {\n isOpen: boolean;\n title: string;\n description?: string;\n /** Customizable modal body content (e.g. radio/checkbox option list) */\n children?: React.ReactNode;\n onClose: () => void;\n primaryAction?: ModalAction;\n secondaryAction?: ModalAction;\n}\n\n// ─── Modal ────────────────────────────────────────────────────────────────────\n\nexport function Modal({\n isOpen,\n title,\n description,\n children,\n onClose,\n primaryAction,\n secondaryAction,\n}: ModalProps) {\n // Close on Escape key\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n },\n [onClose],\n );\n\n useEffect(() => {\n if (!isOpen) return;\n document.addEventListener('keydown', handleKeyDown);\n // Prevent body scroll while modal is open\n const prev = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.body.style.overflow = prev;\n };\n }, [isOpen, handleKeyDown]);\n\n if (!isOpen) return null;\n\n const hasActions = primaryAction || secondaryAction;\n\n return (\n <div\n className={styles.overlay}\n onClick={onClose}\n role=\"presentation\"\n >\n <div\n className={styles.modal}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"modal-title\"\n aria-describedby={description ? 'modal-desc' : undefined}\n onClick={(e) => e.stopPropagation()}\n >\n {/* Heading */}\n <div className={styles.heading}>\n <p id=\"modal-title\" className={styles.title}>\n {title}\n </p>\n {description && (\n <p id=\"modal-desc\" className={styles.description}>\n {description}\n </p>\n )}\n </div>\n\n {/* Body */}\n {children && (\n <div className={styles.body}>\n {children}\n </div>\n )}\n\n {/* Actions */}\n {hasActions && (\n <div className={styles.actions}>\n <div className={styles.btns}>\n {secondaryAction && (\n <button\n type=\"button\"\n className={styles.btnSecondary}\n onClick={secondaryAction.onClick}\n >\n {secondaryAction.label}\n </button>\n )}\n {primaryAction && (\n <button\n type=\"button\"\n className={styles.btnPrimary}\n onClick={primaryAction.onClick}\n >\n {primaryAction.label}\n </button>\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["Modal","isOpen","title","description","children","onClose","primaryAction","secondaryAction","handleKeyDown","useCallback","e","useEffect","prev","hasActions","jsx","styles","jsxs"],"mappings":"sKAuBO,SAASA,EAAM,CACpB,OAAAC,EACA,MAAAC,EACA,YAAAC,EACA,SAAAC,EACA,QAAAC,EACA,cAAAC,EACA,gBAAAC,CACF,EAAe,CAEb,MAAMC,EAAgBC,EAAAA,YACnBC,GAAqB,CAChBA,EAAE,MAAQ,UAAUL,EAAA,CAC1B,EACA,CAACA,CAAO,CAAA,EAeV,GAZAM,EAAAA,UAAU,IAAM,CACd,GAAI,CAACV,EAAQ,OACb,SAAS,iBAAiB,UAAWO,CAAa,EAElD,MAAMI,EAAO,SAAS,KAAK,MAAM,SACjC,gBAAS,KAAK,MAAM,SAAW,SACxB,IAAM,CACX,SAAS,oBAAoB,UAAWJ,CAAa,EACrD,SAAS,KAAK,MAAM,SAAWI,CACjC,CACF,EAAG,CAACX,EAAQO,CAAa,CAAC,EAEtB,CAACP,EAAQ,OAAO,KAEpB,MAAMY,EAAaP,GAAiBC,EAEpC,OACEO,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,QAAO,QAClB,QAASV,EACT,KAAK,eAEL,SAAAW,EAAAA,KAAC,MAAA,CACC,UAAWD,EAAAA,QAAO,MAClB,KAAK,SACL,aAAW,OACX,kBAAgB,cAChB,mBAAkBZ,EAAc,aAAe,OAC/C,QAAUO,GAAMA,EAAE,gBAAA,EAGlB,SAAA,CAAAM,EAAAA,KAAC,MAAA,CAAI,UAAWD,EAAAA,QAAO,QACrB,SAAA,CAAAD,MAAC,KAAE,GAAG,cAAc,UAAWC,EAAAA,QAAO,MACnC,SAAAb,EACH,EACCC,SACE,IAAA,CAAE,GAAG,aAAa,UAAWY,UAAO,YAClC,SAAAZ,CAAA,CACH,CAAA,EAEJ,EAGCC,GACCU,EAAAA,IAAC,MAAA,CAAI,UAAWC,UAAO,KACpB,SAAAX,EACH,EAIDS,GACCC,EAAAA,IAAC,MAAA,CAAI,UAAWC,EAAAA,QAAO,QACrB,SAAAC,EAAAA,KAAC,MAAA,CAAI,UAAWD,EAAAA,QAAO,KACpB,SAAA,CAAAR,GACCO,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAWC,EAAAA,QAAO,aAClB,QAASR,EAAgB,QAExB,SAAAA,EAAgB,KAAA,CAAA,EAGpBD,GACCQ,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAWC,EAAAA,QAAO,WAClB,QAAST,EAAc,QAEtB,SAAAA,EAAc,KAAA,CAAA,CACjB,CAAA,CAEJ,CAAA,CACF,CAAA,CAAA,CAAA,CAEJ,CAAA,CAGN"}
|
package/dist/index.cjs11.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("./index.cjs21.js");function x(){return e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M6 12l4-4-4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function k(){return e.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M13 15l-5-5 5-5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function b(){return e.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M7 15l5-5-5-5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function g(){return e.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[e.jsx("path",{d:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"}),e.jsx("path",{d:"M13.73 21a2 2 0 0 1-3.46 0"})]})}function j(){return e.jsxs("svg",{width:"32",height:"32",viewBox:"0 0 32 32",fill:"none","aria-hidden":"true",children:[e.jsx("rect",{width:"32",height:"32",rx:"6",fill:"#0F6C13"}),e.jsx("path",{d:"M8 24 L16 8 L24 24",stroke:"#E7DA10",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:"M11 19h10",stroke:"#E7DA10",strokeWidth:"2",strokeLinecap:"round"})]})}function L({item:l,isActive:i,onClick:d}){const n=[a.default.item,a.default.itemOpen,i?a.default.itemOpenActive:""].filter(Boolean).join(" "),o=[a.default.itemLabel,i?a.default.itemLabelActive:a.default.itemLabelDefault].join(" ");return e.jsxs("button",{type:"button",className:n,onClick:d,"aria-current":i?"page":void 0,children:[e.jsx("span",{className:[a.default.itemIcon,a.default.itemIconDark].join(" "),children:l.icon}),e.jsx("span",{className:o,children:l.label})]})}function M({item:l,isActive:i,onClick:d}){const n=[a.default.item,a.default.itemClosed,i?a.default.itemClosedActive:""].filter(Boolean).join(" ");return e.jsx("button",{type:"button",className:n,onClick:d,"aria-label":l.label,"aria-current":i?"page":void 0,title:l.label,children:e.jsx("span",{className:[a.default.itemIcon,a.default.itemIconDark].join(" "),children:l.icon})})}function w({item:l,isActive:i,onClick:d}){const n=[a.default.item,a.default.itemMobile,i?a.default.itemMobileActive:""].filter(Boolean).join(" ");return e.jsxs("button",{type:"button",className:n,onClick:d,"aria-current":i?"page":void 0,children:[e.jsx("span",{className:[a.default.itemIcon,a.default.itemIconLight].join(" "),children:l.icon}),e.jsx("span",{className:[a.default.itemLabel,a.default.itemLabelMobile].join(" "),children:l.label}),e.jsx("span",{className:a.default.chevron,children:e.jsx(x,{})})]})}function B({type:l,sections:i,activeId:d,onItemClick:n,onCollapseToggle:o,onBellClick:v,mobileTitle:p="Menu",mobileFooter:s,logo:f,logoIcon:N,className:m}){const u=N??e.jsx(j,{}),h=[a.default.nav,l==="open"?a.default.navOpen:"",l==="closed"?a.default.navClosed:"",l==="mobile"?a.default.navMobile:"",m].filter(Boolean).join(" ");return l==="open"?e.jsxs("nav",{className:h,"aria-label":"Main navigation",children:[e.jsxs("div",{className:[a.default.header,a.default.headerOpen].join(" "),children:[e.jsx("div",{className:a.default.logoIcon,children:u}),f&&e.jsx("div",{className:a.default.logoFull,children:f})]}),e.jsx("div",{className:[a.default.links,a.default.linksOpen].join(" "),children:i.map((r,c)=>e.jsxs("div",{className:a.default.section,children:[r.title&&e.jsx("p",{className:a.default.sectionTitle,children:r.title}),e.jsx("div",{className:a.default.sectionItems,children:r.items.map(t=>e.jsx(L,{item:t,isActive:t.id===d,onClick:()=>n==null?void 0:n(t.id)},t.id))})]},c))}),e.jsx("div",{className:a.default.footer,children:e.jsxs("button",{type:"button",className:a.default.collapseBtn,onClick:o,children:[e.jsx("span",{className:a.default.collapseBtnIcon,children:e.jsx(k,{})}),"Recolher menu"]})})]}):l==="closed"?e.jsxs("nav",{className:h,"aria-label":"Main navigation",children:[e.jsx("div",{className:[a.default.header,a.default.headerClosed].join(" "),children:e.jsx("div",{className:a.default.logoIcon,children:u})}),e.jsx("div",{className:[a.default.links,a.default.linksClosed].join(" "),children:i.map((r,c)=>e.jsx("div",{className:a.default.section,children:e.jsx("div",{className:a.default.sectionItems,children:r.items.map(t=>e.jsx(M,{item:t,isActive:t.id===d,onClick:()=>n==null?void 0:n(t.id)},t.id))})},c))}),e.jsx("div",{className:a.default.footer,children:e.jsx("button",{type:"button",className:[a.default.collapseBtn,a.default.collapseBtnClosed].join(" "),onClick:o,"aria-label":"Expand menu",title:"Expandir menu",children:e.jsx("span",{className:a.default.collapseBtnIcon,children:e.jsx(b,{})})})})]}):e.jsxs("nav",{className:h,"aria-label":"Main navigation",children:[e.jsxs("div",{className:[a.default.header,a.default.headerMobile].join(" "),children:[e.jsx("div",{className:a.default.logoIcon,children:u}),e.jsx("h2",{className:a.default.headerTitle,children:p}),e.jsx("div",{className:a.default.headerActions,children:e.jsx("button",{type:"button",className:a.default.bellBtn,onClick:v,"aria-label":"Notifications",children:e.jsx(g,{})})})]}),e.jsx("div",{className:[a.default.links,a.default.linksMobile].join(" "),children:i.map((r,c)=>e.jsx("div",{className:a.default.section,children:e.jsx("div",{className:a.default.sectionItems,children:r.items.map(t=>e.jsx(w,{item:t,isActive:t.id===d,onClick:()=>n==null?void 0:n(t.id)},t.id))})},c))}),s&&e.jsxs("div",{className:a.default.footerMobile,children:[s.ctaLabel&&e.jsx("button",{type:"button",className:a.default.ctaBtn,onClick:s.onCtaClick,children:s.ctaLabel}),s.workspaceName&&e.jsxs("button",{type:"button",className:a.default.workspace,onClick:s.onWorkspaceClick,children:[e.jsx("div",{className:a.default.workspaceIcon,children:s.workspaceIcon??e.jsx(j,{})}),e.jsx("span",{className:a.default.workspaceLabel,children:s.workspaceName}),e.jsx("span",{style:{color:"#9490AC",display:"flex"},children:e.jsx(x,{})})]}),(s.userName||s.userInitials)&&e.jsxs("div",{className:a.default.avatarRow,children:[e.jsx("div",{className:a.default.avatar,children:s.userAvatarUrl?e.jsx("img",{src:s.userAvatarUrl,alt:s.userName??"",style:{width:"100%",height:"100%",objectFit:"cover"}}):e.jsx("span",{className:a.default.avatarInitials,children:s.userInitials??"?"})}),e.jsxs("div",{className:a.default.avatarInfo,children:[s.userName&&e.jsx("span",{className:a.default.avatarName,children:s.userName}),s.userRole&&e.jsx("span",{className:a.default.avatarRole,children:s.userRole})]})]})]})]})}exports.Nav=B;
|
|
2
2
|
//# sourceMappingURL=index.cjs11.js.map
|
package/dist/index.cjs11.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs11.js","sources":["../components/Pagination/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport styles from './Pagination.module.css';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport type PaginationSize = 'xs' | 'md' | 'lg';\n\nexport interface PaginationProps {\n sizes?: PaginationSize;\n currentPage?: number;\n totalPages?: number;\n /** Show previous / next chevron buttons */\n withControls?: boolean;\n /** Show first / last double-chevron buttons */\n withEdges?: boolean;\n onChange?: (page: number) => void;\n className?: string;\n}\n\n// ─── Icon size lookup (xs=12, md=20, lg=24 — from Figma) ─────────────────────\n\nconst ICON_SIZE: Record<PaginationSize, number> = { xs: 12, md: 20, lg: 24 };\n\n// ─── SVG icons (inline, no external dependency) ──────────────────────────────\n\nconst IconDots = ({ s }: { s: number }) => (\n <svg width={s} height={s} viewBox=\"0 0 12 12\" fill=\"currentColor\" aria-hidden=\"true\">\n {/* System/Dots — 3 horizontal dots */}\n <circle cx=\"2\" cy=\"6\" r=\"1.25\" />\n <circle cx=\"6\" cy=\"6\" r=\"1.25\" />\n <circle cx=\"10\" cy=\"6\" r=\"1.25\" />\n </svg>\n);\n\nconst IconChevronLeft = ({ s }: { s: number }) => (\n // Arrows/Chevron Left — single chevron «\n <svg width={s} height={s} viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\"\n strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <polyline points=\"7.5,2 4,6 7.5,10\" />\n </svg>\n);\n\nconst IconChevronRight = ({ s }: { s: number }) => (\n // Arrows/Chevron Right — single chevron »\n <svg width={s} height={s} viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\"\n strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <polyline points=\"4.5,2 8,6 4.5,10\" />\n </svg>\n);\n\nconst IconChevronsLeft = ({ s }: { s: number }) => (\n // Arrows/Chevrons Left — double chevron «\n <svg width={s} height={s} viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\"\n strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <polyline points=\"6.5,2 3,6 6.5,10\" />\n <polyline points=\"9.5,2 6,6 9.5,10\" />\n </svg>\n);\n\nconst IconChevronsRight = ({ s }: { s: number }) => (\n // Arrows/Chevrons Right — double chevron »\n <svg width={s} height={s} viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\"\n strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <polyline points=\"2.5,2 6,6 2.5,10\" />\n <polyline points=\"5.5,2 9,6 5.5,10\" />\n </svg>\n);\n\n// ─── Page range algorithm ─────────────────────────────────────────────────────\n// Produces an array like: [1, 2, 3, 4, 5, '…', 10]\n// or: [1, '…', 4, 5, 6, '…', 10]\n// Matches the Figma design: first 5 visible, dots, last page\n\ntype PageItem = number | '…';\n\nfunction buildRange(current: number, total: number): PageItem[] {\n if (total <= 7) {\n return Array.from({ length: total }, (_, i) => i + 1);\n }\n\n // Near the start — show first 5, dots, last\n if (current <= 4) {\n return [1, 2, 3, 4, 5, '…', total];\n }\n\n // Near the end — show first, dots, last 5\n if (current >= total - 3) {\n return [1, '…', total - 4, total - 3, total - 2, total - 1, total];\n }\n\n // Middle — first, dots, (current-1), current, (current+1), dots, last\n return [1, '…', current - 1, current, current + 1, '…', total];\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport function Pagination({\n sizes = 'xs',\n currentPage = 1,\n totalPages = 10,\n withControls = false,\n withEdges = false,\n onChange,\n className,\n}: PaginationProps) {\n const iconSize = ICON_SIZE[sizes];\n const pages = buildRange(currentPage, totalPages);\n\n const go = (page: number) => {\n if (page < 1 || page > totalPages || page === currentPage) return;\n onChange?.(page);\n };\n\n const itemClass = (extra: string) =>\n [styles.item, styles[sizes], extra].filter(Boolean).join(' ');\n\n return (\n <nav\n role=\"navigation\"\n aria-label=\"Pagination\"\n className={[styles.pagination, className].filter(Boolean).join(' ')}\n >\n {/* First page button («) */}\n {withEdges && (\n <button\n className={itemClass(styles.control)}\n onClick={() => go(1)}\n disabled={currentPage === 1}\n aria-label=\"First page\"\n type=\"button\"\n >\n <IconChevronsLeft s={iconSize} />\n </button>\n )}\n\n {/* Previous button (‹) */}\n {withControls && (\n <button\n className={itemClass(styles.control)}\n onClick={() => go(currentPage - 1)}\n disabled={currentPage === 1}\n aria-label=\"Previous page\"\n type=\"button\"\n >\n <IconChevronLeft s={iconSize} />\n </button>\n )}\n\n {/* Page numbers + dots */}\n {pages.map((page, i) =>\n page === '…' ? (\n <span\n key={`dots-${i}`}\n className={itemClass(styles.dots)}\n aria-hidden=\"true\"\n >\n <IconDots s={iconSize} />\n </span>\n ) : (\n <button\n key={page}\n className={itemClass(page === currentPage ? styles.active : styles.inactive)}\n onClick={() => go(page)}\n aria-label={`Page ${page}`}\n aria-current={page === currentPage ? 'page' : undefined}\n type=\"button\"\n >\n {page}\n </button>\n )\n )}\n\n {/* Next button (›) */}\n {withControls && (\n <button\n className={itemClass(styles.control)}\n onClick={() => go(currentPage + 1)}\n disabled={currentPage === totalPages}\n aria-label=\"Next page\"\n type=\"button\"\n >\n <IconChevronRight s={iconSize} />\n </button>\n )}\n\n {/* Last page button (») */}\n {withEdges && (\n <button\n className={itemClass(styles.control)}\n onClick={() => go(totalPages)}\n disabled={currentPage === totalPages}\n aria-label=\"Last page\"\n type=\"button\"\n >\n <IconChevronsRight s={iconSize} />\n </button>\n )}\n </nav>\n );\n}\n"],"names":["ICON_SIZE","IconDots","s","jsx","IconChevronLeft","IconChevronRight","IconChevronsLeft","jsxs","IconChevronsRight","buildRange","current","total","_","i","Pagination","sizes","currentPage","totalPages","withControls","withEdges","onChange","className","iconSize","pages","go","page","itemClass","extra","styles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs11.js","sources":["../components/Nav/Nav.tsx"],"sourcesContent":["import React from 'react';\nimport styles from './Nav.module.css';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface NavItem {\n id: string;\n label: string;\n icon: React.ReactNode;\n href?: string;\n onClick?: () => void;\n}\n\nexport interface NavSection {\n title?: string;\n items: NavItem[];\n}\n\nexport interface NavMobileFooter {\n ctaLabel?: string;\n onCtaClick?: () => void;\n workspaceName?: string;\n workspaceIcon?: React.ReactNode;\n onWorkspaceClick?: () => void;\n userName?: string;\n userRole?: string;\n userAvatarUrl?: string;\n userInitials?: string;\n}\n\nexport interface NavProps {\n /** Visual type of the nav */\n type: 'open' | 'closed' | 'mobile';\n /** Navigation sections with items */\n sections: NavSection[];\n /** Currently active item id */\n activeId?: string;\n /** Called when an item is clicked (receives item.id) */\n onItemClick?: (id: string) => void;\n /** Called when collapse/expand button is clicked (Open/Closed only) */\n onCollapseToggle?: () => void;\n /** Bell icon click handler (Mobile only) */\n onBellClick?: () => void;\n /** Mobile header title (defaults to \"Menu\") */\n mobileTitle?: string;\n /** Mobile footer data */\n mobileFooter?: NavMobileFooter;\n /** Logo for the Open type (full logo) */\n logo?: React.ReactNode;\n /** Small logo icon shown in Closed + Mobile headers */\n logoIcon?: React.ReactNode;\n className?: string;\n}\n\n// ─── Inline SVG icons ─────────────────────────────────────────────────────────\n\nfunction IconChevronRight() {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M6 12l4-4-4-4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\nfunction IconChevronLeft() {\n return (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M13 15l-5-5 5-5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\nfunction IconChevronRight20() {\n return (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M7 15l5-5-5-5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\nfunction IconBell() {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9\" />\n <path d=\"M13.73 21a2 2 0 0 1-3.46 0\" />\n </svg>\n );\n}\n\nfunction DefaultLogoIcon() {\n return (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" aria-hidden=\"true\">\n <rect width=\"32\" height=\"32\" rx=\"6\" fill=\"#0F6C13\" />\n <path d=\"M8 24 L16 8 L24 24\" stroke=\"#E7DA10\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M11 19h10\" stroke=\"#E7DA10\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\n// ─── Sub-components ───────────────────────────────────────────────────────────\n\nfunction NavItemOpen({\n item,\n isActive,\n onClick,\n}: {\n item: NavItem;\n isActive: boolean;\n onClick: () => void;\n}) {\n const itemClass = [\n styles.item,\n styles.itemOpen,\n isActive ? styles.itemOpenActive : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n const labelClass = [\n styles.itemLabel,\n isActive ? styles.itemLabelActive : styles.itemLabelDefault,\n ].join(' ');\n\n return (\n <button\n type=\"button\"\n className={itemClass}\n onClick={onClick}\n aria-current={isActive ? 'page' : undefined}\n >\n <span className={[styles.itemIcon, styles.itemIconDark].join(' ')}>\n {item.icon}\n </span>\n <span className={labelClass}>{item.label}</span>\n </button>\n );\n}\n\nfunction NavItemClosed({\n item,\n isActive,\n onClick,\n}: {\n item: NavItem;\n isActive: boolean;\n onClick: () => void;\n}) {\n const itemClass = [\n styles.item,\n styles.itemClosed,\n isActive ? styles.itemClosedActive : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <button\n type=\"button\"\n className={itemClass}\n onClick={onClick}\n aria-label={item.label}\n aria-current={isActive ? 'page' : undefined}\n title={item.label}\n >\n <span className={[styles.itemIcon, styles.itemIconDark].join(' ')}>\n {item.icon}\n </span>\n </button>\n );\n}\n\nfunction NavItemMobile({\n item,\n isActive,\n onClick,\n}: {\n item: NavItem;\n isActive: boolean;\n onClick: () => void;\n}) {\n const itemClass = [\n styles.item,\n styles.itemMobile,\n isActive ? styles.itemMobileActive : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <button\n type=\"button\"\n className={itemClass}\n onClick={onClick}\n aria-current={isActive ? 'page' : undefined}\n >\n <span className={[styles.itemIcon, styles.itemIconLight].join(' ')}>\n {item.icon}\n </span>\n <span className={[styles.itemLabel, styles.itemLabelMobile].join(' ')}>\n {item.label}\n </span>\n <span className={styles.chevron}>\n <IconChevronRight />\n </span>\n </button>\n );\n}\n\n// ─── Main component ───────────────────────────────────────────────────────────\n\nexport function Nav({\n type,\n sections,\n activeId,\n onItemClick,\n onCollapseToggle,\n onBellClick,\n mobileTitle = 'Menu',\n mobileFooter,\n logo,\n logoIcon,\n className,\n}: NavProps) {\n const resolvedLogoIcon = logoIcon ?? <DefaultLogoIcon />;\n\n const navClass = [\n styles.nav,\n type === 'open' ? styles.navOpen : '',\n type === 'closed' ? styles.navClosed : '',\n type === 'mobile' ? styles.navMobile : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // ── Open ──────────────────────────────────────────────────────────────────\n if (type === 'open') {\n return (\n <nav className={navClass} aria-label=\"Main navigation\">\n {/* Header */}\n <div className={[styles.header, styles.headerOpen].join(' ')}>\n <div className={styles.logoIcon}>{resolvedLogoIcon}</div>\n {logo && <div className={styles.logoFull}>{logo}</div>}\n </div>\n\n {/* Links */}\n <div className={[styles.links, styles.linksOpen].join(' ')}>\n {sections.map((section, si) => (\n <div key={si} className={styles.section}>\n {section.title && (\n <p className={styles.sectionTitle}>{section.title}</p>\n )}\n <div className={styles.sectionItems}>\n {section.items.map((item) => (\n <NavItemOpen\n key={item.id}\n item={item}\n isActive={item.id === activeId}\n onClick={() => onItemClick?.(item.id)}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n\n {/* Footer: collapse */}\n <div className={styles.footer}>\n <button\n type=\"button\"\n className={styles.collapseBtn}\n onClick={onCollapseToggle}\n >\n <span className={styles.collapseBtnIcon}>\n <IconChevronLeft />\n </span>\n Recolher menu\n </button>\n </div>\n </nav>\n );\n }\n\n // ── Closed ────────────────────────────────────────────────────────────────\n if (type === 'closed') {\n return (\n <nav className={navClass} aria-label=\"Main navigation\">\n {/* Header */}\n <div className={[styles.header, styles.headerClosed].join(' ')}>\n <div className={styles.logoIcon}>{resolvedLogoIcon}</div>\n </div>\n\n {/* Links */}\n <div className={[styles.links, styles.linksClosed].join(' ')}>\n {sections.map((section, si) => (\n <div key={si} className={styles.section}>\n <div className={styles.sectionItems}>\n {section.items.map((item) => (\n <NavItemClosed\n key={item.id}\n item={item}\n isActive={item.id === activeId}\n onClick={() => onItemClick?.(item.id)}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n\n {/* Footer: expand */}\n <div className={styles.footer}>\n <button\n type=\"button\"\n className={[styles.collapseBtn, styles.collapseBtnClosed].join(' ')}\n onClick={onCollapseToggle}\n aria-label=\"Expand menu\"\n title=\"Expandir menu\"\n >\n <span className={styles.collapseBtnIcon}>\n <IconChevronRight20 />\n </span>\n </button>\n </div>\n </nav>\n );\n }\n\n // ── Mobile ────────────────────────────────────────────────────────────────\n return (\n <nav className={navClass} aria-label=\"Main navigation\">\n {/* Header */}\n <div className={[styles.header, styles.headerMobile].join(' ')}>\n <div className={styles.logoIcon}>{resolvedLogoIcon}</div>\n <h2 className={styles.headerTitle}>{mobileTitle}</h2>\n <div className={styles.headerActions}>\n <button\n type=\"button\"\n className={styles.bellBtn}\n onClick={onBellClick}\n aria-label=\"Notifications\"\n >\n <IconBell />\n </button>\n </div>\n </div>\n\n {/* Links */}\n <div className={[styles.links, styles.linksMobile].join(' ')}>\n {sections.map((section, si) => (\n <div key={si} className={styles.section}>\n <div className={styles.sectionItems}>\n {section.items.map((item) => (\n <NavItemMobile\n key={item.id}\n item={item}\n isActive={item.id === activeId}\n onClick={() => onItemClick?.(item.id)}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n\n {/* Footer: CTA + workspace + avatar */}\n {mobileFooter && (\n <div className={styles.footerMobile}>\n {mobileFooter.ctaLabel && (\n <button\n type=\"button\"\n className={styles.ctaBtn}\n onClick={mobileFooter.onCtaClick}\n >\n {mobileFooter.ctaLabel}\n </button>\n )}\n\n {mobileFooter.workspaceName && (\n <button\n type=\"button\"\n className={styles.workspace}\n onClick={mobileFooter.onWorkspaceClick}\n >\n <div className={styles.workspaceIcon}>\n {mobileFooter.workspaceIcon ?? <DefaultLogoIcon />}\n </div>\n <span className={styles.workspaceLabel}>\n {mobileFooter.workspaceName}\n </span>\n <span style={{ color: '#9490AC', display: 'flex' }}>\n <IconChevronRight />\n </span>\n </button>\n )}\n\n {(mobileFooter.userName || mobileFooter.userInitials) && (\n <div className={styles.avatarRow}>\n <div className={styles.avatar}>\n {mobileFooter.userAvatarUrl ? (\n <img\n src={mobileFooter.userAvatarUrl}\n alt={mobileFooter.userName ?? ''}\n style={{ width: '100%', height: '100%', objectFit: 'cover' }}\n />\n ) : (\n <span className={styles.avatarInitials}>\n {mobileFooter.userInitials ?? '?'}\n </span>\n )}\n </div>\n <div className={styles.avatarInfo}>\n {mobileFooter.userName && (\n <span className={styles.avatarName}>{mobileFooter.userName}</span>\n )}\n {mobileFooter.userRole && (\n <span className={styles.avatarRole}>{mobileFooter.userRole}</span>\n )}\n </div>\n </div>\n )}\n </div>\n )}\n </nav>\n );\n}\n"],"names":["IconChevronRight","jsx","IconChevronLeft","IconChevronRight20","IconBell","DefaultLogoIcon","jsxs","NavItemOpen","item","isActive","onClick","itemClass","styles","labelClass","NavItemClosed","NavItemMobile","Nav","type","sections","activeId","onItemClick","onCollapseToggle","onBellClick","mobileTitle","mobileFooter","logo","logoIcon","className","resolvedLogoIcon","navClass","section","si"],"mappings":"mJAwDA,SAASA,GAAmB,CAC1B,OACEC,EAAAA,IAAC,MAAA,CAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,cAAY,OACtE,eAAC,OAAA,CAAK,EAAE,gBAAgB,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,eAAe,OAAA,CAAQ,CAAA,CAC/G,CAEJ,CAEA,SAASC,GAAkB,CACzB,OACED,EAAAA,IAAC,MAAA,CAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,cAAY,OACtE,eAAC,OAAA,CAAK,EAAE,kBAAkB,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,eAAe,OAAA,CAAQ,CAAA,CACjH,CAEJ,CAEA,SAASE,GAAqB,CAC5B,OACEF,EAAAA,IAAC,MAAA,CAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,cAAY,OACtE,eAAC,OAAA,CAAK,EAAE,gBAAgB,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,eAAe,OAAA,CAAQ,CAAA,CAC/G,CAEJ,CAEA,SAASG,GAAW,CAClB,cACG,MAAA,CAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,cAAY,OAC3J,SAAA,CAAAH,EAAAA,IAAC,OAAA,CAAK,EAAE,6CAAA,CAA8C,EACtDA,EAAAA,IAAC,OAAA,CAAK,EAAE,4BAAA,CAA6B,CAAA,EACvC,CAEJ,CAEA,SAASI,GAAkB,CACzB,OACEC,EAAAA,KAAC,MAAA,CAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,cAAY,OACtE,SAAA,CAAAL,EAAAA,IAAC,OAAA,CAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,KAAK,SAAA,CAAU,EACnDA,EAAAA,IAAC,OAAA,CAAK,EAAE,qBAAqB,OAAO,UAAU,YAAY,MAAM,cAAc,QAAQ,eAAe,OAAA,CAAQ,EAC7GA,EAAAA,IAAC,QAAK,EAAE,YAAY,OAAO,UAAU,YAAY,IAAI,cAAc,OAAA,CAAQ,CAAA,EAC7E,CAEJ,CAIA,SAASM,EAAY,CACnB,KAAAC,EACA,SAAAC,EACA,QAAAC,CACF,EAIG,CACD,MAAMC,EAAY,CAChBC,EAAAA,QAAO,KACPA,EAAAA,QAAO,SACPH,EAAWG,EAAAA,QAAO,eAAiB,EAAA,EAElC,OAAO,OAAO,EACd,KAAK,GAAG,EAELC,EAAa,CACjBD,EAAAA,QAAO,UACPH,EAAWG,EAAAA,QAAO,gBAAkBA,UAAO,gBAAA,EAC3C,KAAK,GAAG,EAEV,OACEN,EAAAA,KAAC,SAAA,CACC,KAAK,SACL,UAAWK,EACX,QAAAD,EACA,eAAcD,EAAW,OAAS,OAElC,SAAA,CAAAR,EAAAA,IAAC,OAAA,CAAK,UAAW,CAACW,EAAAA,QAAO,SAAUA,EAAAA,QAAO,YAAY,EAAE,KAAK,GAAG,EAC7D,SAAAJ,EAAK,IAAA,CACR,EACAP,EAAAA,IAAC,OAAA,CAAK,UAAWY,EAAa,WAAK,KAAA,CAAM,CAAA,CAAA,CAAA,CAG/C,CAEA,SAASC,EAAc,CACrB,KAAAN,EACA,SAAAC,EACA,QAAAC,CACF,EAIG,CACD,MAAMC,EAAY,CAChBC,EAAAA,QAAO,KACPA,EAAAA,QAAO,WACPH,EAAWG,EAAAA,QAAO,iBAAmB,EAAA,EAEpC,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,OACEX,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAWU,EACX,QAAAD,EACA,aAAYF,EAAK,MACjB,eAAcC,EAAW,OAAS,OAClC,MAAOD,EAAK,MAEZ,SAAAP,EAAAA,IAAC,OAAA,CAAK,UAAW,CAACW,EAAAA,QAAO,SAAUA,EAAAA,QAAO,YAAY,EAAE,KAAK,GAAG,EAC7D,WAAK,IAAA,CACR,CAAA,CAAA,CAGN,CAEA,SAASG,EAAc,CACrB,KAAAP,EACA,SAAAC,EACA,QAAAC,CACF,EAIG,CACD,MAAMC,EAAY,CAChBC,EAAAA,QAAO,KACPA,EAAAA,QAAO,WACPH,EAAWG,EAAAA,QAAO,iBAAmB,EAAA,EAEpC,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,OACEN,EAAAA,KAAC,SAAA,CACC,KAAK,SACL,UAAWK,EACX,QAAAD,EACA,eAAcD,EAAW,OAAS,OAElC,SAAA,CAAAR,EAAAA,IAAC,OAAA,CAAK,UAAW,CAACW,EAAAA,QAAO,SAAUA,EAAAA,QAAO,aAAa,EAAE,KAAK,GAAG,EAC9D,SAAAJ,EAAK,IAAA,CACR,EACAP,EAAAA,IAAC,OAAA,CAAK,UAAW,CAACW,EAAAA,QAAO,UAAWA,EAAAA,QAAO,eAAe,EAAE,KAAK,GAAG,EACjE,WAAK,KAAA,CACR,QACC,OAAA,CAAK,UAAWA,EAAAA,QAAO,QACtB,SAAAX,EAAAA,IAACD,IAAiB,CAAA,CACpB,CAAA,CAAA,CAAA,CAGN,CAIO,SAASgB,EAAI,CAClB,KAAAC,EACA,SAAAC,EACA,SAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,YAAAC,EAAc,OACd,aAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,CACF,EAAa,CACX,MAAMC,EAAmBF,GAAYzB,MAACI,EAAA,CAAA,CAAgB,EAEhDwB,EAAW,CACfjB,EAAAA,QAAO,IACPK,IAAS,OAASL,UAAO,QAAU,GACnCK,IAAS,SAAWL,UAAO,UAAY,GACvCK,IAAS,SAAWL,UAAO,UAAY,GACvCe,CAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,EAGX,OAAIV,IAAS,OAETX,EAAAA,KAAC,MAAA,CAAI,UAAWuB,EAAU,aAAW,kBAEnC,SAAA,CAAAvB,EAAAA,KAAC,MAAA,CAAI,UAAW,CAACM,EAAAA,QAAO,OAAQA,EAAAA,QAAO,UAAU,EAAE,KAAK,GAAG,EACzD,SAAA,CAAAX,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,QAAO,SAAW,SAAAgB,EAAiB,EAClDH,GAAQxB,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,QAAO,SAAW,SAAAa,CAAA,CAAK,CAAA,EAClD,EAGAxB,EAAAA,IAAC,OAAI,UAAW,CAACW,EAAAA,QAAO,MAAOA,EAAAA,QAAO,SAAS,EAAE,KAAK,GAAG,EACtD,SAAAM,EAAS,IAAI,CAACY,EAASC,IACtBzB,EAAAA,KAAC,MAAA,CAAa,UAAWM,UAAO,QAC7B,SAAA,CAAAkB,EAAQ,OACP7B,MAAC,IAAA,CAAE,UAAWW,EAAAA,QAAO,aAAe,WAAQ,KAAA,CAAM,EAEpDX,EAAAA,IAAC,OAAI,UAAWW,EAAAA,QAAO,aACpB,SAAAkB,EAAQ,MAAM,IAAKtB,GAClBP,EAAAA,IAACM,EAAA,CAEC,KAAAC,EACA,SAAUA,EAAK,KAAOW,EACtB,QAAS,IAAMC,GAAA,YAAAA,EAAcZ,EAAK,GAAE,EAH/BA,EAAK,EAAA,CAKb,CAAA,CACH,CAAA,GAbQuB,CAcV,CACD,EACH,EAGA9B,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,QAAO,OACrB,SAAAN,EAAAA,KAAC,SAAA,CACC,KAAK,SACL,UAAWM,EAAAA,QAAO,YAClB,QAASS,EAET,SAAA,CAAApB,EAAAA,IAAC,QAAK,UAAWW,UAAO,gBACtB,SAAAX,MAACC,IAAgB,EACnB,EAAO,eAAA,CAAA,CAAA,CAET,CACF,CAAA,EACF,EAKAe,IAAS,SAETX,EAAAA,KAAC,MAAA,CAAI,UAAWuB,EAAU,aAAW,kBAEnC,SAAA,CAAA5B,MAAC,OAAI,UAAW,CAACW,EAAAA,QAAO,OAAQA,EAAAA,QAAO,YAAY,EAAE,KAAK,GAAG,EAC3D,SAAAX,EAAAA,IAAC,MAAA,CAAI,UAAWW,UAAO,SAAW,WAAiB,EACrD,EAGAX,EAAAA,IAAC,MAAA,CAAI,UAAW,CAACW,EAAAA,QAAO,MAAOA,EAAAA,QAAO,WAAW,EAAE,KAAK,GAAG,EACxD,WAAS,IAAI,CAACkB,EAASC,IACtB9B,EAAAA,IAAC,MAAA,CAAa,UAAWW,UAAO,QAC9B,SAAAX,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,QAAO,aACpB,SAAAkB,EAAQ,MAAM,IAAKtB,GAClBP,EAAAA,IAACa,EAAA,CAEC,KAAAN,EACA,SAAUA,EAAK,KAAOW,EACtB,QAAS,IAAMC,GAAA,YAAAA,EAAcZ,EAAK,GAAE,EAH/BA,EAAK,EAAA,CAKb,EACH,CAAA,EAVQuB,CAWV,CACD,CAAA,CACH,EAGA9B,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,QAAO,OACrB,SAAAX,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAW,CAACW,EAAAA,QAAO,YAAaA,EAAAA,QAAO,iBAAiB,EAAE,KAAK,GAAG,EAClE,QAASS,EACT,aAAW,cACX,MAAM,gBAEN,eAAC,OAAA,CAAK,UAAWT,EAAAA,QAAO,gBACtB,SAAAX,EAAAA,IAACE,IAAmB,CAAA,CACtB,CAAA,CAAA,CACF,CACF,CAAA,EACF,EAMFG,EAAAA,KAAC,MAAA,CAAI,UAAWuB,EAAU,aAAW,kBAEnC,SAAA,CAAAvB,EAAAA,KAAC,MAAA,CAAI,UAAW,CAACM,EAAAA,QAAO,OAAQA,EAAAA,QAAO,YAAY,EAAE,KAAK,GAAG,EAC3D,SAAA,CAAAX,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,QAAO,SAAW,SAAAgB,EAAiB,EACnD3B,EAAAA,IAAC,KAAA,CAAG,UAAWW,EAAAA,QAAO,YAAc,SAAAW,EAAY,EAChDtB,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,QAAO,cACrB,SAAAX,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAWW,EAAAA,QAAO,QAClB,QAASU,EACT,aAAW,gBAEX,eAAClB,EAAA,CAAA,CAAS,CAAA,CAAA,CACZ,CACF,CAAA,EACF,EAGAH,EAAAA,IAAC,MAAA,CAAI,UAAW,CAACW,EAAAA,QAAO,MAAOA,EAAAA,QAAO,WAAW,EAAE,KAAK,GAAG,EACxD,WAAS,IAAI,CAACkB,EAASC,IACtB9B,EAAAA,IAAC,MAAA,CAAa,UAAWW,UAAO,QAC9B,SAAAX,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,QAAO,aACpB,SAAAkB,EAAQ,MAAM,IAAKtB,GAClBP,EAAAA,IAACc,EAAA,CAEC,KAAAP,EACA,SAAUA,EAAK,KAAOW,EACtB,QAAS,IAAMC,GAAA,YAAAA,EAAcZ,EAAK,GAAE,EAH/BA,EAAK,EAAA,CAKb,EACH,CAAA,EAVQuB,CAWV,CACD,CAAA,CACH,EAGCP,GACClB,EAAAA,KAAC,MAAA,CAAI,UAAWM,EAAAA,QAAO,aACpB,SAAA,CAAAY,EAAa,UACZvB,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAWW,EAAAA,QAAO,OAClB,QAASY,EAAa,WAErB,SAAAA,EAAa,QAAA,CAAA,EAIjBA,EAAa,eACZlB,EAAAA,KAAC,SAAA,CACC,KAAK,SACL,UAAWM,EAAAA,QAAO,UAClB,QAASY,EAAa,iBAEtB,SAAA,CAAAvB,EAAAA,IAAC,MAAA,CAAI,UAAWW,EAAAA,QAAO,cACpB,WAAa,eAAiBX,EAAAA,IAACI,IAAgB,CAAA,CAClD,QACC,OAAA,CAAK,UAAWO,EAAAA,QAAO,eACrB,WAAa,cAChB,EACAX,EAAAA,IAAC,OAAA,CAAK,MAAO,CAAE,MAAO,UAAW,QAAS,MAAA,EACxC,SAAAA,EAAAA,IAACD,EAAA,CAAA,CAAiB,CAAA,CACpB,CAAA,CAAA,CAAA,GAIFwB,EAAa,UAAYA,EAAa,sBACrC,MAAA,CAAI,UAAWZ,UAAO,UACrB,SAAA,CAAAX,MAAC,MAAA,CAAI,UAAWW,EAAAA,QAAO,OACpB,WAAa,cACZX,EAAAA,IAAC,MAAA,CACC,IAAKuB,EAAa,cAClB,IAAKA,EAAa,UAAY,GAC9B,MAAO,CAAE,MAAO,OAAQ,OAAQ,OAAQ,UAAW,OAAA,CAAQ,CAAA,QAG5D,OAAA,CAAK,UAAWZ,EAAAA,QAAO,eACrB,SAAAY,EAAa,cAAgB,GAAA,CAChC,CAAA,CAEJ,EACAlB,EAAAA,KAAC,MAAA,CAAI,UAAWM,EAAAA,QAAO,WACpB,SAAA,CAAAY,EAAa,UACZvB,MAAC,OAAA,CAAK,UAAWW,EAAAA,QAAO,WAAa,WAAa,QAAA,CAAS,EAE5DY,EAAa,UACZvB,MAAC,OAAA,CAAK,UAAWW,EAAAA,QAAO,WAAa,WAAa,QAAA,CAAS,CAAA,CAAA,CAE/D,CAAA,CAAA,CACF,CAAA,CAAA,CAEJ,CAAA,EAEJ,CAEJ"}
|
package/dist/index.cjs12.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),s=require("./index.cjs20.js"),f={xs:12,md:20,lg:24},b=({s:n})=>i.jsxs("svg",{width:n,height:n,viewBox:"0 0 12 12",fill:"currentColor","aria-hidden":"true",children:[i.jsx("circle",{cx:"2",cy:"6",r:"1.25"}),i.jsx("circle",{cx:"6",cy:"6",r:"1.25"}),i.jsx("circle",{cx:"10",cy:"6",r:"1.25"})]}),p=({s:n})=>i.jsx("svg",{width:n,height:n,viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:i.jsx("polyline",{points:"7.5,2 4,6 7.5,10"})}),k=({s:n})=>i.jsx("svg",{width:n,height:n,viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:i.jsx("polyline",{points:"4.5,2 8,6 4.5,10"})}),v=({s:n})=>i.jsxs("svg",{width:n,height:n,viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[i.jsx("polyline",{points:"6.5,2 3,6 6.5,10"}),i.jsx("polyline",{points:"9.5,2 6,6 9.5,10"})]}),y=({s:n})=>i.jsxs("svg",{width:n,height:n,viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[i.jsx("polyline",{points:"2.5,2 6,6 2.5,10"}),i.jsx("polyline",{points:"5.5,2 9,6 5.5,10"})]});function m(n,e){return e<=7?Array.from({length:e},(t,c)=>c+1):n<=4?[1,2,3,4,5,"…",e]:n>=e-3?[1,"…",e-4,e-3,e-2,e-1,e]:[1,"…",n-1,n,n+1,"…",e]}function C({sizes:n="xs",currentPage:e=1,totalPages:t=10,withControls:c=!1,withEdges:u=!1,onChange:a,className:h}){const l=f[n],x=m(e,t),d=o=>{o<1||o>t||o===e||a==null||a(o)},r=o=>[s.default.item,s.default[n],o].filter(Boolean).join(" ");return i.jsxs("nav",{role:"navigation","aria-label":"Pagination",className:[s.default.pagination,h].filter(Boolean).join(" "),children:[u&&i.jsx("button",{className:r(s.default.control),onClick:()=>d(1),disabled:e===1,"aria-label":"First page",type:"button",children:i.jsx(v,{s:l})}),c&&i.jsx("button",{className:r(s.default.control),onClick:()=>d(e-1),disabled:e===1,"aria-label":"Previous page",type:"button",children:i.jsx(p,{s:l})}),x.map((o,j)=>o==="…"?i.jsx("span",{className:r(s.default.dots),"aria-hidden":"true",children:i.jsx(b,{s:l})},`dots-${j}`):i.jsx("button",{className:r(o===e?s.default.active:s.default.inactive),onClick:()=>d(o),"aria-label":`Page ${o}`,"aria-current":o===e?"page":void 0,type:"button",children:o},o)),c&&i.jsx("button",{className:r(s.default.control),onClick:()=>d(e+1),disabled:e===t,"aria-label":"Next page",type:"button",children:i.jsx(k,{s:l})}),u&&i.jsx("button",{className:r(s.default.control),onClick:()=>d(t),disabled:e===t,"aria-label":"Last page",type:"button",children:i.jsx(y,{s:l})})]})}exports.Pagination=C;
|
|
2
2
|
//# sourceMappingURL=index.cjs12.js.map
|
package/dist/index.cjs12.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs12.js","sources":["../components/Steps/Steps.tsx"],"sourcesContent":["import React from 'react';\nimport styles from './Steps.module.css';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface StepItem {\n label: string;\n description?: string;\n}\n\nexport interface StepsProps {\n steps: StepItem[];\n /** 0-based index of the currently active step */\n current: number;\n /** Compact dot version — for mobile or tight spaces */\n minified?: boolean;\n className?: string;\n}\n\ntype StepState = 'Default' | 'Active' | 'Complete';\ntype StepType = 'Start' | 'Step' | 'End';\n\n// ─── Helpers ──────────────────────────────────────────────────────────────────\n\nfunction getState(index: number, current: number): StepState {\n if (index < current) return 'Complete';\n if (index === current) return 'Active';\n return 'Default';\n}\n\nfunction getType(index: number, total: number): StepType {\n if (index === 0) return 'Start';\n if (index === total - 1) return 'End';\n return 'Step';\n}\n\n// ─── Double-check icon (tabler:checks) — inline SVG ──────────────────────────\n\nfunction IconChecks() {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n {/* left check */}\n <polyline points=\"2,12.5 6,16.5 13,9.5\" />\n {/* right check (shifted) */}\n <polyline points=\"9,12.5 13,16.5 21,9.5\" />\n </svg>\n );\n}\n\n// ─── Minified (dots) version ──────────────────────────────────────────────────\n\nfunction MinifiedSteps({ steps, current }: Pick<StepsProps, 'steps' | 'current'>) {\n return (\n <div className={styles.minified} role=\"list\" aria-label=\"Steps\">\n {steps.map((step, i) => {\n const state = getState(i, current);\n const isLast = i === steps.length - 1;\n\n const dotClass = [\n styles.minDot,\n state === 'Default' ? styles.minDefault : '',\n state === 'Active' ? styles.minActive : '',\n state === 'Complete' ? styles.minComplete : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n // Connector color: complete if the step TO THE LEFT is complete\n const connectorClass = [\n styles.minConnector,\n state === 'Complete' ? styles.minConnectorComplete : styles.minConnectorDefault,\n ].join(' ');\n\n return (\n <React.Fragment key={i}>\n <div\n role=\"listitem\"\n className={dotClass}\n aria-label={`Step ${i + 1}: ${step.label}${\n state === 'Active' ? ' (current)' : state === 'Complete' ? ' (completed)' : ''\n }`}\n aria-current={state === 'Active' ? 'step' : undefined}\n />\n {!isLast && <div className={connectorClass} aria-hidden=\"true\" />}\n </React.Fragment>\n );\n })}\n </div>\n );\n}\n\n// ─── Full Steps ───────────────────────────────────────────────────────────────\n\nexport function Steps({ steps, current, minified = false, className }: StepsProps) {\n const wrapperClass = [styles.steps, className].filter(Boolean).join(' ');\n\n if (minified) {\n return (\n <div className={wrapperClass}>\n <MinifiedSteps steps={steps} current={current} />\n </div>\n );\n }\n\n const total = steps.length;\n\n return (\n <nav\n className={wrapperClass}\n aria-label=\"Steps\"\n >\n {steps.map((step, i) => {\n const state = getState(i, current);\n const type = getType(i, total);\n const isLight = state === 'Active' || state === 'Complete';\n\n /*\n * z-index stacking: first item (Start) is highest.\n * Its arrow paints on top of the next item's notch,\n * creating the connected-chevron effect.\n */\n const zIndex = total - i;\n\n const itemClass = [\n styles.item,\n styles[`type${type}`],\n styles[`state${state}`],\n ].join(' ');\n\n const textClass = isLight ? styles.textLight : styles.textDark;\n\n return (\n <div\n key={i}\n className={itemClass}\n style={{ zIndex }}\n role=\"listitem\"\n aria-current={state === 'Active' ? 'step' : undefined}\n aria-label={`Step ${i + 1} of ${total}: ${step.label}${\n state === 'Active' ? ' (current)' : state === 'Complete' ? ' (completed)' : ''\n }`}\n >\n {/* Label */}\n <span className={[styles.label, textClass].join(' ')}>\n {step.label}\n </span>\n\n {/* Number (Default / Active) or check icon (Complete) */}\n {state === 'Complete' ? (\n <span className={[styles.checkIcon, textClass].join(' ')}>\n <IconChecks />\n </span>\n ) : (\n <span className={[styles.num, textClass].join(' ')}>\n {String(i + 1).padStart(2, '0')}\n </span>\n )}\n </div>\n );\n })}\n </nav>\n );\n}\n"],"names":["getState","index","current","getType","total","IconChecks","jsxs","jsx","MinifiedSteps","steps","styles","step","i","state","isLast","dotClass","connectorClass","React","Steps","minified","className","wrapperClass","type","isLight","zIndex","itemClass","textClass"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs12.js","sources":["../components/Pagination/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport styles from './Pagination.module.css';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport type PaginationSize = 'xs' | 'md' | 'lg';\n\nexport interface PaginationProps {\n sizes?: PaginationSize;\n currentPage?: number;\n totalPages?: number;\n /** Show previous / next chevron buttons */\n withControls?: boolean;\n /** Show first / last double-chevron buttons */\n withEdges?: boolean;\n onChange?: (page: number) => void;\n className?: string;\n}\n\n// ─── Icon size lookup (xs=12, md=20, lg=24 — from Figma) ─────────────────────\n\nconst ICON_SIZE: Record<PaginationSize, number> = { xs: 12, md: 20, lg: 24 };\n\n// ─── SVG icons (inline, no external dependency) ──────────────────────────────\n\nconst IconDots = ({ s }: { s: number }) => (\n <svg width={s} height={s} viewBox=\"0 0 12 12\" fill=\"currentColor\" aria-hidden=\"true\">\n {/* System/Dots — 3 horizontal dots */}\n <circle cx=\"2\" cy=\"6\" r=\"1.25\" />\n <circle cx=\"6\" cy=\"6\" r=\"1.25\" />\n <circle cx=\"10\" cy=\"6\" r=\"1.25\" />\n </svg>\n);\n\nconst IconChevronLeft = ({ s }: { s: number }) => (\n // Arrows/Chevron Left — single chevron «\n <svg width={s} height={s} viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\"\n strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <polyline points=\"7.5,2 4,6 7.5,10\" />\n </svg>\n);\n\nconst IconChevronRight = ({ s }: { s: number }) => (\n // Arrows/Chevron Right — single chevron »\n <svg width={s} height={s} viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\"\n strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <polyline points=\"4.5,2 8,6 4.5,10\" />\n </svg>\n);\n\nconst IconChevronsLeft = ({ s }: { s: number }) => (\n // Arrows/Chevrons Left — double chevron «\n <svg width={s} height={s} viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\"\n strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <polyline points=\"6.5,2 3,6 6.5,10\" />\n <polyline points=\"9.5,2 6,6 9.5,10\" />\n </svg>\n);\n\nconst IconChevronsRight = ({ s }: { s: number }) => (\n // Arrows/Chevrons Right — double chevron »\n <svg width={s} height={s} viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\"\n strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <polyline points=\"2.5,2 6,6 2.5,10\" />\n <polyline points=\"5.5,2 9,6 5.5,10\" />\n </svg>\n);\n\n// ─── Page range algorithm ─────────────────────────────────────────────────────\n// Produces an array like: [1, 2, 3, 4, 5, '…', 10]\n// or: [1, '…', 4, 5, 6, '…', 10]\n// Matches the Figma design: first 5 visible, dots, last page\n\ntype PageItem = number | '…';\n\nfunction buildRange(current: number, total: number): PageItem[] {\n if (total <= 7) {\n return Array.from({ length: total }, (_, i) => i + 1);\n }\n\n // Near the start — show first 5, dots, last\n if (current <= 4) {\n return [1, 2, 3, 4, 5, '…', total];\n }\n\n // Near the end — show first, dots, last 5\n if (current >= total - 3) {\n return [1, '…', total - 4, total - 3, total - 2, total - 1, total];\n }\n\n // Middle — first, dots, (current-1), current, (current+1), dots, last\n return [1, '…', current - 1, current, current + 1, '…', total];\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport function Pagination({\n sizes = 'xs',\n currentPage = 1,\n totalPages = 10,\n withControls = false,\n withEdges = false,\n onChange,\n className,\n}: PaginationProps) {\n const iconSize = ICON_SIZE[sizes];\n const pages = buildRange(currentPage, totalPages);\n\n const go = (page: number) => {\n if (page < 1 || page > totalPages || page === currentPage) return;\n onChange?.(page);\n };\n\n const itemClass = (extra: string) =>\n [styles.item, styles[sizes], extra].filter(Boolean).join(' ');\n\n return (\n <nav\n role=\"navigation\"\n aria-label=\"Pagination\"\n className={[styles.pagination, className].filter(Boolean).join(' ')}\n >\n {/* First page button («) */}\n {withEdges && (\n <button\n className={itemClass(styles.control)}\n onClick={() => go(1)}\n disabled={currentPage === 1}\n aria-label=\"First page\"\n type=\"button\"\n >\n <IconChevronsLeft s={iconSize} />\n </button>\n )}\n\n {/* Previous button (‹) */}\n {withControls && (\n <button\n className={itemClass(styles.control)}\n onClick={() => go(currentPage - 1)}\n disabled={currentPage === 1}\n aria-label=\"Previous page\"\n type=\"button\"\n >\n <IconChevronLeft s={iconSize} />\n </button>\n )}\n\n {/* Page numbers + dots */}\n {pages.map((page, i) =>\n page === '…' ? (\n <span\n key={`dots-${i}`}\n className={itemClass(styles.dots)}\n aria-hidden=\"true\"\n >\n <IconDots s={iconSize} />\n </span>\n ) : (\n <button\n key={page}\n className={itemClass(page === currentPage ? styles.active : styles.inactive)}\n onClick={() => go(page)}\n aria-label={`Page ${page}`}\n aria-current={page === currentPage ? 'page' : undefined}\n type=\"button\"\n >\n {page}\n </button>\n )\n )}\n\n {/* Next button (›) */}\n {withControls && (\n <button\n className={itemClass(styles.control)}\n onClick={() => go(currentPage + 1)}\n disabled={currentPage === totalPages}\n aria-label=\"Next page\"\n type=\"button\"\n >\n <IconChevronRight s={iconSize} />\n </button>\n )}\n\n {/* Last page button (») */}\n {withEdges && (\n <button\n className={itemClass(styles.control)}\n onClick={() => go(totalPages)}\n disabled={currentPage === totalPages}\n aria-label=\"Last page\"\n type=\"button\"\n >\n <IconChevronsRight s={iconSize} />\n </button>\n )}\n </nav>\n );\n}\n"],"names":["ICON_SIZE","IconDots","s","jsx","IconChevronLeft","IconChevronRight","IconChevronsLeft","jsxs","IconChevronsRight","buildRange","current","total","_","i","Pagination","sizes","currentPage","totalPages","withControls","withEdges","onChange","className","iconSize","pages","go","page","itemClass","extra","styles"],"mappings":"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"}
|
package/dist/index.cjs13.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),v=require("react"),e=require("./index.cjs24.js");function f(n,a){return n<a?"Complete":n===a?"Active":"Default"}function x(n,a){return n===0?"Start":n===a-1?"End":"Step"}function C(){return t.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[t.jsx("polyline",{points:"2,12.5 6,16.5 13,9.5"}),t.jsx("polyline",{points:"9,12.5 13,16.5 21,9.5"})]})}function S({steps:n,current:a}){return t.jsx("div",{className:e.default.minified,role:"list","aria-label":"Steps",children:n.map((u,r)=>{const l=f(r,a),o=r===n.length-1,c=[e.default.minDot,l==="Default"?e.default.minDefault:"",l==="Active"?e.default.minActive:"",l==="Complete"?e.default.minComplete:""].filter(Boolean).join(" "),s=[e.default.minConnector,l==="Complete"?e.default.minConnectorComplete:e.default.minConnectorDefault].join(" ");return t.jsxs(v.Fragment,{children:[t.jsx("div",{role:"listitem",className:c,"aria-label":`Step ${r+1}: ${u.label}${l==="Active"?" (current)":l==="Complete"?" (completed)":""}`,"aria-current":l==="Active"?"step":void 0}),!o&&t.jsx("div",{className:s,"aria-hidden":"true"})]},r)})})}function g({steps:n,current:a,minified:u=!1,className:r}){const l=[e.default.steps,r].filter(Boolean).join(" ");if(u)return t.jsx("div",{className:l,children:t.jsx(S,{steps:n,current:a})});const o=n.length;return t.jsx("nav",{className:l,"aria-label":"Steps",children:n.map((c,s)=>{const i=f(s,a),m=x(s,o),p=i==="Active"||i==="Complete",j=o-s,h=[e.default.item,e.default[`type${m}`],e.default[`state${i}`]].join(" "),d=p?e.default.textLight:e.default.textDark;return t.jsxs("div",{className:h,style:{zIndex:j},role:"listitem","aria-current":i==="Active"?"step":void 0,"aria-label":`Step ${s+1} of ${o}: ${c.label}${i==="Active"?" (current)":i==="Complete"?" (completed)":""}`,children:[t.jsx("span",{className:[e.default.label,d].join(" "),children:c.label}),i==="Complete"?t.jsx("span",{className:[e.default.checkIcon,d].join(" "),children:t.jsx(C,{})}):t.jsx("span",{className:[e.default.num,d].join(" "),children:String(s+1).padStart(2,"0")})]},s)})})}exports.Steps=g;
|
|
2
2
|
//# sourceMappingURL=index.cjs13.js.map
|