blixify-ui-web 1.2.4 → 1.2.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/data/utils.tsx"],"names":[],"mappings":";;;;;;AAAA,wDAAiC;AACjC,mDAA6B;AAK7B,IAAM,YAAY,GAChB,kFAAkF,CAAC;AAC9E,IAAM,WAAW,GAAG,UAAC,CAAS,EAAE,KAAU;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AARW,QAAA,WAAW,eAQtB;AAEK,IAAM,KAAK,GAAG,UAAC,KAAK;IACzB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,IAAK,OAAA,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,EAA1B,CAA0B,CAAC,CAAC;AAC9D,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB;AAEK,IAAM,iBAAiB,GAAG,UAAC,IAAY;IAC5C,IAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClD,IAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAEK,IAAM,eAAe,GAAG,UAAC,IAAY;IAC1C,OAAO,IAAI;SACR,KAAK,CAAC,WAAW,CAAC;SAClB,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAA5C,CAA4C,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AALW,QAAA,eAAe,mBAK1B;AAEK,IAAM,aAAa,GAAG,UAAC,MAAc;IAC1C,IAAM,QAAQ,GAAG,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAHW,QAAA,aAAa,iBAGxB;AAEF,uFAAuF;AACvF,yBAAyB;AACzB,uFAAuF;AAChF,IAAM,sBAAsB,GAAG,UACpC,eAIC,EACD,aAAuD;;IAEvD,IAAM,WAAW,GAAgB;QAC/B,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,aAAa,EAAE,eAAe,CAAC,aAAa;QAC5C,cAAc,EAAE,eAAe,CAAC,cAAc;QAC9C,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE;QACd,mBAAmB,EAAE,EAAE;KACxB,CAAC;IAEF,IAAI,aAAa,EAAE,CAAC;QAClB,IAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;QACtD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;gBACnC,WAAW,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;YACrC,CAAC;iBAAM,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBACzC,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;YACxC,CAAC;;gBAAM,WAAW,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,eAAsB,CAAC;QACtE,CAAC;QACD,IAAI,aAAa,CAAC,WAAW;YAC3B,WAAW,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC;QACxD,IAAI,aAAa,CAAC,aAAa;YAC7B,WAAW,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC;QAC7D,IAAI,aAAa,CAAC,mBAAmB;YACnC,WAAW,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;QACpE,IAAI,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,SAAS,KAAK,KAAK;YAChE,WAAW,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC;QAExD,WAAW,CAAC,YAAY,CAAC,GAAG,MAAA,aAAa,CAAC,gBAAgB,mCAAI,EAAE,CAAC;QACjE,WAAW,CAAC,aAAa,CAAC,GAAG,MAAA,aAAa,CAAC,YAAY,mCAAI,EAAE,CAAC;QAC9D,WAAW,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;QACvE,WAAW,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC;IACzD,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AA7CW,QAAA,sBAAsB,0BA6CjC;AAEK,IAAM,yBAAyB,GAAG,UAAC,aAAqB;;IAC7D,IAAM,MAAM,GAAoB;QAC9B;YACE,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,mCAAI,KAAK;YACtC,QAAQ,EAAE,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,mCAAI,KAAK;SACzC;KACF,CAAC;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,MAAA,aAAa,CAAC,SAAS,0CAAE,GAAG,CAAC,UAAC,aAAa;YACzC,IAAI,UAAU,GAAG;gBACf,EAAE,EAAE,aAAa,CAAC,EAAE;gBACpB,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,YAAY,EAAE,aAAa,CAAC,YAAY;gBACxC,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,YAAY,EAAE,aAAa,CAAC,YAAY;gBACxC,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,YAAY,EAAE,aAAa,CAAC,YAAY;gBACxC,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,aAAa,EAAE,aAAa,CAAC,aAAa;gBAC1C,UAAU,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU;aACtC,CAAC;YAEF,QAAQ,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC3B,KAAK,QAAQ;oBACX,UAAU,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC;oBACtD,UAAU,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC;oBACpD,UAAU,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,iBAAiB,CAAC;oBAClE,MAAM;gBACR,KAAK,QAAQ;oBACX,UAAU,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC;oBAClD,UAAU,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC;oBAClD,MAAM;gBACR,KAAK,SAAS;oBACZ,UAAU,CAAC,uBAAuB,CAAC;wBACjC,aAAa,CAAC,qBAAqB,CAAC;oBACtC,MAAM;gBACR,KAAK,SAAS,CAAC;gBACf,KAAK,aAAa;oBAChB,UAAU,CAAC,kBAAkB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,gBAAgB,CAAC;oBACjE,MAAM;gBACR,KAAK,MAAM;oBACT,UAAU,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC;oBACxD,UAAU,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC;oBACxD,UAAU,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC;oBAC9C,UAAU,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC;oBAC9C,MAAM;gBACR,KAAK,oBAAoB;oBACvB,UAAU,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC;oBACxD,UAAU,CAAC,uBAAuB,CAAC;wBACjC,aAAa,CAAC,qBAAqB,CAAC;oBACtC,UAAU,CAAC,2BAA2B,CAAC;wBACrC,aAAa,CAAC,yBAAyB,CAAC;oBAC1C,UAAU,CAAC,6BAA6B,CAAC;wBACvC,aAAa,CAAC,2BAA2B,CAAC;oBAC5C,UAAU,CAAC,sBAAsB,CAAC;wBAChC,aAAa,CAAC,oBAAoB,CAAC;oBACrC,UAAU,CAAC,2BAA2B,CAAC;wBACrC,aAAa,CAAC,yBAAyB,CAAC;oBAC1C,UAAU,CAAC,kCAAkC,CAAC;wBAC5C,aAAa,CAAC,gCAAgC,CAAC;oBACjD,MAAM;gBACR,KAAK,OAAO,CAAC;gBACb,KAAK,MAAM,CAAC;gBACZ,KAAK,eAAe,CAAC;gBACrB,KAAK,cAAc,CAAC;gBACpB,KAAK,WAAW;oBACd,UAAU,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC;oBAC1D,UAAU,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;oBACtE,UAAU,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC;oBAC5D,UAAU,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC;oBAC1D,UAAU,CAAC,iBAAiB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,CAAC;oBAC/D,UAAU,CAAC,mBAAmB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,iBAAiB,CAAC;oBACnE,UAAU,CAAC,aAAa,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC;oBACvD,UAAU,CAAC,8BAA8B,CAAC;wBACxC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,4BAA4B,CAAC;oBAC9C,UAAU,CAAC,qBAAqB,CAAC;wBAC/B,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,mBAAmB,CAAC;oBACrC,UAAU,CAAC,iBAAiB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,CAAC;oBAC/D,UAAU,CAAC,qBAAqB,CAAC;wBAC/B,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,mBAAmB,CAAC;oBACrC,UAAU,CAAC,kBAAkB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,gBAAgB,CAAC;oBACjE,UAAU,CAAC,cAAc,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAC;oBACzD,UAAU,CAAC,iBAAiB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,CAAC;oBAC/D,UAAU,CAAC,mBAAmB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,iBAAiB,CAAC;oBACnE,UAAU,CAAC,iBAAiB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,CAAC;oBAC/D,UAAU,CAAC,gBAAgB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc,CAAC;oBAC7D,UAAU,CAAC,oBAAoB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,CAAC;oBACrE,UAAU,CAAC,kBAAkB,CAAC,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,gBAAgB,CAAC;oBACjE,MAAM;gBACR,KAAK,MAAM,CAAC;gBACZ,KAAK,cAAc;oBACjB,UAAU,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC;oBAC1D,UAAU,CAAC,oBAAoB,CAAC,GAAG,aAAa,CAAC,kBAAkB,CAAC;oBACpE,UAAU,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC;oBAChD,UAAU,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;oBACtE,UAAU,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC;oBACxD,UAAU,CAAC,oBAAoB,CAAC,GAAG,aAAa,CAAC,kBAAkB,CAAC;oBACpE,UAAU,CAAC,wBAAwB,CAAC;wBAClC,aAAa,CAAC,sBAAsB,CAAC;oBACvC,UAAU,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,iBAAiB,CAAC;oBAClE,UAAU,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;oBACtE,MAAM;gBACR,KAAK,eAAe,CAAC;gBACrB,KAAK,WAAW;oBACd,UAAU,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC;oBAChE,UAAU,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC;oBAC5D,UAAU,CAAC,yBAAyB,CAAC;wBACnC,aAAa,CAAC,uBAAuB,CAAC;oBACxC,UAAU,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC;oBAC5D,UAAU,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC;oBAC1D,UAAU,CAAC,wBAAwB,CAAC;wBAClC,aAAa,CAAC,sBAAsB,CAAC;oBACvC,UAAU,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,iBAAiB,CAAC;oBAClE,UAAU,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;oBACtE,UAAU,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;oBACtE,MAAM;gBACR,KAAK,SAAS;oBACZ,UAAU,CAAC,wBAAwB,CAAC;wBAClC,aAAa,CAAC,sBAAsB,CAAC;oBACvC,UAAU,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC;oBAC5D,UAAU,CAAC,oBAAoB,CAAC,GAAG,aAAa,CAAC,kBAAkB,CAAC;oBACpE,MAAM;gBACR,KAAK,YAAY,CAAC;gBAClB,KAAK,QAAQ;oBACX,UAAU,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;oBACtE,UAAU,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC;oBACxD,UAAU,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC;oBAC1D,UAAU,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;oBACtE,UAAU,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC;oBAChE,UAAU,CAAC,oBAAoB,CAAC,GAAG,aAAa,CAAC,kBAAkB,CAAC;oBACpE,UAAU,CAAC,oBAAoB,CAAC,GAAG,aAAa,CAAC,kBAAkB,CAAC;oBACpE,UAAU,CAAC,iBAAiB,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC;oBAC9D,UAAU,CAAC,yBAAyB,CAAC;wBACnC,aAAa,CAAC,uBAAuB,CAAC;oBACxC,UAAU,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC;oBACpD,MAAM;gBACR,KAAK,MAAM;oBACT,UAAU,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC;oBAC5D,MAAM;gBACR,KAAK,QAAQ;oBACX,UAAU,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC;oBACtD,UAAU,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC;oBACpD,UAAU,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,iBAAiB,CAAC;oBAClE,UAAU,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;oBACtE,MAAM;gBACR,KAAK,UAAU;oBACb,UAAU,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,iBAAiB,CAAC;oBAClE,UAAU,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,iBAAiB,CAAC;oBAClE,UAAU,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC;oBAC5D,UAAU,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC;oBACtD,UAAU,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,mBAAmB,CAAC;oBACtE,MAAM;YACV,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA5KW,QAAA,yBAAyB,6BA4KpC;AAEK,IAAM,mBAAmB,GAAG,UAAC,IAAQ,EAAE,SAAiB;IAC7D,IAAI,CAAC;QACH,mBAAmB;QACnB,IAAM,UAAU,GAAG,IAAI,CAAC;QACxB,UAAU,CAAC,cAAc,CAAC,GAAG,IAAA,eAAK,GAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QACpD,IAAM,SAAS,GAAG,mBAAQ,CAAC,GAAG,CAAC,OAAO,CACpC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAC1B,SAAS,CACV,CAAC,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,SAAS;SAChB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAfW,QAAA,mBAAmB,uBAe9B;AAEF,uFAAuF;AACvF,iCAAiC;AACjC,uFAAuF;AAC1E,QAAA,0BAA0B,GAAG;IACxC,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,eAAe;IACf,UAAU;IACV,WAAW;IACX,YAAY;IACZ,QAAQ;CACT,CAAC;AAEW,QAAA,qBAAqB,GAAG;IACnC,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,MAAM;IACN,cAAc;IACd,MAAM;IACN,YAAY;IACZ,QAAQ;CACT,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,WAAW;IACX,eAAe;IACf,MAAM;IACN,cAAc;CACf,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/data/utils.tsx"],"names":[],"mappings":"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"}
@@ -38,6 +38,9 @@ interface Props {
38
38
  flexMathQueries?: FlexMathQuery[];
39
39
  maxRows?: number;
40
40
  defaultTitleTemplate?: string;
41
+ mobileView?: boolean;
42
+ categoryColumnLabel?: string;
43
+ optional?: boolean;
41
44
  onChangeData?: (data: FlexTableItem[]) => void;
42
45
  onAddColumn?: (column: FlexTableColumn) => void;
43
46
  onRemoveColumn?: (columnKey: string) => void;
@@ -49,10 +52,13 @@ interface State {
49
52
  newColumnType: "text" | "number" | "textarea";
50
53
  error: string;
51
54
  invalidCells: Set<string>;
55
+ mobileSheetVisible: boolean;
56
+ mobileEditingItemId: string | null;
52
57
  }
53
58
  export declare class FlexTable extends Component<Props, State> {
54
59
  initializeColumns(): FlexTableColumn[];
55
60
  state: State;
61
+ componentDidUpdate(prevProps: Props): void;
56
62
  handleItemChange: (itemId: string, field: string, value: any) => void;
57
63
  handleAddNewItem: (category: string | null) => void;
58
64
  handleRemoveItem: (itemId: string) => void;
@@ -79,6 +85,11 @@ export declare class FlexTable extends Component<Props, State> {
79
85
  renderCustomCell: (column: FlexTableColumn, value: any, row: any) => React.JSX.Element;
80
86
  renderActionCell: (row: any) => React.JSX.Element;
81
87
  renderAddColumnModal: () => React.JSX.Element;
88
+ getMobilePreviewColumns: () => FlexTableColumn[];
89
+ getMobileItemSubtitle: (item: FlexTableItem) => string;
90
+ renderMobileSummaryCard: () => React.JSX.Element;
91
+ renderMobileItemCard: (item: FlexTableItem) => React.JSX.Element;
92
+ renderMobileSheet: () => React.JSX.Element;
82
93
  render(): React.JSX.Element;
83
94
  }
84
95
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/display/flexTable/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/display/flexTable/index.tsx"],"names":[],"mappings":"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"}
@@ -126,6 +126,7 @@ var textInput_1 = require("../../input/textInput");
126
126
  var text_1 = require("../../structure/text");
127
127
  var modal_1 = require("../modal");
128
128
  var uploadCell_1 = require("./uploadCell");
129
+ var newMobileItemCard_1 = require("./newMobileItemCard");
129
130
  var utils_1 = require("./utils");
130
131
  var minColumnWidth = "min-w-[120px]";
131
132
  var FlexTable = /** @class */ (function (_super) {
@@ -139,6 +140,8 @@ var FlexTable = /** @class */ (function (_super) {
139
140
  newColumnType: "text",
140
141
  error: "",
141
142
  invalidCells: new Set(),
143
+ mobileSheetVisible: false,
144
+ mobileEditingItemId: null,
142
145
  };
143
146
  _this.handleItemChange = function (itemId, field, value) {
144
147
  var _a, _b, _c;
@@ -249,8 +252,11 @@ var FlexTable = /** @class */ (function (_super) {
249
252
  testCond = true;
250
253
  error = "";
251
254
  if (!(!this.props.data || this.props.data.length === 0)) return [3 /*break*/, 1];
252
- testCond = false;
253
- error = "Please add at least one item to the table";
255
+ // INFO: skip the "at least one row" requirement when optional={true}
256
+ if (!this.props.optional) {
257
+ testCond = false;
258
+ error = "Please add at least one item to the table";
259
+ }
254
260
  return [3 /*break*/, 4];
255
261
  case 1:
256
262
  if (!(this.props.maxRows !== undefined &&
@@ -751,6 +757,241 @@ var FlexTable = /** @class */ (function (_super) {
751
757
  } }),
752
758
  react_1.default.createElement(button_1.Button, { text: "Add Column", type: "normal", size: "small", onClick: _this.handleAddColumn })))); } }));
753
759
  };
760
+ // INFO: first 2 non-image columns to show as subtitle in summary card
761
+ _this.getMobilePreviewColumns = function () {
762
+ return _this.state.columns
763
+ .filter(function (c) {
764
+ return c.key !== "category" &&
765
+ c.type !== "image" &&
766
+ c.type !== "multipleImage";
767
+ })
768
+ .slice(0, 2);
769
+ };
770
+ // INFO: one-line subtitle for the summary card — e.g. "09:00 · 11:30"
771
+ _this.getMobileItemSubtitle = function (item) {
772
+ return _this.getMobilePreviewColumns()
773
+ .map(function (col) {
774
+ var val = item[col.key];
775
+ if (val === null || val === undefined || val === "")
776
+ return null;
777
+ if (col.type === "timePicker")
778
+ return (0, dayjs_1.default)(val).format("HH:mm");
779
+ return String(val);
780
+ })
781
+ .filter(Boolean)
782
+ .join(" · ");
783
+ };
784
+ // INFO: compact summary card shown inside the form on mobile
785
+ _this.renderMobileSummaryCard = function () {
786
+ var data = _this.props.data || [];
787
+ var atLimit = _this.props.maxRows !== undefined && data.length >= _this.props.maxRows;
788
+ var labelColor = _this.props.darkMode ? "text-white" : "text-gray-700";
789
+ var cardBg = _this.props.darkMode ? "bg-gray-800" : "bg-white";
790
+ var headerBg = _this.props.darkMode ? "bg-gray-700" : "bg-gray-50";
791
+ var borderColor = _this.props.darkMode
792
+ ? "border-gray-600"
793
+ : "border-gray-200";
794
+ return (react_1.default.createElement("div", { className: "md:hidden" },
795
+ _this.props.label && (react_1.default.createElement("div", { className: "flex items-center mb-2 gap-2" },
796
+ react_1.default.createElement("label", { className: "block text-sm font-medium ".concat(labelColor) },
797
+ _this.props.label,
798
+ " ",
799
+ _this.props.labelExtra),
800
+ _this.props.infoElement &&
801
+ react_1.default.isValidElement(_this.props.infoElement) && (react_1.default.createElement(infoWindow_1.InfoWindow, { type: "bottom end", icon: react_1.default.createElement(solid_1.QuestionMarkCircleIcon, { className: "w-4 h-4 text-gray-400" }), content: _this.props.infoElement })))),
802
+ react_1.default.createElement("div", { className: "border ".concat(borderColor, " rounded-xl overflow-hidden ").concat(cardBg) },
803
+ react_1.default.createElement("div", { className: "flex items-center justify-between px-3 py-2 ".concat(headerBg, " border-b ").concat(borderColor) },
804
+ react_1.default.createElement("span", { className: "text-xs font-medium ".concat(_this.props.darkMode ? "text-gray-200" : "text-gray-700") }, _this.props.label || "Items"),
805
+ react_1.default.createElement("span", { className: "text-xs text-gray-400" },
806
+ data.length,
807
+ " ",
808
+ data.length === 1 ? "row" : "rows")),
809
+ data.length === 0 && !_this.props.hideEmptyState && (react_1.default.createElement("div", { className: "flex items-center justify-between px-3 py-3" },
810
+ react_1.default.createElement("span", { className: "text-sm text-gray-400" }, "No entries yet."),
811
+ !_this.props.disabled && (react_1.default.createElement("button", { type: "button", className: "flex items-center gap-1 px-3 py-1.5 bg-green-600 text-white rounded-lg text-xs font-medium", onClick: function () {
812
+ return _this.setState({
813
+ mobileSheetVisible: true,
814
+ mobileEditingItemId: null,
815
+ });
816
+ } },
817
+ react_1.default.createElement(outline_1.PlusIcon, { className: "w-3 h-3" }),
818
+ "Add item")))),
819
+ data.map(function (item, idx) { return (react_1.default.createElement("div", { key: item.id, className: "flex items-center justify-between px-3 py-2.5 ".concat(idx < data.length - 1 ? "border-b ".concat(borderColor) : "") },
820
+ react_1.default.createElement("div", { className: "flex flex-col gap-0.5 min-w-0 flex-1 pr-2" },
821
+ react_1.default.createElement("span", { className: "text-sm font-medium truncate ".concat(_this.props.darkMode ? "text-white" : "text-gray-900") }, item.title || "Item ".concat(idx + 1)),
822
+ react_1.default.createElement("span", { className: "text-xs text-gray-400 truncate" }, _this.getMobileItemSubtitle(item) || "—")),
823
+ react_1.default.createElement("div", { className: "flex items-center gap-1.5 flex-shrink-0" },
824
+ react_1.default.createElement("button", { type: "button", className: "px-2.5 py-1 rounded-md text-xs font-medium ".concat(_this.props.darkMode
825
+ ? "bg-gray-600 text-white"
826
+ : "bg-gray-900 text-white"), onClick: function () {
827
+ return _this.setState({
828
+ mobileSheetVisible: true,
829
+ mobileEditingItemId: item.id,
830
+ });
831
+ } }, _this.props.disabled ? "View" : "Edit"),
832
+ !_this.props.disabled && (react_1.default.createElement("button", { type: "button", className: "w-7 h-7 flex items-center justify-center bg-red-50 border border-red-200 rounded-md", onClick: function () { return _this.handleRemoveItem(item.id); } },
833
+ react_1.default.createElement(outline_1.TrashIcon, { className: "w-3.5 h-3.5 text-red-500" })))))); }),
834
+ data.length > 0 && !_this.props.disabled && !atLimit && (react_1.default.createElement("div", { className: "border-t ".concat(borderColor) },
835
+ react_1.default.createElement("button", { type: "button", className: "flex items-center gap-1.5 w-full px-3 py-2 text-xs font-medium text-green-600", onClick: function () {
836
+ return _this.setState({
837
+ mobileSheetVisible: true,
838
+ mobileEditingItemId: null,
839
+ });
840
+ } },
841
+ react_1.default.createElement(outline_1.PlusIcon, { className: "w-3.5 h-3.5" }),
842
+ "Add item"))),
843
+ atLimit && !_this.props.disabled && (react_1.default.createElement("div", { className: "px-3 py-2 border-t ".concat(borderColor) },
844
+ react_1.default.createElement("span", { className: "text-xs text-gray-400" },
845
+ "Max ",
846
+ _this.props.maxRows,
847
+ " ",
848
+ _this.props.maxRows === 1 ? "row" : "rows",
849
+ " reached"))),
850
+ _this.state.error && (react_1.default.createElement("div", { className: "px-3 py-2 bg-red-50 border-t border-red-200" },
851
+ react_1.default.createElement("span", { className: "text-xs text-red-500" }, _this.state.error))))));
852
+ };
853
+ // INFO: renders one item as a flat field list inside the modal — no card border
854
+ // so it doesn't look like a modal-inside-modal. Matches the mobile input row style.
855
+ // NOTE: hardcodes light-theme classes intentionally — the Modal component always
856
+ // renders with a white background regardless of darkMode, so dark-mode overrides
857
+ // inside the modal content would look inconsistent.
858
+ _this.renderMobileItemCard = function (item) {
859
+ var isDisabled = _this.props.disabled;
860
+ return (react_1.default.createElement("div", { key: item.id },
861
+ react_1.default.createElement("div", { className: "flex items-center justify-between pb-2 mb-1" },
862
+ react_1.default.createElement("span", { className: "text-sm font-semibold text-gray-900" }, item.title || "Item"),
863
+ !isDisabled && (react_1.default.createElement("button", { type: "button", className: "w-7 h-7 flex items-center justify-center rounded-md text-red-500 hover:bg-red-50", onClick: function () { return _this.handleRemoveItem(item.id); } },
864
+ react_1.default.createElement(outline_1.TrashIcon, { className: "w-4 h-4" })))),
865
+ react_1.default.createElement("div", null,
866
+ react_1.default.createElement("div", { className: "flex items-center justify-between py-2 border-b border-gray-200" },
867
+ react_1.default.createElement("span", { className: "text-sm font-medium text-gray-700 flex-shrink-0 mr-3" }, "Title"),
868
+ isDisabled ? (react_1.default.createElement("span", { className: "text-sm text-gray-900 text-right" }, item.title || "—")) : (react_1.default.createElement("input", { type: "text", className: "flex-1 text-sm text-right bg-transparent border-none outline-none text-gray-900 placeholder-gray-300", value: item.title || "", placeholder: "Enter title...", onChange: function (e) {
869
+ return _this.handleItemChange(item.id, "title", e.target.value);
870
+ } }))),
871
+ _this.state.columns
872
+ .filter(function (col) { return col.key !== "category"; })
873
+ .map(function (col) {
874
+ var _a;
875
+ var value = item[col.key];
876
+ var isInvalid = _this.state.invalidCells.has("".concat(item.id, ":").concat(col.key));
877
+ var editable = col.editable && !isDisabled;
878
+ // INFO: timePicker and image/upload use mobileView on their own
879
+ // components — they render full-width below the label row
880
+ var isFullWidth = col.type === "timePicker" ||
881
+ col.type === "image" ||
882
+ col.type === "multipleImage";
883
+ return (react_1.default.createElement("div", { key: col.key, className: "border-b border-gray-200 ".concat(isFullWidth
884
+ ? "py-2"
885
+ : "flex items-center justify-between py-2") },
886
+ react_1.default.createElement("span", { className: "text-sm font-medium text-gray-700 ".concat(isFullWidth ? "block mb-0" : "flex-shrink-0 mr-3") }, col.title),
887
+ col.type === "timePicker" && (react_1.default.createElement(datePicker_1.InputDatePicker, { id: "mobile-".concat(item.id, "-").concat(col.key), value: value ? new Date(value) : undefined, showTime: true, hideDate: true, optional: true, mobileView: true, disabled: !editable, onChange: function (_id, date) {
888
+ return _this.handleItemChange(item.id, col.key, date ? date.toISOString() : null);
889
+ } })),
890
+ (col.type === "image" || col.type === "multipleImage") && (react_1.default.createElement(uploadCell_1.FlexTableUploadCell, { id: "mobile-".concat(item.id, "-").concat(col.key), value: value, disabled: !editable, onChange: function (updated) {
891
+ return _this.handleItemChange(item.id, col.key, updated);
892
+ } })),
893
+ (!editable || col.type === "math") &&
894
+ col.type !== "timePicker" &&
895
+ col.type !== "image" &&
896
+ col.type !== "multipleImage" && (react_1.default.createElement("span", { className: "text-sm text-gray-900 text-right flex-1" }, col.type === "math"
897
+ ? value || "0.00"
898
+ : value !== undefined &&
899
+ value !== null &&
900
+ value !== ""
901
+ ? String(value)
902
+ : col.type === "number"
903
+ ? "0"
904
+ : "—")),
905
+ editable && col.type === "number" && (react_1.default.createElement("input", { type: "number", className: "flex-1 text-sm text-right bg-transparent border-none outline-none ".concat(isInvalid ? "text-red-500" : "text-gray-900"), value: value !== null && value !== void 0 ? value : 0, onChange: function (e) {
906
+ return _this.handleItemChange(item.id, col.key, parseFloat(e.target.value) || 0);
907
+ } })),
908
+ editable && col.type === "list" && (react_1.default.createElement("select", { className: "flex-1 text-sm text-right bg-transparent border-none outline-none ".concat(isInvalid ? "text-red-500" : "text-gray-900"), value: value || "", onChange: function (e) {
909
+ return _this.handleItemChange(item.id, col.key, e.target.value);
910
+ } },
911
+ react_1.default.createElement("option", { value: "" }, "Select..."), (_a = col.listSelection) === null || _a === void 0 ? void 0 :
912
+ _a.map(function (opt, i) {
913
+ var _a;
914
+ return (react_1.default.createElement("option", { key: opt, value: opt }, ((_a = col.listSelectionLabel) === null || _a === void 0 ? void 0 : _a[i]) || opt));
915
+ }))),
916
+ editable && col.type === "textarea" && (react_1.default.createElement("textarea", { className: "flex-1 text-sm text-right bg-transparent border-none outline-none resize-none ".concat(isInvalid ? "text-red-500" : "text-gray-900"), rows: 2, value: value || "", placeholder: "Enter text...", onChange: function (e) {
917
+ return _this.handleItemChange(item.id, col.key, e.target.value);
918
+ } })),
919
+ editable &&
920
+ col.type !== "number" &&
921
+ col.type !== "list" &&
922
+ col.type !== "textarea" &&
923
+ col.type !== "timePicker" &&
924
+ col.type !== "image" &&
925
+ col.type !== "multipleImage" &&
926
+ col.type !== "math" && (react_1.default.createElement("input", { type: "text", className: "flex-1 text-sm text-right bg-transparent border-none outline-none ".concat(isInvalid ? "text-red-500" : "text-gray-900"), value: value || "", placeholder: "Enter text...", onChange: function (e) {
927
+ return _this.handleItemChange(item.id, col.key, e.target.value);
928
+ } }))));
929
+ }))));
930
+ };
931
+ // INFO: bottom sheet — slides up from bottom on mobile
932
+ _this.renderMobileSheet = function () {
933
+ var _a;
934
+ var data = _this.props.data || [];
935
+ var isAdding = _this.state.mobileEditingItemId === null;
936
+ var atLimit = _this.props.maxRows !== undefined && data.length >= _this.props.maxRows;
937
+ // INFO: when hideCategory is true, treat categories as empty so the selector
938
+ // and category pills are suppressed in the mobile sheet
939
+ var categories = _this.props.hideCategory
940
+ ? []
941
+ : ((_a = _this.props.categoryList) === null || _a === void 0 ? void 0 : _a.map(function (c) { return c.title; })) ||
942
+ Array.from(new Set(data.map(function (d) { return d.category; }).filter(Boolean)));
943
+ var sheetTitle = _this.props.disabled
944
+ ? _this.props.label || "Items"
945
+ : isAdding
946
+ ? "Add item \u2014 ".concat(_this.props.label || "Items")
947
+ : "Edit item \u2014 ".concat(_this.props.label || "Items");
948
+ var itemsToShow = _this.state.mobileEditingItemId
949
+ ? data.filter(function (d) { return d.id === _this.state.mobileEditingItemId; })
950
+ : data;
951
+ var sheetContent = function () { return (react_1.default.createElement("div", { className: "flex flex-col gap-0" },
952
+ isAdding &&
953
+ data.map(function (item) { return (react_1.default.createElement("div", { key: item.id, className: "border-b border-gray-200 py-2.5" },
954
+ react_1.default.createElement("div", { className: "flex items-center justify-between" },
955
+ react_1.default.createElement("span", { className: "text-sm font-medium text-gray-900" }, item.title || "Item"),
956
+ !_this.props.disabled && (react_1.default.createElement("div", { className: "flex items-center gap-2" },
957
+ react_1.default.createElement("button", { type: "button", className: "text-sm text-primary-600 font-medium", onClick: function () {
958
+ return _this.setState({ mobileEditingItemId: item.id });
959
+ } }, "Edit"),
960
+ react_1.default.createElement("button", { type: "button", className: "w-6 h-6 flex items-center justify-center rounded-md text-red-500 hover:bg-red-50", onClick: function () { return _this.handleRemoveItem(item.id); } },
961
+ react_1.default.createElement(outline_1.TrashIcon, { className: "w-3.5 h-3.5" }))))),
962
+ react_1.default.createElement("span", { className: "text-xs text-gray-400" }, _this.getMobileItemSubtitle(item) || "—"))); }),
963
+ isAdding && !_this.props.disabled && !atLimit && (react_1.default.createElement(newMobileItemCard_1.NewMobileItemCard, { columns: _this.state.columns, categories: categories, categoryColumnLabel: _this.props.categoryColumnLabel, defaultTitleTemplate: _this.props.defaultTitleTemplate, existingCount: data.length, onSave: function (newItem) {
964
+ var _a, _b;
965
+ var recalculated = _this.handleRecalculateMathColumns(__spreadArray(__spreadArray([], data, true), [
966
+ newItem,
967
+ ], false));
968
+ (_b = (_a = _this.props).onChangeData) === null || _b === void 0 ? void 0 : _b.call(_a, recalculated);
969
+ _this.setState({ mobileSheetVisible: false });
970
+ }, onCancel: function () { return _this.setState({ mobileSheetVisible: false }); } })),
971
+ isAdding && atLimit && !_this.props.disabled && (react_1.default.createElement("div", { className: "flex items-center gap-1.5 py-2" },
972
+ react_1.default.createElement("span", { className: "text-xs text-gray-400" },
973
+ "Max ",
974
+ _this.props.maxRows,
975
+ " ",
976
+ _this.props.maxRows === 1 ? "row" : "rows",
977
+ " reached"))),
978
+ !isAdding &&
979
+ itemsToShow.map(function (item) { return _this.renderMobileItemCard(item); }),
980
+ react_1.default.createElement("div", { className: "flex justify-between gap-3 pt-4 border-t border-gray-200 mt-2" },
981
+ react_1.default.createElement(button_1.Button, { text: _this.props.disabled ? "Close" : "Cancel", type: "light", size: "small", onClick: function () { return _this.setState({ mobileSheetVisible: false }); } }),
982
+ !_this.props.disabled && _this.state.mobileEditingItemId && (react_1.default.createElement(button_1.Button, { text: "Done", type: "normal", size: "small", onClick: function () {
983
+ return _this.setState({
984
+ mobileSheetVisible: false,
985
+ mobileEditingItemId: null,
986
+ });
987
+ } }))))); };
988
+ return (react_1.default.createElement(modal_1.Modal, { open: _this.state.mobileSheetVisible, title: sheetTitle, maxWidth: "lg", onClose: function () {
989
+ return _this.setState({
990
+ mobileSheetVisible: false,
991
+ mobileEditingItemId: null,
992
+ });
993
+ }, renderContent: sheetContent }));
994
+ };
754
995
  return _this;
755
996
  }
