@leafer-in/flow 1.4.0 → 1.4.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"flow.esm.js","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.31.0_tslib@2.8.1_typescript@5.7.3/node_modules/tslib/tslib.es6.js","../../../../../../src/in/packages/flow/src/data/FlowData.ts","../../../../../../src/in/packages/flow/src/Flow.ts","../../../../../../src/in/packages/flow/src/layout/common/align.ts","../../../../../../src/in/packages/flow/src/layout/x/align.ts","../../../../../../src/in/packages/flow/src/layout/x/layout.ts","../../../../../../src/in/packages/flow/src/layout/common/wrap.ts","../../../../../../src/in/packages/flow/src/layout/common/data.ts","../../../../../../src/in/packages/flow/src/layout/common/gap.ts","../../../../../../src/in/packages/flow/src/layout/common/bounds.ts","../../../../../../src/in/packages/flow/src/layout/x/grow.ts","../../../../../../src/in/packages/flow/src/layout/y/grow.ts","../../../../../../src/in/packages/flow/src/layout/flowX.ts","../../../../../../src/in/packages/flow/src/layout/y/align.ts","../../../../../../src/in/packages/flow/src/layout/y/layout.ts","../../../../../../src/in/packages/flow/src/layout/flowY.ts","../../../../../../src/in/packages/flow/src/decorate.ts","../../../../../../src/in/packages/flow/src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { IFlowData } from \"@leafer-ui/interface\"\nimport { BoxData } from '@leafer-ui/draw'\n\n\nexport class FlowData extends BoxData implements IFlowData {\n\n}\n","import { IFlow, IFlowData, IFlowInputData, IFlowType } from '@leafer-ui/interface'\nimport { registerUI, dataProcessor, Box, autoLayoutType } from '@leafer-ui/draw'\n\nimport { FlowData } from './data/FlowData'\n\n\n@registerUI()\nexport class Flow extends Box implements IFlow {\n\n public get __tag() { return 'Flow' }\n\n @dataProcessor(FlowData)\n declare public __: IFlowData\n\n @autoLayoutType('x')\n declare public flow?: IFlowType\n\n constructor(data?: IFlowInputData) {\n super(data)\n this.__hasAutoLayout = true\n }\n\n}","import { IBoundsData, IBox, IFlowAlign, IPointData } from '@leafer-ui/interface'\nimport { AlignHelper } from '@leafer-ui/draw'\n\nimport { IFlowAlignToAxisAlignMap } from '@leafer-in/interface'\n\n\nconst point = {} as IPointData\n\nexport const alignToInnerXMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'center',\n 'top-right': 'to',\n 'right': 'to',\n 'bottom-right': 'to',\n 'bottom': 'center',\n 'bottom-left': 'from',\n 'left': 'from',\n 'center': 'center',\n 'baseline-left': 'from',\n 'baseline-center': 'center',\n 'baseline-right': 'to',\n}\n\nexport const alignToInnerYMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'from',\n 'top-right': 'from',\n 'right': 'center',\n 'bottom-right': 'to',\n 'bottom': 'to',\n 'bottom-left': 'to',\n 'left': 'center',\n 'center': 'center',\n 'baseline-left': 'to',\n 'baseline-center': 'to',\n 'baseline-right': 'to',\n}\n\nexport function alignContent(box: IBox, content: IBoundsData, align: IFlowAlign): void {\n const data = box.__\n const { contentBounds } = box.__layout\n AlignHelper.toPoint(align as any, content, contentBounds, point)\n content.x = data.__autoWidth ? contentBounds.x : point.x\n content.y = data.__autoHeight ? contentBounds.y : point.y\n}","import { IBox, IFlowAlign, IAxisAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerXMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, innerXAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!innerXAlign) innerXAlign = alignToInnerXMap[contentAlign]\n\n if (innerXAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.x = data.width - row.width\n if (innerXAlign === 'center') row.x /= 2\n }\n\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\n\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowYAlign?: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutX(box, row, x, y, rowYAlign, reverse)\n y += row.height + data.gap\n }\n}\n\nexport function layoutX(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowYAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { x, start } = row, y = fromY\n x += fromX\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowYAlign !== 'from') y = fromY + (row.height - local.height) / (rowYAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + row.gap\n } else {\n end++\n }\n }\n}","import { IFlowWrapDrawData, IFlowDrawData, ISide } from '@leafer-in/interface'\n\n\nexport function flowWrap(wrapData: IFlowWrapDrawData, data: IFlowDrawData, wrapSide: ISide): void {\n const otherSide = wrapSide === 'width' ? 'height' : 'width'\n wrapData[wrapSide] = Math.max(wrapData[wrapSide], data[wrapSide])\n wrapData[otherSide] += wrapData.count ? data[otherSide] + wrapData.gap : data[otherSide]\n wrapData.list.push(data)\n wrapData.count++\n}\n","import { IBox } from '@leafer-ui/interface'\n\nimport { IFlowWrapDrawData, IFlowDrawData, IFlowParseData } from '@leafer-in/interface'\n\nimport { alignToInnerXMap, alignToInnerYMap } from './align'\n\nconst p = {} as IFlowParseData\n\nexport function getParseData(box: IBox, isFlowX: boolean): IFlowParseData {\n const { gap, flowAlign: align, flowWrap: wrap, __autoWidth, __autoHeight } = box.__\n const needWrap = wrap && (isFlowX ? !__autoWidth : !__autoHeight)\n\n if (typeof gap === 'object') {\n p.xGap = gap.x || 0\n p.yGap = gap.y || 0\n } else {\n p.xGap = p.yGap = gap\n }\n\n p.isAutoXGap = typeof p.xGap === 'string' && !__autoWidth\n p.isAutoYGap = typeof p.yGap === 'string' && !__autoHeight\n\n p.complex = needWrap || align !== 'top-left' || box.__hasGrow || p.isAutoXGap || p.isAutoYGap\n p.wrap = needWrap\n\n if (p.complex) {\n p.isFitXGap = p.xGap === 'fit' && !__autoWidth\n p.isFitYGap = p.yGap === 'fit' && !__autoHeight\n\n if (typeof align === 'object') {\n p.contentAlign = align.content || 'top-left'\n p.rowXAlign = align.x || 'from'\n p.rowYAlign = align.y || 'from'\n } else {\n p.contentAlign = align\n p.rowXAlign = alignToInnerXMap[align]\n p.rowYAlign = alignToInnerYMap[align]\n }\n\n }\n\n return p\n}\n\nexport function getDrawData(start: number, gap: number): IFlowDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap, start, count: 0, grow: 0 }\n}\n\nexport function getWrapDrawData(): IFlowWrapDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap: 0, count: 0, list: [] }\n}","import { IGapBoundsData, ISide } from '@leafer-in/interface'\n\n\nexport function autoGap(data: IGapBoundsData, side: ISide, sideTotal: number, fit: boolean): void {\n const { count } = data\n if (count > 1 && (sideTotal > data[side] || fit)) {\n data.gap = (sideTotal - data[side]) / (count - 1)\n data[side] = sideTotal\n }\n}","import { IBoundsData, IBoundsType, IUI } from '@leafer-ui/interface'\n\nexport function getItemBounds(child: IUI, itemBox: IBoundsType): IBoundsData {\n return itemBox === 'box' ? child.__local : child.__layout.localStrokeBounds\n\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growX(box: IBox, row: IFlowDrawData, width: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = row.width < width ? (width - row.width) / totalGrow : 0, { children } = box\n\n if (growSize) row.width = width\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__widthGrow) {\n remainSpace = resizeWidth(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.widthRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__widthGrow\n space = totalSpace / countGrow * grow\n remain = resizeWidth(child, local = child.__flowBounds, local.width + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeWidth(child: IUI, local: IBoundsData, size: number): number {\n const { widthRange, lockRatio } = child.__\n const realSize = widthRange ? within(size, widthRange) : size\n const scale = realSize / local.width\n child.scaleResize(scale, lockRatio ? scale : 1)\n local.width = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growY(box: IBox, row: IFlowDrawData, height: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = row.height < height ? (height - row.height) / totalGrow : 0, { children } = box\n\n if (growSize) row.height = height\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__heightGrow) {\n remainSpace = resizeHeight(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.heightRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__heightGrow\n space = totalSpace / countGrow * grow\n remain = resizeHeight(child, local = child.__flowBounds, local.height + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeHeight(child: IUI, local: IBoundsData, size: number): number {\n const { heightRange, lockRatio } = child.__\n const realSize = heightRange ? within(size, heightRange) : size\n const scale = realSize / local.height\n child.scaleResize(lockRatio ? scale : 1, scale)\n local.height = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './x/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutX } from './x/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growX } from './x/grow'\nimport { resizeHeight } from './y/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowX(box: IBox, reverse?: boolean): void {\n const side = 'width', { children, itemBox } = box, pData = getParseData(box, true)\n const { complex, wrap, xGap, yGap, isAutoXGap, isFitXGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), xGapTempNum = isAutoXGap ? 0 : xGap as number\n let child: IUI, local: IBoundsData, localWidth: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, xGapTempNum)\n\n if (wrap && data.count && data.width + local.width > width) {\n\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, xGapTempNum)\n }\n\n localWidth = local.width\n\n if (child.__widthGrow) {\n data.grow += child.__widthGrow, localWidth = 0\n if (child.__.widthRange) data.hasRangeSize = true\n }\n\n if (child.__heightGrow) resizeHeight(child, local, height)\n\n data.width += data.count ? localWidth + xGapTempNum : localWidth\n data.height = Math.max(data.height, local.height)\n data.count++\n\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + xGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoYGap, isFitYGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoYGap) autoGap(wrapData, 'height', height, isFitYGap)\n else wrapData.gap = yGap as number\n\n align(box, wrapData, contentAlign, rowXAlign)\n layout(box, wrapData, rowYAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutX(box, data, 0, data.y, rowYAlign, reverse)\n\n }\n\n }\n}\n\n\n// if (typeof autoWidth === 'object') {\n\n// const realWidth = width * autoWidth.value / 100 // 百分比\n// data.width += data.count ? realWidth + xGapTempNum : realWidth\n// const scaleX = realWidth / local.width\n// child.scaleResize(scaleX, 1, true)\n// local.width = realWidth\n\n// } else ","import { IAxisAlign, IBox, IFlowAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerYMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, rowYAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!rowYAlign) rowYAlign = alignToInnerYMap[contentAlign]\n\n if (rowYAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.y = data.height - row.height\n if (rowYAlign === 'center') row.y /= 2\n }\n\n }\n }\n}\n\n","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutY(box, row, x, y, rowXAlign, reverse)\n x += row.width + data.gap\n }\n}\n\nexport function layoutY(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { y, start } = row, x = fromX\n y += fromY\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowXAlign !== 'from') x = fromX + (row.width - local.width) / (rowXAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + row.gap\n } else {\n end++\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './y/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutY } from './y/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growY } from './y/grow'\nimport { resizeWidth } from './x/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowY(box: IBox, reverse?: boolean): void {\n const side = 'height', { children, itemBox } = box, pData = getParseData(box, false)\n const { complex, wrap, xGap, yGap, isAutoYGap, isFitYGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), yGapTempNum = isAutoYGap ? 0 : yGap as number\n let child: IUI, local: IBoundsData, localHeight: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, yGapTempNum)\n\n if (wrap && data.count && data.height + local.height > height) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, yGapTempNum)\n }\n\n localHeight = local.height\n\n if (child.__heightGrow) {\n data.grow += child.__heightGrow, localHeight = 0\n if (child.__.heightRange) data.hasRangeSize = true\n }\n\n if (child.__widthGrow) resizeWidth(child, local, width)\n\n data.height += data.count ? localHeight + yGapTempNum : localHeight\n data.width = Math.max(data.width, local.width)\n data.count++\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + yGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoXGap, isFitXGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (!isAutoXGap) wrapData.gap = xGap as number\n else autoGap(wrapData, 'width', width, isFitXGap)\n\n align(box, wrapData, contentAlign, rowYAlign)\n layout(box, wrapData, rowXAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutY(box, data, data.x, 0, rowXAlign, reverse)\n\n }\n\n }\n}","import { attr, decorateLeafAttr, doBoundsType } from '@leafer-ui/draw'\nimport { IValue } from '@leafer/interface'\n\n\nexport function autoBoundsType(defaultValue?: IValue) {\n return decorateLeafAttr(defaultValue, (key: string) => attr({\n set(value: IValue) {\n const grow = typeof value === 'number' ? value : 0\n key === 'autoWidth' ? this.__widthGrow = grow : this.__heightGrow = grow\n if (grow && !(this.parent && this.parent.__hasGrow)) this.waitParent(() => { this.parent.__hasGrow = true }) // 需要优化, 移入到其他容器中的时候也需要优化\n this.__setAttr(key, value) && doBoundsType(this)\n }\n }))\n}","export { Flow } from './Flow'\n\n\nimport { BoundsHelper, Box, Group, UI, autoLayoutType, boundsType, Plugin } from '@leafer-ui/draw'\n\nimport '@leafer-in/resize'\n\nimport { flowX } from './layout/flowX'\nimport { flowY } from './layout/flowY'\nimport { autoBoundsType } from './decorate'\n\n\nPlugin.add('flow', 'resize')\n\n\nconst ui = UI.prototype, box = Box.prototype, { __updateBoxBounds } = Group.prototype\n\n// addAttr\nautoLayoutType(false)(ui, 'flow')\nboundsType(0)(ui, 'gap')\nboundsType('top-left')(ui, 'flowAlign')\nboundsType(false)(ui, 'flowWrap')\n\nboundsType('box')(ui, 'itemBox')\nboundsType(true)(ui, 'inFlow')\n\nautoBoundsType()(ui, 'autoWidth')\nautoBoundsType()(ui, 'autoHeight')\nboundsType()(ui, 'autoBox')\n\n\nconst { copyAndSpread } = BoundsHelper\n\nbox.__updateFlowLayout = function (): void {\n const { leaferIsCreated, flow } = this\n\n if (leaferIsCreated) this.leafer.created = false // 拦截布局更新通知,进行手动更新布局\n\n switch (flow) {\n case 'x':\n case true:\n flowX(this)\n break\n case 'y':\n flowY(this)\n break\n case 'x-reverse':\n flowX(this, true)\n break\n case 'y-reverse':\n flowY(this, true)\n break\n }\n\n if (leaferIsCreated) this.leafer.created = true\n}\n\nbox.__updateContentBounds = function (): void {\n const { padding } = this.__\n const layout = this.__layout\n const same = layout.contentBounds === layout.boxBounds\n\n if (padding) {\n if (same) layout.shrinkContent()\n copyAndSpread(layout.contentBounds, layout.boxBounds, padding, true)\n } else {\n if (!same) layout.shrinkContentCancel()\n }\n}\n\nbox.__updateBoxBounds = function (secondLayout?: boolean): void { // autoSide且自动布局时需要二次布局\n const data = this.__\n\n if (this.children.length) {\n\n const { flow } = data\n\n if (data.__autoSide) {\n\n if (data.__hasSurface) this.__extraUpdate() // Box自身存在样式,需要额外更新\n\n flow && !secondLayout ? this.__updateRectBoxBounds() : __updateBoxBounds.call(this)\n\n const { boxBounds } = this.__layout\n\n if (!data.__autoSize) {\n if (data.__autoWidth) {\n if (!flow) boxBounds.width += boxBounds.x, boxBounds.x = 0\n boxBounds.height = data.height, boxBounds.y = 0\n } else {\n if (!flow) boxBounds.height += boxBounds.y, boxBounds.y = 0\n boxBounds.width = data.width, boxBounds.x = 0\n }\n }\n\n flow && secondLayout && data.padding && copyAndSpread(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : (data.__autoWidth ? 'width' : 'height'))\n\n this.__updateNaturalSize()\n\n } else {\n this.__updateRectBoxBounds()\n }\n\n if (flow) this.__updateContentBounds()\n\n } else {\n this.__updateRectBoxBounds()\n }\n}\n\n\n\n"],"names":["align","move","layout","within","assignRemainSpace"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"flow.esm.js","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.34.6_tslib@2.8.1_typescript@5.7.3/node_modules/tslib/tslib.es6.js","../../../../../../src/in/packages/flow/src/data/FlowData.ts","../../../../../../src/in/packages/flow/src/Flow.ts","../../../../../../src/in/packages/flow/src/layout/common/align.ts","../../../../../../src/in/packages/flow/src/layout/x/align.ts","../../../../../../src/in/packages/flow/src/layout/x/layout.ts","../../../../../../src/in/packages/flow/src/layout/common/wrap.ts","../../../../../../src/in/packages/flow/src/layout/common/data.ts","../../../../../../src/in/packages/flow/src/layout/common/gap.ts","../../../../../../src/in/packages/flow/src/layout/common/bounds.ts","../../../../../../src/in/packages/flow/src/layout/x/grow.ts","../../../../../../src/in/packages/flow/src/layout/y/grow.ts","../../../../../../src/in/packages/flow/src/layout/flowX.ts","../../../../../../src/in/packages/flow/src/layout/y/align.ts","../../../../../../src/in/packages/flow/src/layout/y/layout.ts","../../../../../../src/in/packages/flow/src/layout/flowY.ts","../../../../../../src/in/packages/flow/src/decorate.ts","../../../../../../src/in/packages/flow/src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { IFlowData } from \"@leafer-ui/interface\"\nimport { BoxData } from '@leafer-ui/draw'\n\n\nexport class FlowData extends BoxData implements IFlowData {\n\n}\n","import { IFlow, IFlowData, IFlowInputData, IFlowType } from '@leafer-ui/interface'\nimport { registerUI, dataProcessor, Box, autoLayoutType } from '@leafer-ui/draw'\n\nimport { FlowData } from './data/FlowData'\n\n\n@registerUI()\nexport class Flow extends Box implements IFlow {\n\n public get __tag() { return 'Flow' }\n\n @dataProcessor(FlowData)\n declare public __: IFlowData\n\n @autoLayoutType('x')\n declare public flow?: IFlowType\n\n constructor(data?: IFlowInputData) {\n super(data)\n this.__hasAutoLayout = true\n }\n\n}","import { IBoundsData, IBox, IFlowAlign, IPointData } from '@leafer-ui/interface'\nimport { AlignHelper } from '@leafer-ui/draw'\n\nimport { IFlowAlignToAxisAlignMap } from '@leafer-in/interface'\n\n\nconst point = {} as IPointData\n\nexport const alignToInnerXMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'center',\n 'top-right': 'to',\n 'right': 'to',\n 'bottom-right': 'to',\n 'bottom': 'center',\n 'bottom-left': 'from',\n 'left': 'from',\n 'center': 'center',\n 'baseline-left': 'from',\n 'baseline-center': 'center',\n 'baseline-right': 'to',\n}\n\nexport const alignToInnerYMap: IFlowAlignToAxisAlignMap = {\n 'top-left': 'from',\n 'top': 'from',\n 'top-right': 'from',\n 'right': 'center',\n 'bottom-right': 'to',\n 'bottom': 'to',\n 'bottom-left': 'to',\n 'left': 'center',\n 'center': 'center',\n 'baseline-left': 'to',\n 'baseline-center': 'to',\n 'baseline-right': 'to',\n}\n\nexport function alignContent(box: IBox, content: IBoundsData, align: IFlowAlign): void {\n const data = box.__\n const { contentBounds } = box.__layout\n AlignHelper.toPoint(align as any, content, contentBounds, point)\n content.x = data.__autoWidth ? contentBounds.x : point.x\n content.y = data.__autoHeight ? contentBounds.y : point.y\n}","import { IBox, IFlowAlign, IAxisAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerXMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, innerXAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!innerXAlign) innerXAlign = alignToInnerXMap[contentAlign]\n\n if (innerXAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.x = data.width - row.width\n if (innerXAlign === 'center') row.x /= 2\n }\n\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\n\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowYAlign?: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutX(box, row, x, y, rowYAlign, reverse)\n y += row.height + data.gap\n }\n}\n\nexport function layoutX(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowYAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { x, start } = row, y = fromY\n x += fromX\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowYAlign !== 'from') y = fromY + (row.height - local.height) / (rowYAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + row.gap\n } else {\n end++\n }\n }\n}","import { IFlowWrapDrawData, IFlowDrawData, ISide } from '@leafer-in/interface'\n\n\nexport function flowWrap(wrapData: IFlowWrapDrawData, data: IFlowDrawData, wrapSide: ISide): void {\n const otherSide = wrapSide === 'width' ? 'height' : 'width'\n wrapData[wrapSide] = Math.max(wrapData[wrapSide], data[wrapSide])\n wrapData[otherSide] += wrapData.count ? data[otherSide] + wrapData.gap : data[otherSide]\n wrapData.list.push(data)\n wrapData.count++\n}\n","import { IBox } from '@leafer-ui/interface'\n\nimport { IFlowWrapDrawData, IFlowDrawData, IFlowParseData } from '@leafer-in/interface'\n\nimport { alignToInnerXMap, alignToInnerYMap } from './align'\n\nconst p = {} as IFlowParseData\n\nexport function getParseData(box: IBox, isFlowX: boolean): IFlowParseData {\n const { gap, flowAlign: align, flowWrap: wrap, __autoWidth, __autoHeight } = box.__\n const needWrap = wrap && (isFlowX ? !__autoWidth : !__autoHeight)\n\n if (typeof gap === 'object') {\n p.xGap = gap.x || 0\n p.yGap = gap.y || 0\n } else {\n p.xGap = p.yGap = gap\n }\n\n p.isAutoXGap = typeof p.xGap === 'string' && !__autoWidth\n p.isAutoYGap = typeof p.yGap === 'string' && !__autoHeight\n\n p.complex = needWrap || align !== 'top-left' || box.__hasGrow || p.isAutoXGap || p.isAutoYGap\n p.wrap = needWrap\n\n if (p.complex) {\n p.isFitXGap = p.xGap === 'fit' && !__autoWidth\n p.isFitYGap = p.yGap === 'fit' && !__autoHeight\n\n if (typeof align === 'object') {\n p.contentAlign = align.content || 'top-left'\n p.rowXAlign = align.x || 'from'\n p.rowYAlign = align.y || 'from'\n } else {\n p.contentAlign = align\n p.rowXAlign = alignToInnerXMap[align]\n p.rowYAlign = alignToInnerYMap[align]\n }\n\n }\n\n return p\n}\n\nexport function getDrawData(start: number, gap: number): IFlowDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap, start, count: 0, grow: 0 }\n}\n\nexport function getWrapDrawData(): IFlowWrapDrawData {\n return { x: 0, y: 0, width: 0, height: 0, gap: 0, count: 0, list: [] }\n}","import { IGapBoundsData, ISide } from '@leafer-in/interface'\n\n\nexport function autoGap(data: IGapBoundsData, side: ISide, sideTotal: number, fit: boolean): void {\n const { count } = data\n if (count > 1 && (sideTotal > data[side] || fit)) {\n data.gap = (sideTotal - data[side]) / (count - 1)\n data[side] = sideTotal\n }\n}","import { IBoundsData, IBoundsType, IUI } from '@leafer-ui/interface'\n\nexport function getItemBounds(child: IUI, itemBox: IBoundsType): IBoundsData {\n return itemBox === 'box' ? child.__local : child.__layout.localStrokeBounds\n\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growX(box: IBox, row: IFlowDrawData, width: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = row.width < width ? (width - row.width) / totalGrow : 0, { children } = box\n\n if (growSize) row.width = width\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__widthGrow) {\n remainSpace = resizeWidth(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.widthRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__widthGrow\n space = totalSpace / countGrow * grow\n remain = resizeWidth(child, local = child.__flowBounds, local.width + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeWidth(child: IUI, local: IBoundsData, size: number): number {\n const { widthRange, lockRatio } = child.__\n const realSize = widthRange ? within(size, widthRange) : size\n const scale = realSize / local.width\n child.scaleResize(scale, lockRatio ? scale : 1)\n local.width = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IAutoSize } from '@leafer-ui/interface'\nimport { MathHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\n\nconst { within } = MathHelper\n\nexport function growY(box: IBox, row: IFlowDrawData, height: number, reverse: boolean): void {\n let child: IUI, grow: IAutoSize, remainSpace: number, remainTotalSpace = 0, list: IUI[] = row.hasRangeSize && [], { grow: totalGrow, start } = row\n const growSize = row.height < height ? (height - row.height) / totalGrow : 0, { children } = box\n\n if (growSize) row.height = height\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n if (grow = child.__heightGrow) {\n remainSpace = resizeHeight(child, child.__flowBounds, growSize * grow)\n\n if (remainSpace) {\n remainTotalSpace += remainSpace\n totalGrow -= grow\n } else if (list) {\n child.__.heightRange ? list.unshift(child) : list.push(child)\n }\n }\n\n } else {\n end++\n }\n }\n\n if (remainTotalSpace) assignRemainSpace(list, remainTotalSpace, totalGrow)\n}\n\n\nfunction assignRemainSpace(list: IUI[], totalSpace: number, countGrow: number): void {\n let grow: IAutoSize, space: number, local: IBoundsData, remain: number\n list.forEach(child => {\n grow = child.__heightGrow\n space = totalSpace / countGrow * grow\n remain = resizeHeight(child, local = child.__flowBounds, local.height + space)\n totalSpace -= space - remain\n countGrow -= grow\n })\n}\n\n\nexport function resizeHeight(child: IUI, local: IBoundsData, size: number): number {\n const { heightRange, lockRatio } = child.__\n const realSize = heightRange ? within(size, heightRange) : size\n const scale = realSize / local.height\n child.scaleResize(lockRatio ? scale : 1, scale)\n local.height = realSize\n return size - realSize\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './x/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutX } from './x/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growX } from './x/grow'\nimport { resizeHeight } from './y/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowX(box: IBox, reverse?: boolean): void {\n const side = 'width', { children, itemBox } = box, pData = getParseData(box, true)\n const { complex, wrap, xGap, yGap, isAutoXGap, isFitXGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), xGapTempNum = isAutoXGap ? 0 : xGap as number\n let child: IUI, local: IBoundsData, localWidth: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, xGapTempNum)\n\n if (wrap && data.count && data.width + local.width > width) {\n\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, xGapTempNum)\n }\n\n localWidth = local.width\n\n if (child.__widthGrow) {\n data.grow += child.__widthGrow, localWidth = 0\n if (child.__.widthRange) data.hasRangeSize = true\n }\n\n if (child.__heightGrow) resizeHeight(child, local, height)\n\n data.width += data.count ? localWidth + xGapTempNum : localWidth\n data.height = Math.max(data.height, local.height)\n data.count++\n\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n x += local.width + xGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoYGap, isFitYGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growX(box, data, width, reverse)\n else if (isAutoXGap) autoGap(data, side, width, isFitXGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (isAutoYGap) autoGap(wrapData, 'height', height, isFitYGap)\n else wrapData.gap = yGap as number\n\n align(box, wrapData, contentAlign, rowXAlign)\n layout(box, wrapData, rowYAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutX(box, data, 0, data.y, rowYAlign, reverse)\n\n }\n\n }\n}","import { IAxisAlign, IBox, IFlowAlign } from '@leafer-ui/interface'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\nimport { alignContent, alignToInnerYMap } from '../common/align'\n\n\nexport function align(box: IBox, data: IFlowWrapDrawData, contentAlign: IFlowAlign, rowYAlign: IAxisAlign): void {\n alignContent(box, data, contentAlign)\n\n const { list } = data\n if (list.length > 1) {\n\n if (!rowYAlign) rowYAlign = alignToInnerYMap[contentAlign]\n\n if (rowYAlign !== 'from') {\n let row: IFlowDrawData\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[i]\n row.y = data.height - row.height\n if (rowYAlign === 'center') row.y /= 2\n }\n\n }\n }\n}\n\n","import { IBoundsData, IBox, IUI, IPointData, IAxisAlign } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData, IFlowWrapDrawData } from '@leafer-in/interface'\n\n\nconst { move } = PointHelper\n\nexport function layout(box: IBox, data: IFlowWrapDrawData, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { list } = data, reverseWrap = box.__.flowWrap === 'reverse'\n let row: IFlowDrawData, { x, y } = data\n\n for (let i = 0, len = list.length; i < len; i++) {\n row = list[reverseWrap ? len - 1 - i : i]\n layoutY(box, row, x, y, rowXAlign, reverse)\n x += row.width + data.gap\n }\n}\n\nexport function layoutY(box: IBox, row: IFlowDrawData, fromX: number, fromY: number, rowXAlign: IAxisAlign, reverse?: boolean): void {\n const { children } = box\n let child: IUI, local: IBoundsData, { y, start } = row, x = fromX\n y += fromY\n\n for (let j = 0, end = row.count; j < end; j++) {\n child = children[reverse ? start - j : start + j]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n local = child.__flowBounds\n if (rowXAlign !== 'from') x = fromX + (row.width - local.width) / (rowXAlign === 'center' ? 2 : 1)\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + row.gap\n } else {\n end++\n }\n }\n}","import { IBoundsData, IBox, IUI, IPointData } from '@leafer-ui/interface'\nimport { PointHelper } from '@leafer-ui/draw'\n\nimport { IFlowDrawData } from '@leafer-in/interface'\n\nimport { align } from './y/align'\nimport { alignContent } from './common/align'\nimport { layout, layoutY } from './y/layout'\nimport { flowWrap } from './common/wrap'\nimport { getDrawData, getParseData, getWrapDrawData } from './common/data'\nimport { autoGap } from './common/gap'\nimport { getItemBounds } from './common/bounds'\nimport { growY } from './y/grow'\nimport { resizeWidth } from './x/grow'\n\n\nconst { move } = PointHelper\n\nexport function flowY(box: IBox, reverse?: boolean): void {\n const side = 'height', { children, itemBox } = box, pData = getParseData(box, false)\n const { complex, wrap, xGap, yGap, isAutoYGap, isFitYGap } = pData\n if (!children.length) return\n\n const wrapData = wrap && getWrapDrawData(), yGapTempNum = isAutoYGap ? 0 : yGap as number\n let child: IUI, local: IBoundsData, localHeight: number, index: number, data: IFlowDrawData, { x, y, width, height } = box.__layout.contentBounds\n\n for (let i = 0, len = children.length; i < len; i++) {\n child = children[index = reverse ? len - 1 - i : i]\n\n if (child.__.inFlow && child.__.visible !== 0) {\n\n local = getItemBounds(child, itemBox)\n\n if (complex) {\n\n child.__flowBounds = local\n if (!data) data = getDrawData(index, yGapTempNum)\n\n if (wrap && data.count && data.height + local.height > height) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n flowWrap(wrapData, data, side)\n\n data = getDrawData(index, yGapTempNum)\n }\n\n localHeight = local.height\n\n if (child.__heightGrow) {\n data.grow += child.__heightGrow, localHeight = 0\n if (child.__.heightRange) data.hasRangeSize = true\n }\n\n if (child.__widthGrow) resizeWidth(child, local, width)\n\n data.height += data.count ? localHeight + yGapTempNum : localHeight\n data.width = Math.max(data.width, local.width)\n data.count++\n\n } else {\n\n move(child as IPointData, x - local.x, y - local.y)\n y += local.height + yGapTempNum\n\n }\n\n }\n\n }\n\n if (complex && data) {\n\n const { isAutoXGap, isFitXGap, contentAlign, rowXAlign, rowYAlign } = pData\n\n if (data.count) {\n if (data.grow) growY(box, data, height, reverse)\n if (isAutoYGap) autoGap(data, side, height, isFitYGap)\n if (wrap) flowWrap(wrapData, data, side)\n }\n\n if (wrap) {\n\n if (!isAutoXGap) wrapData.gap = xGap as number\n else autoGap(wrapData, 'width', width, isFitXGap)\n\n align(box, wrapData, contentAlign, rowYAlign)\n layout(box, wrapData, rowXAlign, reverse)\n\n } else {\n\n alignContent(box, data, contentAlign)\n layoutY(box, data, data.x, 0, rowXAlign, reverse)\n\n }\n\n }\n}","import { attr, decorateLeafAttr, doBoundsType } from '@leafer-ui/draw'\nimport { IValue } from '@leafer/interface'\n\n\nexport function autoBoundsType(defaultValue?: IValue) {\n return decorateLeafAttr(defaultValue, (key: string) => attr({\n set(value: IValue) {\n const grow = typeof value === 'number' ? value : 0\n key === 'autoWidth' ? this.__widthGrow = grow : this.__heightGrow = grow\n if (grow && !(this.parent && this.parent.__hasGrow)) this.waitParent(() => { this.parent.__hasGrow = true }) // 需要优化, 移入到其他容器中的时候也需要优化\n this.__setAttr(key, value) && doBoundsType(this)\n }\n }))\n}","export { Flow } from './Flow'\n\n\nimport { BoundsHelper, Box, Group, UI, autoLayoutType, boundsType, Plugin } from '@leafer-ui/draw'\n\nimport '@leafer-in/resize'\n\nimport { flowX } from './layout/flowX'\nimport { flowY } from './layout/flowY'\nimport { autoBoundsType } from './decorate'\n\n\nPlugin.add('flow', 'resize')\n\n\nconst ui = UI.prototype, box = Box.prototype, { __updateBoxBounds } = Group.prototype\n\n// addAttr\nautoLayoutType(false)(ui, 'flow')\nboundsType(0)(ui, 'gap')\nboundsType('top-left')(ui, 'flowAlign')\nboundsType(false)(ui, 'flowWrap')\n\nboundsType('box')(ui, 'itemBox')\nboundsType(true)(ui, 'inFlow')\n\nautoBoundsType()(ui, 'autoWidth')\nautoBoundsType()(ui, 'autoHeight')\nboundsType()(ui, 'autoBox')\n\n\nconst { copyAndSpread } = BoundsHelper\n\nbox.__updateFlowLayout = function (): void {\n const { leaferIsCreated, flow } = this\n\n if (leaferIsCreated) this.leafer.created = false // 拦截布局更新通知,进行手动更新布局\n\n switch (flow) {\n case 'x':\n case true:\n flowX(this)\n break\n case 'y':\n flowY(this)\n break\n case 'x-reverse':\n flowX(this, true)\n break\n case 'y-reverse':\n flowY(this, true)\n break\n }\n\n if (leaferIsCreated) this.leafer.created = true\n}\n\nbox.__updateContentBounds = function (): void {\n const { padding } = this.__\n const layout = this.__layout\n const same = layout.contentBounds === layout.boxBounds\n\n if (padding) {\n if (same) layout.shrinkContent()\n copyAndSpread(layout.contentBounds, layout.boxBounds, padding, true)\n } else {\n if (!same) layout.shrinkContentCancel()\n }\n}\n\nbox.__updateBoxBounds = function (secondLayout?: boolean): void { // autoSide且自动布局时需要二次布局\n const data = this.__\n\n if (this.children.length) {\n\n const { flow } = data\n\n if (data.__autoSide) {\n\n if (data.__hasSurface) this.__extraUpdate() // Box自身存在样式,需要额外更新\n\n flow && !secondLayout ? this.__updateRectBoxBounds() : __updateBoxBounds.call(this)\n\n const { boxBounds } = this.__layout\n\n if (!data.__autoSize) {\n if (data.__autoWidth) {\n if (!flow) boxBounds.width += boxBounds.x, boxBounds.x = 0\n boxBounds.height = data.height, boxBounds.y = 0\n } else {\n if (!flow) boxBounds.height += boxBounds.y, boxBounds.y = 0\n boxBounds.width = data.width, boxBounds.x = 0\n }\n }\n\n flow && secondLayout && data.padding && copyAndSpread(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : (data.__autoWidth ? 'width' : 'height'))\n\n this.__updateNaturalSize()\n\n } else {\n this.__updateRectBoxBounds()\n }\n\n if (flow) this.__updateContentBounds()\n\n } else {\n this.__updateRectBoxBounds()\n }\n}\n\n\n\n"],"names":["align","move","layout","within","assignRemainSpace"],"mappings":"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","x_google_ignoreList":[0]}