arengibook 2.1.0-table → 2.1.1-table

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.
Files changed (2) hide show
  1. package/dist/index.js +204 -38
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -44743,7 +44743,7 @@ if (typeof window !== 'undefined') {
44743
44743
  window.ArengibookToastPresets = ToastPresets;
44744
44744
  }
44745
44745
 
44746
- var css_248z$1 = ".p-paginator {\n font-size: 14px;\n}\n.p-paginator .p-paginator-first,\n.p-paginator .p-paginator-prev,\n.p-paginator .p-paginator-next,\n.p-paginator .p-paginator-last,\n.p-paginator .p-paginator-pages .p-paginator-page,\n.p-paginator .p-paginator-current,\n.p-paginator .p-dropdown .p-dropdown-label,\n.p-paginator .p-dropdown-item,\n.p-paginator .p-paginator-page-input .p-inputtext {\n font-size: 14px;\n}\n\ntable.arengi-table thead {\n border: 1px solid #d5d2d2;\n}\ntable.arengi-table thead th {\n position: sticky;\n top: 0;\n z-index: 800;\n background-color: #fff;\n border-bottom: 1px solid lightgrey;\n font-size: 14px;\n}\ntable.arengi-table thead th:hover {\n background-color: #d6d6d6;\n}\ntable.arengi-table tbody tr {\n background-color: transparent;\n}\ntable.arengi-table tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.5803921569);\n}\n\n.arengi-table td {\n overflow: hidden;\n text-align: center !important;\n}\n\n.cell-text {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column {\n z-index: 1;\n background-color: var(--surface-0, #ffffff);\n background: linear-gradient(45deg, #ebebeb, #ebebeb) !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr.p-row-odd > td.p-frozen-column {\n background-color: var(--surface-b, #f8f9fa);\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column.row-actions-cell,\n.p-datatable-scrollable .p-datatable-tbody > tr.p-row-odd > td.p-frozen-column.row-actions-cell {\n background: #ffffff !important;\n box-shadow: none !important;\n border-right: none !important;\n padding: 0 !important;\n}\n\n.p-datatable .p-datatable-thead > tr > th.row-actions-cell {\n background: transparent !important;\n border: none !important;\n box-shadow: none !important;\n padding: 0 !important;\n}\n\n.arengi-table .p-cell-editing input,\n.arengi-table .p-cell-editing .p-inputtext,\n.arengi-table .p-cell-editing .p-dropdown,\n.arengi-table .p-cell-editing .p-multiselect,\n.arengi-table .p-cell-editing .p-calendar {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.cell-devise {\n display: flex;\n flex-direction: column;\n gap: 0.1rem;\n font-size: 0.875rem;\n}\n.cell-devise--editable {\n cursor: pointer;\n}\n.cell-devise--empty {\n display: block;\n width: 100%;\n height: 1.5rem;\n cursor: pointer;\n}\n.cell-devise .span-sub {\n font-size: 0.75rem;\n color: #71717a;\n}\n\n.devise-editor {\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n padding: 0.25rem 0;\n}\n.devise-editor-fields {\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n width: 100%;\n position: relative;\n}\n.devise-editor-fields .p-dropdown-panel {\n position: absolute;\n z-index: 1000;\n top: 100%;\n left: 0;\n width: 100%;\n}\n.devise-editor-save {\n align-self: flex-end;\n}\n\n.arengi-table .p-cell-editing .devise-editor-fields input,\n.arengi-table .p-cell-editing .devise-editor-fields .p-inputtext,\n.arengi-table .p-cell-editing .devise-editor-fields .p-dropdown {\n width: 100%;\n min-width: 0;\n}\n\n.doc-cell-empty {\n color: #aaa;\n font-size: 0.85rem;\n}\n\n.doc-cell {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n min-width: 0;\n overflow: hidden;\n}\n.doc-cell-summary {\n display: flex;\n align-items: center;\n gap: 0.35rem;\n font-size: 0.875rem;\n min-width: 0;\n}\n.doc-cell-summary .pi-paperclip {\n color: #71717a;\n font-size: 0.8rem;\n flex-shrink: 0;\n}\n.doc-cell-summary span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.doc-cell-list {\n display: flex;\n flex-direction: column;\n gap: 0.15rem;\n padding-left: 1.1rem;\n font-size: 0.8rem;\n}\n.doc-cell-list div {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.doc-cell-list a {\n color: #3b82f6;\n text-decoration: none;\n}\n.doc-cell-list a:hover {\n text-decoration: underline;\n}\n\n.doc-editor {\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n padding: 0.25rem 0;\n}\n.doc-editor-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 0.8rem;\n}\n.doc-editor-table td {\n padding: 0.2rem 0.35rem;\n vertical-align: middle;\n}\n.doc-editor-table td a {\n color: #3b82f6;\n text-decoration: none;\n word-break: break-all;\n}\n.doc-editor-table td a:hover {\n text-decoration: underline;\n}\n.doc-editor-table td:last-child {\n width: 2rem;\n text-align: center;\n}\n.doc-editor-add {\n display: inline-flex;\n align-items: center;\n gap: 0.3rem;\n cursor: pointer;\n align-self: center;\n}\n\n.arengi-table .arengi-table-grey-title-box {\n overflow: hidden;\n min-width: 0;\n}\n\n.arengi-table .arengi-table-grey-title:hover .table-item-title,\n.arengi-table .arengi-table-grey-title .table-item-title:hover {\n text-decoration: none !important;\n}\n\n.arengi-table .table-item-title {\n display: block !important;\n min-width: 0 !important;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.p-datatable .p-column-header-content {\n justify-content: center;\n}\n\n.tab_label {\n display: inline-block;\n padding: 5px 10px;\n font-size: 14px;\n font-weight: 600;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n border-radius: 5px;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n height: initial;\n}\n\n.badge {\n padding: 8px 12px;\n border-radius: 5px;\n height: auto;\n margin: 2px;\n font-weight: 400;\n box-shadow: 2px 4px 5px grey;\n white-space: inherit;\n min-width: 90px;\n}\n.badge:not(.badge-small) {\n width: 100%;\n}\n\ntable.arengi-table td.arengi-table-grey-title:not(.normal) {\n background: linear-gradient(45deg, rgba(55, 55, 55, 0.7882352941), rgba(115, 115, 115, 0.7882352941));\n color: white;\n}\ntable.arengi-table td.arengi-table-grey-title:not(.normal) a {\n opacity: 1;\n min-width: 150px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n text-transform: uppercase;\n}\ntable.arengi-table td.arengi-table-grey-title:not(.normal) a:hover {\n color: #dedede;\n text-decoration: underline;\n}\ntable.arengi-table td.arengi-table-grey-title:not(.normal):hover {\n background-color: #646464;\n transition-duration: 0.1s;\n}\n\n.RiskNumber-table {\n max-width: 50px;\n}\n.RiskNumber-table div {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.RiskNumber-table div span {\n width: 30px;\n height: 30px;\n min-width: 30px;\n min-height: 30px;\n max-width: 30px;\n max-height: 30px;\n border-radius: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.RiskLabel-table .etiquetteMatrix-risque {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n width: fit-content;\n max-width: 190px;\n display: flex;\n justify-content: flex-start;\n border-radius: 3px;\n background-color: #fff;\n color: black;\n margin: 5px;\n padding: 0;\n border: 0 solid transparent;\n}\n.RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabelColor {\n min-width: 20px;\n max-width: 20px;\n margin-right: 5px;\n border-right: 1px solid rgba(0, 0, 0, 0.3607843137);\n border-radius: 3px 0 0 3px;\n}\n.RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabel {\n font-size: 13px;\n font-weight: 300;\n padding: 3px 10px 3px 5px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.RiskOwner-table .risk_owner {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: max-content;\n}\n.RiskOwner-table .risk_owner a {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n background-color: white;\n opacity: 1;\n margin: 2px;\n position: relative;\n}\n.RiskOwner-table .risk_owner a:hover {\n z-index: 9999;\n}\n\n.limite_txt_table {\n min-height: 50px;\n max-height: 90px;\n min-width: 250px;\n}\n.limite_txt_table p {\n line-height: 1.3;\n font-size: 14px;\n}\n\n.action-picto .picto {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n margin: 5px;\n}";
44746
+ var css_248z$1 = ".p-paginator {\n font-size: 14px;\n}\n.p-paginator .p-paginator-first,\n.p-paginator .p-paginator-prev,\n.p-paginator .p-paginator-next,\n.p-paginator .p-paginator-last,\n.p-paginator .p-paginator-pages .p-paginator-page,\n.p-paginator .p-paginator-current,\n.p-paginator .p-dropdown .p-dropdown-label,\n.p-paginator .p-dropdown-item,\n.p-paginator .p-paginator-page-input .p-inputtext {\n font-size: 14px;\n}\n\n.p-datatable .p-datatable-tbody > tr.air-row--selected > td {\n background-color: #f0fdf8 !important;\n}\n\ntable.arengi-table thead {\n border: 1px solid #d5d2d2;\n}\ntable.arengi-table thead th {\n position: sticky;\n top: 0;\n z-index: 800;\n background-color: #fff;\n border-bottom: 1px solid lightgrey;\n font-size: 14px;\n}\ntable.arengi-table thead th:hover {\n background-color: #d6d6d6;\n}\ntable.arengi-table tbody tr {\n background-color: transparent;\n}\ntable.arengi-table tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.5803921569);\n}\n\n.arengi-table td {\n overflow: hidden;\n text-align: center !important;\n}\n\n.cell-text {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column {\n z-index: 1;\n background-color: var(--surface-0, #ffffff);\n background: linear-gradient(45deg, #ebebeb, #ebebeb) !important;\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr.p-row-odd > td.p-frozen-column {\n background-color: var(--surface-b, #f8f9fa);\n}\n\n.p-datatable-scrollable .p-datatable-tbody > tr > td.p-frozen-column.row-actions-cell,\n.p-datatable-scrollable .p-datatable-tbody > tr.p-row-odd > td.p-frozen-column.row-actions-cell {\n background: #ffffff !important;\n box-shadow: none !important;\n border-right: none !important;\n padding: 0 !important;\n}\n\n.p-datatable .p-datatable-thead > tr > th.row-actions-cell {\n background: transparent !important;\n border: none !important;\n box-shadow: none !important;\n padding: 0 !important;\n}\n\n.arengi-table .p-cell-editing input,\n.arengi-table .p-cell-editing .p-inputtext,\n.arengi-table .p-cell-editing .p-dropdown,\n.arengi-table .p-cell-editing .p-multiselect,\n.arengi-table .p-cell-editing .p-calendar {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.cell-devise {\n display: flex;\n flex-direction: column;\n gap: 0.1rem;\n font-size: 0.875rem;\n}\n.cell-devise--editable {\n cursor: pointer;\n}\n.cell-devise--empty {\n display: block;\n width: 100%;\n height: 1.5rem;\n cursor: pointer;\n}\n.cell-devise .span-sub {\n font-size: 0.75rem;\n color: #71717a;\n}\n\n.devise-editor {\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n padding: 0.25rem 0;\n}\n.devise-editor-fields {\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n width: 100%;\n position: relative;\n}\n.devise-editor-fields .p-dropdown-panel {\n position: absolute;\n z-index: 1000;\n top: 100%;\n left: 0;\n width: 100%;\n}\n.devise-editor-save {\n align-self: flex-end;\n}\n\n.arengi-table .p-cell-editing .devise-editor-fields input,\n.arengi-table .p-cell-editing .devise-editor-fields .p-inputtext,\n.arengi-table .p-cell-editing .devise-editor-fields .p-dropdown {\n width: 100%;\n min-width: 0;\n}\n\n.doc-cell-empty {\n color: #aaa;\n font-size: 0.85rem;\n}\n\n.doc-cell {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n min-width: 0;\n overflow: hidden;\n}\n.doc-cell-summary {\n display: flex;\n align-items: center;\n gap: 0.35rem;\n font-size: 0.875rem;\n min-width: 0;\n}\n.doc-cell-summary .pi-paperclip {\n color: #71717a;\n font-size: 0.8rem;\n flex-shrink: 0;\n}\n.doc-cell-summary span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.doc-cell-list {\n display: flex;\n flex-direction: column;\n gap: 0.15rem;\n padding-left: 1.1rem;\n font-size: 0.8rem;\n}\n.doc-cell-list div {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.doc-cell-list a {\n color: #3b82f6;\n text-decoration: none;\n}\n.doc-cell-list a:hover {\n text-decoration: underline;\n}\n\n.doc-editor {\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n padding: 0.25rem 0;\n}\n.doc-editor-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 0.8rem;\n}\n.doc-editor-table td {\n padding: 0.2rem 0.35rem;\n vertical-align: middle;\n}\n.doc-editor-table td a {\n color: #3b82f6;\n text-decoration: none;\n word-break: break-all;\n}\n.doc-editor-table td a:hover {\n text-decoration: underline;\n}\n.doc-editor-table td:last-child {\n width: 2rem;\n text-align: center;\n}\n.doc-editor-add {\n display: inline-flex;\n align-items: center;\n gap: 0.3rem;\n cursor: pointer;\n align-self: center;\n}\n\n.arengi-table .arengi-table-grey-title-box {\n overflow: hidden;\n min-width: 0;\n}\n\n.arengi-table .arengi-table-grey-title:hover .table-item-title,\n.arengi-table .arengi-table-grey-title .table-item-title:hover {\n text-decoration: none !important;\n}\n\n.arengi-table .table-item-title {\n display: block !important;\n min-width: 0 !important;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.p-datatable .p-column-header-content {\n justify-content: center;\n}\n\n.tab_label {\n display: inline-block;\n padding: 5px 10px;\n font-size: 14px;\n font-weight: 600;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n border-radius: 5px;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n height: initial;\n}\n\n.badge {\n padding: 8px 12px;\n border-radius: 5px;\n height: auto;\n margin: 2px;\n font-weight: 400;\n box-shadow: 2px 4px 5px grey;\n white-space: inherit;\n min-width: 90px;\n}\n.badge:not(.badge-small) {\n width: 100%;\n}\n\ntable.arengi-table td.arengi-table-grey-title:not(.normal) {\n background: linear-gradient(45deg, rgba(55, 55, 55, 0.7882352941), rgba(115, 115, 115, 0.7882352941));\n color: white;\n}\ntable.arengi-table td.arengi-table-grey-title:not(.normal) a {\n opacity: 1;\n min-width: 150px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n text-transform: uppercase;\n}\ntable.arengi-table td.arengi-table-grey-title:not(.normal) a:hover {\n color: #dedede;\n text-decoration: underline;\n}\ntable.arengi-table td.arengi-table-grey-title:not(.normal):hover {\n background-color: #646464;\n transition-duration: 0.1s;\n}\n\n.RiskNumber-table {\n max-width: 50px;\n}\n.RiskNumber-table div {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.RiskNumber-table div span {\n width: 30px;\n height: 30px;\n min-width: 30px;\n min-height: 30px;\n max-width: 30px;\n max-height: 30px;\n border-radius: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.RiskLabel-table .etiquetteMatrix-risque {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n width: fit-content;\n max-width: 190px;\n display: flex;\n justify-content: flex-start;\n border-radius: 3px;\n background-color: #fff;\n color: black;\n margin: 5px;\n padding: 0;\n border: 0 solid transparent;\n}\n.RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabelColor {\n min-width: 20px;\n max-width: 20px;\n margin-right: 5px;\n border-right: 1px solid rgba(0, 0, 0, 0.3607843137);\n border-radius: 3px 0 0 3px;\n}\n.RiskLabel-table .etiquetteMatrix-risque .matrix-RisqueLabel {\n font-size: 13px;\n font-weight: 300;\n padding: 3px 10px 3px 5px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.RiskOwner-table .risk_owner {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: max-content;\n}\n.RiskOwner-table .risk_owner a {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n background-color: white;\n opacity: 1;\n margin: 2px;\n position: relative;\n}\n.RiskOwner-table .risk_owner a:hover {\n z-index: 9999;\n}\n\n.limite_txt_table {\n min-height: 50px;\n max-height: 90px;\n min-width: 250px;\n}\n.limite_txt_table p {\n line-height: 1.3;\n font-size: 14px;\n}\n\n.action-picto .picto {\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4705882353);\n padding: 5px 10px;\n border-radius: 5px;\n margin: 5px;\n}";
44747
44747
  styleInject(css_248z$1);
