ndcloud-storybook 1.3.0 → 1.3.1

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.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var react = require('@emotion/react');
4
- var styled17 = require('@emotion/styled');
4
+ var styled18 = require('@emotion/styled');
5
5
  var jsxRuntime = require('@emotion/react/jsx-runtime');
6
6
  var react$1 = require('react');
7
7
 
8
8
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
9
 
10
- var styled17__default = /*#__PURE__*/_interopDefault(styled17);
10
+ var styled18__default = /*#__PURE__*/_interopDefault(styled18);
11
11
 
12
12
  // src/atoms/Button/Button.tsx
13
13
  var Spinner = ({
@@ -42,7 +42,7 @@ var spin = react.keyframes`
42
42
  from { transform: rotate(0deg); }
43
43
  to { transform: rotate(360deg); }
44
44
  `;
45
- var Wrapper = styled17__default.default.div`
45
+ var Wrapper = styled18__default.default.div`
46
46
  display: inline-flex;
47
47
  align-items: center;
48
48
  justify-content: center;
@@ -194,7 +194,7 @@ var Button = ({
194
194
  }
195
195
  );
196
196
  var Button_default = Button;
197
- var StyledButton = styled17__default.default.button`
197
+ var StyledButton = styled18__default.default.button`
198
198
  display: flex;
199
199
  align-items: center;
200
200
  justify-content: center;
@@ -289,7 +289,7 @@ var Input = ({ className, error, warning, ...rest }) => {
289
289
  return /* @__PURE__ */ jsxRuntime.jsx(StyledInput, { className, error, warning, ...rest });
290
290
  };
291
291
  var Input_default = Input;
292
- var StyledInput = styled17__default.default.input`
292
+ var StyledInput = styled18__default.default.input`
293
293
  ${baseInputStyles}
294
294
 
295
295
  ${({ error }) => error && errorStyles}
@@ -309,9 +309,16 @@ var useDarkMode = () => {
309
309
  }, []);
310
310
  return isDark;
311
311
  };
312
-
313
- // src/assets/icons/Checkmark.svg?react
314
- var Checkmark_default = "./Checkmark-OGDFVW3O.svg?react";
312
+ var CheckmarkIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(
313
+ "path",
314
+ {
315
+ d: "M2 6L5 9L10 2",
316
+ stroke: "currentColor",
317
+ strokeWidth: "2",
318
+ strokeLinecap: "round",
319
+ strokeLinejoin: "round"
320
+ }
321
+ ) });
315
322
  var Checkbox = ({
316
323
  className,
317
324
  danger,
@@ -342,13 +349,13 @@ var Checkbox = ({
342
349
  darkMode,
343
350
  disabled,
344
351
  size,
345
- children: /* @__PURE__ */ jsxRuntime.jsx(Checkmark_default, {})
352
+ children: /* @__PURE__ */ jsxRuntime.jsx(CheckmarkIcon, {})
346
353
  }
347
354
  )
348
355
  ] });
349
356
  };
350
357
  var Checkbox_default = Checkbox;
351
- var CheckboxWrapper = styled17__default.default.label`
358
+ var CheckboxWrapper = styled18__default.default.label`
352
359
  position: relative;
353
360
  display: inline-block;
354
361
  cursor: pointer;
@@ -369,7 +376,7 @@ var CheckboxWrapper = styled17__default.default.label`
369
376
  `}
370
377
  }
371
378
  `;
372
- var StyledCheckbox = styled17__default.default.input`
379
+ var StyledCheckbox = styled18__default.default.input`
373
380
  position: absolute;
374
381
  opacity: 0;
375
382
  cursor: pointer;
@@ -387,7 +394,7 @@ var StyledCheckbox = styled17__default.default.input`
387
394
  cursor: not-allowed;
388
395
  }
389
396
  `;
390
- var CheckmarkWrapper = styled17__default.default.span`
397
+ var CheckmarkWrapper = styled18__default.default.span`
391
398
  display: inline-flex;
392
399
  align-items: center;
393
400
  justify-content: center;
@@ -397,6 +404,7 @@ var CheckmarkWrapper = styled17__default.default.span`
397
404
  border-radius: 4px;
