@uniformdev/design-system 19.173.2-alpha.8 → 19.176.1-alpha.9

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/esm/index.js CHANGED
@@ -12289,7 +12289,6 @@ var menuItem = (textTheme, forceActive) => css26`
12289
12289
  font-weight: var(--fw-regular);
12290
12290
  flex-grow: 1;
12291
12291
  gap: var(--spacing-xs);
12292
- cursor: default;
12293
12292
  white-space: nowrap;
12294
12293
  transition: background-color var(--duration-fast) var(--timing-ease-out);
12295
12294
  ${forceActive ? activeMenuItem : ""}
@@ -15336,6 +15335,7 @@ var input2 = css53`
15336
15335
  padding: 0;
15337
15336
  display: flex;
15338
15337
  justify-content: space-between;
15338
+ gap: var(--spacing-xs);
15339
15339
  `;
15340
15340
  var inputLabel = css53`
15341
15341
  flex-grow: 1;
@@ -15354,9 +15354,9 @@ var trigger = css53`
15354
15354
  `;
15355
15355
  var popover = css53`
15356
15356
  padding: var(--spacing-md);
15357
- max-width: none;
15357
+ max-width: unset;
15358
15358
  container-type: inline-size;
15359
- width: 100%;
15359
+ width: clamp(200px, 100%, 540px);
15360
15360
  `;
15361
15361
  var popoverInnerContent = css53`
15362
15362
  display: grid;
@@ -15375,6 +15375,8 @@ var popoverInnerContent = css53`
15375
15375
  var calendarSection = css53`
15376
15376
  grid-column: 1;
15377
15377
  grid-row: 1 / 3;
15378
+ max-width: 240px;
15379
+ margin-inline: auto;
15378
15380
 
15379
15381
  [data-variant='date'] & {
15380
15382
  grid-row: 1 / 2;
@@ -15396,6 +15398,7 @@ var datePart = css53`
15396
15398
  var datePartButton = css53`
15397
15399
  // this allows the button to be as wide as the text
15398
15400
  min-width: 0;
15401
+ margin-right: auto;
15399
15402
  `;
15400
15403
 
15401
15404
  // src/components/DateTimePicker/DateTimePickerSummary.tsx
