@pie-element/number-line 13.1.2-next.5 → 13.1.3

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 (191) hide show
  1. package/CHANGELOG.json +1247 -0
  2. package/CHANGELOG.md +2447 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +28 -0
  5. package/configure/CHANGELOG.json +827 -0
  6. package/configure/CHANGELOG.md +2094 -0
  7. package/configure/lib/arrows.js +89 -0
  8. package/configure/lib/arrows.js.map +1 -0
  9. package/configure/lib/card-bar.js +57 -0
  10. package/configure/lib/card-bar.js.map +1 -0
  11. package/configure/lib/defaults.js +177 -0
  12. package/configure/lib/defaults.js.map +1 -0
  13. package/configure/lib/domain.js +87 -0
  14. package/configure/lib/domain.js.map +1 -0
  15. package/configure/lib/index.js +176 -0
  16. package/configure/lib/index.js.map +1 -0
  17. package/configure/lib/main.js +815 -0
  18. package/configure/lib/main.js.map +1 -0
  19. package/configure/lib/number-text-field.js +26 -0
  20. package/configure/lib/number-text-field.js.map +1 -0
  21. package/configure/lib/point-config.js +84 -0
  22. package/configure/lib/point-config.js.map +1 -0
  23. package/configure/lib/size.js +66 -0
  24. package/configure/lib/size.js.map +1 -0
  25. package/configure/lib/ticks.js +234 -0
  26. package/configure/lib/ticks.js.map +1 -0
  27. package/configure/lib/utils.js +12 -0
  28. package/configure/lib/utils.js.map +1 -0
  29. package/configure/package.json +20 -0
  30. package/controller/CHANGELOG.json +332 -0
  31. package/controller/CHANGELOG.md +1360 -0
  32. package/controller/lib/defaults.js +56 -0
  33. package/controller/lib/defaults.js.map +1 -0
  34. package/controller/lib/index.js +430 -0
  35. package/controller/lib/index.js.map +1 -0
  36. package/controller/lib/tickUtils.js +294 -0
  37. package/controller/lib/tickUtils.js.map +1 -0
  38. package/controller/lib/utils.js +168 -0
  39. package/controller/lib/utils.js.map +1 -0
  40. package/controller/package.json +20 -0
  41. package/demo.gif +0 -0
  42. package/docs/config-schema.json +2532 -0
  43. package/docs/config-schema.json.md +1844 -0
  44. package/docs/demo/config.js +8 -0
  45. package/docs/demo/generate.js +39 -0
  46. package/docs/demo/index.html +1 -0
  47. package/docs/pie-schema.json +2461 -0
  48. package/docs/pie-schema.json.md +1228 -0
  49. package/docs/schemas/config.json +256 -0
  50. package/lib/data-converter.js +96 -0
  51. package/lib/data-converter.js.map +1 -0
  52. package/lib/draggable/index.js +114 -0
  53. package/lib/draggable/index.js.map +1 -0
  54. package/lib/index.js +196 -0
  55. package/lib/index.js.map +1 -0
  56. package/lib/number-line/colors.js +11 -0
  57. package/lib/number-line/colors.js.map +1 -0
  58. package/lib/number-line/feedback.js +92 -0
  59. package/lib/number-line/feedback.js.map +1 -0
  60. package/lib/number-line/graph/arrow.js +44 -0
  61. package/lib/number-line/graph/arrow.js.map +1 -0
  62. package/lib/number-line/graph/elements/base.js +20 -0
  63. package/lib/number-line/graph/elements/base.js.map +1 -0
  64. package/lib/number-line/graph/elements/builder.js +37 -0
  65. package/lib/number-line/graph/elements/builder.js.map +1 -0
  66. package/lib/number-line/graph/elements/line.js +259 -0
  67. package/lib/number-line/graph/elements/line.js.map +1 -0
  68. package/lib/number-line/graph/elements/point.js +204 -0
  69. package/lib/number-line/graph/elements/point.js.map +1 -0
  70. package/lib/number-line/graph/elements/ray.js +190 -0
  71. package/lib/number-line/graph/elements/ray.js.map +1 -0
  72. package/lib/number-line/graph/index.js +262 -0
  73. package/lib/number-line/graph/index.js.map +1 -0
  74. package/lib/number-line/graph/line.js +38 -0
  75. package/lib/number-line/graph/line.js.map +1 -0
  76. package/lib/number-line/graph/stacks.js +78 -0
  77. package/lib/number-line/graph/stacks.js.map +1 -0
  78. package/lib/number-line/graph/tick-utils.js +347 -0
  79. package/lib/number-line/graph/tick-utils.js.map +1 -0
  80. package/lib/number-line/graph/ticks.js +188 -0
  81. package/lib/number-line/graph/ticks.js.map +1 -0
  82. package/lib/number-line/index.js +384 -0
  83. package/lib/number-line/index.js.map +1 -0
  84. package/lib/number-line/point-chooser/button.js +49 -0
  85. package/lib/number-line/point-chooser/button.js.map +1 -0
  86. package/lib/number-line/point-chooser/img.js +8 -0
  87. package/lib/number-line/point-chooser/img.js.map +1 -0
  88. package/lib/number-line/point-chooser/index.js +197 -0
  89. package/lib/number-line/point-chooser/index.js.map +1 -0
  90. package/lib/number-line/point-chooser/styles.js +77 -0
  91. package/lib/number-line/point-chooser/styles.js.map +1 -0
  92. package/lib/number-line/transitions/fade.js +88 -0
  93. package/lib/number-line/transitions/fade.js.map +1 -0
  94. package/lib/number-line/transitions/index.js +14 -0
  95. package/lib/number-line/transitions/index.js.map +1 -0
  96. package/package.json +22 -87
  97. package/configure.js +0 -2
  98. package/controller.js +0 -1
  99. package/dist/_virtual/_rolldown/runtime.js +0 -11
  100. package/dist/author/arrows.d.ts +0 -28
  101. package/dist/author/arrows.js +0 -69
  102. package/dist/author/card-bar.d.ts +0 -20
  103. package/dist/author/card-bar.js +0 -41
  104. package/dist/author/defaults.d.ts +0 -178
  105. package/dist/author/defaults.js +0 -144
  106. package/dist/author/domain.d.ts +0 -15
  107. package/dist/author/domain.js +0 -54
  108. package/dist/author/index.d.ts +0 -23
  109. package/dist/author/index.js +0 -89
  110. package/dist/author/main.d.ts +0 -44
  111. package/dist/author/main.js +0 -485
  112. package/dist/author/number-text-field.d.ts +0 -13
  113. package/dist/author/number-text-field.js +0 -13
  114. package/dist/author/point-config.d.ts +0 -25
  115. package/dist/author/point-config.js +0 -69
  116. package/dist/author/size.d.ts +0 -24
  117. package/dist/author/size.js +0 -48
  118. package/dist/author/ticks.d.ts +0 -22
  119. package/dist/author/ticks.js +0 -115
  120. package/dist/author/utils.d.ts +0 -9
  121. package/dist/author/utils.js +0 -4
  122. package/dist/browser/author/index.js +0 -46162
  123. package/dist/browser/author/index.js.map +0 -1
  124. package/dist/browser/controller/index.js +0 -569
  125. package/dist/browser/controller/index.js.map +0 -1
  126. package/dist/browser/delivery/index.js +0 -2
  127. package/dist/browser/delivery-bcOQIdko.js +0 -17953
  128. package/dist/browser/delivery-bcOQIdko.js.map +0 -1
  129. package/dist/browser/dist-BnIaVPcz.js +0 -19042
  130. package/dist/browser/dist-BnIaVPcz.js.map +0 -1
  131. package/dist/browser/impureFunctionsAny.generated-BwG6hrJc.js +0 -10162
  132. package/dist/browser/impureFunctionsAny.generated-BwG6hrJc.js.map +0 -1
  133. package/dist/browser/number-line.css +0 -2
  134. package/dist/controller/defaults.d.ts +0 -58
  135. package/dist/controller/defaults.js +0 -50
  136. package/dist/controller/index.d.ts +0 -47
  137. package/dist/controller/index.js +0 -165
  138. package/dist/controller/tickUtils.d.ts +0 -21
  139. package/dist/controller/tickUtils.js +0 -252
  140. package/dist/controller/utils.d.ts +0 -9
  141. package/dist/controller/utils.js +0 -68
  142. package/dist/delivery/data-converter.d.ts +0 -64
  143. package/dist/delivery/data-converter.js +0 -70
  144. package/dist/delivery/draggable/index.d.ts +0 -33
  145. package/dist/delivery/draggable/index.js +0 -39
  146. package/dist/delivery/index.d.ts +0 -35
  147. package/dist/delivery/index.js +0 -109
  148. package/dist/delivery/number-line/colors.d.ts +0 -11
  149. package/dist/delivery/number-line/colors.js +0 -5
  150. package/dist/delivery/number-line/feedback.d.ts +0 -19
  151. package/dist/delivery/number-line/feedback.js +0 -57
  152. package/dist/delivery/number-line/graph/arrow.d.ts +0 -30
  153. package/dist/delivery/number-line/graph/arrow.js +0 -27
  154. package/dist/delivery/number-line/graph/elements/base.d.ts +0 -16
  155. package/dist/delivery/number-line/graph/elements/base.js +0 -11
  156. package/dist/delivery/number-line/graph/elements/builder.d.ts +0 -33
  157. package/dist/delivery/number-line/graph/elements/builder.js +0 -30
  158. package/dist/delivery/number-line/graph/elements/line.d.ts +0 -51
  159. package/dist/delivery/number-line/graph/elements/line.js +0 -188
  160. package/dist/delivery/number-line/graph/elements/point.d.ts +0 -43
  161. package/dist/delivery/number-line/graph/elements/point.js +0 -127
  162. package/dist/delivery/number-line/graph/elements/ray.d.ts +0 -43
  163. package/dist/delivery/number-line/graph/elements/ray.js +0 -130
  164. package/dist/delivery/number-line/graph/index.d.ts +0 -59
  165. package/dist/delivery/number-line/graph/index.js +0 -196
  166. package/dist/delivery/number-line/graph/line.d.ts +0 -46
  167. package/dist/delivery/number-line/graph/line.js +0 -27
  168. package/dist/delivery/number-line/graph/stacks.d.ts +0 -10
  169. package/dist/delivery/number-line/graph/stacks.js +0 -40
  170. package/dist/delivery/number-line/graph/tick-utils.d.ts +0 -80
  171. package/dist/delivery/number-line/graph/tick-utils.js +0 -295
  172. package/dist/delivery/number-line/graph/ticks.d.ts +0 -46
  173. package/dist/delivery/number-line/graph/ticks.js +0 -115
  174. package/dist/delivery/number-line/index.d.ts +0 -35
  175. package/dist/delivery/number-line/index.js +0 -215
  176. package/dist/delivery/number-line/point-chooser/button.d.ts +0 -31
  177. package/dist/delivery/number-line/point-chooser/button.js +0 -36
  178. package/dist/delivery/number-line/point-chooser/img.d.ts +0 -10
  179. package/dist/delivery/number-line/point-chooser/img.js +0 -4
  180. package/dist/delivery/number-line/point-chooser/index.d.ts +0 -37
  181. package/dist/delivery/number-line/point-chooser/index.js +0 -154
  182. package/dist/delivery/number-line/point-chooser/styles.d.ts +0 -192
  183. package/dist/delivery/number-line/transitions/fade.d.ts +0 -34
  184. package/dist/delivery/number-line/transitions/fade.js +0 -75
  185. package/dist/delivery/number-line/transitions/index.d.ts +0 -10
  186. package/dist/index.d.ts +0 -1
  187. package/dist/index.iife.d.ts +0 -8
  188. package/dist/index.iife.js +0 -197
  189. package/dist/index.js +0 -2
  190. package/dist/runtime-support.d.ts +0 -12
  191. package/dist/runtime-support.js +0 -12
