@noya-app/noya-designsystem 0.1.24 → 0.1.25

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.
@@ -5,13 +5,13 @@
5
5
  CLI Target: esnext
6
6
  CJS Build start
7
7
  ESM Build start
8
+ ESM dist/index.mjs 216.08 KB
9
+ ESM dist/index.mjs.map 471.92 KB
10
+ ESM ⚡️ Build success in 141ms
11
+ CJS dist/index.js 234.49 KB
12
+ CJS dist/index.js.map 471.82 KB
13
+ CJS ⚡️ Build success in 141ms
8
14
  DTS Build start
9
- ESM dist/index.mjs 213.95 KB
10
- ESM dist/index.mjs.map 468.02 KB
11
- ESM ⚡️ Build success in 297ms
12
- CJS dist/index.js 232.25 KB
13
- CJS dist/index.js.map 467.92 KB
14
- CJS ⚡️ Build success in 336ms
15
- DTS ⚡️ Build success in 10367ms
16
- DTS dist/index.d.ts 61.69 KB
17
- DTS dist/index.d.mts 61.69 KB
15
+ DTS ⚡️ Build success in 11480ms
16
+ DTS dist/index.d.ts 62.01 KB
17
+ DTS dist/index.d.mts 62.01 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @noya-app/noya-designsystem
2
2
 
3
+ ## 0.1.25
4
+
5
+ ### Patch Changes
6
+
7
+ - b1903d5: Update json editor and improve multiplayer sync
8
+
3
9
  ## 0.1.24
4
10
 
5
11
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -73,7 +73,7 @@ interface ButtonRootProps {
73
73
  declare const Button: (props: ButtonRootProps & React__default.RefAttributes<HTMLButtonElement>) => React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null;
74
74
 
75
75
  type ChipColorScheme = "primary" | "secondary" | "error";
76
- type ChipSize = "small" | "medium";
76
+ type ChipSize = "small" | "medium" | "large";
77
77
  type ChipVariant = "solid" | "outlined" | "ghost";
78
78
  interface ChipProps {
79
79
  id?: string;
@@ -539,6 +539,7 @@ declare namespace InputField {
539
539
  onClick?: (() => void) | undefined;
540
540
  }) => React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null;
541
541
  const Label: (props: InputFieldLabelProps & React__default.RefAttributes<HTMLLabelElement>) => React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null;
542
+ const PrimitiveElement: styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<React__default.DetailedHTMLProps<React__default.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, never>> & string;
542
543
  }
543
544
 