44748
44748
 
44749
44749
  function _extends$3() {
@@ -48471,6 +48471,53 @@ var RowActionsCell = function RowActionsCell(_ref2) {
48471
48471
  }
48472
48472
  })), actions.map(function (action, i) {
48473
48473
  var _rowData$action$hrefF, _action$href;
48474
+ var itemStyle = {
48475
+ display: 'flex',
48476
+ alignItems: 'center',
48477
+ gap: '0.6rem',
48478
+ padding: '0.5rem 0.75rem',
48479
+ borderRadius: '5px',
48480
+ color: action.danger ? '#dc2626' : '#111827',
48481
+ textDecoration: 'none',
48482
+ fontSize: '14px',
48483
+ fontWeight: 450,
48484
+ transition: 'background 0.1s',
48485
+ textAlign: 'left',
48486
+ background: 'none',
48487
+ border: 'none',
48488
+ cursor: 'pointer',
48489
+ width: '100%'
48490
+ };
48491
+ var iconStyle = {
48492
+ fontSize: '16px',
48493
+ color: action.danger ? '#dc2626' : '#6b7280',
48494
+ flexShrink: 0
48495
+ };
48496
+ var inner = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("span", {
48497
+ className: "material-icons",
48498
+ style: iconStyle
48499
+ }, action.icon), /*#__PURE__*/React__default.createElement("span", {
48500
+ style: {
48501
+ flex: 1
48502
+ }
48503
+ }, action.title));
48504
+ if (action.onClick) {
48505
+ return /*#__PURE__*/React__default.createElement("button", {
48506
+ key: i,
48507
+ type: "button",
48508
+ style: itemStyle,
48509
+ onMouseEnter: function onMouseEnter(e) {
48510
+ return e.currentTarget.style.background = action.danger ? '#fef2f2' : '#f3f4f6';
48511
+ },
48512
+ onMouseLeave: function onMouseLeave(e) {
48513
+ return e.currentTarget.style.background = 'none';
48514
+ },
48515
+ onClick: function onClick() {
48516
+ setOpen(false);
48517
+ action.onClick(rowData);
48518
+ }
48519
+ }, inner);
48520
+ }
48474
48521
  var extraAttrs = {};
48475
48522
  var actionHref = action.hrefField ? (_rowData$action$hrefF = rowData === null || rowData === void 0 ? void 0 : rowData[action.hrefField]) !== null && _rowData$action$hrefF !== void 0 ? _rowData$action$hrefF : '#' : (_action$href = action.href) !== null && _action$href !== void 0 ? _action$href : '#';
48476
48523
  if (action.hrefAttr === 'data-href') {
@@ -48479,50 +48526,24 @@ var RowActionsCell = function RowActionsCell(_ref2) {
48479
48526
  } else {
48480
48527
  extraAttrs.href = actionHref;
48481
48528
  }
48482
- if (action.data) {
48483
- Object.entries(action.data).forEach(function (_ref3) {
48484
- var _ref4 = _slicedToArray$d(_ref3, 2),
48485
- k = _ref4[0],
48486
- v = _ref4[1];
48487
- extraAttrs[k] = v;
48488
- });
48489
- }
48529
+ if (action.data) Object.entries(action.data).forEach(function (_ref3) {
48530
+ var _ref4 = _slicedToArray$d(_ref3, 2),
48531
+ k = _ref4[0],
48532
+ v = _ref4[1];
48533
+ extraAttrs[k] = v;
48534
+ });
48490
48535
  return /*#__PURE__*/React__default.createElement("a", _extends$J({
48491
48536
  key: i,
48492
- className: action["class"],
48493
- title: action.title
48537
+ className: action["class"]
48494
48538
  }, extraAttrs, {
48495
- style: {
48496
- display: 'flex',
48497
- alignItems: 'center',
48498
- gap: '0.6rem',
48499
- padding: '0.5rem 0.75rem',
48500
- borderRadius: '5px',
48501
- color: '#111827',
48502
- textDecoration: 'none',
48503
- fontSize: '0.8125rem',
48504
- fontWeight: 450,
48505
- transition: 'background 0.1s',
48506
- textAlign: 'left'
48507
- },
48539
+ style: itemStyle,
48508
48540
  onMouseEnter: function onMouseEnter(e) {
48509
48541
  return e.currentTarget.style.background = '#f3f4f6';
48510
48542
  },
48511
48543
  onMouseLeave: function onMouseLeave(e) {
48512
48544
  return e.currentTarget.style.background = 'transparent';
48513
48545
  }
48514
- }), /*#__PURE__*/React__default.createElement("span", {
48515
- className: "material-icons",
48516
- style: {
48517
- fontSize: '16px',
48518
- color: '#6b7280',
48519
- flexShrink: 0
48520
- }
48521
- }, action.icon), /*#__PURE__*/React__default.createElement("span", {
48522
- style: {
48523
- flex: 1
48524
- }
48525
- }, action.title));
48546
+ }), inner);
48526
48547
  })), document.body);
