@rolster/react-components 18.26.16 → 18.26.18

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.
@@ -2888,34 +2888,61 @@
2888
2888
  } /*# sourceMappingURL=FieldSelect.css.map */
2889
2889
 
2890
2890
  .rls-form-navigation {
2891
+ --pvt-component-transform: translateX(100%);
2892
+ --pvt-component-opacity: 0;
2893
+ --pvt-component-visibility: hidden;
2894
+ --pvt-component-transition: 160ms;
2895
+ --pvt-backdrop-opacity: 0;
2896
+ --pvt-backdrop-bottom: initial;
2891
2897
  position: fixed;
2892
- top: var(--rls-sizing-x8);
2893
- right: var(--rls-sizing-x8);
2894
- width: calc(100% - var(--rls-sizing-x16));
2895
- max-width: 160rem;
2896
- height: auto;
2897
- max-height: calc(var(--rls-html-max-height) - var(--rls-sizing-x16));
2898
- z-index: var(--rls-z-index-12);
2899
- padding: var(--rls-sizing-x8) var(--rls-sizing-x8) var(--rls-sizing-x12)
2900
- var(--rls-sizing-x8);
2901
- box-sizing: border-box;
2902
- background: var(--rls-app-color-050);
2903
- border-radius: var(--rls-sizing-x4);
2904
- box-shadow: var(--rls-dark-shadow-center-8);
2905
- transform: translateX(calc(100% + var(--rls-sizing-x16)));
2906
- transition: transform 240ms 0ms var(--rls-standard-curve);
2898
+ display: flex;
2899
+ top: 0rem;
2900
+ left: 0rem;
2901
+ width: 100%;
2902
+ height: 100%;
2903
+ z-index: var(--rls-z-index-24);
2904
+ visibility: hidden;
2905
+ justify-content: flex-end;
2907
2906
  }
2908
2907
  .rls-form-navigation--visible {
2909
- transform: translateX(0%);
2908
+ --pvt-component-visibility: visible;
2909
+ --pvt-component-opacity: 1;
2910
+ --pvt-component-transform: translateX(0%);
2911
+ --pvt-backdrop-bottom: 0rem;
2912
+ --pvt-backdrop-opacity: 1;
2913
+ visibility: visible;
2910
2914
  }
2911
- .rls-form-navigation__header {
2912
- margin-bottom: var(--rls-sizing-x8);
2915
+ .rls-form-navigation__component {
2916
+ position: absolute;
2917
+ display: flex;
2918
+ width: calc(100% - var(--rls-sizing-x16));
2919
+ max-width: var(--rlc-form-navigation-max-width, 160rem);
2920
+ height: 100%;
2921
+ flex-direction: column;
2922
+ opacity: var(--pvt-component-opacity);
2923
+ visibility: var(--pvt-component-visibility);
2924
+ z-index: var(--rls-z-index-2);
2925
+ border-radius: var(--rls-sizing-x4) 0rem 0rem var(--rls-sizing-x4);
2926
+ background: var(--rlc-form-navigation-background, var(--rls-app-color-050));
2927
+ transform: var(--pvt-component-transform);
2928
+ transition: opacity var(--pvt-component-transition) 0ms
2929
+ var(--rls-deceleration-curve),
2930
+ transform var(--pvt-component-transition) 0ms var(--rls-deceleration-curve),
2931
+ visibility var(--pvt-component-transition) 0ms var(--rls-deceleration-curve);
2913
2932
  }
2914
- .rls-form-navigation__header .rls-button-action {
2915
- width: var(--rls-sizing-x12);
2916
- height: var(--rls-sizing-x12);
2917
- padding: 0rem;
2918
- float: right;
2933
+ .rls-form-navigation__backdrop {
2934
+ position: absolute;
2935
+ display: block;
2936
+ top: 0rem;
2937
+ left: 0rem;
2938
+ right: 0rem;
2939
+ bottom: var(--pvt-backdrop-bottom);
2940
+ opacity: var(--pvt-backdrop-opacity);
2941
+ z-index: 1;
2942
+ background: var(--rls-theme-backdrop-900);
2943
+ backdrop-filter: blur(2px);
2944
+ transition: opacity 120ms 0ms var(--rls-deceleration-curve),
2945
+ bottom 120ms 0ms var(--rls-deceleration-curve);
2919
2946
  } /*# sourceMappingURL=FormNavigation.css.map */
2920
2947
 
2921
2948
  .rls-image-editor {
package/dist/cjs/index.js CHANGED
@@ -2602,7 +2602,7 @@ function RlsDatatable({ children, datatable, footer, header, identifier, rlsThem
2602
2602
  scrolleable: datatable?.scrolleable
2603
2603
  });
2604
2604
  }, [datatable]);
2605
- return (jsxRuntimeExports.jsxs("div", { className: className, "rls-theme": rlsTheme, children: [toolbar && jsxRuntimeExports.jsx("div", { className: "rls-datatable__toolbar", children: toolbar }), jsxRuntimeExports.jsxs("table", { id: identifier, children: [header && jsxRuntimeExports.jsx("thead", { className: "rls-datatable__head", children: header }), jsxRuntimeExports.jsx("tbody", { ref: datatable?.tableRef, className: "rls-datatable__body", children: children })] }), summary && jsxRuntimeExports.jsx("div", { className: "rls-datatable__summary", children: summary }), footer && jsxRuntimeExports.jsx("div", { className: "rls-datatable__footer", children: footer })] }));
2605
+ return (jsxRuntimeExports.jsxs("div", { className: className, "rls-theme": rlsTheme, children: [toolbar && jsxRuntimeExports.jsx("div", { className: "rls-datatable__toolbar", children: toolbar }), jsxRuntimeExports.jsx("div", { className: "rls-datatable__table", children: jsxRuntimeExports.jsxs("table", { id: identifier, children: [header && jsxRuntimeExports.jsx("thead", { className: "rls-datatable__head", children: header }), jsxRuntimeExports.jsx("tbody", { ref: datatable?.tableRef, className: "rls-datatable__body", children: children })] }) }), summary && jsxRuntimeExports.jsx("div", { className: "rls-datatable__summary", children: summary }), footer && jsxRuntimeExports.jsx("div", { className: "rls-datatable__footer", children: footer })] }));
2606
2606
  }
