@xqmsg/ui-core 0.24.10 → 0.25.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.
Files changed (40) hide show
  1. package/dist/components/SimpleTable/SimpleTable.d.ts +4 -2
  2. package/dist/components/SimpleTable/TableTypes.d.ts +3 -0
  3. package/dist/components/form/FormTypes.d.ts +2 -2
  4. package/dist/components/input/InputTypes.d.ts +0 -1
  5. package/dist/components/input/StackedMultiSelect/index.d.ts +2 -2
  6. package/dist/components/input/StackedPilledInput/index.d.ts +1 -0
  7. package/dist/components/input/StackedRadio/StackedRadioGroup.d.ts +2 -2
  8. package/dist/components/input/StackedSelect/index.d.ts +3 -3
  9. package/dist/components/input/components/dropdown/index.d.ts +2 -2
  10. package/dist/components/input/components/token/index.d.ts +2 -0
  11. package/dist/components/input/index.d.ts +5 -4
  12. package/dist/components/select/index.d.ts +3 -3
  13. package/dist/components/toolbar/components/actions/sort/index.d.ts +2 -2
  14. package/dist/components/toolbar/components/dropdown/index.d.ts +2 -2
  15. package/dist/theme/components/menu.d.ts +55 -0
  16. package/dist/ui-core.cjs.development.js +133 -43
  17. package/dist/ui-core.cjs.development.js.map +1 -1
  18. package/dist/ui-core.cjs.production.min.js +1 -1
  19. package/dist/ui-core.cjs.production.min.js.map +1 -1
  20. package/dist/ui-core.esm.js +133 -43
  21. package/dist/ui-core.esm.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/components/SimpleTable/SimpleTable.tsx +10 -3
  24. package/src/components/SimpleTable/TableTypes.ts +4 -0
  25. package/src/components/form/FormTypes.ts +2 -2
  26. package/src/components/icons/close/index.tsx +1 -0
  27. package/src/components/input/Input.stories.tsx +15 -0
  28. package/src/components/input/InputTypes.ts +0 -2
  29. package/src/components/input/StackedMultiSelect/index.tsx +5 -9
  30. package/src/components/input/StackedPilledInput/index.tsx +11 -4
  31. package/src/components/input/StackedRadio/StackedRadioGroup.tsx +2 -3
  32. package/src/components/input/StackedSelect/index.tsx +4 -4
  33. package/src/components/input/components/dropdown/index.tsx +2 -2
  34. package/src/components/input/components/token/index.tsx +12 -1
  35. package/src/components/input/index.tsx +9 -6
  36. package/src/components/select/index.tsx +3 -3
  37. package/src/components/toolbar/components/actions/sort/index.tsx +2 -2
  38. package/src/components/toolbar/components/dropdown/index.tsx +2 -2
  39. package/src/theme/components/menu.ts +78 -0
  40. package/src/theme/customXQChakraTheme.ts +2 -0