48527
48548
  return /*#__PURE__*/React__default.createElement("div", {
48528
48549
  style: {
@@ -49350,7 +49371,10 @@ var Table$1 = function Table(_ref13) {
49350
49371
  tableId = _ref13.tableId,
49351
49372
  onAdd = _ref13.onAdd,
49352
49373
  _ref13$addLabel = _ref13.addLabel,
49353
- addLabel = _ref13$addLabel === void 0 ? 'Ajouter' : _ref13$addLabel;
49374
+ addLabel = _ref13$addLabel === void 0 ? 'Ajouter' : _ref13$addLabel,
49375
+ onDeleteRow = _ref13.onDeleteRow,
49376
+ _ref13$rowSelection = _ref13.rowSelection,
49377
+ rowSelection = _ref13$rowSelection === void 0 ? false : _ref13$rowSelection;
49354
49378
  var _useState31 = useState(true),
49355
49379
  _useState32 = _slicedToArray$d(_useState31, 2),
49356
49380
  locked = _useState32[0],
@@ -49360,10 +49384,26 @@ var Table$1 = function Table(_ref13) {
49360
49384
  _useState34 = _slicedToArray$d(_useState33, 2),
49361
49385
  data = _useState34[0],
49362
49386
  setData = _useState34[1];
49387
+ useEffect(function () {
49388
+ setData(value);
49389
+ }, [value]);
49363
49390
  var onCellChangeRef = useRef(onCellChange);
49364
49391
  useEffect(function () {
49365
49392
  onCellChangeRef.current = onCellChange;
49366
49393
  }, [onCellChange]);
49394
+ var toggleRowSelection = function toggleRowSelection(rowData) {
49395
+ setData(function (prev) {
49396
+ var updated = prev.map(function (r) {
49397
+ return r.id === rowData.id ? _objectSpread2(_objectSpread2({}, r), {}, {
49398
+ _selected: !r._selected
49399
+ }) : r;
49400
+ });
49401
+ if (onSelectionChange) onSelectionChange(updated.filter(function (r) {
49402
+ return r._selected;
49403
+ }));
49404
+ return updated;
49405
+ });
49406
+ };
49367
49407
  var updateRow = useCallback(function (rowId, field, newVal) {
49368
49408
  setData(function (prev) {
49369
49409
  var updated = prev.map(function (row) {
@@ -50785,6 +50825,10 @@ var Table$1 = function Table(_ref13) {
50785
50825
  selectionMode: selectionMode,
50786
50826
  selection: selection,
50787
50827
  onSelectionChange: onSelectionChange,
50828
+ metaKeySelection: false,
50829
+ rowClassName: rowSelection ? function (rowData) {
50830
+ return rowData._selected ? 'air-row--selected' : '';
50831
+ } : undefined,
50788
50832
  globalFilter: globalFilter,
50789
50833
  filters: filterVisible ? filters : undefined,
50790
50834
  filterDisplay: filterVisible ? 'row' : undefined,
@@ -50850,7 +50894,129 @@ var Table$1 = function Table(_ref13) {
50850
50894
  };
50851
50895
  }
50852
50896
  }
50853
- }, function () {
50897
+ }, rowSelection && /*#__PURE__*/React__default.createElement(Column, {
50898
+ key: "__select__",
50899
+ header: /*#__PURE__*/React__default.createElement("span", {
50900
+ className: "material-icons",
50901
+ style: {
50902
+ fontSize: '16px',
50903
+ color: '#9ca3af'
50904
+ }
50905
+ }, "checklist"),
50906
+ body: function body(rowData) {
50907
+ var selected = !!rowData._selected;
50908
+ return /*#__PURE__*/React__default.createElement("div", {
50909
+ onClick: function onClick(e) {
50910
+ e.stopPropagation();
50911
+ toggleRowSelection(rowData);
50912
+ },
50913
+ style: {
50914
+ width: '20px',
50915
+ height: '20px',
50916
+ borderRadius: '4px',
50917
+ cursor: 'pointer',
50918
+ border: "2px solid ".concat(selected ? '#1E976A' : '#d1d5db'),
50919
+ background: selected ? '#1E976A' : '#fff',
50920
+ margin: 'auto',
50921
+ transition: 'all 0.15s',
50922
+ display: 'flex',
50923
+ alignItems: 'center',
50924
+ justifyContent: 'center'
50925
+ }
50926
+ }, selected && /*#__PURE__*/React__default.createElement("span", {
50927
+ className: "material-icons",
50928
+ style: {
50929
+ fontSize: '14px',
50930
+ color: '#fff',
50931
+ lineHeight: 1
50932
+ }
50933
+ }, "check"));
50934
+ },
50935
+ style: {
50936
+ width: '42px',
50937
+ minWidth: '42px',
50938
+ maxWidth: '42px',
50939
+ textAlign: 'center'
50940
+ },
50941
+ headerStyle: {
50942
+ width: '42px',
50943
+ minWidth: '42px',
50944
+ maxWidth: '42px',
50945
+ textAlign: 'center'
50946
+ },
50947
+ frozen: true,
50948
+ alignFrozen: "left",
50949
+ reorderable: false,
50950
+ sortable: false,
50951
+ filter: false,
50952
+ pt: {
50953
+ bodyCell: {
50954
+ className: 'row-actions-cell'
50955
+ },
50956
+ headerCell: {
50957
+ className: 'row-actions-cell'
50958
+ }
50959
+ }
50960
+ }), onDeleteRow && /*#__PURE__*/React__default.createElement(Column, {
50961
+ key: "__delete__",
50962
+ header: "",
50963
+ body: function body(rowData) {
50964
+ return /*#__PURE__*/React__default.createElement("div", {
50965
+ onClick: function onClick(e) {
50966
+ e.stopPropagation();
50967
+ onDeleteRow(rowData);
50968
+ },
50969
+ title: "Supprimer",
50970
+ style: {
50971
+ display: 'flex',
50972
+ alignItems: 'center',
50973
+ justifyContent: 'center',
50974
+ width: '28px',
50975
+ height: '28px',
50976
+ borderRadius: '6px',
50977
+ cursor: 'pointer',
50978
+ color: '#ef4444',
50979
+ transition: 'background 0.15s',
50980
+ margin: 'auto'
50981
+ },
50982
+ onMouseEnter: function onMouseEnter(e) {
50983
+ return e.currentTarget.style.background = '#fef2f2';
50984
+ },
50985
+ onMouseLeave: function onMouseLeave(e) {
50986
+ return e.currentTarget.style.background = 'transparent';
50987
+ }
50988
+ }, /*#__PURE__*/React__default.createElement("span", {
50989
+ className: "material-icons",
50990
+ style: {
50991
+ fontSize: '18px',
50992
+ lineHeight: 1
50993
+ }
50994
+ }, "delete"));
50995
+ },
50996
+ style: {
50997
+ width: '42px',
50998
+ minWidth: '42px',
50999
+ maxWidth: '42px'
51000
+ },
51001
+ headerStyle: {
51002
+ width: '42px',
51003
+ minWidth: '42px',
51004
+ maxWidth: '42px'
51005
+ },
51006
+ frozen: true,
51007
+ alignFrozen: "left",
51008
+ reorderable: false,
51009
+ sortable: false,
51010
+ filter: false,
51011
+ pt: {
51012
+ bodyCell: {
51013
+ className: 'row-actions-cell'
51014
+ },
51015
+ headerCell: {
51016
+ className: 'row-actions-cell'
51017
+ }
51018
+ }
51019
+ }), function () {
50854
51020
  var actionsCol = columns.find(function (c) {
50855
51021
  return c.actionsField;
50856
51022
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arengibook",
3
3
  "private": false,
4
- "version": "2.1.0-table",
4
+ "version": "2.1.1-table",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "exports": {