eidos-ui 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Avatar.types-BY-C09Ke.d.cts +23 -0
- package/dist/Avatar.types-BY-C09Ke.d.ts +23 -0
- package/dist/{Header.types-BZi80bWz.d.cts → Header.types-B3QtuiL-.d.cts} +7 -3
- package/dist/{Header.types-DJt-q01P.d.ts → Header.types-C6w0FBY8.d.ts} +7 -3
- package/dist/{Table.types-Cl5gR8r9.d.cts → Table.types-CPj-udMc.d.cts} +95 -0
- package/dist/{Table.types-jhPb7JNU.d.ts → Table.types-CZZ7QWAI.d.ts} +95 -0
- package/dist/Toolbar.types-DSk8z2iy.d.cts +38 -0
- package/dist/Toolbar.types-RN0klQzu.d.ts +38 -0
- package/dist/alert/index.cjs +4 -4
- package/dist/alert/index.d.cts +2 -1
- package/dist/alert/index.d.ts +2 -1
- package/dist/alert/index.js +3 -3
- package/dist/avatar/index.d.cts +3 -21
- package/dist/avatar/index.d.ts +3 -21
- package/dist/button/index.cjs +3 -3
- package/dist/button/index.js +2 -2
- package/dist/chip/index.cjs +3 -3
- package/dist/chip/index.js +2 -2
- package/dist/{chunk-KIXFSXIN.cjs → chunk-3E7TKBQI.cjs} +5 -3
- package/dist/chunk-3E7TKBQI.cjs.map +1 -0
- package/dist/{chunk-ZBKJ3EMK.cjs → chunk-442U3W6R.cjs} +3 -3
- package/dist/{chunk-ZBKJ3EMK.cjs.map → chunk-442U3W6R.cjs.map} +1 -1
- package/dist/{chunk-YQLCPKGV.js → chunk-5HUZYY54.js} +6 -4
- package/dist/chunk-5HUZYY54.js.map +1 -0
- package/dist/{chunk-G5IGADJI.cjs → chunk-5VM2256W.cjs} +7 -11
- package/dist/chunk-5VM2256W.cjs.map +1 -0
- package/dist/{chunk-Z4ZY7L7W.js → chunk-5ZL6PYU3.js} +3 -3
- package/dist/{chunk-A3NE2C7C.js → chunk-67RFMV6K.js} +2 -2
- package/dist/{chunk-2U7UJOOB.cjs → chunk-6HUHH6Y4.cjs} +17 -15
- package/dist/chunk-6HUHH6Y4.cjs.map +1 -0
- package/dist/{chunk-5WROPW7Z.js → chunk-A7WQINIG.js} +3 -3
- package/dist/{chunk-DKZTDYH5.cjs → chunk-AAA6TR5I.cjs} +3 -3
- package/dist/{chunk-DKZTDYH5.cjs.map → chunk-AAA6TR5I.cjs.map} +1 -1
- package/dist/{chunk-A7Z2QAFZ.cjs → chunk-APK5OQRV.cjs} +5 -5
- package/dist/{chunk-A7Z2QAFZ.cjs.map → chunk-APK5OQRV.cjs.map} +1 -1
- package/dist/{chunk-ISABZ2VX.cjs → chunk-AXBYJ2OY.cjs} +9 -9
- package/dist/{chunk-ISABZ2VX.cjs.map → chunk-AXBYJ2OY.cjs.map} +1 -1
- package/dist/{chunk-6RGJAQCU.cjs → chunk-B5G5XVFJ.cjs} +5 -5
- package/dist/{chunk-6RGJAQCU.cjs.map → chunk-B5G5XVFJ.cjs.map} +1 -1
- package/dist/{chunk-MW2S7PZ7.cjs → chunk-D5IY2HUV.cjs} +5 -5
- package/dist/{chunk-MW2S7PZ7.cjs.map → chunk-D5IY2HUV.cjs.map} +1 -1
- package/dist/{chunk-FMPXSF3H.cjs → chunk-DAXZRNNO.cjs} +4 -4
- package/dist/{chunk-FMPXSF3H.cjs.map → chunk-DAXZRNNO.cjs.map} +1 -1
- package/dist/{chunk-AJZTVCST.js → chunk-EXITZVB2.js} +24 -9
- package/dist/chunk-EXITZVB2.js.map +1 -0
- package/dist/{chunk-AYMD4D4M.cjs → chunk-EZME5CLK.cjs} +3 -3
- package/dist/{chunk-AYMD4D4M.cjs.map → chunk-EZME5CLK.cjs.map} +1 -1
- package/dist/{chunk-IV4LM3MB.js → chunk-F26VIKNF.js} +9 -11
- package/dist/chunk-F26VIKNF.js.map +1 -0
- package/dist/{chunk-WPTMMOA6.cjs → chunk-G77YR73R.cjs} +10 -13
- package/dist/chunk-G77YR73R.cjs.map +1 -0
- package/dist/chunk-GEHL4LKK.cjs +32 -0
- package/dist/chunk-GEHL4LKK.cjs.map +1 -0
- package/dist/chunk-GGSII6Y2.cjs +921 -0
- package/dist/chunk-GGSII6Y2.cjs.map +1 -0
- package/dist/{chunk-3VRMTWUS.js → chunk-GHQ6SQPI.js} +7 -10
- package/dist/chunk-GHQ6SQPI.js.map +1 -0
- package/dist/{chunk-56B6RLOE.js → chunk-GI6VJYOS.js} +4 -4
- package/dist/{chunk-56B6RLOE.js.map → chunk-GI6VJYOS.js.map} +1 -1
- package/dist/{chunk-UGMONQGH.cjs → chunk-GR2PMCVN.cjs} +10 -12
- package/dist/chunk-GR2PMCVN.cjs.map +1 -0
- package/dist/{chunk-7AHZTHXR.cjs → chunk-GT22EGJP.cjs} +5 -5
- package/dist/{chunk-7AHZTHXR.cjs.map → chunk-GT22EGJP.cjs.map} +1 -1
- package/dist/{chunk-ALGX5X4N.js → chunk-IFVT5UCY.js} +3 -3
- package/dist/{chunk-5CLC3FJO.js → chunk-KBG77JHC.js} +13 -2
- package/dist/chunk-KBG77JHC.js.map +1 -0
- package/dist/{chunk-HLNKIAE5.cjs → chunk-KJZUYC4X.cjs} +5 -5
- package/dist/{chunk-HLNKIAE5.cjs.map → chunk-KJZUYC4X.cjs.map} +1 -1
- package/dist/{chunk-4BQM5F76.cjs → chunk-LFWPQYWX.cjs} +3 -3
- package/dist/{chunk-4BQM5F76.cjs.map → chunk-LFWPQYWX.cjs.map} +1 -1
- package/dist/{chunk-XVSODE4K.cjs → chunk-LIFUHQH5.cjs} +35 -20
- package/dist/chunk-LIFUHQH5.cjs.map +1 -0
- package/dist/{chunk-PJC7NZUV.cjs → chunk-LUL6RZ4M.cjs} +3 -3
- package/dist/{chunk-PJC7NZUV.cjs.map → chunk-LUL6RZ4M.cjs.map} +1 -1
- package/dist/{chunk-4UJ7LG4W.cjs → chunk-N2IGZIEX.cjs} +3 -3
- package/dist/{chunk-4UJ7LG4W.cjs.map → chunk-N2IGZIEX.cjs.map} +1 -1
- package/dist/{chunk-3LHQUOGP.js → chunk-NGVOXM7P.js} +3 -3
- package/dist/{chunk-WTXASLBB.js → chunk-O5WEKLNF.js} +2 -2
- package/dist/{chunk-BOB5JJ7F.js → chunk-P7IQY5YH.js} +2 -2
- package/dist/{chunk-VZYLJSV5.js → chunk-R4PU2TBM.js} +2 -2
- package/dist/{chunk-P2GCAVUZ.js → chunk-RAZRQ57B.js} +2 -2
- package/dist/{chunk-K7IFNKMN.js → chunk-REVK7IGN.js} +2 -2
- package/dist/{chunk-6U2H26A4.cjs → chunk-RHOT7AEI.cjs} +3 -3
- package/dist/{chunk-6U2H26A4.cjs.map → chunk-RHOT7AEI.cjs.map} +1 -1
- package/dist/{chunk-MH2CD2QT.js → chunk-RKA2OJRT.js} +207 -102
- package/dist/chunk-RKA2OJRT.js.map +1 -0
- package/dist/{chunk-JC4WLVBG.js → chunk-RWOX2NJN.js} +2 -2
- package/dist/{chunk-4LM33LDV.js → chunk-S3CT536K.js} +2 -2
- package/dist/{chunk-4M3LZLOH.js → chunk-SHYSLWQG.js} +2 -2
- package/dist/{chunk-EQEV7GPT.cjs → chunk-SKEWTQJ7.cjs} +5 -5
- package/dist/{chunk-EQEV7GPT.cjs.map → chunk-SKEWTQJ7.cjs.map} +1 -1
- package/dist/{chunk-2ZENLZEQ.cjs → chunk-SKTDGCWJ.cjs} +232 -127
- package/dist/chunk-SKTDGCWJ.cjs.map +1 -0
- package/dist/{chunk-2BXCIWL7.js → chunk-SN6EWQDJ.js} +3 -3
- package/dist/{chunk-DW2YDWGN.js → chunk-TEJIPPZR.js} +2 -2
- package/dist/{chunk-OGKD5PLS.cjs → chunk-TRLBYA5G.cjs} +4 -4
- package/dist/{chunk-OGKD5PLS.cjs.map → chunk-TRLBYA5G.cjs.map} +1 -1
- package/dist/{chunk-WE5FTQGD.js → chunk-VHMOKXUT.js} +3 -7
- package/dist/chunk-VHMOKXUT.js.map +1 -0
- package/dist/{chunk-S77GR5YQ.cjs → chunk-VHQTDITV.cjs} +3 -3
- package/dist/{chunk-S77GR5YQ.cjs.map → chunk-VHQTDITV.cjs.map} +1 -1
- package/dist/{chunk-3HMKE2GJ.js → chunk-VSTQEHVZ.js} +6 -4
- package/dist/chunk-VSTQEHVZ.js.map +1 -0
- package/dist/{chunk-HNUTV3HR.cjs → chunk-WUBQJVB7.cjs} +3 -3
- package/dist/{chunk-HNUTV3HR.cjs.map → chunk-WUBQJVB7.cjs.map} +1 -1
- package/dist/{chunk-S7TWEVC3.js → chunk-Y53HCLGW.js} +2 -2
- package/dist/{chunk-WIE7HDIM.js → chunk-YJXZR7RL.js} +2 -2
- package/dist/{chunk-IJYYHBZC.cjs → chunk-Z4SLV6WG.cjs} +3 -3
- package/dist/{chunk-IJYYHBZC.cjs.map → chunk-Z4SLV6WG.cjs.map} +1 -1
- package/dist/chunk-ZEZK664O.js +921 -0
- package/dist/chunk-ZEZK664O.js.map +1 -0
- package/dist/{chunk-JMD3P4CY.js → chunk-ZHFPV43D.js} +2 -2
- package/dist/combobox/index.cjs +4 -4
- package/dist/combobox/index.js +3 -3
- package/dist/context-menu/index.cjs +4 -4
- package/dist/context-menu/index.js +3 -3
- package/dist/data-grid/index.cjs +13 -13
- package/dist/data-grid/index.d.cts +49 -3
- package/dist/data-grid/index.d.ts +49 -3
- package/dist/data-grid/index.js +12 -12
- package/dist/date-picker/index.cjs +6 -6
- package/dist/date-picker/index.js +5 -5
- package/dist/drawer/index.cjs +4 -4
- package/dist/drawer/index.d.cts +2 -1
- package/dist/drawer/index.d.ts +2 -1
- package/dist/drawer/index.js +3 -3
- package/dist/empty-state/index.d.cts +2 -2
- package/dist/empty-state/index.d.ts +2 -2
- package/dist/header/index.cjs +4 -4
- package/dist/header/index.d.cts +2 -2
- package/dist/header/index.d.ts +2 -2
- package/dist/header/index.js +3 -3
- package/dist/index.cjs +29 -29
- package/dist/index.css +318 -73
- package/dist/index.d.cts +5 -4
- package/dist/index.d.ts +5 -4
- package/dist/index.js +28 -28
- package/dist/inline-edit/index.cjs +4 -4
- package/dist/inline-edit/index.js +3 -3
- package/dist/input/index.cjs +3 -3
- package/dist/input/index.js +2 -2
- package/dist/menu/index.cjs +3 -3
- package/dist/menu/index.js +2 -2
- package/dist/modal/index.cjs +4 -4
- package/dist/modal/index.d.cts +2 -1
- package/dist/modal/index.d.ts +2 -1
- package/dist/modal/index.js +3 -3
- package/dist/navigation/index.cjs +4 -4
- package/dist/navigation/index.js +3 -3
- package/dist/page-layout/index.cjs +8 -8
- package/dist/page-layout/index.d.cts +3 -2
- package/dist/page-layout/index.d.ts +3 -2
- package/dist/page-layout/index.js +7 -7
- package/dist/pagination/index.cjs +6 -6
- package/dist/pagination/index.js +5 -5
- package/dist/popover/index.cjs +2 -2
- package/dist/popover/index.d.cts +2 -2
- package/dist/popover/index.d.ts +2 -2
- package/dist/popover/index.js +1 -1
- package/dist/segmented-control/index.cjs +3 -3
- package/dist/segmented-control/index.js +2 -2
- package/dist/select/index.cjs +4 -4
- package/dist/select/index.js +3 -3
- package/dist/snackbar/index.cjs +4 -4
- package/dist/snackbar/index.js +3 -3
- package/dist/split-button/index.cjs +4 -4
- package/dist/split-button/index.js +3 -3
- package/dist/table/index.cjs +11 -11
- package/dist/table/index.d.cts +3 -3
- package/dist/table/index.d.ts +3 -3
- package/dist/table/index.js +10 -10
- package/dist/tabs/index.cjs +3 -3
- package/dist/tabs/index.js +2 -2
- package/dist/tag-input/index.cjs +4 -4
- package/dist/tag-input/index.js +3 -3
- package/dist/textarea/index.cjs +3 -3
- package/dist/textarea/index.js +2 -2
- package/dist/toolbar/index.cjs +5 -5
- package/dist/toolbar/index.d.cts +3 -2
- package/dist/toolbar/index.d.ts +3 -2
- package/dist/toolbar/index.js +4 -4
- package/package.json +6 -5
- package/dist/Toolbar.types-BGD57Uhm.d.ts +0 -22
- package/dist/Toolbar.types-tQkLmPIu.d.cts +0 -22
- package/dist/chunk-2U7UJOOB.cjs.map +0 -1
- package/dist/chunk-2ZENLZEQ.cjs.map +0 -1
- package/dist/chunk-3HMKE2GJ.js.map +0 -1
- package/dist/chunk-3VRMTWUS.js.map +0 -1
- package/dist/chunk-5CLC3FJO.js.map +0 -1
- package/dist/chunk-AJZTVCST.js.map +0 -1
- package/dist/chunk-G5IGADJI.cjs.map +0 -1
- package/dist/chunk-GOR642KK.cjs +0 -21
- package/dist/chunk-GOR642KK.cjs.map +0 -1
- package/dist/chunk-IV4LM3MB.js.map +0 -1
- package/dist/chunk-KIXFSXIN.cjs.map +0 -1
- package/dist/chunk-MH2CD2QT.js.map +0 -1
- package/dist/chunk-QONDJ5VM.cjs +0 -744
- package/dist/chunk-QONDJ5VM.cjs.map +0 -1
- package/dist/chunk-UGMONQGH.cjs.map +0 -1
- package/dist/chunk-VSFKM7FE.js +0 -744
- package/dist/chunk-VSFKM7FE.js.map +0 -1
- package/dist/chunk-WE5FTQGD.js.map +0 -1
- package/dist/chunk-WPTMMOA6.cjs.map +0 -1
- package/dist/chunk-XVSODE4K.cjs.map +0 -1
- package/dist/chunk-YQLCPKGV.js.map +0 -1
- /package/dist/{chunk-Z4ZY7L7W.js.map → chunk-5ZL6PYU3.js.map} +0 -0
- /package/dist/{chunk-A3NE2C7C.js.map → chunk-67RFMV6K.js.map} +0 -0
- /package/dist/{chunk-5WROPW7Z.js.map → chunk-A7WQINIG.js.map} +0 -0
- /package/dist/{chunk-ALGX5X4N.js.map → chunk-IFVT5UCY.js.map} +0 -0
- /package/dist/{chunk-3LHQUOGP.js.map → chunk-NGVOXM7P.js.map} +0 -0
- /package/dist/{chunk-WTXASLBB.js.map → chunk-O5WEKLNF.js.map} +0 -0
- /package/dist/{chunk-BOB5JJ7F.js.map → chunk-P7IQY5YH.js.map} +0 -0
- /package/dist/{chunk-VZYLJSV5.js.map → chunk-R4PU2TBM.js.map} +0 -0
- /package/dist/{chunk-P2GCAVUZ.js.map → chunk-RAZRQ57B.js.map} +0 -0
- /package/dist/{chunk-K7IFNKMN.js.map → chunk-REVK7IGN.js.map} +0 -0
- /package/dist/{chunk-JC4WLVBG.js.map → chunk-RWOX2NJN.js.map} +0 -0
- /package/dist/{chunk-4LM33LDV.js.map → chunk-S3CT536K.js.map} +0 -0
- /package/dist/{chunk-4M3LZLOH.js.map → chunk-SHYSLWQG.js.map} +0 -0
- /package/dist/{chunk-2BXCIWL7.js.map → chunk-SN6EWQDJ.js.map} +0 -0
- /package/dist/{chunk-DW2YDWGN.js.map → chunk-TEJIPPZR.js.map} +0 -0
- /package/dist/{chunk-S7TWEVC3.js.map → chunk-Y53HCLGW.js.map} +0 -0
- /package/dist/{chunk-WIE7HDIM.js.map → chunk-YJXZR7RL.js.map} +0 -0
- /package/dist/{chunk-JMD3P4CY.js.map → chunk-ZHFPV43D.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-6HUHH6Y4.cjs","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/utc.js","../node_modules/dayjs/plugin/timezone.js","../node_modules/dayjs/plugin/weekOfYear.js","../src/components/DatePicker/DatePicker.component.tsx","../src/components/DatePicker/Calendar.component.tsx","../src/components/DatePicker/TimeInput.component.tsx"],"names":["t","e","n","r","i","s","u","a","M","m","f","l","$","y","v","g","D","o","d","c","h","import_dayjs","dayjs","weekOfYear","useCallback","jsx","useState"],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-6HUHH6Y4.cjs","sourcesContent":[null,"!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),Y=_.prototype;return O.prototype=Y,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){Y[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var r=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),r.call(this,t)};var o=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else o.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s;if(0===u)return this.utc(f);var r=this.clone();if(f)return r.$offset=u,r.$u=!1,r;var o=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(r=this.local().add(u+o,t)).$offset=u,r.$x.$localOffset=o,r};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,r){var o,a=function(t,n,i){void 0===i&&(i={});var r=new Date(t),o=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",r=t+\"|\"+i,o=e[r];return o||(o=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[r]=o),o}(n,i);return o.formatToParts(r)},u=function(e,n){for(var i=a(e,n),o=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(o[c]=parseInt(m,10))}var l=o[3],d=24===l?0:l,h=o[0]+\"-\"+o[1]+\"-\"+o[2]+\" \"+d+\":\"+o[4]+\":\"+o[5]+\":000\",v=+e;return(r.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){if(void 0===t&&(t=o),!this.isValid())return this;var n,i=this.utcOffset(),a=this.toDate(),f=a.toLocaleString(\"en-US\",{timeZone:t}),s=u(+a,t);if(!Number(s))n=this.utcOffset(0,e);else if(n=r(f,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(s,!0),e){var m=n.utcOffset();n=n.add(i-m,\"minute\")}return n.$x.$timezone=t,n},f.offsetName=function(t){var e=this.$x.$timezone||r.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=r(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},r.tz=function(t,e,n){var i=n&&e,a=n||e||o,f=u(+r(),a);if(\"string\"!=typeof t)return r(t).tz(a);var s=r.utc(t,i).valueOf();if(Number.isNaN(s)){var m=r(NaN);return m.$x.$timezone=a,m}var c=function(t,e,n){var i=t-60*e*1e3,r=u(i,n);if(e===r)return[i,e];var o=u(i-=60*(r-e)*1e3,n);return r===o?[i,r]:[t-60*Math.min(r,o)*1e3,Math.max(r,o)]}(s,f,a),l=c[0],d=c[1],h=r(l).utcOffset(d);return h.$x.$timezone=a,h},r.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},r.tz.setDefault=function(t){o=t}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","import React, { useState, useCallback, useRef, useMemo } from 'react';\nimport dayjs, { Dayjs } from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\nimport { Calendar as CalendarIcon, X } from 'lucide-react';\nimport { Input } from '../Input/Input.component';\nimport { Dropdown } from '../Dropdown/Dropdown.component';\nimport { Calendar } from './Calendar.component';\nimport { TimeInput } from './TimeInput.component';\nimport type {\n DatePickerProps,\n DateSelectionMode,\n DateTimeValue,\n TimeValue,\n RangeTimeValue,\n} from './DatePicker.types';\n\n// Initialize dayjs plugins\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const DatePicker = <T extends DateSelectionMode = 'single'>({\n mode,\n value,\n onChange,\n granularity = 'day',\n time = { enabled: false },\n calendar = { numberOfCalendars: 2 },\n format = {\n displayFormat: 'MMM DD, YYYY',\n inputFormat: 'YYYY-MM-DD',\n timeFormat: 'HH:mm',\n timezone: 'UTC',\n },\n placeholder = 'Select date...',\n disabled = false,\n required = false,\n name,\n id,\n inputProps = {},\n minDate,\n maxDate,\n disabledDates = [],\n disabledDaysOfWeek = [],\n className = '',\n fullWidth = false,\n minWidth,\n maxWidth,\n minHeight,\n maxHeight,\n autoWidth = false,\n}: DatePickerProps<T>) => {\n const [dropdownKey, setDropdownKey] = useState(0);\n // Two different, deliberately different, notions of \"timezone\" are in\n // play here, matching two genuinely different kinds of value:\n //\n // - Date-only (time.enabled === false): a pure calendar date has no\n // wall-clock moment attached to it, so there's nothing for a timezone\n // to sensibly represent. It's anchored to a fixed `pickerTimezone`\n // (default UTC) so the same calendar date always serializes to the\n // same ISO instant no matter which machine picks it - see\n // `composeDateOnly`.\n // - Date + time (time.enabled === true): this genuinely represents a\n // real-world instant, e.g. a meeting at a specific wall-clock time -\n // exactly the case a timezone exists to disambiguate. That instant\n // should be computed from *the picking user's own local offset*\n // (someone in UTC+3 typing \"15:00\" means 12:00 UTC), and later\n // displayed by converting that same UTC instant into *each viewer's\n // own* local offset (that same instant shows as \"12:00\" to a UTC+0\n // viewer). That's exactly plain, un-anchored dayjs/Date behavior with\n // no explicit timezone forcing at all, so this path intentionally\n // does not use `pickerTimezone` anywhere.\n const pickerTimezone = format.timezone || 'UTC';\n // Combines a calendar date (only its Y-M-D is read, so it's timezone-\n // agnostic going in) with a start/end-of-day boundary, anchored to\n // `pickerTimezone` - only ever used for date-only values.\n const composeDateOnly = useCallback(\n (date: Dayjs, boundary: 'start' | 'end' = 'start') => {\n const anchored = dayjs.tz(date.format('YYYY-MM-DD'), pickerTimezone);\n return boundary === 'end' ? anchored.endOf('day') : anchored.startOf('day');\n },\n [pickerTimezone],\n );\n // Combines a calendar date with a time-of-day using plain local\n // semantics (no timezone forcing) - only ever used for date+time values,\n // see the note above.\n const composeLocalDateTime = useCallback(\n (date: Dayjs, t: TimeValue): Dayjs =>\n date\n .hour(t.hours)\n .minute(t.minutes)\n .second(t.seconds || 0),\n [],\n );\n // Re-anchors an already-stored ISO instant's calendar day (read in the\n // browser's own local timezone, matching how it was written) onto a new\n // time-of-day - used when the user edits a TimeInput without re-picking\n // the date, so that edit actually changes the returned value instead of\n // only updating the separate `value.time` field alongside an unchanged\n // `value.date`. Deliberately local, not anchored to `pickerTimezone` -\n // see the note above.\n const recomposeIsoWithTime = useCallback(\n (isoString: string, t: TimeValue): string =>\n dayjs(isoString)\n .hour(t.hours)\n .minute(t.minutes)\n .second(t.seconds || 0)\n .toISOString(),\n [],\n );\n // Month granularity always shows a single year/month grid - side-by-side\n // \"next month\" calendars don't make sense once there are no day cells.\n const numberOfCalendars = granularity === 'month' ? 1 : calendar.numberOfCalendars || 2;\n const independentCalendars = calendar.independent ?? false;\n // One entry per visible calendar. In the default (non-independent) mode\n // these always stay consecutive months, kept in sync from a single shared\n // control (see `handleCalendarMonthChange`) - the array shape is the same\n // either way, only how a change to one entry propagates differs.\n const [calendarDates, setCalendarDates] = useState<Dayjs[]>(() =>\n Array.from({ length: numberOfCalendars }, (_, i) => dayjs().add(i, 'month')),\n );\n const handleCalendarMonthChange = useCallback(\n (index: number, newDate: Dayjs) => {\n if (!independentCalendars) {\n // Coupled: every calendar shifts together, re-anchored so `index`\n // lands on `newDate` - e.g. moving calendar 1 to November re-anchors\n // calendar 0 to October, same as before this was array-based.\n const anchor = newDate.subtract(index, 'month');\n setCalendarDates(\n Array.from({ length: numberOfCalendars }, (_, i) => anchor.add(i, 'month')),\n );\n return;\n }\n\n // Independent: only this calendar moves, clamped so it can never reach\n // or cross an immediate neighbor's month - two calendars both landing\n // on (or swapping past) the same month would be exactly the confusing\n // state independent mode exists to let users avoid, just self-inflicted\n // instead of automatic.\n setCalendarDates((prev) => {\n const next = [...prev];\n let clamped = newDate;\n const left = prev[index - 1];\n const right = prev[index + 1];\n if (left && !clamped.isAfter(left, 'month')) {\n clamped = left.add(1, 'month');\n }\n if (right && !clamped.isBefore(right, 'month')) {\n clamped = right.subtract(1, 'month');\n }\n next[index] = clamped;\n return next;\n });\n },\n [independentCalendars, numberOfCalendars],\n );\n const triggerRef = useRef<HTMLDivElement>(null);\n\n // Convert the string-based constraint props to the Dayjs objects Calendar\n // actually consumes for its `isBefore`/`isAfter`/`isSame` comparisons.\n const minDateObj = useMemo(() => (minDate ? dayjs(minDate) : undefined), [minDate]);\n const maxDateObj = useMemo(() => (maxDate ? dayjs(maxDate) : undefined), [maxDate]);\n const disabledDatesObj = useMemo(() => disabledDates.map((d) => dayjs(d)), [disabledDates]);\n\n // Default time values\n const defaultStartTime = useMemo<TimeValue>(() => ({ hours: 0, minutes: 0, seconds: 0 }), []);\n const defaultEndTime = useMemo<TimeValue>(() => ({ hours: 23, minutes: 59, seconds: 59 }), []);\n\n // Helper function to convert stored ISO strings back to the calendar date\n // they represent, for calendar-grid display (which day to highlight).\n const toLocalDateString = useCallback(\n (isoString: string | null): string | null => {\n if (!isoString) return null;\n const parsed = dayjs(isoString);\n // Date-only values were anchored to `pickerTimezone` when stored (see\n // `composeDateOnly`) - reading them back via the browser's ambient\n // timezone instead would recover the wrong calendar day for anyone\n // not in that same timezone. Date+time values were deliberately\n // never anchored (see the note above `pickerTimezone`), so they stay\n // on local interpretation, matching how they were written.\n return (time.enabled ? parsed : parsed.tz(pickerTimezone)).format('YYYY-MM-DD');\n },\n [time.enabled, pickerTimezone],\n );\n\n // Convert current value to calendar-compatible format\n const { selectedDates, rangeStart, rangeEnd } = useMemo(() => {\n if (!value?.date) {\n return { selectedDates: [], rangeStart: null, rangeEnd: null };\n }\n\n switch (mode) {\n case 'single': {\n const isoString = value.date as string | null;\n const localDateStr = toLocalDateString(isoString);\n return {\n selectedDates: localDateStr ? [dayjs(localDateStr)] : [],\n rangeStart: null,\n rangeEnd: null,\n };\n }\n case 'multiple': {\n const isoStrings = value.date as string[];\n const localDateStrings = isoStrings\n .map((d) => toLocalDateString(d))\n .filter(Boolean) as string[];\n return {\n selectedDates: localDateStrings.map((d) => dayjs(d)),\n rangeStart: null,\n rangeEnd: null,\n };\n }\n case 'range': {\n const range = value.date as { start: string | null; end: string | null };\n const startStr = toLocalDateString(range.start);\n const endStr = toLocalDateString(range.end);\n return {\n selectedDates: [],\n rangeStart: startStr ? dayjs(startStr) : null,\n rangeEnd: endStr ? dayjs(endStr) : null,\n };\n }\n default:\n return { selectedDates: [], rangeStart: null, rangeEnd: null };\n }\n }, [value, mode, toLocalDateString]);\n\n // Handle date selection from calendar - always return ISO strings. Uses\n // `composeDateOnly` (fixed `pickerTimezone` anchor) when time.enabled is\n // false, `composeLocalDateTime` (plain local semantics) when true - see\n // the note above `pickerTimezone` for why these need to differ.\n const handleDateSelect = useCallback(\n (selectedDate: Dayjs) => {\n // `granularity === 'month'` means the calendar only ever hands us a\n // day *within* the picked month (see Calendar's month grid) - the\n // stored/returned value is always that month's last day, while the\n // day-of-week boundary semantics below ('start' of day vs 'end' of\n // day) are unaffected.\n const effectiveDate = granularity === 'month' ? selectedDate.endOf('month') : selectedDate;\n const compareUnit = granularity === 'month' ? 'month' : 'day';\n\n switch (mode) {\n case 'single': {\n let dateWithTime: Dayjs;\n // Preserve whatever time the user already configured via\n // TimeInput rather than resetting to the default every time a\n // different date is picked.\n const activeTime = (value?.time as TimeValue) ?? defaultStartTime;\n if (time.enabled) {\n dateWithTime = composeLocalDateTime(effectiveDate, activeTime);\n } else {\n dateWithTime = composeDateOnly(effectiveDate, 'start');\n }\n\n const newValue: DateTimeValue<T> = {\n date: dateWithTime.toISOString() as DateTimeValue<T>['date'],\n time: time.enabled ? (activeTime as DateTimeValue<T>['time']) : undefined,\n };\n\n onChange?.(newValue);\n setDropdownKey((prev) => prev + 1); // Close dropdown\n break;\n }\n\n case 'multiple': {\n const currentDates = (value?.date as string[]) || [];\n const currentDayjs = currentDates.map((d) => dayjs(d));\n\n // Check if date is already selected\n const existingIndex = currentDayjs.findIndex((d) => d.isSame(effectiveDate, compareUnit));\n let newDates: Dayjs[];\n\n if (existingIndex >= 0) {\n // Remove if already selected\n newDates = currentDayjs.filter((_, index) => index !== existingIndex);\n } else {\n // Add new date, preserving the shared time already configured.\n const activeTime = (value?.time as TimeValue) ?? defaultStartTime;\n const dateWithTime = time.enabled\n ? composeLocalDateTime(effectiveDate, activeTime)\n : composeDateOnly(effectiveDate, 'start');\n newDates = [...currentDayjs, dateWithTime];\n }\n\n // Always return ISO strings\n const newValue: DateTimeValue<T> = {\n date: newDates.map((d) => d.toISOString()) as DateTimeValue<T>['date'],\n time: time.enabled\n ? (((value?.time as TimeValue) ?? defaultStartTime) as DateTimeValue<T>['time'])\n : undefined,\n };\n\n onChange?.(newValue);\n break;\n }\n\n case 'range': {\n const currentRange = (value?.date as { start: string | null; end: string | null }) || {\n start: null,\n end: null,\n };\n const currentRangeTime = (value?.time as RangeTimeValue) || {\n start: defaultStartTime,\n end: defaultEndTime,\n };\n\n if (!currentRange.start || (currentRange.start && currentRange.end)) {\n // Start new range, preserving the already-configured start time.\n const startWithTime = time.enabled\n ? composeLocalDateTime(effectiveDate, currentRangeTime.start)\n : composeDateOnly(effectiveDate, 'start');\n\n // Always return ISO string\n const newValue: DateTimeValue<T> = {\n date: { start: startWithTime.toISOString(), end: null } as DateTimeValue<T>['date'],\n time: time.enabled ? (currentRangeTime as DateTimeValue<T>['time']) : undefined,\n };\n\n onChange?.(newValue);\n } else {\n // Complete the range. Date-only starts were anchored to\n // `pickerTimezone` when stored (see `composeDateOnly`) -\n // re-read it the same way so the \"is end before start\"\n // comparison below lines up with the day it actually\n // represents. Date+time starts were never anchored, so\n // they stay on local interpretation, matching how they\n // were written.\n const start = time.enabled\n ? dayjs(currentRange.start)\n : dayjs(currentRange.start).tz(pickerTimezone);\n let end = effectiveDate;\n\n // Ensure end is after start\n if (end.isBefore(start, compareUnit)) {\n end = start;\n }\n\n end = time.enabled\n ? composeLocalDateTime(end, currentRangeTime.end)\n : composeDateOnly(end, 'end');\n\n // Always return ISO strings\n const newValue: DateTimeValue<T> = {\n date: {\n start: currentRange.start,\n end: end.toISOString(),\n } as DateTimeValue<T>['date'],\n time: time.enabled ? (currentRangeTime as DateTimeValue<T>['time']) : undefined,\n };\n\n onChange?.(newValue);\n setDropdownKey((prev) => prev + 1); // Close dropdown after completing range\n }\n break;\n }\n }\n },\n [\n mode,\n time,\n value,\n onChange,\n defaultStartTime,\n defaultEndTime,\n composeDateOnly,\n composeLocalDateTime,\n pickerTimezone,\n granularity,\n ],\n );\n\n // Format display value\n const displayValue = useMemo(() => {\n if (!value?.date) return '';\n\n const displayFmt =\n format.displayFormat || (granularity === 'month' ? 'MMM YYYY' : 'MMM DD, YYYY');\n // Date-only values were anchored to `pickerTimezone` when stored (see\n // `composeDateOnly`) - display them in that same timezone rather than\n // the viewer's ambient one, so the trigger shows the actual calendar\n // date that was picked. Date+time values were deliberately never\n // anchored (see the note above `pickerTimezone`) - the viewer's own\n // local timezone is exactly what should convert that instant for\n // display, e.g. a UTC+3-scheduled 15:00 meeting showing as 12:00 to a\n // UTC+0 viewer.\n const parseDateOnlyAware = (iso: string) =>\n time.enabled ? dayjs(iso) : dayjs(iso).tz(pickerTimezone);\n\n switch (mode) {\n case 'single': {\n const date = parseDateOnlyAware(value.date as string);\n let result = date.format(displayFmt);\n if (time.enabled) {\n const timeStr = time.includeSeconds ? date.format('HH:mm:ss') : date.format('HH:mm');\n result += ` ${timeStr}`;\n }\n return result;\n }\n\n case 'multiple': {\n const dates = value.date as string[];\n if (time.enabled) {\n const formattedDates = dates.map((d) => {\n const date = parseDateOnlyAware(d);\n const dateStr = date.format(displayFmt);\n const timeStr = time.includeSeconds ? date.format('HH:mm:ss') : date.format('HH:mm');\n return `${dateStr} ${timeStr}`;\n });\n return formattedDates.join(', ');\n } else {\n const formattedDates = dates.map((d) => parseDateOnlyAware(d).format(displayFmt));\n return formattedDates.join(', ');\n }\n }\n\n case 'range': {\n const rangeValue = value.date as { start: string | null; end: string | null };\n const parts: string[] = [];\n\n if (rangeValue.start) {\n const startDate = parseDateOnlyAware(rangeValue.start);\n let startStr = startDate.format(displayFmt);\n if (time.enabled) {\n const timeStr = time.includeSeconds\n ? startDate.format('HH:mm:ss')\n : startDate.format('HH:mm');\n startStr += ` ${timeStr}`;\n }\n parts.push(startStr);\n }\n\n if (rangeValue.end) {\n const endDate = parseDateOnlyAware(rangeValue.end);\n let endStr = endDate.format(displayFmt);\n if (time.enabled) {\n const timeStr = time.includeSeconds\n ? endDate.format('HH:mm:ss')\n : endDate.format('HH:mm');\n endStr += ` ${timeStr}`;\n }\n parts.push(endStr);\n }\n\n return parts.join(' - ');\n }\n\n default:\n return '';\n }\n }, [value, mode, time, format, pickerTimezone, granularity]);\n\n // Handle clear\n const handleClear = useCallback(\n (e?: React.MouseEvent) => {\n if (e) {\n e.stopPropagation();\n }\n\n const clearedValue = (() => {\n if (mode === 'multiple') {\n return {\n date: [] as unknown as DateTimeValue<T>['date'],\n time: time.enabled\n ? (defaultStartTime as unknown as DateTimeValue<T>['time'])\n : undefined,\n } as DateTimeValue<T>;\n } else if (mode === 'range') {\n return {\n date: { start: null, end: null } as unknown as DateTimeValue<T>['date'],\n time: time.enabled\n ? ({\n start: defaultStartTime,\n end: defaultEndTime,\n } as unknown as DateTimeValue<T>['time'])\n : undefined,\n } as DateTimeValue<T>;\n } else {\n return {\n date: null as unknown as DateTimeValue<T>['date'],\n time: time.enabled\n ? (defaultStartTime as unknown as DateTimeValue<T>['time'])\n : undefined,\n } as DateTimeValue<T>;\n }\n })();\n\n onChange?.(clearedValue);\n setDropdownKey((prev) => prev + 1); // Close dropdown\n },\n [mode, time, onChange, defaultStartTime, defaultEndTime],\n );\n\n // Create trigger element\n const triggerElement = (\n <div\n ref={triggerRef}\n className={`eidos-date-picker-trigger${fullWidth ? ' eidos-date-picker-trigger--fullWidth' : ''}`}\n >\n <Input\n value={displayValue}\n placeholder={placeholder}\n disabled={disabled}\n required={required}\n name={name}\n id={id}\n // Forwarded, not just set on the wrapper above: the wrapper stretching\n // to 100% does nothing on its own while the Input inside it keeps its\n // own intrinsic width. Mirrors Select, which forwards it the same way.\n fullWidth={fullWidth}\n readOnly={true}\n preIcon={CalendarIcon}\n posIcon={displayValue ? X : undefined}\n posIconButton={!!displayValue}\n onPosIconClick={displayValue ? handleClear : undefined}\n {...inputProps}\n clearable={false}\n />\n </div>\n );\n\n // Create dropdown content with calendar(s) and time inputs\n const dropdownContent = (\n <div className={'eidos-date-picker-content'}>\n {/* Multiple calendars with container-level navigation */}\n <div className={'eidos-date-picker-calendars-wrapper'}>\n {Array.from({ length: numberOfCalendars }, (_, index) => {\n const calendarDate = calendarDates[index] ?? dayjs().add(index, 'month');\n return (\n <Calendar\n key={index}\n currentDate={calendarDate}\n selectedDates={selectedDates}\n rangeStart={rangeStart}\n rangeEnd={rangeEnd}\n mode={mode}\n granularity={granularity}\n onDateSelect={handleDateSelect}\n onMonthChange={(newDate) => handleCalendarMonthChange(index, newDate)}\n minDate={minDateObj}\n maxDate={maxDateObj}\n disabledDates={disabledDatesObj}\n disabledDaysOfWeek={disabledDaysOfWeek}\n showWeekNumbers={calendar.showWeekNumbers}\n firstDayOfWeek={calendar.firstDayOfWeek}\n // Non-independent: only the first calendar's control is\n // interactive, since it's the one every other calendar\n // actually follows. Independent: every calendar gets one.\n showNavigation={independentCalendars || index === 0}\n />\n );\n })}\n </div>\n\n {/* Time inputs */}\n {time.enabled && (\n <div className={'eidos-date-picker-time-container'}>\n {mode === 'single' && (\n <TimeInput\n value={(value?.time as TimeValue) || defaultStartTime}\n onChange={(newTime) => {\n // Recompose the actual returned value with the new\n // time, not just the separate `time` field - see\n // `recomposeIsoWithTime`.\n const currentIso = value?.date as string | null;\n const newValue = {\n ...value,\n date: (currentIso\n ? recomposeIsoWithTime(currentIso, newTime)\n : currentIso) as DateTimeValue<T>['date'],\n time: newTime,\n } as DateTimeValue<T>;\n onChange?.(newValue);\n }}\n includeSeconds={time.includeSeconds}\n disabled={disabled}\n label=\"Time\"\n />\n )}\n\n {mode === 'multiple' && (\n <TimeInput\n value={(value?.time as TimeValue) || defaultStartTime}\n onChange={(newTime) => {\n // Recompose every selected date with the new shared\n // time - see `recomposeIsoWithTime`.\n const currentDates = (value?.date as string[]) || [];\n const newValue = {\n ...value,\n date: currentDates.map((d) =>\n recomposeIsoWithTime(d, newTime),\n ) as DateTimeValue<T>['date'],\n time: newTime,\n } as DateTimeValue<T>;\n onChange?.(newValue);\n }}\n includeSeconds={time.includeSeconds}\n disabled={disabled}\n label=\"Time for all dates\"\n />\n )}\n\n {mode === 'range' && (\n <div className={'eidos-date-picker-range-time-inputs'}>\n <TimeInput\n value={(value?.time as RangeTimeValue)?.start || defaultStartTime}\n onChange={(newTime) => {\n const currentRangeTime = (value?.time as RangeTimeValue) || {\n start: defaultStartTime,\n end: defaultEndTime,\n };\n // Recompose just the start of the range with the new\n // time - see `recomposeIsoWithTime`.\n const currentRange = (value?.date as {\n start: string | null;\n end: string | null;\n }) || {\n start: null,\n end: null,\n };\n const newValue = {\n ...value,\n date: {\n ...currentRange,\n start: currentRange.start\n ? recomposeIsoWithTime(currentRange.start, newTime)\n : currentRange.start,\n } as DateTimeValue<T>['date'],\n time: {\n ...currentRangeTime,\n start: newTime,\n },\n } as DateTimeValue<T>;\n onChange?.(newValue);\n }}\n includeSeconds={time.includeSeconds}\n disabled={disabled}\n label=\"Start time\"\n />\n <TimeInput\n value={(value?.time as RangeTimeValue)?.end || defaultEndTime}\n onChange={(newTime) => {\n const currentRangeTime = (value?.time as RangeTimeValue) || {\n start: defaultStartTime,\n end: defaultEndTime,\n };\n // Recompose just the end of the range with the new\n // time - see `recomposeIsoWithTime`.\n const currentRange = (value?.date as {\n start: string | null;\n end: string | null;\n }) || {\n start: null,\n end: null,\n };\n const newValue = {\n ...value,\n date: {\n ...currentRange,\n end: currentRange.end\n ? recomposeIsoWithTime(currentRange.end, newTime)\n : currentRange.end,\n } as DateTimeValue<T>['date'],\n time: {\n ...currentRangeTime,\n end: newTime,\n },\n } as DateTimeValue<T>;\n onChange?.(newValue);\n }}\n includeSeconds={time.includeSeconds}\n disabled={disabled}\n label=\"End time\"\n />\n </div>\n )}\n </div>\n )}\n </div>\n );\n\n return (\n <div\n className={`eidos-date-picker-container${fullWidth ? ' eidos-date-picker-container--fullWidth' : ''} ${className}`.trim()}\n >\n <Dropdown\n key={dropdownKey}\n trigger={triggerElement}\n content={dropdownContent}\n placement=\"bottom\"\n minWidth={minWidth}\n maxWidth={maxWidth || 'none'}\n minHeight={minHeight}\n maxHeight={maxHeight || 'none'}\n autoWidth={autoWidth}\n // Dropdown wraps `trigger` in its own `.eidos-dropdown-trigger` div,\n // which stays shrink-to-fit unless told otherwise - so without this,\n // `fullWidth` stopped at that wrapper and the trigger input never\n // stretched. Select forwards it here for the same reason.\n fullWidth={fullWidth}\n triggerRef={triggerRef as React.RefObject<HTMLElement | null>}\n />\n </div>\n );\n};\n\nDatePicker.displayName = 'DatePicker';\n","import React, { useMemo, useCallback } from 'react';\nimport dayjs, { Dayjs } from 'dayjs';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\n\n// Initialize dayjs plugins\ndayjs.extend(weekOfYear);\nimport { Select } from '../Select/Select.component';\nimport type { CalendarProps } from './DatePicker.types';\nimport { Button } from '../Button/Button.component';\n\nexport const Calendar: React.FC<CalendarProps> = ({\n currentDate,\n selectedDates,\n rangeStart,\n rangeEnd,\n // mode, // TODO: Use this for different selection behaviors\n granularity = 'day',\n onDateSelect,\n onMonthChange,\n minDate,\n maxDate,\n disabledDates = [],\n disabledDaysOfWeek = [],\n showWeekNumbers = false,\n firstDayOfWeek = 1, // Monday\n showNavigation = true,\n}) => {\n // Generate month options (12 months)\n const monthOptions = useMemo(() => {\n return Array.from({ length: 12 }, (_, i) => ({\n id: i.toString(),\n label: dayjs().month(i).format('MMMM'),\n value: i.toString(),\n }));\n }, []);\n\n // Generate year options (current year ± 50 years)\n const yearOptions = useMemo(() => {\n const currentYear = dayjs().year();\n const years = [];\n for (let year = currentYear - 50; year <= currentYear + 50; year++) {\n years.push({\n id: year.toString(),\n label: year.toString(),\n value: year.toString(),\n });\n }\n return years;\n }, []);\n\n // Handle month selection\n const handleMonthSelect = useCallback(\n (value: string | string[]) => {\n if (typeof value === 'string') {\n const newDate = currentDate.month(parseInt(value));\n onMonthChange(newDate);\n }\n },\n [currentDate, onMonthChange],\n );\n\n // Handle year selection\n const handleYearSelect = useCallback(\n (value: string | string[]) => {\n if (typeof value === 'string') {\n const newDate = currentDate.year(parseInt(value));\n onMonthChange(newDate);\n }\n },\n [currentDate, onMonthChange],\n );\n\n // Handle navigation arrows\n const handlePrevMonth = useCallback(() => {\n onMonthChange(currentDate.subtract(1, 'month'));\n }, [currentDate, onMonthChange]);\n\n const handleNextMonth = useCallback(() => {\n onMonthChange(currentDate.add(1, 'month'));\n }, [currentDate, onMonthChange]);\n\n const handlePrevYear = useCallback(() => {\n onMonthChange(currentDate.subtract(1, 'year'));\n }, [currentDate, onMonthChange]);\n\n const handleNextYear = useCallback(() => {\n onMonthChange(currentDate.add(1, 'year'));\n }, [currentDate, onMonthChange]);\n\n // Generate the 12 months of `currentDate`'s year - used instead of\n // `calendarDays` when `granularity === 'month'`.\n const monthCells = useMemo(() => {\n return Array.from({ length: 12 }, (_, i) => {\n const monthDate = currentDate.month(i).startOf('month');\n const isToday = monthDate.isSame(dayjs(), 'month');\n const isSelected = selectedDates.some((date) => date.isSame(monthDate, 'month'));\n const isDisabled =\n (minDate && monthDate.endOf('month').isBefore(minDate, 'month')) ||\n (maxDate && monthDate.isAfter(maxDate, 'month'));\n\n const isRangeStart = rangeStart?.isSame(monthDate, 'month') || false;\n const isRangeEnd = rangeEnd?.isSame(monthDate, 'month') || false;\n const isInRange =\n rangeStart &&\n rangeEnd &&\n monthDate.isAfter(rangeStart, 'month') &&\n monthDate.isBefore(rangeEnd, 'month');\n\n return {\n date: monthDate,\n isToday,\n isSelected,\n isDisabled,\n isRangeStart,\n isRangeEnd,\n isInRange,\n };\n });\n }, [currentDate, selectedDates, rangeStart, rangeEnd, minDate, maxDate]);\n\n // Generate calendar days\n const calendarDays = useMemo(() => {\n const startOfMonth = currentDate.startOf('month');\n\n // Get the first day of the week for the first day of the month\n let startOfCalendar = startOfMonth.startOf('week');\n if (firstDayOfWeek === 1) {\n // Monday\n startOfCalendar =\n startOfMonth.day() === 0\n ? startOfMonth.subtract(6, 'day')\n : startOfMonth.startOf('week').add(1, 'day');\n }\n\n // Generate 42 days (6 weeks * 7 days)\n const days = [];\n let current = startOfCalendar;\n\n for (let i = 0; i < 42; i++) {\n const isCurrentMonth = current.month() === currentDate.month();\n const isToday = current.isSame(dayjs(), 'day');\n const isSelected = selectedDates.some((date) => date.isSame(current, 'day'));\n const isDisabled =\n (minDate && current.isBefore(minDate, 'day')) ||\n (maxDate && current.isAfter(maxDate, 'day')) ||\n disabledDates.some((date) => date.isSame(current, 'day')) ||\n disabledDaysOfWeek.includes(current.day());\n\n // Range logic\n const isRangeStart = rangeStart?.isSame(current, 'day') || false;\n const isRangeEnd = rangeEnd?.isSame(current, 'day') || false;\n const isInRange =\n rangeStart &&\n rangeEnd &&\n current.isAfter(rangeStart, 'day') &&\n current.isBefore(rangeEnd, 'day');\n\n days.push({\n date: current,\n isCurrentMonth,\n isToday,\n isSelected,\n isDisabled,\n isRangeStart,\n isRangeEnd,\n isInRange,\n });\n\n current = current.add(1, 'day');\n }\n\n return days;\n }, [\n currentDate,\n selectedDates,\n rangeStart,\n rangeEnd,\n minDate,\n maxDate,\n disabledDates,\n disabledDaysOfWeek,\n firstDayOfWeek,\n ]);\n\n // Generate weekday headers\n const weekDays = useMemo(() => {\n const days = [];\n let start =\n firstDayOfWeek === 0 ? dayjs().startOf('week') : dayjs().startOf('week').add(1, 'day');\n\n for (let i = 0; i < 7; i++) {\n days.push(start.format('dd'));\n start = start.add(1, 'day');\n }\n return days;\n }, [firstDayOfWeek]);\n\n // Handle date click\n const handleDateClick = useCallback(\n (date: Dayjs) => {\n onDateSelect(date);\n },\n [onDateSelect],\n );\n\n return (\n <div className={'eidos-calendar'}>\n {/* Header with navigation - only interactive when this calendar actually\n\t\t\t navigates independently of its neighbors (see `showNavigation` doc).\n\t\t\t Showing editable, interactive controls that silently move a sibling\n\t\t\t calendar instead of themselves is exactly the confusing behavior this\n\t\t\t is meant to avoid; a plain label is honest about what will happen. */}\n <div className={'eidos-calendar-header'}>\n {showNavigation ? (\n granularity === 'month' ? (\n <>\n <Button variant=\"text\" icon={ChevronLeft} onClick={handlePrevYear} />\n\n <div className={'eidos-calendar-selectors'}>\n <Select\n options={yearOptions}\n value={currentDate.year().toString()}\n onChange={handleYearSelect}\n clearable={false}\n dropdownProps={{\n dropdownGroup: 'calendar-navigation',\n }}\n />\n </div>\n\n <Button variant=\"text\" icon={ChevronRight} onClick={handleNextYear} />\n </>\n ) : (\n <>\n <Button variant=\"text\" icon={ChevronLeft} onClick={handlePrevMonth} />\n\n <div className={'eidos-calendar-selectors'}>\n <Select\n options={monthOptions}\n value={currentDate.month().toString()}\n onChange={handleMonthSelect}\n clearable={false}\n dropdownProps={{\n dropdownGroup: 'calendar-navigation',\n }}\n />\n <Select\n options={yearOptions}\n value={currentDate.year().toString()}\n onChange={handleYearSelect}\n clearable={false}\n dropdownProps={{\n dropdownGroup: 'calendar-navigation',\n }}\n />\n </div>\n\n <Button variant=\"text\" icon={ChevronRight} onClick={handleNextMonth} />\n </>\n )\n ) : (\n <div className={'eidos-calendar-label'}>\n {currentDate.format(granularity === 'month' ? 'YYYY' : 'MMMM YYYY')}\n </div>\n )}\n </div>\n\n {/* Calendar grid */}\n {granularity === 'month' ? (\n <div className={'eidos-calendar-month-cells'}>\n {monthCells.map((month, index) => (\n <button\n key={index}\n type=\"button\"\n className={`eidos-calendar-date-cell eidos-calendar-month-cell ${month.isToday ? 'eidos-calendar-today' : ''} ${month.isSelected ? 'eidos-calendar-selected' : ''} ${month.isDisabled ? 'eidos-calendar-disabled' : ''} ${month.isRangeStart ? 'eidos-calendar-range-start' : ''} ${month.isRangeEnd ? 'eidos-calendar-range-end' : ''} ${month.isInRange ? 'eidos-calendar-in-range' : ''}`.trim()}\n onClick={() => !month.isDisabled && handleDateClick(month.date)}\n disabled={month.isDisabled}\n >\n {month.date.format('MMM')}\n </button>\n ))}\n </div>\n ) : (\n <div className={'eidos-calendar-grid'}>\n {/* Week numbers column (optional) */}\n {showWeekNumbers && (\n <div className={'eidos-calendar-week-numbers-column'}>\n <div className={'eidos-calendar-week-number-header'}></div>\n {Array.from({ length: 6 }, (_, weekIndex) => {\n const weekStart = calendarDays[weekIndex * 7].date;\n return (\n <div key={weekIndex} className={'eidos-calendar-week-number'}>\n {weekStart.format('W')}\n </div>\n );\n })}\n </div>\n )}\n\n {/* Main calendar content */}\n <div className={'eidos-calendar-content'}>\n {/* Weekday headers */}\n <div className={'eidos-calendar-week-days'}>\n {weekDays.map((day, index) => (\n <div key={index} className={'eidos-calendar-week-day'}>\n {day}\n </div>\n ))}\n </div>\n\n {/* Date cells */}\n <div className={'eidos-calendar-date-cells'}>\n {calendarDays.map((day, index) => (\n <button\n key={index}\n type=\"button\"\n className={`eidos-calendar-date-cell ${!day.isCurrentMonth ? 'eidos-calendar-other-month' : ''} ${day.isToday ? 'eidos-calendar-today' : ''} ${day.isSelected ? 'eidos-calendar-selected' : ''} ${day.isDisabled ? 'eidos-calendar-disabled' : ''} ${day.isRangeStart ? 'eidos-calendar-range-start' : ''} ${day.isRangeEnd ? 'eidos-calendar-range-end' : ''} ${day.isInRange ? 'eidos-calendar-in-range' : ''}`.trim()}\n onClick={() => !day.isDisabled && handleDateClick(day.date)}\n disabled={day.isDisabled}\n >\n {day.date.date()}\n </button>\n ))}\n </div>\n </div>\n </div>\n )}\n </div>\n );\n};\n","import React, { useState, useEffect, useCallback } from 'react';\nimport { Input } from '../Input/Input.component';\nimport type { TimeValue } from './DatePicker.types';\n\nexport interface TimeInputProps {\n value: TimeValue;\n onChange: (time: TimeValue) => void;\n includeSeconds?: boolean;\n disabled?: boolean;\n label?: string;\n}\n\nexport const TimeInput: React.FC<TimeInputProps> = ({\n value,\n onChange,\n includeSeconds = false,\n disabled = false,\n label = 'Time',\n}) => {\n const [hours, setHours] = useState(value.hours.toString().padStart(2, '0'));\n const [minutes, setMinutes] = useState(value.minutes.toString().padStart(2, '0'));\n const [seconds, setSeconds] = useState((value.seconds || 0).toString().padStart(2, '0'));\n\n // Update local state when value prop changes\n useEffect(() => {\n setHours(value.hours.toString().padStart(2, '0'));\n setMinutes(value.minutes.toString().padStart(2, '0'));\n setSeconds((value.seconds || 0).toString().padStart(2, '0'));\n }, [value]);\n\n const handleTimeChange = useCallback(\n (newHours: number, newMinutes: number, newSeconds: number) => {\n onChange({\n hours: newHours,\n minutes: newMinutes,\n seconds: newSeconds,\n });\n },\n [onChange],\n );\n\n const handleHoursChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newHours = Math.max(0, Math.min(23, parseInt(e.target.value) || 0));\n setHours(newHours.toString().padStart(2, '0'));\n handleTimeChange(newHours, value.minutes, value.seconds || 0);\n },\n [handleTimeChange, value.minutes, value.seconds],\n );\n\n const handleMinutesChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newMinutes = Math.max(0, Math.min(59, parseInt(e.target.value) || 0));\n setMinutes(newMinutes.toString().padStart(2, '0'));\n handleTimeChange(value.hours, newMinutes, value.seconds || 0);\n },\n [handleTimeChange, value.hours, value.seconds],\n );\n\n const handleSecondsChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newSeconds = Math.max(0, Math.min(59, parseInt(e.target.value) || 0));\n setSeconds(newSeconds.toString().padStart(2, '0'));\n handleTimeChange(value.hours, value.minutes, newSeconds);\n },\n [handleTimeChange, value.hours, value.minutes],\n );\n\n return (\n <div className={'eidos-time-input'}>\n {label && <label className={'eidos-time-input-label'}>{label}</label>}\n <div className={'eidos-time-input-inputs'}>\n <div className={'eidos-time-input-input-group'}>\n <Input\n type=\"number\"\n value={hours}\n onChange={handleHoursChange}\n disabled={disabled}\n min={0}\n max={23}\n placeholder=\"HH\"\n size=\"sm\"\n className={'eidos-time-input-time-field'}\n />\n <span className={'eidos-time-input-separator'}>:</span>\n </div>\n <div className={'eidos-time-input-input-group'}>\n <Input\n type=\"number\"\n value={minutes}\n onChange={handleMinutesChange}\n disabled={disabled}\n min={0}\n max={59}\n placeholder=\"MM\"\n size=\"sm\"\n className={'eidos-time-input-time-field'}\n />\n {includeSeconds && <span className={'eidos-time-input-separator'}>:</span>}\n </div>\n {includeSeconds && (\n <div className={'eidos-time-input-input-group'}>\n <Input\n type=\"number\"\n value={seconds}\n onChange={handleSecondsChange}\n disabled={disabled}\n min={0}\n max={59}\n placeholder=\"SS\"\n size=\"sm\"\n className={'eidos-time-input-time-field'}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Input
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VHMOKXUT.js";
|
|
4
4
|
import {
|
|
5
5
|
Dropdown
|
|
6
6
|
} from "./chunk-4BKTBV2I.js";
|
|
7
7
|
import {
|
|
8
8
|
renderIcon
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KBG77JHC.js";
|
|
10
10
|
|
|
11
11
|
// src/components/Select/Select.component.tsx
|
|
12
12
|
import React, { useState, useCallback, useRef, useEffect, useMemo } from "react";
|
|
@@ -339,4 +339,4 @@ Select.displayName = "Select";
|
|
|
339
339
|
export {
|
|
340
340
|
Select
|
|
341
341
|
};
|
|
342
|
-
//# sourceMappingURL=chunk-
|
|
342
|
+
//# sourceMappingURL=chunk-A7WQINIG.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkGEHL4LKKcjs = require('./chunk-GEHL4LKK.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunkZ5U4NJTWcjs = require('./chunk-Z5U4NJTW.cjs');
|
|
@@ -51,7 +51,7 @@ var SegmentedControl = ({
|
|
|
51
51
|
className: ["eidos-segmented-item", isActive && "eidos-segmented-item--active"].filter(Boolean).join(" "),
|
|
52
52
|
onClick: () => !isDisabled && handleSelect(opt.value),
|
|
53
53
|
children: [
|
|
54
|
-
opt.icon &&
|
|
54
|
+
opt.icon && _chunkGEHL4LKKcjs.renderIcon.call(void 0, opt.icon, "eidos-segmented-icon"),
|
|
55
55
|
opt.label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "eidos-segmented-label", children: opt.label })
|
|
56
56
|
]
|
|
57
57
|
},
|
|
@@ -64,4 +64,4 @@ var SegmentedControl = ({
|
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
exports.SegmentedControl = SegmentedControl;
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
67
|
+
//# sourceMappingURL=chunk-AAA6TR5I.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-AAA6TR5I.cjs","../src/components/SegmentedControl/SegmentedControl.component.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACPA,4EAAgC;AAgFtB,+CAAA;AA3CH,IAAM,iBAAA,EAAoD,CAAC;AAAA,EAChE,OAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA,EAAO,IAAA;AAAA,EACP,MAAA,EAAQ,SAAA;AAAA,EACR,SAAA,EAAW,KAAA;AAAA,EACX,UAAA,EAAY,KAAA;AAAA,EACZ,UAAA,EAAY;AACd,CAAA,EAAA,GAAM;AACJ,EAAA,MAAM,aAAA,EAAe,MAAA,IAAU,KAAA,CAAA;AAC/B,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,EAAA,EAAI,6BAAA;AAAA,sCACxC,YAAA,0BAAgB,OAAA,mBAAQ,CAAC,CAAA,6BAAG,SAAA,UAAS;AAAA,EACvC,CAAA;AAEA,EAAA,MAAM,YAAA,EAAc,aAAA,EAAe,MAAA,EAAQ,aAAA;AAE3C,EAAA,MAAM,aAAA,EAAe,CAAC,QAAA,EAAA,GAAqB;AACzC,IAAA,GAAA,CAAI,QAAA,EAAU,MAAA;AACd,IAAA,GAAA,CAAI,SAAA,IAAa,WAAA,EAAa,MAAA;AAC9B,IAAA,GAAA,CAAI,CAAC,YAAA,EAAc,gBAAA,CAAiB,QAAQ,CAAA;AAC5C,oBAAA,QAAA,0BAAA,CAAW,QAAQ,GAAA;AAAA,EACrB,CAAA;AAEA,EAAA,MAAM,iBAAA,EAAmB;AAAA,IACvB,iBAAA;AAAA,IACA,CAAA,iBAAA,EAAoB,IAAI,CAAA,CAAA;AACC,IAAA;AACb,IAAA;AACC,IAAA;AACb,IAAA;AAGS,EAAA;AAGR,EAAA;AAEoB,IAAA;AACE,IAAA;AAGjB,IAAA;AAAC,MAAA;AAAA,MAAA;AAEM,QAAA;AACA,QAAA;AACS,QAAA;AACJ,QAAA;AACE,QAAA;AAGI,QAAA;AAEf,QAAA;AAAY,UAAA;AACC,UAAA;AAAmD,QAAA;AAAA,MAAA;AAXxD,MAAA;AAYX,IAAA;AAIA,IAAA;AAON,EAAA;AAEJ;AD5C6B;AACA;AACA;AACA","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-AAA6TR5I.cjs","sourcesContent":[null,"import React, { useState } from 'react';\nimport { Tooltip } from '../Tooltip';\nimport { renderIcon } from '../../utils';\nimport type { SegmentedControlProps } from './SegmentedControl.types';\n\n/**\n * SegmentedControl - a compact, single-select toggle group rendered as a pill.\n *\n * Semantics: `role=\"radiogroup\"` on the container, `role=\"radio\"` on each\n * segment. Supports controlled and uncontrolled usage.\n *\n * @example\n * ```tsx\n * // Controlled\n * const [view, setView] = useState('list');\n * <SegmentedControl\n * options={[\n * { value: 'list', icon: List, tooltip: 'List view' },\n * { value: 'grid', icon: LayoutGrid, tooltip: 'Grid view' },\n * { value: 'table', icon: Table2, tooltip: 'Table view' },\n * ]}\n * value={view}\n * onChange={setView}\n * />\n *\n * // With labels\n * <SegmentedControl\n * options={[\n * { value: 'day', label: 'Day' },\n * { value: 'week', label: 'Week' },\n * { value: 'month', label: 'Month' },\n * ]}\n * defaultValue=\"week\"\n * onChange={console.log}\n * />\n * ```\n */\nexport const SegmentedControl: React.FC<SegmentedControlProps> = ({\n options,\n value,\n defaultValue,\n onChange,\n size = 'md',\n color = 'primary',\n disabled = false,\n fullWidth = false,\n className = '',\n}) => {\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = useState<string>(\n defaultValue ?? options[0]?.value ?? '',\n );\n\n const activeValue = isControlled ? value : internalValue;\n\n const handleSelect = (optValue: string) => {\n if (disabled) return;\n if (optValue === activeValue) return; // already selected\n if (!isControlled) setInternalValue(optValue);\n onChange?.(optValue);\n };\n\n const containerClasses = [\n 'eidos-segmented',\n `eidos-segmented--${size}`,\n `eidos-segmented--${color}`,\n disabled && 'eidos-segmented--disabled',\n fullWidth && 'eidos-segmented--full-width',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={containerClasses} role=\"radiogroup\">\n {options.map((opt) => {\n const isActive = activeValue === opt.value;\n const isDisabled = disabled || !!opt.disabled;\n\n const segment = (\n <button\n key={opt.value}\n type=\"button\"\n role=\"radio\"\n aria-checked={isActive}\n disabled={isDisabled}\n className={['eidos-segmented-item', isActive && 'eidos-segmented-item--active']\n .filter(Boolean)\n .join(' ')}\n onClick={() => !isDisabled && handleSelect(opt.value)}\n >\n {opt.icon && renderIcon(opt.icon, 'eidos-segmented-icon')}\n {opt.label && <span className=\"eidos-segmented-label\">{opt.label}</span>}\n </button>\n );\n\n return opt.tooltip ? (\n <Tooltip key={opt.value} message={opt.tooltip}>\n {segment}\n </Tooltip>\n ) : (\n React.cloneElement(segment, { key: opt.value })\n );\n })}\n </div>\n );\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkGEHL4LKKcjs = require('./chunk-GEHL4LKK.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunkZ5U4NJTWcjs = require('./chunk-Z5U4NJTW.cjs');
|
|
@@ -52,9 +52,9 @@ var Button = ({
|
|
|
52
52
|
] }),
|
|
53
53
|
isIconOnly && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "eidos-button--loading-spinner", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.LoaderCircle, { className: "eidos-button--spinner-icon" }) })
|
|
54
54
|
] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
55
|
-
preIcon &&
|
|
56
|
-
isIconOnly && icon ?
|
|
57
|
-
posIcon &&
|
|
55
|
+
preIcon && _chunkGEHL4LKKcjs.renderIcon.call(void 0, preIcon, "eidos-button--pre-icon"),
|
|
56
|
+
isIconOnly && icon ? _chunkGEHL4LKKcjs.renderIcon.call(void 0, icon, "eidos-button--icon") : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "eidos-button--copy", children }),
|
|
57
|
+
posIcon && _chunkGEHL4LKKcjs.renderIcon.call(void 0, posIcon, "eidos-button--pos-icon")
|
|
58
58
|
] }) });
|
|
59
59
|
return tooltip ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ5U4NJTWcjs.Tooltip, { message: tooltip, children: buttonContent }) : buttonContent;
|
|
60
60
|
};
|
|
@@ -66,4 +66,4 @@ var IconButton = (props) => {
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
exports.Button = Button; exports.IconButton = IconButton;
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
69
|
+
//# sourceMappingURL=chunk-APK5OQRV.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-APK5OQRV.cjs","../src/components/Button/Button.component.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACNA,2CAA6B;AAoDjB,+CAAA;AA/CL,IAAM,OAAA,EAAgC,CAAC;AAAA,EAC5C,QAAA,EAAU,QAAA;AAAA,EACV,MAAA,EAAQ,SAAA;AAAA,EACR,KAAA,EAAO,IAAA;AAAA,EACP,SAAA,EAAW,KAAA;AAAA,EACX,QAAA,EAAU,KAAA;AAAA,EACV,YAAA,EAAc,YAAA;AAAA,EACd,OAAA;AAAA,EACA,UAAA,EAAY,EAAA;AAAA,EACZ,OAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAA,GAAM;AACJ,EAAA,MAAM,WAAA,EAAa,CAAC,CAAC,IAAA;AAErB,EAAA,GAAA,CAAI,UAAA,EAAY;AACd,IAAA,GAAA,CAAI,QAAA,EAAU;AACZ,MAAA,MAAM,IAAI,KAAA,CAAM,wCAAwC,CAAA;AAAA,IAC1D;AACA,IAAA,GAAA,CAAI,OAAA,EAAS;AACX,MAAA,MAAM,IAAI,KAAA,CAAM,uCAAuC,CAAA;AAAA,IACzD;AACA,IAAA,GAAA,CAAI,OAAA,EAAS;AACX,MAAA,MAAM,IAAI,KAAA,CAAM,uCAAuC,CAAA;AAAA,IACzD;AAAA,EACF;AAEA,EAAA,MAAM,cAAA,EAAgB;AAAA,IACpB,cAAA;AAAA,IACA,CAAA,cAAA,EAAiB,OAAO,CAAA,CAAA;AACF,IAAA;AACD,IAAA;AACP,IAAA;AACF,IAAA;AACD,IAAA;AACX,IAAA;AAGS,EAAA;AAGT,EAAA;AAIQ,IAAA;AACG,sBAAA;AAGA,sBAAA;AACH,IAAA;AAGA,IAAA;AAMJ,EAAA;AACyB,IAAA;AAGrB,IAAA;AAKqB,IAAA;AAG7B,EAAA;AAGe,EAAA;AACnB;AAagE;AACtD,EAAA;AACV;ADnC6B;AACA;AACA;AACA;AACA","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-APK5OQRV.cjs","sourcesContent":[null,"import React from 'react';\nimport { LoaderCircle } from 'lucide-react';\nimport { Tooltip } from '../Tooltip';\nimport { ButtonProps, IconButtonProps } from './Button.types';\nimport { renderIcon } from '../../utils';\n\nexport const Button: React.FC<ButtonProps> = ({\n variant = 'filled',\n color = 'primary',\n size = 'md',\n disabled = false,\n loading = false,\n loadingText = 'Loading...',\n tooltip,\n className = '',\n preIcon,\n posIcon,\n icon,\n children,\n ...buttonProps\n}) => {\n const isIconOnly = !!icon;\n\n if (isIconOnly) {\n if (children) {\n throw new Error('Icon-only buttons cannot have children');\n }\n if (preIcon) {\n throw new Error('Icon-only buttons cannot have preIcon');\n }\n if (posIcon) {\n throw new Error('Icon-only buttons cannot have posIcon');\n }\n }\n\n const buttonClasses = [\n 'eidos-button',\n `eidos-button--${variant}`,\n `eidos-button--${color}`,\n `eidos-button--${size}`,\n isIconOnly && 'eidos-button--icon-only',\n disabled && 'eidos-button--disabled',\n loading && 'eidos-button--loading',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const buttonContent = (\n <button type=\"button\" {...buttonProps} className={buttonClasses} disabled={disabled || loading}>\n {loading ? (\n <>\n {!isIconOnly && (\n <>\n <span className=\"eidos-button--loading-spinner\">\n <LoaderCircle className=\"eidos-button--spinner-icon\" />\n </span>\n <span className=\"eidos-button--copy\">{loadingText}</span>\n </>\n )}\n {isIconOnly && (\n <span className=\"eidos-button--loading-spinner\">\n <LoaderCircle className=\"eidos-button--spinner-icon\" />\n </span>\n )}\n </>\n ) : (\n <>\n {preIcon && renderIcon(preIcon, 'eidos-button--pre-icon')}\n\n {isIconOnly && icon ? (\n renderIcon(icon, 'eidos-button--icon')\n ) : (\n <span className=\"eidos-button--copy\">{children}</span>\n )}\n\n {posIcon && renderIcon(posIcon, 'eidos-button--pos-icon')}\n </>\n )}\n </button>\n );\n\n return tooltip ? <Tooltip message={tooltip}>{buttonContent}</Tooltip> : buttonContent;\n};\n\n/**\n * IconButton - Convenience wrapper for icon-only buttons\n *\n * @example\n * ```tsx\n * import { IconButton } from 'eidos-ui';\n * import { Plus } from 'lucide-react';\n *\n * <IconButton icon={Plus} tooltip=\"Add item\" />\n * ```\n */\nexport const IconButton: React.FC<IconButtonProps> = (props) => {\n return <Button {...props} />;\n};\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkKJZUYC4Xcjs = require('./chunk-KJZUYC4X.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkAPK5OQRVcjs = require('./chunk-APK5OQRV.cjs');
|
|
7
7
|
|
|
8
8
|
// src/components/Pagination/Pagination.component.tsx
|
|
9
9
|
var _react = require('react');
|
|
@@ -78,7 +78,7 @@ var Pagination = ({
|
|
|
78
78
|
].filter(Boolean).join(" ");
|
|
79
79
|
const nav = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { "aria-label": "Pagination", className: "eidos-pagination-nav", children: [
|
|
80
80
|
showFirstLast && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
81
|
-
|
|
81
|
+
_chunkAPK5OQRVcjs.Button,
|
|
82
82
|
{
|
|
83
83
|
variant: "text",
|
|
84
84
|
size,
|
|
@@ -89,7 +89,7 @@ var Pagination = ({
|
|
|
89
89
|
}
|
|
90
90
|
),
|
|
91
91
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
92
|
-
|
|
92
|
+
_chunkAPK5OQRVcjs.Button,
|
|
93
93
|
{
|
|
94
94
|
variant: "text",
|
|
95
95
|
size,
|
|
@@ -145,7 +145,7 @@ var Pagination = ({
|
|
|
145
145
|
)
|
|
146
146
|
),
|
|
147
147
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
148
|
-
|
|
148
|
+
_chunkAPK5OQRVcjs.Button,
|
|
149
149
|
{
|
|
150
150
|
variant: "text",
|
|
151
151
|
size,
|
|
@@ -156,7 +156,7 @@ var Pagination = ({
|
|
|
156
156
|
}
|
|
157
157
|
),
|
|
158
158
|
showFirstLast && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
159
|
-
|
|
159
|
+
_chunkAPK5OQRVcjs.Button,
|
|
160
160
|
{
|
|
161
161
|
variant: "text",
|
|
162
162
|
size,
|
|
@@ -184,7 +184,7 @@ var Pagination = ({
|
|
|
184
184
|
hasPageSize && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "eidos-pagination-size", children: [
|
|
185
185
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { className: "eidos-pagination-size-label", children: "Show:" }),
|
|
186
186
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
187
|
-
|
|
187
|
+
_chunkKJZUYC4Xcjs.Select,
|
|
188
188
|
{
|
|
189
189
|
value: String(pageSize),
|
|
190
190
|
onChange: (val) => onPageSizeChange(Number(val)),
|
|
@@ -195,7 +195,7 @@ var Pagination = ({
|
|
|
195
195
|
})),
|
|
196
196
|
clearable: false,
|
|
197
197
|
disabled,
|
|
198
|
-
inputProps: { size: "sm", width:
|
|
198
|
+
inputProps: { size: "sm", width: 72 }
|
|
199
199
|
}
|
|
200
200
|
)
|
|
201
201
|
] }),
|
|
@@ -208,4 +208,4 @@ Pagination.displayName = "Pagination";
|
|
|
208
208
|
|
|
209
209
|
|
|
210
210
|
exports.Pagination = Pagination;
|
|
211
|
-
//# sourceMappingURL=chunk-
|
|
211
|
+
//# sourceMappingURL=chunk-AXBYJ2OY.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-ISABZ2VX.cjs","../src/components/Pagination/Pagination.component.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-ISABZ2VX.cjs","sourcesContent":[null,"import React, { useState, useEffect } from 'react';\nimport { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';\nimport { Button } from '../Button';\nimport { Select } from '../Select';\nimport type { PaginationProps } from './Pagination.types';\n\n// ── Ellipsis range helper ─────────────────────────────────────────────────────\n\nconst ELLIPSIS = 'ellipsis' as const;\ntype PageItem = number | typeof ELLIPSIS;\n\nfunction usePaginationRange(page: number, totalPages: number, siblingCount: number): PageItem[] {\n const totalShown = siblingCount * 2 + 5;\n\n if (totalPages <= totalShown) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const leftSibling = Math.max(page - siblingCount, 1);\n const rightSibling = Math.min(page + siblingCount, totalPages);\n\n const showLeftEllipsis = leftSibling > 2;\n const showRightEllipsis = rightSibling < totalPages - 1;\n\n const items: PageItem[] = [1];\n\n if (showLeftEllipsis) {\n items.push(ELLIPSIS);\n } else {\n for (let i = 2; i < leftSibling; i++) items.push(i);\n }\n\n for (let i = leftSibling; i <= rightSibling; i++) {\n if (i !== 1 && i !== totalPages) items.push(i);\n }\n\n if (showRightEllipsis) {\n items.push(ELLIPSIS);\n } else {\n for (let i = rightSibling + 1; i < totalPages; i++) items.push(i);\n }\n\n items.push(totalPages);\n\n return items;\n}\n\n// ── Component ─────────────────────────────────────────────────────────────────\n\nexport const Pagination: React.FC<PaginationProps> = ({\n page,\n totalPages,\n onChange,\n siblingCount = 1,\n showFirstLast = false,\n color = 'primary',\n size = 'sm',\n disabled = false,\n className = '',\n // Table-footer mode\n totalItems,\n pageSize,\n onPageSizeChange,\n pageSizeOptions = [10, 25, 50, 100],\n}) => {\n const items = usePaginationRange(page, totalPages, siblingCount);\n\n // ── Active-page editable input ─────────────────────────────────────────────\n const [inputValue, setInputValue] = useState(String(page));\n useEffect(() => {\n setInputValue(String(page));\n }, [page]);\n\n const commitInput = (raw: string) => {\n const val = parseInt(raw, 10);\n if (!isNaN(val) && val >= 1 && val <= totalPages && val !== page) {\n onChange(val);\n } else {\n setInputValue(String(page)); // revert on invalid or same-page\n }\n };\n\n // ── Layout flags ───────────────────────────────────────────────────────────\n const hasResults = totalItems !== undefined && pageSize !== undefined;\n const hasPageSize = !!onPageSizeChange && pageSize !== undefined;\n const tableMode = hasResults || hasPageSize;\n\n const startItem = hasResults ? (totalItems === 0 ? 0 : (page - 1) * pageSize! + 1) : undefined;\n const endItem = hasResults ? Math.min(page * pageSize!, totalItems!) : undefined;\n\n const rootClasses = [\n 'eidos-pagination',\n `eidos-pagination--${size}`,\n tableMode && 'eidos-pagination--table',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // ── Navigation block ───────────────────────────────────────────────────────\n const nav = (\n <nav aria-label=\"Pagination\" className=\"eidos-pagination-nav\">\n {showFirstLast && (\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronsLeft}\n disabled={page === 1 || disabled}\n onClick={() => onChange(1)}\n aria-label=\"First page\"\n />\n )}\n\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronLeft}\n disabled={page === 1 || disabled}\n onClick={() => onChange(page - 1)}\n aria-label=\"Previous page\"\n />\n\n {items.map((item, i) =>\n item === ELLIPSIS ? (\n <span key={`ellipsis-${i}`} className=\"eidos-pagination-ellipsis\" aria-hidden=\"true\">\n …\n </span>\n ) : item === page ? (\n // Active page - styled as filled chip, editable via keyboard/click\n <input\n key=\"active-page\"\n type=\"text\"\n inputMode=\"numeric\"\n className={[\n 'eidos-pagination-page',\n 'eidos-pagination-page--active',\n `eidos-pagination-page--${color}`,\n ].join(' ')}\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onFocus={(e) => e.target.select()}\n onBlur={() => commitInput(inputValue)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n commitInput(inputValue);\n e.currentTarget.blur();\n } else if (e.key === 'Escape') {\n setInputValue(String(page));\n e.currentTarget.blur();\n }\n }}\n aria-label={`Page ${page} of ${totalPages}, editable`}\n aria-current=\"page\"\n disabled={disabled}\n />\n ) : (\n <button\n key={item}\n type=\"button\"\n className=\"eidos-pagination-page\"\n onClick={() => onChange(item)}\n disabled={disabled}\n aria-label={`Page ${item}`}\n >\n {item}\n </button>\n ),\n )}\n\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronRight}\n disabled={page === totalPages || disabled}\n onClick={() => onChange(page + 1)}\n aria-label=\"Next page\"\n />\n\n {showFirstLast && (\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronsRight}\n disabled={page === totalPages || disabled}\n onClick={() => onChange(totalPages)}\n aria-label=\"Last page\"\n />\n )}\n </nav>\n );\n\n // ── Standalone mode ────────────────────────────────────────────────────────\n if (!tableMode) {\n return <div className={rootClasses}>{nav}</div>;\n }\n\n // ── Table-footer mode ──────────────────────────────────────────────────────\n return (\n <div className={rootClasses}>\n {hasResults && (\n <span className=\"eidos-pagination-info\">\n Showing {startItem}-{endItem} of {totalItems} results\n </span>\n )}\n\n <div className=\"eidos-pagination-controls\">\n {hasPageSize && (\n <div className=\"eidos-pagination-size\">\n <label className=\"eidos-pagination-size-label\">Show:</label>\n <Select\n value={String(pageSize)}\n onChange={(val) => onPageSizeChange(Number(val))}\n options={pageSizeOptions.map((n) => ({\n id: String(n),\n value: String(n),\n label: String(n),\n }))}\n clearable={false}\n disabled={disabled}\n inputProps={{ size: 'sm', width: '3ch' }}\n />\n </div>\n )}\n\n {totalPages > 1 && nav}\n </div>\n </div>\n );\n};\n\nPagination.displayName = 'Pagination';\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-AXBYJ2OY.cjs","../src/components/Pagination/Pagination.component.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-AXBYJ2OY.cjs","sourcesContent":[null,"import React, { useState, useEffect } from 'react';\nimport { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';\nimport { Button } from '../Button';\nimport { Select } from '../Select';\nimport type { PaginationProps } from './Pagination.types';\n\n// ── Ellipsis range helper ─────────────────────────────────────────────────────\n\nconst ELLIPSIS = 'ellipsis' as const;\ntype PageItem = number | typeof ELLIPSIS;\n\nfunction usePaginationRange(page: number, totalPages: number, siblingCount: number): PageItem[] {\n const totalShown = siblingCount * 2 + 5;\n\n if (totalPages <= totalShown) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const leftSibling = Math.max(page - siblingCount, 1);\n const rightSibling = Math.min(page + siblingCount, totalPages);\n\n const showLeftEllipsis = leftSibling > 2;\n const showRightEllipsis = rightSibling < totalPages - 1;\n\n const items: PageItem[] = [1];\n\n if (showLeftEllipsis) {\n items.push(ELLIPSIS);\n } else {\n for (let i = 2; i < leftSibling; i++) items.push(i);\n }\n\n for (let i = leftSibling; i <= rightSibling; i++) {\n if (i !== 1 && i !== totalPages) items.push(i);\n }\n\n if (showRightEllipsis) {\n items.push(ELLIPSIS);\n } else {\n for (let i = rightSibling + 1; i < totalPages; i++) items.push(i);\n }\n\n items.push(totalPages);\n\n return items;\n}\n\n// ── Component ─────────────────────────────────────────────────────────────────\n\nexport const Pagination: React.FC<PaginationProps> = ({\n page,\n totalPages,\n onChange,\n siblingCount = 1,\n showFirstLast = false,\n color = 'primary',\n size = 'sm',\n disabled = false,\n className = '',\n // Table-footer mode\n totalItems,\n pageSize,\n onPageSizeChange,\n pageSizeOptions = [10, 25, 50, 100],\n}) => {\n const items = usePaginationRange(page, totalPages, siblingCount);\n\n // ── Active-page editable input ─────────────────────────────────────────────\n const [inputValue, setInputValue] = useState(String(page));\n useEffect(() => {\n setInputValue(String(page));\n }, [page]);\n\n const commitInput = (raw: string) => {\n const val = parseInt(raw, 10);\n if (!isNaN(val) && val >= 1 && val <= totalPages && val !== page) {\n onChange(val);\n } else {\n setInputValue(String(page)); // revert on invalid or same-page\n }\n };\n\n // ── Layout flags ───────────────────────────────────────────────────────────\n const hasResults = totalItems !== undefined && pageSize !== undefined;\n const hasPageSize = !!onPageSizeChange && pageSize !== undefined;\n const tableMode = hasResults || hasPageSize;\n\n const startItem = hasResults ? (totalItems === 0 ? 0 : (page - 1) * pageSize! + 1) : undefined;\n const endItem = hasResults ? Math.min(page * pageSize!, totalItems!) : undefined;\n\n const rootClasses = [\n 'eidos-pagination',\n `eidos-pagination--${size}`,\n tableMode && 'eidos-pagination--table',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // ── Navigation block ───────────────────────────────────────────────────────\n const nav = (\n <nav aria-label=\"Pagination\" className=\"eidos-pagination-nav\">\n {showFirstLast && (\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronsLeft}\n disabled={page === 1 || disabled}\n onClick={() => onChange(1)}\n aria-label=\"First page\"\n />\n )}\n\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronLeft}\n disabled={page === 1 || disabled}\n onClick={() => onChange(page - 1)}\n aria-label=\"Previous page\"\n />\n\n {items.map((item, i) =>\n item === ELLIPSIS ? (\n <span key={`ellipsis-${i}`} className=\"eidos-pagination-ellipsis\" aria-hidden=\"true\">\n …\n </span>\n ) : item === page ? (\n // Active page - styled as filled chip, editable via keyboard/click\n <input\n key=\"active-page\"\n type=\"text\"\n inputMode=\"numeric\"\n className={[\n 'eidos-pagination-page',\n 'eidos-pagination-page--active',\n `eidos-pagination-page--${color}`,\n ].join(' ')}\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onFocus={(e) => e.target.select()}\n onBlur={() => commitInput(inputValue)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n commitInput(inputValue);\n e.currentTarget.blur();\n } else if (e.key === 'Escape') {\n setInputValue(String(page));\n e.currentTarget.blur();\n }\n }}\n aria-label={`Page ${page} of ${totalPages}, editable`}\n aria-current=\"page\"\n disabled={disabled}\n />\n ) : (\n <button\n key={item}\n type=\"button\"\n className=\"eidos-pagination-page\"\n onClick={() => onChange(item)}\n disabled={disabled}\n aria-label={`Page ${item}`}\n >\n {item}\n </button>\n ),\n )}\n\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronRight}\n disabled={page === totalPages || disabled}\n onClick={() => onChange(page + 1)}\n aria-label=\"Next page\"\n />\n\n {showFirstLast && (\n <Button\n variant=\"text\"\n size={size}\n icon={ChevronsRight}\n disabled={page === totalPages || disabled}\n onClick={() => onChange(totalPages)}\n aria-label=\"Last page\"\n />\n )}\n </nav>\n );\n\n // ── Standalone mode ────────────────────────────────────────────────────────\n if (!tableMode) {\n return <div className={rootClasses}>{nav}</div>;\n }\n\n // ── Table-footer mode ──────────────────────────────────────────────────────\n return (\n <div className={rootClasses}>\n {hasResults && (\n <span className=\"eidos-pagination-info\">\n Showing {startItem}-{endItem} of {totalItems} results\n </span>\n )}\n\n <div className=\"eidos-pagination-controls\">\n {hasPageSize && (\n <div className=\"eidos-pagination-size\">\n <label className=\"eidos-pagination-size-label\">Show:</label>\n <Select\n value={String(pageSize)}\n onChange={(val) => onPageSizeChange(Number(val))}\n options={pageSizeOptions.map((n) => ({\n id: String(n),\n value: String(n),\n label: String(n),\n }))}\n clearable={false}\n disabled={disabled}\n // Sizes the whole field, chevron and padding included - wide\n // enough for a 3-digit page size. `'3ch'` used to work here only\n // because `Input.width` sized the inner <input> and let the\n // chrome overflow it; now that it sizes the field, 3ch left no\n // room for the value at all.\n inputProps={{ size: 'sm', width: 72 }}\n />\n </div>\n )}\n\n {totalPages > 1 && nav}\n </div>\n </div>\n );\n};\n\nPagination.displayName = 'Pagination';\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkAPK5OQRVcjs = require('./chunk-APK5OQRV.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkGEHL4LKKcjs = require('./chunk-GEHL4LKK.cjs');
|
|
7
7
|
|
|
8
8
|
// src/components/Alert/Alert.component.tsx
|
|
9
9
|
var _lucidereact = require('lucide-react');
|
|
@@ -40,7 +40,7 @@ var Alert = ({
|
|
|
40
40
|
const DefaultIcon = DEFAULT_ICONS[variant];
|
|
41
41
|
iconNode = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DefaultIcon, { className: "eidos-alert-icon", "aria-hidden": "true" });
|
|
42
42
|
} else if (isIconType(icon)) {
|
|
43
|
-
iconNode =
|
|
43
|
+
iconNode = _chunkGEHL4LKKcjs.renderIcon.call(void 0, icon, "eidos-alert-icon");
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
const buttonColor = VARIANT_TO_BUTTON_COLOR[variant];
|
|
@@ -50,7 +50,7 @@ var Alert = ({
|
|
|
50
50
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "eidos-alert-title", children: title }),
|
|
51
51
|
children && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-alert-content", children }),
|
|
52
52
|
action && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "eidos-alert-action", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
53
|
-
|
|
53
|
+
_chunkAPK5OQRVcjs.Button,
|
|
54
54
|
{
|
|
55
55
|
variant: action.variant === "filled" ? "filled" : "text",
|
|
56
56
|
size: "sm",
|
|
@@ -76,4 +76,4 @@ var Alert = ({
|
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
exports.Alert = Alert;
|
|
79
|
-
//# sourceMappingURL=chunk-
|
|
79
|
+
//# sourceMappingURL=chunk-B5G5XVFJ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eidos-ui/eidos-ui/dist/chunk-B5G5XVFJ.cjs","../src/components/Alert/Alert.component.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACNA,2CAA6D;AA6D5C,+CAAA;AAhDjB,IAAM,cAAA,EAA8E;AAAA,EAClF,IAAA,EAAM,iBAAA;AAAA,EACN,OAAA,EAAS,wBAAA;AAAA,EACT,OAAA,EAAS,0BAAA;AAAA,EACT,MAAA,EAAQ;AACV,CAAA;AAMA,IAAM,wBAAA,EAA6E;AAAA,EACjF,IAAA,EAAM,SAAA;AAAA,EACN,OAAA,EAAS,SAAA;AAAA,EACT,OAAA,EAAS,SAAA;AAAA,EACT,MAAA,EAAQ;AACV,CAAA;AAMA,SAAS,UAAA,CAAW,KAAA,EAA8C;AAChE,EAAA,OAAO,OAAO,MAAA,IAAU,SAAA;AAC1B;AAMO,IAAM,MAAA,EAA8B,CAAC;AAAA,EAC1C,QAAA,EAAU,MAAA;AAAA,EACV,KAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA,EAAY;AACd,CAAA,EAAA,GAAM;AACJ,EAAA,MAAM,QAAA,EAAU,CAAC,aAAA,EAAe,CAAA,aAAA,EAAgB,OAAO,CAAA,CAAA;AAG7B,EAAA;AACM,EAAA;AAElB,EAAA;AAC6B,IAAA;AACE,MAAA;AACjB,MAAA;AACG,IAAA;AACmB,MAAA;AAChD,IAAA;AACF,EAAA;AAEmD,EAAA;AAGjC,EAAA;AACe,IAAA;AAEd,oBAAA;AACU,MAAA;AACK,MAAA;AAEX,MAAA;AACZ,QAAA;AAAA,QAAA;AACwC,UAAA;AAClC,UAAA;AACE,UAAA;AACS,UAAA;AAER,UAAA;AAAA,QAAA;AAEZ,MAAA;AAEJ,IAAA;AAGE,IAAA;AAAC,MAAA;AAAA,MAAA;AACW,QAAA;AACD,QAAA;AACJ,QAAA;AACM,QAAA;AAEI,QAAA;AAAO,MAAA;AACxB,IAAA;AAEJ,EAAA;AAEJ;AD7B0D;AACA;AACA;AACA","file":"/home/runner/work/eidos-ui/eidos-ui/dist/chunk-B5G5XVFJ.cjs","sourcesContent":[null,"import React from 'react';\nimport { Info, CircleCheck, TriangleAlert, CircleX, X } from 'lucide-react';\nimport type { AlertProps } from './Alert.types';\nimport type { IconType } from '../../utils';\nimport { renderIcon } from '../../utils';\nimport { Button } from '../Button/Button.component';\nimport './Alert.scss';\n\n// ============================================================================\n// Constants\n// ============================================================================\n\ntype Variant = NonNullable<AlertProps['variant']>;\n\nconst DEFAULT_ICONS: Record<Variant, React.ComponentType<{ className?: string }>> = {\n info: Info,\n success: CircleCheck,\n warning: TriangleAlert,\n danger: CircleX,\n};\n\n/**\n * Button only ships primary | secondary | success | danger.\n * Warning maps to primary (closest neutral-positive colour available).\n */\nconst VARIANT_TO_BUTTON_COLOR: Record<Variant, 'primary' | 'success' | 'danger'> = {\n info: 'primary',\n success: 'success',\n warning: 'primary',\n danger: 'danger',\n};\n\n// ============================================================================\n// Type guard\n// ============================================================================\n\nfunction isIconType(value: boolean | IconType): value is IconType {\n return typeof value !== 'boolean';\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const Alert: React.FC<AlertProps> = ({\n variant = 'info',\n title,\n children,\n icon,\n onDismiss,\n action,\n className = '',\n}) => {\n const classes = ['eidos-alert', `eidos-alert--${variant}`, className].filter(Boolean).join(' ');\n\n // Determine icon rendering\n const showIcon = icon !== false;\n let iconNode: React.ReactNode = null;\n\n if (showIcon) {\n if (icon === true || icon === undefined) {\n const DefaultIcon = DEFAULT_ICONS[variant];\n iconNode = <DefaultIcon className=\"eidos-alert-icon\" aria-hidden=\"true\" />;\n } else if (isIconType(icon)) {\n iconNode = renderIcon(icon, 'eidos-alert-icon');\n }\n }\n\n const buttonColor = VARIANT_TO_BUTTON_COLOR[variant];\n\n return (\n <div className={classes} role=\"alert\">\n {showIcon && <span className=\"eidos-alert-icon-wrapper\">{iconNode}</span>}\n\n <div className=\"eidos-alert-body\">\n {title && <p className=\"eidos-alert-title\">{title}</p>}\n {children && <div className=\"eidos-alert-content\">{children}</div>}\n {action && (\n <div className=\"eidos-alert-action\">\n <Button\n variant={action.variant === 'filled' ? 'filled' : 'text'}\n size=\"sm\"\n color={buttonColor}\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n </div>\n )}\n </div>\n\n {onDismiss && (\n <button\n className=\"eidos-alert-dismiss\"\n onClick={onDismiss}\n type=\"button\"\n aria-label=\"Dismiss\"\n >\n <X aria-hidden=\"true\" />\n </button>\n )}\n </div>\n );\n};\n"]}
|