vim-web 0.3.44-dev.72 → 0.3.44-dev.74

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.
@@ -3,6 +3,8 @@ import { StateRef } from "../helpers/reactUtils";
3
3
  interface BaseGenericEntry {
4
4
  id: string;
5
5
  label: string;
6
+ enabled?: () => boolean;
7
+ visible?: () => boolean;
6
8
  }
7
9
  export interface GenericTextEntry extends BaseGenericEntry {
8
10
  type: "text";
@@ -1,4 +1,5 @@
1
1
  import { StateRef } from "../helpers/reactUtils";
2
2
  export declare function InputNumber(props: {
3
3
  state: StateRef<number>;
4
+ disabled?: boolean;
4
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -34,6 +34,18 @@ export interface StateRef<T> {
34
34
  confirm(): void;
35
35
  onChange: ISimpleEvent<T>;
36
36
  }
37
+ /**
38
+ * A basic implementation of StateRef<T> without React.
39
+ */
40
+ export declare class MutableState<T> implements StateRef<T> {
41
+ private _value;
42
+ private _onChange;
43
+ constructor(initial: T);
44
+ get(): T;
45
+ set(value: T): void;
46
+ confirm(): void;
47
+ get onChange(): ISimpleEvent<T>;
48
+ }
37
49
  export interface StateRefresher {
38
50
  refresh: () => void;
39
51
  }
@@ -74583,6 +74583,26 @@ Averrage Date/Second ${avgDataRatePS} kb
74583
74583
  })
74584
74584
  );
74585
74585
  }
74586
+ class MutableState {
74587
+ constructor(initial) {
74588
+ __publicField(this, "_value");
74589
+ __publicField(this, "_onChange", new distExports.SimpleEventDispatcher());
74590
+ this._value = initial;
74591
+ }
74592
+ get() {
74593
+ return this._value;
74594
+ }
74595
+ set(value) {
74596
+ if (value === this._value) return;
74597
+ this._value = value;
74598
+ this._onChange.dispatch(value);
74599
+ }
74600
+ confirm() {
74601
+ }
74602
+ get onChange() {
74603
+ return this._onChange.asEvent();
74604
+ }
74605
+ }
74586
74606
  function useRefresher() {
74587
74607
  const [refresh, setRefresh] = React2.useState(false);
74588
74608
  return {
@@ -74817,6 +74837,7 @@ Averrage Date/Second ${avgDataRatePS} kb
74817
74837
  }
74818
74838
  const reactUtils = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
74819
74839
  __proto__: null,
74840
+ MutableState,
74820
74841
  useActionRef,
74821
74842
  useArgActionRef,
74822
74843
  useArgFuncRef,
@@ -75654,6 +75675,7 @@ Averrage Date/Second ${avgDataRatePS} kb
75654
75675
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
75655
75676
  "input",
75656
75677
  {
75678
+ disabled: props.disabled ?? false,
75657
75679
  type: "number",
75658
75680
  value: inputValue,
75659
75681
  onChange: handleChange,
@@ -75663,9 +75685,11 @@ Averrage Date/Second ${avgDataRatePS} kb
75663
75685
  );
75664
75686
  }
75665
75687
  function GenericEntry(field) {
75688
+ if (field.visible() === false) return null;
75666
75689
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
75667
75690
  "div",
75668
75691
  {
75692
+ style: {},
75669
75693
  className: "vim-sectionbox-offsets-entry vc-text-xs vc-flex vc-items-center vc-justify-between vc-my-2",
75670
75694
  children: [
75671
75695
  /* @__PURE__ */ jsxRuntimeExports.jsx("dt", { className: "vc-w-1/2 vc-inline", children: field.label }),
@@ -75678,11 +75702,11 @@ Averrage Date/Second ${avgDataRatePS} kb
75678
75702
  function GenericField(props) {
75679
75703
  switch (props.field.type) {
75680
75704
  case "number":
75681
- return /* @__PURE__ */ jsxRuntimeExports.jsx(InputNumber, { state: props.field.state });
75705
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(InputNumber, { state: props.field.state, disabled: !props.field.enabled() });
75682
75706
  case "text":
75683
- return /* @__PURE__ */ jsxRuntimeExports.jsx(GenericTextField, { field: props.field });
75707
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(GenericTextField, { state: props.field.state, disabled: !props.field.enabled() });
75684
75708
  case "bool":
75685
- return /* @__PURE__ */ jsxRuntimeExports.jsx(GenericBoolField, { field: props.field });
75709
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(GenericBoolField, { state: props.field.state, disabled: !props.field.enabled() });
75686
75710
  default:
75687
75711
  return null;
75688
75712
  }
@@ -75692,15 +75716,15 @@ Averrage Date/Second ${avgDataRatePS} kb
75692
75716
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
75693
75717
  "input",
75694
75718
  {
75695
- id: props.field.id,
75696
75719
  type: "text",
75697
- value: props.field.state.get(),
75720
+ disabled: props.disabled ?? false,
75721
+ value: props.state.get(),
75698
75722
  onChange: (e) => {
75699
75723
  refresher.refresh();
75700
- props.field.state.set(e.target.value);
75724
+ props.state.set(e.target.value);
75701
75725
  },
75702
75726
  className: "vc-border vc-inline vc-border-gray-300 vc-py-1 vc-w-full vc-px-1",
75703
- onBlur: () => props.field.state.confirm()
75727
+ onBlur: () => props.state.confirm()
75704
75728
  }
75705
75729
  );
75706
75730
  }
@@ -75709,12 +75733,12 @@ Averrage Date/Second ${avgDataRatePS} kb
75709
75733
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
75710
75734
  "input",
75711
75735
  {
75712
- id: props.field.id,
75713
75736
  type: "checkbox",
75714
- checked: props.field.state.get(),
75737
+ disabled: props.disabled ?? false,
75738
+ checked: props.state.get(),
75715
75739
  onChange: (e) => {
75716
75740
  refresher.refresh();
75717
- props.field.state.set(e.target.checked);
75741
+ props.state.set(e.target.checked);
75718
75742
  },
75719
75743
  className: "vc-border vc-inline vc-border-gray-300 vc-py-1 vc-w-full vc-px-1"
75720
75744
  }