@pie-element/passage 7.1.2-next.1 → 7.1.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.
Files changed (89) hide show
  1. package/CHANGELOG.json +227 -0
  2. package/CHANGELOG.md +1463 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +3 -0
  5. package/configure/CHANGELOG.md +682 -0
  6. package/configure/lib/common.js +74 -0
  7. package/configure/lib/common.js.map +1 -0
  8. package/configure/lib/defaults.js +174 -0
  9. package/configure/lib/defaults.js.map +1 -0
  10. package/configure/lib/design.js +185 -0
  11. package/configure/lib/design.js.map +1 -0
  12. package/configure/lib/index.js +86 -0
  13. package/configure/lib/index.js.map +1 -0
  14. package/configure/lib/passage.js +194 -0
  15. package/configure/lib/passage.js.map +1 -0
  16. package/configure/package.json +23 -0
  17. package/controller/CHANGELOG.json +1 -0
  18. package/controller/CHANGELOG.md +113 -0
  19. package/controller/lib/defaults.js +23 -0
  20. package/controller/lib/defaults.js.map +1 -0
  21. package/controller/lib/index.js +80 -0
  22. package/controller/lib/index.js.map +1 -0
  23. package/controller/package.json +13 -0
  24. package/docs/config-schema.json +1325 -0
  25. package/docs/config-schema.json.md +974 -0
  26. package/docs/demo/config.js +8 -0
  27. package/docs/demo/generate.js +32 -0
  28. package/docs/demo/index.html +1 -0
  29. package/docs/pie-schema.json +775 -0
  30. package/docs/pie-schema.json.md +561 -0
  31. package/lib/index.js +143 -0
  32. package/lib/index.js.map +1 -0
  33. package/lib/print.js +78 -0
  34. package/lib/print.js.map +1 -0
  35. package/lib/stimulus-tabs.js +323 -0
  36. package/lib/stimulus-tabs.js.map +1 -0
  37. package/module/configure.js +1 -0
  38. package/module/controller.js +920 -0
  39. package/module/demo.js +57 -0
  40. package/module/element.js +1 -0
  41. package/module/index.html +21 -0
  42. package/module/manifest.json +10 -0
  43. package/module/print-demo.js +95 -0
  44. package/module/print.html +18 -0
  45. package/module/print.js +1 -0
  46. package/package.json +19 -87
  47. package/configure.js +0 -2
  48. package/controller.js +0 -1
  49. package/dist/author/common.d.ts +0 -36
  50. package/dist/author/common.js +0 -56
  51. package/dist/author/defaults.d.ts +0 -175
  52. package/dist/author/defaults.js +0 -113
  53. package/dist/author/design.d.ts +0 -28
  54. package/dist/author/design.js +0 -120
  55. package/dist/author/index.d.ts +0 -36
  56. package/dist/author/index.js +0 -66
  57. package/dist/author/passage.d.ts +0 -27
  58. package/dist/author/passage.js +0 -127
  59. package/dist/browser/author/index.js +0 -38785
  60. package/dist/browser/author/index.js.map +0 -1
  61. package/dist/browser/controller/index.js +0 -64
  62. package/dist/browser/controller/index.js.map +0 -1
  63. package/dist/browser/delivery/index.js +0 -117
  64. package/dist/browser/delivery/index.js.map +0 -1
  65. package/dist/browser/dist-BC24ne2o.js +0 -88
  66. package/dist/browser/dist-BC24ne2o.js.map +0 -1
  67. package/dist/browser/dist-C_PfhNd9.js +0 -9611
  68. package/dist/browser/dist-C_PfhNd9.js.map +0 -1
  69. package/dist/browser/passage.css +0 -2
  70. package/dist/browser/print/index.js +0 -48
  71. package/dist/browser/print/index.js.map +0 -1
  72. package/dist/browser/stimulus-tabs-CMox8txJ.js +0 -218
  73. package/dist/browser/stimulus-tabs-CMox8txJ.js.map +0 -1
  74. package/dist/controller/defaults.d.ts +0 -23
  75. package/dist/controller/defaults.js +0 -17
  76. package/dist/controller/index.d.ts +0 -18
  77. package/dist/controller/index.js +0 -50
  78. package/dist/delivery/index.d.ts +0 -22
  79. package/dist/delivery/index.js +0 -83
  80. package/dist/delivery/stimulus-tabs.d.ts +0 -21
  81. package/dist/delivery/stimulus-tabs.js +0 -220
  82. package/dist/index.d.ts +0 -1
  83. package/dist/index.iife.d.ts +0 -8
  84. package/dist/index.iife.js +0 -145
  85. package/dist/index.js +0 -2
  86. package/dist/print/index.d.ts +0 -15
  87. package/dist/print/index.js +0 -47
  88. package/dist/runtime-support.d.ts +0 -12
  89. package/dist/runtime-support.js +0 -12