544
545
  declare function fuzzyScore({ item, query }: {
@@ -871,6 +872,8 @@ type Props$8<T extends string> = {
871
872
  value: T;
872
873
  onSelect?: (value: T) => void;
873
874
  placeholder?: string;
875
+ disabled?: boolean;
876
+ readOnly?: boolean;
874
877
  };
875
878
  declare const SelectMenu: <T extends string = string>(props: Props$8<T>) => React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null;
876
879
 
@@ -975,8 +978,9 @@ interface Props$4 {
975
978
  value: boolean;
976
979
  onChange: (value: boolean) => void;
977
980
  colorScheme?: SwitchColorScheme;
981
+ disabled?: boolean;
978
982
  }
979
- declare const Switch: ({ value, onChange, colorScheme, }: Props$4) => React__default.JSX.Element;
983
+ declare const Switch: ({ value, onChange, colorScheme, disabled, }: Props$4) => React__default.JSX.Element;
980
984
 
981
985
  type StyleProps = {
982
986
  flex?: CSSProperties$1["flex"];
package/dist/index.d.ts CHANGED
@@ -73,7 +73,7 @@ interface ButtonRootProps {
73
73
  declare const Button: (props: ButtonRootProps & React__default.RefAttributes<HTMLButtonElement>) => React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null;
74
74
 
75
75
  type ChipColorScheme = "primary" | "secondary" | "error";
76
- type ChipSize = "small" | "medium";
76
+ type ChipSize = "small" | "medium" | "large";
77
77
  type ChipVariant = "solid" | "outlined" | "ghost";
78
78
  interface ChipProps {
79
79
  id?: string;
@@ -539,6 +539,7 @@ declare namespace InputField {
539
539
  onClick?: (() => void) | undefined;
540
540
  }) => React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null;
541
541
  const Label: (props: InputFieldLabelProps & React__default.RefAttributes<HTMLLabelElement>) => React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null;
542
+ const PrimitiveElement: styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<React__default.DetailedHTMLProps<React__default.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, never>> & string;
542
543
  }
543
544
 
544
545
  declare function fuzzyScore({ item, query }: {
@@ -871,6 +872,8 @@ type Props$8<T extends string> = {
871
872
  value: T;
872
873
  onSelect?: (value: T) => void;
873
874
  placeholder?: string;
875
+ disabled?: boolean;
876
+ readOnly?: boolean;
874
877
  };
875
878
  declare const SelectMenu: <T extends string = string>(props: Props$8<T>) => React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null;
876
879
 
@@ -975,8 +978,9 @@ interface Props$4 {
975
978
  value: boolean;
976
979
  onChange: (value: boolean) => void;
977
980
  colorScheme?: SwitchColorScheme;
981
+ disabled?: boolean;
978
982
  }
979
- declare const Switch: ({ value, onChange, colorScheme, }: Props$4) => React__default.JSX.Element;
983
+ declare const Switch: ({ value, onChange, colorScheme, disabled, }: Props$4) => React__default.JSX.Element;
980
984
 
981
985
  type StyleProps = {
982
986
  flex?: CSSProperties$1["flex"];
package/dist/index.js CHANGED
@@ -2306,6 +2306,35 @@ function InputFieldRoot({
2306
2306
  measuredWidth && /* @__PURE__ */ import_react33.default.createElement(Stack.V, { width: measuredWidth, overflow: "hidden" }, renderPopoverContent({ width: measuredWidth }))
2307
2307
  ) : rootElement);
2308
2308
  }
2309
+ var PrimitiveInputField = import_styled_components13.default.input(({ theme, readOnly, disabled }) => {
2310
+ return {
2311
+ // placeholder
2312
+ "&::placeholder": {
2313
+ color: theme.colors.textDisabled
2314
+ },
2315
+ ...theme.textStyles.small,
2316
+ color: readOnly ? theme.colors.textMuted : disabled ? theme.colors.textDisabled : theme.colors.text,
2317
+ width: "0px",
2318
+ // Reset intrinsic width
2319
+ flex: "1 1 0px",
2320
+ position: "relative",
2321
+ border: "0",
2322
+ outline: "none",
2323
+ minWidth: "0",
2324
+ alignSelf: "stretch",
2325
+ borderRadius: "4px",
2326
+ paddingTop: "4px",
2327
+ paddingBottom: "4px",
2328
+ paddingLeft: "6px",
2329
+ paddingRight: "6px",
2330
+ background: theme.colors.inputBackground,
2331
+ "&:focus": {
2332
+ boxShadow: `0 0 0 2px ${theme.colors.primary}`
2333
+ },
2334
+ userSelect: "all",
2335
+ pointerEvents: "all"
2336
+ };
2337
+ });
2309
2338
  var InputField;
2310
2339
  ((InputField2) => {
2311
2340
  InputField2.Root = (0, import_react33.memo)(InputFieldRoot);
@@ -2315,6 +2344,7 @@ var InputField;
2315
2344
  InputField2.DropdownMenu = InputFieldDropdownMenu;
2316
2345
  InputField2.Button = InputFieldButton;
2317
2346
  InputField2.Label = InputFieldLabel;
2347
+ InputField2.PrimitiveElement = PrimitiveInputField;
2318
2348
  })(InputField || (InputField = {}));
2319
2349
 
2320
2350
  // src/contexts/DialogContext.tsx
@@ -2660,9 +2690,12 @@ var ChipElement = import_styled_components16.default.span(({ theme, $colorScheme
2660
2690
  // lineHeight: "1.4",
2661
2691
  lineHeight: "15px",
2662
2692
  whiteSpace: "pre",
2663
- ...$size === "medium" ? {
2693
+ ...$size === "large" ? {
2664
2694
  fontSize: "11px",
2665
2695
  padding: "4px 8px"
2696
+ } : $size === "medium" ? {
2697
+ fontSize: "10px",
2698
+ padding: "2px 6px"
2666
2699
  } : {
2667
2700
  fontSize: "9px",
2668
2701
  padding: "0px 4px"
@@ -2697,7 +2730,7 @@ var DeleteElement = (0, import_styled_components16.default)(import_noya_icons3.C
2697
2730
  marginRight: "-2px",
2698
2731
  cursor: "pointer",
2699
2732
  opacity: 0.5,
2700
- ...size2 === "medium" ? {
2733
+ ...size2 === "large" ? {
2701
2734
  marginLeft: "2px",
2702
2735
  // top: '-1px',
2703
2736
  transform: "scale(0.75)"
@@ -2716,7 +2749,7 @@ var AddElement = (0, import_styled_components16.default)(import_noya_icons3.Plus
2716
2749
  marginLeft: "-2px",
2717
2750
  cursor: "pointer",
2718
2751
  opacity: 0.5,
2719
- ...size2 === "medium" ? {
2752
+ ...size2 === "large" ? {
2720
2753
  marginRight: "2px",
2721
2754
  top: "-1px",
2722
2755
  transform: "scale(0.75)"
@@ -2736,7 +2769,7 @@ var Chip = (0, import_react37.memo)(
2736
2769
  addable,
2737
2770
  clickable,
2738
2771
  style: style3,
2739
- size: size2 = "medium",
2772
+ size: size2 = "large",
2740
2773
  variant = "solid",
2741
2774
  monospace = false,
2742
2775
  tabIndex,
@@ -4580,9 +4613,10 @@ var Sortable;
4580
4613
  // src/components/ListView.tsx
4581
4614
  var ROW_HEIGHT = 31;
4582
4615
  var SECTION_HEADER_LABEL_HEIGHT = 27;
4583
- var DraggingContext = (0, import_react50.createContext)({
4616
+ var ListViewDraggingContext = (0, import_react50.createContext)({
4584
4617
  indentation: 12
4585
4618
  });
4619
+ ListViewDraggingContext.displayName = "ListViewDraggingContext";
4586
4620
  var ListRowContext = (0, import_react50.createContext)({
4587
4621
  marginType: "none",
4588
4622
  selectedPosition: "only",
@@ -4596,6 +4630,7 @@ var ListRowContext = (0, import_react50.createContext)({
4596
4630
  isSectionHeader: false,
4597
4631
  colorScheme: "primary"
4598
4632
  });
4633
+ ListRowContext.displayName = "ListRowContext";
4599
4634
  var ListViewRowTitle = import_styled_components25.default.span(({ theme }) => ({
4600
4635
  flex: "1 1 0",
4601
4636
  overflow: "hidden",
@@ -4783,7 +4818,7 @@ var ListViewRow = (0, import_react50.forwardRef)(function ListViewRow2({
4783
4818
  const { hoverProps } = useHover({
4784
4819
  onHoverChange
4785
4820
  });
4786
- const { indentation, isDragging } = (0, import_react50.useContext)(DraggingContext);
4821
+ const { indentation, isDragging } = (0, import_react50.useContext)(ListViewDraggingContext);
4787
4822
  const handlePress = (0, import_react50.useCallback)(
4788
4823
  (event) => {
4789
4824
  event.preventDefault();
@@ -4885,6 +4920,7 @@ var ListViewRow = (0, import_react50.forwardRef)(function ListViewRow2({
4885
4920
  var RenderItemContext = (0, import_react50.createContext)(
4886
4921
  () => null
4887
4922
  );
4923
+ RenderItemContext.displayName = "RenderItemContext";
4888
4924
  var VirtualizedListRow = (0, import_react50.memo)(function VirtualizedListRow2({
4889
4925
  index,
4890
4926
  style: style3
@@ -5009,8 +5045,26 @@ var ListViewRootInner = (0, import_react50.forwardRef)(function ListViewRootInne
5009
5045
  (index) => renderItem(data[index], index, { isDragging: false }),
5010
5046
  [data, renderItem]
5011
5047
  );
5048
+ const defaultContextValue = (0, import_react50.useMemo)(
5049
+ () => ({
5050
+ colorScheme,
5051
+ marginType: "none",
5052
+ selectedPosition: "only",
5053
+ sortable,
5054
+ expandable,
5055
+ divider,
5056
+ pressEventName,
5057
+ variant,
5058
+ gap,
5059
+ sectionHeaderVariant: "normal",
5060
+ isSectionHeader: false
5061
+ }),
5062
+ [colorScheme, sortable, expandable, divider, pressEventName, variant, gap]
5063
+ );
5012
5064
  const getItemContextValue = (0, import_react50.useCallback)(
5013
5065
  (i) => {
5066
+ if (variant === "bare" || variant === "normal")
5067
+ return defaultContextValue;
5014
5068
  const current = renderChild(i);
5015
5069
  if (!(0, import_react50.isValidElement)(current))
5016
5070
  return;
@@ -5057,6 +5111,8 @@ var ListViewRootInner = (0, import_react50.forwardRef)(function ListViewRootInne
5057
5111
  };
5058
5112
  },
5059
5113
  [
5114
+ variant,
5115
+ defaultContextValue,
5060
5116
  renderChild,
5061
5117
  data.length,
5062
5118
  colorScheme,
@@ -5064,7 +5120,6 @@ var ListViewRootInner = (0, import_react50.forwardRef)(function ListViewRootInne
5064
5120
  expandable,
5065
5121
  divider,
5066
5122
  pressEventName,
5067
- variant,
5068
5123
  sectionHeaderVariant,
5069
5124
  gap
5070
5125
  ]
@@ -5074,7 +5129,7 @@ var ListViewRootInner = (0, import_react50.forwardRef)(function ListViewRootInne
5074
5129
  [indentation]
5075
5130
  );
5076
5131
  const renderOverlay = (0, import_react50.useCallback)(
5077
- (index) => /* @__PURE__ */ import_react50.default.createElement("div", { style: { opacity: 0.25 } }, /* @__PURE__ */ import_react50.default.createElement(DraggingContext.Provider, { value: draggingContextOverlayValue }, renderItem(data[index], index, { isDragging: true }))),
5132
+ (index) => /* @__PURE__ */ import_react50.default.createElement("div", { style: { opacity: 0.25 } }, /* @__PURE__ */ import_react50.default.createElement(ListViewDraggingContext.Provider, { value: draggingContextOverlayValue }, renderItem(data[index], index, { isDragging: true }))),
5078
5133
  [draggingContextOverlayValue, renderItem, data]
5079
5134
  );
5080
5135
  const renderWrappedChild = (0, import_react50.useCallback)(
@@ -5113,7 +5168,7 @@ var ListViewRootInner = (0, import_react50.forwardRef)(function ListViewRootInne
5113
5168
  [data, keyExtractor]
5114
5169
  );
5115
5170
  const draggingContextValue = (0, import_react50.useMemo)(() => ({ indentation }), [indentation]);
5116
- return /* @__PURE__ */ import_react50.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react50.default.createElement(
5171
+ return /* @__PURE__ */ import_react50.default.createElement(ListViewDraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react50.default.createElement(
5117
5172
  RootContainer2,
5118
5173
  {
5119
5174
  id,
@@ -6092,6 +6147,10 @@ var import_noya_icons6 = require("@noya-app/noya-icons");
6092
6147
  var Select3 = __toESM(require("@radix-ui/react-select"));
6093
6148
  var import_react59 = __toESM(require("react"));
6094
6149
  var import_styled_components33 = require("styled-components");
6150
+ var readOnlyStyle = {
6151
+ justifyContent: "flex-start",
6152
+ textAlign: "left"
6153
+ };
6095
6154
  var SelectMenu = (0, import_react59.memo)(function SelectMenu2({
6096
6155
  id,
6097
6156
  style: style3,
@@ -6099,13 +6158,29 @@ var SelectMenu = (0, import_react59.memo)(function SelectMenu2({
6099
6158
  menuItems,
6100
6159
  value,
6101
6160
  onSelect,
6102
- placeholder
6161
+ placeholder,
6162
+ disabled,
6163
+ readOnly
6103
6164
  }) {
6104
6165
  const selectedItem = menuItems.find(
6105
6166
  (item) => typeof item !== "string" && item.value === value
6106
6167
  );
6107
6168
  const icon = selectedItem?.icon;
6108
- return /* @__PURE__ */ import_react59.default.createElement(Select3.Root, { value, onValueChange: onSelect }, /* @__PURE__ */ import_react59.default.createElement(Select3.SelectTrigger, { asChild: true }, /* @__PURE__ */ import_react59.default.createElement(Button, { id, style: style3, className }, icon && /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ import_react59.default.createElement(Select3.Value, { placeholder }), /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react59.default.createElement(import_noya_icons6.DropdownChevronIcon, null))), /* @__PURE__ */ import_react59.default.createElement(Select3.Portal, null, /* @__PURE__ */ import_react59.default.createElement(SelectContent, null, /* @__PURE__ */ import_react59.default.createElement(SelectViewport, null, menuItems.map((menuItem) => {
6169
+ if (readOnly) {
6170
+ return /* @__PURE__ */ import_react59.default.createElement(
6171
+ Button,
6172
+ {
6173
+ id,
6174
+ style: style3,
6175
+ contentStyle: readOnlyStyle,
6176
+ className,
6177
+ disabled
6178
+ },
6179
+ icon && /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, { size: 8 })),
6180
+ selectedItem?.title ?? value
6181
+ );
6182
+ }
6183
+ return /* @__PURE__ */ import_react59.default.createElement(Select3.Root, { value, onValueChange: onSelect }, /* @__PURE__ */ import_react59.default.createElement(Select3.SelectTrigger, { asChild: true }, /* @__PURE__ */ import_react59.default.createElement(Button, { id, style: style3, className, disabled }, icon && /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ import_react59.default.createElement(Select3.Value, { placeholder }), /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react59.default.createElement(import_noya_icons6.DropdownChevronIcon, null))), /* @__PURE__ */ import_react59.default.createElement(Select3.Portal, null, /* @__PURE__ */ import_react59.default.createElement(SelectContent, null, /* @__PURE__ */ import_react59.default.createElement(SelectViewport, null, menuItems.map((menuItem) => {
6109
6184
  if (typeof menuItem === "string") {
6110
6185
  return /* @__PURE__ */ import_react59.default.createElement(StyledSeparator, null);
6111
6186
  }
@@ -6229,13 +6304,15 @@ var SwitchThumb = (0, import_styled_components35.default)(SwitchPrimitive.Thumb)
6229
6304
  var Switch = function Switch2({
6230
6305
  value,
6231
6306
  onChange,
6232
- colorScheme = "normal"
6307
+ colorScheme = "normal",
6308
+ disabled
6233
6309
  }) {
6234
6310
  return /* @__PURE__ */ import_react61.default.createElement(
6235
6311
  SwitchRoot,
6236
6312
  {
6237
6313
  $colorScheme: colorScheme,
6238
6314
  checked: value,
6315
+ disabled,
6239
6316
  onCheckedChange: (newValue) => {
6240
6317
  onChange(newValue);
6241
6318
  }