@zenkigen-inc/component-ui 1.1.3 → 1.2.0

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/index.esm.js CHANGED
@@ -31428,85 +31428,29 @@ if (process.env.NODE_ENV === 'production') {
31428
31428
  }
31429
31429
  });
31430
31430
 
31431
+ function ModalBody(_ref) {
31432
+ var children = _ref.children;
31433
+ return /*#__PURE__*/jsx("div", {
31434
+ className: "overflow-y-auto",
31435
+ children: children
31436
+ });
31437
+ }
31438
+
31431
31439
  var ModalContext = /*#__PURE__*/createContext({
31432
- width: 480,
31433
31440
  setIsOpen: function setIsOpen() {
31434
31441
  return false;
31435
31442
  }
31436
31443
  });
31437
31444
 
31438
- var sizeSmallLimit = 420;
31439
- function ModalButtonTab(_ref) {
31440
- var primaryButtonLabel = _ref.primaryButtonLabel,
31441
- secondaryButtonLabel = _ref.secondaryButtonLabel,
31442
- onClickPrimaryButton = _ref.onClickPrimaryButton,
31443
- onClickSecondaryButton = _ref.onClickSecondaryButton,
31444
- isDanger = _ref.isDanger,
31445
- isNoBorder = _ref.isNoBorder,
31446
- isWithCheckbox = _ref.isWithCheckbox,
31447
- checkboxLabel = _ref.checkboxLabel,
31448
- isChecked = _ref.isChecked,
31449
- onChange = _ref.onChange,
31450
- subButtonLabel = _ref.subButtonLabel,
31451
- onClickSubButton = _ref.onClickSubButton;
31452
- var _useContext = useContext(ModalContext),
31453
- width = _useContext.width,
31454
- setIsOpen = _useContext.setIsOpen;
31455
- var handleClickPrimaryButton = useCallback(function () {
31456
- onClickPrimaryButton();
31457
- setIsOpen(false);
31458
- }, [onClickPrimaryButton, setIsOpen]);
31459
- var handleClickSecondaryButton = useCallback(function () {
31460
- onClickSecondaryButton();
31461
- setIsOpen(false);
31462
- }, [onClickSecondaryButton, setIsOpen]);
31463
- var handleClickSubButton = useCallback(function () {
31464
- onClickSubButton == null || onClickSubButton();
31465
- }, [onClickSubButton]);
31445
+ function ModalFooter(_ref) {
31446
+ var children = _ref.children,
31447
+ isNoBorder = _ref.isNoBorder;
31466
31448
  var wrapperClasses = clsx$1('flex', 'shrink-0', 'items-center', 'w-full', 'rounded-b-lg', 'py-4', 'px-6', {
31467
- 'justify-between': isWithCheckbox || subButtonLabel && sizeSmallLimit <= width,
31468
- 'justify-end': !isWithCheckbox || !subButtonLabel,
31469
- 'justify-center': subButtonLabel && width < sizeSmallLimit,
31470
- 'border-t-[1px] border-border-uiBorder01': !isNoBorder,
31471
- 'gap-y-4': width < sizeSmallLimit,
31472
- 'flex-wrap': width < sizeSmallLimit && isWithCheckbox,
31473
- 'flex-wrap-reverse': width < sizeSmallLimit && subButtonLabel
31474
- });
31475
- var buttonContainerClasses = clsx$1('flex', 'items-center', {
31476
- 'w-full justify-center': width < sizeSmallLimit,
31477
- 'gap-x-2': width < sizeSmallLimit,
31478
- 'gap-x-4': sizeSmallLimit <= width
31449
+ 'border-t-[1px] border-border-uiBorder01': !isNoBorder
31479
31450
  });
31480
- return /*#__PURE__*/jsxs("div", {
31451
+ return /*#__PURE__*/jsx("div", {
31481
31452
  className: wrapperClasses,
31482
- children: [isWithCheckbox ? /*#__PURE__*/jsx("div", {
31483
- children: /*#__PURE__*/jsx(Checkbox, {
31484
- id: "modal-checkbox",
31485
- label: checkboxLabel,
31486
- isChecked: isChecked,
31487
- onChange: onChange
31488
- })
31489
- }) : subButtonLabel && onClickSubButton ? /*#__PURE__*/jsx(Button, {
31490
- variant: "text",
31491
- size: "large",
31492
- onClick: handleClickSubButton,
31493
- children: subButtonLabel
31494
- }, "0") : null, /*#__PURE__*/jsxs("div", {
31495
- className: buttonContainerClasses,
31496
- children: [/*#__PURE__*/jsx(Button, {
31497
- variant: "outline",
31498
- size: "large",
31499
- width: width < sizeSmallLimit ? 132 : 'auto',
31500
- onClick: handleClickSecondaryButton,
31501
- children: secondaryButtonLabel
31502
- }, "1"), /*#__PURE__*/jsx(Button, {
31503
- variant: isDanger ? 'fillDanger' : 'fill',
31504
- size: "large",
31505
- width: width < sizeSmallLimit ? 132 : 'auto',
31506
- onClick: handleClickPrimaryButton,
31507
- children: primaryButtonLabel
31508
- }, "2")]
31509
- })]
31453
+ children: children
31510
31454
  });
31511
31455
  }
31512
31456
 
@@ -31523,7 +31467,9 @@ function ModalHeader(_ref) {
31523
31467
  });
31524
31468
  return /*#__PURE__*/jsxs("div", {
31525
31469
  className: headerClasses,
31526
- children: [children, !isNoCloseButton && /*#__PURE__*/jsx(IconButton, {
31470
+ children: [/*#__PURE__*/jsx("div", {
31471
+ children: children
31472
+ }), !isNoCloseButton && /*#__PURE__*/jsx(IconButton, {
31527
31473
  icon: "close",
31528
31474
  size: "small",
31529
31475
  variant: "text",
@@ -31534,52 +31480,8 @@ function ModalHeader(_ref) {
31534
31480
  });
31535
31481
  }
31536
31482
 
31537
- var TabItem = function TabItem(props) {
31538
- var _clsx;
31539
- var classes = clsx('relative', 'flex', 'z-0', 'py-2', 'leading-[24px]', 'before:h-px', 'before:absolute', 'before:left-0', 'before:right-0', 'before:bottom-0', 'hover:text-text-text01', 'disabled:text-disabled-disabled01', 'disabled:pointer-events-none', (_clsx = {}, _clsx["" + typography.label.label2regular] = !props.isSelected, _clsx['text-interactive-interactive02 hover:before:bg-border-uiBorder02Dark'] = !props.isSelected, _clsx["" + typography.label.label2bold] = props.isSelected, _clsx['before:bg-interactive-interactive01 hover:before:bg-interactive-interactive01 pointer-events-none'] = props.isSelected, _clsx));
31540
- return /*#__PURE__*/jsx("button", {
31541
- type: "button",
31542
- role: "tab",
31543
- "aria-selected": props.isSelected,
31544
- className: classes,
31545
- disabled: props.isDisabled,
31546
- onClick: function onClick() {
31547
- return props.onClick(props.id);
31548
- },
31549
- children: props.children
31550
- });
31551
- };
31552
-
31553
- function Tab(_ref) {
31554
- var children = _ref.children;
31555
- var classes = clsx('flex', 'px-6', 'gap-4', 'relative', 'before:bg-border-uiBorder01', 'before:h-px', 'before:bottom-0', 'before:left-0', 'before:right-0', 'before:absolute', {});
31556
- return /*#__PURE__*/jsx("div", {
31557
- role: "tablist",
31558
- className: classes,
31559
- children: children
31560
- });
31561
- }
31562
- Tab.Item = TabItem;
31563
-
31564
- function ModalTab(_ref) {
31565
- var tabItems = _ref.tabItems,
31566
- selectedTab = _ref.selectedTab,
31567
- setSelectedTab = _ref.setSelectedTab;
31568
- return /*#__PURE__*/jsx("div", {
31569
- className: "mt-2 w-full",
31570
- children: /*#__PURE__*/jsx(Tab, {
31571
- children: tabItems.map(function (item) {
31572
- return /*#__PURE__*/jsx(TabItem, {
31573
- id: item.id,
31574
- isSelected: selectedTab === item.id,
31575
- onClick: setSelectedTab,
31576
- children: item.label
31577
- }, item.id);
31578
- })
31579
- })
31580
- });
31581
- }
31582
-
31483
+ var LIMIT_WIDTH = 320;
31484
+ var LIMIT_HEIGHT = 184;
31583
31485
  function Modal(_ref) {
31584
31486
  var children = _ref.children,
31585
31487
  _ref$width = _ref.width,
@@ -31587,37 +31489,29 @@ function Modal(_ref) {
31587
31489
  height = _ref.height,
31588
31490
  isOpen = _ref.isOpen,
31589
31491
  setIsOpen = _ref.setIsOpen,
31590
- portalTargetRef = _ref.portalTargetRef,
31591
- headerElement = _ref.headerElement,
31592
- tabElement = _ref.tabElement,
31593
- buttonTabElement = _ref.buttonTabElement;
31594
- var wrapperClasses = 'flex items-center justify-center z-overlay bg-background-backgroundOverlayBlack fixed left-0 top-0 h-full w-full';
31595
- var modalBaseClasses = 'flex shrink-0 flex-col bg-background-uiBackground01 rounded-lg shadow-modalShadow';
31596
- var contentClasses = 'flex items-center justify-center overflow-y-auto';
31492
+ portalTargetRef = _ref.portalTargetRef;
31493
+ var renderWidth = typeof width === 'number' ? Math.max(width, LIMIT_WIDTH) : width;
31494
+ var renderHeight = typeof height === 'number' ? Math.max(height, LIMIT_HEIGHT) : height;
31597
31495
  return /*#__PURE__*/reactDom.createPortal(isOpen && /*#__PURE__*/jsx(ModalContext.Provider, {
31598
31496
  value: {
31599
- width: width,
31600
31497
  setIsOpen: setIsOpen
31601
31498
  },
31602
31499
  children: /*#__PURE__*/jsx("div", {
31603
- className: wrapperClasses,
31604
- children: /*#__PURE__*/jsxs("div", {
31605
- className: modalBaseClasses,
31500
+ className: "fixed left-0 top-0 z-overlay flex h-full w-full items-center justify-center bg-background-backgroundOverlayBlack",
31501
+ children: /*#__PURE__*/jsx("div", {
31502
+ className: "flex shrink-0 flex-col rounded-lg bg-background-uiBackground01 shadow-modalShadow",
31606
31503
  style: {
31607
- width: width,
31608
- height: height
31504
+ width: renderWidth,
31505
+ height: renderHeight
31609
31506
  },
31610
- children: [headerElement, tabElement, /*#__PURE__*/jsx("div", {
31611
- className: contentClasses,
31612
- children: children
31613
- }), buttonTabElement]
31507
+ children: children
31614
31508
  })
31615
31509
  })
31616
31510
  }), !portalTargetRef || (portalTargetRef == null ? void 0 : portalTargetRef.current) === null ? document.body : portalTargetRef.current);
31617
31511
  }
31512
+ Modal.Body = ModalBody;
31618
31513
  Modal.Header = ModalHeader;
31619
- Modal.Tab = ModalTab;
31620
- Modal.ButtonTab = ModalButtonTab;
31514
+ Modal.Footer = ModalFooter;
31621
31515
 
31622
31516
  var _excluded$1 = ["state", "size"];
31623
31517
  function NotificationInline(_ref) {
@@ -32184,6 +32078,33 @@ function SelectSort(_ref) {
32184
32078
  });
32185
32079
  }
32186
32080
 
32081
+ var TabItem = function TabItem(props) {
32082
+ var _clsx;
32083
+ var classes = clsx('relative', 'flex', 'z-0', 'py-2', 'leading-[24px]', 'before:h-px', 'before:absolute', 'before:left-0', 'before:right-0', 'before:bottom-0', 'hover:text-text-text01', 'disabled:text-disabled-disabled01', 'disabled:pointer-events-none', (_clsx = {}, _clsx["" + typography.label.label2regular] = !props.isSelected, _clsx['text-interactive-interactive02 hover:before:bg-border-uiBorder02Dark'] = !props.isSelected, _clsx["" + typography.label.label2bold] = props.isSelected, _clsx['before:bg-interactive-interactive01 hover:before:bg-interactive-interactive01 pointer-events-none'] = props.isSelected, _clsx));
32084
+ return /*#__PURE__*/jsx("button", {
32085
+ type: "button",
32086
+ role: "tab",
32087
+ "aria-selected": props.isSelected,
32088
+ className: classes,
32089
+ disabled: props.isDisabled,
32090
+ onClick: function onClick() {
32091
+ return props.onClick(props.id);
32092
+ },
32093
+ children: props.children
32094
+ });
32095
+ };
32096
+
32097
+ function Tab(_ref) {
32098
+ var children = _ref.children;
32099
+ var classes = clsx('flex', 'px-6', 'gap-4', 'relative', 'before:bg-border-uiBorder01', 'before:h-px', 'before:bottom-0', 'before:left-0', 'before:right-0', 'before:absolute', {});
32100
+ return /*#__PURE__*/jsx("div", {
32101
+ role: "tablist",
32102
+ className: classes,
32103
+ children: children
32104
+ });
32105
+ }
32106
+ Tab.Item = TabItem;
32107
+
32187
32108
  function TableCell(_ref) {
32188
32109
  var children = _ref.children,
32189
32110
  className = _ref.className;