@@ -15544,10 +15547,12 @@ var DateTimePicker = ({
15544
15547
  warningMessage,
15545
15548
  disabled: disabled2,
15546
15549
  onChange,
15547
- testId,
15550
+ testId = "datetime-picker",
15551
+ placement = "bottom-start",
15552
+ offset,
15548
15553
  ...props
15549
15554
  }) => {
15550
- const popover2 = usePopoverState({ placement: "bottom-start" });
15555
+ const popover2 = usePopoverState({ placement, unstable_offset: offset });
15551
15556
  const parsedValue = useMemo(() => tryParseAbsolute(value == null ? void 0 : value.datetime, value == null ? void 0 : value.timeZone), [value]);
15552
15557
  const parsedMinVisible = useMemo(
15553
15558
  () => tryParseAbsoluteToDateString(minVisible, value == null ? void 0 : value.timeZone),
@@ -15718,21 +15723,17 @@ import { css as css54 } from "@emotion/react";
15718
15723
  var descriptionListHorizontal = css54`
15719
15724
  display: grid;
15720
15725
  grid-template-columns: max-content auto;
15721
- gap: var(--spacing-xs) var(--spacing-md);
15726
+ gap: var(--spacing-sm) var(--spacing-md);
15722
15727
  `;
15723
15728
  var descriptionListVertical = css54`
15724
15729
  display: flex;
15725
15730
  flex-direction: column;
15726
- gap: var(--spacing-xs);
15731
+ gap: var(--spacing-sm);
15727
15732
  `;
15728
15733
  var descriptionListLabelStyles = css54`
15729
15734
  display: flex;
15730
15735
  align-items: center;
15731
15736
  color: var(--gray-500);
15732
-
15733
- dd + & {
15734
- margin-top: var(--spacing-sm);
15735
- }
15736
15737
  `;
15737
15738
  var descriptionListValueStyles = css54`
15738
15739
  display: flex;
@@ -15787,7 +15788,10 @@ var detailsContent = css55`
15787
15788
  position: relative;
15788
15789
  animation: ${fadeInRtl} var(--duration-fast) var(--timing-ease-out) forwards;
15789
15790
  will-change: height;
15790
- z-index: 1;
15791
+
15792
+ &:focus-within {
15793
+ z-index: 1;
15794
+ }
15791
15795
  `;
15792
15796
  var detailsContentIndented = css55`
15793
15797
  margin-left: calc(1.25rem / 2);
@@ -18919,14 +18923,19 @@ var ObjectListItemContainer = css84`
18919
18923
  }
18920
18924
  `;
18921
18925
  var ObjectListItemCover = css84`
18922
- max-width: 80px;
18923
- min-height: 45px;
18926
+ align-items: center;
18927
+ background: var(--gray-100);
18928
+ color: var(--gray-500);
18929
+ display: flex;
18930
+ width: 80px;
18931
+ height: 45px;
18932
+ text-align: center;
18933
+ font-size: var(--fs-xs);
18934
+ `;
18935
+ var ObjectListItemImage = css84`
18924
18936
  object-fit: cover;
18925
-
18926
- [role='presentation'] {
18927
- background: var(--gray-200);
18928
- height: 45px;
18929
- }
18937
+ width: 100%;
18938
+ height: 100%;
18930
18939
  `;
18931
18940
  var ObjectListItemLoading = css84`
18932
18941
  animation: ${skeletonLoading} 1s linear infinite alternate;
@@ -19009,26 +19018,30 @@ var ObjectListItem2 = (props) => {
19009
19018
 
19010
19019
  // src/components/Objects/ObjectListItemContainer.tsx
19011
19020
  import { jsx as jsx110 } from "@emotion/react/jsx-runtime";
19012
- var ObjectListItemContainer2 = ({ children, ...props }) => {
19013
- return /* @__PURE__ */ jsx110(VerticalRhythm, { css: ObjectListItemContainer, role: "list", ...props, children });
19021
+ var ObjectListItemContainer2 = ({ children, gap = "0", ...props }) => {
19022
+ return /* @__PURE__ */ jsx110(VerticalRhythm, { gap, css: ObjectListItemContainer, role: "list", ...props, children });
19014
19023
  };
19015
19024
 
19016
19025
  // src/components/Objects/ObjectListItemCover.tsx
19017
19026
  import { jsx as jsx111 } from "@emotion/react/jsx-runtime";
19018
- var ObjectListItemCover2 = ({ imageUrl, ...props }) => {
19027
+ var ObjectListItemCover2 = ({
19028
+ imageUrl,
19029
+ noImageText = "Image not available",
19030
+ ...props
19031
+ }) => {
19019
19032
  if (!imageUrl) {
19020
- return /* @__PURE__ */ jsx111("div", { css: ObjectListItemCover, role: "presentation", "data-testid": "object-list-item-thumbnail" });
19033
+ return /* @__PURE__ */ jsx111("div", { css: ObjectListItemCover, role: "presentation", "data-testid": "object-list-item-thumbnail", children: noImageText });
19021
19034
  }
19022
- return /* @__PURE__ */ jsx111(
19035
+ return /* @__PURE__ */ jsx111("div", { css: ObjectListItemCover, children: /* @__PURE__ */ jsx111(
19023
19036
  "img",
19024
19037
  {
19025
- css: ObjectListItemCover,
19026
19038
  src: imageUrl,
19039
+ css: ObjectListItemImage,
19027
19040
  loading: "lazy",
19028
19041
  "data-testid": "object-list-item-thumbnail",
19029
19042
  ...props
19030
19043
  }
19031
- );
19044
+ ) });
19032
19045
  };
19033
19046
 
19034
19047
  // src/components/Objects/ObjectListItemHeading.tsx
package/dist/index.d.mts CHANGED
@@ -16,6 +16,7 @@ import * as _react_icons_all_files from '@react-icons/all-files';
16
16
  import { IconType as IconType$2 } from '@react-icons/all-files';
17
17
  import { DateValue } from '@internationalized/date';
18
18
  import { CalendarProps as CalendarProps$1, TimeFieldProps, TimeValue } from 'react-aria-components';
19
+ import { PopoverState } from 'reakit/Popover';
19
20
  import { CreatableProps } from 'react-select/creatable';
20
21
  import InternalSelect from 'react-select/dist/declarations/src/Select';
21
22
  import { JsonSchema7Type } from 'zod-to-json-schema/src/parseDef';
@@ -21470,6 +21471,10 @@ type DateTimePickerProps = {
21470
21471
  disabled?: boolean;
21471
21472
  /** (optional) sets the base test id for each of the elements with a testid */
21472
21473
  testId?: string;
21474
+ /** (optional) sets the popover placement */
21475
+ placement?: PopoverState['placement'];
21476
+ /** (optional) sets the popover offset */
21477
+ offset?: [string | number, string | number] | undefined;
21473
21478
  };
21474
21479
  /**
21475
21480
  * Use this context for slots within the date time picker
@@ -21492,7 +21497,7 @@ declare function useDateTimePickerContext(): {
21492
21497
  * Subcomponents can manipulate the value directly by using
21493
21498
  * the `useDateTimePickerContext()` hook.
21494
21499
  */
21495
- declare const DateTimePicker: ({ id, label, triggerIcon, value, minVisible, maxVisible, variant, caption, placeholder, belowTimeInputSlot, showLabel, errorMessage, warningMessage, disabled, onChange, testId, ...props }: DateTimePickerProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
21500
+ declare const DateTimePicker: ({ id, label, triggerIcon, value, minVisible, maxVisible, variant, caption, placeholder, belowTimeInputSlot, showLabel, errorMessage, warningMessage, disabled, onChange, testId, placement, offset, ...props }: DateTimePickerProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
21496
21501
 
21497
21502
  declare function DateTimePickerSummary({ value, placeholder, }: {
21498
21503
  value: DateTimePickerValue | null | undefined;
@@ -22905,14 +22910,18 @@ type ObjectListItemMultiProps = Omit<ObjectItemProps, 'cover'> & {
22905
22910
  declare const ObjectListItem: (props: ObjectListItemProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
22906
22911
 
22907
22912
  /** @deprecated - Beta Object list item container component */
22908
- declare const ObjectListItemContainer: ({ children, ...props }: RhythmProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
22913
+ declare const ObjectListItemContainer: ({ children, gap, ...props }: RhythmProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
22909
22914
 
22910
22915
  /** @deprecated - Beta Object list item cover component */
22911
22916
  type ObjectListItemCoverProps = {
22912
22917
  imageUrl?: string;
22918
+ /** (optional) sets the text to display when there is no image
22919
+ * @default 'Image not available'
22920
+ */
22921
+ noImageText?: string;
22913
22922
  } & HTMLAttributes<HTMLImageElement>;
22914
22923
  /** @deprecated - beta Object list item cover component */
22915
- declare const ObjectListItemCover: ({ imageUrl, ...props }: ObjectListItemCoverProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
22924
+ declare const ObjectListItemCover: ({ imageUrl, noImageText, ...props }: ObjectListItemCoverProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
22916
22925
 
22917
22926
  /** @deprecated - Beta Object list item heading component */
22918
22927
  type ObjectListItemHeadingProps = Omit<ObjectHeadingProps, 'heading'> & HTMLAttributes<HTMLDivElement> & {
package/dist/index.d.ts CHANGED
@@ -16,6 +16,7 @@ import * as _react_icons_all_files from '@react-icons/all-files';
16
16
  import { IconType as IconType$2 } from '@react-icons/all-files';
17
17
  import { DateValue } from '@internationalized/date';
18
18
  import { CalendarProps as CalendarProps$1, TimeFieldProps, TimeValue } from 'react-aria-components';
19
+ import { PopoverState } from 'reakit/Popover';
19
20
  import { CreatableProps } from 'react-select/creatable';
20
21
  import InternalSelect from 'react-select/dist/declarations/src/Select';
21
22
  import { JsonSchema7Type } from 'zod-to-json-schema/src/parseDef';
@@ -21470,6 +21471,10 @@ type DateTimePickerProps = {
21470
21471
  disabled?: boolean;
21471
21472
  /** (optional) sets the base test id for each of the elements with a testid */
21472
21473
  testId?: string;
21474
+ /** (optional) sets the popover placement */
21475
+ placement?: PopoverState['placement'];
21476
+ /** (optional) sets the popover offset */
21477
+ offset?: [string | number, string | number] | undefined;
21473
21478
  };
21474
21479
  /**
21475
21480
  * Use this context for slots within the date time picker
@@ -21492,7 +21497,7 @@ declare function useDateTimePickerContext(): {
21492
21497
  * Subcomponents can manipulate the value directly by using
21493
21498
  * the `useDateTimePickerContext()` hook.
21494
21499
  */
21495
- declare const DateTimePicker: ({ id, label, triggerIcon, value, minVisible, maxVisible, variant, caption, placeholder, belowTimeInputSlot, showLabel, errorMessage, warningMessage, disabled, onChange, testId, ...props }: DateTimePickerProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
21500
+ declare const DateTimePicker: ({ id, label, triggerIcon, value, minVisible, maxVisible, variant, caption, placeholder, belowTimeInputSlot, showLabel, errorMessage, warningMessage, disabled, onChange, testId, placement, offset, ...props }: DateTimePickerProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
21496
21501
 
21497
21502
  declare function DateTimePickerSummary({ value, placeholder, }: {
21498
21503
  value: DateTimePickerValue | null | undefined;
@@ -22905,14 +22910,18 @@ type ObjectListItemMultiProps = Omit<ObjectItemProps, 'cover'> & {
22905
22910
  declare const ObjectListItem: (props: ObjectListItemProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
22906
22911
 
22907
22912
  /** @deprecated - Beta Object list item container component */
22908
- declare const ObjectListItemContainer: ({ children, ...props }: RhythmProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
22913
+ declare const ObjectListItemContainer: ({ children, gap, ...props }: RhythmProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
22909
22914
 
22910
22915
  /** @deprecated - Beta Object list item cover component */
22911
22916
  type ObjectListItemCoverProps = {
22912
22917
  imageUrl?: string;
22918
+ /** (optional) sets the text to display when there is no image
22919
+ * @default 'Image not available'
22920
+ */
22921
+ noImageText?: string;
22913
22922
  } & HTMLAttributes<HTMLImageElement>;
22914
22923
  /** @deprecated - beta Object list item cover component */
22915
- declare const ObjectListItemCover: ({ imageUrl, ...props }: ObjectListItemCoverProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
22924
+ declare const ObjectListItemCover: ({ imageUrl, noImageText, ...props }: ObjectListItemCoverProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
22916
22925
 
22917
22926
  /** @deprecated - Beta Object list item heading component */
22918
22927
  type ObjectListItemHeadingProps = Omit<ObjectHeadingProps, 'heading'> & HTMLAttributes<HTMLDivElement> & {
package/dist/index.js CHANGED
@@ -13988,7 +13988,6 @@ var menuItem = (textTheme, forceActive) => import_react34.css`
13988
13988
  font-weight: var(--fw-regular);
13989
13989
  flex-grow: 1;
13990
13990
  gap: var(--spacing-xs);
13991
- cursor: default;
13992
13991
  white-space: nowrap;
13993
13992
  transition: background-color var(--duration-fast) var(--timing-ease-out);
13994
13993
  ${forceActive ? activeMenuItem : ""}
@@ -17109,6 +17108,7 @@ var input2 = import_react74.css`
17109
17108
  padding: 0;
17110
17109
  display: flex;
17111
17110
  justify-content: space-between;
17111
+ gap: var(--spacing-xs);
17112
17112
  `;
17113
17113
  var inputLabel = import_react74.css`
17114
17114
  flex-grow: 1;
@@ -17127,9 +17127,9 @@ var trigger = import_react74.css`
17127
17127
  `;
17128
17128
  var popover = import_react74.css`
17129
17129
  padding: var(--spacing-md);
17130
- max-width: none;
17130
+ max-width: unset;
17131
17131
  container-type: inline-size;
17132
- width: 100%;
17132
+ width: clamp(200px, 100%, 540px);
17133
17133
  `;
17134
17134
  var popoverInnerContent = import_react74.css`
17135
17135
  display: grid;
@@ -17148,6 +17148,8 @@ var popoverInnerContent = import_react74.css`
17148
17148
  var calendarSection = import_react74.css`
17149
17149
  grid-column: 1;
17150
17150
  grid-row: 1 / 3;
17151
+ max-width: 240px;
17152
+ margin-inline: auto;
17151
17153
 
17152
17154
  [data-variant='date'] & {
17153
17155
  grid-row: 1 / 2;
@@ -17169,6 +17171,7 @@ var datePart = import_react74.css`
17169
17171
  var datePartButton = import_react74.css`
17170
17172
  // this allows the button to be as wide as the text
17171
17173
  min-width: 0;
17174
+ margin-right: auto;
17172
17175
  `;
17173
17176
 
17174
17177
  // src/components/DateTimePicker/DateTimePickerSummary.tsx
@@ -17312,10 +17315,12 @@ var DateTimePicker = ({
17312
17315
  warningMessage,
17313
17316
  disabled: disabled2,
17314
17317
  onChange,
17315
- testId,
17318
+ testId = "datetime-picker",
17319
+ placement = "bottom-start",
17320
+ offset,
17316
17321
  ...props
17317
17322
  }) => {
17318
- const popover2 = (0, import_Popover.usePopoverState)({ placement: "bottom-start" });
17323
+ const popover2 = (0, import_Popover.usePopoverState)({ placement, unstable_offset: offset });
17319
17324
  const parsedValue = (0, import_react75.useMemo)(() => tryParseAbsolute(value == null ? void 0 : value.datetime, value == null ? void 0 : value.timeZone), [value]);
17320
17325
  const parsedMinVisible = (0, import_react75.useMemo)(
17321
17326
  () => tryParseAbsoluteToDateString(minVisible, value == null ? void 0 : value.timeZone),
@@ -17488,21 +17493,17 @@ var import_react76 = require("@emotion/react");
17488
17493
  var descriptionListHorizontal = import_react76.css`
17489
17494
  display: grid;
17490
17495
  grid-template-columns: max-content auto;
17491
- gap: var(--spacing-xs) var(--spacing-md);
17496
+ gap: var(--spacing-sm) var(--spacing-md);
17492
17497
  `;
17493
17498
  var descriptionListVertical = import_react76.css`
17494
17499
  display: flex;
17495
17500
  flex-direction: column;
17496
- gap: var(--spacing-xs);
17501
+ gap: var(--spacing-sm);
17497
17502
  `;
17498
17503
  var descriptionListLabelStyles = import_react76.css`
17499
17504
  display: flex;
17500
17505
  align-items: center;
17501
17506
  color: var(--gray-500);
17502
-
17503
- dd + & {
17504
- margin-top: var(--spacing-sm);
17505
- }
17506
17507
  `;
17507
17508
  var descriptionListValueStyles = import_react76.css`
17508
17509
  display: flex;
@@ -17559,7 +17560,10 @@ var detailsContent = import_react78.css`
17559
17560
  position: relative;
17560
17561
  animation: ${fadeInRtl} var(--duration-fast) var(--timing-ease-out) forwards;
17561
17562
  will-change: height;
17562
- z-index: 1;
17563
+
17564
+ &:focus-within {
17565
+ z-index: 1;
17566
+ }
17563
17567
  `;
17564
17568
  var detailsContentIndented = import_react78.css`
17565
17569
  margin-left: calc(1.25rem / 2);
@@ -20778,14 +20782,19 @@ var ObjectListItemContainer = import_react126.css`
20778
20782
  }
20779
20783
  `;
20780
20784
  var ObjectListItemCover = import_react126.css`
20781
- max-width: 80px;
20782
- min-height: 45px;
20785
+ align-items: center;
20786
+ background: var(--gray-100);
20787
+ color: var(--gray-500);
20788
+ display: flex;
20789
+ width: 80px;
20790
+ height: 45px;
20791
+ text-align: center;
20792
+ font-size: var(--fs-xs);
20793
+ `;
20794
+ var ObjectListItemImage = import_react126.css`
20783
20795
  object-fit: cover;
20784
-
20785
- [role='presentation'] {
20786
- background: var(--gray-200);
20787
- height: 45px;
20788
- }
20796
+ width: 100%;
20797
+ height: 100%;
20789
20798
  `;
20790
20799
  var ObjectListItemLoading = import_react126.css`
20791
20800
  animation: ${skeletonLoading} 1s linear infinite alternate;
@@ -20870,27 +20879,31 @@ var ObjectListItem2 = (props) => {
20870
20879
  // src/components/Objects/ObjectListItemContainer.tsx
20871
20880
  init_emotion_jsx_shim();
20872
20881
  var import_jsx_runtime110 = require("@emotion/react/jsx-runtime");
20873
- var ObjectListItemContainer2 = ({ children, ...props }) => {
20874
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(VerticalRhythm, { css: ObjectListItemContainer, role: "list", ...props, children });
20882
+ var ObjectListItemContainer2 = ({ children, gap = "0", ...props }) => {
20883
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(VerticalRhythm, { gap, css: ObjectListItemContainer, role: "list", ...props, children });
20875
20884
  };
20876
20885
 
20877
20886
  // src/components/Objects/ObjectListItemCover.tsx
20878
20887
  init_emotion_jsx_shim();
20879
20888
  var import_jsx_runtime111 = require("@emotion/react/jsx-runtime");
20880
- var ObjectListItemCover2 = ({ imageUrl, ...props }) => {
20889
+ var ObjectListItemCover2 = ({
20890
+ imageUrl,
20891
+ noImageText = "Image not available",
20892
+ ...props
20893
+ }) => {
20881
20894
  if (!imageUrl) {
20882
- return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { css: ObjectListItemCover, role: "presentation", "data-testid": "object-list-item-thumbnail" });
20895
+ return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { css: ObjectListItemCover, role: "presentation", "data-testid": "object-list-item-thumbnail", children: noImageText });
20883
20896
  }
20884
- return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
20897
+ return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { css: ObjectListItemCover, children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
20885
20898
  "img",
20886
20899
  {
20887
- css: ObjectListItemCover,
20888
20900
  src: imageUrl,
20901
+ css: ObjectListItemImage,
20889
20902
  loading: "lazy",
20890
20903
  "data-testid": "object-list-item-thumbnail",
20891
20904
  ...props
20892
20905
  }
20893
- );
20906
+ ) });
20894
20907
  };