@@ -1266,6 +1266,7 @@ var Close = function Close(_ref) {
1266
1266
  return /*#__PURE__*/React__default.createElement(Memo$7, {
1267
1267
  width: boxSize,
1268
1268
  height: boxSize,
1269
+ flexBasis: boxSize,
1269
1270
  onClick: onClick,
1270
1271
  cursor: "pointer"
1271
1272
  });
@@ -1278,7 +1279,11 @@ var Token = function Token(_ref) {
1278
1279
  _ref$isMobile = _ref.isMobile,
1279
1280
  isMobile = _ref$isMobile === void 0 ? false : _ref$isMobile,
1280
1281
  _ref$truncateLength = _ref.truncateLength,
1281
- truncateLength = _ref$truncateLength === void 0 ? 15 : _ref$truncateLength;
1282
+ truncateLength = _ref$truncateLength === void 0 ? 15 : _ref$truncateLength,
1283
+ _ref$showClose = _ref.showClose,
1284
+ showClose = _ref$showClose === void 0 ? true : _ref$showClose,
1285
+ _ref$maxWidth = _ref.maxWidth,
1286
+ maxWidth = _ref$maxWidth === void 0 ? 'auto' : _ref$maxWidth;
1282
1287
  return /*#__PURE__*/React__default.createElement(Flex, {
1283
1288
  key: label,
1284
1289
  borderRadius: 'full',
@@ -1286,6 +1291,7 @@ var Token = function Token(_ref) {
1286
1291
  alignItems: "center",
1287
1292
  width: "fit-content",
1288
1293
  w: "auto",
1294
+ maxWidth: maxWidth,
1289
1295
  h: isMobile ? '18px' : '16px',
1290
1296
  pl: "6px",
1291
1297
  pr: "2px",
@@ -1293,13 +1299,17 @@ var Token = function Token(_ref) {
1293
1299
  position: "relative"
1294
1300
  }, /*#__PURE__*/React__default.createElement(Text$2, {
1295
1301
  whiteSpace: "nowrap",
1302
+ wordBreak: "break-word",
1296
1303
  color: colors.label.primary.light,
1297
1304
  fontSize: isMobile ? '17px' : '13px',
1298
- pr: "4px"
1305
+ pr: "4px",
1306
+ maxWidth: maxWidth,
1307
+ overflow: "hidden",
1308
+ textOverflow: "ellipsis"
1299
1309
  }, truncate(label.trim(), {
1300
1310
  length: truncateLength,
1301
1311
  omission: '...'
1302
- })), /*#__PURE__*/React__default.createElement(Close, {
1312
+ })), showClose && /*#__PURE__*/React__default.createElement(Close, {
1303
1313
  boxSize: isMobile ? '17px' : '11px',
1304
1314
  onClick: onDelete
1305
1315
  }));
@@ -1613,7 +1623,9 @@ var StackedPilledInput = /*#__PURE__*/React__default.forwardRef(function (_ref2,
1613
1623
  separators = _ref2$separators === void 0 ? ['Enter', ' ', ',', ';', 'Tab'] : _ref2$separators,
1614
1624
  variant = _ref2.variant,
1615
1625
  label = _ref2.label,
1616
- truncatePillLength = _ref2.truncatePillLength;
1626
+ truncatePillLength = _ref2.truncatePillLength,
1627
+ _ref2$mode = _ref2.mode,
1628
+ mode = _ref2$mode === void 0 ? 'scroll' : _ref2$mode;
1617
1629
  var watchedValue = useWatch({
1618
1630
  control: control,
1619
1631
  name: name
@@ -1634,6 +1646,7 @@ var StackedPilledInput = /*#__PURE__*/React__default.forwardRef(function (_ref2,
1634
1646
  localValue = _useState4[0],
1635
1647
  setLocalValue = _useState4[1];
1636
1648
  var latestTokenElement = document.getElementById(name + "_token_" + (lastestFormValueToArray.length - 1));
1649
+ var scrollMode = mode === 'scroll';
1637
1650
  // gets latest watched form value (common delimited) from RHF state and creates a list
1638
1651
  useEffect(function () {
1639
1652
  if (watchedValue !== undefined && !watchedValue.length) {
@@ -1785,11 +1798,13 @@ var StackedPilledInput = /*#__PURE__*/React__default.forwardRef(function (_ref2,
1785
1798
  bg: disabled ? colors.fill.light.quaternary : '#ffffff',
1786
1799
  cursor: disabled ? 'not-allowed' : 'pointer',
1787
1800
  ref: inputWrapperRef,
1788
- h: isMobile ? '48px' : '26px'
1801
+ h: isMobile ? '48px' : scrollMode ? '26px' : 'auto',
1802
+ minH: isMobile ? '48px' : '26px'
1789
1803
  }, /*#__PURE__*/React__default.createElement(Flex, {
1790
1804
  h: "100%",
1791
1805
  alignItems: "center",
1792
- overflowX: "scroll",
1806
+ overflowX: scrollMode ? 'scroll' : 'hidden',
1807
+ flexWrap: scrollMode ? 'nowrap' : 'wrap',
1793
1808
  overflowY: "hidden",
1794
1809
  maxWidth: isFocussed ? '80%' : '100%',
1795
1810
  style: {
@@ -1813,10 +1828,13 @@ var StackedPilledInput = /*#__PURE__*/React__default.forwardRef(function (_ref2,
1813
1828
  onClick: function onClick() {
1814
1829
  return setTokenIndex(index);
1815
1830
  },
1816
- width: "100%",
1831
+ width: scrollMode ? '100%' : 'auto',
1832
+ maxWidth: '100%',
1817
1833
  id: name + "_token_" + index
1818
1834
  }, /*#__PURE__*/React__default.createElement(Token, {
1835
+ maxWidth: '100%',
1819
1836
  label: label,
1837
+ showClose: !isFocussed || tokenIndex === index,
1820
1838
  onDelete: function onDelete(e) {
1821
1839
  e.stopPropagation();
1822
1840
  e.preventDefault();
@@ -1944,7 +1962,9 @@ function Input(_ref) {
1944
1962
  _ref$loadingOptions = _ref.loadingOptions,
1945
1963
  loadingOptions = _ref$loadingOptions === void 0 ? false : _ref$loadingOptions,
1946
1964
  truncatePillLength = _ref.truncatePillLength,
1947
- searchable = _ref.searchable;
1965
+ searchable = _ref.searchable,
1966
+ _ref$overflowMode = _ref.overflowMode,
1967
+ overflowMode = _ref$overflowMode === void 0 ? 'scroll' : _ref$overflowMode;
1948
1968
  function selectedInputField(onChange, onBlur, ref, value) {
1949
1969
  switch (inputType) {
1950
1970
  case 'text':
@@ -2075,7 +2095,8 @@ function Input(_ref) {
2075
2095
  variant: variant,
2076
2096
  label: label,
2077
2097
  separators: separators,
2078
- truncatePillLength: truncatePillLength
2098
+ truncatePillLength: truncatePillLength,
2099
+ mode: overflowMode
2079
2100
  });
2080
2101
  case 'switch':
2081
2102
  return /*#__PURE__*/React__default.createElement(StackedSwitch, {
@@ -3581,7 +3602,10 @@ function SimpleTable(_ref) {
3581
3602
  headers = _ref.headers,
3582
3603
  body = _ref.body,
3583
3604
  loading = _ref.loading,
3584
- loadMore = _ref.loadMore;
3605
+ loadMore = _ref.loadMore,
3606
+ _ref$layout = _ref.layout,
3607
+ layout = _ref$layout === void 0 ? 'auto' : _ref$layout,
3608
+ columnsWidths = _ref.columnsWidths;
3585
3609
  var columnsAsConst = generateTableColumnsAsConst(columns);
3586
3610
  return /*#__PURE__*/React__default.createElement(TableContainer, {
3587
3611
  border: "none",
@@ -3593,20 +3617,18 @@ function SimpleTable(_ref) {
3593
3617
  width: "100%",
3594
3618
  style: {
3595
3619
  borderCollapse: 'separate',
3596
- borderSpacing: '0px'
3620
+ borderSpacing: '0px',
3621
+ tableLayout: layout
3597
3622
  }
3598
- }, headers && /*#__PURE__*/React__default.createElement(Thead, null, /*#__PURE__*/React__default.createElement(Tr, {
3623
+ }, (headers || columnsWidths) && /*#__PURE__*/React__default.createElement(Thead, null, /*#__PURE__*/React__default.createElement(Tr, {
3599
3624
  _odd: {
3600
3625
  bg: colors.label.primary.dark
3601
3626
  }
3602
3627
  }, columnsAsConst.map(function (column, idx) {
3603
- return (
3604
- /*#__PURE__*/
3605
- // @ts-ignore
3606
- React__default.createElement(Th, {
3607
- key: idx
3608
- }, headers[column])
3609
- );
3628
+ return /*#__PURE__*/React__default.createElement(Th, {
3629
+ key: idx,
3630
+ width: columnsWidths == null ? void 0 : columnsWidths[column]
3631
+ }, headers && headers[column]);
3610
3632
  }))), /*#__PURE__*/React__default.createElement(Tbody, null, body.map(function (row, idx) {
3611
3633
  return /*#__PURE__*/React__default.createElement(Tr, {
3612
3634
  key: idx
@@ -4270,8 +4292,75 @@ var Link$1 = {
4270
4292
  variants: variants$6
4271
4293
  };
4272
4294
 
4273
- var parts$4 = ['overlay', 'dialogContainer', 'dialog', 'header', 'closeButton', 'body', 'footer'];
4274
- var baseStyle$9 = {
4295
+ var parts$4 = ['item', 'command', 'list', 'button', 'groupTitle'];
4296
+ function baseStyleList(props) {
4297
+ return {
4298
+ bg: colors.fill.light.quaternary,
4299
+ boxShadow: mode("2xl", "dark-lg")(props),
4300
+ color: 'inherit',
4301
+ minW: '3xs',
4302
+ py: 4,
4303
+ px: 2,
4304
+ zIndex: 'docked',
4305
+ borderWidth: 0,
4306
+ overflow: 'hidden',
4307
+ backdropFilter: 'auto',
4308
+ backdropBlur: '64px',
4309
+ borderRadius: '4px',
4310
+ border: '0.25px solid',
4311
+ borderColor: colors.fill.light.tertiary
4312
+ };
4313
+ }
4314
+ function baseStyleItem(props) {
4315
+ return {
4316
+ fontSize: '13px;',
4317
+ fontWeight: 500,
4318
+ lineHeight: '16px',
4319
+ py: 3,
4320
+ px: 4,
4321
+ borderRadius: '4px',
4322
+ width: '100%',
4323
+ transition: 'background 50ms ease-in 0s',
4324
+ _hover: {
4325
+ color: colors.white,
4326
+ background: colors.fill.action
4327
+ },
4328
+ _active: {
4329
+ bg: mode("gray.200", "whiteAlpha.200")(props)
4330
+ },
4331
+ _expanded: {
4332
+ bg: mode("gray.100", "whiteAlpha.100")(props)
4333
+ },
4334
+ _disabled: {
4335
+ opacity: 0.4,
4336
+ cursor: 'not-allowed'
4337
+ }
4338
+ };
4339
+ }
4340
+ var baseStyleGroupTitle = {
4341
+ mx: 4,
4342
+ my: 2,
4343
+ fontWeight: 'semibold',
4344
+ fontSize: 'sm'
4345
+ };
4346
+ var baseStyleCommand = {
4347
+ opacity: 0.6
4348
+ };
4349
+ var baseStyle$9 = function baseStyle(props) {
4350
+ return {
4351
+ list: baseStyleList(props),
4352
+ item: baseStyleItem(props),
4353
+ groupTitle: baseStyleGroupTitle,
4354
+ command: baseStyleCommand
4355
+ };
4356
+ };
4357
+ var Menu$1 = {
4358
+ parts: parts$4,
4359
+ baseStyle: baseStyle$9
4360
+ };
4361
+
4362
+ var parts$5 = ['overlay', 'dialogContainer', 'dialog', 'header', 'closeButton', 'body', 'footer'];
4363
+ var baseStyle$a = {
4275
4364
  width: 'fit-content',
4276
4365
  height: 'fit-content',
4277
4366
  background: '#F6F6F6',
@@ -4302,8 +4391,8 @@ var baseStyle$9 = {
4302
4391
  }
4303
4392
  };
4304
4393
  var Modal$1 = {
4305
- parts: parts$4,
4306
- baseStyle: baseStyle$9
4394
+ parts: parts$5,
4395
+ baseStyle: baseStyle$a
4307
4396
  };
4308
4397
 
4309
4398
  var Popover = {
@@ -4316,7 +4405,7 @@ var Popover = {
4316
4405
 
4317
4406
  var defaultProps$5 = Input$1.defaultProps,
4318
4407
  variants$7 = Input$1.variants;
4319
- var parts$5 = ['field', 'icon'];
4408
+ var parts$6 = ['field', 'icon'];
4320
4409
  function baseStyleField() {
4321
4410
  return _extends$6({}, Input$1.baseStyle.field, {
4322
4411
  appearance: 'none',
@@ -4335,20 +4424,20 @@ var baseStyleInput = {
4335
4424
  opacity: 0.5
4336
4425
  }
4337
4426
  };
4338
- var baseStyle$a = function baseStyle() {
4427
+ var baseStyle$b = function baseStyle() {
4339
4428
  return {
4340
4429
  field: baseStyleField(),
4341
4430
  icon: baseStyleInput
4342
4431
  };
4343
4432
  };
4344
4433
  var Select = {
4345
- parts: parts$5,
4346
- baseStyle: baseStyle$a,
4434
+ parts: parts$6,
4435
+ baseStyle: baseStyle$b,
4347
4436
  variants: variants$7,
4348
4437
  defaultProps: defaultProps$5
4349
4438
  };
4350
4439
 
4351
- var parts$6 = ['track', 'thumb'];
4440
+ var parts$7 = ['track', 'thumb'];
4352
4441
  function baseStyleTrack(props) {
4353
4442
  var c = props.colorScheme,
4354
4443
  theme = props.theme;
@@ -4378,7 +4467,7 @@ var baseStyleThumb = {
4378
4467
  borderRadius: 'full',
4379
4468
  transform: 'translateX(0)'
4380
4469
  };
4381
- var baseStyle$b = function baseStyle(props) {
4470
+ var baseStyle$c = function baseStyle(props) {
4382
4471
  return {
4383
4472
  track: baseStyleTrack(props),
4384
4473
  thumb: baseStyleThumb
@@ -4430,14 +4519,14 @@ var defaultProps$6 = {
4430
4519
  colorScheme: 'blue'
4431
4520
  };
4432
4521
  var Switch = {
4433
- parts: parts$6,
4434
- baseStyle: baseStyle$b,
4522
+ parts: parts$7,
4523
+ baseStyle: baseStyle$c,
4435
4524
  sizes: sizes,
4436
4525
  defaultProps: defaultProps$6
4437
4526
  };
4438
4527
 
4439
- var parts$7 = ['th', 'td', 'tr', 'body', 'thead'];
4440
- var baseStyle$c = {
4528
+ var parts$8 = ['th', 'td', 'tr', 'body', 'thead'];
4529
+ var baseStyle$d = {
4441
4530
  thead: {
4442
4531
  bg: colors.label.primary.dark
4443
4532
  },
@@ -4473,11 +4562,11 @@ var baseStyle$c = {
4473
4562
  }
4474
4563
  };
4475
4564
  var Table = {
4476
- parts: parts$7,
4477
- baseStyle: baseStyle$c
4565
+ parts: parts$8,
4566
+ baseStyle: baseStyle$d
4478
4567
  };
4479
4568
 
4480
- var parts$8 = ['root', 'tablist', 'tab', 'tabpanel', 'indicator'];
4569
+ var parts$9 = ['root', 'tablist', 'tab', 'tabpanel', 'indicator'];
4481
4570
  function baseStyleRoot(props) {
4482
4571
  var orientation = props.orientation;
4483
4572
  return {
@@ -4512,7 +4601,7 @@ function baseStyleTablist(props) {
4512
4601
  var baseStyleTabpanel = {
4513
4602
  p: 4
4514
4603
  };
4515
- var baseStyle$d = function baseStyle(props) {
4604
+ var baseStyle$e = function baseStyle(props) {
4516
4605
  return {
4517
4606
  root: baseStyleRoot(props),
4518
4607
  tab: baseStyleTab(props),
@@ -4698,14 +4787,14 @@ var defaultProps$7 = {
4698
4787
  colorScheme: 'blue'
4699
4788
  };
4700
4789
  var Tabs = {
4701
- parts: parts$8,
4702
- baseStyle: baseStyle$d,
4790
+ parts: parts$9,
4791
+ baseStyle: baseStyle$e,
4703
4792
  sizes: sizes$1,
4704
4793
  variants: variants$8,
4705
4794
  defaultProps: defaultProps$7
4706
4795
  };
4707
4796
 
4708
- var baseStyle$e = /*#__PURE__*/_extends$6({}, Input$1.baseStyle.field, {
4797
+ var baseStyle$f = /*#__PURE__*/_extends$6({}, Input$1.baseStyle.field, {
4709
4798
  fontSize: '13px',
4710
4799
  display: 'block',
4711
4800
  paddingY: '8px',
@@ -4713,7 +4802,7 @@ var baseStyle$e = /*#__PURE__*/_extends$6({}, Input$1.baseStyle.field, {
4713
4802
  height: '78px',
4714
4803
  lineHeight: 'short'
4715
4804
  });
4716
- var mobileInputs$1 = /*#__PURE__*/defineStyle$1( /*#__PURE__*/_extends$6({}, baseStyle$e, Input$1.variants.mobile.field, {
4805
+ var mobileInputs$1 = /*#__PURE__*/defineStyle$1( /*#__PURE__*/_extends$6({}, baseStyle$f, Input$1.variants.mobile.field, {
4717
4806
  border: 'none',
4718
4807
  borderRadius: 0,
4719
4808
  paddingY: '16px',
@@ -4728,14 +4817,14 @@ var mobileInputs$1 = /*#__PURE__*/defineStyle$1( /*#__PURE__*/_extends$6({}, bas
4728
4817
  minHeight: '208px'
4729
4818
  }));
4730
4819
  var variants$9 = {
4731
- "default": baseStyle$e,
4820
+ "default": baseStyle$f,
4732
4821
  mobile: mobileInputs$1
4733
4822
  };
4734
4823
  var defaultProps$8 = {
4735
4824
  variant: 'default'
4736
4825
  };
4737
4826
  var Textarea = {
4738
- baseStyle: baseStyle$e,
4827
+ baseStyle: baseStyle$f,
4739
4828
  variants: variants$9,
4740
4829
  defaultProps: defaultProps$8
4741
4830
  };
@@ -4867,6 +4956,7 @@ var customXQChakraTheme = /*#__PURE__*/extendTheme( /*#__PURE__*/_extends$6({
4867
4956
  FormLabel: FormLabel,
4868
4957
  Input: Input$1,
4869
4958
  Link: Link$1,
4959
+ Menu: Menu$1,
4870
4960
  Modal: Modal$1,
4871
4961
  Popover: Popover,
4872
4962
  Select: Select,