398
405
  transition: all 0.2s ease;
399
406
  color: transparent;
407
+ cursor: pointer;
400
408
 
401
409
  svg {
402
410
  width: 60%;
@@ -408,9 +416,11 @@ var CheckmarkWrapper = styled17__default.default.span`
408
416
  return darkMode ? react.css`
409
417
  background-color: ${colors.baseColors.grey1};
410
418
  border: 1px solid ${colors.baseColors.grey4};
419
+ cursor: not-allowed;
411
420
  ` : react.css`
412
421
  background-color: ${colors.baseColors.grey7};
413
422
  border: 1px solid ${colors.baseColors.grey7};
423
+ cursor: not-allowed;
414
424
  `;
415
425
  }
416
426
  if (checked) {
@@ -436,6 +446,72 @@ var CheckmarkWrapper = styled17__default.default.span`
436
446
  `;
437
447
  }}
438
448
  `;
449
+ var XIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(
450
+ "path",
451
+ {
452
+ d: "M4 4L12 12M12 4L4 12",
453
+ stroke: "currentColor",
454
+ strokeWidth: "2",
455
+ strokeLinecap: "round",
456
+ strokeLinejoin: "round"
457
+ }
458
+ ) });
459
+ var ErrorNotification = ({
460
+ message,
461
+ className,
462
+ darkMode: darkModeProp
463
+ }) => {
464
+ const autoDarkMode = useDarkMode();
465
+ const darkMode = darkModeProp !== void 0 ? darkModeProp : autoDarkMode;
466
+ const isLongMessage = message.length > 120;
467
+ return /* @__PURE__ */ jsxRuntime.jsxs(ErrorNotificationWrapper, { className, darkMode, isLong: isLongMessage, children: [
468
+ /* @__PURE__ */ jsxRuntime.jsx(IconContainer, { darkMode, isLong: isLongMessage, children: /* @__PURE__ */ jsxRuntime.jsx(XIcon, {}) }),
469
+ /* @__PURE__ */ jsxRuntime.jsx(MessageText, { darkMode, isLong: isLongMessage, children: message })
470
+ ] });
471
+ };
472
+ var ErrorNotification_default = ErrorNotification;
473
+ var ErrorNotificationWrapper = styled18__default.default.div`
474
+ display: flex;
475
+ align-items: ${({ isLong }) => isLong ? "flex-start" : "center"};
476
+ gap: 12px;
477
+ min-height: 74px;
478
+ max-width: 356px;
479
+ padding: ${({ isLong }) => isLong ? "20px" : "0"} 16px;
480
+ border-radius: 6px;
481
+ background-color: ${getOpacity(colors.accents.error, 30)};
482
+ border: 1px solid ${colors.accents.error};
483
+ color: ${({ darkMode }) => darkMode ? colors.baseColors.white1 : colors.baseColors.darkBlue1};
484
+ font-family: ${typography.fontFamily.primary};
485
+ font-size: ${FONT_SIZES.m}px;
486
+ font-weight: ${FONT_WEIGHTS.normal};
487
+ line-height: ${typography.lineHeight.normal};
488
+ `;
489
+ var IconContainer = styled18__default.default.div`
490
+ display: flex;
491
+ align-items: center;
492
+ justify-content: center;
493
+ flex-shrink: 0;
494
+ width: 32px;
495
+ height: 32px;
496
+ margin: 0;
497
+ border-radius: 50%;
498
+ background-color: ${getOpacity(colors.baseColors.white1, 30)};
499
+ color: ${colors.accents.error};
500
+
501
+ svg {
502
+ width: 16px;
503
+ height: 16px;
504
+ }
505
+ `;
506
+ var MessageText = styled18__default.default.p`
507
+ flex: 1;
508
+ margin: 0;
509
+ padding: 0;
510
+ color: ${({ darkMode }) => darkMode ? colors.baseColors.white1 : colors.baseColors.darkBlue1};
511
+ font-weight: ${FONT_WEIGHTS.bold};
512
+ word-wrap: break-word;
513
+ word-break: break-word;
514
+ `;
439
515
  var Label = ({ className, htmlFor, children, ...rest }) => {
440
516
  return /* @__PURE__ */ jsxRuntime.jsx("label", { className, htmlFor, ...rest, children });
441
517
  };