20895
20908
 
20896
20909
  // src/components/Objects/ObjectListItemHeading.tsx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/design-system",
3
- "version": "19.173.2-alpha.8+7b0bc70fd5",
3
+ "version": "19.176.1-alpha.9+f0d014e428",
4
4
  "description": "Uniform design system components",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "./dist/index.js",
@@ -24,8 +24,8 @@
24
24
  "@storybook/react": "8.0.10",
25
25
  "@types/react": "18.2.40",
26
26
  "@types/react-dom": "18.2.17",
27
- "@uniformdev/canvas": "^19.173.2-alpha.8+7b0bc70fd5",
28
- "@uniformdev/richtext": "^19.173.2-alpha.8+7b0bc70fd5",
27
+ "@uniformdev/canvas": "^19.176.1-alpha.9+f0d014e428",
28
+ "@uniformdev/richtext": "^19.176.1-alpha.9+f0d014e428",
29
29
  "autoprefixer": "10.4.16",
30
30
  "hygen": "6.2.11",
31
31
  "postcss": "8.4.38",
@@ -76,5 +76,5 @@
76
76
  "publishConfig": {
77
77
  "access": "public"
78
78
  },
79
- "gitHead": "7b0bc70fd58912415a860667c266cb339fa8133a"
79
+ "gitHead": "f0d014e4289935e7192ae91d421883c8b49cc3fb"
80
80
  }