UNPKG

@coveord/plasma-mantine

Version:

A Plasma flavoured Mantine theme

70 lines (69 loc) 2.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "TableLastUpdated", { enumerable: true, get: function() { return TableLastUpdated; } }); var _interop_require_default = require("@swc/helpers/_/_interop_require_default"); var _object_spread = require("@swc/helpers/_/_object_spread"); var _object_spread_props = require("@swc/helpers/_/_object_spread_props"); var _object_without_properties = require("@swc/helpers/_/_object_without_properties"); var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array"); var _jsxruntime = require("react/jsx-runtime"); var _core = require("@mantine/core"); var _hooks = require("@mantine/hooks"); var _dayjs = /*#__PURE__*/ _interop_require_default._(require("dayjs")); var _react = require("react"); var _TableContext = require("../TableContext"); var defaultProps = { label: 'Last update:' }; var TableLastUpdated = (0, _core.factory)(function(props, ref) { var _useTableContext = (0, _TableContext.useTableContext)(), table = _useTableContext.table, getStyles = _useTableContext.getStyles; var _useProps = (0, _core.useProps)('PlasmaTableLastUpdated', defaultProps, props), label = _useProps.label, classNames = _useProps.classNames, className = _useProps.className, styles = _useProps.styles, style = _useProps.style, vars = _useProps.vars, others = _object_without_properties._(_useProps, [ "label", "classNames", "className", "styles", "style", "vars" ]); var _useState = _sliced_to_array._((0, _react.useState)(new Date()), 2), time = _useState[0], setTime = _useState[1]; (0, _hooks.useDidUpdate)(function() { setTime(new Date()); }, [ table.options.data ]); var stylesApiProps = { classNames: classNames, styles: styles }; return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Group, _object_spread_props._(_object_spread._({ px: "xl", justify: "right", ref: ref }, getStyles('lastUpdatedRoot', _object_spread._({ className: className, style: style }, stylesApiProps)), others), { children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Text, _object_spread_props._(_object_spread._({ size: "xs" }, getStyles('lastUpdatedLabel', _object_spread._({ className: className, style: style }, stylesApiProps))), { children: [ label, /*#__PURE__*/ (0, _jsxruntime.jsx)("span", { role: "timer", children: (0, _dayjs.default)(time).format('h:mm:ss A') }) ] })) })); }); //# sourceMappingURL=TableLastUpdated.js.map