@@ -1,64 +0,0 @@
1
- import { i as e } from "../dist-BC24ne2o.js";
2
- //#region src/controller/defaults.ts
3
- var t = {
4
- authorEnabled: !1,
5
- passages: [{
6
- teacherInstructions: "",
7
- title: "",
8
- subtitle: "",
9
- author: "",
10
- text: ""
11
- }],
12
- subtitleEnabled: !0,
13
- teacherInstructionsEnabled: !0,
14
- textEnabled: !0,
15
- titleEnabled: !0
16
- }, n = (e) => (e || "").replace(/(<(?!img|iframe|source)([^>]+)>)/gi, ""), r = (e) => e != null, i = (e, t) => r(e) ? e : t;
17
- function a(e = {}) {
18
- return new Promise((n) => {
19
- n({
20
- ...t,
21
- ...e
22
- });
23
- });
24
- }
25
- var o = (e) => ({
26
- ...t,
27
- ...e
28
- }), s = (e, t) => {
29
- let { role: n, mode: r } = t;
30
- return n === "instructor" && (r === "view" || r === "evaluate") && e || "";
31
- };
32
- async function c(e, t, r) {
33
- let a = o(e), c = a.passages.map((e, t) => ({
34
- teacherInstructions: i(e.teacherInstructionsEnabled, a.teacherInstructionsEnabled) ? s(e.teacherInstructions, r) : "",
35
- label: n(e.title) ? e.title : `Passage ${t + 1}`,
36
- title: i(e.titleEnabled, a.titleEnabled) && e.title || "",
37
- subtitle: i(e.subtitleEnabled, a.subtitleEnabled) && e.subtitle || "",
38
- author: i(e.authorEnabled, a.authorEnabled) && e.author || "",
39
- text: i(e.textEnabled, a.textEnabled) && e.text || ""
40
- }));
41
- return {
42
- ...a,
43
- passages: c
44
- };
45
- }
46
- var l = (t = {}, r = {}) => {
47
- let i = {}, a = {};
48
- return (t.passages || []).forEach((t, i) => {
49
- let o = {};
50
- [
51
- "teacherInstructions",
52
- "title",
53
- "subtitle",
54
- "author",
55
- "text"
56
- ].forEach((e) => {
57
- r[e]?.required && !n(t[e]) && (o[e] = "This field is required.");
58
- }), e(o) || (a[i] = o);
59
- }), e(a) || (i.passages = a), i;
60
- };
61
- //#endregion
62
- export { a as createDefaultModel, c as model, o as normalize, l as validate };
63
-
64
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/controller/defaults.ts","../../../src/controller/index.ts"],"sourcesContent":["// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/passage/controller/src/defaults.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\n// TODO: also update '../../configure/src/defaults.js' and '../../src/print.js' when updating defaults\nexport default {\n authorEnabled: false, // TODO: should be set to true when all Studio content is updated\n passages: [\n {\n teacherInstructions: '',\n title: '',\n subtitle: '',\n author: '',\n text: '',\n },\n ],\n subtitleEnabled: true,\n teacherInstructionsEnabled: true,\n textEnabled: true,\n titleEnabled: true,\n};\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/passage/controller/src/index.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport { isEmpty } from '@pie-element/shared-lodash';\n\nimport defaults from './defaults.js';\n\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nconst checkNullish = (value) => value !== null && value !== undefined;\n\nconst isEnabled = (value, defaultValue) => (checkNullish(value) ? value : defaultValue);\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({ ...defaults, ...model });\n });\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\nconst normalizeTeacherInstructions = (instructions, env) => {\n const { role, mode } = env;\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n return instructions || '';\n }\n\n return '';\n};\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n const normalizedPassages = normalizedQuestion.passages.map((passage, index) => ({\n teacherInstructions: isEnabled(passage.teacherInstructionsEnabled, normalizedQuestion.teacherInstructionsEnabled)\n ? normalizeTeacherInstructions(passage.teacherInstructions, env)\n : '',\n label: getContent(passage.title) ? passage.title : `Passage ${index + 1}`,\n title: isEnabled(passage.titleEnabled, normalizedQuestion.titleEnabled) ? passage.title || '' : '',\n subtitle: isEnabled(passage.subtitleEnabled, normalizedQuestion.subtitleEnabled) ? passage.subtitle || '' : '',\n author: isEnabled(passage.authorEnabled, normalizedQuestion.authorEnabled) ? passage.author || '' : '',\n text: isEnabled(passage.textEnabled, normalizedQuestion.textEnabled) ? passage.text || '' : '',\n }));\n\n return {\n ...normalizedQuestion,\n passages: normalizedPassages,\n };\n}\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n const passagesErrors = {};\n\n (model.passages || []).forEach((passage, index) => {\n const err = {};\n\n ['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach((field) => {\n if (config[field]?.required && !getContent(passage[field])) {\n err[field] = 'This field is required.';\n }\n });\n\n if (!isEmpty(err)) {\n passagesErrors[index] = err;\n }\n });\n\n if (!isEmpty(passagesErrors)) {\n errors.passages = passagesErrors;\n }\n\n return errors;\n};\n"],"mappings":";;AAWA,IAAA,IAAe;CACb,eAAe;CACf,UAAU,CACR;EACE,qBAAqB;EACrB,OAAO;EACP,UAAU;EACV,QAAQ;EACR,MAAM;CACR,CACF;CACA,iBAAiB;CACjB,4BAA4B;CAC5B,aAAa;CACb,cAAc;AAChB,GCZM,KAAc,OAAU,KAAQ,IAAI,QAAQ,sCAAsC,EAAE,GAEpF,KAAgB,MAAU,KAAU,MAEpC,KAAa,GAAO,MAAkB,EAAa,CAAK,IAAI,IAAQ;AAE1E,SAAgB,EAAmB,IAAQ,CAAC,GAAG;CAC7C,OAAO,IAAI,SAAS,MAAY;EAC9B,EAAQ;GAAE,GAAG;GAAU,GAAG;EAAM,CAAC;CACnC,CAAC;AACH;AAEA,IAAa,KAAa,OAAc;CAAE,GAAG;CAAU,GAAG;AAAS,IAE7D,KAAgC,GAAc,MAAQ;CAC1D,IAAM,EAAE,SAAM,YAAS;CAMvB,OAJI,MAAS,iBAAiB,MAAS,UAAU,MAAS,eACjD,KAGF;AACT;AAQA,eAAsB,EAAM,GAAU,GAAS,GAAK;CAClD,IAAM,IAAqB,EAAU,CAAQ,GAEvC,IAAqB,EAAmB,SAAS,KAAK,GAAS,OAAW;EAC9E,qBAAqB,EAAU,EAAQ,4BAA4B,EAAmB,0BAA0B,IAC5G,EAA6B,EAAQ,qBAAqB,CAAG,IAC7D;EACJ,OAAO,EAAW,EAAQ,KAAK,IAAI,EAAQ,QAAQ,WAAW,IAAQ;EACtE,OAAO,EAAU,EAAQ,cAAc,EAAmB,YAAY,KAAI,EAAQ,SAAc;EAChG,UAAU,EAAU,EAAQ,iBAAiB,EAAmB,eAAe,KAAI,EAAQ,YAAiB;EAC5G,QAAQ,EAAU,EAAQ,eAAe,EAAmB,aAAa,KAAI,EAAQ,UAAe;EACpG,MAAM,EAAU,EAAQ,aAAa,EAAmB,WAAW,KAAI,EAAQ,QAAa;CAC9F,EAAE;CAEF,OAAO;EACL,GAAG;EACH,UAAU;CACZ;AACF;AAEA,IAAa,KAAY,IAAQ,CAAC,GAAG,IAAS,CAAC,MAAM;CACnD,IAAM,IAAS,CAAC,GACV,IAAiB,CAAC;CAoBxB,QAlBC,EAAM,YAAY,CAAC,GAAG,SAAS,GAAS,MAAU;EACjD,IAAM,IAAM,CAAC;EAQb,AANA;GAAC;GAAuB;GAAS;GAAY;GAAU;EAAM,EAAE,SAAS,MAAU;GAChF,AAAI,EAAO,IAAQ,YAAY,CAAC,EAAW,EAAQ,EAAM,MACvD,EAAI,KAAS;EAEjB,CAAC,GAEI,EAAQ,CAAG,MACd,EAAe,KAAS;CAE5B,CAAC,GAEI,EAAQ,CAAc,MACzB,EAAO,WAAW,IAGb;AACT"}
@@ -1,117 +0,0 @@
1
- import { St as e } from "../dist-C_PfhNd9.js";
2
- import { t } from "../stimulus-tabs-CMox8txJ.js";
3
- import n from "react";
4
- import { createRoot as r } from "react-dom/client";
5
- //#region ../../shared/player-events/dist/index.js
6
- var i = class e extends CustomEvent {
7
- static {
8
- this.TYPE = "model-set";
9
- }
10
- constructor(t, n, r) {
11
- super(e.TYPE, {
12
- bubbles: !0,
13
- composed: !0,
14
- detail: {
15
- complete: n,
16
- component: t,
17
- hasModel: r
18
- }
19
- }), this.component = t, this.complete = n;
20
- }
21
- };
22
- (class e extends CustomEvent {
23
- static {
24
- this.TYPE = "session-changed";
25
- }
26
- constructor(t, n) {
27
- super(e.TYPE, {
28
- bubbles: !0,
29
- composed: !0,
30
- detail: {
31
- complete: n,
32
- component: t
33
- }
34
- }), this.component = t, this.complete = n;
35
- }
36
- });
37
- //#endregion
38
- //#region src/delivery/index.ts
39
- function a(e) {
40
- let t = e.closest("pie-player") || e.closest("pie-item-player");
41
- if (t) {
42
- let e = t.baseHeadingLevel;
43
- e ??= t.getAttribute("base-heading-level") ?? t.getAttribute("baseheadinglevel");
44
- let n = parseInt(e, 10);
45
- if (Number.isFinite(n) && n >= 1 && n <= 6) return n;
46
- }
47
- }
48
- var o = class extends HTMLElement {
49
- constructor() {
50
- super(), this._model = { passages: [] }, this._session = null, this._root = null, this._mathObserver = null, this._mathRenderPending = !1, this._playerObserver = null;
51
- }
52
- setLangAttribute() {
53
- let e = this._model && typeof this._model.language ? this._model.language : "", t = e ? e.slice(0, 2) : "en";
54
- this.setAttribute("lang", t);
55
- }
56
- _scheduleMathRender = () => {
57
- this._mathRenderPending || (this._mathRenderPending = !0, requestAnimationFrame(() => {
58
- this._mathObserver && this._mathObserver.disconnect(), e(this), this._mathRenderPending = !1, setTimeout(() => {
59
- this._mathObserver && this._mathObserver.observe(this, {
60
- childList: !0,
61
- subtree: !0
62
- });
63
- }, 50);
64
- }));
65
- };
66
- _initMathObserver() {
67
- this._mathObserver || (this._mathObserver = new MutationObserver(this._scheduleMathRender), this._mathObserver.observe(this, {
68
- childList: !0,
69
- subtree: !0
70
- }));
71
- }
72
- _disconnectMathObserver() {
73
- this._mathObserver &&= (this._mathObserver.disconnect(), null);
74
- }
75
- set model(e) {
76
- this._model = e, this.dispatchEvent(new i(this.tagName.toLowerCase(), this._session, !!this._model)), this.setLangAttribute(), this._render();
77
- }
78
- set session(e) {
79
- this._session = e;
80
- }
81
- connectedCallback() {
82
- this.setAttribute("aria-label", "Passage"), this.setAttribute("role", "region"), this._initMathObserver(), this._initPlayerObserver(), this._render();
83
- }
84
- _render() {
85
- let { passages: e = [] } = this._model;
86
- if (this._model.passages.length > 0) {
87
- let i = e.map((e, t) => ({
88
- id: t,
89
- ...e
90
- })), o = n.createElement(t, {
91
- tabs: i,
92
- model: this._model,
93
- baseHeadingLevel: a(this)
94
- });
95
- this._root ||= r(this), this._root.render(o), this._initMathObserver();
96
- }
97
- }
98
- _initPlayerObserver() {
99
- let e = this.closest("pie-player") || this.closest("pie-item-player");
100
- e && (this._playerObserver = new MutationObserver(() => {
101
- this._render();
102
- }), this._playerObserver.observe(e, {
103
- attributes: !0,
104
- attributeFilter: ["base-heading-level"]
105
- }));
106
- }
107
- _disconnectPlayerObserver() {
108
- this._playerObserver &&= (this._playerObserver.disconnect(), null);
109
- }
110
- disconnectedCallback() {
111
- this._disconnectMathObserver(), this._disconnectPlayerObserver(), this._root && this._root.unmount();
112
- }
113
- };
114
- //#endregion
115
- export { o as default };
116
-
117
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../shared/player-events/dist/index.js","../../../src/delivery/index.ts"],"sourcesContent":["//#region src/index.ts\nvar e = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"model-set\";\n\t}\n\tconstructor(t, n, r) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t,\n\t\t\t\thasModel: r\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n}, t = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"session-changed\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n};\n//#endregion\nexport { e as ModelSetEvent, t as SessionChangedEvent };\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/passage/src/index.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport { ModelSetEvent } from '@pie-element/shared-player-events';\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport StimulusTabs from './stimulus-tabs.js';\n\nfunction getBaseHeadingLevel(element) {\n const player =\n element.closest('pie-player') ||\n element.closest('pie-item-player');\n\n if (player) {\n let raw = player.baseHeadingLevel;\n\n // fallback in case someone sets via HTML attribute manually\n if (raw == null) {\n raw =\n player.getAttribute('base-heading-level') ??\n player.getAttribute('baseheadinglevel');\n }\n\n const playerLevel = parseInt(raw, 10);\n\n if (Number.isFinite(playerLevel) && playerLevel >= 1 && playerLevel <= 6) {\n return playerLevel;\n }\n }\n\n return undefined;\n}\n\nexport default class PiePassage extends HTMLElement {\n constructor() {\n super();\n this._model = {\n passages: [],\n };\n this._session = null;\n this._root = null;\n this._mathObserver = null;\n this._mathRenderPending = false;\n this._playerObserver = null;\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n _scheduleMathRender: any = () => {\n if (this._mathRenderPending) return;\n this._mathRenderPending = true;\n\n requestAnimationFrame(() => {\n if (this._mathObserver) {\n this._mathObserver.disconnect();\n }\n renderMath(this);\n this._mathRenderPending = false;\n setTimeout(() => {\n if (this._mathObserver) {\n this._mathObserver.observe(this, { childList: true, subtree: true });\n }\n }, 50);\n });\n };\n\n _initMathObserver() {\n if (this._mathObserver) return;\n this._mathObserver = new MutationObserver(this._scheduleMathRender);\n this._mathObserver.observe(this, { childList: true, subtree: true });\n }\n\n _disconnectMathObserver() {\n if (this._mathObserver) {\n this._mathObserver.disconnect();\n this._mathObserver = null;\n }\n }\n\n set model(s) {\n this._model = s;\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), this._session, !!this._model));\n this.setLangAttribute();\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n }\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Passage');\n this.setAttribute('role', 'region');\n this._initMathObserver();\n this._initPlayerObserver();\n this._render();\n }\n\n _render() {\n const { passages = [] } = this._model;\n\n if (this._model.passages.length > 0) {\n const passagesTabs = passages.map((passage, index) => ({\n id: index,\n ...passage,\n }));\n\n const elem = React.createElement(StimulusTabs, {\n tabs: passagesTabs,\n model: this._model,\n baseHeadingLevel: getBaseHeadingLevel(this),\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(elem);\n\n this._initMathObserver();\n }\n }\n\n _initPlayerObserver() {\n const player = this.closest('pie-player') || this.closest('pie-item-player');\n if (!player) return;\n\n this._playerObserver = new MutationObserver(() => {\n this._render();\n });\n this._playerObserver.observe(player, { attributes: true, attributeFilter: ['base-heading-level'] });\n }\n\n _disconnectPlayerObserver() {\n if (this._playerObserver) {\n this._playerObserver.disconnect();\n this._playerObserver = null;\n }\n }\n\n disconnectedCallback() {\n this._disconnectMathObserver();\n this._disconnectPlayerObserver();\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- //#region ../../shared/lodash/dist/index.js
2
- var e = Object.prototype;
3
- function t(e) {
4
- return typeof e == "object" && !!e;
5
- }
6
- function n(e) {
7
- return Array.isArray(e) ? e : typeof e == "number" ? [e] : e.replace(/\[(\d+)\]/g, ".$1").split(".").filter(Boolean);
8
- }
9
- function r(e) {
10
- return (e ?? []).filter(Boolean);
11
- }
12
- function i(e, t = 0, n = {}) {
13
- let r, i, a, o, s, c = n.leading === !0, l = n.trailing !== !1, u = () => {
14
- if (!a) return s;
15
- let t = a, n = o;
16
- return a = void 0, o = void 0, s = e.apply(n, t), s;
17
- }, d = () => {
18
- r && clearTimeout(r), i && clearTimeout(i), r = void 0, i = void 0, a = void 0, o = void 0;
19
- }, f = function(...e) {
20
- let d = c && !r;
21
- return a = e, o = this, d && u(), r && clearTimeout(r), r = setTimeout(() => {
22
- r = void 0, i &&= (clearTimeout(i), void 0), l ? u() : (a = void 0, o = void 0);
23
- }, t), n.maxWait !== void 0 && !i && (i = setTimeout(() => {
24
- r && clearTimeout(r), r = void 0, i = void 0, l || !c ? u() : (a = void 0, o = void 0);
25
- }, n.maxWait)), s;
26
- };
27
- return f.cancel = d, f.flush = () => (r &&= (clearTimeout(r), void 0), i &&= (clearTimeout(i), void 0), u()), f;
28
- }
29
- function a(e) {
30
- let t = [];
31
- for (let n of e ?? []) Array.isArray(n) ? t.push(...n) : t.push(n);
32
- return t;
33
- }
34
- function o(e, t, r) {
35
- let i = e;
36
- for (let e of n(t)) {
37
- if (i == null) return r;
38
- i = i[e];
39
- }
40
- return i === void 0 ? r : i;
41
- }
42
- function s(e) {
43
- return e == null ? !0 : typeof e == "string" || Array.isArray(e) ? e.length === 0 : e instanceof Map || e instanceof Set ? e.size === 0 : t(e) ? Object.keys(e).length === 0 : !0;
44
- }
45
- function c(n, r, i) {
46
- let a = i?.(n, r);
47
- if (a !== void 0) return !!a;
48
- if (Object.is(n, r)) return !0;
49
- if (!t(n) || !t(r)) return !1;
50
- if (n instanceof Date || r instanceof Date) return n instanceof Date && r instanceof Date && n.getTime() === r.getTime();
51
- if (Array.isArray(n) || Array.isArray(r)) return Array.isArray(n) && Array.isArray(r) && n.length === r.length && n.every((e, t) => c(e, r[t], i));
52
- let o = Object.keys(n), s = Object.keys(r);
53
- return o.length === s.length && o.every((t) => e.hasOwnProperty.call(r, t) && c(n[t], r[t], i));
54
- }
55
- function l(e, t) {
56
- return c(e, t);
57
- }
58
- function u(e) {
59
- return Number.isFinite(e);
60
- }
61
- function d(e, t) {
62
- let n = { ...e ?? {} };
63
- for (let e of Array.isArray(t) ? t : [t]) delete n[e];
64
- return n;
65
- }
66
- function f(e, t, r) {
67
- let i = n(t), a = e;
68
- return i.forEach((e, t) => {
69
- if (t === i.length - 1) {
70
- a[e] = r;
71
- return;
72
- }
73
- let n = i[t + 1];
74
- a[e] ??= typeof n == "number" || /^\d+$/.test(String(n)) ? [] : {}, a = a[e];
75
- }), e;
76
- }
77
- function p(e, t) {
78
- let n = t ?? ((e) => e);
79
- return Array.from({ length: Math.max(0, e) }, (e, t) => n(t));
80
- }
81
- function m(...e) {
82
- let t = Math.max(0, ...e.map((e) => e.length));
83
- return Array.from({ length: t }, (t, n) => e.map((e) => e[n]));
84
- }
85
- //#endregion
86
- export { d as a, m as c, a as d, s as i, r as l, f as n, i as o, u as r, p as s, l as t, o as u };
87
-
88
- //# sourceMappingURL=dist-BC24ne2o.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dist-BC24ne2o.js","names":[],"sources":["../../../../shared/lodash/dist/index.js"],"sourcesContent":["//#region src/index.ts\nvar e = Object.prototype;\nfunction t(e) {\n\treturn typeof e == \"object\" && !!e;\n}\nfunction n(e) {\n\treturn Array.isArray(e) ? e : typeof e == \"number\" ? [e] : e.replace(/\\[(\\d+)\\]/g, \".$1\").split(\".\").filter(Boolean);\n}\nfunction r(e) {\n\treturn (t) => x(t, e);\n}\nfunction i(e) {\n\treturn (n) => t(n) ? Object.entries(e).every(([e, t]) => A(n[e], t)) : !1;\n}\nfunction a(e) {\n\treturn typeof e == \"function\" ? e : typeof e == \"string\" ? r(e) : t(e) ? i(e) : ((e) => e);\n}\nfunction o(e, ...t) {\n\treturn Object.assign(e, ...t.filter(Boolean));\n}\nfunction s(e, t = 1) {\n\tif (!e?.length || t < 1) return [];\n\tlet n = [];\n\tfor (let r = 0; r < e.length; r += t) n.push(e.slice(r, r + t));\n\treturn n;\n}\nfunction c(e) {\n\treturn Array.isArray(e) ? e.slice() : t(e) ? { ...e } : e;\n}\nfunction l(e) {\n\tif (!t(e)) return e;\n\tif (e instanceof Date) return new Date(e.getTime());\n\tif (Array.isArray(e)) return e.map((e) => l(e));\n\tlet n = {};\n\tfor (let [t, r] of Object.entries(e)) n[t] = l(r);\n\treturn n;\n}\nfunction u(e) {\n\treturn (e ?? []).filter(Boolean);\n}\nfunction d(e, ...t) {\n\tlet n = [...e ?? []];\n\tfor (let e of t) Array.isArray(e) ? n.push(...e) : n.push(e);\n\treturn n;\n}\nfunction f(e, t = 0, n = {}) {\n\tlet r, i, a, o, s, c = n.leading === !0, l = n.trailing !== !1, u = () => {\n\t\tif (!a) return s;\n\t\tlet t = a, n = o;\n\t\treturn a = void 0, o = void 0, s = e.apply(n, t), s;\n\t}, d = () => {\n\t\tr && clearTimeout(r), i && clearTimeout(i), r = void 0, i = void 0, a = void 0, o = void 0;\n\t}, f = function(...e) {\n\t\tlet d = c && !r;\n\t\treturn a = e, o = this, d && u(), r && clearTimeout(r), r = setTimeout(() => {\n\t\t\tr = void 0, i &&= (clearTimeout(i), void 0), l ? u() : (a = void 0, o = void 0);\n\t\t}, t), n.maxWait !== void 0 && !i && (i = setTimeout(() => {\n\t\t\tr && clearTimeout(r), r = void 0, i = void 0, l || !c ? u() : (a = void 0, o = void 0);\n\t\t}, n.maxWait)), s;\n\t};\n\treturn f.cancel = d, f.flush = () => (r &&= (clearTimeout(r), void 0), i &&= (clearTimeout(i), void 0), u()), f;\n}\nfunction p(e, ...t) {\n\tfor (let n of t) if (n) for (let [t, r] of Object.entries(n)) e[t] === void 0 && (e[t] = r);\n\treturn e;\n}\nfunction m(e, ...t) {\n\tlet n = new Set(t.flat());\n\treturn (e ?? []).filter((e) => !n.has(e));\n}\nfunction h(e, t, n) {\n\treturn (e ?? []).filter((e) => !(t ?? []).some((t) => n(e, t)));\n}\nfunction g(e, t) {\n\tlet n = a(t), r = Array.isArray(e) ? e.entries() : Object.entries(e ?? {});\n\tfor (let [t, i] of r) if (!n(i, t, e)) return !1;\n\treturn !0;\n}\nfunction ee(e) {\n\treturn String(e).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#39;\");\n}\nfunction _(e, t) {\n\tlet n = a(t), r = Array.isArray(e) ? e.entries() : Object.entries(e ?? {});\n\tfor (let [t, i] of r) if (n(i, t, e)) return i;\n}\nfunction v(e, t) {\n\tlet n = a(t);\n\tfor (let [t, r] of Object.entries(e ?? {})) if (n(r, t, e)) return t;\n}\nfunction y(e) {\n\tlet t = [];\n\tfor (let n of e ?? []) Array.isArray(n) ? t.push(...n) : t.push(n);\n\treturn t;\n}\nfunction te(e, t) {\n\treturn R(e, t).flat();\n}\nfunction b(e, t) {\n\tlet n = Array.isArray(e) ? e.entries() : Object.entries(e ?? {});\n\tfor (let [r, i] of n) t(i, r, e);\n\treturn e;\n}\nfunction x(e, t, r) {\n\tlet i = e;\n\tfor (let e of n(t)) {\n\t\tif (i == null) return r;\n\t\ti = i[e];\n\t}\n\treturn i === void 0 ? r : i;\n}\nfunction S(e, t) {\n\tlet n = a(t);\n\treturn K(e, (t, r, i) => {\n\t\tlet a = String(n(r, i, e));\n\t\treturn (t[a] ??= []).push(r), t;\n\t}, {});\n}\nfunction C(e) {\n\treturn e?.[0];\n}\nfunction w(e) {\n\treturn (e ?? []).slice(0, -1);\n}\nfunction T(e, t) {\n\treturn typeof e == \"string\" ? e.includes(String(t)) : Array.isArray(e) ? e.includes(t) : Object.values(e ?? {}).includes(t);\n}\nfunction E(...e) {\n\tlet [t, ...n] = e;\n\treturn $((t ?? []).filter((e) => n.every((t) => (t ?? []).includes(e))));\n}\nfunction D(e) {\n\treturn Array.isArray(e);\n}\nfunction O(e) {\n\treturn e == null ? !0 : typeof e == \"string\" || Array.isArray(e) ? e.length === 0 : e instanceof Map || e instanceof Set ? e.size === 0 : t(e) ? Object.keys(e).length === 0 : !0;\n}\nfunction k(n, r, i) {\n\tlet a = i?.(n, r);\n\tif (a !== void 0) return !!a;\n\tif (Object.is(n, r)) return !0;\n\tif (!t(n) || !t(r)) return !1;\n\tif (n instanceof Date || r instanceof Date) return n instanceof Date && r instanceof Date && n.getTime() === r.getTime();\n\tif (Array.isArray(n) || Array.isArray(r)) return Array.isArray(n) && Array.isArray(r) && n.length === r.length && n.every((e, t) => k(e, r[t], i));\n\tlet o = Object.keys(n), s = Object.keys(r);\n\treturn o.length === s.length && o.every((t) => e.hasOwnProperty.call(r, t) && k(n[t], r[t], i));\n}\nfunction A(e, t) {\n\treturn k(e, t);\n}\nfunction j(e, t, n) {\n\treturn k(e, t, n);\n}\nfunction M(e) {\n\treturn Number.isFinite(e);\n}\nfunction N(e) {\n\treturn typeof e == \"function\";\n}\nfunction P(e) {\n\treturn typeof e == \"number\" || e instanceof Number;\n}\nfunction F(e) {\n\treturn typeof e == \"object\" && !!e || typeof e == \"function\";\n}\nfunction I(e) {\n\treturn typeof e == \"string\" || e instanceof String;\n}\nfunction L(e) {\n\treturn e === void 0;\n}\nfunction R(e, t) {\n\tlet n = a(t), r = Array.isArray(e) ? e.entries() : Object.entries(e ?? {}), i = [];\n\tfor (let [t, a] of r) i.push(n(a, t, e));\n\treturn i;\n}\nfunction z(e) {\n\treturn e?.length ? Math.max(...e) : void 0;\n}\nfunction B(e, ...n) {\n\tfor (let r of n) if (r) for (let [n, i] of Object.entries(r)) t(i) && !Array.isArray(i) && t(e[n]) ? B(e[n], i) : e[n] = l(i);\n\treturn e;\n}\nfunction V(e, t) {\n\tlet n = { ...e ?? {} };\n\tfor (let e of Array.isArray(t) ? t : [t]) delete n[e];\n\treturn n;\n}\nfunction H(e, t) {\n\tlet n = a(t), r = {};\n\tfor (let [t, i] of Object.entries(e ?? {})) n(i, t, e) || (r[t] = i);\n\treturn r;\n}\nfunction U(e, ...t) {\n\tlet n = {};\n\tfor (let r of t.flat()) e && r in e && (n[r] = e[r]);\n\treturn n;\n}\nfunction W(e, t, n = 1) {\n\tlet r = t ?? e, i = t === void 0 ? 0 : e;\n\tif (n === 0) return [];\n\tlet a = [], o = n > 0;\n\tfor (let e = i; o ? e < r : e > r; e += n) a.push(e);\n\treturn a;\n}\nfunction G(e, t, n = 1) {\n\treturn W(e, t, n).reverse();\n}\nfunction K(e, t, n) {\n\tlet r = n, i = Array.isArray(e) ? e.entries() : Object.entries(e ?? {});\n\tfor (let [n, a] of i) r = t(r, a, n, e);\n\treturn r;\n}\nfunction q(e, t) {\n\tlet n = a(t), r = [];\n\tfor (let t = e.length - 1; t >= 0; t--) n(e[t], t, e) && r.unshift(...e.splice(t, 1));\n\treturn r;\n}\nfunction J(e, t, r) {\n\tlet i = n(t), a = e;\n\treturn i.forEach((e, t) => {\n\t\tif (t === i.length - 1) {\n\t\t\ta[e] = r;\n\t\t\treturn;\n\t\t}\n\t\tlet n = i[t + 1];\n\t\ta[e] ??= typeof n == \"number\" || /^\\d+$/.test(String(n)) ? [] : {}, a = a[e];\n\t}), e;\n}\nfunction Y(e) {\n\tlet t = [...e ?? []];\n\tfor (let e = t.length - 1; e > 0; e--) {\n\t\tlet n = Math.floor(Math.random() * (e + 1));\n\t\t[t[e], t[n]] = [t[n], t[e]];\n\t}\n\treturn t;\n}\nfunction X(e) {\n\treturn (e ?? []).slice(1);\n}\nfunction Z(e, t = 1) {\n\treturn t <= 0 ? [] : (e ?? []).slice(-t);\n}\nfunction Q(e, t = 0, n = {}) {\n\treturn f(e, t, {\n\t\tleading: n.leading !== !1,\n\t\ttrailing: n.trailing !== !1,\n\t\tmaxWait: t\n\t});\n}\nfunction ne(e, t) {\n\tlet n = t ?? ((e) => e);\n\treturn Array.from({ length: Math.max(0, e) }, (e, t) => n(t));\n}\nvar re = 0;\nfunction ie(e = \"\") {\n\treturn re += 1, `${e}${re}`;\n}\nfunction $(e) {\n\treturn Array.from(new Set(e ?? []));\n}\nfunction ae(e, t) {\n\tlet n = [];\n\tfor (let r of e ?? []) n.some((e) => t(r, e)) || n.push(r);\n\treturn n;\n}\nfunction oe(...e) {\n\tlet t = Math.max(0, ...e.map((e) => e.length));\n\treturn Array.from({ length: t }, (t, n) => e.map((e) => e[n]));\n}\nvar se = {\n\tassign: o,\n\tchunk: s,\n\tclone: c,\n\tcloneDeep: l,\n\tcompact: u,\n\tconcat: d,\n\tdebounce: f,\n\tdefaults: p,\n\tdifference: m,\n\tdifferenceWith: h,\n\tevery: g,\n\tescape: ee,\n\tfind: _,\n\tfindKey: v,\n\tflatten: y,\n\tflatMap: te,\n\tforEach: b,\n\tget: x,\n\tgroupBy: S,\n\thead: C,\n\tincludes: T,\n\tinitial: w,\n\tintersection: E,\n\tisArray: D,\n\tisEmpty: O,\n\tisEqual: A,\n\tisEqualWith: j,\n\tisFinite: M,\n\tisFunction: N,\n\tisNumber: P,\n\tisObject: F,\n\tisString: I,\n\tisUndefined: L,\n\tmap: R,\n\tmax: z,\n\tmerge: B,\n\tomit: V,\n\tomitBy: H,\n\tpick: U,\n\trange: W,\n\trangeRight: G,\n\treduce: K,\n\tremove: q,\n\tset: J,\n\tshuffle: Y,\n\ttail: X,\n\ttakeRight: Z,\n\tthrottle: Q,\n\ttimes: ne,\n\tuniqueId: ie,\n\tuniq: $,\n\tuniqWith: ae,\n\tzip: oe\n};\n//#endregion\nexport { o as assign, s as chunk, c as clone, l as cloneDeep, u as compact, d as concat, f as debounce, se as default, p as defaults, m as difference, h as differenceWith, ee as escape, g as every, _ as find, v as findKey, te as flatMap, y as flatten, b as forEach, x as get, S as groupBy, C as head, T as includes, w as initial, E as intersection, D as isArray, O as isEmpty, A as isEqual, j as isEqualWith, M as isFinite, N as isFunction, P as isNumber, F as isObject, I as isString, L as isUndefined, R as map, z as max, B as merge, V as omit, H as omitBy, U as pick, W as range, G as rangeRight, K as reduce, q as remove, J as set, Y as shuffle, X as tail, Z as takeRight, Q as throttle, ne as times, $ as uniq, ae as uniqWith, ie as uniqueId, oe as zip };\n"],"mappings":"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"}