@@ -444,7 +520,7 @@ var Textarea = ({ className, error, warning, ...rest }) => {
444
520
  return /* @__PURE__ */ jsxRuntime.jsx(StyledTextarea, { className, error, warning, ...rest });
445
521
  };
446
522
  var Textarea_default = Textarea;
447
- var StyledTextarea = styled17__default.default.textarea`
523
+ var StyledTextarea = styled18__default.default.textarea`
448
524
  ${baseInputStyles}
449
525
  resize: vertical;
450
526
  min-height: 80px;
@@ -472,7 +548,7 @@ var Tab = ({
472
548
  );
473
549
  };
474
550
  var Tab_default = Tab;
475
- var StyledTab = styled17__default.default.div`
551
+ var StyledTab = styled18__default.default.div`
476
552
  display: inline-block;
477
553
  padding: 8px 16px;
478
554
  user-select: none;
@@ -493,7 +569,7 @@ var StyledTab = styled17__default.default.div`
493
569
  }
494
570
  `}
495
571
  `;
496
- var HelperText = styled17__default.default.div`
572
+ var HelperText = styled18__default.default.div`
497
573
  margin-top: 4px;
498
574
  font-size: ${typography.fontSize.xs}px;
499
575
  color: ${({ error, warning }) => {
@@ -533,7 +609,7 @@ function GroupBadge({ role, status, children }) {
533
609
  const displayText = status?.toLowerCase() === USER_STATUS.INVITED ? "Invited" : children;
534
610
  return /* @__PURE__ */ jsxRuntime.jsx(Badge, { badgeColor, children: displayText });
535
611
  }
536
- var Badge = styled17__default.default.div`
612
+ var Badge = styled18__default.default.div`
537
613
  display: inline-flex;
538
614
  padding: 8px 28px;
539
615
  border-radius: 100px;
@@ -568,7 +644,7 @@ function UserAvatar({
568
644
  return /* @__PURE__ */ jsxRuntime.jsx(ColourAvatar, { badgeColor, size, children: initials });
569
645
  }
570
646
  var UserAvatar_default = UserAvatar;
571
- var ColourAvatar = styled17__default.default.div`
647
+ var ColourAvatar = styled18__default.default.div`
572
648
  width: ${({ size }) => typeof size === "number" ? `${size}px` : size === "large" ? "56px" : "40px"};
573
649
  height: ${({ size }) => typeof size === "number" ? `${size}px` : size === "large" ? "56px" : "40px"};
574
650
  border-radius: 50%;
@@ -582,7 +658,7 @@ var ColourAvatar = styled17__default.default.div`
582
658
  font-weight: ${FONT_WEIGHTS.normal};
583
659
  flex-shrink: 0;
584
660
  `;
585
- var ProfileAvatar = styled17__default.default(ColourAvatar)`
661
+ var ProfileAvatar = styled18__default.default(ColourAvatar)`
586
662
  color: #fff;
587
663
  background: ${colors.gradients.gradient1};
588
664
  border: none;
@@ -627,7 +703,7 @@ var FormField = ({
627
703
  displayText && /* @__PURE__ */ jsxRuntime.jsx(HelperText, { error: hasError, warning: hasWarning, children: displayText })
628
704
  ] });
629
705
  };
630
- var FormFieldWrapper = styled17__default.default.div`
706
+ var FormFieldWrapper = styled18__default.default.div`
631
707
  display: flex;
632
708
  flex-direction: column;
633
709
 
@@ -675,7 +751,7 @@ var FormFieldTextarea = ({
675
751
  displayText && /* @__PURE__ */ jsxRuntime.jsx(HelperText, { error: hasError, warning: hasWarning, children: displayText })
676
752
  ] });
677
753
  };
678
- var FormFieldWrapper2 = styled17__default.default.div`
754
+ var FormFieldWrapper2 = styled18__default.default.div`
679
755
  display: flex;
680
756
  flex-direction: column;
681
757
 
@@ -686,16 +762,16 @@ var FormFieldWrapper2 = styled17__default.default.div`
686
762
  }