@@ -1,188 +0,0 @@
1
- import { Draggable as e } from "../../../draggable/index.js";
2
- import t from "./point.js";
3
- import { basePropTypes as n } from "./base.js";
4
- import r from "react";
5
- import { styled as i } from "@mui/material/styles";
6
- import a from "prop-types";
7
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
- import { isEqual as c, isNumber as l } from "@pie-element/shared-lodash";
9
- import { color as u } from "@pie-lib/render-ui";
10
- //#region src/delivery/number-line/graph/elements/line.tsx
11
- var d = "150ms", f = i("g")(({ $disabled: e, $selected: t, $correct: n }) => ({
12
- "& .line-handle": {
13
- stroke: u.primary(),
14
- cursor: "pointer",
15
- strokeWidth: "5px",
16
- transition: `opacity ${d} linear,
17
- stroke-width ${d} linear,
18
- stroke ${d} linear`
19
- },
20
- "&.dnd-kit-dragging": {
21
- opacity: .6,
22
- "& .line-handle": {
23
- opacity: 1,
24
- strokeWidth: "12px"
25
- }
26
- },
27
- ...e && {
28
- cursor: "not-allowed",
29
- opacity: .8
30
- },
31
- ...t && { "& .line-handle": { stroke: u.primaryDark() } },
32
- ...n === !0 && { "& .line-handle": {
33
- cursor: "inherit",
34
- stroke: u.correct()
35
- } },
36
- ...n === !1 && { "& .line-handle": {
37
- cursor: "inherit",
38
- stroke: u.incorrect()
39
- } }
40
- })), p = class extends r.Component {
41
- static propTypes = {
42
- ...n(),
43
- empty: a.shape({
44
- left: a.bool.isRequired,
45
- right: a.bool.isRequired
46
- }).isRequired,
47
- position: a.shape({
48
- left: a.number.isRequired,
49
- right: a.number.isRequired
50
- }).isRequired,
51
- y: a.number,
52
- selected: a.bool,
53
- disabled: a.bool,
54
- correct: a.bool,
55
- onMoveLine: a.func.isRequired,
56
- onToggleSelect: a.func.isRequired,
57
- onDragStart: a.func,
58
- onDragStop: a.func
59
- };
60
- static defaultProps = {
61
- selected: !1,
62
- y: 0,
63
- disabled: !1,
64
- correct: void 0
65
- };
66
- static contextTypes = {
67
- xScale: a.func.isRequired,
68
- snapValue: a.func.isRequired
69
- };
70
- constructor(e) {
71
- super(e), this.state = {
72
- left: null,
73
- right: null
74
- };
75
- }
76
- UNSAFE_componentWillReceiveProps(e) {
77
- if (e) {
78
- let { position: t } = e;
79
- this.setState({
80
- left: t.left,
81
- right: t.right
82
- });
83
- }
84
- }
85
- onDrag(e, t) {
86
- let { domain: n } = this.props;
87
- if (t >= n.min && t <= n.max) {
88
- let n = {};
89
- n[e] = t, this.setState(n);
90
- }
91
- }
92
- onMove(e, t) {
93
- let { position: n } = this.props, r = {
94
- left: n.left,
95
- right: n.right
96
- };
97
- r[e] = t, this.props.onMoveLine(r);
98
- }
99
- render() {
100
- let { interval: n, empty: r, position: i, domain: a, y: u, selected: d, disabled: p, correct: m } = this.props, { xScale: h } = this.context, { onDrag: g, onMove: _ } = this, v = _.bind(this, "left"), y = _.bind(this, "right"), b = g.bind(this, "left"), x = g.bind(this, "right"), S = l(this.state.left) ? this.state.left : i.left, C = l(this.state.right) ? this.state.right : i.right, w = h(n) - h(0), T = (e) => e.nativeEvent.preventDefault(), E = () => {
101
- this.props.onToggleSelect();
102
- }, D = () => {
103
- this.props.onToggleSelect();
104
- }, O = (e) => {
105
- if (Math.abs(e) < w / 10) {
106
- this.props.onToggleSelect();
107
- return;
108
- }
109
- let t = h.invert(e + h(0)), n = {
110
- left: i.left + t,
111
- right: i.right + t
112
- };
113
- c(n, this.props.position) || this.props.onMoveLine(n);
114
- }, k = {
115
- left: (a.min - i.left) / n * w,
116
- right: (a.max - i.right) / n * w
117
- }, A = {
118
- interval: n,
119
- selected: d,
120
- disabled: p,
121
- correct: m
122
- };
123
- return /* @__PURE__ */ o(e, {
124
- id: `line-${i.left}-${i.right}-${u}`,
125
- disabled: p,
126
- grid: [w],
127
- bounds: k,
128
- onMouseDown: T,
129
- onDragEnd: O,
130
- children: ({ setNodeRef: e, attributes: n, listeners: c, translateX: l, isDragging: g, onMouseDown: _ }) => /* @__PURE__ */ o(f, {
131
- ref: e,
132
- $disabled: p,
133
- $selected: d,
134
- $correct: m,
135
- className: g ? "dnd-kit-dragging" : void 0,
136
- onMouseDown: _,
137
- ...n,
138
- children: /* @__PURE__ */ s("g", {
139
- transform: `translate(${l}, ${u})`,
140
- children: [
141
- /* @__PURE__ */ o("rect", {
142
- x: h(S),
143
- width: Math.abs(h(C) - h(S)),
144
- fill: "red",
145
- fillOpacity: "0.0",
146
- y: "-8",
147
- height: 16,
148
- onClick: D
149
- }),
150
- /* @__PURE__ */ o("line", {
151
- className: "line-handle",
152
- x1: h(S),
153
- x2: h(C),
154
- onClick: E,
155
- ...c
156
- }),
157
- /* @__PURE__ */ o(t, {
158
- ...A,
159
- empty: r.left,
160
- bounds: {
161
- left: a.min - i.left,
162
- right: a.max - i.left
163
- },
164
- position: i.left,
165
- onDrag: b,
166
- onMove: v,
167
- onClick: D
168
- }),
169
- /* @__PURE__ */ o(t, {
170
- ...A,
171
- empty: r.right,
172
- bounds: {
173
- left: a.min - i.right,
174
- right: a.max - i.right
175
- },
176
- position: i.right,
177
- onDrag: x,
178
- onMove: y,
179
- onClick: D
180
- })
181
- ]
182
- })
183
- })
184
- });
185
- }
186
- };
187
- //#endregion
188
- export { p as default };
@@ -1,43 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/number-line/src/number-line/graph/elements/point.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import React from 'react';
10
- import PropTypes from 'prop-types';
11
- export declare class Point extends React.Component {
12
- static defaultProps: {
13
- y: number;
14
- selected: boolean;
15
- empty: boolean;
16
- disabled: boolean;
17
- correct: undefined;
18
- };
19
- static propTypes: {
20
- interval: PropTypes.Validator<number>;
21
- position: PropTypes.Validator<number>;
22
- bounds: PropTypes.Requireable<PropTypes.InferProps<{
23
- left: PropTypes.Validator<number>;
24
- right: PropTypes.Validator<number>;
25
- }>>;
26
- selected: PropTypes.Requireable<boolean>;
27
- disabled: PropTypes.Requireable<boolean>;
28
- correct: PropTypes.Requireable<boolean>;
29
- empty: PropTypes.Requireable<boolean>;
30
- y: PropTypes.Requireable<number>;
31
- onMove: PropTypes.Validator<(...args: any[]) => any>;
32
- onClick: PropTypes.Requireable<(...args: any[]) => any>;
33
- onDrag: PropTypes.Requireable<(...args: any[]) => any>;
34
- onDragStop: PropTypes.Requireable<(...args: any[]) => any>;
35
- onDragStart: PropTypes.Requireable<(...args: any[]) => any>;
36
- };
37
- static contextTypes: {
38
- xScale: PropTypes.Validator<(...args: any[]) => any>;
39
- snapValue: PropTypes.Validator<(...args: any[]) => any>;
40
- };
41
- render(): React.JSX.Element;
42
- }
43
- export default Point;
@@ -1,127 +0,0 @@
1
- import { Draggable as e } from "../../../draggable/index.js";
2
- import t from "react";
3
- import { styled as n } from "@mui/material/styles";
4
- import r from "prop-types";
5
- import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
- import { color as o } from "@pie-lib/render-ui";
7
- //#region src/delivery/number-line/graph/elements/point.tsx
8
- var s = "150ms", c = n("circle")(({ $selected: e, $disabled: t, $correct: n, $empty: r }) => ({
9
- cursor: "pointer",
10
- transition: `r ${s} linear,
11
- opacity ${s} linear,
12
- fill ${s} linear,
13
- stroke ${s} linear`,
14
- stroke: o.primary(),
15
- fill: o.primary(),
16
- "&.dnd-kit-dragging": {
17
- opacity: .25,
18
- r: "10px"
19
- },
20
- "&:hover": { stroke: o.primaryDark() },
21
- ...e && { stroke: o.primaryDark() },
22
- ...t && {
23
- cursor: "not-allowed",
24
- opacity: .8
25
- },
26
- ...n === !0 && {
27
- cursor: "inherit",
28
- stroke: o.correct(),
29
- fill: o.correct()
30
- },
31
- ...n === !1 && {
32
- cursor: "inherit",
33
- stroke: o.incorrect(),
34
- fill: o.incorrect()
35
- },
36
- ...r && { fill: "white" }
37
- })), l = class extends t.Component {
38
- static defaultProps = {
39
- y: 0,
40
- selected: !1,
41
- empty: !1,
42
- disabled: !1,
43
- correct: void 0
44
- };
45
- static propTypes = {
46
- interval: r.number.isRequired,
47
- position: r.number.isRequired,
48
- bounds: r.shape({
49
- left: r.number.isRequired,
50
- right: r.number.isRequired
51
- }),
52
- selected: r.bool,
53
- disabled: r.bool,
54
- correct: r.bool,
55
- empty: r.bool,
56
- y: r.number,
57
- onMove: r.func.isRequired,
58
- onClick: r.func,
59
- onDrag: r.func,
60
- onDragStop: r.func,
61
- onDragStart: r.func
62
- };
63
- static contextTypes = {
64
- xScale: r.func.isRequired,
65
- snapValue: r.func.isRequired
66
- };
67
- render() {
68
- let { onDragStop: t, onDragStart: n, onDrag: r, onClick: s, onMove: l, interval: u, y: d, bounds: f, selected: p, position: m, disabled: h, correct: g, empty: _ } = this.props, { snapValue: v, xScale: y } = this.context, b = y(u) - y(0), x = (e) => {
69
- let t = e + y(0);
70
- return v(m + y.invert(t));
71
- }, S = f ? {
72
- left: f.left / u * b,
73
- right: f.right / u * b
74
- } : null;
75
- return /* @__PURE__ */ i(e, {
76
- id: `point-${m}-${d}`,
77
- disabled: h,
78
- grid: [b],
79
- bounds: S,
80
- onMouseDown: (e) => e.nativeEvent.preventDefault(),
81
- onDragStart: () => {
82
- n && n();
83
- },
84
- onDragMove: (e) => {
85
- let t = x(e);
86
- r && r(t);
87
- },
88
- onDragEnd: (e) => {
89
- if (t && t(), Math.abs(e) < b / 10) {
90
- s && s();
91
- return;
92
- }
93
- l(x(e));
94
- },
95
- children: ({ setNodeRef: e, attributes: t, listeners: n, translateX: r, isDragging: s, onMouseDown: l }) => /* @__PURE__ */ a("g", {
96
- ref: e,
97
- onMouseDown: l,
98
- transform: `translate(${r}, 0)`,
99
- ...t,
100
- ...n,
101
- children: [/* @__PURE__ */ i("circle", {
102
- r: "20",
103
- strokeWidth: "3",
104
- style: {
105
- fill: "transparent",
106
- pointerEvents: "visibleStroke"
107
- },
108
- cx: y(m),
109
- cy: d,
110
- stroke: p ? o.primaryDark() : "none"
111
- }), /* @__PURE__ */ i(c, {
112
- r: "5",
113
- strokeWidth: "3",
114
- cx: y(m),
115
- cy: d,
116
- $selected: p,
117
- $disabled: h,
118
- $correct: g,
119
- $empty: _,
120
- className: s ? "dnd-kit-dragging" : void 0
121
- })]
122
- })
123
- });
124
- }
125
- };
126
- //#endregion
127
- export { l as default };
@@ -1,43 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/number-line/src/number-line/graph/elements/ray.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import React from 'react';
10
- import PropTypes from 'prop-types';
11
- export declare class Ray extends React.Component {
12
- static propTypes: {
13
- width: PropTypes.Validator<number>;
14
- selected: PropTypes.Requireable<boolean>;
15
- disabled: PropTypes.Requireable<boolean>;
16
- empty: PropTypes.Requireable<boolean>;
17
- direction: PropTypes.Requireable<string>;
18
- y: PropTypes.Requireable<number>;
19
- position: PropTypes.Validator<number>;
20
- onMove: PropTypes.Validator<(...args: any[]) => any>;
21
- onToggleSelect: PropTypes.Validator<(...args: any[]) => any>;
22
- interval: PropTypes.Validator<number>;
23
- domain: PropTypes.Requireable<PropTypes.InferProps<{
24
- min: PropTypes.Validator<number>;
25
- max: PropTypes.Validator<number>;
26
- }>>;
27
- };
28
- static defaultProps: {
29
- selected: boolean;
30
- direction: string;
31
- y: number;
32
- disabled: boolean;
33
- };
34
- static contextTypes: {
35
- xScale: PropTypes.Validator<(...args: any[]) => any>;
36
- snapValue: PropTypes.Validator<(...args: any[]) => any>;
37
- };
38
- constructor(props: any);
39
- drag(p: any): void;
40
- stopDrag(): void;
41
- render(): React.JSX.Element;
42
- }
43
- export default Ray;
@@ -1,130 +0,0 @@
1
- import e from "./point.js";
2
- import { basePropTypes as t } from "./base.js";
3
- import { correct as n, incorrect as r, selected as i } from "../../colors.js";
4
- import a from "../arrow.js";
5
- import o from "react";
6
- import { styled as s } from "@mui/material/styles";
7
- import c from "prop-types";
8
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
9
- import { isNumber as d } from "@pie-element/shared-lodash";
10
- import { color as f } from "@pie-lib/render-ui";
11
- //#region src/delivery/number-line/graph/elements/ray.tsx
12
- var p = s("g")(({ $selected: e, $correct: t }) => ({
13
- "& line": {
14
- cursor: "pointer",
15
- strokeWidth: "5px",
16
- stroke: f.primary()
17
- },
18
- "& line, & .arrow": { transition: "stroke 150ms linear, fill 150ms linear" },
19
- ...e && {
20
- "& line": { stroke: i },
21
- "& .arrow": {
22
- fill: i,
23
- strokeWidth: "1px",
24
- stroke: i
25
- }
26
- },
27
- ...t === !0 && {
28
- "& line": { stroke: n },
29
- "& .arrow": {
30
- fill: n,
31
- strokeWidth: "1px",
32
- stroke: n
33
- }
34
- },
35
- ...t === !1 && {
36
- "& line": { stroke: r },
37
- "& .arrow": {
38
- fill: r,
39
- strokeWidth: "1px",
40
- stroke: r
41
- }
42
- }
43
- })), m = s(a)(({ $correct: e, $selected: t }) => ({
44
- fill: f.primary(),
45
- ...e === !0 && {
46
- fill: n,
47
- "--arrow-color": n
48
- },
49
- ...e === !1 && {
50
- fill: r,
51
- "--arrow-color": r
52
- },
53
- ...t && {
54
- fill: i,
55
- "--arrow-color": i
56
- }
57
- })), h = class extends o.Component {
58
- static propTypes = {
59
- ...t(),
60
- width: c.number.isRequired,
61
- selected: c.bool,
62
- disabled: c.bool,
63
- empty: c.bool,
64
- direction: c.oneOf(["positive", "negative"]),
65
- y: c.number,
66
- position: c.number.isRequired,
67
- onMove: c.func.isRequired,
68
- onToggleSelect: c.func.isRequired
69
- };
70
- static defaultProps = {
71
- selected: !1,
72
- direction: "positive",
73
- y: 0,
74
- disabled: !1
75
- };
76
- static contextTypes = {
77
- xScale: c.func.isRequired,
78
- snapValue: c.func.isRequired
79
- };
80
- constructor(e) {
81
- super(e), this.state = { dragPosition: null };
82
- }
83
- drag(e) {
84
- let { domain: t } = this.props;
85
- e >= t.min && e <= t.max && this.setState({ dragPosition: e });
86
- }
87
- stopDrag() {
88
- this.setState({ dragPosition: null });
89
- }
90
- render() {
91
- let { interval: t, empty: n, position: r, direction: i, domain: a, y: o, selected: s, disabled: c, width: f, correct: h } = this.props, { xScale: g } = this.context, _ = this.drag.bind(this), v = this.stopDrag.bind(this), y = d(this.state.dragPosition) ? this.state.dragPosition : r, b = i === "positive", x = b ? y : a.min, S = b ? a.max : y, C = b ? g(x) : 8, w = b ? f - 8 : g(S), T = b ? f : 0, E = b ? "right" : "left";
92
- return /* @__PURE__ */ u(p, {
93
- $selected: s,
94
- $correct: h,
95
- transform: `translate(0, ${o})`,
96
- children: [
97
- /* @__PURE__ */ l("line", {
98
- onClick: c ? () => {} : this.props.onToggleSelect,
99
- className: "line-handle",
100
- x1: C,
101
- x2: w
102
- }),
103
- /* @__PURE__ */ l(e, {
104
- disabled: c,
105
- correct: h,
106
- selected: s,
107
- empty: n,
108
- interval: t,
109
- bounds: {
110
- left: a.min - r,
111
- right: a.max - r
112
- },
113
- position: r,
114
- onDrag: _,
115
- onDragStop: v,
116
- onMove: this.props.onMove,
117
- onClick: this.props.onToggleSelect
118
- }),
119
- /* @__PURE__ */ l(m, {
120
- x: T,
121
- $correct: h,
122
- $selected: s,
123
- direction: E
124
- })
125
- ]
126
- });
127
- }
128
- };
129
- //#endregion
130
- export { h as default };
@@ -1,59 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/number-line/src/number-line/graph/index.jsx
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- import React from 'react';
10
- import PropTypes from 'prop-types';
11
- export declare class NumberLineGraph extends React.Component {
12
- static childContextTypes: {
13
- xScale: PropTypes.Validator<(...args: any[]) => any>;
14
- snapValue: PropTypes.Validator<(...args: any[]) => any>;
15
- };
16
- static propTypes: {
17
- domain: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
18
- min: PropTypes.Validator<number>;
19
- max: PropTypes.Validator<number>;
20
- }>>>;
21
- ticks: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
22
- minor: PropTypes.Requireable<number>;
23
- major: PropTypes.Requireable<number>;
24
- }>>>;
25
- fraction: PropTypes.Requireable<boolean>;
26
- width: PropTypes.Validator<number>;
27
- height: PropTypes.Validator<number>;
28
- onToggleElement: PropTypes.Validator<(...args: any[]) => any>;
29
- onMoveElement: PropTypes.Validator<(...args: any[]) => any>;
30
- onAddElement: PropTypes.Validator<(...args: any[]) => any>;
31
- debug: PropTypes.Requireable<boolean>;
32
- elements: PropTypes.Requireable<any[]>;
33
- disabled: PropTypes.Requireable<boolean>;
34
- onDeselectElements: PropTypes.Requireable<(...args: any[]) => any>;
35
- arrows: PropTypes.Requireable<PropTypes.InferProps<{
36
- left: PropTypes.Requireable<boolean>;
37
- right: PropTypes.Requireable<boolean>;
38
- }>>;
39
- };
40
- static defaultProps: {
41
- debug: boolean;
42
- };
43
- constructor(props: any);
44
- xScaleFn(): any;
45
- snapValueFn(): (value: any) => number;
46
- getChildContext(): {
47
- xScale: any;
48
- snapValue: (value: any) => number;
49
- };
50
- /**
51
- * Note: we use d3 click + pointer to give us domain values directly.
52
- * Saves us having to calculate them ourselves from a MouseEvent.
53
- */
54
- onRectClick(event: any): void;
55
- componentDidMount(): void;
56
- addElement(x: any): void;
57
- render(): React.JSX.Element;
58
- }
59
- export default NumberLineGraph;