@lax-wp/design-system 0.13.33-beta.6 → 0.13.33
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/components/button/Button.cjs.js +5 -5
- package/dist/components/button/Button.cjs.js.map +1 -1
- package/dist/components/button/Button.es.js +18 -18
- package/dist/components/button/Button.es.js.map +1 -1
- package/dist/components/button/IconButton.cjs.js +1 -1
- package/dist/components/button/IconButton.cjs.js.map +1 -1
- package/dist/components/button/IconButton.es.js +8 -8
- package/dist/components/button/IconButton.es.js.map +1 -1
- package/dist/components/buttons/option-button/OptionButton.cjs.js +1 -1
- package/dist/components/buttons/option-button/OptionButton.cjs.js.map +1 -1
- package/dist/components/buttons/option-button/OptionButton.es.js +1 -1
- package/dist/components/buttons/option-button/OptionButton.es.js.map +1 -1
- package/dist/components/data-display/comparison/components/Header.cjs.js +1 -1
- package/dist/components/data-display/comparison/components/Header.cjs.js.map +1 -1
- package/dist/components/data-display/comparison/components/Header.es.js +13 -13
- package/dist/components/data-display/comparison/components/Header.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/PendingEditsFloatingBar.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/PendingEditsFloatingBar.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/PendingEditsFloatingBar.es.js +57 -56
- package/dist/components/data-display/infinite-table/PendingEditsFloatingBar.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/ActionCell.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/body/cell/ActionCell.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/ActionCell.es.js +11 -11
- package/dist/components/data-display/infinite-table/body/cell/ActionCell.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/CheckboxCell.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/body/cell/CheckboxCell.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/CheckboxCell.es.js +44 -43
- package/dist/components/data-display/infinite-table/body/cell/CheckboxCell.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/DataCell.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/body/cell/DataCell.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/DataCell.es.js +148 -145
- package/dist/components/data-display/infinite-table/body/cell/DataCell.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/LoaderCell.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/body/cell/LoaderCell.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/LoaderCell.es.js +12 -11
- package/dist/components/data-display/infinite-table/body/cell/LoaderCell.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/PendingEditCell.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/body/cell/PendingEditCell.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/PendingEditCell.es.js +9 -9
- package/dist/components/data-display/infinite-table/body/cell/PendingEditCell.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/RowActionCell.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/body/cell/RowActionCell.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/RowActionCell.es.js +3 -3
- package/dist/components/data-display/infinite-table/body/cell/RowActionCell.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.es.js +24 -24
- package/dist/components/data-display/infinite-table/body/cell/RowOptionsCell.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/SpinnerCell.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/body/cell/SpinnerCell.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/SpinnerCell.es.js +1 -1
- package/dist/components/data-display/infinite-table/body/cell/SpinnerCell.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/rows/row.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/body/rows/row.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/rows/row.es.js +286 -281
- package/dist/components/data-display/infinite-table/body/rows/row.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/constants.cjs.js +2 -0
- package/dist/components/data-display/infinite-table/constants.cjs.js.map +1 -0
- package/dist/components/data-display/infinite-table/constants.d.ts +41 -0
- package/dist/components/data-display/infinite-table/constants.es.js +27 -0
- package/dist/components/data-display/infinite-table/constants.es.js.map +1 -0
- package/dist/components/data-display/infinite-table/context.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/context.d.ts +1 -0
- package/dist/components/data-display/infinite-table/context.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/CheckAll.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/head/CheckAll.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/CheckAll.es.js +1 -1
- package/dist/components/data-display/infinite-table/head/CheckAll.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/cell/index.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/head/cell/index.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/cell/index.es.js +37 -36
- package/dist/components/data-display/infinite-table/head/cell/index.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/index.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/head/index.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/head/index.es.js +20 -20
- package/dist/components/data-display/infinite-table/head/index.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/index.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/index.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/index.d.ts +1 -1
- package/dist/components/data-display/infinite-table/index.es.js +410 -406
- package/dist/components/data-display/infinite-table/index.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/types.d.ts +22 -0
- package/dist/components/data-display/tag/Tag.cjs.js +1 -1
- package/dist/components/data-display/tag/Tag.cjs.js.map +1 -1
- package/dist/components/data-display/tag/Tag.es.js +9 -11
- package/dist/components/data-display/tag/Tag.es.js.map +1 -1
- package/dist/components/floating-bar/FloatingBar.cjs.js +1 -1
- package/dist/components/floating-bar/FloatingBar.cjs.js.map +1 -1
- package/dist/components/floating-bar/FloatingBar.es.js +9 -9
- package/dist/components/floating-bar/FloatingBar.es.js.map +1 -1
- package/dist/components/forms/base-input-field/BaseInputField.cjs.js +2 -2
- package/dist/components/forms/base-input-field/BaseInputField.cjs.js.map +1 -1
- package/dist/components/forms/base-input-field/BaseInputField.es.js +42 -40
- package/dist/components/forms/base-input-field/BaseInputField.es.js.map +1 -1
- package/dist/components/forms/creatable-select/CreatableSelect.cjs.js +1 -1
- package/dist/components/forms/creatable-select/CreatableSelect.cjs.js.map +1 -1
- package/dist/components/forms/creatable-select/CreatableSelect.es.js +15 -14
- package/dist/components/forms/creatable-select/CreatableSelect.es.js.map +1 -1
- package/dist/components/forms/currency-input/CurrencyInputField.cjs.js +1 -1
- package/dist/components/forms/currency-input/CurrencyInputField.cjs.js.map +1 -1
- package/dist/components/forms/currency-input/CurrencyInputField.es.js +65 -57
- package/dist/components/forms/currency-input/CurrencyInputField.es.js.map +1 -1
- package/dist/components/forms/date-time-field/DateTimeField.cjs.js +1 -1
- package/dist/components/forms/date-time-field/DateTimeField.cjs.js.map +1 -1
- package/dist/components/forms/date-time-field/DateTimeField.es.js +33 -33
- package/dist/components/forms/date-time-field/DateTimeField.es.js.map +1 -1
- package/dist/components/forms/debounce-input/DebounceInputField.cjs.js +1 -1
- package/dist/components/forms/debounce-input/DebounceInputField.cjs.js.map +1 -1
- package/dist/components/forms/debounce-input/DebounceInputField.es.js +2 -2
- package/dist/components/forms/debounce-input/DebounceInputField.es.js.map +1 -1
- package/dist/components/forms/dynamic-data-input/DynamicDataInput.cjs.js +1 -1
- package/dist/components/forms/dynamic-data-input/DynamicDataInput.cjs.js.map +1 -1
- package/dist/components/forms/dynamic-data-input/DynamicDataInput.es.js +7 -7
- package/dist/components/forms/dynamic-data-input/DynamicDataInput.es.js.map +1 -1
- package/dist/components/forms/dynamic-data-input/DynamicDataInputField.cjs.js +1 -1
- package/dist/components/forms/dynamic-data-input/DynamicDataInputField.cjs.js.map +1 -1
- package/dist/components/forms/dynamic-data-input/DynamicDataInputField.es.js +19 -17
- package/dist/components/forms/dynamic-data-input/DynamicDataInputField.es.js.map +1 -1
- package/dist/components/forms/field-options/Item.cjs.js +1 -1
- package/dist/components/forms/field-options/Item.cjs.js.map +1 -1
- package/dist/components/forms/field-options/Item.es.js +5 -5
- package/dist/components/forms/field-options/Item.es.js.map +1 -1
- package/dist/components/forms/formula-input/FormulaInput.cjs.js +1 -1
- package/dist/components/forms/formula-input/FormulaInput.cjs.js.map +1 -1
- package/dist/components/forms/formula-input/FormulaInput.es.js +10 -10
- package/dist/components/forms/formula-input/FormulaInput.es.js.map +1 -1
- package/dist/components/forms/icon-picker/IconPicker.cjs.js +1 -1
- package/dist/components/forms/icon-picker/IconPicker.cjs.js.map +1 -1
- package/dist/components/forms/icon-picker/IconPicker.es.js +57 -42
- package/dist/components/forms/icon-picker/IconPicker.es.js.map +1 -1
- package/dist/components/forms/input-field/InputField.cjs.js.map +1 -1
- package/dist/components/forms/input-field/InputField.es.js.map +1 -1
- package/dist/components/forms/master-data-input/MasterDataInputField.cjs.js +1 -1
- package/dist/components/forms/master-data-input/MasterDataInputField.cjs.js.map +1 -1
- package/dist/components/forms/master-data-input/MasterDataInputField.es.js +60 -54
- package/dist/components/forms/master-data-input/MasterDataInputField.es.js.map +1 -1
- package/dist/components/forms/md-input/RichMarkdownInput.cjs.js +3 -3
- package/dist/components/forms/md-input/RichMarkdownInput.cjs.js.map +1 -1
- package/dist/components/forms/md-input/RichMarkdownInput.es.js +63 -63
- package/dist/components/forms/md-input/RichMarkdownInput.es.js.map +1 -1
- package/dist/components/forms/number-input-field/NumberInputField.cjs.js +1 -1
- package/dist/components/forms/number-input-field/NumberInputField.cjs.js.map +1 -1
- package/dist/components/forms/number-input-field/NumberInputField.es.js +5 -5
- package/dist/components/forms/number-input-field/NumberInputField.es.js.map +1 -1
- package/dist/components/forms/percentage-input/PercentageInputField.cjs.js +2 -2
- package/dist/components/forms/percentage-input/PercentageInputField.cjs.js.map +1 -1
- package/dist/components/forms/percentage-input/PercentageInputField.es.js +20 -20
- package/dist/components/forms/percentage-input/PercentageInputField.es.js.map +1 -1
- package/dist/components/forms/search-bar/SearchBar.cjs.js +1 -1
- package/dist/components/forms/search-bar/SearchBar.cjs.js.map +1 -1
- package/dist/components/forms/search-bar/SearchBar.es.js +16 -16
- package/dist/components/forms/search-bar/SearchBar.es.js.map +1 -1
- package/dist/components/forms/select-field/SelectField.cjs.js +2 -2
- package/dist/components/forms/select-field/SelectField.cjs.js.map +1 -1
- package/dist/components/forms/select-field/SelectField.d.ts +0 -4
- package/dist/components/forms/select-field/SelectField.es.js +203 -202
- package/dist/components/forms/select-field/SelectField.es.js.map +1 -1
- package/dist/components/forms/text-area-field/TextAreaField.cjs.js +1 -1
- package/dist/components/forms/text-area-field/TextAreaField.cjs.js.map +1 -1
- package/dist/components/forms/text-area-field/TextAreaField.es.js +14 -14
- package/dist/components/forms/text-area-field/TextAreaField.es.js.map +1 -1
- package/dist/components/forms/toggle/Toggle.cjs.js +1 -1
- package/dist/components/forms/toggle/Toggle.cjs.js.map +1 -1
- package/dist/components/forms/toggle/Toggle.es.js +59 -65
- package/dist/components/forms/toggle/Toggle.es.js.map +1 -1
- package/dist/components/navigation/accordion/Accordion.cjs.js +1 -1
- package/dist/components/navigation/accordion/Accordion.cjs.js.map +1 -1
- package/dist/components/navigation/accordion/Accordion.es.js +5 -5
- package/dist/components/navigation/accordion/Accordion.es.js.map +1 -1
- package/dist/components/navigation/stepper/Stepper.cjs.js +1 -1
- package/dist/components/navigation/stepper/Stepper.cjs.js.map +1 -1
- package/dist/components/navigation/stepper/Stepper.es.js +1 -1
- package/dist/components/navigation/stepper/Stepper.es.js.map +1 -1
- package/dist/components/navigation/tabs/TabOptions.cjs.js +1 -1
- package/dist/components/navigation/tabs/TabOptions.cjs.js.map +1 -1
- package/dist/components/navigation/tabs/TabOptions.es.js +15 -15
- package/dist/components/navigation/tabs/TabOptions.es.js.map +1 -1
- package/dist/components/navigation/tabs/TabSwitch.cjs.js +1 -1
- package/dist/components/navigation/tabs/TabSwitch.cjs.js.map +1 -1
- package/dist/components/navigation/tabs/TabSwitch.es.js +7 -7
- package/dist/components/navigation/tabs/TabSwitch.es.js.map +1 -1
- package/dist/components/navigation/tabs/Tabs.cjs.js +1 -1
- package/dist/components/navigation/tabs/Tabs.cjs.js.map +1 -1
- package/dist/components/navigation/tabs/Tabs.es.js +1 -1
- package/dist/components/navigation/tabs/Tabs.es.js.map +1 -1
- package/dist/components/tooltip/Tooltip.cjs.js +1 -1
- package/dist/components/tooltip/Tooltip.cjs.js.map +1 -1
- package/dist/components/tooltip/Tooltip.es.js +19 -19
- package/dist/components/tooltip/Tooltip.es.js.map +1 -1
- package/dist/components/user-avatar/UserAvatar.cjs.js +1 -1
- package/dist/components/user-avatar/UserAvatar.cjs.js.map +1 -1
- package/dist/components/user-avatar/UserAvatar.d.ts +1 -1
- package/dist/components/user-avatar/UserAvatar.es.js +38 -40
- package/dist/components/user-avatar/UserAvatar.es.js.map +1 -1
- package/dist/components/user-avatar/constants.cjs.js +1 -1
- package/dist/components/user-avatar/constants.cjs.js.map +1 -1
- package/dist/components/user-avatar/constants.d.ts +0 -1
- package/dist/components/user-avatar/constants.es.js +9 -10
- package/dist/components/user-avatar/constants.es.js.map +1 -1
- package/dist/design-system.css +1 -1
- package/dist/index.d.ts +1 -1
- package/package.json +3 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),S=require("../../../../button/ButtonThreeDots.cjs.js"),X=require("../../../../tooltip/Tooltip.cjs.js"),Y=require("../../../../../providers/design-system-provider/hooks.cjs.js"),v=require("@mui/icons-material"),Z=require("antd"),$=require("../../../../../_virtual/index.cjs.js"),a=require("react"),E=require("../../context.cjs.js"),H=require("./SpinnerCell.cjs.js"),I=require("../../../skeleton/loaders/SingleLineLoader.cjs.js"),ee=({rowId:s,rowOptions:l,disableOption:g,rowHovering:r,is_read:R,showNewItem:N,is_modified:T,is_row_modified:L,currentData:o,is_deleted:i,is_added:d,isDraggingOver:F,rowAdditionalActions:x,rowData:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),S=require("../../../../button/ButtonThreeDots.cjs.js"),X=require("../../../../tooltip/Tooltip.cjs.js"),Y=require("../../../../../providers/design-system-provider/hooks.cjs.js"),v=require("@mui/icons-material"),Z=require("antd"),$=require("../../../../../_virtual/index.cjs.js"),a=require("react"),E=require("../../context.cjs.js"),H=require("./SpinnerCell.cjs.js"),I=require("../../../skeleton/loaders/SingleLineLoader.cjs.js"),ee=({rowId:s,rowOptions:l,disableOption:g,rowHovering:r,is_read:R,showNewItem:N,is_modified:T,is_row_modified:L,currentData:o,is_deleted:i,is_added:d,isDraggingOver:F,rowAdditionalActions:x,rowData:w,index:n,bgColor:k,setRowHovering:c,is_incomplete:m,isInlineEditing:t,onConfirmEdit:B,onCancelEdit:P,rowHasPendingEdits:M})=>{const f=Y.useTableConfig(),j=$({"bg-primary-50 dark:bg-primary-900":t,"bg-neutral-100 dark:bg-black-600":r===s&&!t&&!(i||o?.is_deleted)&&!(d||o?.is_added),"bg-error-200 dark:bg-error-900":r===s&&!t&&(i||o?.is_deleted),"bg-success-100 dark:bg-success-800":r===s&&!t&&(d||o?.is_added),"bg-primary-50 dark:bg-black-700":!m&&!R&&N&&r!==s&&!t,"bg-warning-50 dark:bg-black-500":(m||T||L||o?.is_row_modified)&&r!==s&&!t,"bg-error-100 dark:bg-error-975":(i||o?.is_deleted)&&r!==s&&!t,"bg-success-50 dark:bg-success-900":(d||o?.is_added)&&r!==s&&!t,"bg-primary-50":F&&!t,...k&&!t&&{[k]:!0}}),_=a.useCallback(()=>c(s),[c,s]),A=a.useCallback(()=>c(null),[c]),{asyncRowOptionsFilter:p,disableOptionsForRowIndex:u=null,fieldOperationLoading:V}=a.useContext(E.TableContext),z=f?.t?.("Save or cancel pending changes first")??"Save or cancel pending changes first",D=f?.getRowOptionsDropdownProps?.(),b=!!V,[G,y]=a.useState(!!p),[J,C]=a.useState(l),K=l?l.filter(h=>h.isVisible!==!1).length:0,Q=async h=>{if(y(!0),h&&p)try{const O=await p(s),W=l?l.filter(q=>Object.keys(O).includes(q.key)?O[q.key]:!0):[];C(W)}catch{C([])}y(!1)},U=e.jsx("div",{className:"min-w-[140px] max-w-[200px] justify-start whitespace-nowrap items-center py-2 px-1 gap-2","aria-disabled":!0,children:e.jsx(I,{repeat:l?.length||1,lineHeight:"15px"})});return e.jsx("td",{className:`sticky left-0 right-0 z-10 ${j||"bg-white dark:bg-black-800"} h-row`,onMouseEnter:_,onMouseLeave:A,children:e.jsxs("div",{className:"h-full gap-2 top-0 font-medium font-inter overflow-hidden whitespace-nowrap text-ellipsis px-1 w-full flex items-center",children:[e.jsx("div",{className:`${u===n?"opacity-50":""}`,"aria-disabled":u===n,children:x?x(w,n,r===s):null}),t?e.jsxs("div",{className:`flex items-center gap-2 ${b?"pointer-events-none opacity-50":""}`,children:[e.jsx("div",{className:"cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5",onClick:()=>!b&&P?.(),children:e.jsx(v.CloseRounded,{sx:{height:20,width:20,color:"#667085"}})}),e.jsx("div",{className:"cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5",onClick:()=>!b&&B?.(),children:e.jsx(v.CheckRounded,{sx:{height:20,width:20,color:"var(--color-primary-600)"}})})]}):l?e.jsx(e.Fragment,{children:u===n?e.jsx(H.SpinnerCell,{}):M?e.jsx(X,{title:z,children:e.jsx("span",{children:e.jsx(S.ButtonThreeDots,{disabled:!0})})}):e.jsx(Z.Dropdown,{menu:{items:G?[{label:U,key:"loading"}]:J},trigger:["click"],overlayClassName:"row-option-cell table-row-option-dropdown",onOpenChange:Q,disabled:g||K===0,...D||{},children:e.jsx(S.ButtonThreeDots,{disabled:g})})}):null]})})};exports.RowOptionsCell=ee;
|
|
2
2
|
//# sourceMappingURL=RowOptionsCell.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowOptionsCell.cjs.js","sources":["../../../../../../src/components/data-display/infinite-table/body/cell/RowOptionsCell.tsx"],"sourcesContent":["import { SingleLineLoader } from '../../../../data-display/skeleton/loaders';\nimport { ButtonThreeDots } from '../../../../button/ButtonThreeDots';\nimport Tooltip from '../../../../tooltip/Tooltip';\nimport { useTableConfig } from '../../../../../providers/design-system-provider/hooks';\nimport { CheckRounded, CloseRounded } from '@mui/icons-material';\nimport { Dropdown } from 'antd';\nimport cn from 'classnames';\nimport { useCallback, useContext, useState } from 'react';\n\nimport { TableContext } from '../../context';\nimport { SpinnerCell } from './SpinnerCell';\n\ntype TProps = {\n rowId: string | number;\n rowOptions: Array<{ key: string; label: React.ReactNode; isVisible?: boolean; [k: string]: unknown }>;\n disableOption: boolean;\n rowHovering: string | number | null;\n is_read: boolean;\n showNewItem: boolean;\n is_modified: boolean;\n is_row_modified: boolean;\n currentData: Record<string, unknown>;\n is_deleted: boolean;\n is_added: boolean;\n isDraggingOver: boolean;\n rowData: Record<string, unknown>;\n index: number;\n rowAdditionalActions: (rowData: Record<string, unknown>, index: number, isHovering: boolean) => React.ReactNode;\n bgColor?: string;\n setRowHovering: (rowId: string | number | null) => void;\n is_incomplete?: boolean;\n isInlineEditing?: boolean;\n onConfirmEdit?: () => void;\n onCancelEdit?: () => void;\n rowHasPendingEdits?: boolean;\n};\n\nexport const RowOptionsCell = ({\n rowId, rowOptions, disableOption, rowHovering, is_read, showNewItem, is_modified, is_row_modified, currentData,\n is_deleted, is_added, isDraggingOver, rowAdditionalActions, rowData, index, bgColor: bgColorProp, setRowHovering,\n is_incomplete, isInlineEditing, onConfirmEdit, onCancelEdit, rowHasPendingEdits,\n}: TProps) => {\n const tableConfig = useTableConfig();\n const bgColor = cn({\n 'bg-primary-50 dark:bg-primary-900': isInlineEditing,\n 'bg-neutral-100 dark:bg-black-600': rowHovering === rowId && !isInlineEditing && !(is_deleted || currentData?.is_deleted) && !(is_added || currentData?.is_added),\n 'bg-error-200 dark:bg-error-900': rowHovering === rowId && !isInlineEditing && (is_deleted || currentData?.is_deleted),\n 'bg-success-100 dark:bg-success-800': rowHovering === rowId && !isInlineEditing && (is_added || currentData?.is_added),\n 'bg-primary-50 dark:bg-black-700': !is_incomplete && !is_read && showNewItem && rowHovering !== rowId && !isInlineEditing,\n 'bg-warning-50 dark:bg-black-500': (is_incomplete || is_modified || is_row_modified || currentData?.is_row_modified) && rowHovering !== rowId && !isInlineEditing,\n 'bg-error-100 dark:bg-error-975': (is_deleted || currentData?.is_deleted) && rowHovering !== rowId && !isInlineEditing,\n 'bg-success-50 dark:bg-success-900': (is_added || currentData?.is_added) && rowHovering !== rowId && !isInlineEditing,\n 'bg-primary-50': isDraggingOver && !isInlineEditing,\n ...(bgColorProp && !isInlineEditing && { [bgColorProp]: true }),\n });\n\n const onMouseEnter = useCallback(() => setRowHovering(rowId), [setRowHovering, rowId]);\n const onMouseLeave = useCallback(() => setRowHovering(null), [setRowHovering]);\n\n const { asyncRowOptionsFilter, disableOptionsForRowIndex = null, fieldOperationLoading } = useContext(TableContext);\n const pendingEditsTooltip = tableConfig?.t?.('Save or cancel pending changes first') ?? 'Save or cancel pending changes first';\n const rowOptionsDropdownProps = tableConfig?.getRowOptionsDropdownProps?.();\n const isAnyFieldOperationLoading = Boolean(fieldOperationLoading);\n const [isOptionLoading, setIsOptionLoading] = useState(!!asyncRowOptionsFilter);\n const [filteredRowOptions, setFilteredRowOptions] = useState(rowOptions);\n const visibleRowOptions = rowOptions ? rowOptions.filter((option) => option.isVisible !== false).length : 0;\n\n const handleDropdownVisibleChange = async (visible: boolean) => {\n setIsOptionLoading(true);\n if (visible && asyncRowOptionsFilter) {\n try {\n const buttonState = await asyncRowOptionsFilter(rowId);\n const filteredOptions = rowOptions ? rowOptions.filter((option) => { const existOnAPI = Object.keys(buttonState).includes(option.key); return existOnAPI ? buttonState[option.key] : true; }) : [];\n setFilteredRowOptions(filteredOptions);\n } catch { setFilteredRowOptions([]); }\n }\n setIsOptionLoading(false);\n };\n\n const getSkeleton = (\n <div className={`min-w-[140px] max-w-[200px] justify-start whitespace-nowrap items-center py-2 px-1 gap-2`} aria-disabled={true}>\n <SingleLineLoader repeat={rowOptions?.length || 1} lineHeight='15px' />\n </div>\n );\n\n return (\n <td className={`sticky left-0 right-0 z-10 ${bgColor ? bgColor : 'bg-white dark:bg-black-800'} h-[39px]`} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <div className={`h-full gap-2 top-0 font-medium font-inter overflow-hidden whitespace-nowrap text-ellipsis px-1 w-full flex items-center`}>\n <div className={`${disableOptionsForRowIndex === index ? 'opacity-50' : ''}`} aria-disabled={disableOptionsForRowIndex === index}>\n {rowAdditionalActions ? rowAdditionalActions(rowData, index, rowHovering === rowId) : null}\n </div>\n {isInlineEditing ? (\n <div className={`flex items-center gap-2 ${isAnyFieldOperationLoading ? 'pointer-events-none opacity-50' : ''}`}>\n <div className='cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5' onClick={() => !isAnyFieldOperationLoading && onCancelEdit?.()}>\n <CloseRounded sx={{ height: 20, width: 20, color: '#667085' }} />\n </div>\n <div className='cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5' onClick={() => !isAnyFieldOperationLoading && onConfirmEdit?.()}>\n <CheckRounded sx={{ height: 20, width: 20, color: 'var(--color-primary-600)' }} />\n </div>\n </div>\n ) : rowOptions ? (\n <>\n {disableOptionsForRowIndex === index ? (\n <SpinnerCell />\n ) : rowHasPendingEdits ? (\n <Tooltip title={pendingEditsTooltip}>\n <span><ButtonThreeDots disabled /></span>\n </Tooltip>\n ) : (\n <Dropdown\n menu={{ items: isOptionLoading ? [{ label: getSkeleton, key: 'loading' }] : filteredRowOptions }}\n trigger={['click']}\n overlayClassName='row-option-cell table-row-option-dropdown'\n onOpenChange={handleDropdownVisibleChange}\n disabled={disableOption || visibleRowOptions === 0}\n {...(rowOptionsDropdownProps || {})}\n >\n <ButtonThreeDots disabled={disableOption} />\n </Dropdown>\n )}\n </>\n ) : null}\n </div>\n </td>\n );\n};\n"],"names":["RowOptionsCell","rowId","rowOptions","disableOption","rowHovering","is_read","showNewItem","is_modified","is_row_modified","currentData","is_deleted","is_added","isDraggingOver","rowAdditionalActions","rowData","index","bgColorProp","setRowHovering","is_incomplete","isInlineEditing","onConfirmEdit","onCancelEdit","rowHasPendingEdits","tableConfig","useTableConfig","bgColor","cn","onMouseEnter","useCallback","onMouseLeave","asyncRowOptionsFilter","disableOptionsForRowIndex","fieldOperationLoading","useContext","TableContext","pendingEditsTooltip","rowOptionsDropdownProps","isAnyFieldOperationLoading","isOptionLoading","setIsOptionLoading","useState","filteredRowOptions","setFilteredRowOptions","visibleRowOptions","option","handleDropdownVisibleChange","visible","buttonState","filteredOptions","getSkeleton","jsx","SingleLineLoader","jsxs","CloseRounded","CheckRounded","Fragment","SpinnerCell","Tooltip","ButtonThreeDots","Dropdown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RowOptionsCell.cjs.js","sources":["../../../../../../src/components/data-display/infinite-table/body/cell/RowOptionsCell.tsx"],"sourcesContent":["import { SingleLineLoader } from '../../../../data-display/skeleton/loaders';\nimport { ButtonThreeDots } from '../../../../button/ButtonThreeDots';\nimport Tooltip from '../../../../tooltip/Tooltip';\nimport { useTableConfig } from '../../../../../providers/design-system-provider/hooks';\nimport { CheckRounded, CloseRounded } from '@mui/icons-material';\nimport { Dropdown } from 'antd';\nimport cn from 'classnames';\nimport { useCallback, useContext, useState } from 'react';\n\nimport { TableContext } from '../../context';\nimport { SpinnerCell } from './SpinnerCell';\n\ntype TProps = {\n rowId: string | number;\n rowOptions: Array<{ key: string; label: React.ReactNode; isVisible?: boolean; [k: string]: unknown }>;\n disableOption: boolean;\n rowHovering: string | number | null;\n is_read: boolean;\n showNewItem: boolean;\n is_modified: boolean;\n is_row_modified: boolean;\n currentData: Record<string, unknown>;\n is_deleted: boolean;\n is_added: boolean;\n isDraggingOver: boolean;\n rowData: Record<string, unknown>;\n index: number;\n rowAdditionalActions: (rowData: Record<string, unknown>, index: number, isHovering: boolean) => React.ReactNode;\n bgColor?: string;\n setRowHovering: (rowId: string | number | null) => void;\n is_incomplete?: boolean;\n isInlineEditing?: boolean;\n onConfirmEdit?: () => void;\n onCancelEdit?: () => void;\n rowHasPendingEdits?: boolean;\n};\n\nexport const RowOptionsCell = ({\n rowId, rowOptions, disableOption, rowHovering, is_read, showNewItem, is_modified, is_row_modified, currentData,\n is_deleted, is_added, isDraggingOver, rowAdditionalActions, rowData, index, bgColor: bgColorProp, setRowHovering,\n is_incomplete, isInlineEditing, onConfirmEdit, onCancelEdit, rowHasPendingEdits,\n}: TProps) => {\n const tableConfig = useTableConfig();\n const bgColor = cn({\n 'bg-primary-50 dark:bg-primary-900': isInlineEditing,\n 'bg-neutral-100 dark:bg-black-600': rowHovering === rowId && !isInlineEditing && !(is_deleted || currentData?.is_deleted) && !(is_added || currentData?.is_added),\n 'bg-error-200 dark:bg-error-900': rowHovering === rowId && !isInlineEditing && (is_deleted || currentData?.is_deleted),\n 'bg-success-100 dark:bg-success-800': rowHovering === rowId && !isInlineEditing && (is_added || currentData?.is_added),\n 'bg-primary-50 dark:bg-black-700': !is_incomplete && !is_read && showNewItem && rowHovering !== rowId && !isInlineEditing,\n 'bg-warning-50 dark:bg-black-500': (is_incomplete || is_modified || is_row_modified || currentData?.is_row_modified) && rowHovering !== rowId && !isInlineEditing,\n 'bg-error-100 dark:bg-error-975': (is_deleted || currentData?.is_deleted) && rowHovering !== rowId && !isInlineEditing,\n 'bg-success-50 dark:bg-success-900': (is_added || currentData?.is_added) && rowHovering !== rowId && !isInlineEditing,\n 'bg-primary-50': isDraggingOver && !isInlineEditing,\n ...(bgColorProp && !isInlineEditing && { [bgColorProp]: true }),\n });\n\n const onMouseEnter = useCallback(() => setRowHovering(rowId), [setRowHovering, rowId]);\n const onMouseLeave = useCallback(() => setRowHovering(null), [setRowHovering]);\n\n const { asyncRowOptionsFilter, disableOptionsForRowIndex = null, fieldOperationLoading } = useContext(TableContext);\n const pendingEditsTooltip = tableConfig?.t?.('Save or cancel pending changes first') ?? 'Save or cancel pending changes first';\n const rowOptionsDropdownProps = tableConfig?.getRowOptionsDropdownProps?.();\n const isAnyFieldOperationLoading = Boolean(fieldOperationLoading);\n const [isOptionLoading, setIsOptionLoading] = useState(!!asyncRowOptionsFilter);\n const [filteredRowOptions, setFilteredRowOptions] = useState(rowOptions);\n const visibleRowOptions = rowOptions ? rowOptions.filter((option) => option.isVisible !== false).length : 0;\n\n const handleDropdownVisibleChange = async (visible: boolean) => {\n setIsOptionLoading(true);\n if (visible && asyncRowOptionsFilter) {\n try {\n const buttonState = await asyncRowOptionsFilter(rowId);\n const filteredOptions = rowOptions ? rowOptions.filter((option) => { const existOnAPI = Object.keys(buttonState).includes(option.key); return existOnAPI ? buttonState[option.key] : true; }) : [];\n setFilteredRowOptions(filteredOptions);\n } catch { setFilteredRowOptions([]); }\n }\n setIsOptionLoading(false);\n };\n\n const getSkeleton = (\n <div className={`min-w-[140px] max-w-[200px] justify-start whitespace-nowrap items-center py-2 px-1 gap-2`} aria-disabled={true}>\n <SingleLineLoader repeat={rowOptions?.length || 1} lineHeight='15px' />\n </div>\n );\n\n return (\n <td className={`sticky left-0 right-0 z-10 ${bgColor ? bgColor : 'bg-white dark:bg-black-800'} h-row`} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <div className={`h-full gap-2 top-0 font-medium font-inter overflow-hidden whitespace-nowrap text-ellipsis px-1 w-full flex items-center`}>\n <div className={`${disableOptionsForRowIndex === index ? 'opacity-50' : ''}`} aria-disabled={disableOptionsForRowIndex === index}>\n {rowAdditionalActions ? rowAdditionalActions(rowData, index, rowHovering === rowId) : null}\n </div>\n {isInlineEditing ? (\n <div className={`flex items-center gap-2 ${isAnyFieldOperationLoading ? 'pointer-events-none opacity-50' : ''}`}>\n <div className='cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5' onClick={() => !isAnyFieldOperationLoading && onCancelEdit?.()}>\n <CloseRounded sx={{ height: 20, width: 20, color: '#667085' }} />\n </div>\n <div className='cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5' onClick={() => !isAnyFieldOperationLoading && onConfirmEdit?.()}>\n <CheckRounded sx={{ height: 20, width: 20, color: 'var(--color-primary-600)' }} />\n </div>\n </div>\n ) : rowOptions ? (\n <>\n {disableOptionsForRowIndex === index ? (\n <SpinnerCell />\n ) : rowHasPendingEdits ? (\n <Tooltip title={pendingEditsTooltip}>\n <span><ButtonThreeDots disabled /></span>\n </Tooltip>\n ) : (\n <Dropdown\n menu={{ items: isOptionLoading ? [{ label: getSkeleton, key: 'loading' }] : filteredRowOptions }}\n trigger={['click']}\n overlayClassName='row-option-cell table-row-option-dropdown'\n onOpenChange={handleDropdownVisibleChange}\n disabled={disableOption || visibleRowOptions === 0}\n {...(rowOptionsDropdownProps || {})}\n >\n <ButtonThreeDots disabled={disableOption} />\n </Dropdown>\n )}\n </>\n ) : null}\n </div>\n </td>\n );\n};\n"],"names":["RowOptionsCell","rowId","rowOptions","disableOption","rowHovering","is_read","showNewItem","is_modified","is_row_modified","currentData","is_deleted","is_added","isDraggingOver","rowAdditionalActions","rowData","index","bgColorProp","setRowHovering","is_incomplete","isInlineEditing","onConfirmEdit","onCancelEdit","rowHasPendingEdits","tableConfig","useTableConfig","bgColor","cn","onMouseEnter","useCallback","onMouseLeave","asyncRowOptionsFilter","disableOptionsForRowIndex","fieldOperationLoading","useContext","TableContext","pendingEditsTooltip","rowOptionsDropdownProps","isAnyFieldOperationLoading","isOptionLoading","setIsOptionLoading","useState","filteredRowOptions","setFilteredRowOptions","visibleRowOptions","option","handleDropdownVisibleChange","visible","buttonState","filteredOptions","getSkeleton","jsx","SingleLineLoader","jsxs","CloseRounded","CheckRounded","Fragment","SpinnerCell","Tooltip","ButtonThreeDots","Dropdown"],"mappings":"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"}
|
|
@@ -5,60 +5,60 @@ import { useTableConfig as D } from "../../../../../providers/design-system-prov
|
|
|
5
5
|
import { CloseRounded as E, CheckRounded as H } from "@mui/icons-material";
|
|
6
6
|
import { Dropdown as I } from "antd";
|
|
7
7
|
import ee from "../../../../../_virtual/index.es.js";
|
|
8
|
-
import { useCallback as S, useContext as
|
|
9
|
-
import { TableContext as
|
|
8
|
+
import { useCallback as S, useContext as oe, useState as R } from "react";
|
|
9
|
+
import { TableContext as te } from "../../context.es.js";
|
|
10
10
|
import { SpinnerCell as re } from "./SpinnerCell.es.js";
|
|
11
11
|
import se from "../../../skeleton/loaders/SingleLineLoader.es.js";
|
|
12
12
|
const ue = ({
|
|
13
|
-
rowId:
|
|
13
|
+
rowId: o,
|
|
14
14
|
rowOptions: s,
|
|
15
15
|
disableOption: h,
|
|
16
16
|
rowHovering: r,
|
|
17
17
|
is_read: F,
|
|
18
18
|
showNewItem: T,
|
|
19
19
|
is_modified: j,
|
|
20
|
-
is_row_modified:
|
|
20
|
+
is_row_modified: w,
|
|
21
21
|
currentData: a,
|
|
22
22
|
is_deleted: n,
|
|
23
23
|
is_added: i,
|
|
24
|
-
isDraggingOver:
|
|
24
|
+
isDraggingOver: P,
|
|
25
25
|
rowAdditionalActions: g,
|
|
26
|
-
rowData:
|
|
26
|
+
rowData: _,
|
|
27
27
|
index: l,
|
|
28
28
|
bgColor: f,
|
|
29
29
|
setRowHovering: c,
|
|
30
30
|
is_incomplete: u,
|
|
31
|
-
isInlineEditing:
|
|
32
|
-
onConfirmEdit:
|
|
31
|
+
isInlineEditing: t,
|
|
32
|
+
onConfirmEdit: $,
|
|
33
33
|
onCancelEdit: B,
|
|
34
34
|
rowHasPendingEdits: M
|
|
35
35
|
}) => {
|
|
36
36
|
const k = D(), y = ee({
|
|
37
|
-
"bg-primary-50 dark:bg-primary-900":
|
|
38
|
-
"bg-neutral-100 dark:bg-black-600": r ===
|
|
39
|
-
"bg-error-200 dark:bg-error-900": r ===
|
|
40
|
-
"bg-success-100 dark:bg-success-800": r ===
|
|
41
|
-
"bg-primary-50 dark:bg-black-700": !u && !F && T && r !==
|
|
42
|
-
"bg-warning-50 dark:bg-black-500": (u || j ||
|
|
43
|
-
"bg-error-100 dark:bg-error-975": (n || a?.is_deleted) && r !==
|
|
44
|
-
"bg-success-50 dark:bg-success-900": (i || a?.is_added) && r !==
|
|
45
|
-
"bg-primary-50":
|
|
46
|
-
...f && !
|
|
47
|
-
}), V = S(() => c(
|
|
37
|
+
"bg-primary-50 dark:bg-primary-900": t,
|
|
38
|
+
"bg-neutral-100 dark:bg-black-600": r === o && !t && !(n || a?.is_deleted) && !(i || a?.is_added),
|
|
39
|
+
"bg-error-200 dark:bg-error-900": r === o && !t && (n || a?.is_deleted),
|
|
40
|
+
"bg-success-100 dark:bg-success-800": r === o && !t && (i || a?.is_added),
|
|
41
|
+
"bg-primary-50 dark:bg-black-700": !u && !F && T && r !== o && !t,
|
|
42
|
+
"bg-warning-50 dark:bg-black-500": (u || j || w || a?.is_row_modified) && r !== o && !t,
|
|
43
|
+
"bg-error-100 dark:bg-error-975": (n || a?.is_deleted) && r !== o && !t,
|
|
44
|
+
"bg-success-50 dark:bg-success-900": (i || a?.is_added) && r !== o && !t,
|
|
45
|
+
"bg-primary-50": P && !t,
|
|
46
|
+
...f && !t && { [f]: !0 }
|
|
47
|
+
}), V = S(() => c(o), [c, o]), z = S(() => c(null), [c]), { asyncRowOptionsFilter: p, disableOptionsForRowIndex: d = null, fieldOperationLoading: A } = oe(te), q = k?.t?.("Save or cancel pending changes first") ?? "Save or cancel pending changes first", G = k?.getRowOptionsDropdownProps?.(), b = !!A, [J, x] = R(!!p), [K, C] = R(s), Q = s ? s.filter((m) => m.isVisible !== !1).length : 0, U = async (m) => {
|
|
48
48
|
if (x(!0), m && p)
|
|
49
49
|
try {
|
|
50
|
-
const O = await p(
|
|
50
|
+
const O = await p(o), X = s ? s.filter((v) => Object.keys(O).includes(v.key) ? O[v.key] : !0) : [];
|
|
51
51
|
C(X);
|
|
52
52
|
} catch {
|
|
53
53
|
C([]);
|
|
54
54
|
}
|
|
55
55
|
x(!1);
|
|
56
56
|
}, W = /* @__PURE__ */ e("div", { className: "min-w-[140px] max-w-[200px] justify-start whitespace-nowrap items-center py-2 px-1 gap-2", "aria-disabled": !0, children: /* @__PURE__ */ e(se, { repeat: s?.length || 1, lineHeight: "15px" }) });
|
|
57
|
-
return /* @__PURE__ */ e("td", { className: `sticky left-0 right-0 z-10 ${y || "bg-white dark:bg-black-800"} h-
|
|
58
|
-
/* @__PURE__ */ e("div", { className: `${d === l ? "opacity-50" : ""}`, "aria-disabled": d === l, children: g ? g(
|
|
59
|
-
|
|
57
|
+
return /* @__PURE__ */ e("td", { className: `sticky left-0 right-0 z-10 ${y || "bg-white dark:bg-black-800"} h-row`, onMouseEnter: V, onMouseLeave: z, children: /* @__PURE__ */ N("div", { className: "h-full gap-2 top-0 font-medium font-inter overflow-hidden whitespace-nowrap text-ellipsis px-1 w-full flex items-center", children: [
|
|
58
|
+
/* @__PURE__ */ e("div", { className: `${d === l ? "opacity-50" : ""}`, "aria-disabled": d === l, children: g ? g(_, l, r === o) : null }),
|
|
59
|
+
t ? /* @__PURE__ */ N("div", { className: `flex items-center gap-2 ${b ? "pointer-events-none opacity-50" : ""}`, children: [
|
|
60
60
|
/* @__PURE__ */ e("div", { className: "cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5", onClick: () => !b && B?.(), children: /* @__PURE__ */ e(E, { sx: { height: 20, width: 20, color: "#667085" } }) }),
|
|
61
|
-
/* @__PURE__ */ e("div", { className: "cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5", onClick: () => !b &&
|
|
61
|
+
/* @__PURE__ */ e("div", { className: "cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5", onClick: () => !b && $?.(), children: /* @__PURE__ */ e(H, { sx: { height: 20, width: 20, color: "var(--color-primary-600)" } }) })
|
|
62
62
|
] }) : s ? /* @__PURE__ */ e(Y, { children: d === l ? /* @__PURE__ */ e(re, {}) : M ? /* @__PURE__ */ e(Z, { title: q, children: /* @__PURE__ */ e("span", { children: /* @__PURE__ */ e(L, { disabled: !0 }) }) }) : /* @__PURE__ */ e(
|
|
63
63
|
I,
|
|
64
64
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowOptionsCell.es.js","sources":["../../../../../../src/components/data-display/infinite-table/body/cell/RowOptionsCell.tsx"],"sourcesContent":["import { SingleLineLoader } from '../../../../data-display/skeleton/loaders';\nimport { ButtonThreeDots } from '../../../../button/ButtonThreeDots';\nimport Tooltip from '../../../../tooltip/Tooltip';\nimport { useTableConfig } from '../../../../../providers/design-system-provider/hooks';\nimport { CheckRounded, CloseRounded } from '@mui/icons-material';\nimport { Dropdown } from 'antd';\nimport cn from 'classnames';\nimport { useCallback, useContext, useState } from 'react';\n\nimport { TableContext } from '../../context';\nimport { SpinnerCell } from './SpinnerCell';\n\ntype TProps = {\n rowId: string | number;\n rowOptions: Array<{ key: string; label: React.ReactNode; isVisible?: boolean; [k: string]: unknown }>;\n disableOption: boolean;\n rowHovering: string | number | null;\n is_read: boolean;\n showNewItem: boolean;\n is_modified: boolean;\n is_row_modified: boolean;\n currentData: Record<string, unknown>;\n is_deleted: boolean;\n is_added: boolean;\n isDraggingOver: boolean;\n rowData: Record<string, unknown>;\n index: number;\n rowAdditionalActions: (rowData: Record<string, unknown>, index: number, isHovering: boolean) => React.ReactNode;\n bgColor?: string;\n setRowHovering: (rowId: string | number | null) => void;\n is_incomplete?: boolean;\n isInlineEditing?: boolean;\n onConfirmEdit?: () => void;\n onCancelEdit?: () => void;\n rowHasPendingEdits?: boolean;\n};\n\nexport const RowOptionsCell = ({\n rowId, rowOptions, disableOption, rowHovering, is_read, showNewItem, is_modified, is_row_modified, currentData,\n is_deleted, is_added, isDraggingOver, rowAdditionalActions, rowData, index, bgColor: bgColorProp, setRowHovering,\n is_incomplete, isInlineEditing, onConfirmEdit, onCancelEdit, rowHasPendingEdits,\n}: TProps) => {\n const tableConfig = useTableConfig();\n const bgColor = cn({\n 'bg-primary-50 dark:bg-primary-900': isInlineEditing,\n 'bg-neutral-100 dark:bg-black-600': rowHovering === rowId && !isInlineEditing && !(is_deleted || currentData?.is_deleted) && !(is_added || currentData?.is_added),\n 'bg-error-200 dark:bg-error-900': rowHovering === rowId && !isInlineEditing && (is_deleted || currentData?.is_deleted),\n 'bg-success-100 dark:bg-success-800': rowHovering === rowId && !isInlineEditing && (is_added || currentData?.is_added),\n 'bg-primary-50 dark:bg-black-700': !is_incomplete && !is_read && showNewItem && rowHovering !== rowId && !isInlineEditing,\n 'bg-warning-50 dark:bg-black-500': (is_incomplete || is_modified || is_row_modified || currentData?.is_row_modified) && rowHovering !== rowId && !isInlineEditing,\n 'bg-error-100 dark:bg-error-975': (is_deleted || currentData?.is_deleted) && rowHovering !== rowId && !isInlineEditing,\n 'bg-success-50 dark:bg-success-900': (is_added || currentData?.is_added) && rowHovering !== rowId && !isInlineEditing,\n 'bg-primary-50': isDraggingOver && !isInlineEditing,\n ...(bgColorProp && !isInlineEditing && { [bgColorProp]: true }),\n });\n\n const onMouseEnter = useCallback(() => setRowHovering(rowId), [setRowHovering, rowId]);\n const onMouseLeave = useCallback(() => setRowHovering(null), [setRowHovering]);\n\n const { asyncRowOptionsFilter, disableOptionsForRowIndex = null, fieldOperationLoading } = useContext(TableContext);\n const pendingEditsTooltip = tableConfig?.t?.('Save or cancel pending changes first') ?? 'Save or cancel pending changes first';\n const rowOptionsDropdownProps = tableConfig?.getRowOptionsDropdownProps?.();\n const isAnyFieldOperationLoading = Boolean(fieldOperationLoading);\n const [isOptionLoading, setIsOptionLoading] = useState(!!asyncRowOptionsFilter);\n const [filteredRowOptions, setFilteredRowOptions] = useState(rowOptions);\n const visibleRowOptions = rowOptions ? rowOptions.filter((option) => option.isVisible !== false).length : 0;\n\n const handleDropdownVisibleChange = async (visible: boolean) => {\n setIsOptionLoading(true);\n if (visible && asyncRowOptionsFilter) {\n try {\n const buttonState = await asyncRowOptionsFilter(rowId);\n const filteredOptions = rowOptions ? rowOptions.filter((option) => { const existOnAPI = Object.keys(buttonState).includes(option.key); return existOnAPI ? buttonState[option.key] : true; }) : [];\n setFilteredRowOptions(filteredOptions);\n } catch { setFilteredRowOptions([]); }\n }\n setIsOptionLoading(false);\n };\n\n const getSkeleton = (\n <div className={`min-w-[140px] max-w-[200px] justify-start whitespace-nowrap items-center py-2 px-1 gap-2`} aria-disabled={true}>\n <SingleLineLoader repeat={rowOptions?.length || 1} lineHeight='15px' />\n </div>\n );\n\n return (\n <td className={`sticky left-0 right-0 z-10 ${bgColor ? bgColor : 'bg-white dark:bg-black-800'} h-[39px]`} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <div className={`h-full gap-2 top-0 font-medium font-inter overflow-hidden whitespace-nowrap text-ellipsis px-1 w-full flex items-center`}>\n <div className={`${disableOptionsForRowIndex === index ? 'opacity-50' : ''}`} aria-disabled={disableOptionsForRowIndex === index}>\n {rowAdditionalActions ? rowAdditionalActions(rowData, index, rowHovering === rowId) : null}\n </div>\n {isInlineEditing ? (\n <div className={`flex items-center gap-2 ${isAnyFieldOperationLoading ? 'pointer-events-none opacity-50' : ''}`}>\n <div className='cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5' onClick={() => !isAnyFieldOperationLoading && onCancelEdit?.()}>\n <CloseRounded sx={{ height: 20, width: 20, color: '#667085' }} />\n </div>\n <div className='cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5' onClick={() => !isAnyFieldOperationLoading && onConfirmEdit?.()}>\n <CheckRounded sx={{ height: 20, width: 20, color: 'var(--color-primary-600)' }} />\n </div>\n </div>\n ) : rowOptions ? (\n <>\n {disableOptionsForRowIndex === index ? (\n <SpinnerCell />\n ) : rowHasPendingEdits ? (\n <Tooltip title={pendingEditsTooltip}>\n <span><ButtonThreeDots disabled /></span>\n </Tooltip>\n ) : (\n <Dropdown\n menu={{ items: isOptionLoading ? [{ label: getSkeleton, key: 'loading' }] : filteredRowOptions }}\n trigger={['click']}\n overlayClassName='row-option-cell table-row-option-dropdown'\n onOpenChange={handleDropdownVisibleChange}\n disabled={disableOption || visibleRowOptions === 0}\n {...(rowOptionsDropdownProps || {})}\n >\n <ButtonThreeDots disabled={disableOption} />\n </Dropdown>\n )}\n </>\n ) : null}\n </div>\n </td>\n );\n};\n"],"names":["RowOptionsCell","rowId","rowOptions","disableOption","rowHovering","is_read","showNewItem","is_modified","is_row_modified","currentData","is_deleted","is_added","isDraggingOver","rowAdditionalActions","rowData","index","bgColorProp","setRowHovering","is_incomplete","isInlineEditing","onConfirmEdit","onCancelEdit","rowHasPendingEdits","tableConfig","useTableConfig","bgColor","cn","onMouseEnter","useCallback","onMouseLeave","asyncRowOptionsFilter","disableOptionsForRowIndex","fieldOperationLoading","useContext","TableContext","pendingEditsTooltip","rowOptionsDropdownProps","isAnyFieldOperationLoading","isOptionLoading","setIsOptionLoading","useState","filteredRowOptions","setFilteredRowOptions","visibleRowOptions","option","handleDropdownVisibleChange","visible","buttonState","filteredOptions","getSkeleton","jsx","SingleLineLoader","jsxs","CloseRounded","CheckRounded","Fragment","SpinnerCell","Tooltip","ButtonThreeDots","Dropdown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RowOptionsCell.es.js","sources":["../../../../../../src/components/data-display/infinite-table/body/cell/RowOptionsCell.tsx"],"sourcesContent":["import { SingleLineLoader } from '../../../../data-display/skeleton/loaders';\nimport { ButtonThreeDots } from '../../../../button/ButtonThreeDots';\nimport Tooltip from '../../../../tooltip/Tooltip';\nimport { useTableConfig } from '../../../../../providers/design-system-provider/hooks';\nimport { CheckRounded, CloseRounded } from '@mui/icons-material';\nimport { Dropdown } from 'antd';\nimport cn from 'classnames';\nimport { useCallback, useContext, useState } from 'react';\n\nimport { TableContext } from '../../context';\nimport { SpinnerCell } from './SpinnerCell';\n\ntype TProps = {\n rowId: string | number;\n rowOptions: Array<{ key: string; label: React.ReactNode; isVisible?: boolean; [k: string]: unknown }>;\n disableOption: boolean;\n rowHovering: string | number | null;\n is_read: boolean;\n showNewItem: boolean;\n is_modified: boolean;\n is_row_modified: boolean;\n currentData: Record<string, unknown>;\n is_deleted: boolean;\n is_added: boolean;\n isDraggingOver: boolean;\n rowData: Record<string, unknown>;\n index: number;\n rowAdditionalActions: (rowData: Record<string, unknown>, index: number, isHovering: boolean) => React.ReactNode;\n bgColor?: string;\n setRowHovering: (rowId: string | number | null) => void;\n is_incomplete?: boolean;\n isInlineEditing?: boolean;\n onConfirmEdit?: () => void;\n onCancelEdit?: () => void;\n rowHasPendingEdits?: boolean;\n};\n\nexport const RowOptionsCell = ({\n rowId, rowOptions, disableOption, rowHovering, is_read, showNewItem, is_modified, is_row_modified, currentData,\n is_deleted, is_added, isDraggingOver, rowAdditionalActions, rowData, index, bgColor: bgColorProp, setRowHovering,\n is_incomplete, isInlineEditing, onConfirmEdit, onCancelEdit, rowHasPendingEdits,\n}: TProps) => {\n const tableConfig = useTableConfig();\n const bgColor = cn({\n 'bg-primary-50 dark:bg-primary-900': isInlineEditing,\n 'bg-neutral-100 dark:bg-black-600': rowHovering === rowId && !isInlineEditing && !(is_deleted || currentData?.is_deleted) && !(is_added || currentData?.is_added),\n 'bg-error-200 dark:bg-error-900': rowHovering === rowId && !isInlineEditing && (is_deleted || currentData?.is_deleted),\n 'bg-success-100 dark:bg-success-800': rowHovering === rowId && !isInlineEditing && (is_added || currentData?.is_added),\n 'bg-primary-50 dark:bg-black-700': !is_incomplete && !is_read && showNewItem && rowHovering !== rowId && !isInlineEditing,\n 'bg-warning-50 dark:bg-black-500': (is_incomplete || is_modified || is_row_modified || currentData?.is_row_modified) && rowHovering !== rowId && !isInlineEditing,\n 'bg-error-100 dark:bg-error-975': (is_deleted || currentData?.is_deleted) && rowHovering !== rowId && !isInlineEditing,\n 'bg-success-50 dark:bg-success-900': (is_added || currentData?.is_added) && rowHovering !== rowId && !isInlineEditing,\n 'bg-primary-50': isDraggingOver && !isInlineEditing,\n ...(bgColorProp && !isInlineEditing && { [bgColorProp]: true }),\n });\n\n const onMouseEnter = useCallback(() => setRowHovering(rowId), [setRowHovering, rowId]);\n const onMouseLeave = useCallback(() => setRowHovering(null), [setRowHovering]);\n\n const { asyncRowOptionsFilter, disableOptionsForRowIndex = null, fieldOperationLoading } = useContext(TableContext);\n const pendingEditsTooltip = tableConfig?.t?.('Save or cancel pending changes first') ?? 'Save or cancel pending changes first';\n const rowOptionsDropdownProps = tableConfig?.getRowOptionsDropdownProps?.();\n const isAnyFieldOperationLoading = Boolean(fieldOperationLoading);\n const [isOptionLoading, setIsOptionLoading] = useState(!!asyncRowOptionsFilter);\n const [filteredRowOptions, setFilteredRowOptions] = useState(rowOptions);\n const visibleRowOptions = rowOptions ? rowOptions.filter((option) => option.isVisible !== false).length : 0;\n\n const handleDropdownVisibleChange = async (visible: boolean) => {\n setIsOptionLoading(true);\n if (visible && asyncRowOptionsFilter) {\n try {\n const buttonState = await asyncRowOptionsFilter(rowId);\n const filteredOptions = rowOptions ? rowOptions.filter((option) => { const existOnAPI = Object.keys(buttonState).includes(option.key); return existOnAPI ? buttonState[option.key] : true; }) : [];\n setFilteredRowOptions(filteredOptions);\n } catch { setFilteredRowOptions([]); }\n }\n setIsOptionLoading(false);\n };\n\n const getSkeleton = (\n <div className={`min-w-[140px] max-w-[200px] justify-start whitespace-nowrap items-center py-2 px-1 gap-2`} aria-disabled={true}>\n <SingleLineLoader repeat={rowOptions?.length || 1} lineHeight='15px' />\n </div>\n );\n\n return (\n <td className={`sticky left-0 right-0 z-10 ${bgColor ? bgColor : 'bg-white dark:bg-black-800'} h-row`} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <div className={`h-full gap-2 top-0 font-medium font-inter overflow-hidden whitespace-nowrap text-ellipsis px-1 w-full flex items-center`}>\n <div className={`${disableOptionsForRowIndex === index ? 'opacity-50' : ''}`} aria-disabled={disableOptionsForRowIndex === index}>\n {rowAdditionalActions ? rowAdditionalActions(rowData, index, rowHovering === rowId) : null}\n </div>\n {isInlineEditing ? (\n <div className={`flex items-center gap-2 ${isAnyFieldOperationLoading ? 'pointer-events-none opacity-50' : ''}`}>\n <div className='cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5' onClick={() => !isAnyFieldOperationLoading && onCancelEdit?.()}>\n <CloseRounded sx={{ height: 20, width: 20, color: '#667085' }} />\n </div>\n <div className='cursor-pointer hover:bg-neutral-100 dark:hover:bg-black-600 rounded p-0.5' onClick={() => !isAnyFieldOperationLoading && onConfirmEdit?.()}>\n <CheckRounded sx={{ height: 20, width: 20, color: 'var(--color-primary-600)' }} />\n </div>\n </div>\n ) : rowOptions ? (\n <>\n {disableOptionsForRowIndex === index ? (\n <SpinnerCell />\n ) : rowHasPendingEdits ? (\n <Tooltip title={pendingEditsTooltip}>\n <span><ButtonThreeDots disabled /></span>\n </Tooltip>\n ) : (\n <Dropdown\n menu={{ items: isOptionLoading ? [{ label: getSkeleton, key: 'loading' }] : filteredRowOptions }}\n trigger={['click']}\n overlayClassName='row-option-cell table-row-option-dropdown'\n onOpenChange={handleDropdownVisibleChange}\n disabled={disableOption || visibleRowOptions === 0}\n {...(rowOptionsDropdownProps || {})}\n >\n <ButtonThreeDots disabled={disableOption} />\n </Dropdown>\n )}\n </>\n ) : null}\n </div>\n </td>\n );\n};\n"],"names":["RowOptionsCell","rowId","rowOptions","disableOption","rowHovering","is_read","showNewItem","is_modified","is_row_modified","currentData","is_deleted","is_added","isDraggingOver","rowAdditionalActions","rowData","index","bgColorProp","setRowHovering","is_incomplete","isInlineEditing","onConfirmEdit","onCancelEdit","rowHasPendingEdits","tableConfig","useTableConfig","bgColor","cn","onMouseEnter","useCallback","onMouseLeave","asyncRowOptionsFilter","disableOptionsForRowIndex","fieldOperationLoading","useContext","TableContext","pendingEditsTooltip","rowOptionsDropdownProps","isAnyFieldOperationLoading","isOptionLoading","setIsOptionLoading","useState","filteredRowOptions","setFilteredRowOptions","visibleRowOptions","option","handleDropdownVisibleChange","visible","buttonState","filteredOptions","getSkeleton","jsx","SingleLineLoader","jsxs","CloseRounded","CheckRounded","Fragment","SpinnerCell","Tooltip","ButtonThreeDots","Dropdown"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../../../../../_virtual/index.cjs.js"),i=require("react"),s=require("../../../../icon/icons.generated.cjs.js"),c=({width:n,size:t=24})=>e.jsx("td",{className:r("sticky left-0 right-0 bg-white dark:bg-black-800",n&&`w-[${n}px]`),children:e.jsx("div",{className:"h-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../../../../../_virtual/index.cjs.js"),i=require("react"),s=require("../../../../icon/icons.generated.cjs.js"),c=({width:n,size:t=24})=>e.jsx("td",{className:r("sticky left-0 right-0 bg-white dark:bg-black-800",n&&`w-[${n}px]`),children:e.jsx("div",{className:"h-row flex items-center justify-center",children:e.jsx(s.LoadingSpinnerIcon,{size:t-4,className:"inline my-2 text-neutral-600 dark:text-white"})})}),l=i.memo(c);exports.SpinnerCell=l;
|
|
2
2
|
//# sourceMappingURL=SpinnerCell.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinnerCell.cjs.js","sources":["../../../../../../src/components/data-display/infinite-table/body/cell/SpinnerCell.tsx"],"sourcesContent":["import cn from 'classnames';\nimport React from 'react';\nimport { LoadingSpinnerIcon } from '../../../../icon';\n\ntype TProps = {\n width?: number;\n size?: number;\n};\n\nconst _SpinnerCell = ({ width, size = 24 }: TProps) => {\n return (\n <td className={cn('sticky left-0 right-0 bg-white dark:bg-black-800', width && `w-[${width}px]`)}>\n <div className='h-
|
|
1
|
+
{"version":3,"file":"SpinnerCell.cjs.js","sources":["../../../../../../src/components/data-display/infinite-table/body/cell/SpinnerCell.tsx"],"sourcesContent":["import cn from 'classnames';\nimport React from 'react';\nimport { LoadingSpinnerIcon } from '../../../../icon';\n\ntype TProps = {\n width?: number;\n size?: number;\n};\n\nconst _SpinnerCell = ({ width, size = 24 }: TProps) => {\n return (\n <td className={cn('sticky left-0 right-0 bg-white dark:bg-black-800', width && `w-[${width}px]`)}>\n <div className='h-row flex items-center justify-center'>\n <LoadingSpinnerIcon size={size-4} className='inline my-2 text-neutral-600 dark:text-white' />\n </div>\n </td>\n );\n};\n\nexport const SpinnerCell = React.memo(_SpinnerCell);\n"],"names":["_SpinnerCell","width","size","jsx","cn","LoadingSpinnerIcon","SpinnerCell","React"],"mappings":"+OASMA,EAAe,CAAC,CAAE,MAAAC,EAAO,KAAAC,EAAO,MAElCC,EAAAA,IAAC,MAAG,UAAWC,EAAG,mDAAoDH,GAAS,MAAMA,CAAK,KAAK,EAC7F,SAAAE,EAAAA,IAAC,OAAI,UAAU,yCACb,eAACE,EAAAA,mBAAA,CAAmB,KAAMH,EAAK,EAAG,UAAU,8CAAA,CAA+C,CAAA,CAC7F,CAAA,CACF,EAISI,EAAcC,EAAM,KAAKP,CAAY"}
|
|
@@ -2,7 +2,7 @@ import { jsx as e } from "react/jsx-runtime";
|
|
|
2
2
|
import i from "../../../../../_virtual/index.es.js";
|
|
3
3
|
import n from "react";
|
|
4
4
|
import { LoadingSpinnerIcon as m } from "../../../../icon/icons.generated.es.js";
|
|
5
|
-
const
|
|
5
|
+
const o = ({ width: r, size: t = 24 }) => /* @__PURE__ */ e("td", { className: i("sticky left-0 right-0 bg-white dark:bg-black-800", r && `w-[${r}px]`), children: /* @__PURE__ */ e("div", { className: "h-row flex items-center justify-center", children: /* @__PURE__ */ e(m, { size: t - 4, className: "inline my-2 text-neutral-600 dark:text-white" }) }) }), p = n.memo(o);
|
|
6
6
|
export {
|
|
7
7
|
p as SpinnerCell
|
|
8
8
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinnerCell.es.js","sources":["../../../../../../src/components/data-display/infinite-table/body/cell/SpinnerCell.tsx"],"sourcesContent":["import cn from 'classnames';\nimport React from 'react';\nimport { LoadingSpinnerIcon } from '../../../../icon';\n\ntype TProps = {\n width?: number;\n size?: number;\n};\n\nconst _SpinnerCell = ({ width, size = 24 }: TProps) => {\n return (\n <td className={cn('sticky left-0 right-0 bg-white dark:bg-black-800', width && `w-[${width}px]`)}>\n <div className='h-
|
|
1
|
+
{"version":3,"file":"SpinnerCell.es.js","sources":["../../../../../../src/components/data-display/infinite-table/body/cell/SpinnerCell.tsx"],"sourcesContent":["import cn from 'classnames';\nimport React from 'react';\nimport { LoadingSpinnerIcon } from '../../../../icon';\n\ntype TProps = {\n width?: number;\n size?: number;\n};\n\nconst _SpinnerCell = ({ width, size = 24 }: TProps) => {\n return (\n <td className={cn('sticky left-0 right-0 bg-white dark:bg-black-800', width && `w-[${width}px]`)}>\n <div className='h-row flex items-center justify-center'>\n <LoadingSpinnerIcon size={size-4} className='inline my-2 text-neutral-600 dark:text-white' />\n </div>\n </td>\n );\n};\n\nexport const SpinnerCell = React.memo(_SpinnerCell);\n"],"names":["_SpinnerCell","width","size","jsx","cn","LoadingSpinnerIcon","SpinnerCell","React"],"mappings":";;;;AASA,MAAMA,IAAe,CAAC,EAAE,OAAAC,GAAO,MAAAC,IAAO,SAElC,gBAAAC,EAAC,QAAG,WAAWC,EAAG,oDAAoDH,KAAS,MAAMA,CAAK,KAAK,GAC7F,UAAA,gBAAAE,EAAC,SAAI,WAAU,0CACb,4BAACE,GAAA,EAAmB,MAAMH,IAAK,GAAG,WAAU,+CAAA,CAA+C,EAAA,CAC7F,EAAA,CACF,GAISI,IAAcC,EAAM,KAAKP,CAAY;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),l=require("react"),bi=require("../../../../../constants/table.cjs.js"),Xi=require("../../../../../providers/design-system-provider/hooks.cjs.js"),Vi=require("@dnd-kit/core"),Zi=require("@dnd-kit/sortable"),$i=require("@dnd-kit/utilities"),zi=require("@mui/icons-material"),wi=require("@mui/icons-material/AddRounded"),pi=require("../../../../../_virtual/index.cjs.js"),ie=require("react-dom"),ki=require("../../context.cjs.js"),ee=require("../cell/ActionCell.cjs.js"),ne=require("../cell/CheckboxCell.cjs.js"),te=require("../cell/DataCell.cjs.js"),Mi=require("../../validateCell.cjs.js"),le=require("../cell/LoaderCell.cjs.js"),ae=require("../cell/PendingEditCell.cjs.js"),se=require("../cell/RowActionCell.cjs.js"),oe=require("../cell/RowOptionsCell.cjs.js"),de=({row:i,isLastRow:J,lastRow:Q,highlightSubstring:X,index:V,style:Ci,level:e=0,expandedRows:c,rows:Z})=>{const{lastNonStickyColumnIndex:z,checkboxConfig:o,onRowClick:E,rowOptions:b,disableOptionsForRowIndex:M=null,getSumOfNextVisibleColumnWidth:$,onRowEdit:F,inlineEditColumns:xi,tableActions:w,dndSortableUtils:ii,withSortable:u,withDraggable:N,getInnerRowData:ei,showNewItem:H,rawData:B,dragConfig:p,getFullRowDataOnClick:ni,rowWrapper:_,isCellClickDisabled:ti,rowAdditionalActions:li,hoverConfig:j,addPendingEdit:D,removePendingEdit:ai,fieldOperationLoading:O,clearRowPendingEdits:q,saveRowPendingEdits:A,pendingEdits:L}=l.useContext(ki.TableContext),P=Xi.useTableConfig(),si=!!o,{activeInlineEdit:oi,setActiveInlineEdit:T}=l.useContext(ki.TableContext),a=oi?.rowId===i.original.id?oi?.columnKey:null,f=!!a,di=n=>{T?.(n===null?null:{rowId:String(i.original.id),columnKey:n})},[C,W]=l.useState(null),[ri,g]=l.useState(null),[R,U]=l.useState(null),[x,S]=l.useState(!1),[y,vi]=l.useState(!1),s=l.useRef(null);l.useEffect(()=>{const n=s.current,r=a;if(n&&!r){const h=L?.[i.original.id]?.[n];if(h){const d=i.cells?.find(m=>m.column?.key===n);if(d){const m=Mi.validateCellValue(h.value,d.column);!m.isValid&&D&&D(String(i.original.id),n,{...h,validationError:m.error})}}}s.current=r??null},[a,i.original.id,i.cells,L,D]),l.useEffect(()=>{if(B){const n=String(i?.original?.id);U(B[n]?.[i?.cells[0].column.Header]||B[n]?.[0])}},[B,i?.original?.id,i?.cells]);const v=Zi.useSortable({id:i.original.id,data:{...i.original},disabled:!u}),gi=Vi.useDraggable({id:i.original.id,data:{...i.original},disabled:!!u}),{listeners:ci,transform:ui,setNodeRef:_i,isDragging:K,attributes:fi,active:hi,over:I,...Hi}=u?v:gi,{setNodeRef:Ei}=Vi.useDroppable({id:`table-file-dropzone-${i?.original?.id}`,data:{type:"table-file-dropzone",folderId:i?.original?.id,isFolder:i?.original?.type==="folder"}}),Wi={transform:$i.CSS.Transform.toString(ui),transition:u?Hi.transition:void 0,cursor:K?"grabbing":"grab",opacity:K?"0.5":"1"},Ui=()=>!hi||!I||!u?!1:ii?.checkOverEachItem?ii.checkOverEachItem(hi,I)&&!!I:hi.data.current?.type!==I.data.current?.type&&!!I,Ni=n=>{g(n.target.value)},Ki=()=>{O||di(null)},Ri=l.useRef(null),ji=l.useCallback(n=>{Ri.current=n},[]),Di=l.useRef(P);Di.current=P;const Ii=l.useCallback(()=>{q&&q(String(i.original.id))},[q,i.original.id]),Pi=l.useCallback(()=>{if(Ri.current){const n=Ri.current();if(!n.isValid)return;a&&n.value!==void 0&&D&&D(String(i.original.id),a,{value:n.value,originalValue:i.original[a],meta:n.meta||void 0})}else if(a){const n=i.cells?.find(r=>r.column?.key===a);if(n){const r=L?.[i.original.id]?.[a]?.value,h=r!==void 0?r:n.value,d=Mi.validateCellValue(h,n.column);if(!d.isValid){Di.current?.showNotification?.("error",d.error||"Validation failed");return}}}A&&A(String(i.original.id))},[A,i.original,i.cells,a,D,L]),Bi=(n,r)=>{const h={...i.original},d=n!==void 0?n:ri;a&&d!==void 0&&(h[a]=d,F&&F(h,V,a,d,r),ai&&ai(String(i.original.id),a)),Ki()},Oi=l.useRef(null),qi=(n,r,h,d)=>{if(!ti&&(n?.stopPropagation(),a!==d)){if(F){if(xi?.includes(d))di(d),g(String(i.original[d]));else{const m=P?.getSystemMessage?.("notAllowedInlineEdit")||"Inline Edit is not allowed for this column";P?.showNotification?.("error",m)}return}if(E)E(r,h,i.original,Z?.map(m=>m.original)||[]);else if(!E&&o){const m=i.original.id,Qi={target:{checked:!o.checkedIds.includes(m)}};o.onItemCheck(Qi,m)}}},Ai=async()=>{S(!0),ei&&await ei(i?.original?.id,i?.original,!(c?.[i?.original?.id]?.isOpen??!1),i?.original?.__level||0),S(!1)},Yi=l.useMemo(()=>i.cells.filter(n=>n.column?.visible).map(n=>n.column?.width??0).reduce((n,r)=>n+r,0),[i.cells]),Y=l.useMemo(()=>p?.draggingOver&&p?.draggingOver===i?.original?.id,[p,i?.original?.id]),Si=l.useMemo(()=>Y?p?.dropPosition||"inside":null,[Y,p?.dropPosition]),G=!!(Y&&Si==="inside"),k=i?.original?.__rowMetadata||i?.original?._meta,mi=C!==i?.original?.id,yi=!i?.original?.__isLoading,Li=!!(k?.__is_new||k?.__is_added||i?.original?.is_added||R?.is_added||k?.is_added||k?.is_new),Gi=!!(i?.original?.is_deleted||k?.__is_deleted||R?.is_deleted||k?.is_deleted),Ji=!!(i?.original?.is_modified||i?.original?.is_row_modified||k?.__is_modified||k?.__is_edited||R?.is_row_modified||k?.is_modified)&&!Li,Ti=pi({"bg-neutral-100 dark:bg-black-600":C===i?.original?.id&&!f,"bg-primary-50 dark:bg-black-700":!i?.original?.is_read&&H&&!i?.original?.__isLoading&&mi&&!f,"bg-warning-50 dark:bg-warning-975":Ji&&yi&&mi&&!f,"bg-error-50 dark:bg-error-975":Gi&&yi&&mi&&!f,"bg-success-50 dark:bg-success-975":Li&&yi&&mi&&!f,"bg-primary-50 dark:bg-primary-900":f,[bi.getTableRowBgClassNamesByStatus[i?.original?.__rowBgStatus]]:i?.original?.__rowBgStatus&&!f});return l.createElement("tr",{...i.getRowProps(),ref:N||u?_i:null,key:i.original.id,"data-row-id":i.original.id,className:pi(`text-neutral-900 dark:text-white cursor-pointer min-w-full relative ${o?.selectionDisabledRowIds?.includes(i?.original?.id)?"opacity-50":""} border-t`,K?"z-40":"",Ui()?"shadow-dnd-drop":"",N&&I&&I?.data?.current?.type==="table-file-dropzone"&&I?.data?.current?.folderId===i?.original?.id&&i?.original?.type==="folder"?"bg-primary-50":"",i?.original?.isDefinedActionRow?"bg-primary-50":"",G?"z-50":"",Ti||"bg-white dark:bg-black-800"),style:{...Ci,...u?Wi:{},width:"max-content"},...N||u?fi:{},...N||u?ci:{}},G&&p?.dragOperation?t.jsx("div",{className:"absolute right-2 h-10 flex items-center z-20 pointer-events-none",children:t.jsx("div",{className:"bg-primary-200 px-2 py-1 rounded",children:p?.dragOperation==="COPY"?t.jsx(wi,{sx:{fontSize:12},className:"text-primary-700"}):t.jsx(zi.SubdirectoryArrowLeftRounded,{sx:{fontSize:12},className:"text-primary-700"})})}):null,G&&!p?.dragOperation?t.jsx("div",{className:"absolute right-2 h-10 flex items-center z-20 pointer-events-none",children:t.jsx(zi.SubdirectoryArrowLeftRounded,{sx:{fontSize:16},className:"text-primary-500"})}):null,Y&&Si==="before"&&!i?.original?.isDefinedActionRow?t.jsx("div",{className:"absolute -top-[1px] left-0 right-0 h-[2px] bg-primary-500 z-20 pointer-events-none",children:t.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-primary-500"})}):null,Y&&Si==="after"&&!i?.original?.isDefinedActionRow?t.jsx("div",{className:"absolute -bottom-[1px] left-0 right-0 h-[2px] bg-primary-500 z-20 pointer-events-none",children:t.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-primary-500"})}):null,i?.original?.isDefinedActionRow?t.jsx(ee.ActionCell,{cells:i.cells,id:i?.original?.id,isCheckbox:o,level:e,name:i?.original?.name,onClick:i?.original?.onClick,rowHovering:C||"",isRoot:i?.original?.isRoot,totalWidth:Yi,row:i.original,uploadCell:i?.original?.uploadCell,disabled:i?.original?.disabled,disabledTooltip:i?.original?.disabledTooltip}):_?t.jsx(_,{data:i.original,setIsDraggingFile:vi,children:t.jsx(Fi,{isDraggingOver:G,level:e,withDraggable:N,setDroppableNodeRef:Ei,isLastRow:J,lastRow:Q,isCheckbox:si,checkboxConfig:o,row:i,rowHovering:C,tableActions:w,disableOptionsForRowIndex:M,index:V,showNewItem:H,currentData:R,lastNonStickyColumnIndex:z,getSumOfNextVisibleColumnWidth:$,toggleRowExpand:Ai,loadingExpand:x,cellRef:Oi,handleCellClick:qi,getFullRowDataOnClick:ni,handleCellValueChange:Ni,handleUpdateCellData:Bi,handleRowCancelEdit:Ii,handleRowConfirmEdit:Pi,registerValidation:ji,inlineEditing:a,isInlineEditing:f,setRowHovering:W,highlightSubstring:X,rowOptions:b,isDraggingFile:y,rowAdditionalActions:li,hoverConfig:j})}):t.jsx(Fi,{level:e,withDraggable:N,setDroppableNodeRef:Ei,isLastRow:J,lastRow:Q,isCheckbox:si,checkboxConfig:o,row:i,rowHovering:C,tableActions:w,disableOptionsForRowIndex:M,index:V,showNewItem:H,currentData:R,lastNonStickyColumnIndex:z,getSumOfNextVisibleColumnWidth:$,toggleRowExpand:Ai,loadingExpand:x,cellRef:Oi,handleCellClick:qi,getFullRowDataOnClick:ni,handleCellValueChange:Ni,handleUpdateCellData:Bi,handleRowCancelEdit:Ii,handleRowConfirmEdit:Pi,registerValidation:ji,inlineEditing:a,isInlineEditing:f,setRowHovering:W,highlightSubstring:X,rowOptions:b,isDraggingFile:y,isDraggingOver:G,rowAdditionalActions:li,hoverConfig:j}))},Fi=({withDraggable:i,setDroppableNodeRef:J,isLastRow:Q,lastRow:X,isCheckbox:V,checkboxConfig:Ci,row:e,rowHovering:c,tableActions:Z,disableOptionsForRowIndex:z,index:o,showNewItem:E,currentData:b,lastNonStickyColumnIndex:M,getSumOfNextVisibleColumnWidth:$,toggleRowExpand:F,loadingExpand:xi,cellRef:w,handleCellClick:ii,getFullRowDataOnClick:u,handleCellValueChange:N,handleUpdateCellData:ei,handleRowCancelEdit:H,handleRowConfirmEdit:B,registerValidation:p,inlineEditing:ni,isInlineEditing:_,setRowHovering:ti,highlightSubstring:li,rowOptions:j,level:D,isDraggingFile:ai,isDraggingOver:O,rowAdditionalActions:q,hoverConfig:A})=>{const[L,P]=l.useState(!1),{getPendingEdit:si,hasPendingEdit:oi,pendingEdits:T,tableHeaders:a,pendingEditsCount:f,scrollToCell:di}=l.useContext(ki.TableContext),C=T?.[e.original.id]&&Object.keys(T[e.original.id]).length>0,W=(f??0)>0,ri=l.useMemo(()=>{if(Array.isArray(j))return j;if(typeof j=="function"){const s=j({...e.original,rowIndex:o});return Array.isArray(s)?s:[]}return[]},[j,e.original,o]),g=e?.original?.__rowMetadata||e?.original?._meta,R=c!==e?.original?.id,U=!e?.original?.__isLoading,x=!!(g?.__is_new||g?.__is_added||e?.original?.is_added||b?.is_added||g?.is_added||g?.is_new),S=!!(e?.original?.is_deleted||g?.__is_deleted||b?.is_deleted||g?.is_deleted),y=!!(e?.original?.is_modified||e?.original?.is_row_modified||g?.__is_modified||g?.__is_edited||b?.is_row_modified||g?.is_deleted)&&!x,vi=pi({"border-l-[3px] border-l-success-400 dark:border-l-success-500":x&&U&&R&&!_,"border-l-[3px] border-l-error-400 dark:border-l-error-500":S&&U&&R&&!_,"border-l-[3px] border-l-warning-400 dark:border-l-warning-500":y&&U&&R&&!_});return t.jsx("div",{ref:i?J:null,className:O?"border-2 border-primary-400 dark:border-primary-500 rounded-sm":"",children:t.jsxs("div",{className:pi("flex",vi),ref:Q?X:null,children:[W&&t.jsx(ae.PendingEditCell,{rowId:String(e.original.id),rowIndex:o,pendingEdits:T,tableHeaders:a,rowHasPendingEdits:!!C,rowHovering:c!=null?String(c):void 0,isInlineEditing:_,is_read:!!e.original.is_read,is_modified:y,is_row_modified:!!e.original.is_row_modified,is_deleted:S,is_added:x,is_incomplete:e?.original?.status==="Incomplete",showNewItem:E,onScrollToCell:di}),V&&t.jsx(ne.CheckboxCell,{checkboxConfig:Ci,id:String(e.original.id),rowHovering:c!=null?String(c):void 0,isDisabled:!!e?.original?.__isLoading,isDraggingOver:O,is_added:x,is_deleted:S,is_incomplete:e?.original?.status==="Incomplete",is_modified:y,is_read:!!e.original.is_read,is_row_modified:!!e.original.is_row_modified,showNewItem:E,currentData:b??{},bgColor:e?.original?.__rowBgStatus?bi.getTableRowBgClassNamesByStatus[e?.original?.__rowBgStatus]:void 0,isInlineEditing:_,hasPendingEditsColumn:W,rowHasPendingEdits:C}),Z?t.jsx(se.RowActionCell,{tableActions:Z,disableOptionsForRowIndex:z??null,id:String(e.original.id),index:o,is_read:!!e?.original?.is_read,is_incomplete:e?.original?.status==="Incomplete",showNewItem:!!E,is_modified:y,is_row_modified:!!e?.original?.is_row_modified,is_deleted:S,currentData:b??{},is_added:x,rowData:e.original,rowHovering:c,isDisabled:!!e?.original?.__isLoading,bgColor:ai?"bg-primary-50":e?.original?.__rowBgStatus?bi.getTableRowBgClassNamesByStatus[e?.original?.__rowBgStatus]:void 0,isInlineEditing:_,rowHasPendingEdits:C}):null,t.jsxs("div",{className:"relative flex-1",id:`row-${e.original.id}`,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1),children:[e.cells.filter(s=>s?.column?.visible!==!1).map((s,v)=>{const gi=v===M?.(),ci=v===(M?.()??-1)+1,ui=s?.column?.sticky?$?.(v)??0:0;if(e.original?.__isLoading)return t.jsx(le.LoaderCell,{cell:s,id:v,nextWidthSum:ui,isLastCell:gi,rowHovering:c,index:v,isFirstStickyCell:ci},v);const _i=si?.(String(e.original.id),s?.column?.key||""),K=oi?.(String(e.original.id),s?.column?.key||"");return t.jsx(te.DataCell,{cell:s,rowHovering:c,isFirstStickyCell:ci,level:D??0,toggleRowExpand:F,loadingExpand:xi,index:v,cellRef:w,currentData:b,handleCellClick:fi=>{fi&&ii(fi,u?e.original:String(e.original.id),v,s?.column?.key||"")},handleCellValueChange:N,handleUpdateCellData:ei,registerValidation:p,id:e.original.id,inlineEditing:ni,isInlineEditing:_,isLastCell:gi,is_incomplete:e?.original?.status==="Incomplete",is_added:x,is_deleted:S,is_modified:y,is_read:!!e.original.is_read,is_row_modified:!!e.original.is_row_modified,nextWidthSum:ui,setRowHovering:ti,highlightSubstring:li,isDraggingOver:O,isLoading:!!e?.original?.__isLoading,pendingEdit:_i,hasPendingEdit:K,pendingValidationError:_i?.validationError},s?.column?.key)}),A?.onHover&&L&&ie.createPortal(t.jsx("div",{className:"absolute top-full left-10 z-50 bg-white dark:bg-black-800 rounded-xl",children:A.onHover(e.original)}),document.getElementById(`row-${e.original.id}`))]}),(ri.length>0||!!q)&&t.jsx(oe.RowOptionsCell,{rowId:e.original.id,rowOptions:ri,disableOption:z!==null||!!e?.original?.__isLoading,rowHovering:c,setRowHovering:ti,is_read:!!e.original.is_read,showNewItem:!!E,is_modified:y,is_row_modified:!!e.original.is_row_modified,is_incomplete:e?.original?.status==="Incomplete",currentData:b??{},is_deleted:S,is_added:x,isDraggingOver:!!O,rowAdditionalActions:q,rowData:e.original,index:o,bgColor:e?.original?.__rowBgStatus?bi.getTableRowBgClassNamesByStatus[e?.original?.__rowBgStatus]:void 0,isInlineEditing:_,onConfirmEdit:B,onCancelEdit:H,rowHasPendingEdits:C})]})})};exports.Row=de;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),l=require("react"),pi=require("../../../../../constants/table.cjs.js"),$i=require("../../../../../providers/design-system-provider/hooks.cjs.js"),Mi=require("@dnd-kit/core"),wi=require("@dnd-kit/sortable"),ie=require("@dnd-kit/utilities"),Fi=require("@mui/icons-material"),ee=require("@mui/icons-material/AddRounded"),Ci=require("../../../../../_virtual/index.cjs.js"),ne=require("react-dom"),Ni=require("../../context.cjs.js"),te=require("../cell/ActionCell.cjs.js"),le=require("../cell/CheckboxCell.cjs.js"),ae=require("../cell/DataCell.cjs.js"),Hi=require("../../validateCell.cjs.js"),se=require("../cell/LoaderCell.cjs.js"),oe=require("../cell/PendingEditCell.cjs.js"),de=require("../cell/RowActionCell.cjs.js"),re=require("../cell/RowOptionsCell.cjs.js"),ge=({row:i,isLastRow:$,lastRow:w,highlightSubstring:ii,index:z,style:xi,level:e=0,expandedRows:c,rows:ei})=>{const{lastNonStickyColumnIndex:M,checkboxConfig:s,onRowClick:E,rowOptions:b,disableOptionsForRowIndex:F=null,getSumOfNextVisibleColumnWidth:ni,onRowEdit:H,inlineEditColumns:vi,tableActions:ti,dndSortableUtils:li,withSortable:f,withDraggable:N,getInnerRowData:ai,showNewItem:W,rawData:O,dragConfig:p,getFullRowDataOnClick:si,selectedRowId:r,rowWrapper:U,isCellClickDisabled:hi,rowAdditionalActions:j,hoverConfig:oi,addPendingEdit:D,removePendingEdit:P,fieldOperationLoading:di,clearRowPendingEdits:q,saveRowPendingEdits:K,pendingEdits:A}=l.useContext(Ni.TableContext),B=$i.useTableConfig(),ri=!!s,{activeInlineEdit:gi,setActiveInlineEdit:L}=l.useContext(Ni.TableContext),a=gi?.rowId===i.original.id?gi?.columnKey:null,u=!!a,ci=n=>{L?.(n===null?null:{rowId:String(i.original.id),columnKey:n})},[C,Y]=l.useState(null),[ui,_]=l.useState(null),[R,G]=l.useState(null),[x,S]=l.useState(!1),[y,J]=l.useState(!1),_i=l.useRef(null);l.useEffect(()=>{const n=_i.current,g=a;if(n&&!g){const h=A?.[i.original.id]?.[n];if(h){const d=i.cells?.find(m=>m.column?.key===n);if(d){const m=Hi.validateCellValue(h.value,d.column);!m.isValid&&D&&D(String(i.original.id),n,{...h,validationError:m.error})}}}_i.current=g??null},[a,i.original.id,i.cells,A,D]),l.useEffect(()=>{if(O){const n=String(i?.original?.id);G(O[n]?.[i?.cells[0].column.Header]||O[n]?.[0])}},[O,i?.original?.id,i?.cells]);const o=wi.useSortable({id:i.original.id,data:{...i.original},disabled:!f}),v=Mi.useDraggable({id:i.original.id,data:{...i.original},disabled:!!f}),{listeners:fi,transform:mi,setNodeRef:bi,isDragging:T,attributes:Ri,active:V,over:I,...Ui}=f?o:v,{setNodeRef:ji}=Mi.useDroppable({id:`table-file-dropzone-${i?.original?.id}`,data:{type:"table-file-dropzone",folderId:i?.original?.id,isFolder:i?.original?.type==="folder"}}),Ki={transform:ie.CSS.Transform.toString(mi),transition:f?Ui.transition:void 0,cursor:T?"grabbing":"grab",opacity:T?"0.5":"1"},Yi=()=>!V||!I||!f?!1:li?.checkOverEachItem?li.checkOverEachItem(V,I)&&!!I:V.data.current?.type!==I.data.current?.type&&!!I,Di=n=>{_(n.target.value)},Gi=()=>{di||ci(null)},Si=l.useRef(null),Ii=l.useCallback(n=>{Si.current=n},[]),Pi=l.useRef(B);Pi.current=B;const Bi=l.useCallback(()=>{q&&q(String(i.original.id))},[q,i.original.id]),Oi=l.useCallback(()=>{if(Si.current){const n=Si.current();if(!n.isValid)return;a&&n.value!==void 0&&D&&D(String(i.original.id),a,{value:n.value,originalValue:i.original[a],meta:n.meta||void 0})}else if(a){const n=i.cells?.find(g=>g.column?.key===a);if(n){const g=A?.[i.original.id]?.[a]?.value,h=g!==void 0?g:n.value,d=Hi.validateCellValue(h,n.column);if(!d.isValid){Pi.current?.showNotification?.("error",d.error||"Validation failed");return}}}K&&K(String(i.original.id))},[K,i.original,i.cells,a,D,A]),qi=(n,g)=>{const h={...i.original},d=n!==void 0?n:ui;a&&d!==void 0&&(h[a]=d,H&&H(h,z,a,d,g),P&&P(String(i.original.id),a)),Gi()},Ai=l.useRef(null),Li=(n,g,h,d)=>{if(!hi&&(n?.stopPropagation(),a!==d)){if(H){if(vi?.includes(d))ci(d),_(String(i.original[d]));else{const m=B?.getSystemMessage?.("notAllowedInlineEdit")||"Inline Edit is not allowed for this column";B?.showNotification?.("error",m)}return}if(E)E(g,h,i.original,ei?.map(m=>m.original)||[]);else if(!E&&s){const m=i.original.id,Zi={target:{checked:!s.checkedIds.includes(m)}};s.onItemCheck(Zi,m)}}},Ti=async()=>{S(!0),ai&&await ai(i?.original?.id,i?.original,!(c?.[i?.original?.id]?.isOpen??!1),i?.original?.__level||0),S(!1)},Ji=l.useMemo(()=>i.cells.filter(n=>n.column?.visible).map(n=>n.column?.width??0).reduce((n,g)=>n+g,0),[i.cells]),Q=l.useMemo(()=>p?.draggingOver&&p?.draggingOver===i?.original?.id,[p,i?.original?.id]),yi=l.useMemo(()=>Q?p?.dropPosition||"inside":null,[Q,p?.dropPosition]),X=!!(Q&&yi==="inside"),k=i?.original?.__rowMetadata||i?.original?._meta,Z=C!==i?.original?.id,ki=!i?.original?.__isLoading,Vi=!!(k?.__is_new||k?.__is_added||i?.original?.is_added||R?.is_added||k?.is_added||k?.is_new),Qi=!!(i?.original?.is_deleted||k?.__is_deleted||R?.is_deleted||k?.is_deleted),Xi=!!(i?.original?.is_modified||i?.original?.is_row_modified||k?.__is_modified||k?.__is_edited||R?.is_row_modified||k?.is_modified)&&!Vi,Ei=r!=null&&String(r)===String(i?.original?.id),zi=Ci({"bg-neutral-100 dark:bg-black-600":C===i?.original?.id&&!u,"bg-primary-100 dark:bg-primary-950":Ei&&Z&&!u,"bg-primary-50 dark:bg-black-700":!i?.original?.is_read&&W&&!i?.original?.__isLoading&&Z&&!u,"bg-warning-50 dark:bg-warning-975":Xi&&ki&&Z&&!u,"bg-error-50 dark:bg-error-975":Qi&&ki&&Z&&!u,"bg-success-50 dark:bg-success-975":Vi&&ki&&Z&&!u,"bg-primary-50 dark:bg-primary-900":u,[pi.getTableRowBgClassNamesByStatus[i?.original?.__rowBgStatus]]:i?.original?.__rowBgStatus&&!u});return l.createElement("tr",{...i.getRowProps(),ref:N||f?bi:null,key:i.original.id,"data-row-id":i.original.id,className:Ci(`text-neutral-900 dark:text-white cursor-pointer min-w-full relative ${s?.selectionDisabledRowIds?.includes(i?.original?.id)?"opacity-50":""} border-t`,T?"z-40":"",Yi()?"shadow-dnd-drop":"",N&&I&&I?.data?.current?.type==="table-file-dropzone"&&I?.data?.current?.folderId===i?.original?.id&&i?.original?.type==="folder"?"bg-primary-50":"",i?.original?.isDefinedActionRow?"bg-primary-50":"",X?"z-50":"",zi||"bg-white dark:bg-black-800"),style:{...xi,...f?Ki:{},width:"max-content"},...N||f?Ri:{},...N||f?fi:{}},X&&p?.dragOperation?t.jsx("div",{className:"absolute right-2 h-row flex items-center z-20 pointer-events-none",children:t.jsx("div",{className:"bg-primary-200 px-2 py-1 rounded",children:p?.dragOperation==="COPY"?t.jsx(ee,{sx:{fontSize:12},className:"text-primary-700"}):t.jsx(Fi.SubdirectoryArrowLeftRounded,{sx:{fontSize:12},className:"text-primary-700"})})}):null,X&&!p?.dragOperation?t.jsx("div",{className:"absolute right-2 h-row flex items-center z-20 pointer-events-none",children:t.jsx(Fi.SubdirectoryArrowLeftRounded,{sx:{fontSize:16},className:"text-primary-500"})}):null,Q&&yi==="before"&&!i?.original?.isDefinedActionRow?t.jsx("div",{className:"absolute -top-[1px] left-0 right-0 h-[2px] bg-primary-500 z-20 pointer-events-none",children:t.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-primary-500"})}):null,Q&&yi==="after"&&!i?.original?.isDefinedActionRow?t.jsx("div",{className:"absolute -bottom-[1px] left-0 right-0 h-[2px] bg-primary-500 z-20 pointer-events-none",children:t.jsx("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-primary-500"})}):null,i?.original?.isDefinedActionRow?t.jsx(te.ActionCell,{cells:i.cells,id:i?.original?.id,isCheckbox:s,level:e,name:i?.original?.name,onClick:i?.original?.onClick,rowHovering:C||"",isRoot:i?.original?.isRoot,totalWidth:Ji,row:i.original,uploadCell:i?.original?.uploadCell,disabled:i?.original?.disabled,disabledTooltip:i?.original?.disabledTooltip}):U?t.jsx(U,{data:i.original,setIsDraggingFile:J,children:t.jsx(Wi,{isDraggingOver:X,level:e,withDraggable:N,setDroppableNodeRef:ji,isLastRow:$,lastRow:w,isCheckbox:ri,checkboxConfig:s,row:i,rowHovering:C,tableActions:ti,disableOptionsForRowIndex:F,index:z,showNewItem:W,currentData:R,lastNonStickyColumnIndex:M,getSumOfNextVisibleColumnWidth:ni,toggleRowExpand:Ti,loadingExpand:x,cellRef:Ai,handleCellClick:Li,getFullRowDataOnClick:si,handleCellValueChange:Di,handleUpdateCellData:qi,handleRowCancelEdit:Bi,handleRowConfirmEdit:Oi,registerValidation:Ii,inlineEditing:a,isInlineEditing:u,setRowHovering:Y,highlightSubstring:ii,rowOptions:b,isDraggingFile:y,rowAdditionalActions:j,hoverConfig:oi,isSelected:Ei})}):t.jsx(Wi,{level:e,withDraggable:N,setDroppableNodeRef:ji,isLastRow:$,lastRow:w,isCheckbox:ri,checkboxConfig:s,row:i,rowHovering:C,tableActions:ti,disableOptionsForRowIndex:F,index:z,showNewItem:W,currentData:R,lastNonStickyColumnIndex:M,getSumOfNextVisibleColumnWidth:ni,toggleRowExpand:Ti,loadingExpand:x,cellRef:Ai,handleCellClick:Li,getFullRowDataOnClick:si,handleCellValueChange:Di,handleUpdateCellData:qi,handleRowCancelEdit:Bi,handleRowConfirmEdit:Oi,registerValidation:Ii,inlineEditing:a,isInlineEditing:u,setRowHovering:Y,highlightSubstring:ii,rowOptions:b,isDraggingFile:y,isDraggingOver:X,rowAdditionalActions:j,hoverConfig:oi,isSelected:Ei}))},Wi=({withDraggable:i,setDroppableNodeRef:$,isLastRow:w,lastRow:ii,isCheckbox:z,checkboxConfig:xi,row:e,rowHovering:c,tableActions:ei,disableOptionsForRowIndex:M,index:s,showNewItem:E,currentData:b,lastNonStickyColumnIndex:F,getSumOfNextVisibleColumnWidth:ni,toggleRowExpand:H,loadingExpand:vi,cellRef:ti,handleCellClick:li,getFullRowDataOnClick:f,handleCellValueChange:N,handleUpdateCellData:ai,handleRowCancelEdit:W,handleRowConfirmEdit:O,registerValidation:p,inlineEditing:si,isInlineEditing:r,setRowHovering:U,highlightSubstring:hi,rowOptions:j,level:oi,isDraggingFile:D,isDraggingOver:P,rowAdditionalActions:di,hoverConfig:q,isSelected:K})=>{const[A,B]=l.useState(!1),{getPendingEdit:ri,hasPendingEdit:gi,pendingEdits:L,tableHeaders:a,pendingEditsCount:u,scrollToCell:ci}=l.useContext(Ni.TableContext),C=L?.[e.original.id]&&Object.keys(L[e.original.id]).length>0,Y=(u??0)>0,ui=l.useMemo(()=>{if(Array.isArray(j))return j;if(typeof j=="function"){const o=j({...e.original,rowIndex:s});return Array.isArray(o)?o:[]}return[]},[j,e.original,s]),_=e?.original?.__rowMetadata||e?.original?._meta,R=c!==e?.original?.id,G=!e?.original?.__isLoading,x=!!(_?.__is_new||_?.__is_added||e?.original?.is_added||b?.is_added||_?.is_added||_?.is_new),S=!!(e?.original?.is_deleted||_?.__is_deleted||b?.is_deleted||_?.is_deleted),y=!!(e?.original?.is_modified||e?.original?.is_row_modified||_?.__is_modified||_?.__is_edited||b?.is_row_modified||_?.is_deleted)&&!x,J=K&&!r&&c!==e?.original?.id?"bg-primary-100 dark:bg-primary-950":void 0,_i=Ci({"border-l-[3px] border-l-success-400 dark:border-l-success-500":x&&G&&R&&!r,"border-l-[3px] border-l-error-400 dark:border-l-error-500":S&&G&&R&&!r,"border-l-[3px] border-l-warning-400 dark:border-l-warning-500":y&&G&&R&&!r});return t.jsx("div",{ref:i?$:null,className:P?"border-2 border-primary-400 dark:border-primary-500 rounded-sm":"",children:t.jsxs("div",{className:Ci("flex",_i),ref:w?ii:null,children:[Y&&t.jsx(oe.PendingEditCell,{rowId:String(e.original.id),rowIndex:s,pendingEdits:L,tableHeaders:a,rowHasPendingEdits:!!C,rowHovering:c!=null?String(c):void 0,isInlineEditing:r,is_read:!!e.original.is_read,is_modified:y,is_row_modified:!!e.original.is_row_modified,is_deleted:S,is_added:x,is_incomplete:e?.original?.status==="Incomplete",showNewItem:E,onScrollToCell:ci}),z&&t.jsx(le.CheckboxCell,{checkboxConfig:xi,id:String(e.original.id),rowHovering:c!=null?String(c):void 0,isDisabled:!!e?.original?.__isLoading,isDraggingOver:P,is_added:x,is_deleted:S,is_incomplete:e?.original?.status==="Incomplete",is_modified:y,is_read:!!e.original.is_read,is_row_modified:!!e.original.is_row_modified,showNewItem:E,currentData:b??{},bgColor:e?.original?.__rowBgStatus?pi.getTableRowBgClassNamesByStatus[e?.original?.__rowBgStatus]:J,isInlineEditing:r,hasPendingEditsColumn:Y,rowHasPendingEdits:C}),ei?t.jsx(de.RowActionCell,{tableActions:ei,disableOptionsForRowIndex:M??null,id:String(e.original.id),index:s,is_read:!!e?.original?.is_read,is_incomplete:e?.original?.status==="Incomplete",showNewItem:!!E,is_modified:y,is_row_modified:!!e?.original?.is_row_modified,is_deleted:S,currentData:b??{},is_added:x,rowData:e.original,rowHovering:c,isDisabled:!!e?.original?.__isLoading,bgColor:D?"bg-primary-50":e?.original?.__rowBgStatus?pi.getTableRowBgClassNamesByStatus[e?.original?.__rowBgStatus]:J,isInlineEditing:r,rowHasPendingEdits:C}):null,t.jsxs("div",{className:"relative flex-1",id:`row-${e.original.id}`,onMouseEnter:()=>B(!0),onMouseLeave:()=>B(!1),children:[e.cells.filter(o=>o?.column?.visible!==!1).map((o,v)=>{const fi=v===F?.(),mi=v===(F?.()??-1)+1,bi=o?.column?.sticky?ni?.(v)??0:0;if(e.original?.__isLoading)return t.jsx(se.LoaderCell,{cell:o,id:v,nextWidthSum:bi,isLastCell:fi,rowHovering:c,index:v,isFirstStickyCell:mi},v);const T=ri?.(String(e.original.id),o?.column?.key||""),Ri=gi?.(String(e.original.id),o?.column?.key||"");return t.jsx(ae.DataCell,{cell:o,rowHovering:c,isFirstStickyCell:mi,level:oi??0,toggleRowExpand:H,loadingExpand:vi,index:v,cellRef:ti,currentData:b,handleCellClick:V=>{V&&li(V,f?e.original:String(e.original.id),v,o?.column?.key||"")},handleCellValueChange:N,handleUpdateCellData:ai,registerValidation:p,id:e.original.id,inlineEditing:si,isInlineEditing:r,isLastCell:fi,is_incomplete:e?.original?.status==="Incomplete",is_added:x,is_deleted:S,is_modified:y,is_read:!!e.original.is_read,is_row_modified:!!e.original.is_row_modified,nextWidthSum:bi,setRowHovering:U,highlightSubstring:hi,isDraggingOver:P,isLoading:!!e?.original?.__isLoading,pendingEdit:T,hasPendingEdit:Ri,pendingValidationError:T?.validationError},o?.column?.key)}),q?.onHover&&A&&ne.createPortal(t.jsx("div",{className:"absolute top-full left-10 z-50 bg-white dark:bg-black-800 rounded-xl",children:q.onHover(e.original)}),document.getElementById(`row-${e.original.id}`))]}),(ui.length>0||!!di)&&t.jsx(re.RowOptionsCell,{rowId:e.original.id,rowOptions:ui,disableOption:M!==null||!!e?.original?.__isLoading,rowHovering:c,setRowHovering:U,is_read:!!e.original.is_read,showNewItem:!!E,is_modified:y,is_row_modified:!!e.original.is_row_modified,is_incomplete:e?.original?.status==="Incomplete",currentData:b??{},is_deleted:S,is_added:x,isDraggingOver:!!P,rowAdditionalActions:di,rowData:e.original,index:s,bgColor:e?.original?.__rowBgStatus?pi.getTableRowBgClassNamesByStatus[e?.original?.__rowBgStatus]:J,isInlineEditing:r,onConfirmEdit:O,onCancelEdit:W,rowHasPendingEdits:C})]})})};exports.Row=ge;
|
|
2
2
|
//# sourceMappingURL=row.cjs.js.map
|