687
763
  `;
688
764
  var FormFieldTextarea_default = FormFieldTextarea;
689
- var SearchContainer = styled17__default.default.div`
765
+ var SearchContainer = styled18__default.default.div`
690
766
  width: ${({ width }) => typeof width === "number" ? `${width}px` : width || "208px"};
691
767
  `;
692
- var InputWrapper = styled17__default.default.div`
768
+ var InputWrapper = styled18__default.default.div`
693
769
  position: relative;
694
770
  width: 100%;
695
771
  display: flex;
696
772
  align-items: center;
697
773
  `;
698
- var IconWrapper = styled17__default.default.div`
774
+ var IconWrapper = styled18__default.default.div`
699
775
  position: absolute;
700
776
  left: 17px;
701
777
  top: 50%;
@@ -707,7 +783,7 @@ var IconWrapper = styled17__default.default.div`
707
783
  pointer-events: none;
708
784
  z-index: 2;
709
785
  `;
710
- var StyledInput2 = styled17__default.default(Input_default)`
786
+ var StyledInput2 = styled18__default.default(Input_default)`
711
787
  width: 100%;
712
788
  padding-right: ${({ hasClearButton }) => hasClearButton ? "32px" : "17px"};
713
789
  padding-left: ${({ hasIcon }) => hasIcon ? "44px" : "17px"};
@@ -719,7 +795,7 @@ var StyledInput2 = styled17__default.default(Input_default)`
719
795
  padding-left: ${({ hasIcon }) => hasIcon ? "43px" : "16px"};
720
796
  }
721
797
  `;
722
- var ClearButton = styled17__default.default.button`
798
+ var ClearButton = styled18__default.default.button`
723
799
  position: absolute;
724
800
  right: 8px;
725
801
  top: 50%;
@@ -745,7 +821,7 @@ var ClearButton = styled17__default.default.button`
745
821
  border-radius: 4px;
746
822
  }
747
823
  `;
748
- var ClearIcon = styled17__default.default.svg`
824
+ var ClearIcon = styled18__default.default.svg`
749
825
  width: 16px;
750
826
  height: 16px;
751
827
  stroke-width: 2;
@@ -795,7 +871,7 @@ function TableElement({ children, ...rest }) {
795
871
  return /* @__PURE__ */ jsxRuntime.jsx(StyledTable, { ...rest, children });
796
872
  }
797
873
  var Table_default = TableElement;
798
- var StyledTable = styled17__default.default.table`
874
+ var StyledTable = styled18__default.default.table`
799
875
  width: 100%;
800
876
  border-collapse: separate;
801
877
  border-spacing: 0 4px;
@@ -804,7 +880,7 @@ function TableHeader({ alignRight, children, ...rest }) {
804
880
  return /* @__PURE__ */ jsxRuntime.jsx(StyledTableHeader, { alignRight, ...rest, children });
805
881
  }
806
882
  var TableHeader_default = TableHeader;
807
- var StyledTableHeader = styled17__default.default.th`
883
+ var StyledTableHeader = styled18__default.default.th`
808
884
  padding-bottom: 12px;
809
885
  text-align: ${({ alignRight }) => alignRight ? "right" : "left"};
810
886
  font-size: ${FONT_SIZES.xs}px;
@@ -816,17 +892,17 @@ function TableCell({ children, colSpan, ...rest }) {
816
892
  return /* @__PURE__ */ jsxRuntime.jsx(StyledTableCell, { colSpan, ...rest, children });
817
893
  }
818
894
  var TableCell_default = TableCell;
819
- var StyledTableCell = styled17__default.default.td`
895
+ var StyledTableCell = styled18__default.default.td`
820
896
 
821
897
  `;
