@mhmo91/schmancy 0.0.290 → 0.0.291
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.
- package/dist/{animated-text-CkVT5xh6.cjs → animated-text-BYy49xv3.cjs} +2 -2
- package/dist/{animated-text-CkVT5xh6.cjs.map → animated-text-BYy49xv3.cjs.map} +1 -1
- package/dist/{animated-text-DnmcLtp6.js → animated-text-BelKfCRb.js} +3 -3
- package/dist/{animated-text-DnmcLtp6.js.map → animated-text-BelKfCRb.js.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-2El6gVUr.cjs → area.component-BAx9ljt5.cjs} +2 -2
- package/dist/{area.component-2El6gVUr.cjs.map → area.component-BAx9ljt5.cjs.map} +1 -1
- package/dist/{area.component-i4jPVHUa.js → area.component-BIircYdd.js} +3 -3
- package/dist/{area.component-i4jPVHUa.js.map → area.component-BIircYdd.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-CJ5BBR5q.js → autocomplete-C-u4ICfa.js} +3 -3
- package/dist/{autocomplete-CJ5BBR5q.js.map → autocomplete-C-u4ICfa.js.map} +1 -1
- package/dist/{autocomplete-Bcb_ZSV9.cjs → autocomplete-ecQ92UGe.cjs} +2 -2
- package/dist/{autocomplete-Bcb_ZSV9.cjs.map → autocomplete-ecQ92UGe.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-CJjtMba9.js → checkbox-BUrYs8Dg.js} +2 -2
- package/dist/{checkbox-CJjtMba9.js.map → checkbox-BUrYs8Dg.js.map} +1 -1
- package/dist/{checkbox-56Umlzh3.cjs → checkbox-DeVnlyJb.cjs} +2 -2
- package/dist/{checkbox-56Umlzh3.cjs.map → checkbox-DeVnlyJb.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-B71IFtJB.js → chips-BkjDE2Cx.js} +3 -3
- package/dist/{chips-B71IFtJB.js.map → chips-BkjDE2Cx.js.map} +1 -1
- package/dist/{chips-DO738Kv9.cjs → chips-DjiRqUBT.cjs} +2 -2
- package/dist/{chips-DO738Kv9.cjs.map → chips-DjiRqUBT.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-Dbj5qwzm.js → date-range-BIdEZhGK.js} +3 -3
- package/dist/{date-range-Dbj5qwzm.js.map → date-range-BIdEZhGK.js.map} +1 -1
- package/dist/{date-range-BFRnIgQ6.cjs → date-range-BirYELq7.cjs} +2 -2
- package/dist/{date-range-BFRnIgQ6.cjs.map → date-range-BirYELq7.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/divider-DcEj-C2P.cjs +83 -0
- package/dist/divider-DcEj-C2P.cjs.map +1 -0
- package/dist/divider-DzwD07xW.js +103 -0
- package/dist/divider-DzwD07xW.js.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{form-CAYrAoRv.js → form-DG0Kj--R.js} +2 -2
- package/dist/{form-CAYrAoRv.js.map → form-DG0Kj--R.js.map} +1 -1
- package/dist/{form-plr-eJPP.cjs → form-DpOSrAUQ.cjs} +2 -2
- package/dist/{form-plr-eJPP.cjs.map → form-DpOSrAUQ.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-PqOCyozA.js → icon-B9PnKxEE.js} +3 -3
- package/dist/{icon-PqOCyozA.js.map → icon-B9PnKxEE.js.map} +1 -1
- package/dist/{icon-BzX7n6-d.cjs → icon-alyJW9vl.cjs} +2 -2
- package/dist/{icon-BzX7n6-d.cjs.map → icon-alyJW9vl.cjs.map} +1 -1
- package/dist/{icon-button-Cw5m-xoA.js → icon-button-CJwbffPV.js} +3 -3
- package/dist/{icon-button-Cw5m-xoA.js.map → icon-button-CJwbffPV.js.map} +1 -1
- package/dist/{icon-button-DEmmjVam.cjs → icon-button-D__Gnjzi.cjs} +2 -2
- package/dist/{icon-button-DEmmjVam.cjs.map → icon-button-D__Gnjzi.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +29 -29
- package/dist/{input-CziCM1iP.cjs → input-BgnA2aM_.cjs} +2 -2
- package/dist/{input-CziCM1iP.cjs.map → input-BgnA2aM_.cjs.map} +1 -1
- package/dist/{input-suNgHap8.js → input-C50UsaQY.js} +2 -2
- package/dist/{input-suNgHap8.js.map → input-C50UsaQY.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-B6SmKh9a.cjs → litElement.mixin-dosTHO0i.cjs} +2 -2
- package/dist/{litElement.mixin-B6SmKh9a.cjs.map → litElement.mixin-dosTHO0i.cjs.map} +1 -1
- package/dist/{litElement.mixin-Bl038NZS.js → litElement.mixin-kW4tqV-x.js} +2 -2
- package/dist/{litElement.mixin-Bl038NZS.js.map → litElement.mixin-kW4tqV-x.js.map} +1 -1
- package/dist/{menu-Cysa0uSH.js → menu-BPkKjcYr.js} +3 -3
- package/dist/{menu-Cysa0uSH.js.map → menu-BPkKjcYr.js.map} +1 -1
- package/dist/{menu-BuPKQu4A.cjs → menu-CjJdA5e1.cjs} +2 -2
- package/dist/{menu-BuPKQu4A.cjs.map → menu-CjJdA5e1.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BPPuRGqZ.js → option-Cf4MQSvl.js} +2 -2
- package/dist/{option-BPPuRGqZ.js.map → option-Cf4MQSvl.js.map} +1 -1
- package/dist/{option-BgkpZebg.cjs → option-DKovQczU.cjs} +2 -2
- package/dist/{option-BgkpZebg.cjs.map → option-DKovQczU.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{outlet-BwnJ-qSb.cjs → outlet-Dajn35eu.cjs} +2 -2
- package/dist/{outlet-BwnJ-qSb.cjs.map → outlet-Dajn35eu.cjs.map} +1 -1
- package/dist/{outlet-DOGHb9XN.js → outlet-LHeYRUMN.js} +2 -2
- package/dist/{outlet-DOGHb9XN.js.map → outlet-LHeYRUMN.js.map} +1 -1
- package/dist/{payment-card-form-CLPTnEZc.js → payment-card-form-BwoSr0gi.js} +3 -3
- package/dist/{payment-card-form-CLPTnEZc.js.map → payment-card-form-BwoSr0gi.js.map} +1 -1
- package/dist/{payment-card-form-CxPeik8X.cjs → payment-card-form-LKu9PsnX.cjs} +2 -2
- package/dist/{payment-card-form-CxPeik8X.cjs.map → payment-card-form-LKu9PsnX.cjs.map} +1 -1
- package/dist/{radio-group-BQ9pnKtl.js → radio-group-Czi9ftHc.js} +2 -2
- package/dist/{radio-group-BQ9pnKtl.js.map → radio-group-Czi9ftHc.js.map} +1 -1
- package/dist/{radio-group-BoYOkPtY.cjs → radio-group-DyYcHKuk.cjs} +2 -2
- package/dist/{radio-group-BoYOkPtY.cjs.map → radio-group-DyYcHKuk.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{scroll-BPSgAOxA.cjs → scroll-2nVgiEne.cjs} +2 -2
- package/dist/{scroll-BPSgAOxA.cjs.map → scroll-2nVgiEne.cjs.map} +1 -1
- package/dist/{scroll-CAn_o-0U.js → scroll-Kw278kXe.js} +2 -2
- package/dist/{scroll-CAn_o-0U.js.map → scroll-Kw278kXe.js.map} +1 -1
- package/dist/{select-CoU9pdWP.js → select-Bo8t1cUG.js} +3 -3
- package/dist/{select-CoU9pdWP.js.map → select-Bo8t1cUG.js.map} +1 -1
- package/dist/{select-CGt7bHnh.cjs → select-Brg9GSgM.cjs} +2 -2
- package/dist/{select-CGt7bHnh.cjs.map → select-Brg9GSgM.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-DUJN3380.cjs → sheet-Cn9oyd09.cjs} +2 -2
- package/dist/{sheet-DUJN3380.cjs.map → sheet-Cn9oyd09.cjs.map} +1 -1
- package/dist/{sheet-BlzQ1N1K.js → sheet-m3ssA8RK.js} +3 -3
- package/dist/{sheet-BlzQ1N1K.js.map → sheet-m3ssA8RK.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-BknvMw5c.cjs → slider-C3u39UVs.cjs} +2 -2
- package/dist/{slider-BknvMw5c.cjs.map → slider-C3u39UVs.cjs.map} +1 -1
- package/dist/{slider-CII4GjxO.js → slider-DiOhZu0e.js} +3 -3
- package/dist/{slider-CII4GjxO.js.map → slider-DiOhZu0e.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CyrVjD7v.cjs → spinner-CB8tYfyA.cjs} +2 -2
- package/dist/{spinner-CyrVjD7v.cjs.map → spinner-CB8tYfyA.cjs.map} +1 -1
- package/dist/{spinner-MLhIt_0Y.js → spinner-DVKR6oPO.js} +2 -2
- package/dist/{spinner-MLhIt_0Y.js.map → spinner-DVKR6oPO.js.map} +1 -1
- package/dist/{surface-D0z5a4By.cjs → surface-COQfLMIb.cjs} +2 -2
- package/dist/{surface-D0z5a4By.cjs.map → surface-COQfLMIb.cjs.map} +1 -1
- package/dist/{surface-C392eVps.js → surface-_g6PVKz9.js} +2 -2
- package/dist/{surface-C392eVps.js.map → surface-_g6PVKz9.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-Bt69Tb74.js → table-CA_AEMW3.js} +2 -2
- package/dist/{table-Bt69Tb74.js.map → table-CA_AEMW3.js.map} +1 -1
- package/dist/{table-DIgzwejX.cjs → table-XZOjesmO.cjs} +2 -2
- package/dist/{table-DIgzwejX.cjs.map → table-XZOjesmO.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-group-CNVQ79vr.cjs → tabs-group-BtUOhq-i.cjs} +2 -2
- package/dist/{tabs-group-CNVQ79vr.cjs.map → tabs-group-BtUOhq-i.cjs.map} +1 -1
- package/dist/{tabs-group-MuRUioRb.js → tabs-group-D-TEYc2v.js} +2 -2
- package/dist/{tabs-group-MuRUioRb.js.map → tabs-group-D-TEYc2v.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-D6m-sJmB.js +43 -0
- package/dist/{tailwind.mixin-CP8BNFiT.js.map → tailwind.mixin-D6m-sJmB.js.map} +1 -1
- package/dist/tailwind.mixin-Dts5Uk3L.cjs +2 -0
- package/dist/{tailwind.mixin-698watWc.cjs.map → tailwind.mixin-Dts5Uk3L.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DtJZWSOR.js → textarea-BppTG7vC.js} +2 -2
- package/dist/{textarea-DtJZWSOR.js.map → textarea-BppTG7vC.js.map} +1 -1
- package/dist/{textarea-vpqfN_nJ.cjs → textarea-DRm-XQyj.cjs} +2 -2
- package/dist/{textarea-vpqfN_nJ.cjs.map → textarea-DRm-XQyj.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-BMLzTEhF.js → theme-button-DzFDka_m.js} +31 -31
- package/dist/{theme-button-BMLzTEhF.js.map → theme-button-DzFDka_m.js.map} +1 -1
- package/dist/{theme-button-BAN6lRyQ.cjs → theme-button-puqIJC3M.cjs} +2 -2
- package/dist/{theme-button-BAN6lRyQ.cjs.map → theme-button-puqIJC3M.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{tree-BL9F_EMi.cjs → tree-BxpWT4HG.cjs} +2 -2
- package/dist/{tree-BL9F_EMi.cjs.map → tree-BxpWT4HG.cjs.map} +1 -1
- package/dist/{tree-CLsU6ZKr.js → tree-F8M_QD0f.js} +2 -2
- package/dist/{tree-CLsU6ZKr.js.map → tree-F8M_QD0f.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-D-1_zpWl.js → typewriter-CM8Islpn.js} +3 -3
- package/dist/{typewriter-D-1_zpWl.js.map → typewriter-CM8Islpn.js.map} +1 -1
- package/dist/{typewriter-Co1pVwUH.cjs → typewriter-D0yYoTg6.cjs} +2 -2
- package/dist/{typewriter-Co1pVwUH.cjs.map → typewriter-D0yYoTg6.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-Bgl5OsmY.js → typography-DFnAG6mR.js} +2 -2
- package/dist/{typography-Bgl5OsmY.js.map → typography-DFnAG6mR.js.map} +1 -1
- package/dist/{typography-CnXlSOz8.cjs → typography-Depf5xNK.cjs} +2 -2
- package/dist/{typography-CnXlSOz8.cjs.map → typography-Depf5xNK.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/divider/divider.d.ts +2 -1
- package/dist/divider-DxinuVg5.js +0 -34
- package/dist/divider-DxinuVg5.js.map +0 -1
- package/dist/divider-xYxX2ecE.cjs +0 -14
- package/dist/divider-xYxX2ecE.cjs.map +0 -1
- package/dist/tailwind.mixin-698watWc.cjs +0 -2
- package/dist/tailwind.mixin-CP8BNFiT.js +0 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typewriter-Co1pVwUH.cjs","sources":["../node_modules/typeit/dist/index.es.js","../src/typewriter/typewriter.ts"],"sourcesContent":["// TypeIt by Alex MacArthur - https://typeitjs.com\nconst isArray = (thing) => Array.isArray(thing);\n\nconst asArray = (value) => isArray(value) ? value : [value];\n\nlet Queue = function(initialItems) {\n let add = function(steps) {\n asArray(steps).forEach((step) => {\n return _q.set(Symbol(step.char?.innerText), buildQueueItem({ ...step }));\n });\n return this;\n };\n let getTypeable = () => rawValues().filter((value) => value.typeable);\n let set = function(index, item) {\n let keys = [..._q.keys()];\n _q.set(keys[index], buildQueueItem(item));\n };\n let buildQueueItem = (queueItem) => {\n queueItem.shouldPauseCursor = function() {\n return Boolean(this.typeable || this.cursorable || this.deletable);\n };\n return queueItem;\n };\n let reset = function() {\n _q.forEach((item) => delete item.done);\n };\n let wipe = function() {\n _q = /* @__PURE__ */ new Map();\n add(initialItems);\n };\n let getQueue = () => _q;\n let rawValues = () => Array.from(_q.values());\n let destroy = (key) => _q.delete(key);\n let getPendingQueueItems = () => {\n const pending = [];\n for (let [, value] of getQueue()) {\n if (!value.done) {\n pending.push(value);\n }\n }\n return pending;\n };\n let getItems = (all = false) => all ? rawValues() : rawValues().filter((i) => !i.done);\n let done = (key, shouldDestroy = false) => shouldDestroy ? _q.delete(key) : _q.get(key).done = true;\n let _q = /* @__PURE__ */ new Map();\n add(initialItems);\n return {\n add,\n set,\n wipe,\n done,\n reset,\n destroy,\n getItems,\n getQueue,\n getTypeable,\n getPendingQueueItems\n };\n};\n\nconst DATA_ATTRIBUTE = \"data-typeit-id\";\nconst CURSOR_CLASS = \"ti-cursor\";\nconst END = \"END\";\nconst DEFAULT_STATUSES = {\n started: false,\n completed: false,\n frozen: false,\n destroyed: false\n};\nconst DEFAULT_OPTIONS = {\n breakLines: true,\n cursor: {\n autoPause: true,\n autoPauseDelay: 500,\n animation: {\n frames: [0, 0, 1].map((n) => {\n return { opacity: n };\n }),\n options: {\n iterations: Infinity,\n easing: \"steps(2, start)\",\n fill: \"forwards\"\n }\n }\n },\n cursorChar: \"|\",\n cursorSpeed: 1e3,\n deleteSpeed: null,\n html: true,\n lifeLike: true,\n loop: false,\n loopDelay: 750,\n nextStringDelay: 750,\n speed: 100,\n startDelay: 250,\n startDelete: false,\n strings: [],\n waitUntilVisible: false,\n beforeString: () => {\n },\n afterString: () => {\n },\n beforeStep: () => {\n },\n afterStep: () => {\n },\n afterComplete: () => {\n }\n};\nconst PLACEHOLDER_CSS = `[${DATA_ATTRIBUTE}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`;\n\nconst createElement = (el) => document.createElement(el);\n\nconst createTextNode = (content) => document.createTextNode(content);\n\nconst appendStyleBlock = (styles, id = \"\") => {\n let styleBlock = createElement(\"style\");\n styleBlock.id = id;\n styleBlock.appendChild(createTextNode(styles));\n document.head.appendChild(styleBlock);\n};\n\nconst calculateDelay = (delayArg) => {\n if (!isArray(delayArg)) {\n delayArg = [delayArg / 2, delayArg / 2];\n }\n return delayArg;\n};\n\nconst randomInRange = (value, range) => {\n return Math.abs(\n Math.random() * (value + range - (value - range)) + (value - range)\n );\n};\n\nlet range = (val) => val / 2;\nfunction calculatePace(options) {\n let { speed, deleteSpeed, lifeLike } = options;\n deleteSpeed = deleteSpeed !== null ? deleteSpeed : speed / 3;\n return lifeLike ? [\n randomInRange(speed, range(speed)),\n randomInRange(deleteSpeed, range(deleteSpeed))\n ] : [speed, deleteSpeed];\n}\n\nconst toArray = (val) => Array.from(val);\n\nlet expandTextNodes = (element) => {\n [...element.childNodes].forEach((child) => {\n if (child.nodeValue) {\n [...child.nodeValue].forEach((c) => {\n child.parentNode.insertBefore(createTextNode(c), child);\n });\n child.remove();\n return;\n }\n expandTextNodes(child);\n });\n return element;\n};\n\nconst getParsedBody = (content) => {\n let doc = document.implementation.createHTMLDocument();\n doc.body.innerHTML = content;\n return expandTextNodes(doc.body);\n};\n\nfunction walkElementNodes(element, shouldReverse = false, shouldIncludeCursor = false) {\n let cursor = element.querySelector(`.${CURSOR_CLASS}`);\n let walker = document.createTreeWalker(element, NodeFilter.SHOW_ALL, {\n acceptNode: (node) => {\n if (cursor && shouldIncludeCursor) {\n if (node.classList?.contains(CURSOR_CLASS)) {\n return NodeFilter.FILTER_ACCEPT;\n }\n if (cursor.contains(node)) {\n return NodeFilter.FILTER_REJECT;\n }\n }\n return node.classList?.contains(CURSOR_CLASS) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }\n });\n let nextNode;\n let nodes = [];\n while (nextNode = walker.nextNode()) {\n if (!nextNode.originalParent) {\n nextNode.originalParent = nextNode.parentNode;\n }\n nodes.push(nextNode);\n }\n return shouldReverse ? nodes.reverse() : nodes;\n}\nfunction chunkStringAsHtml(string) {\n return walkElementNodes(getParsedBody(string));\n}\nfunction maybeChunkStringAsHtml(str, asHtml = true) {\n return asHtml ? chunkStringAsHtml(str) : toArray(str).map(createTextNode);\n}\n\nconst cleanUpSkipped = ({\n index,\n newIndex,\n queueItems,\n cleanUp\n}) => {\n for (let i = index + 1; i < newIndex + 1; i++) {\n cleanUp(queueItems[i][0]);\n }\n};\n\nconst isNumber = (value) => Number.isInteger(value);\n\nconst countStepsToSelector = ({\n queueItems,\n selector,\n cursorPosition,\n to\n}) => {\n if (isNumber(selector)) {\n return selector * -1;\n }\n let isMovingToEnd = new RegExp(END, \"i\").test(to);\n let selectorIndex = selector ? [...queueItems].reverse().findIndex(({ char }) => {\n let parentElement = char.parentElement;\n let parentMatches = parentElement.matches(selector);\n if (isMovingToEnd && parentMatches) {\n return true;\n }\n return parentMatches && parentElement.firstChild.isSameNode(char);\n }) : -1;\n if (selectorIndex < 0) {\n selectorIndex = isMovingToEnd ? 0 : queueItems.length - 1;\n }\n let offset = isMovingToEnd ? 0 : 1;\n return selectorIndex - cursorPosition + offset;\n};\n\nconst destroyTimeouts = (timeouts) => {\n timeouts.forEach(clearTimeout);\n return [];\n};\n\nconst duplicate = (value, times) => new Array(times).fill(value);\n\nlet beforePaint = (cb) => {\n return new Promise((resolve) => {\n requestAnimationFrame(async () => {\n resolve(await cb());\n });\n });\n};\n\nlet getAnimationFromElement = (element) => {\n return element?.getAnimations().find((animation) => {\n return animation.id === element.dataset.tiAnimationId;\n });\n};\n\nlet setCursorAnimation = ({\n cursor,\n frames,\n options\n}) => {\n let animation = cursor.animate(frames, options);\n animation.pause();\n animation.id = cursor.dataset.tiAnimationId;\n beforePaint(() => {\n beforePaint(() => {\n animation.play();\n });\n });\n return animation;\n};\n\nlet rebuildCursorAnimation = ({\n cursor,\n options,\n cursorOptions\n}) => {\n if (!cursor || !cursorOptions) return;\n let animation = getAnimationFromElement(cursor);\n let oldCurrentTime;\n if (animation) {\n options.delay = animation.effect.getComputedTiming().delay;\n oldCurrentTime = animation.currentTime;\n animation.cancel();\n }\n let newAnimation = setCursorAnimation({\n cursor,\n frames: cursorOptions.animation.frames,\n options\n });\n if (oldCurrentTime) {\n newAnimation.currentTime = oldCurrentTime;\n }\n return newAnimation;\n};\n\nlet execute = (queueItem) => queueItem.func?.call(null);\nlet fireItem = async ({\n index,\n queueItems,\n wait,\n cursor,\n cursorOptions\n}) => {\n let queueItem = queueItems[index][1];\n let instantQueue = [];\n let tempIndex = index;\n let futureItem = queueItem;\n let shouldBeGrouped = () => futureItem && !futureItem.delay;\n let shouldPauseCursor = queueItem.shouldPauseCursor() && cursorOptions.autoPause;\n while (shouldBeGrouped()) {\n instantQueue.push(futureItem);\n shouldBeGrouped() && tempIndex++;\n futureItem = queueItems[tempIndex] ? queueItems[tempIndex][1] : null;\n }\n if (instantQueue.length) {\n await beforePaint(async () => {\n for (let q of instantQueue) {\n await execute(q);\n }\n });\n return tempIndex - 1;\n }\n let animation = getAnimationFromElement(cursor);\n let options;\n if (animation) {\n options = {\n ...animation.effect.getComputedTiming(),\n delay: shouldPauseCursor ? cursorOptions.autoPauseDelay : 0\n };\n }\n await wait(async () => {\n if (animation && shouldPauseCursor) {\n animation.cancel();\n }\n await beforePaint(() => {\n execute(queueItem);\n });\n }, queueItem.delay);\n await rebuildCursorAnimation({\n cursor,\n options,\n cursorOptions\n });\n return index;\n};\n\nconst fireWhenVisible = (element, func) => {\n let observer = new IntersectionObserver(\n (entries, observer2) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n func();\n observer2.unobserve(element);\n }\n });\n },\n { threshold: 1 }\n );\n observer.observe(element);\n};\n\nconst generateHash = () => Math.random().toString().substring(2, 9);\n\nconst isInput = (el) => {\n return \"value\" in el;\n};\n\nlet getAllChars = (element) => {\n if (isInput(element)) {\n return toArray(element.value);\n }\n return walkElementNodes(element, true).filter(\n (c) => !(c.childNodes.length > 0)\n );\n};\n\nlet handleFunctionalArg = (arg) => {\n return typeof arg === \"function\" ? arg() : arg;\n};\n\nlet select = (selector, element = document, all = false) => {\n return element[`querySelector${all ? \"All\" : \"\"}`](selector);\n};\n\nlet isBodyElement = (node) => /body/i.test(node?.tagName);\n\nlet insertIntoElement = (originalTarget, character) => {\n if (isInput(originalTarget)) {\n originalTarget.value = `${originalTarget.value}${character.textContent}`;\n return;\n }\n character.innerHTML = \"\";\n let target = isBodyElement(character.originalParent) ? originalTarget : (\n // If we add one-off fresh elements, there will be no\n // \"originalParent\", so always fall back to the default target.\n character.originalParent || originalTarget\n );\n let cursorNode = select(\".\" + CURSOR_CLASS, target) || null;\n if (cursorNode && cursorNode.parentElement !== target) {\n target = cursorNode.parentElement;\n }\n target.insertBefore(character, cursorNode);\n};\n\nconst isNonVoidElement = (el) => /<(.+)>(.*?)<\\/(.+)>/.test(el.outerHTML);\n\nconst merge = (originalObj, newObj) => Object.assign({}, originalObj, newObj);\n\nlet processCursorOptions = (cursorOptions) => {\n if (typeof cursorOptions === \"object\") {\n let newOptions = {};\n let { frames: defaultFrames, options: defaultOptions } = DEFAULT_OPTIONS.cursor.animation;\n newOptions.animation = cursorOptions.animation || {};\n newOptions.animation.frames = cursorOptions.animation?.frames || defaultFrames;\n newOptions.animation.options = merge(\n defaultOptions,\n cursorOptions.animation?.options || {}\n );\n newOptions.autoPause = cursorOptions.autoPause ?? DEFAULT_OPTIONS.cursor.autoPause;\n newOptions.autoPauseDelay = cursorOptions.autoPauseDelay || DEFAULT_OPTIONS.cursor.autoPauseDelay;\n return newOptions;\n }\n if (cursorOptions === true) {\n return DEFAULT_OPTIONS.cursor;\n }\n return cursorOptions;\n};\n\nconst removeNode = (node, rootElement) => {\n if (!node) return;\n let nodeParent = node.parentNode;\n let nodeToRemove = nodeParent.childNodes.length > 1 || nodeParent.isSameNode(rootElement) ? (\n // This parent still needs to exist.\n node\n ) : (\n // There's nothing else in there, so just delete the entire thing.\n // By doing this, we clean up markup as we go along.\n nodeParent\n );\n nodeToRemove.remove();\n};\n\nconst repositionCursor = (element, allChars, newCursorPosition) => {\n let nodeToInsertBefore = allChars[newCursorPosition - 1];\n let cursor = select(`.${CURSOR_CLASS}`, element);\n element = nodeToInsertBefore?.parentNode || element;\n element.insertBefore(cursor, nodeToInsertBefore || null);\n};\n\nfunction selectorToElement(thing) {\n return typeof thing === \"string\" ? select(thing) : thing;\n}\n\nlet cursorFontStyles = {\n \"font-family\": \"\",\n \"font-weight\": \"\",\n \"font-size\": \"\",\n \"font-style\": \"\",\n \"line-height\": \"\",\n color: \"\",\n transform: \"translateX(-.125em)\"\n};\nlet setCursorStyles = (id, element) => {\n let rootSelector = `[${DATA_ATTRIBUTE}='${id}']`;\n let cursorSelector = `${rootSelector} .${CURSOR_CLASS}`;\n let computedStyles = getComputedStyle(element);\n let customProperties = Object.entries(cursorFontStyles).reduce(\n (accumulator, [item, value]) => {\n return `${accumulator} ${item}: var(--ti-cursor-${item}, ${value || computedStyles[item]});`;\n },\n \"\"\n );\n appendStyleBlock(\n `${cursorSelector} { display: inline-block; width: 0; ${customProperties} }`,\n id\n );\n};\n\nfunction splitOnBreak(str) {\n return str.replace(/<!--(.+?)-->/g, \"\").trim().split(/<br(?:\\s*?)(?:\\/)?>/);\n}\n\nlet updateCursorPosition = (steps, cursorPosition, printedCharacters) => {\n return Math.min(\n Math.max(cursorPosition + steps, 0),\n printedCharacters.length\n );\n};\n\nlet wait = (callback, delay, timeouts) => {\n return new Promise((resolve) => {\n let cb = async () => {\n await callback();\n resolve();\n };\n timeouts.push(setTimeout(cb, delay || 0));\n });\n};\n\nclass TypeIt {\n element;\n timeouts;\n cursorPosition;\n predictedCursorPosition;\n statuses = {\n started: false,\n completed: false,\n frozen: false,\n destroyed: false,\n firing: false\n };\n opts;\n id;\n queue;\n cursor;\n flushCallback = null;\n unfreeze = () => {\n };\n constructor(element, options = {}) {\n this.opts = merge(DEFAULT_OPTIONS, options);\n this.element = selectorToElement(element);\n this.timeouts = [];\n this.cursorPosition = 0;\n this.unfreeze = () => {\n };\n this.predictedCursorPosition = null;\n this.statuses = merge({}, DEFAULT_STATUSES);\n this.id = generateHash();\n this.queue = Queue([{ delay: this.opts.startDelay }]);\n this.#buildOptions(options);\n this.cursor = this.#setUpCursor();\n this.element.dataset.typeitId = this.id;\n appendStyleBlock(PLACEHOLDER_CSS);\n if (this.opts.strings.length) {\n this.#generateQueue();\n }\n }\n /**\n * Can only be called once.\n */\n go() {\n if (this.statuses.started) {\n return this;\n }\n this.#attachCursor();\n if (!this.opts.waitUntilVisible) {\n this.#fire();\n return this;\n }\n fireWhenVisible(this.element, this.#fire.bind(this));\n return this;\n }\n destroy(shouldRemoveCursor = true) {\n this.timeouts = destroyTimeouts(this.timeouts);\n handleFunctionalArg(shouldRemoveCursor) && this.cursor && this.#removeNode(this.cursor);\n this.statuses.destroyed = true;\n }\n reset(rebuild) {\n !this.is(\"destroyed\") && this.destroy();\n if (rebuild) {\n this.queue.wipe();\n rebuild(this);\n } else {\n this.queue.reset();\n }\n this.cursorPosition = 0;\n for (let property in this.statuses) {\n this.statuses[property] = false;\n }\n this.element[this.#elementIsInput() ? \"value\" : \"innerHTML\"] = \"\";\n return this;\n }\n is = function(key) {\n return this.statuses[key];\n };\n type(string, actionOpts = {}) {\n string = handleFunctionalArg(string);\n let { instant } = actionOpts;\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let chars = maybeChunkStringAsHtml(string, this.opts.html);\n let charsAsQueueItems = chars.map((char) => {\n return {\n func: () => this.#type(char),\n char,\n delay: instant || isNonVoidElement(char) ? 0 : this.#getPace(),\n typeable: char.nodeType === Node.TEXT_NODE\n };\n });\n let itemsToQueue = [\n bookEndQueueItems[0],\n { func: async () => await this.opts.beforeString(string, this) },\n ...charsAsQueueItems,\n { func: async () => await this.opts.afterString(string, this) },\n bookEndQueueItems[1]\n ];\n return this.#queueAndReturn(itemsToQueue, actionOpts);\n }\n break(actionOpts = {}) {\n return this.#queueAndReturn(\n {\n func: () => this.#type(createElement(\"BR\")),\n typeable: true\n },\n actionOpts\n );\n }\n move(movementArg, actionOpts = {}) {\n movementArg = handleFunctionalArg(movementArg);\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let { instant, to } = actionOpts;\n let numberOfSteps = countStepsToSelector({\n queueItems: this.queue.getTypeable(),\n selector: movementArg === null ? \"\" : movementArg,\n to,\n cursorPosition: this.#derivedCursorPosition\n });\n let directionalStep = numberOfSteps < 0 ? -1 : 1;\n this.predictedCursorPosition = this.#derivedCursorPosition + numberOfSteps;\n return this.#queueAndReturn(\n [\n bookEndQueueItems[0],\n ...duplicate(\n {\n func: () => this.#move(directionalStep),\n delay: instant ? 0 : this.#getPace(),\n cursorable: true\n },\n Math.abs(numberOfSteps)\n ),\n bookEndQueueItems[1]\n ],\n actionOpts\n );\n }\n exec(func, actionOpts = {}) {\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n return this.#queueAndReturn(\n [bookEndQueueItems[0], { func: () => func(this) }, bookEndQueueItems[1]],\n actionOpts\n );\n }\n options(opts, actionOpts = {}) {\n opts = handleFunctionalArg(opts);\n this.#updateOptions(opts);\n return this.#queueAndReturn({}, actionOpts);\n }\n pause(milliseconds, actionOpts = {}) {\n return this.#queueAndReturn(\n { delay: handleFunctionalArg(milliseconds) },\n actionOpts\n );\n }\n delete(numCharacters = null, actionOpts = {}) {\n numCharacters = handleFunctionalArg(numCharacters);\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let num = numCharacters;\n let { instant, to } = actionOpts;\n let typeableQueueItems = this.queue.getTypeable();\n let rounds = (() => {\n if (num === null) {\n return typeableQueueItems.length;\n }\n if (isNumber(num)) {\n return num;\n }\n return countStepsToSelector({\n queueItems: typeableQueueItems,\n selector: num,\n cursorPosition: this.#derivedCursorPosition,\n to\n });\n })();\n return this.#queueAndReturn(\n [\n bookEndQueueItems[0],\n ...duplicate(\n {\n func: this.#delete.bind(this),\n delay: instant ? 0 : this.#getPace(1),\n deletable: true\n },\n rounds\n ),\n bookEndQueueItems[1]\n ],\n actionOpts\n );\n }\n freeze() {\n this.statuses.frozen = true;\n }\n /**\n * Like `.go()`, but more... \"off the grid.\"\n *\n * - won't trigger `afterComplete` callback\n * - items won't be replayed after `.reset()`\n *\n * When called, all non-done items will be \"flushed\" --\n * that is, executed, but not remembered.\n */\n flush(cb = null) {\n this.flushCallback = cb || this.flushCallback;\n if (this.statuses.firing) {\n return this;\n }\n this.#attachCursor();\n this.#fire(false).then(() => {\n if (this.queue.getPendingQueueItems().length > 0) {\n return this.flush();\n }\n this.flushCallback();\n this.flushCallback = null;\n });\n return this;\n }\n getQueue() {\n return this.queue;\n }\n getOptions() {\n return this.opts;\n }\n updateOptions(options) {\n return this.#updateOptions(options);\n }\n getElement() {\n return this.element;\n }\n empty(actionOpts = {}) {\n return this.#queueAndReturn({ func: this.#empty.bind(this) }, actionOpts);\n }\n async #empty() {\n if (this.#elementIsInput()) {\n this.element.value = \"\";\n return;\n }\n this.#allChars.forEach(this.#removeNode.bind(this));\n return;\n }\n /**\n * Execute items in the queue.\n *\n * @param remember If false, each queue item will be destroyed once executed.\n * @returns\n */\n async #fire(remember = true) {\n this.statuses.started = true;\n this.statuses.firing = true;\n let cleanUp = (qKey) => {\n this.queue.done(qKey, !remember);\n };\n try {\n let queueItems = [...this.queue.getQueue()];\n for (let index = 0; index < queueItems.length; index++) {\n let [queueKey, queueItem] = queueItems[index];\n if (queueItem.done) continue;\n if (!queueItem.deletable || queueItem.deletable && this.#allChars.length) {\n let newIndex = await this.#fireItemWithContext(index, queueItems);\n cleanUpSkipped({\n index,\n newIndex,\n queueItems,\n cleanUp\n });\n index = newIndex;\n }\n cleanUp(queueKey);\n }\n if (!remember) {\n this.statuses.firing = false;\n return this;\n }\n this.statuses.completed = true;\n this.statuses.firing = false;\n await this.opts.afterComplete(this);\n if (!this.opts.loop) {\n throw \"\";\n }\n let delay = this.opts.loopDelay;\n this.#wait(async () => {\n await this.#prepLoop(delay[0]);\n this.#fire();\n }, delay[1]);\n } catch (e) {\n }\n this.statuses.firing = false;\n return this;\n }\n async #move(step) {\n this.cursorPosition = updateCursorPosition(\n step,\n this.cursorPosition,\n this.#allChars\n );\n repositionCursor(this.element, this.#allChars, this.cursorPosition);\n }\n /**\n * 1. Reset queue.\n * 2. Reset initial pause.\n */\n async #prepLoop(delay) {\n let derivedCursorPosition = this.#derivedCursorPosition;\n derivedCursorPosition && await this.#move({ value: derivedCursorPosition });\n let queueItems = this.#allChars.map((c) => {\n return [\n Symbol(),\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1),\n deletable: true,\n shouldPauseCursor: () => true\n }\n ];\n });\n for (let index = 0; index < queueItems.length; index++) {\n await this.#fireItemWithContext(index, queueItems);\n }\n this.queue.reset();\n this.queue.set(0, { delay });\n }\n #fireItemWithContext(index, queueItems) {\n return fireItem({\n index,\n queueItems,\n wait: this.#wait.bind(this),\n cursor: this.cursor,\n cursorOptions: this.opts.cursor\n });\n }\n async #wait(callback, delay, silent = false) {\n if (this.statuses.frozen) {\n await new Promise((resolve) => {\n this.unfreeze = () => {\n this.statuses.frozen = false;\n resolve();\n };\n });\n }\n silent || await this.opts.beforeStep(this);\n await wait(callback, delay, this.timeouts);\n silent || await this.opts.afterStep(this);\n }\n /**\n * Attach it to the DOM so, along with the required CSS transition.\n */\n async #attachCursor() {\n !this.#elementIsInput() && this.cursor && this.element.appendChild(this.cursor);\n if (this.#shouldRenderCursor) {\n setCursorStyles(this.id, this.element);\n this.cursor.dataset.tiAnimationId = this.id;\n let { animation } = this.opts.cursor;\n let { frames, options } = animation;\n setCursorAnimation({\n frames,\n cursor: this.cursor,\n options: {\n duration: this.opts.cursorSpeed,\n ...options\n }\n });\n }\n }\n #elementIsInput() {\n return isInput(this.element);\n }\n #queueAndReturn(steps, opts) {\n this.queue.add(steps);\n this.#maybeAppendPause(opts);\n return this;\n }\n #maybeAppendPause(opts = {}) {\n let delay = opts.delay;\n delay && this.queue.add({ delay });\n }\n #generateTemporaryOptionQueueItems(newOptions = {}) {\n return [\n { func: () => this.#updateOptions(newOptions) },\n { func: () => this.#updateOptions(this.opts) }\n ];\n }\n async #updateOptions(opts) {\n this.opts = merge(this.opts, opts);\n }\n /**\n * Based on provided strings, generate a TypeIt queue\n * to be fired for each character in the string.\n */\n #generateQueue() {\n let strings = this.opts.strings.filter((string) => !!string);\n strings.forEach((string, index) => {\n this.type(string);\n if (index + 1 === strings.length) {\n return;\n }\n let splitItems = this.opts.breakLines ? [{ func: () => this.#type(createElement(\"BR\")), typeable: true }] : duplicate(\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1)\n },\n this.queue.getTypeable().length\n );\n this.#addSplitPause(splitItems);\n });\n }\n #buildOptions = (options) => {\n this.opts.cursor = processCursorOptions(\n options.cursor ?? DEFAULT_OPTIONS.cursor\n );\n this.opts.strings = this.#prependHardcodedStrings(\n asArray(this.opts.strings)\n );\n this.opts = merge(this.opts, {\n html: !this.#isInput && this.opts.html,\n nextStringDelay: calculateDelay(this.opts.nextStringDelay),\n loopDelay: calculateDelay(this.opts.loopDelay)\n });\n };\n #prependHardcodedStrings(strings) {\n let existingMarkup = this.element.innerHTML;\n if (!existingMarkup) {\n return strings;\n }\n this.element.innerHTML = \"\";\n if (this.opts.startDelete) {\n this.element.innerHTML = existingMarkup;\n expandTextNodes(this.element);\n this.#addSplitPause(\n duplicate(\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1),\n deletable: true\n },\n this.#allChars.length\n )\n );\n return strings;\n }\n return splitOnBreak(existingMarkup).concat(strings);\n }\n /**\n * Provided it's a non-form element and the options is provided,\n * set up the cursor element for the animation.\n */\n #setUpCursor() {\n if (this.#isInput) {\n return null;\n }\n let cursor = createElement(\"span\");\n cursor.className = CURSOR_CLASS;\n if (!this.#shouldRenderCursor) {\n cursor.style.visibility = \"hidden\";\n return cursor;\n }\n cursor.innerHTML = getParsedBody(this.opts.cursorChar).innerHTML;\n return cursor;\n }\n #addSplitPause(items) {\n let delay = this.opts.nextStringDelay;\n this.queue.add([{ delay: delay[0] }, ...items, { delay: delay[1] }]);\n }\n #type(char) {\n insertIntoElement(this.element, char);\n }\n #delete() {\n if (!this.#allChars.length) return;\n if (this.#isInput) {\n this.element.value = this.element.value.slice(0, -1);\n } else {\n this.#removeNode(this.#allChars[this.cursorPosition]);\n }\n }\n #removeNode(node) {\n removeNode(node, this.element);\n }\n #getPace(index = 0) {\n return calculatePace(this.opts)[index];\n }\n get #derivedCursorPosition() {\n return this.predictedCursorPosition ?? this.cursorPosition;\n }\n get #isInput() {\n return isInput(this.element);\n }\n get #shouldRenderCursor() {\n return !!this.opts.cursor && !this.#isInput;\n }\n get #allChars() {\n return getAllChars(this.element);\n }\n}\n\nexport { TypeIt as default };\n","import { $LitElement } from '@mixins/index'\nimport { css, html, TemplateResult } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport TypeIt, { Options as TypeItOptions } from 'typeit'\n\n@customElement('schmancy-typewriter')\nexport class TypewriterElement extends $LitElement(css`\n\t:host {\n\t\tdisplay: inherit;\n\t}\n\n\t#typewriter {\n\t\t--ti-cursor-display: initial;\n\t}\n\n\t#typewriter .ti-cursor {\n\t\tdisplay: var(--ti-cursor-display);\n\t}\n`) {\n\t/**\n\t * Typing speed in milliseconds per character.\n\t */\n\t@property({ type: Number })\n\tspeed: number = 60\n\n\t/**\n\t * Delay before typing starts (ms).\n\t */\n\t@property({ type: Number })\n\tstartDelay: number = 0\n\n\t/**\n\t * Automatically start typing on initialization.\n\t */\n\t@property({ type: Boolean })\n\tautoStart: boolean = true\n\n\t/**\n\t * Whether to show the cursor.\n\t */\n\t@property({ type: Boolean })\n\tcursor: boolean = true\n\n\t/**\n\t * The cursor character.\n\t */\n\t@property({ type: String })\n\tcursorChar: string = ''\n\n\t/**\n\t * Typing speed for deletions (ms per character).\n\t */\n\t@property({ type: Number })\n\tdeleteSpeed: number = 30\n\n\t/**\n\t * TypeIt instance.\n\t */\n\tprivate typeItInstance: TypeIt | null = null\n\n\t/**\n\t * Reference to the typewriter container.\n\t */\n\t@query('#typewriter')\n\tprivate typewriterContainer!: HTMLElement\n\n\t@queryAssignedNodes({\n\t\tflatten: true,\n\t})\n\tprivate _getSlottedNodes!: Node[]\n\t/**\n\t * Lifecycle method called when the component is disconnected from the DOM.\n\t * Ensures that TypeIt instances are properly cleaned up.\n\t */\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis._destroyTypeIt()\n\t}\n\n\t/**\n\t * Initializes the TypeIt instance with the provided slotted content.\n\t */\n\tprivate _startTyping() {\n\t\t// Destroy any existing TypeIt instance\n\t\tthis._destroyTypeIt()\n\n\t\tif (!this.typewriterContainer) {\n\t\t\tconsole.warn('Typewriter container not found.')\n\t\t\treturn\n\t\t}\n\n\t\t// Configure TypeIt options\n\t\tconst typeItOptions: TypeItOptions = {\n\t\t\tspeed: this.speed,\n\t\t\tstartDelay: this.startDelay,\n\t\t\tcursor: this.cursor,\n\t\t\tcursorChar: this.cursorChar,\n\t\t\tdeleteSpeed: this.deleteSpeed,\n\t\t\tafterComplete: () => {\n\t\t\t\t// Dispatch the custom event\n\t\t\t\tthis.dispatchEvent(new CustomEvent('typeit-complete', { bubbles: true, composed: true }))\n\n\t\t\t\t// Hide the cursor\n\t\t\t\tthis.typewriterContainer.style.setProperty('--ti-cursor-display', 'none')\n\t\t\t},\n\t\t}\n\n\t\t// Initialize TypeIt\n\t\tthis.typeItInstance = new TypeIt(this.typewriterContainer, typeItOptions)\n\n\t\t// Process slotted content as actions\n\t\tconst slottedNodes = this._getSlottedNodes\n\t\tslottedNodes.forEach(node => {\n\t\t\tif (node.nodeType === Node.TEXT_NODE) {\n\t\t\t\t// Handle plain text\n\t\t\t\tthis.typeItInstance?.type(node.textContent || '')\n\t\t\t} else if (node instanceof HTMLElement) {\n\t\t\t\t// Handle custom element\n\t\t\t\tthis._processCustomElement(node)\n\t\t\t}\n\t\t})\n\n\t\t// Start the typing animation if autoStart is enabled\n\t\tif (this.autoStart) {\n\t\t\tthis.typeItInstance?.go()\n\t\t}\n\t}\n\n\t/**\n\t * Destroys the current TypeIt instance if it exists.\n\t */\n\tprivate _destroyTypeIt() {\n\t\tif (this.typeItInstance) {\n\t\t\ttry {\n\t\t\t\tthis.typeItInstance.destroy()\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error destroying TypeIt instance:', error)\n\t\t\t}\n\t\t\tthis.typeItInstance = null\n\t\t}\n\t}\n\n\t/**\n\t * Processes a custom element for its typing behavior.\n\t */\n\tprivate _processCustomElement(element: HTMLElement) {\n\t\tconst action = element.getAttribute('action')\n\t\tconst value = element.getAttribute('value')\n\t\tswitch (action) {\n\t\t\tcase 'pause':\n\t\t\t\tthis.typeItInstance?.pause(parseInt(value || '0', 10))\n\t\t\t\tbreak\n\t\t\tcase 'delete':\n\t\t\t\tthis.typeItInstance?.delete(parseInt(value || '0', 10))\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tif (element.tagName === 'P') {\n\t\t\t\t\tthis.typeItInstance.break()\n\t\t\t\t}\n\t\t\t\t// Treat as text if no action is defined\n\t\t\t\tthis.typeItInstance?.type(element.textContent || '')\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * Renders the component's HTML.\n\t */\n\trender(): TemplateResult {\n\t\treturn html`<div id=\"typewriter\" aria-live=\"polite\"></div>\n\n\t\t\t<slot\n\t\t\t\thidden\n\t\t\t\t@slotchange=${() => {\n\t\t\t\t\tthis._startTyping()\n\t\t\t\t}}\n\t\t\t></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-typewriter': TypewriterElement\n\t}\n}\n"],"names":["isArray","thing","Array","asArray","value","DATA_ATTRIBUTE","CURSOR_CLASS","DEFAULT_STATUSES","started","completed","frozen","destroyed","DEFAULT_OPTIONS","breakLines","cursor","autoPause","autoPauseDelay","animation","frames","map","n","opacity","options","iterations","Infinity","easing","fill","cursorChar","cursorSpeed","deleteSpeed","html","lifeLike","loop","loopDelay","nextStringDelay","speed","startDelay","startDelete","strings","waitUntilVisible","beforeString","afterString","beforeStep","afterStep","afterComplete","PLACEHOLDER_CSS","createElement","el","document","createTextNode","content","appendStyleBlock","styles","id","styleBlock","appendChild","head","calculateDelay","delayArg","randomInRange","range","Math","abs","random","val","toArray","from","expandTextNodes","element","childNodes","forEach","child","nodeValue","c","parentNode","insertBefore","remove","getParsedBody","doc","implementation","createHTMLDocument","body","innerHTML","walkElementNodes","shouldReverse","shouldIncludeCursor","nextNode","querySelector","walker","createTreeWalker","NodeFilter","SHOW_ALL","acceptNode","node","classList","contains","FILTER_ACCEPT","FILTER_REJECT","nodes","originalParent","push","reverse","maybeChunkStringAsHtml","str","asHtml","cleanUpSkipped","index","newIndex","queueItems","cleanUp","i","isNumber","Number","isInteger","countStepsToSelector","selector","cursorPosition","to","isMovingToEnd","RegExp","test","selectorIndex","findIndex","char","parentElement","parentMatches","matches","firstChild","isSameNode","length","duplicate","times","beforePaint","cb","Promise","resolve","requestAnimationFrame","async","getAnimationFromElement","getAnimations","find","dataset","tiAnimationId","setCursorAnimation","s","animate","pause","play","execute","queueItem","func","call","fireItem","wait","cursorOptions","instantQueue","tempIndex","futureItem","shouldBeGrouped","delay","shouldPauseCursor","q","effect","getComputedTiming","cancel","oldCurrentTime","currentTime","newAnimation","e","isInput","handleFunctionalArg","arg","select","all","merge","originalObj","newObj","Object","assign","cursorFontStyles","color","transform","TypeIt","__privateAdd","_E_instances","timeouts","predictedCursorPosition","statuses","firing","opts","queue","flushCallback","unfreeze","is","key","this","buildOptions","newOptions","defaultFrames","defaultOptions","prependHardcodedStrings","toString","substring","initialItems","add","steps","step","_q","set","Symbol","innerText","buildQueueItem","Boolean","typeable","cursorable","deletable","getQueue","rawValues","values","Map","item","keys","wipe","done","shouldDestroy","delete","get","reset","destroy","getItems","filter","getTypeable","getPendingQueueItems","pending","typeitId","bind","IntersectionObserver","entries","observer2","entry","isIntersecting","unobserve","threshold","observe","fire","shouldRemoveCursor","clearTimeout","rebuild","property","elementIsInput","string","actionOpts","instant","bookEndQueueItems","generateTemporaryOptionQueueItems","charsAsQueueItems","type","outerHTML","nodeType","Node","TEXT_NODE","itemsToQueue","queueAndReturn","movementArg","numberOfSteps","derivedCursorPosition","directionalStep","getPace","milliseconds","numCharacters","num","typeableQueueItems","rounds","then","flush","empty","allChars","removeNode","r_fn","remember","qKey","queueKey","move","printedCharacters","min","max","newCursorPosition","nodeToInsertBefore","prepLoop","fireItemWithContext","t","w_fn","callback","silent","setTimeout","attachCursor","cursorSelector","computedStyles","getComputedStyle","customProperties","reduce","accumulator","duration","n_fn","l_fn","x_fn","maybeAppendPause","o_fn","updateOptions","s_fn","generateQueue","splitItems","S_fn","existingMarkup","addSplitPause","replace","trim","split","concat","e_fn","setUpCursor","className","style","visibility","I_fn","items","a_fn","originalTarget","character","textContent","target","tagName","cursorNode","y_fn","slice","h_fn","rootElement","nodeParent","u_fn","C_get","v_get","shouldRenderCursor","TypewriterElement","$LitElement","css","super","arguments","autoStart","typeItInstance","disconnectedCallback","_destroyTypeIt","typewriterContainer","typeItOptions","dispatchEvent","CustomEvent","bubbles","composed","setProperty","_getSlottedNodes","HTMLElement","_processCustomElement","go","action","getAttribute","parseInt","break","_startTyping","__decorateClass","prototype","String","query","queryAssignedNodes","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"typewriter-D0yYoTg6.cjs","sources":["../node_modules/typeit/dist/index.es.js","../src/typewriter/typewriter.ts"],"sourcesContent":["// TypeIt by Alex MacArthur - https://typeitjs.com\nconst isArray = (thing) => Array.isArray(thing);\n\nconst asArray = (value) => isArray(value) ? value : [value];\n\nlet Queue = function(initialItems) {\n let add = function(steps) {\n asArray(steps).forEach((step) => {\n return _q.set(Symbol(step.char?.innerText), buildQueueItem({ ...step }));\n });\n return this;\n };\n let getTypeable = () => rawValues().filter((value) => value.typeable);\n let set = function(index, item) {\n let keys = [..._q.keys()];\n _q.set(keys[index], buildQueueItem(item));\n };\n let buildQueueItem = (queueItem) => {\n queueItem.shouldPauseCursor = function() {\n return Boolean(this.typeable || this.cursorable || this.deletable);\n };\n return queueItem;\n };\n let reset = function() {\n _q.forEach((item) => delete item.done);\n };\n let wipe = function() {\n _q = /* @__PURE__ */ new Map();\n add(initialItems);\n };\n let getQueue = () => _q;\n let rawValues = () => Array.from(_q.values());\n let destroy = (key) => _q.delete(key);\n let getPendingQueueItems = () => {\n const pending = [];\n for (let [, value] of getQueue()) {\n if (!value.done) {\n pending.push(value);\n }\n }\n return pending;\n };\n let getItems = (all = false) => all ? rawValues() : rawValues().filter((i) => !i.done);\n let done = (key, shouldDestroy = false) => shouldDestroy ? _q.delete(key) : _q.get(key).done = true;\n let _q = /* @__PURE__ */ new Map();\n add(initialItems);\n return {\n add,\n set,\n wipe,\n done,\n reset,\n destroy,\n getItems,\n getQueue,\n getTypeable,\n getPendingQueueItems\n };\n};\n\nconst DATA_ATTRIBUTE = \"data-typeit-id\";\nconst CURSOR_CLASS = \"ti-cursor\";\nconst END = \"END\";\nconst DEFAULT_STATUSES = {\n started: false,\n completed: false,\n frozen: false,\n destroyed: false\n};\nconst DEFAULT_OPTIONS = {\n breakLines: true,\n cursor: {\n autoPause: true,\n autoPauseDelay: 500,\n animation: {\n frames: [0, 0, 1].map((n) => {\n return { opacity: n };\n }),\n options: {\n iterations: Infinity,\n easing: \"steps(2, start)\",\n fill: \"forwards\"\n }\n }\n },\n cursorChar: \"|\",\n cursorSpeed: 1e3,\n deleteSpeed: null,\n html: true,\n lifeLike: true,\n loop: false,\n loopDelay: 750,\n nextStringDelay: 750,\n speed: 100,\n startDelay: 250,\n startDelete: false,\n strings: [],\n waitUntilVisible: false,\n beforeString: () => {\n },\n afterString: () => {\n },\n beforeStep: () => {\n },\n afterStep: () => {\n },\n afterComplete: () => {\n }\n};\nconst PLACEHOLDER_CSS = `[${DATA_ATTRIBUTE}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`;\n\nconst createElement = (el) => document.createElement(el);\n\nconst createTextNode = (content) => document.createTextNode(content);\n\nconst appendStyleBlock = (styles, id = \"\") => {\n let styleBlock = createElement(\"style\");\n styleBlock.id = id;\n styleBlock.appendChild(createTextNode(styles));\n document.head.appendChild(styleBlock);\n};\n\nconst calculateDelay = (delayArg) => {\n if (!isArray(delayArg)) {\n delayArg = [delayArg / 2, delayArg / 2];\n }\n return delayArg;\n};\n\nconst randomInRange = (value, range) => {\n return Math.abs(\n Math.random() * (value + range - (value - range)) + (value - range)\n );\n};\n\nlet range = (val) => val / 2;\nfunction calculatePace(options) {\n let { speed, deleteSpeed, lifeLike } = options;\n deleteSpeed = deleteSpeed !== null ? deleteSpeed : speed / 3;\n return lifeLike ? [\n randomInRange(speed, range(speed)),\n randomInRange(deleteSpeed, range(deleteSpeed))\n ] : [speed, deleteSpeed];\n}\n\nconst toArray = (val) => Array.from(val);\n\nlet expandTextNodes = (element) => {\n [...element.childNodes].forEach((child) => {\n if (child.nodeValue) {\n [...child.nodeValue].forEach((c) => {\n child.parentNode.insertBefore(createTextNode(c), child);\n });\n child.remove();\n return;\n }\n expandTextNodes(child);\n });\n return element;\n};\n\nconst getParsedBody = (content) => {\n let doc = document.implementation.createHTMLDocument();\n doc.body.innerHTML = content;\n return expandTextNodes(doc.body);\n};\n\nfunction walkElementNodes(element, shouldReverse = false, shouldIncludeCursor = false) {\n let cursor = element.querySelector(`.${CURSOR_CLASS}`);\n let walker = document.createTreeWalker(element, NodeFilter.SHOW_ALL, {\n acceptNode: (node) => {\n if (cursor && shouldIncludeCursor) {\n if (node.classList?.contains(CURSOR_CLASS)) {\n return NodeFilter.FILTER_ACCEPT;\n }\n if (cursor.contains(node)) {\n return NodeFilter.FILTER_REJECT;\n }\n }\n return node.classList?.contains(CURSOR_CLASS) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }\n });\n let nextNode;\n let nodes = [];\n while (nextNode = walker.nextNode()) {\n if (!nextNode.originalParent) {\n nextNode.originalParent = nextNode.parentNode;\n }\n nodes.push(nextNode);\n }\n return shouldReverse ? nodes.reverse() : nodes;\n}\nfunction chunkStringAsHtml(string) {\n return walkElementNodes(getParsedBody(string));\n}\nfunction maybeChunkStringAsHtml(str, asHtml = true) {\n return asHtml ? chunkStringAsHtml(str) : toArray(str).map(createTextNode);\n}\n\nconst cleanUpSkipped = ({\n index,\n newIndex,\n queueItems,\n cleanUp\n}) => {\n for (let i = index + 1; i < newIndex + 1; i++) {\n cleanUp(queueItems[i][0]);\n }\n};\n\nconst isNumber = (value) => Number.isInteger(value);\n\nconst countStepsToSelector = ({\n queueItems,\n selector,\n cursorPosition,\n to\n}) => {\n if (isNumber(selector)) {\n return selector * -1;\n }\n let isMovingToEnd = new RegExp(END, \"i\").test(to);\n let selectorIndex = selector ? [...queueItems].reverse().findIndex(({ char }) => {\n let parentElement = char.parentElement;\n let parentMatches = parentElement.matches(selector);\n if (isMovingToEnd && parentMatches) {\n return true;\n }\n return parentMatches && parentElement.firstChild.isSameNode(char);\n }) : -1;\n if (selectorIndex < 0) {\n selectorIndex = isMovingToEnd ? 0 : queueItems.length - 1;\n }\n let offset = isMovingToEnd ? 0 : 1;\n return selectorIndex - cursorPosition + offset;\n};\n\nconst destroyTimeouts = (timeouts) => {\n timeouts.forEach(clearTimeout);\n return [];\n};\n\nconst duplicate = (value, times) => new Array(times).fill(value);\n\nlet beforePaint = (cb) => {\n return new Promise((resolve) => {\n requestAnimationFrame(async () => {\n resolve(await cb());\n });\n });\n};\n\nlet getAnimationFromElement = (element) => {\n return element?.getAnimations().find((animation) => {\n return animation.id === element.dataset.tiAnimationId;\n });\n};\n\nlet setCursorAnimation = ({\n cursor,\n frames,\n options\n}) => {\n let animation = cursor.animate(frames, options);\n animation.pause();\n animation.id = cursor.dataset.tiAnimationId;\n beforePaint(() => {\n beforePaint(() => {\n animation.play();\n });\n });\n return animation;\n};\n\nlet rebuildCursorAnimation = ({\n cursor,\n options,\n cursorOptions\n}) => {\n if (!cursor || !cursorOptions) return;\n let animation = getAnimationFromElement(cursor);\n let oldCurrentTime;\n if (animation) {\n options.delay = animation.effect.getComputedTiming().delay;\n oldCurrentTime = animation.currentTime;\n animation.cancel();\n }\n let newAnimation = setCursorAnimation({\n cursor,\n frames: cursorOptions.animation.frames,\n options\n });\n if (oldCurrentTime) {\n newAnimation.currentTime = oldCurrentTime;\n }\n return newAnimation;\n};\n\nlet execute = (queueItem) => queueItem.func?.call(null);\nlet fireItem = async ({\n index,\n queueItems,\n wait,\n cursor,\n cursorOptions\n}) => {\n let queueItem = queueItems[index][1];\n let instantQueue = [];\n let tempIndex = index;\n let futureItem = queueItem;\n let shouldBeGrouped = () => futureItem && !futureItem.delay;\n let shouldPauseCursor = queueItem.shouldPauseCursor() && cursorOptions.autoPause;\n while (shouldBeGrouped()) {\n instantQueue.push(futureItem);\n shouldBeGrouped() && tempIndex++;\n futureItem = queueItems[tempIndex] ? queueItems[tempIndex][1] : null;\n }\n if (instantQueue.length) {\n await beforePaint(async () => {\n for (let q of instantQueue) {\n await execute(q);\n }\n });\n return tempIndex - 1;\n }\n let animation = getAnimationFromElement(cursor);\n let options;\n if (animation) {\n options = {\n ...animation.effect.getComputedTiming(),\n delay: shouldPauseCursor ? cursorOptions.autoPauseDelay : 0\n };\n }\n await wait(async () => {\n if (animation && shouldPauseCursor) {\n animation.cancel();\n }\n await beforePaint(() => {\n execute(queueItem);\n });\n }, queueItem.delay);\n await rebuildCursorAnimation({\n cursor,\n options,\n cursorOptions\n });\n return index;\n};\n\nconst fireWhenVisible = (element, func) => {\n let observer = new IntersectionObserver(\n (entries, observer2) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n func();\n observer2.unobserve(element);\n }\n });\n },\n { threshold: 1 }\n );\n observer.observe(element);\n};\n\nconst generateHash = () => Math.random().toString().substring(2, 9);\n\nconst isInput = (el) => {\n return \"value\" in el;\n};\n\nlet getAllChars = (element) => {\n if (isInput(element)) {\n return toArray(element.value);\n }\n return walkElementNodes(element, true).filter(\n (c) => !(c.childNodes.length > 0)\n );\n};\n\nlet handleFunctionalArg = (arg) => {\n return typeof arg === \"function\" ? arg() : arg;\n};\n\nlet select = (selector, element = document, all = false) => {\n return element[`querySelector${all ? \"All\" : \"\"}`](selector);\n};\n\nlet isBodyElement = (node) => /body/i.test(node?.tagName);\n\nlet insertIntoElement = (originalTarget, character) => {\n if (isInput(originalTarget)) {\n originalTarget.value = `${originalTarget.value}${character.textContent}`;\n return;\n }\n character.innerHTML = \"\";\n let target = isBodyElement(character.originalParent) ? originalTarget : (\n // If we add one-off fresh elements, there will be no\n // \"originalParent\", so always fall back to the default target.\n character.originalParent || originalTarget\n );\n let cursorNode = select(\".\" + CURSOR_CLASS, target) || null;\n if (cursorNode && cursorNode.parentElement !== target) {\n target = cursorNode.parentElement;\n }\n target.insertBefore(character, cursorNode);\n};\n\nconst isNonVoidElement = (el) => /<(.+)>(.*?)<\\/(.+)>/.test(el.outerHTML);\n\nconst merge = (originalObj, newObj) => Object.assign({}, originalObj, newObj);\n\nlet processCursorOptions = (cursorOptions) => {\n if (typeof cursorOptions === \"object\") {\n let newOptions = {};\n let { frames: defaultFrames, options: defaultOptions } = DEFAULT_OPTIONS.cursor.animation;\n newOptions.animation = cursorOptions.animation || {};\n newOptions.animation.frames = cursorOptions.animation?.frames || defaultFrames;\n newOptions.animation.options = merge(\n defaultOptions,\n cursorOptions.animation?.options || {}\n );\n newOptions.autoPause = cursorOptions.autoPause ?? DEFAULT_OPTIONS.cursor.autoPause;\n newOptions.autoPauseDelay = cursorOptions.autoPauseDelay || DEFAULT_OPTIONS.cursor.autoPauseDelay;\n return newOptions;\n }\n if (cursorOptions === true) {\n return DEFAULT_OPTIONS.cursor;\n }\n return cursorOptions;\n};\n\nconst removeNode = (node, rootElement) => {\n if (!node) return;\n let nodeParent = node.parentNode;\n let nodeToRemove = nodeParent.childNodes.length > 1 || nodeParent.isSameNode(rootElement) ? (\n // This parent still needs to exist.\n node\n ) : (\n // There's nothing else in there, so just delete the entire thing.\n // By doing this, we clean up markup as we go along.\n nodeParent\n );\n nodeToRemove.remove();\n};\n\nconst repositionCursor = (element, allChars, newCursorPosition) => {\n let nodeToInsertBefore = allChars[newCursorPosition - 1];\n let cursor = select(`.${CURSOR_CLASS}`, element);\n element = nodeToInsertBefore?.parentNode || element;\n element.insertBefore(cursor, nodeToInsertBefore || null);\n};\n\nfunction selectorToElement(thing) {\n return typeof thing === \"string\" ? select(thing) : thing;\n}\n\nlet cursorFontStyles = {\n \"font-family\": \"\",\n \"font-weight\": \"\",\n \"font-size\": \"\",\n \"font-style\": \"\",\n \"line-height\": \"\",\n color: \"\",\n transform: \"translateX(-.125em)\"\n};\nlet setCursorStyles = (id, element) => {\n let rootSelector = `[${DATA_ATTRIBUTE}='${id}']`;\n let cursorSelector = `${rootSelector} .${CURSOR_CLASS}`;\n let computedStyles = getComputedStyle(element);\n let customProperties = Object.entries(cursorFontStyles).reduce(\n (accumulator, [item, value]) => {\n return `${accumulator} ${item}: var(--ti-cursor-${item}, ${value || computedStyles[item]});`;\n },\n \"\"\n );\n appendStyleBlock(\n `${cursorSelector} { display: inline-block; width: 0; ${customProperties} }`,\n id\n );\n};\n\nfunction splitOnBreak(str) {\n return str.replace(/<!--(.+?)-->/g, \"\").trim().split(/<br(?:\\s*?)(?:\\/)?>/);\n}\n\nlet updateCursorPosition = (steps, cursorPosition, printedCharacters) => {\n return Math.min(\n Math.max(cursorPosition + steps, 0),\n printedCharacters.length\n );\n};\n\nlet wait = (callback, delay, timeouts) => {\n return new Promise((resolve) => {\n let cb = async () => {\n await callback();\n resolve();\n };\n timeouts.push(setTimeout(cb, delay || 0));\n });\n};\n\nclass TypeIt {\n element;\n timeouts;\n cursorPosition;\n predictedCursorPosition;\n statuses = {\n started: false,\n completed: false,\n frozen: false,\n destroyed: false,\n firing: false\n };\n opts;\n id;\n queue;\n cursor;\n flushCallback = null;\n unfreeze = () => {\n };\n constructor(element, options = {}) {\n this.opts = merge(DEFAULT_OPTIONS, options);\n this.element = selectorToElement(element);\n this.timeouts = [];\n this.cursorPosition = 0;\n this.unfreeze = () => {\n };\n this.predictedCursorPosition = null;\n this.statuses = merge({}, DEFAULT_STATUSES);\n this.id = generateHash();\n this.queue = Queue([{ delay: this.opts.startDelay }]);\n this.#buildOptions(options);\n this.cursor = this.#setUpCursor();\n this.element.dataset.typeitId = this.id;\n appendStyleBlock(PLACEHOLDER_CSS);\n if (this.opts.strings.length) {\n this.#generateQueue();\n }\n }\n /**\n * Can only be called once.\n */\n go() {\n if (this.statuses.started) {\n return this;\n }\n this.#attachCursor();\n if (!this.opts.waitUntilVisible) {\n this.#fire();\n return this;\n }\n fireWhenVisible(this.element, this.#fire.bind(this));\n return this;\n }\n destroy(shouldRemoveCursor = true) {\n this.timeouts = destroyTimeouts(this.timeouts);\n handleFunctionalArg(shouldRemoveCursor) && this.cursor && this.#removeNode(this.cursor);\n this.statuses.destroyed = true;\n }\n reset(rebuild) {\n !this.is(\"destroyed\") && this.destroy();\n if (rebuild) {\n this.queue.wipe();\n rebuild(this);\n } else {\n this.queue.reset();\n }\n this.cursorPosition = 0;\n for (let property in this.statuses) {\n this.statuses[property] = false;\n }\n this.element[this.#elementIsInput() ? \"value\" : \"innerHTML\"] = \"\";\n return this;\n }\n is = function(key) {\n return this.statuses[key];\n };\n type(string, actionOpts = {}) {\n string = handleFunctionalArg(string);\n let { instant } = actionOpts;\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let chars = maybeChunkStringAsHtml(string, this.opts.html);\n let charsAsQueueItems = chars.map((char) => {\n return {\n func: () => this.#type(char),\n char,\n delay: instant || isNonVoidElement(char) ? 0 : this.#getPace(),\n typeable: char.nodeType === Node.TEXT_NODE\n };\n });\n let itemsToQueue = [\n bookEndQueueItems[0],\n { func: async () => await this.opts.beforeString(string, this) },\n ...charsAsQueueItems,\n { func: async () => await this.opts.afterString(string, this) },\n bookEndQueueItems[1]\n ];\n return this.#queueAndReturn(itemsToQueue, actionOpts);\n }\n break(actionOpts = {}) {\n return this.#queueAndReturn(\n {\n func: () => this.#type(createElement(\"BR\")),\n typeable: true\n },\n actionOpts\n );\n }\n move(movementArg, actionOpts = {}) {\n movementArg = handleFunctionalArg(movementArg);\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let { instant, to } = actionOpts;\n let numberOfSteps = countStepsToSelector({\n queueItems: this.queue.getTypeable(),\n selector: movementArg === null ? \"\" : movementArg,\n to,\n cursorPosition: this.#derivedCursorPosition\n });\n let directionalStep = numberOfSteps < 0 ? -1 : 1;\n this.predictedCursorPosition = this.#derivedCursorPosition + numberOfSteps;\n return this.#queueAndReturn(\n [\n bookEndQueueItems[0],\n ...duplicate(\n {\n func: () => this.#move(directionalStep),\n delay: instant ? 0 : this.#getPace(),\n cursorable: true\n },\n Math.abs(numberOfSteps)\n ),\n bookEndQueueItems[1]\n ],\n actionOpts\n );\n }\n exec(func, actionOpts = {}) {\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n return this.#queueAndReturn(\n [bookEndQueueItems[0], { func: () => func(this) }, bookEndQueueItems[1]],\n actionOpts\n );\n }\n options(opts, actionOpts = {}) {\n opts = handleFunctionalArg(opts);\n this.#updateOptions(opts);\n return this.#queueAndReturn({}, actionOpts);\n }\n pause(milliseconds, actionOpts = {}) {\n return this.#queueAndReturn(\n { delay: handleFunctionalArg(milliseconds) },\n actionOpts\n );\n }\n delete(numCharacters = null, actionOpts = {}) {\n numCharacters = handleFunctionalArg(numCharacters);\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let num = numCharacters;\n let { instant, to } = actionOpts;\n let typeableQueueItems = this.queue.getTypeable();\n let rounds = (() => {\n if (num === null) {\n return typeableQueueItems.length;\n }\n if (isNumber(num)) {\n return num;\n }\n return countStepsToSelector({\n queueItems: typeableQueueItems,\n selector: num,\n cursorPosition: this.#derivedCursorPosition,\n to\n });\n })();\n return this.#queueAndReturn(\n [\n bookEndQueueItems[0],\n ...duplicate(\n {\n func: this.#delete.bind(this),\n delay: instant ? 0 : this.#getPace(1),\n deletable: true\n },\n rounds\n ),\n bookEndQueueItems[1]\n ],\n actionOpts\n );\n }\n freeze() {\n this.statuses.frozen = true;\n }\n /**\n * Like `.go()`, but more... \"off the grid.\"\n *\n * - won't trigger `afterComplete` callback\n * - items won't be replayed after `.reset()`\n *\n * When called, all non-done items will be \"flushed\" --\n * that is, executed, but not remembered.\n */\n flush(cb = null) {\n this.flushCallback = cb || this.flushCallback;\n if (this.statuses.firing) {\n return this;\n }\n this.#attachCursor();\n this.#fire(false).then(() => {\n if (this.queue.getPendingQueueItems().length > 0) {\n return this.flush();\n }\n this.flushCallback();\n this.flushCallback = null;\n });\n return this;\n }\n getQueue() {\n return this.queue;\n }\n getOptions() {\n return this.opts;\n }\n updateOptions(options) {\n return this.#updateOptions(options);\n }\n getElement() {\n return this.element;\n }\n empty(actionOpts = {}) {\n return this.#queueAndReturn({ func: this.#empty.bind(this) }, actionOpts);\n }\n async #empty() {\n if (this.#elementIsInput()) {\n this.element.value = \"\";\n return;\n }\n this.#allChars.forEach(this.#removeNode.bind(this));\n return;\n }\n /**\n * Execute items in the queue.\n *\n * @param remember If false, each queue item will be destroyed once executed.\n * @returns\n */\n async #fire(remember = true) {\n this.statuses.started = true;\n this.statuses.firing = true;\n let cleanUp = (qKey) => {\n this.queue.done(qKey, !remember);\n };\n try {\n let queueItems = [...this.queue.getQueue()];\n for (let index = 0; index < queueItems.length; index++) {\n let [queueKey, queueItem] = queueItems[index];\n if (queueItem.done) continue;\n if (!queueItem.deletable || queueItem.deletable && this.#allChars.length) {\n let newIndex = await this.#fireItemWithContext(index, queueItems);\n cleanUpSkipped({\n index,\n newIndex,\n queueItems,\n cleanUp\n });\n index = newIndex;\n }\n cleanUp(queueKey);\n }\n if (!remember) {\n this.statuses.firing = false;\n return this;\n }\n this.statuses.completed = true;\n this.statuses.firing = false;\n await this.opts.afterComplete(this);\n if (!this.opts.loop) {\n throw \"\";\n }\n let delay = this.opts.loopDelay;\n this.#wait(async () => {\n await this.#prepLoop(delay[0]);\n this.#fire();\n }, delay[1]);\n } catch (e) {\n }\n this.statuses.firing = false;\n return this;\n }\n async #move(step) {\n this.cursorPosition = updateCursorPosition(\n step,\n this.cursorPosition,\n this.#allChars\n );\n repositionCursor(this.element, this.#allChars, this.cursorPosition);\n }\n /**\n * 1. Reset queue.\n * 2. Reset initial pause.\n */\n async #prepLoop(delay) {\n let derivedCursorPosition = this.#derivedCursorPosition;\n derivedCursorPosition && await this.#move({ value: derivedCursorPosition });\n let queueItems = this.#allChars.map((c) => {\n return [\n Symbol(),\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1),\n deletable: true,\n shouldPauseCursor: () => true\n }\n ];\n });\n for (let index = 0; index < queueItems.length; index++) {\n await this.#fireItemWithContext(index, queueItems);\n }\n this.queue.reset();\n this.queue.set(0, { delay });\n }\n #fireItemWithContext(index, queueItems) {\n return fireItem({\n index,\n queueItems,\n wait: this.#wait.bind(this),\n cursor: this.cursor,\n cursorOptions: this.opts.cursor\n });\n }\n async #wait(callback, delay, silent = false) {\n if (this.statuses.frozen) {\n await new Promise((resolve) => {\n this.unfreeze = () => {\n this.statuses.frozen = false;\n resolve();\n };\n });\n }\n silent || await this.opts.beforeStep(this);\n await wait(callback, delay, this.timeouts);\n silent || await this.opts.afterStep(this);\n }\n /**\n * Attach it to the DOM so, along with the required CSS transition.\n */\n async #attachCursor() {\n !this.#elementIsInput() && this.cursor && this.element.appendChild(this.cursor);\n if (this.#shouldRenderCursor) {\n setCursorStyles(this.id, this.element);\n this.cursor.dataset.tiAnimationId = this.id;\n let { animation } = this.opts.cursor;\n let { frames, options } = animation;\n setCursorAnimation({\n frames,\n cursor: this.cursor,\n options: {\n duration: this.opts.cursorSpeed,\n ...options\n }\n });\n }\n }\n #elementIsInput() {\n return isInput(this.element);\n }\n #queueAndReturn(steps, opts) {\n this.queue.add(steps);\n this.#maybeAppendPause(opts);\n return this;\n }\n #maybeAppendPause(opts = {}) {\n let delay = opts.delay;\n delay && this.queue.add({ delay });\n }\n #generateTemporaryOptionQueueItems(newOptions = {}) {\n return [\n { func: () => this.#updateOptions(newOptions) },\n { func: () => this.#updateOptions(this.opts) }\n ];\n }\n async #updateOptions(opts) {\n this.opts = merge(this.opts, opts);\n }\n /**\n * Based on provided strings, generate a TypeIt queue\n * to be fired for each character in the string.\n */\n #generateQueue() {\n let strings = this.opts.strings.filter((string) => !!string);\n strings.forEach((string, index) => {\n this.type(string);\n if (index + 1 === strings.length) {\n return;\n }\n let splitItems = this.opts.breakLines ? [{ func: () => this.#type(createElement(\"BR\")), typeable: true }] : duplicate(\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1)\n },\n this.queue.getTypeable().length\n );\n this.#addSplitPause(splitItems);\n });\n }\n #buildOptions = (options) => {\n this.opts.cursor = processCursorOptions(\n options.cursor ?? DEFAULT_OPTIONS.cursor\n );\n this.opts.strings = this.#prependHardcodedStrings(\n asArray(this.opts.strings)\n );\n this.opts = merge(this.opts, {\n html: !this.#isInput && this.opts.html,\n nextStringDelay: calculateDelay(this.opts.nextStringDelay),\n loopDelay: calculateDelay(this.opts.loopDelay)\n });\n };\n #prependHardcodedStrings(strings) {\n let existingMarkup = this.element.innerHTML;\n if (!existingMarkup) {\n return strings;\n }\n this.element.innerHTML = \"\";\n if (this.opts.startDelete) {\n this.element.innerHTML = existingMarkup;\n expandTextNodes(this.element);\n this.#addSplitPause(\n duplicate(\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1),\n deletable: true\n },\n this.#allChars.length\n )\n );\n return strings;\n }\n return splitOnBreak(existingMarkup).concat(strings);\n }\n /**\n * Provided it's a non-form element and the options is provided,\n * set up the cursor element for the animation.\n */\n #setUpCursor() {\n if (this.#isInput) {\n return null;\n }\n let cursor = createElement(\"span\");\n cursor.className = CURSOR_CLASS;\n if (!this.#shouldRenderCursor) {\n cursor.style.visibility = \"hidden\";\n return cursor;\n }\n cursor.innerHTML = getParsedBody(this.opts.cursorChar).innerHTML;\n return cursor;\n }\n #addSplitPause(items) {\n let delay = this.opts.nextStringDelay;\n this.queue.add([{ delay: delay[0] }, ...items, { delay: delay[1] }]);\n }\n #type(char) {\n insertIntoElement(this.element, char);\n }\n #delete() {\n if (!this.#allChars.length) return;\n if (this.#isInput) {\n this.element.value = this.element.value.slice(0, -1);\n } else {\n this.#removeNode(this.#allChars[this.cursorPosition]);\n }\n }\n #removeNode(node) {\n removeNode(node, this.element);\n }\n #getPace(index = 0) {\n return calculatePace(this.opts)[index];\n }\n get #derivedCursorPosition() {\n return this.predictedCursorPosition ?? this.cursorPosition;\n }\n get #isInput() {\n return isInput(this.element);\n }\n get #shouldRenderCursor() {\n return !!this.opts.cursor && !this.#isInput;\n }\n get #allChars() {\n return getAllChars(this.element);\n }\n}\n\nexport { TypeIt as default };\n","import { $LitElement } from '@mixins/index'\nimport { css, html, TemplateResult } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport TypeIt, { Options as TypeItOptions } from 'typeit'\n\n@customElement('schmancy-typewriter')\nexport class TypewriterElement extends $LitElement(css`\n\t:host {\n\t\tdisplay: inherit;\n\t}\n\n\t#typewriter {\n\t\t--ti-cursor-display: initial;\n\t}\n\n\t#typewriter .ti-cursor {\n\t\tdisplay: var(--ti-cursor-display);\n\t}\n`) {\n\t/**\n\t * Typing speed in milliseconds per character.\n\t */\n\t@property({ type: Number })\n\tspeed: number = 60\n\n\t/**\n\t * Delay before typing starts (ms).\n\t */\n\t@property({ type: Number })\n\tstartDelay: number = 0\n\n\t/**\n\t * Automatically start typing on initialization.\n\t */\n\t@property({ type: Boolean })\n\tautoStart: boolean = true\n\n\t/**\n\t * Whether to show the cursor.\n\t */\n\t@property({ type: Boolean })\n\tcursor: boolean = true\n\n\t/**\n\t * The cursor character.\n\t */\n\t@property({ type: String })\n\tcursorChar: string = ''\n\n\t/**\n\t * Typing speed for deletions (ms per character).\n\t */\n\t@property({ type: Number })\n\tdeleteSpeed: number = 30\n\n\t/**\n\t * TypeIt instance.\n\t */\n\tprivate typeItInstance: TypeIt | null = null\n\n\t/**\n\t * Reference to the typewriter container.\n\t */\n\t@query('#typewriter')\n\tprivate typewriterContainer!: HTMLElement\n\n\t@queryAssignedNodes({\n\t\tflatten: true,\n\t})\n\tprivate _getSlottedNodes!: Node[]\n\t/**\n\t * Lifecycle method called when the component is disconnected from the DOM.\n\t * Ensures that TypeIt instances are properly cleaned up.\n\t */\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis._destroyTypeIt()\n\t}\n\n\t/**\n\t * Initializes the TypeIt instance with the provided slotted content.\n\t */\n\tprivate _startTyping() {\n\t\t// Destroy any existing TypeIt instance\n\t\tthis._destroyTypeIt()\n\n\t\tif (!this.typewriterContainer) {\n\t\t\tconsole.warn('Typewriter container not found.')\n\t\t\treturn\n\t\t}\n\n\t\t// Configure TypeIt options\n\t\tconst typeItOptions: TypeItOptions = {\n\t\t\tspeed: this.speed,\n\t\t\tstartDelay: this.startDelay,\n\t\t\tcursor: this.cursor,\n\t\t\tcursorChar: this.cursorChar,\n\t\t\tdeleteSpeed: this.deleteSpeed,\n\t\t\tafterComplete: () => {\n\t\t\t\t// Dispatch the custom event\n\t\t\t\tthis.dispatchEvent(new CustomEvent('typeit-complete', { bubbles: true, composed: true }))\n\n\t\t\t\t// Hide the cursor\n\t\t\t\tthis.typewriterContainer.style.setProperty('--ti-cursor-display', 'none')\n\t\t\t},\n\t\t}\n\n\t\t// Initialize TypeIt\n\t\tthis.typeItInstance = new TypeIt(this.typewriterContainer, typeItOptions)\n\n\t\t// Process slotted content as actions\n\t\tconst slottedNodes = this._getSlottedNodes\n\t\tslottedNodes.forEach(node => {\n\t\t\tif (node.nodeType === Node.TEXT_NODE) {\n\t\t\t\t// Handle plain text\n\t\t\t\tthis.typeItInstance?.type(node.textContent || '')\n\t\t\t} else if (node instanceof HTMLElement) {\n\t\t\t\t// Handle custom element\n\t\t\t\tthis._processCustomElement(node)\n\t\t\t}\n\t\t})\n\n\t\t// Start the typing animation if autoStart is enabled\n\t\tif (this.autoStart) {\n\t\t\tthis.typeItInstance?.go()\n\t\t}\n\t}\n\n\t/**\n\t * Destroys the current TypeIt instance if it exists.\n\t */\n\tprivate _destroyTypeIt() {\n\t\tif (this.typeItInstance) {\n\t\t\ttry {\n\t\t\t\tthis.typeItInstance.destroy()\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error destroying TypeIt instance:', error)\n\t\t\t}\n\t\t\tthis.typeItInstance = null\n\t\t}\n\t}\n\n\t/**\n\t * Processes a custom element for its typing behavior.\n\t */\n\tprivate _processCustomElement(element: HTMLElement) {\n\t\tconst action = element.getAttribute('action')\n\t\tconst value = element.getAttribute('value')\n\t\tswitch (action) {\n\t\t\tcase 'pause':\n\t\t\t\tthis.typeItInstance?.pause(parseInt(value || '0', 10))\n\t\t\t\tbreak\n\t\t\tcase 'delete':\n\t\t\t\tthis.typeItInstance?.delete(parseInt(value || '0', 10))\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tif (element.tagName === 'P') {\n\t\t\t\t\tthis.typeItInstance.break()\n\t\t\t\t}\n\t\t\t\t// Treat as text if no action is defined\n\t\t\t\tthis.typeItInstance?.type(element.textContent || '')\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * Renders the component's HTML.\n\t */\n\trender(): TemplateResult {\n\t\treturn html`<div id=\"typewriter\" aria-live=\"polite\"></div>\n\n\t\t\t<slot\n\t\t\t\thidden\n\t\t\t\t@slotchange=${() => {\n\t\t\t\t\tthis._startTyping()\n\t\t\t\t}}\n\t\t\t></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-typewriter': TypewriterElement\n\t}\n}\n"],"names":["isArray","thing","Array","asArray","value","DATA_ATTRIBUTE","CURSOR_CLASS","DEFAULT_STATUSES","started","completed","frozen","destroyed","DEFAULT_OPTIONS","breakLines","cursor","autoPause","autoPauseDelay","animation","frames","map","n","opacity","options","iterations","Infinity","easing","fill","cursorChar","cursorSpeed","deleteSpeed","html","lifeLike","loop","loopDelay","nextStringDelay","speed","startDelay","startDelete","strings","waitUntilVisible","beforeString","afterString","beforeStep","afterStep","afterComplete","PLACEHOLDER_CSS","createElement","el","document","createTextNode","content","appendStyleBlock","styles","id","styleBlock","appendChild","head","calculateDelay","delayArg","randomInRange","range","Math","abs","random","val","toArray","from","expandTextNodes","element","childNodes","forEach","child","nodeValue","c","parentNode","insertBefore","remove","getParsedBody","doc","implementation","createHTMLDocument","body","innerHTML","walkElementNodes","shouldReverse","shouldIncludeCursor","nextNode","querySelector","walker","createTreeWalker","NodeFilter","SHOW_ALL","acceptNode","node","classList","contains","FILTER_ACCEPT","FILTER_REJECT","nodes","originalParent","push","reverse","maybeChunkStringAsHtml","str","asHtml","cleanUpSkipped","index","newIndex","queueItems","cleanUp","i","isNumber","Number","isInteger","countStepsToSelector","selector","cursorPosition","to","isMovingToEnd","RegExp","test","selectorIndex","findIndex","char","parentElement","parentMatches","matches","firstChild","isSameNode","length","duplicate","times","beforePaint","cb","Promise","resolve","requestAnimationFrame","async","getAnimationFromElement","getAnimations","find","dataset","tiAnimationId","setCursorAnimation","s","animate","pause","play","execute","queueItem","func","call","fireItem","wait","cursorOptions","instantQueue","tempIndex","futureItem","shouldBeGrouped","delay","shouldPauseCursor","q","effect","getComputedTiming","cancel","oldCurrentTime","currentTime","newAnimation","e","isInput","handleFunctionalArg","arg","select","all","merge","originalObj","newObj","Object","assign","cursorFontStyles","color","transform","TypeIt","__privateAdd","_E_instances","timeouts","predictedCursorPosition","statuses","firing","opts","queue","flushCallback","unfreeze","is","key","this","buildOptions","newOptions","defaultFrames","defaultOptions","prependHardcodedStrings","toString","substring","initialItems","add","steps","step","_q","set","Symbol","innerText","buildQueueItem","Boolean","typeable","cursorable","deletable","getQueue","rawValues","values","Map","item","keys","wipe","done","shouldDestroy","delete","get","reset","destroy","getItems","filter","getTypeable","getPendingQueueItems","pending","typeitId","bind","IntersectionObserver","entries","observer2","entry","isIntersecting","unobserve","threshold","observe","fire","shouldRemoveCursor","clearTimeout","rebuild","property","elementIsInput","string","actionOpts","instant","bookEndQueueItems","generateTemporaryOptionQueueItems","charsAsQueueItems","type","outerHTML","nodeType","Node","TEXT_NODE","itemsToQueue","queueAndReturn","movementArg","numberOfSteps","derivedCursorPosition","directionalStep","getPace","milliseconds","numCharacters","num","typeableQueueItems","rounds","then","flush","empty","allChars","removeNode","r_fn","remember","qKey","queueKey","move","printedCharacters","min","max","newCursorPosition","nodeToInsertBefore","prepLoop","fireItemWithContext","t","w_fn","callback","silent","setTimeout","attachCursor","cursorSelector","computedStyles","getComputedStyle","customProperties","reduce","accumulator","duration","n_fn","l_fn","x_fn","maybeAppendPause","o_fn","updateOptions","s_fn","generateQueue","splitItems","S_fn","existingMarkup","addSplitPause","replace","trim","split","concat","e_fn","setUpCursor","className","style","visibility","I_fn","items","a_fn","originalTarget","character","textContent","target","tagName","cursorNode","y_fn","slice","h_fn","rootElement","nodeParent","u_fn","C_get","v_get","shouldRenderCursor","TypewriterElement","$LitElement","css","super","arguments","autoStart","typeItInstance","disconnectedCallback","_destroyTypeIt","typewriterContainer","typeItOptions","dispatchEvent","CustomEvent","bubbles","composed","setProperty","_getSlottedNodes","HTMLElement","_processCustomElement","go","action","getAttribute","parseInt","break","_startTyping","__decorateClass","prototype","String","query","queryAssignedNodes","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/typewriter.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./typewriter-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./typewriter-D0yYoTg6.cjs");Object.defineProperty(exports,"TypewriterElement",{enumerable:!0,get:()=>e.TypewriterElement});
|
|
2
2
|
//# sourceMappingURL=typewriter.cjs.map
|
package/dist/typewriter.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "rxjs";
|
|
2
2
|
import "lit/directives/class-map.js";
|
|
3
3
|
import "lit/directives/style-map.js";
|
|
4
|
-
import { T as h } from "./tailwind.mixin-
|
|
4
|
+
import { T as h } from "./tailwind.mixin-D6m-sJmB.js";
|
|
5
5
|
import { html as x } from "lit";
|
|
6
6
|
import { property as i, customElement as g } from "lit/decorators.js";
|
|
7
7
|
var m = Object.defineProperty, y = Object.getOwnPropertyDescriptor, e = (s, n, r, a) => {
|
|
@@ -25,4 +25,4 @@ e([i({ type: String, reflect: !0 })], t.prototype, "type", 2), e([i({ type: Stri
|
|
|
25
25
|
export {
|
|
26
26
|
t as S
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=typography-
|
|
28
|
+
//# sourceMappingURL=typography-DFnAG6mR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typography-
|
|
1
|
+
{"version":3,"file":"typography-DFnAG6mR.js","sources":["../src/typography/typography.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport typographyStyle from './typography.scss?inline'\n// based on M3 typography https://m3.material.io/styles/typography/overview\n\n/**\n * @element schmancy-typography\n * @slot - The text for the typography.\n */\n@customElement('schmancy-typography')\nexport class SchmancyTypography extends TailwindElement(typographyStyle) {\n\t/**\n\t * @attr type - The type of the typography.\n\t * @default inherit\n\t * @type {'display' | 'headline' | 'title' | 'body' | 'label'}\n\t */\n\t@property({ type: String, reflect: true })\n\ttype: 'display' | 'headline' | 'title' | 'body' | 'label'\n\n\t/**\n\t * @attr token - The token of the typography.\n\t * @default 'md'\n\t * @type {'sm' |'md' |'lg'}\n\t */\n\t@property({ type: String, reflect: true })\n\ttoken: 'sm' | 'md' | 'lg' = 'md'\n\n\t/**\n\t * @attr\n\t * @default inherit\n\t * @type {'left' |'center' |'right'}\n\t */\n\t@property({ type: String })\n\talign: 'left' | 'center' | 'justify' | 'right' | undefined\n\n\t/**\n\t * @attr\n\t * @default inherit\n\t * @type {'normal' | 'medium' |'bold'}\n\t * @public\n\t */\n\t@property({ type: String })\n\tweight: 'normal' | 'medium' | 'bold' | undefined\n\n\t@property({ type: String }) lineHeight: string | undefined\n\t/**\n\t *\n\t * @attr\n\t * @default inherit\n\t * @type {'uppercase' |'lowercase' |'capitalize' |'normal'}\n\t * @public\n\t */\n\t@property({ type: String }) transform: 'uppercase' | 'lowercase' | 'capitalize' | 'normal' | undefined\n\n\t@property({ type: Number }) maxLines: 1 | 2 | 3 | 4 | 5 | 6 | undefined\n\n\t@property({ type: String }) letterSpacing: string | undefined\n\t@property({ type: String }) fontSize: string | undefined\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'hyphens-none items-center': true,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-start': this.align === 'left',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t'text-justify': this.align === 'justify',\n\t\t\t'line-clamp-1': this.maxLines === 1,\n\t\t\t'line-clamp-2': this.maxLines === 2,\n\t\t\t'line-clamp-3': this.maxLines === 3,\n\t\t\t'line-clamp-4': this.maxLines === 4,\n\t\t\t'line-clamp-5': this.maxLines === 5,\n\t\t\t'line-clamp-6': this.maxLines === 6,\n\t\t\t'line-clamp-none': this.maxLines === undefined,\n\n\t\t\t// Display\n\t\t\t'text-[57px] tracking-[-0.25px] leading-[64px]': this.type === 'display' && this.token === 'lg',\n\t\t\t'text-[45px] tracking-[0px] leading-[52px]': this.type === 'display' && this.token === 'md',\n\t\t\t'text-[36px] tracking-[0px] leading-[44px]': this.type === 'display' && this.token === 'sm',\n\n\t\t\t// Headline\n\t\t\t'text-[32px] tracking-[0px] leading-[40px]': this.type === 'headline' && this.token === 'lg',\n\t\t\t'text-[28px] tracking-[0px] leading-[36px]': this.type === 'headline' && this.token === 'md',\n\t\t\t'text-[24px] tracking-[0px] leading-[32px]': this.type === 'headline' && this.token === 'sm',\n\n\t\t\t// Title\n\t\t\t'text-[22px] tracking-[0px] leading-[28px]': this.type === 'title' && this.token === 'lg',\n\t\t\t'font-medium text-[16px] tracking-[0.15px] leading-[24px]': this.type === 'title' && this.token === 'md',\n\t\t\t'font-medium text-[14px] tracking-[0.1px] leading-[20px]':\n\t\t\t\t(this.type === 'title' && this.token === 'sm') || (this.type === 'label' && this.token === 'lg'),\n\n\t\t\t// Body\n\t\t\t'text-[16px] tracking-[0.5px] leading-[24px]': this.type === 'body' && this.token === 'lg',\n\t\t\t'text-[14px] tracking-[0.25px] leading-[20px]': this.type === 'body' && this.token === 'md',\n\t\t\t'text-[12px] tracking-[0.4px] leading-[16px]': this.type === 'body' && this.token === 'sm',\n\n\t\t\t// Label\n\t\t\t// large label is the same as Title sm\n\t\t\t'text-[12px] tracking-[0.5px] leading-[16px]': this.type === 'label' && this.token === 'md',\n\t\t\t'text-[11px] tracking-[0.5px] leading-[16px]': this.type === 'label' && this.token === 'sm',\n\n\t\t\t'font-bold': this.weight === 'bold',\n\t\t\t'font-medium': this.weight === 'medium',\n\t\t\t'font-normal': this.weight === 'normal',\n\n\t\t\tuppercase: this.transform === 'uppercase',\n\t\t\tlowercase: this.transform === 'lowercase',\n\t\t\tcapitalize: this.transform === 'capitalize',\n\t\t}\n\n\t\tconst styles = {\n\t\t\tletterSpacing: this.letterSpacing,\n\t\t\tfontSize: this.fontSize,\n\t\t\tlineHeight: this.lineHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<span style=${this.styleMap(styles)} class=${this.classMap(classes)}>\n\t\t\t\t<slot></slot>\n\t\t\t</span>\n\t\t`\n\t}\n}\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-typography': SchmancyTypography\n\t}\n}\n"],"names":["SchmancyTypography","TailwindElement","constructor","super","arguments","this","token","render","classes","align","maxLines","undefined","type","weight","uppercase","transform","lowercase","capitalize","styles","letterSpacing","fontSize","lineHeight","html","styleMap","classMap","__decorateClass","property","String","reflect","prototype","Number","customElement"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const o=require("./tailwind.mixin-
|
|
1
|
+
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const o=require("./tailwind.mixin-Dts5Uk3L.cjs"),y=require("lit"),t=require("lit/decorators.js");var l=Object.defineProperty,g=Object.getOwnPropertyDescriptor,e=(n,p,a,r)=>{for(var s,i=r>1?void 0:r?g(p,a):p,h=n.length-1;h>=0;h--)(s=n[h])&&(i=(r?s(p,a,i):s(i))||i);return r&&i&&l(p,a,i),i};exports.SchmancyTypography=class extends o.TailwindElement("h1,h2,h3,h4,h5,h6,p{margin-block-start:0px;margin-block-end:0px;margin:0}:host{display:block;font-family:inherit}"){constructor(){super(...arguments),this.token="md"}render(){const n={"hyphens-none items-center":!0,"text-center":this.align==="center","text-start":this.align==="left","text-right":this.align==="right","text-justify":this.align==="justify","line-clamp-1":this.maxLines===1,"line-clamp-2":this.maxLines===2,"line-clamp-3":this.maxLines===3,"line-clamp-4":this.maxLines===4,"line-clamp-5":this.maxLines===5,"line-clamp-6":this.maxLines===6,"line-clamp-none":this.maxLines===void 0,"text-[57px] tracking-[-0.25px] leading-[64px]":this.type==="display"&&this.token==="lg","text-[45px] tracking-[0px] leading-[52px]":this.type==="display"&&this.token==="md","text-[36px] tracking-[0px] leading-[44px]":this.type==="display"&&this.token==="sm","text-[32px] tracking-[0px] leading-[40px]":this.type==="headline"&&this.token==="lg","text-[28px] tracking-[0px] leading-[36px]":this.type==="headline"&&this.token==="md","text-[24px] tracking-[0px] leading-[32px]":this.type==="headline"&&this.token==="sm","text-[22px] tracking-[0px] leading-[28px]":this.type==="title"&&this.token==="lg","font-medium text-[16px] tracking-[0.15px] leading-[24px]":this.type==="title"&&this.token==="md","font-medium text-[14px] tracking-[0.1px] leading-[20px]":this.type==="title"&&this.token==="sm"||this.type==="label"&&this.token==="lg","text-[16px] tracking-[0.5px] leading-[24px]":this.type==="body"&&this.token==="lg","text-[14px] tracking-[0.25px] leading-[20px]":this.type==="body"&&this.token==="md","text-[12px] tracking-[0.4px] leading-[16px]":this.type==="body"&&this.token==="sm","text-[12px] tracking-[0.5px] leading-[16px]":this.type==="label"&&this.token==="md","text-[11px] tracking-[0.5px] leading-[16px]":this.type==="label"&&this.token==="sm","font-bold":this.weight==="bold","font-medium":this.weight==="medium","font-normal":this.weight==="normal",uppercase:this.transform==="uppercase",lowercase:this.transform==="lowercase",capitalize:this.transform==="capitalize"},p={letterSpacing:this.letterSpacing,fontSize:this.fontSize,lineHeight:this.lineHeight};return y.html`
|
|
2
2
|
<span style=${this.styleMap(p)} class=${this.classMap(n)}>
|
|
3
3
|
<slot></slot>
|
|
4
4
|
</span>
|
|
5
5
|
`}},e([t.property({type:String,reflect:!0})],exports.SchmancyTypography.prototype,"type",2),e([t.property({type:String,reflect:!0})],exports.SchmancyTypography.prototype,"token",2),e([t.property({type:String})],exports.SchmancyTypography.prototype,"align",2),e([t.property({type:String})],exports.SchmancyTypography.prototype,"weight",2),e([t.property({type:String})],exports.SchmancyTypography.prototype,"lineHeight",2),e([t.property({type:String})],exports.SchmancyTypography.prototype,"transform",2),e([t.property({type:Number})],exports.SchmancyTypography.prototype,"maxLines",2),e([t.property({type:String})],exports.SchmancyTypography.prototype,"letterSpacing",2),e([t.property({type:String})],exports.SchmancyTypography.prototype,"fontSize",2),exports.SchmancyTypography=e([t.customElement("schmancy-typography")],exports.SchmancyTypography);
|
|
6
|
-
//# sourceMappingURL=typography-
|
|
6
|
+
//# sourceMappingURL=typography-Depf5xNK.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typography-
|
|
1
|
+
{"version":3,"file":"typography-Depf5xNK.cjs","sources":["../src/typography/typography.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport typographyStyle from './typography.scss?inline'\n// based on M3 typography https://m3.material.io/styles/typography/overview\n\n/**\n * @element schmancy-typography\n * @slot - The text for the typography.\n */\n@customElement('schmancy-typography')\nexport class SchmancyTypography extends TailwindElement(typographyStyle) {\n\t/**\n\t * @attr type - The type of the typography.\n\t * @default inherit\n\t * @type {'display' | 'headline' | 'title' | 'body' | 'label'}\n\t */\n\t@property({ type: String, reflect: true })\n\ttype: 'display' | 'headline' | 'title' | 'body' | 'label'\n\n\t/**\n\t * @attr token - The token of the typography.\n\t * @default 'md'\n\t * @type {'sm' |'md' |'lg'}\n\t */\n\t@property({ type: String, reflect: true })\n\ttoken: 'sm' | 'md' | 'lg' = 'md'\n\n\t/**\n\t * @attr\n\t * @default inherit\n\t * @type {'left' |'center' |'right'}\n\t */\n\t@property({ type: String })\n\talign: 'left' | 'center' | 'justify' | 'right' | undefined\n\n\t/**\n\t * @attr\n\t * @default inherit\n\t * @type {'normal' | 'medium' |'bold'}\n\t * @public\n\t */\n\t@property({ type: String })\n\tweight: 'normal' | 'medium' | 'bold' | undefined\n\n\t@property({ type: String }) lineHeight: string | undefined\n\t/**\n\t *\n\t * @attr\n\t * @default inherit\n\t * @type {'uppercase' |'lowercase' |'capitalize' |'normal'}\n\t * @public\n\t */\n\t@property({ type: String }) transform: 'uppercase' | 'lowercase' | 'capitalize' | 'normal' | undefined\n\n\t@property({ type: Number }) maxLines: 1 | 2 | 3 | 4 | 5 | 6 | undefined\n\n\t@property({ type: String }) letterSpacing: string | undefined\n\t@property({ type: String }) fontSize: string | undefined\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'hyphens-none items-center': true,\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-start': this.align === 'left',\n\t\t\t'text-right': this.align === 'right',\n\t\t\t'text-justify': this.align === 'justify',\n\t\t\t'line-clamp-1': this.maxLines === 1,\n\t\t\t'line-clamp-2': this.maxLines === 2,\n\t\t\t'line-clamp-3': this.maxLines === 3,\n\t\t\t'line-clamp-4': this.maxLines === 4,\n\t\t\t'line-clamp-5': this.maxLines === 5,\n\t\t\t'line-clamp-6': this.maxLines === 6,\n\t\t\t'line-clamp-none': this.maxLines === undefined,\n\n\t\t\t// Display\n\t\t\t'text-[57px] tracking-[-0.25px] leading-[64px]': this.type === 'display' && this.token === 'lg',\n\t\t\t'text-[45px] tracking-[0px] leading-[52px]': this.type === 'display' && this.token === 'md',\n\t\t\t'text-[36px] tracking-[0px] leading-[44px]': this.type === 'display' && this.token === 'sm',\n\n\t\t\t// Headline\n\t\t\t'text-[32px] tracking-[0px] leading-[40px]': this.type === 'headline' && this.token === 'lg',\n\t\t\t'text-[28px] tracking-[0px] leading-[36px]': this.type === 'headline' && this.token === 'md',\n\t\t\t'text-[24px] tracking-[0px] leading-[32px]': this.type === 'headline' && this.token === 'sm',\n\n\t\t\t// Title\n\t\t\t'text-[22px] tracking-[0px] leading-[28px]': this.type === 'title' && this.token === 'lg',\n\t\t\t'font-medium text-[16px] tracking-[0.15px] leading-[24px]': this.type === 'title' && this.token === 'md',\n\t\t\t'font-medium text-[14px] tracking-[0.1px] leading-[20px]':\n\t\t\t\t(this.type === 'title' && this.token === 'sm') || (this.type === 'label' && this.token === 'lg'),\n\n\t\t\t// Body\n\t\t\t'text-[16px] tracking-[0.5px] leading-[24px]': this.type === 'body' && this.token === 'lg',\n\t\t\t'text-[14px] tracking-[0.25px] leading-[20px]': this.type === 'body' && this.token === 'md',\n\t\t\t'text-[12px] tracking-[0.4px] leading-[16px]': this.type === 'body' && this.token === 'sm',\n\n\t\t\t// Label\n\t\t\t// large label is the same as Title sm\n\t\t\t'text-[12px] tracking-[0.5px] leading-[16px]': this.type === 'label' && this.token === 'md',\n\t\t\t'text-[11px] tracking-[0.5px] leading-[16px]': this.type === 'label' && this.token === 'sm',\n\n\t\t\t'font-bold': this.weight === 'bold',\n\t\t\t'font-medium': this.weight === 'medium',\n\t\t\t'font-normal': this.weight === 'normal',\n\n\t\t\tuppercase: this.transform === 'uppercase',\n\t\t\tlowercase: this.transform === 'lowercase',\n\t\t\tcapitalize: this.transform === 'capitalize',\n\t\t}\n\n\t\tconst styles = {\n\t\t\tletterSpacing: this.letterSpacing,\n\t\t\tfontSize: this.fontSize,\n\t\t\tlineHeight: this.lineHeight,\n\t\t}\n\n\t\treturn html`\n\t\t\t<span style=${this.styleMap(styles)} class=${this.classMap(classes)}>\n\t\t\t\t<slot></slot>\n\t\t\t</span>\n\t\t`\n\t}\n}\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-typography': SchmancyTypography\n\t}\n}\n"],"names":["SchmancyTypography","TailwindElement","constructor","super","arguments","this","token","classes","align","maxLines","undefined","type","weight","uppercase","transform","lowercase","capitalize","styles","letterSpacing","fontSize","lineHeight","html","styleMap","classMap","__decorateClass","property","String","reflect","prototype","Number","customElement"],"mappings":"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"}
|
package/dist/typography.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./typography-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./typography-Depf5xNK.cjs");Object.defineProperty(exports,"SchmancyTypography",{enumerable:!0,get:()=>e.SchmancyTypography});
|
|
2
2
|
//# sourceMappingURL=typography.cjs.map
|
package/dist/typography.js
CHANGED
package/package.json
CHANGED
|
@@ -2,7 +2,8 @@ declare const SchmancyDivider_base: CustomElementConstructor & import("@mixins/i
|
|
|
2
2
|
export default class SchmancyDivider extends SchmancyDivider_base {
|
|
3
3
|
outline: 'default' | 'variant';
|
|
4
4
|
orientation: 'horizontal' | 'vertical';
|
|
5
|
-
|
|
5
|
+
grow: 'start' | 'end' | 'both';
|
|
6
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
6
7
|
}
|
|
7
8
|
declare global {
|
|
8
9
|
interface HTMLElementTagNameMap {
|
package/dist/divider-DxinuVg5.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import "rxjs";
|
|
2
|
-
import "lit/directives/class-map.js";
|
|
3
|
-
import "lit/directives/style-map.js";
|
|
4
|
-
import { $ as l } from "./litElement.mixin-Bl038NZS.js";
|
|
5
|
-
import "./tailwind.mixin-CP8BNFiT.js";
|
|
6
|
-
import { css as c, html as d } from "lit";
|
|
7
|
-
import { property as p, customElement as m } from "lit/decorators.js";
|
|
8
|
-
var u = Object.defineProperty, v = Object.getOwnPropertyDescriptor, h = (r, o, n, i) => {
|
|
9
|
-
for (var a, t = i > 1 ? void 0 : i ? v(o, n) : o, s = r.length - 1; s >= 0; s--) (a = r[s]) && (t = (i ? a(o, n, t) : a(t)) || t);
|
|
10
|
-
return i && t && u(o, n, t), t;
|
|
11
|
-
};
|
|
12
|
-
let e = class extends l(c`
|
|
13
|
-
:host {
|
|
14
|
-
display: block;
|
|
15
|
-
}
|
|
16
|
-
:host([orientation='horizontal']) {
|
|
17
|
-
width: 100%;
|
|
18
|
-
height: 1px;
|
|
19
|
-
}
|
|
20
|
-
:host([orientation='vertical']) {
|
|
21
|
-
height: 100%;
|
|
22
|
-
width: 1px;
|
|
23
|
-
}
|
|
24
|
-
`) {
|
|
25
|
-
constructor() {
|
|
26
|
-
super(...arguments), this.outline = "variant", this.orientation = "horizontal";
|
|
27
|
-
}
|
|
28
|
-
render() {
|
|
29
|
-
const r = { "border-t": this.orientation === "horizontal", "border-l h-full": this.orientation === "vertical", "border-outlineVariant": this.outline === "variant", "border-outline": this.outline === "default" };
|
|
30
|
-
return d`<div class="${this.classMap(r)}"></div>`;
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
h([p()], e.prototype, "outline", 2), h([p({ reflect: !0 })], e.prototype, "orientation", 2), e = h([m("schmancy-divider")], e);
|
|
34
|
-
//# sourceMappingURL=divider-DxinuVg5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"divider-DxinuVg5.js","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\t:host([orientation='horizontal']) {\n\t\twidth: 100%;\n\t\theight: 1px;\n\t}\n\t:host([orientation='vertical']) {\n\t\theight: 100%;\n\t\twidth: 1px;\n\t}\n`) {\n\t@property() outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'border-t': this.orientation === 'horizontal',\n\t\t\t'border-l h-full': this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t}\n\t\treturn html`<div class=\"${this.classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","constructor","super","arguments","this","outline","orientation","classes","html","classMap","__decorateClass","property","prototype","reflect","customElement"],"mappings":";;;;;;;;;;;AAMA,IAAqBA,IAArB,cAA6CC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAAzD,cAAAC;AAAAC,UAAAC,GAAAA,SAAAA,GAa8CC,KAAAC,UAAA,WACyBD,KAAAE,cAAA;AAAA,EAAA;AAAA,EAC5D,SACT;AAAA,UAAMC,IAAU,EACf,YAAYH,KAAKE,gBAAgB,cACjC,mBAAmBF,KAAKE,gBAAgB,YACxC,yBAAyBF,KAAKC,YAAY,WAC1C,kBAAkBD,KAAKC,YAAY,UAAZA;AAExB,WAAOG,gBAAmBJ,KAAKK,SAASF,CAAAA,CAAAA;AAAAA,EAAQ;AATrCG;AAAAA,EAAA,CAAXC,EAAAA,CAAAA,GAbmBb,EAaRc,WAAA,WAAA,CAAA,GACiBF,EAAA,CAA5BC,EAAS,EAAEE,SAAS,GAAA,CAAA,CAAA,GAdDf,EAcSc,WAAA,eAAA,CAAA,GAdTd,IAArBY,EAAA,CADCI,EAAc,kBACMhB,CAAAA,GAAAA,CAAAA;"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const l=require("./litElement.mixin-B6SmKh9a.cjs");require("./tailwind.mixin-698watWc.cjs");const c=require("lit"),h=require("lit/decorators.js");var d=Object.defineProperty,p=Object.getOwnPropertyDescriptor,u=(e,r,n,i)=>{for(var s,t=i>1?void 0:i?p(r,n):r,a=e.length-1;a>=0;a--)(s=e[a])&&(t=(i?s(r,n,t):s(t))||t);return i&&t&&d(r,n,t),t};let o=class extends l.$LitElement(c.css`
|
|
2
|
-
:host {
|
|
3
|
-
display: block;
|
|
4
|
-
}
|
|
5
|
-
:host([orientation='horizontal']) {
|
|
6
|
-
width: 100%;
|
|
7
|
-
height: 1px;
|
|
8
|
-
}
|
|
9
|
-
:host([orientation='vertical']) {
|
|
10
|
-
height: 100%;
|
|
11
|
-
width: 1px;
|
|
12
|
-
}
|
|
13
|
-
`){constructor(){super(...arguments),this.outline="variant",this.orientation="horizontal"}render(){const e={"border-t":this.orientation==="horizontal","border-l h-full":this.orientation==="vertical","border-outlineVariant":this.outline==="variant","border-outline":this.outline==="default"};return c.html`<div class="${this.classMap(e)}"></div>`}};u([h.property()],o.prototype,"outline",2),u([h.property({reflect:!0})],o.prototype,"orientation",2),o=u([h.customElement("schmancy-divider")],o);
|
|
14
|
-
//# sourceMappingURL=divider-xYxX2ecE.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"divider-xYxX2ecE.cjs","sources":["../src/divider/divider.ts"],"sourcesContent":["// divider.ts\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-divider')\nexport default class SchmancyDivider extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n\t:host([orientation='horizontal']) {\n\t\twidth: 100%;\n\t\theight: 1px;\n\t}\n\t:host([orientation='vertical']) {\n\t\theight: 100%;\n\t\twidth: 1px;\n\t}\n`) {\n\t@property() outline: 'default' | 'variant' = 'variant'\n\t@property({ reflect: true }) orientation: 'horizontal' | 'vertical' = 'horizontal'\n\tprotected render(): unknown {\n\t\tconst classes = {\n\t\t\t'border-t': this.orientation === 'horizontal',\n\t\t\t'border-l h-full': this.orientation === 'vertical',\n\t\t\t'border-outlineVariant': this.outline === 'variant',\n\t\t\t'border-outline': this.outline === 'default',\n\t\t}\n\t\treturn html`<div class=\"${this.classMap(classes)}\"></div>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-divider': SchmancyDivider\n\t}\n}\n"],"names":["SchmancyDivider","$LitElement","css","super","arguments","this","outline","orientation","render","classes","html","classMap","__decorateClass","property","prototype","reflect","customElement"],"mappings":"6bAMA,IAAqBA,EAArB,cAA6CC,EAAAA,YAAYC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAzD,CAAA,CAAA,aAAAC,CAAAA,MAAAA,GAAAC,SAa8CC,EAAAA,KAAAC,QAAA,UACyBD,KAAAE,YAAA,YAAA,CAC5D,QAAAC,CACT,MAAMC,EAAU,CACf,WAAYJ,KAAKE,cAAgB,aACjC,kBAAmBF,KAAKE,cAAgB,WACxC,wBAAyBF,KAAKC,UAAY,UAC1C,iBAAkBD,KAAKC,UAAY,SAAZA,EAExB,OAAOI,EAAAA,mBAAmBL,KAAKM,SAASF,CAAQ,CAAA,UAAA,CAAA,EATrCG,EAAA,CAAXC,EAASA,SAAAA,CAAAA,EAbUb,EAaRc,UAAA,UAAA,CACiBF,EAAAA,EAAA,CAA5BC,WAAS,CAAEE,QAAS,EAAA,CAAA,CAAA,EAdDf,EAcSc,UAAA,cAAA,CAAA,EAdTd,EAArBY,EAAA,CADCI,EAAAA,cAAc,kBACMhB,CAAAA,EAAAA,CAAAA"}
|