@rickard.antonsson/ts-utility 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,13 @@
1
1
  import { Fn } from '../../types';
2
+ /**
3
+ * Create htmlelement with direct possibility of accessing the element and adding childnodes.
4
+ *
5
+ * example: createElement('div', e => (e.textContent = 'Sometext'), [createElement('a{link text}[href=link-url]')])
6
+ * @param basicEmmet div.class1.class-2#my-id[attribute1 attribute2=somevalue]
7
+ * @param listOrFn optional - childList or function which gets the element as input
8
+ * @param list optional - childList
9
+ * @returns HtmlElement
10
+ */
2
11
  export declare function createElement<S extends keyof HTMLElementTagNameMap | `${keyof HTMLElementTagNameMap}${SplittingChars}${string}`>(basicEmmet: S, listOrFn?: (HTMLElement | string | (() => HTMLElement | string))[] | Fn<[HTMLElementTagNameMap[ExtractHtmlTagName<S>]], void>, list?: (HTMLElement | string | (() => HTMLElement | string))[]): HTMLElementTagNameMap[ExtractHtmlTagName<S>];
3
12
  type SplittingChars = '.' | '{' | '#' | '[';
4
13
  type ExtractHtmlTagName<T extends string> = T extends keyof HTMLElementTagNameMap ? T : T extends `${infer Tag}${SplittingChars}${string}` ? Tag extends keyof HTMLElementTagNameMap ? Tag : never : never;
@@ -1,6 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createElement = createElement;
4
+ /**
5
+ * Create htmlelement with direct possibility of accessing the element and adding childnodes.
6
+ *
7
+ * example: createElement('div', e => (e.textContent = 'Sometext'), [createElement('a{link text}[href=link-url]')])
8
+ * @param basicEmmet div.class1.class-2#my-id[attribute1 attribute2=somevalue]
9
+ * @param listOrFn optional - childList or function which gets the element as input
10
+ * @param list optional - childList
11
+ * @returns HtmlElement
12
+ */
4
13
  function createElement(basicEmmet, listOrFn, list) {
5
14
  const elm = emmetCreateElement(basicEmmet);
6
15
  if (!elm)
@@ -27,7 +36,7 @@ function emmetCreateElement(input) {
27
36
  const [, text] = (_c = input.match(/{(.*)}/)) !== null && _c !== void 0 ? _c : [];
28
37
  if (text)
29
38
  element.textContent = text;
30
- const classnames = [...input.matchAll(/\.([a-z-0-9]*)/g)];
39
+ const classnames = [...input.matchAll(/\.([a-z-0-9:]*)/g)];
31
40
  if (classnames.length)
32
41
  element.className = classnames.map(cn => cn[1]).join(' ');
33
42
  const [, allAttributes] = (_d = input.match(/\[(.*?)\]/)) !== null && _d !== void 0 ? _d : [];
@@ -1 +1 @@
1
- {"version":3,"file":"create-element.js","sourceRoot":"","sources":["../../../src/functions/other/create-element.ts"],"names":[],"mappings":";;AAEA,sCAsBC;AAtBD,SAAgB,aAAa,CAK3B,UAAa,EACb,QAE4D,EAC5D,IAA8D;IAE9D,MAAM,GAAG,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;IAC3D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAChD,IAAI,OAAO,QAAQ,KAAK,UAAU;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;;YAE3D,GAAG,CAAC,MAAM,CACR,GAAG,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;IACN,CAAC;IACD,IAAI,IAAI;QAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CAAmB,KAAQ;;IACpD,MAAM,CAAC,EAAE,OAAO,EAAE,AAAD,EAAG,QAAQ,CAAC,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,mCAAI,EAAE,CAAC;IAC7E,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CACpC,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,KAAK,CAA0B,CAC5C,CAAC;IACF,IAAI,QAAQ;QAAE,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEvD,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,mCAAI,EAAE,CAAC;IAC/C,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAExB,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC;IAC7C,IAAI,IAAI;QAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAErC,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1D,IAAI,UAAU,CAAC,MAAM;QACnB,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5D,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,mCAAI,EAAE,CAAC;IACzD,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAC,iCAAiC,CAAC,mCAAI,EAAE,CAAC;KACtE,CAAC;IACF,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CACX,CAAC,CAAC,EAAE,IAAI,EAAE,AAAD,EAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,WAC/B,OAAA,CAAE,OAAe,CAAC,IAAI,CAAC,GAAG,MAAA,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,QAAQ,mCAAI,IAAI,CAAC,CAAA,EAAA,CACxD,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAgB,EAAE,SAAiB;;IAChE,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;QACpC,MAAM,MAAM,GAA8B;YACxC,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,UAAU;YACb,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,OAAO;YACV,CAAC,EAAE,OAAO;YACV,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,UAAU;SACd,CAAC;QAEF,GAAG,CAAC,IAAI,GAAG,MAAA,MAAM,CAAC,SAAS,CAAC,mCAAI,SAAS,CAAC;IAC5C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create-element.js","sourceRoot":"","sources":["../../../src/functions/other/create-element.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rickard.antonsson/ts-utility",
3
- "version": "2.2.2",
3
+ "version": "2.2.3",
4
4
  "description": "My favorite small helper functions",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",