756
997
  FlexTable.prototype.initializeColumns = function () {
@@ -758,7 +999,7 @@ var FlexTable = /** @class */ (function (_super) {
758
999
  if (!this.props.hideCategory) {
759
1000
  baseColumns.push({
760
1001
  key: "category",
761
- title: "CATEGORY",
1002
+ title: this.props.categoryColumnLabel || "CATEGORY",
762
1003
  type: "textarea",
763
1004
  editable: true,
764
1005
  });
@@ -808,9 +1049,25 @@ var FlexTable = /** @class */ (function (_super) {
808
1049
  }
809
1050
  return baseColumns;
810
1051
  };
1052
+ // INFO: re-initialise columns if the schema or category label changes after mount.
1053
+ // This handles async data loads where props.columns arrives after the initial render
1054
+ // (common when multiple FlexTables share the same form and data loads in parallel).
1055
+ // NOTE: uses referential equality (prevProps.columns !== this.props.columns) which
1056
+ // is safe here because updateModule always passes selectedModel.objectData directly —
1057
+ // that reference only changes when the underlying Space/schema reloads, not on every
1058
+ // parent render.
1059
+ FlexTable.prototype.componentDidUpdate = function (prevProps) {
1060
+ var columnsChanged = prevProps.columns !== this.props.columns ||
1061
+ prevProps.categoryColumnLabel !== this.props.categoryColumnLabel ||
1062
+ prevProps.hideCategory !== this.props.hideCategory;
1063
+ if (columnsChanged) {
1064
+ this.setState({ columns: this.initializeColumns() });
1065
+ }
1066
+ };
811
1067
  FlexTable.prototype.render = function () {
812
1068
  var _this = this;
813
- var _a = this.renderDarkModeSettings(), bgColor = _a.bgColor, headerColor = _a.headerColor, textColor = _a.textColor, divideColor = _a.divideColor;
1069
+ var _a;
1070
+ var _b = this.renderDarkModeSettings(), bgColor = _b.bgColor, headerColor = _b.headerColor, textColor = _b.textColor, divideColor = _b.divideColor;
814
1071
  var tableHeaders = __spreadArray(__spreadArray([], this.state.columns, true), (this.props.disabled
815
1072
  ? []
816
1073
  : __spreadArray(__spreadArray([], (this.props.columnList
@@ -826,20 +1083,13 @@ var FlexTable = /** @class */ (function (_super) {
826
1083
  ], false)), true);
827
1084
  var tableData = this.renderTableData();
828
1085
  var labelColor = this.props.darkMode ? "text-white" : "text-gray-700";
829
- return (react_1.default.createElement("div", { id: this.props.id, className: "w-full ".concat(this.props.className || "") },
830
- this.props.label && (react_1.default.createElement("div", { className: "flex w-full mb-2" },
831
- react_1.default.createElement("div", { className: "flex flex-col" },
832
- react_1.default.createElement("label", { className: "block text-sm font-medium ".concat(labelColor) },
833
- this.props.label,
834
- " ",
835
- this.props.labelExtra)),
836
- react_1.default.createElement("div", { className: "flex-grow" }),
837
- this.props.infoElement &&
838
- react_1.default.isValidElement(this.props.infoElement) && (react_1.default.createElement("div", { className: "self-center" },
839
- react_1.default.createElement(infoWindow_1.InfoWindow, { type: "bottom end", icon: react_1.default.createElement(solid_1.QuestionMarkCircleIcon, { className: "w-5 h-5 text-gray-400" }), content: this.props.infoElement }))))),
840
- this.state.error && (react_1.default.createElement("div", { className: "mb-4 p-3 bg-red-50 border border-red-200 rounded-md" },
841
- react_1.default.createElement("span", { className: "text-red-500 text-sm font-medium" }, this.state.error))),
842
- this.renderAddColumnModal(),
1086
+ var useMobileView = (_a = this.props.mobileView) !== null && _a !== void 0 ? _a : false;
1087
+ // INFO: the inner table markup is shared between the normal render and the
1088
+ // mobile modal extracted so it can be reused without duplication.
1089
+ var renderTableContent = function () { return (react_1.default.createElement(react_1.default.Fragment, null,
1090
+ _this.state.error && (react_1.default.createElement("div", { className: "mb-4 p-3 bg-red-50 border border-red-200 rounded-md" },
1091
+ react_1.default.createElement("span", { className: "text-red-500 text-sm font-medium" }, _this.state.error))),
1092
+ _this.renderAddColumnModal(),
843
1093
  react_1.default.createElement("div", { className: "overflow-x-auto overflow-y-visible shadow ring-1 ring-black ring-opacity-5 md:rounded-lg ".concat(bgColor) },
844
1094
  react_1.default.createElement("table", { className: "min-w-full divide-y ".concat(divideColor) },
845
1095
  react_1.default.createElement("thead", { className: headerColor },
@@ -862,9 +1112,7 @@ var FlexTable = /** @class */ (function (_super) {
862
1112
  return (react_1.default.createElement("td", { key: "".concat(row.id, "-").concat(header.key), className: "px-6 py-4 whitespace-nowrap text-sm" }));
863
1113
  }
864
1114
  else {
865
- return (react_1.default.createElement("td", { key: "".concat(row.id, "-").concat(header.key), className: "px-6 py-4 text-sm ".concat(
866
- // INFO: image columns allow wrapping thumbnails; all other columns stay nowrap
867
- header.type === "image" ||
1115
+ return (react_1.default.createElement("td", { key: "".concat(row.id, "-").concat(header.key), className: "px-6 py-4 text-sm ".concat(header.type === "image" ||
868
1116
  header.type === "multipleImage"
869
1117
  ? ""
870
1118
  : "whitespace-nowrap", " ").concat(header.width || minColumnWidth, " ").concat(row.type === "category" ||
@@ -876,9 +1124,26 @@ var FlexTable = /** @class */ (function (_super) {
876
1124
  : row[header.key], row)));
877
1125
  }
878
1126
  }))); })))),
879
- (!this.props.data || this.props.data.length === 0) && !this.props.hideEmptyState && (react_1.default.createElement("div", { className: "text-center py-8" },
1127
+ (!_this.props.data || _this.props.data.length === 0) &&
1128
+ !_this.props.hideEmptyState && (react_1.default.createElement("div", { className: "text-center py-8" },
880
1129
  react_1.default.createElement(text_1.Text, { size: "base", type: "p" }, "No table items present."),
881
- react_1.default.createElement(text_1.Text, { size: "sm", type: "p" }, "Click \"Create New Item\" under any category to add your first table entry.")))));
1130
+ react_1.default.createElement(text_1.Text, { size: "sm", type: "p" }, "Click \"Create New Item\" under any category to add your first table entry."))))); };
1131
+ return (react_1.default.createElement("div", { id: this.props.id, className: "w-full ".concat(this.props.className || "") },
1132
+ useMobileView && (react_1.default.createElement(react_1.default.Fragment, null,
1133
+ this.renderMobileSummaryCard(),
1134
+ this.renderMobileSheet())),
1135
+ react_1.default.createElement("div", { className: useMobileView ? "hidden md:block" : "" },
1136
+ this.props.label && (react_1.default.createElement("div", { className: "flex w-full mb-2" },
1137
+ react_1.default.createElement("div", { className: "flex flex-col" },
1138
+ react_1.default.createElement("label", { className: "block text-sm font-medium ".concat(labelColor) },
1139
+ this.props.label,
1140
+ " ",
1141
+ this.props.labelExtra)),
1142
+ react_1.default.createElement("div", { className: "flex-grow" }),
1143
+ this.props.infoElement &&
1144
+ react_1.default.isValidElement(this.props.infoElement) && (react_1.default.createElement("div", { className: "self-center" },
1145
+ react_1.default.createElement(infoWindow_1.InfoWindow, { type: "bottom end", icon: react_1.default.createElement(solid_1.QuestionMarkCircleIcon, { className: "w-5 h-5 text-gray-400" }), content: this.props.infoElement }))))),
1146
+ renderTableContent())));
882
1147
  };
883
1148
  return FlexTable;
884
1149
  }(react_1.Component));