flexily 0.5.1 → 0.6.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 (51) hide show
  1. package/README.md +1 -1
  2. package/dist/chunk-CBBoxR_p.mjs +26 -0
  3. package/dist/constants-BNURa6H7.mjs +65 -0
  4. package/dist/constants-BNURa6H7.mjs.map +1 -0
  5. package/dist/constants-D7ythAJC.d.mts +64 -0
  6. package/dist/constants-D7ythAJC.d.mts.map +1 -0
  7. package/{src/classic/node.ts → dist/index-classic.d.mts} +118 -619
  8. package/dist/index-classic.d.mts.map +1 -0
  9. package/dist/index-classic.mjs +1909 -0
  10. package/dist/index-classic.mjs.map +1 -0
  11. package/dist/index.d.mts +195 -0
  12. package/dist/index.d.mts.map +1 -0
  13. package/dist/index.mjs +3279 -0
  14. package/dist/index.mjs.map +1 -0
  15. package/dist/node-zero-75maLs2s.d.mts +762 -0
  16. package/dist/node-zero-75maLs2s.d.mts.map +1 -0
  17. package/dist/src-BWyhokNZ.mjs +692 -0
  18. package/dist/src-BWyhokNZ.mjs.map +1 -0
  19. package/dist/src-DdSLylRA.mjs +816 -0
  20. package/dist/src-DdSLylRA.mjs.map +1 -0
  21. package/dist/testing.d.mts +55 -0
  22. package/dist/testing.d.mts.map +1 -0
  23. package/dist/testing.mjs +154 -0
  24. package/dist/testing.mjs.map +1 -0
  25. package/dist/types--IozHd4V.mjs +283 -0
  26. package/dist/types--IozHd4V.mjs.map +1 -0
  27. package/dist/types-DG1H4DVR.d.mts +157 -0
  28. package/dist/types-DG1H4DVR.d.mts.map +1 -0
  29. package/package.json +34 -24
  30. package/src/CLAUDE.md +0 -527
  31. package/src/classic/layout.ts +0 -1843
  32. package/src/constants.ts +0 -82
  33. package/src/create-flexily.ts +0 -153
  34. package/src/index-classic.ts +0 -110
  35. package/src/index.ts +0 -133
  36. package/src/layout-flex-lines.ts +0 -413
  37. package/src/layout-helpers.ts +0 -160
  38. package/src/layout-measure.ts +0 -259
  39. package/src/layout-stats.ts +0 -41
  40. package/src/layout-traversal.ts +0 -70
  41. package/src/layout-zero.ts +0 -2219
  42. package/src/logger.ts +0 -67
  43. package/src/monospace-measurer.ts +0 -68
  44. package/src/node-zero.ts +0 -1508
  45. package/src/pretext-measurer.ts +0 -86
  46. package/src/test-measurer.ts +0 -219
  47. package/src/testing.ts +0 -215
  48. package/src/text-layout.ts +0 -75
  49. package/src/trace.ts +0 -252
  50. package/src/types.ts +0 -236
  51. package/src/utils.ts +0 -243
package/README.md CHANGED
@@ -137,7 +137,7 @@ Text measurement backends:
137
137
  npm install flexily