822
898
  function TableRow({ children, ...rest }) {
823
899
  return /* @__PURE__ */ jsxRuntime.jsx(StyledTableRow, { ...rest, children });
824
900
  }
825
901
  var TableRow_default = TableRow;
826
- var StyledTableRow = styled17__default.default.tr`
902
+ var StyledTableRow = styled18__default.default.tr`
827
903
  /* Base row styling */
828
904
  `;
829
- var TableRowWrapper = styled17__default.default.div`
905
+ var TableRowWrapper = styled18__default.default.div`
830
906
  border-radius: 6px;
831
907
  border: 1px solid ${colors.baseColors.grey7};
832
908
  display: flex;
@@ -834,16 +910,16 @@ var TableRowWrapper = styled17__default.default.div`
834
910
  justify-content: space-between;
835
911
  padding: 12px 24px;
836
912
  `;
837
- var CheckboxWrapper2 = styled17__default.default.div`
913
+ var CheckboxWrapper2 = styled18__default.default.div`
838
914
  display: flex;
839
915
  align-items: center;
840
916
  `;
841
- var ActionsWrapper = styled17__default.default.div`
917
+ var ActionsWrapper = styled18__default.default.div`
842
918
  display: flex;
843
919
  align-items: center;
844
920
  justify-content: flex-end;
845
921
  `;
846
- var AlignedTableCell = styled17__default.default(TableCell_default)`
922
+ var AlignedTableCell = styled18__default.default(TableCell_default)`
847
923
  padding-top: 12px;
848
924
  padding-bottom: 12px;
849
925
  padding-left: ${({ alignRight }) => alignRight ? "0" : "24px"};
@@ -855,29 +931,29 @@ var AlignedTableCell = styled17__default.default(TableCell_default)`
855
931
  ${({ isFirst }) => isFirst && `border-top-left-radius: 6px; border-bottom-left-radius: 6px;`}
856
932
  ${({ isLast }) => isLast && `border-top-right-radius: 6px; border-bottom-right-radius: 6px;`}
857
933
  `;
858
- var CellContent = styled17__default.default.div`
934
+ var CellContent = styled18__default.default.div`
859
935
  display: flex;
860
936
  align-items: center;
861
937
  justify-content: ${({ alignRight }) => alignRight ? "flex-end" : "flex-start"};
862
938
  flex: ${({ alignRight }) => alignRight ? "0 0 auto" : "1"};
863
939
  min-width: 0;
864
940
  `;
865
- var TableWrapper = styled17__default.default.div`
941
+ var TableWrapper = styled18__default.default.div`
866
942
  margin-top: 32px;
867
943
  `;
868
- var EmptyState = styled17__default.default.div`
944
+ var EmptyState = styled18__default.default.div`
869
945
  padding: 24px;
870
946
  text-align: center;
871
947
  display: flex;
872
948
  flex-direction: column;
873
949
  gap: 8px;
874
950
  `;
875
- var EmptyHeader = styled17__default.default.div`
951
+ var EmptyHeader = styled18__default.default.div`
876
952
  font-size: 26px;
877
953
  font-weight: 700;
878
954
  color: ${colors.baseColors.darkBlue1};
879
955
  `;
880
- var EmptySubheader = styled17__default.default.div`
956
+ var EmptySubheader = styled18__default.default.div`
881
957
  font-size: 12px;
882
958
  font-weight: 500;
883
959
  color: ${colors.baseColors.grey3};
@@ -990,6 +1066,7 @@ var DataTable_default = Table;
990
1066
  exports.Badge = Badge_default;
991
1067
  exports.Button = Button_default;
992
1068
  exports.Checkbox = Checkbox_default;
1069
+ exports.ErrorNotification = ErrorNotification_default;
993
1070
  exports.FONT_SIZES = FONT_SIZES;
994
1071
  exports.FONT_SIZE_KEYS = FONT_SIZE_KEYS;
995
1072
  exports.FONT_WEIGHTS = FONT_WEIGHTS;