2607
2607
  function RlsDatatableHeader({ children, identifier, rlsTheme }) {
2608
2608
  return (jsxRuntimeExports.jsx("tr", { id: identifier, className: "rls-datatable__header", "rls-theme": rlsTheme, children: children }));
@@ -3362,11 +3362,39 @@ function RlsFieldSelect(props) {
3362
3362
  return jsxRuntimeExports.jsx(RlsFieldSelectTemplate, { ...props, render: render });
3363
3363
  }
3364
3364
 
3365
- function RlsFormNavigation({ children, visible, rlsTheme }) {
3366
- const className = require$$0.useMemo(() => {
3367
- return renderClassStatus('rls-form-navigation', { visible });
3368
- }, [visible]);
3369
- return (jsxRuntimeExports.jsx("div", { className: className, "rls-theme": rlsTheme, children: jsxRuntimeExports.jsx("div", { className: "rls-form-navigation__body", children: children }) }));
3365
+ function RlsFormNavigation({ onAutoClose, children, className, visible, rlsTheme }) {
3366
+ const classNameForm = require$$0.useMemo(() => {
3367
+ return renderClassStatus('rls-form-navigation', { visible }, className);
3368
+ }, [visible, className]);
3369
+ const onClickBackdrop = require$$0.useCallback(() => {
3370
+ onAutoClose && onAutoClose();
3371
+ }, [onAutoClose]);
3372
+ return ReactDOM.createPortal(jsxRuntimeExports.jsxs("div", { className: classNameForm, "rls-theme": rlsTheme, children: [jsxRuntimeExports.jsx("div", { className: "rls-form-navigation__component", children: children }), jsxRuntimeExports.jsx("div", { className: "rls-form-navigation__backdrop", onClick: onClickBackdrop })] }), document.body);
3373
+ }
3374
+
3375
+ function usePortalController(component) {
3376
+ const [children, setChildren] = require$$0.useState(component);
3377
+ const [visible, setVisible] = require$$0.useState(false);
3378
+ const open = require$$0.useCallback((children) => {
3379
+ setVisible(true);
3380
+ children && setChildren(children);
3381
+ }, []);
3382
+ const close = require$$0.useCallback(() => {
3383
+ setVisible(false);
3384
+ }, []);
3385
+ return { children, close, open, visible };
3386
+ }
3387
+
3388
+ function useFormNavigationController(component) {
3389
+ const portal = usePortalController(component);
3390
+ const FormNavigation = require$$0.useMemo(() => {
3391
+ return (jsxRuntimeExports.jsx(RlsFormNavigation, { visible: portal.visible, children: portal.children }));
3392
+ }, [portal.children, portal.visible]);
3393
+ return {
3394
+ close: portal.close,
3395
+ FormNavigation,
3396
+ open: portal.open
3397
+ };
3370
3398
  }
3371
3399
 
3372
3400
  function useRelocationOnComponent({ container, element, onDrag }) {
@@ -4015,6 +4043,7 @@ exports.useConfirmation = useConfirmation;
4015
4043
  exports.useDatatable = useDatatable;
4016
4044
  exports.useFieldAutocomplete = useFieldAutocomplete;
4017
4045
  exports.useFieldSelect = useFieldSelect;
4046
+ exports.useFormNavigationController = useFormNavigationController;
4018
4047
  exports.useFormSingleSelectionController = useFormSingleSelectionController;
4019
4048
  exports.useFormToggleController = useFormToggleController;
4020
4049
  exports.useImageEditorController = useImageEditorController;