138
138
  ```
139
139
 
140
- **Runtimes:** Bun >= 1.0, Node.js >= 18. Pure JavaScript — no native or WASM dependencies.
140
+ **Runtimes:** Bun >= 1.0, Node.js >= 23.6. Pure JavaScript — no native or WASM dependencies.
141
141
 
142
142
  ## Performance
143
143
 
@@ -0,0 +1,26 @@
1
+ import { createRequire } from "node:module";
2
+ //#region \0rolldown/runtime.js
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
12
+ key = keys[i];
13
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: ((k) => from[k]).bind(null, key),
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
21
+ value: mod,
22
+ enumerable: true
23
+ }) : target, mod));
24
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
25
+ //#endregion
26
+ export { __require as n, __toESM as r, __commonJSMin as t };
@@ -0,0 +1,65 @@
1
+ //#region src/constants.ts
2
+ /**
3
+ * Flexily Constants
4
+ *
5
+ * Yoga-compatible constants for flexbox layout.
6
+ * These match Yoga's enum values exactly for drop-in compatibility.
7
+ */
8
+ const FLEX_DIRECTION_COLUMN = 0;
9
+ const FLEX_DIRECTION_COLUMN_REVERSE = 1;
10
+ const FLEX_DIRECTION_ROW = 2;
11
+ const FLEX_DIRECTION_ROW_REVERSE = 3;
12
+ const WRAP_NO_WRAP = 0;
13
+ const WRAP_WRAP = 1;
14
+ const WRAP_WRAP_REVERSE = 2;
15
+ const ALIGN_AUTO = 0;
16
+ const ALIGN_FLEX_START = 1;
17
+ const ALIGN_CENTER = 2;
18
+ const ALIGN_FLEX_END = 3;
19
+ const ALIGN_STRETCH = 4;
20
+ const ALIGN_BASELINE = 5;
21
+ const ALIGN_SPACE_BETWEEN = 6;
22
+ const ALIGN_SPACE_AROUND = 7;
23
+ const ALIGN_SPACE_EVENLY = 8;
24
+ const JUSTIFY_FLEX_START = 0;
25
+ const JUSTIFY_CENTER = 1;
26
+ const JUSTIFY_FLEX_END = 2;
27
+ const JUSTIFY_SPACE_BETWEEN = 3;
28
+ const JUSTIFY_SPACE_AROUND = 4;
29
+ const JUSTIFY_SPACE_EVENLY = 5;
30
+ const EDGE_LEFT = 0;
31
+ const EDGE_TOP = 1;
32
+ const EDGE_RIGHT = 2;
33
+ const EDGE_BOTTOM = 3;
34
+ const EDGE_START = 4;
35
+ const EDGE_END = 5;
36
+ const EDGE_HORIZONTAL = 6;
37
+ const EDGE_VERTICAL = 7;
38
+ const EDGE_ALL = 8;
39
+ const GUTTER_COLUMN = 0;
40
+ const GUTTER_ROW = 1;
41
+ const GUTTER_ALL = 2;
42
+ const DISPLAY_FLEX = 0;
43
+ const DISPLAY_NONE = 1;
44
+ const POSITION_TYPE_STATIC = 0;
45
+ const POSITION_TYPE_RELATIVE = 1;
46
+ const POSITION_TYPE_ABSOLUTE = 2;
47
+ const OVERFLOW_VISIBLE = 0;
48
+ const OVERFLOW_HIDDEN = 1;
49
+ const OVERFLOW_SCROLL = 2;
50
+ const DIRECTION_INHERIT = 0;
51
+ const DIRECTION_LTR = 1;
52
+ const DIRECTION_RTL = 2;
53
+ const MEASURE_MODE_UNDEFINED = 0;
54
+ const MEASURE_MODE_EXACTLY = 1;
55
+ const MEASURE_MODE_AT_MOST = 2;
56
+ const UNIT_UNDEFINED = 0;
57
+ const UNIT_POINT = 1;
58
+ const UNIT_PERCENT = 2;
59
+ const UNIT_AUTO = 3;
60
+ const UNIT_FIT_CONTENT = 4;
61
+ const UNIT_SNUG_CONTENT = 5;
62
+ //#endregion
63
+ export { WRAP_WRAP as $, GUTTER_ROW as A, OVERFLOW_HIDDEN as B, EDGE_VERTICAL as C, FLEX_DIRECTION_ROW_REVERSE as D, FLEX_DIRECTION_ROW as E, JUSTIFY_SPACE_BETWEEN as F, POSITION_TYPE_STATIC as G, OVERFLOW_VISIBLE as H, JUSTIFY_SPACE_EVENLY as I, UNIT_PERCENT as J, UNIT_AUTO as K, MEASURE_MODE_AT_MOST as L, JUSTIFY_FLEX_END as M, JUSTIFY_FLEX_START as N, GUTTER_ALL as O, JUSTIFY_SPACE_AROUND as P, WRAP_NO_WRAP as Q, MEASURE_MODE_EXACTLY as R, EDGE_TOP as S, FLEX_DIRECTION_COLUMN_REVERSE as T, POSITION_TYPE_ABSOLUTE as U, OVERFLOW_SCROLL as V, POSITION_TYPE_RELATIVE as W, UNIT_SNUG_CONTENT as X, UNIT_POINT as Y, UNIT_UNDEFINED as Z, EDGE_END as _, ALIGN_FLEX_START as a, EDGE_RIGHT as b, ALIGN_SPACE_EVENLY as c, DIRECTION_LTR as d, WRAP_WRAP_REVERSE as et, DIRECTION_RTL as f, EDGE_BOTTOM as g, EDGE_ALL as h, ALIGN_FLEX_END as i, JUSTIFY_CENTER as j, GUTTER_COLUMN as k, ALIGN_STRETCH as l, DISPLAY_NONE as m, ALIGN_BASELINE as n, ALIGN_SPACE_AROUND as o, DISPLAY_FLEX as p, UNIT_FIT_CONTENT as q, ALIGN_CENTER as r, ALIGN_SPACE_BETWEEN as s, ALIGN_AUTO as t, DIRECTION_INHERIT as u, EDGE_HORIZONTAL as v, FLEX_DIRECTION_COLUMN as w, EDGE_START as x, EDGE_LEFT as y, MEASURE_MODE_UNDEFINED as z };
64
+
65
+ //# sourceMappingURL=constants-BNURa6H7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants-BNURa6H7.mjs","names":[],"sources":["../src/constants.ts"],"sourcesContent":["/**\n * Flexily Constants\n *\n * Yoga-compatible constants for flexbox layout.\n * These match Yoga's enum values exactly for drop-in compatibility.\n */\n\n// Flex Direction\nexport const FLEX_DIRECTION_COLUMN = 0\nexport const FLEX_DIRECTION_COLUMN_REVERSE = 1\nexport const FLEX_DIRECTION_ROW = 2\nexport const FLEX_DIRECTION_ROW_REVERSE = 3\n\n// Wrap\nexport const WRAP_NO_WRAP = 0\nexport const WRAP_WRAP = 1\nexport const WRAP_WRAP_REVERSE = 2\n\n// Align\nexport const ALIGN_AUTO = 0\nexport const ALIGN_FLEX_START = 1\nexport const ALIGN_CENTER = 2\nexport const ALIGN_FLEX_END = 3\nexport const ALIGN_STRETCH = 4\nexport const ALIGN_BASELINE = 5\nexport const ALIGN_SPACE_BETWEEN = 6\nexport const ALIGN_SPACE_AROUND = 7\nexport const ALIGN_SPACE_EVENLY = 8\n\n// Justify\nexport const JUSTIFY_FLEX_START = 0\nexport const JUSTIFY_CENTER = 1\nexport const JUSTIFY_FLEX_END = 2\nexport const JUSTIFY_SPACE_BETWEEN = 3\nexport const JUSTIFY_SPACE_AROUND = 4\nexport const JUSTIFY_SPACE_EVENLY = 5\n\n// Edge\nexport const EDGE_LEFT = 0\nexport const EDGE_TOP = 1\nexport const EDGE_RIGHT = 2\nexport const EDGE_BOTTOM = 3\nexport const EDGE_START = 4\nexport const EDGE_END = 5\nexport const EDGE_HORIZONTAL = 6\nexport const EDGE_VERTICAL = 7\nexport const EDGE_ALL = 8\n\n// Gutter\nexport const GUTTER_COLUMN = 0\nexport const GUTTER_ROW = 1\nexport const GUTTER_ALL = 2\n\n// Display\nexport const DISPLAY_FLEX = 0\nexport const DISPLAY_NONE = 1\n\n// Position Type\nexport const POSITION_TYPE_STATIC = 0\nexport const POSITION_TYPE_RELATIVE = 1\nexport const POSITION_TYPE_ABSOLUTE = 2\n\n// Overflow\nexport const OVERFLOW_VISIBLE = 0\nexport const OVERFLOW_HIDDEN = 1\nexport const OVERFLOW_SCROLL = 2\n\n// Direction (LTR and RTL are both supported)\nexport const DIRECTION_INHERIT = 0\nexport const DIRECTION_LTR = 1\nexport const DIRECTION_RTL = 2\n\n// Measure Mode (for measureFunc)\nexport const MEASURE_MODE_UNDEFINED = 0\nexport const MEASURE_MODE_EXACTLY = 1\nexport const MEASURE_MODE_AT_MOST = 2\n\n// Unit (for internal use)\nexport const UNIT_UNDEFINED = 0\nexport const UNIT_POINT = 1\nexport const UNIT_PERCENT = 2\nexport const UNIT_AUTO = 3\nexport const UNIT_FIT_CONTENT = 4\nexport const UNIT_SNUG_CONTENT = 5\n"],"mappings":";;;;;;;AAQA,MAAa,wBAAwB;AACrC,MAAa,gCAAgC;AAC7C,MAAa,qBAAqB;AAClC,MAAa,6BAA6B;AAG1C,MAAa,eAAe;AAC5B,MAAa,YAAY;AACzB,MAAa,oBAAoB;AAGjC,MAAa,aAAa;AAC1B,MAAa,mBAAmB;AAChC,MAAa,eAAe;AAC5B,MAAa,iBAAiB;AAC9B,MAAa,gBAAgB;AAC7B,MAAa,iBAAiB;AAC9B,MAAa,sBAAsB;AACnC,MAAa,qBAAqB;AAClC,MAAa,qBAAqB;AAGlC,MAAa,qBAAqB;AAClC,MAAa,iBAAiB;AAC9B,MAAa,mBAAmB;AAChC,MAAa,wBAAwB;AACrC,MAAa,uBAAuB;AACpC,MAAa,uBAAuB;AAGpC,MAAa,YAAY;AACzB,MAAa,WAAW;AACxB,MAAa,aAAa;AAC1B,MAAa,cAAc;AAC3B,MAAa,aAAa;AAC1B,MAAa,WAAW;AACxB,MAAa,kBAAkB;AAC/B,MAAa,gBAAgB;AAC7B,MAAa,WAAW;AAGxB,MAAa,gBAAgB;AAC7B,MAAa,aAAa;AAC1B,MAAa,aAAa;AAG1B,MAAa,eAAe;AAC5B,MAAa,eAAe;AAG5B,MAAa,uBAAuB;AACpC,MAAa,yBAAyB;AACtC,MAAa,yBAAyB;AAGtC,MAAa,mBAAmB;AAChC,MAAa,kBAAkB;AAC/B,MAAa,kBAAkB;AAG/B,MAAa,oBAAoB;AACjC,MAAa,gBAAgB;AAC7B,MAAa,gBAAgB;AAG7B,MAAa,yBAAyB;AACtC,MAAa,uBAAuB;AACpC,MAAa,uBAAuB;AAGpC,MAAa,iBAAiB;AAC9B,MAAa,aAAa;AAC1B,MAAa,eAAe;AAC5B,MAAa,YAAY;AACzB,MAAa,mBAAmB;AAChC,MAAa,oBAAoB"}
@@ -0,0 +1,64 @@
1
+ //#region src/constants.d.ts
2
+ /**
3
+ * Flexily Constants
4
+ *
5
+ * Yoga-compatible constants for flexbox layout.
6
+ * These match Yoga's enum values exactly for drop-in compatibility.
7
+ */
8
+ declare const FLEX_DIRECTION_COLUMN = 0;
9
+ declare const FLEX_DIRECTION_COLUMN_REVERSE = 1;
10
+ declare const FLEX_DIRECTION_ROW = 2;
11
+ declare const FLEX_DIRECTION_ROW_REVERSE = 3;
12
+ declare const WRAP_NO_WRAP = 0;
13
+ declare const WRAP_WRAP = 1;
14
+ declare const WRAP_WRAP_REVERSE = 2;
15
+ declare const ALIGN_AUTO = 0;
16
+ declare const ALIGN_FLEX_START = 1;
17
+ declare const ALIGN_CENTER = 2;
18
+ declare const ALIGN_FLEX_END = 3;
19
+ declare const ALIGN_STRETCH = 4;
20
+ declare const ALIGN_BASELINE = 5;
21
+ declare const ALIGN_SPACE_BETWEEN = 6;
22
+ declare const ALIGN_SPACE_AROUND = 7;
23
+ declare const ALIGN_SPACE_EVENLY = 8;
24
+ declare const JUSTIFY_FLEX_START = 0;
25
+ declare const JUSTIFY_CENTER = 1;
26
+ declare const JUSTIFY_FLEX_END = 2;
27
+ declare const JUSTIFY_SPACE_BETWEEN = 3;
28
+ declare const JUSTIFY_SPACE_AROUND = 4;
29
+ declare const JUSTIFY_SPACE_EVENLY = 5;
30
+ declare const EDGE_LEFT = 0;
31
+ declare const EDGE_TOP = 1;
32
+ declare const EDGE_RIGHT = 2;
33
+ declare const EDGE_BOTTOM = 3;
34
+ declare const EDGE_START = 4;
35
+ declare const EDGE_END = 5;
36
+ declare const EDGE_HORIZONTAL = 6;
37
+ declare const EDGE_VERTICAL = 7;
38
+ declare const EDGE_ALL = 8;
39
+ declare const GUTTER_COLUMN = 0;
40
+ declare const GUTTER_ROW = 1;
41
+ declare const GUTTER_ALL = 2;
42
+ declare const DISPLAY_FLEX = 0;
43
+ declare const DISPLAY_NONE = 1;
44
+ declare const POSITION_TYPE_STATIC = 0;
45
+ declare const POSITION_TYPE_RELATIVE = 1;
46
+ declare const POSITION_TYPE_ABSOLUTE = 2;
47
+ declare const OVERFLOW_VISIBLE = 0;
48
+ declare const OVERFLOW_HIDDEN = 1;
49
+ declare const OVERFLOW_SCROLL = 2;
50
+ declare const DIRECTION_INHERIT = 0;
51
+ declare const DIRECTION_LTR = 1;
52
+ declare const DIRECTION_RTL = 2;
53
+ declare const MEASURE_MODE_UNDEFINED = 0;
54
+ declare const MEASURE_MODE_EXACTLY = 1;
55
+ declare const MEASURE_MODE_AT_MOST = 2;
56
+ declare const UNIT_UNDEFINED = 0;
57
+ declare const UNIT_POINT = 1;
58
+ declare const UNIT_PERCENT = 2;
59
+ declare const UNIT_AUTO = 3;
60
+ declare const UNIT_FIT_CONTENT = 4;
61
+ declare const UNIT_SNUG_CONTENT = 5;
62
+ //#endregion
63
+ export { WRAP_WRAP as $, GUTTER_ROW as A, OVERFLOW_HIDDEN as B, EDGE_VERTICAL as C, FLEX_DIRECTION_ROW_REVERSE as D, FLEX_DIRECTION_ROW as E, JUSTIFY_SPACE_BETWEEN as F, POSITION_TYPE_STATIC as G, OVERFLOW_VISIBLE as H, JUSTIFY_SPACE_EVENLY as I, UNIT_PERCENT as J, UNIT_AUTO as K, MEASURE_MODE_AT_MOST as L, JUSTIFY_FLEX_END as M, JUSTIFY_FLEX_START as N, GUTTER_ALL as O, JUSTIFY_SPACE_AROUND as P, WRAP_NO_WRAP as Q, MEASURE_MODE_EXACTLY as R, EDGE_TOP as S, FLEX_DIRECTION_COLUMN_REVERSE as T, POSITION_TYPE_ABSOLUTE as U, OVERFLOW_SCROLL as V, POSITION_TYPE_RELATIVE as W, UNIT_SNUG_CONTENT as X, UNIT_POINT as Y, UNIT_UNDEFINED as Z, EDGE_END as _, ALIGN_FLEX_START as a, EDGE_RIGHT as b, ALIGN_SPACE_EVENLY as c, DIRECTION_LTR as d, WRAP_WRAP_REVERSE as et, DIRECTION_RTL as f, EDGE_BOTTOM as g, EDGE_ALL as h, ALIGN_FLEX_END as i, JUSTIFY_CENTER as j, GUTTER_COLUMN as k, ALIGN_STRETCH as l, DISPLAY_NONE as m, ALIGN_BASELINE as n, ALIGN_SPACE_AROUND as o, DISPLAY_FLEX as p, UNIT_FIT_CONTENT as q, ALIGN_CENTER as r, ALIGN_SPACE_BETWEEN as s, ALIGN_AUTO as t, DIRECTION_INHERIT as u, EDGE_HORIZONTAL as v, FLEX_DIRECTION_COLUMN as w, EDGE_START as x, EDGE_LEFT as y, MEASURE_MODE_UNDEFINED as z };
64
+ //# sourceMappingURL=constants-D7ythAJC.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants-D7ythAJC.d.mts","names":[],"sources":["../src/constants.ts"],"mappings":";;AAQA;;;;;cAAa,qBAAA;AAAA,cACA,6BAAA;AAAA,cACA,kBAAA;AAAA,cACA,0BAAA;AAAA,cAGA,YAAA;AAAA,cACA,SAAA;AAAA,cACA,iBAAA;AAAA,cAGA,UAAA;AAAA,cACA,gBAAA;AAAA,cACA,YAAA;AAAA,cACA,cAAA;AAAA,cACA,aAAA;AAAA,cACA,cAAA;AAAA,cACA,mBAAA;AAAA,cACA,kBAAA;AAAA,cACA,kBAAA;AAAA,cAGA,kBAAA;AAAA,cACA,cAAA;AAAA,cACA,gBAAA;AAAA,cACA,qBAAA;AAAA,cACA,oBAAA;AAAA,cACA,oBAAA;AAAA,cAGA,SAAA;AAAA,cACA,QAAA;AAAA,cACA,UAAA;AAAA,cACA,WAAA;AAAA,cACA,UAAA;AAAA,cACA,QAAA;AAAA,cACA,eAAA;AAAA,cACA,aAAA;AAAA,cACA,QAAA;AAAA,cAGA,aAAA;AAAA,cACA,UAAA;AAAA,cACA,UAAA;AAAA,cAGA,YAAA;AAAA,cACA,YAAA;AAAA,cAGA,oBAAA;AAAA,cACA,sBAAA;AAAA,cACA,sBAAA;AAAA,cAGA,gBAAA;AAAA,cACA,eAAA;AAAA,cACA,eAAA;AAAA,cAGA,iBAAA;AAAA,cACA,aAAA;AAAA,cACA,aAAA;AAAA,cAGA,sBAAA;AAAA,cACA,oBAAA;AAAA,cACA,oBAAA;AAAA,cAGA,cAAA;AAAA,cACA,UAAA;AAAA,cACA,YAAA;AAAA,cACA,SAAA;AAAA,cACA,gBAAA;AAAA,cACA,iBAAA"}