@loja-integrada/admin-components 0.11.0 → 0.12.3

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.
@@ -15,7 +15,7 @@ export interface ButtonProps extends ButtonAnchorProps {
15
15
  /** Button variant
16
16
  * @default primary
17
17
  * */
18
- variant?: 'primary' | 'secondary' | 'tertiary' | 'info' | 'warning' | 'danger' | 'outline' | 'onlyText';
18
+ variant?: 'primary' | 'secondary' | 'outlineSecondary' | 'tertiary' | 'info' | 'warning' | 'danger' | 'outline' | 'onlyText';
19
19
  /**
20
20
  * Button is loading
21
21
  * */
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { TippyProps } from '@tippyjs/react';
3
- export declare const Tooltip: React.MemoExoticComponent<import("styled-components").StyledComponent<(props: TooltipProps) => JSX.Element, any, {}, never>>;
3
+ export declare const Tooltip: React.MemoExoticComponent<(props: TooltipProps) => JSX.Element>;
4
4
  export interface TooltipProps extends TippyProps {
5
5
  /** Tooltip append
6
6
  * @default 'parent'
@@ -30,4 +30,8 @@ export interface TooltipProps extends TippyProps {
30
30
  * @default false
31
31
  * */
32
32
  interactive?: TippyProps['interactive'];
33
+ /** Tooltip theme
34
+ * @default dark
35
+ * */
36
+ theme?: 'light' | 'dark';
33
37
  }
@@ -604,6 +604,7 @@ var Icon = /*#__PURE__*/React__default.memo(function (_ref) {
604
604
  var listOfStylesHover = {
605
605
  primary: "hover:bg-primary-dark",
606
606
  secondary: "hover:bg-secondary-dark",
607
+ outlineSecondary: "hover:bg-primary-light",
607
608
  tertiary: "hover:bg-tertiary-dark",
608
609
  info: "hover:bg-secondary-bold",
609
610
  warning: "hover:bg-warning-dark",
@@ -614,6 +615,7 @@ var listOfStylesHover = {
614
615
  var listOfStylesActive = {
615
616
  primary: "active:bg-primary-bold",
616
617
  secondary: "active:shadow-inner",
618
+ outlineSecondary: "active:shadow-inner active:bg-base-1",
617
619
  tertiary: "active:bg-tertiary-bold",
618
620
  warning: "active:bg-warning-bold",
619
621
  danger: "hover:bg-danger-bold",
@@ -623,6 +625,7 @@ var listOfStylesActive = {
623
625
  var listOfStylesFocus = {
624
626
  primary: "focus:ring-1 focus:ring-primary-dark focus:ring-opacity-50",
625
627
  secondary: "focus:ring focus:ring-focus",
628
+ outlineSecondary: "focus:ring-2 focus:ring-focus focus:ring-offset-1",
626
629
  danger: "focus:ring-1 focus:ring-danger-dark",
627
630
  outline: "focus:ring-2 focus:ring-focus focus:ring-offset-1",
628
631
  onlyText: "focus:bg-base-1"
@@ -630,6 +633,7 @@ var listOfStylesFocus = {
630
633
  var listOfStyles = {
631
634
  primary: "bg-primary text-base-1 " + listOfStylesHover['primary'] + " " + listOfStylesActive['primary'] + " " + listOfStylesFocus['primary'],
632
635
  secondary: "bg-secondary text-primary " + listOfStylesHover['secondary'] + " " + listOfStylesActive['secondary'],
636
+ outlineSecondary: "bg-transparent text-primary border border-primary " + listOfStylesHover['outlineSecondary'] + " " + listOfStylesActive['outlineSecondary'] + " " + listOfStylesFocus['outlineSecondary'],
633
637
  tertiary: "bg-inverted-2 text-on-primary " + listOfStylesHover['tertiary'] + " " + listOfStylesActive['tertiary'],
634
638
  info: "bg-secondary-dark text-base-1 " + listOfStylesHover['info'],
635
639
  warning: "bg-warning text-on-base " + listOfStylesHover['warning'] + " " + listOfStylesActive['warning'],
@@ -641,6 +645,7 @@ var defaultDisabledStyle = "bg-base-3 cursor-default text-on-base-2 shadow-none
641
645
  var listOfStylesDisabled = {
642
646
  primary: defaultDisabledStyle,
643
647
  secondary: "bg-base-2 cursor-default text-card-stroke shadow-none ring-0 border-0 ",
648
+ outlineSecondary: "bg-base-2 cursor-default text-card-stroke shadow-none ring-0 border-0 ",
644
649
  tertiary: defaultDisabledStyle,
645
650
  info: defaultDisabledStyle,
646
651
  warning: defaultDisabledStyle,
@@ -661,6 +666,12 @@ var ButtonType = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
661
666
  if (as === 'a' || props.href) return React__default.createElement("a", Object.assign({}, props, {
662
667
  ref: ref
663
668
  }), children);
669
+
670
+ if (!props.type) {
671
+ // Default to button when missing type
672
+ props.type = 'button';
673
+ }
674
+
664
675
  return React__default.createElement("button", Object.assign({}, props, {
665
676
  ref: ref
666
677
  }), children);
@@ -991,9 +1002,9 @@ var formatValuePatterns = {
991
1002
  },
992
1003
  onlyText: {
993
1004
  mask: function mask(rawValue) {
994
- var onlyText = rawValue.replace(/[^a-zA-ZÀ-ú'~0-9\s]/g, '').split('');
1005
+ var onlyText = rawValue.replace(/[^a-zA-ZÀ-ú'˜0-9\]/g, '').split('');
995
1006
  return onlyText.map(function () {
996
- return /[a-zA-ZÀ-ú'~´`^0-9\s]/g;
1007
+ return /[a-zA-ZÀ-ú'˜`´^0-9\]/g;
997
1008
  });
998
1009
  }
999
1010
  },
@@ -1282,7 +1293,7 @@ var SelectComponent = function SelectComponent(_ref, ref) {
1282
1293
  inputClass = inputClasses + " " + selectClasses + " " + variantClasses[variant];
1283
1294
 
1284
1295
  if (disabled) {
1285
- inputClass += " " + defaultBorderClasses + " " + inputContainerDisabledClasses;
1296
+ inputClass += " " + defaultBorderClasses + " " + inputContainerDisabledClasses + " opacity-100";
1286
1297
  } else if (hasErrorState) {
1287
1298
  inputClass += " " + errorBorderClasses;
1288
1299
  } else {
@@ -1349,6 +1360,8 @@ var ToggleComponent = function ToggleComponent(_ref, ref) {
1349
1360
  isChecked = _React$useState[0],
1350
1361
  setIsChecked = _React$useState[1];
1351
1362
 
1363
+ var toggleStatusText = disabled ? 'disabled' : 'enabled';
1364
+ var toggleCheckText = isChecked ? 'checked' : 'unchecked';
1352
1365
  React__default.useEffect(function () {
1353
1366
  setIsChecked(!!checked);
1354
1367
  }, [checked]);
@@ -1359,9 +1372,31 @@ var ToggleComponent = function ToggleComponent(_ref, ref) {
1359
1372
  onChange && onChange(event);
1360
1373
  };
1361
1374
 
1375
+ var toggleClasses = {
1376
+ background: {
1377
+ checked: {
1378
+ enabled: 'bg-primary border-primary',
1379
+ disabled: 'bg-base-3 border-card-stroke'
1380
+ },
1381
+ unchecked: {
1382
+ enabled: 'bg-base-1 border-card-stroke',
1383
+ disabled: 'bg-base-3 border-card-stroke'
1384
+ }
1385
+ },
1386
+ circle: {
1387
+ checked: {
1388
+ enabled: 'translate-x-full ml-px bg-base-1',
1389
+ disabled: 'translate-x-full ml-px bg-base-1'
1390
+ },
1391
+ unchecked: {
1392
+ enabled: 'translate-x-0 bg-inverted-2',
1393
+ disabled: 'translate-x-0 bg-base-1'
1394
+ }
1395
+ }
1396
+ };
1362
1397
  var toggleContainerDisabledClasses = (disabled ? 'pointer-events-none' : '') + " relative";
1363
- var toggleBackgroundClasses = "block border border-card-stroke w-[53px] h-8 rounded-full\n " + (disabled ? ' bg-base-3' : ' bg-base-1') + " ";
1364
- var toggleCircleClasses = "transform " + (!isChecked ? 'translate-x-0 bg-inverted-2' : 'translate-x-full ml-px ' + (disabled ? 'bg-base-1' : 'bg-primary')) + " absolute left-[6px] top-[6px] w-5 h-5 rounded-full transition";
1398
+ var toggleBackgroundClasses = "block border w-[53px] h-8 rounded-full " + toggleClasses.background[toggleCheckText][toggleStatusText] + " transition";
1399
+ var toggleCircleClasses = "transform " + toggleClasses.circle[toggleCheckText][toggleStatusText] + " absolute left-[6px] top-[6px] w-5 h-5 rounded-full transition";
1365
1400
  var toggleLabelClasses = "ml-2 text-inverted-1 text-f6 tracking-4 label";
1366
1401
  return React__default.createElement("label", {
1367
1402
  htmlFor: inputId,
@@ -1384,8 +1419,8 @@ var ToggleComponent = function ToggleComponent(_ref, ref) {
1384
1419
  }, label));
1385
1420
  };
1386
1421
 
1387
- var ToggleWithFowardRef = /*#__PURE__*/React__default.forwardRef(ToggleComponent);
1388
- var Toggle = /*#__PURE__*/React__default.memo(ToggleWithFowardRef);
1422
+ var ToggleWithForwardRef = /*#__PURE__*/React__default.forwardRef(ToggleComponent);
1423
+ var Toggle = /*#__PURE__*/React__default.memo(ToggleWithForwardRef);
1389
1424
 
1390
1425
  var sizeClasses = {
1391
1426
  "default": 'h-12',
@@ -1474,7 +1509,7 @@ var CustomPlaceholder = function CustomPlaceholder(props) {
1474
1509
 
1475
1510
  var CustomSingleValue = function CustomSingleValue(props, variant) {
1476
1511
  return React__default.createElement(SingleValue, Object.assign({}, props, {
1477
- className: "text-f6 tracking-4 text-inverted-2 text-sm truncate " + variantValueClasses[variant]
1512
+ className: "text-f6 tracking-4 text-on-base text-sm truncate " + variantValueClasses[variant]
1478
1513
  }));
1479
1514
  };
1480
1515
 
@@ -2445,19 +2480,34 @@ var TooltipComponent = function TooltipComponent(props) {
2445
2480
  computedProps.content = mounted ? props.content : '';
2446
2481
  }
2447
2482
 
2448
- return React__default.createElement(Tippy, Object.assign({}, computedProps, {
2483
+ return React__default.createElement(StyledTooltipComponent, Object.assign({}, computedProps, {
2449
2484
  appendTo: (props == null ? void 0 : props.appendTo) || 'parent',
2450
2485
  hideOnClick: (props == null ? void 0 : props.hideOnClick) || false,
2451
2486
  trigger: (props == null ? void 0 : props.trigger) || 'mouseenter',
2452
2487
  touch: (props == null ? void 0 : props.touch) || ['hold', 400],
2453
2488
  duration: (props == null ? void 0 : props.duration) || 150,
2454
2489
  placement: ((_window = window) == null ? void 0 : _window.innerWidth) < 1024 ? 'top' : (props == null ? void 0 : props.placement) || 'top',
2455
- interactive: (props == null ? void 0 : props.interactive) || false
2490
+ interactive: (props == null ? void 0 : props.interactive) || false,
2491
+ theme: (props == null ? void 0 : props.theme) || 'dark'
2456
2492
  }));
2457
2493
  };
2458
2494
 
2459
- var styledTooltipComponent = /*#__PURE__*/styled(TooltipComponent)(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n --bg-color: #20221b;\n position: relative;\n background-color: var(--bg-color);\n color: #fff;\n border-radius: 3px;\n font-size: 12px;\n letter-spacing: -0.4px;\n line-height: 1.4;\n outline: 0;\n transition-property: transform, visibility, opacity;\n\n &[data-animation='fade'][data-state='hidden'] {\n opacity: 0;\n }\n\n [data-tippy-root] {\n max-width: calc(100vw - 10px);\n }\n\n &[data-placement^='top'] > .tippy-arrow {\n bottom: 0;\n }\n\n &[data-placement^='top'] > .tippy-arrow:before {\n bottom: -7px;\n left: 0;\n border-width: 8px 8px 0;\n border-top-color: initial;\n transform-origin: center top;\n }\n\n &[data-placement^='bottom'] > .tippy-arrow {\n top: 0;\n }\n\n &[data-placement^='bottom'] > .tippy-arrow:before {\n top: -7px;\n left: 0;\n border-width: 0 8px 8px;\n border-bottom-color: initial;\n transform-origin: center bottom;\n }\n\n &[data-placement^='left'] > .tippy-arrow {\n right: 0;\n }\n\n &[data-placement^='left'] > .tippy-arrow:before {\n border-width: 8px 0 8px 8px;\n border-left-color: initial;\n right: -7px;\n transform-origin: center left;\n }\n\n &[data-placement^='right'] > .tippy-arrow {\n left: 0;\n }\n\n &[data-placement^='right'] > .tippy-arrow:before {\n left: -7px;\n border-width: 8px 8px 8px 0;\n border-right-color: initial;\n transform-origin: center right;\n }\n\n &[data-inertia][data-state='visible'] {\n transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);\n }\n\n .tippy-arrow {\n width: 15px;\n height: 15px;\n color: var(--bg-color);\n }\n\n .tippy-arrow:before {\n content: '';\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n .tippy-content {\n position: relative;\n padding: 12px 8px;\n z-index: 1;\n }\n"])));
2460
- var Tooltip = /*#__PURE__*/React__default.memo(styledTooltipComponent);
2495
+ var theme = {
2496
+ light: {
2497
+ background: '#fff',
2498
+ color: '#371E56'
2499
+ },
2500
+ dark: {
2501
+ background: '#371E56',
2502
+ color: '#fff'
2503
+ }
2504
+ };
2505
+ var StyledTooltipComponent = /*#__PURE__*/styled(Tippy)(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n --bg-color: ", ";\n position: relative;\n background-color: var(--bg-color);\n color: ", ";\n border-radius: 3px;\n font-size: 12px;\n letter-spacing: -0.4px;\n line-height: 1.4;\n outline: 0;\n transition-property: transform, visibility, opacity;\n\n &[data-animation='fade'][data-state='hidden'] {\n opacity: 0;\n }\n\n [data-tippy-root] {\n max-width: calc(100vw - 10px);\n }\n\n &[data-placement^='top'] > .tippy-arrow {\n bottom: 0;\n }\n\n &[data-placement^='top'] > .tippy-arrow:before {\n bottom: -7px;\n left: 0;\n border-width: 8px 8px 0;\n border-top-color: initial;\n transform-origin: center top;\n }\n\n &[data-placement^='bottom'] > .tippy-arrow {\n top: 0;\n }\n\n &[data-placement^='bottom'] > .tippy-arrow:before {\n top: -7px;\n left: 0;\n border-width: 0 8px 8px;\n border-bottom-color: initial;\n transform-origin: center bottom;\n }\n\n &[data-placement^='left'] > .tippy-arrow {\n right: 0;\n }\n\n &[data-placement^='left'] > .tippy-arrow:before {\n border-width: 8px 0 8px 8px;\n border-left-color: initial;\n right: -7px;\n transform-origin: center left;\n }\n\n &[data-placement^='right'] > .tippy-arrow {\n left: 0;\n }\n\n &[data-placement^='right'] > .tippy-arrow:before {\n left: -7px;\n border-width: 8px 8px 8px 0;\n border-right-color: initial;\n transform-origin: center right;\n }\n\n &[data-inertia][data-state='visible'] {\n transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);\n }\n\n .tippy-arrow {\n width: 15px;\n height: 15px;\n color: var(--bg-color);\n }\n\n .tippy-arrow:before {\n content: '';\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n .tippy-content {\n position: relative;\n padding: 12px 8px;\n z-index: 1;\n }\n"])), function (props) {
2506
+ return theme[props.theme].background;
2507
+ }, function (props) {
2508
+ return theme[props.theme].color;
2509
+ });
2510
+ var Tooltip = /*#__PURE__*/React__default.memo(TooltipComponent);
2461
2511
 
2462
2512
  var SharedContext = /*#__PURE__*/React__default.createContext({
2463
2513
  variant: 'default',
@@ -2779,7 +2829,8 @@ var ActionBarComponent = function ActionBarComponent(_ref) {
2779
2829
  if (!props.children) return;
2780
2830
  return React__default.createElement("button", {
2781
2831
  className: 'px-4 py-1 text-base-1' + (props != null && props.loading ? ' pointer-events-none' : ''),
2782
- onClick: props == null ? void 0 : props.onClick
2832
+ onClick: props == null ? void 0 : props.onClick,
2833
+ type: (props == null ? void 0 : props.type) || 'button'
2783
2834
  }, props != null && props.loading ? React__default.createElement(Icon, {
2784
2835
  icon: "loading",
2785
2836
  className: "p-px"