@mattilsynet/design 0.0.13 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/mtds/alert/alert.stories.d.ts +10 -0
  2. package/mtds/avatar/avatar.stories.d.ts +7 -0
  3. package/mtds/breadcrumbs/breadcrumbs.stories.d.ts +9 -0
  4. package/mtds/button/button.stories.d.ts +15 -0
  5. package/mtds/card/card.stories.d.ts +7 -0
  6. package/mtds/chip/chip.stories.d.ts +7 -0
  7. package/mtds/details/details.stories.d.ts +10 -0
  8. package/mtds/errorsummary/errorsummary.stories.d.ts +7 -0
  9. package/mtds/favicon-dark.ico +0 -0
  10. package/mtds/favicon.ico +0 -0
  11. package/mtds/favicon.svg +4 -0
  12. package/mtds/field/field.d.ts +2 -2
  13. package/mtds/field/field.js +34 -26
  14. package/mtds/field/field.js.map +1 -1
  15. package/mtds/field/field.stories.d.ts +11 -0
  16. package/mtds/fieldset/fieldset.d.ts +2 -0
  17. package/mtds/fieldset/fieldset.js +28 -0
  18. package/mtds/fieldset/fieldset.js.map +1 -0
  19. package/mtds/fieldset/fieldset.stories.d.ts +12 -0
  20. package/mtds/index.d.ts +19 -1
  21. package/mtds/index.iife.js +2 -2
  22. package/mtds/index.iife.js.map +1 -1
  23. package/mtds/index.js +14 -10
  24. package/mtds/index.js.map +1 -1
  25. package/mtds/input/input.stories.d.ts +12 -0
  26. package/mtds/layout/layout.stories.d.ts +17 -0
  27. package/mtds/link/link.stories.d.ts +7 -0
  28. package/mtds/logo/logo.stories.d.ts +7 -0
  29. package/mtds/modal/modal.stories.d.ts +8 -0
  30. package/mtds/pagination/pagination.d.ts +13 -0
  31. package/mtds/pagination/pagination.js +20 -0
  32. package/mtds/pagination/pagination.js.map +1 -0
  33. package/mtds/pagination/pagination.stories.d.ts +10 -0
  34. package/mtds/popover/popover.js +24 -24
  35. package/mtds/popover/popover.js.map +1 -1
  36. package/mtds/popover/popover.stories.d.ts +10 -0
  37. package/mtds/styles.css +2097 -2332
  38. package/mtds/styles.json +30 -13
  39. package/mtds/styles.module.css.js +60 -26
  40. package/mtds/styles.module.css.js.map +1 -1
  41. package/mtds/table/table.d.ts +2 -0
  42. package/mtds/table/table.js +30 -0
  43. package/mtds/table/table.js.map +1 -0
  44. package/mtds/table/table.mockData.d.ts +8 -0
  45. package/mtds/table/table.stories.d.ts +28 -0
  46. package/mtds/tabs/tabs.stories.d.ts +8 -0
  47. package/mtds/tag/tag.stories.d.ts +7 -0
  48. package/mtds/utils.d.ts +29 -0
  49. package/mtds/utils.js +23 -20
  50. package/mtds/utils.js.map +1 -1
  51. package/mtds/validation/validation.stories.d.ts +7 -0
  52. package/package.json +32 -13
  53. package/mtds/input/input.d.ts +0 -1
@@ -0,0 +1,10 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ };
5
+ export default meta;
6
+ type Story = StoryObj<typeof meta>;
7
+ export declare const Default: Story;
8
+ export declare const Buttons: Story;
9
+ export declare const Sizes: Story;
10
+ export declare const Helper: Story;
@@ -1,40 +1,40 @@
1
- import { reposition as a } from "../external/nanopop/dist/nanopop.js";
1
+ import { reposition as g } from "../external/nanopop/dist/nanopop.js";
2
2
  import m from "../styles.module.css.js";
3
- import { IS_BROWSER as g, on as r, off as s } from "../utils.js";
4
- const u = m.popover.split(" ")[0], l = { toJSON: () => "", bottom: 0, height: 0, left: 0, right: 0, top: 0, width: 0, x: 0, y: 0 }, f = /(top|right|bottom|left)-(start|middle|end)/;
5
- g && h(document);
6
- function p(t, e) {
7
- const i = e.getAttribute("data-position") || "bottom-start";
8
- if (!f.test(i)) return console.error(`Found invalid data-position="${i}"
3
+ import { IS_BROWSER as l, on as s, QUICK_EVENT as n, off as d } from "../utils.js";
4
+ const f = m.popover.split(" ")[0], u = { toJSON: () => "", bottom: 0, height: 0, left: 0, right: 0, top: 0, width: 0, x: 0, y: 0 }, p = /(top|right|bottom|left)-(start|middle|end)/;
5
+ l && b(document);
6
+ function h(t, e) {
7
+ const r = e.getAttribute("data-position") || "bottom-start";
8
+ if (!p.test(r)) return console.error(`Found invalid data-position="${r}"
9
9
  - It must be [top|right|bottom|left]-[start|middle|end]
10
10
  - Found on element:`, e);
11
- const o = () => a(t, e, {
12
- container: { ...l, bottom: window.innerHeight, right: window.innerWidth },
11
+ const o = () => g(t, e, {
12
+ container: { ...u, bottom: window.innerHeight, right: window.innerWidth },
13
13
  margin: 4,
14
14
  // Margin between the popper element and the reference
15
15
  padding: 16,
16
16
  // Minimum space between the popper and the container
17
- position: i
17
+ position: r
18
18
  // [top|right|bottom|left]-[start|middle|end]
19
- }), n = ({ newState: c }) => {
20
- c !== "open" && (s(document, "DOMContentReady", o), s(e, "toggle", n), s(window, "load,resize,scroll", o, !0));
19
+ }), i = ({ newState: c }) => {
20
+ c !== "open" && (d(document, "DOMContentReady", o, n), d(e, "toggle", i, n), d(window, "load,resize,scroll", o, n));
21
21
  };
22
- document.fonts.ready.then(o), r(document, "DOMContentReady", o), r(e, "toggle", n), r(window, "load,resize,scroll", o, !0);
22
+ document.fonts.ready.then(o), s(document, "DOMContentReady", o, n), s(e, "toggle", i, n), s(window, "load,resize,scroll", o, n);
23
23
  }
24
- function d({ target: t, newState: e }) {
25
- var n;
26
- const o = e === "open" && t instanceof HTMLElement && t.classList.contains(u) && ((n = t.getRootNode()) == null ? void 0 : n.querySelector(`[popovertarget="${t.id}"]`));
27
- o && p(o, t);
24
+ function a({ target: t, newState: e }) {
25
+ var i;
26
+ const o = e === "open" && t instanceof HTMLElement && t.classList.contains(f) && ((i = t.getRootNode()) == null ? void 0 : i.querySelector(`[popovertarget="${t.id}"]`));
27
+ o && h(o, t);
28
28
  }
29
- function h(t) {
30
- t.addEventListener("toggle", d, !0);
29
+ function b(t) {
30
+ s(t, "toggle", a, n);
31
31
  }
32
- function S(t) {
33
- t.removeEventListener("toggle", d, !0);
32
+ function E(t) {
33
+ d(t, "toggle", a, n);
34
34
  }
35
35
  export {
36
- p as anchorPosition,
37
- h as observe,
38
- S as unobserve
36
+ h as anchorPosition,
37
+ b as observe,
38
+ E as unobserve
39
39
  };
40
40
  //# sourceMappingURL=popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sources":["../../designsystem/popover/popover.ts"],"sourcesContent":["import { type NanoPopPosition, reposition } from 'nanopop';\nimport styles from '../styles.module.css';\nimport { IS_BROWSER, off, on } from '../utils';\n\nconst CSS_POPOVER = styles.popover.split(' ')[0];\nconst CONTAINER = { toJSON: () => '', bottom: 0, height: 0, left: 0, right: 0, top: 0, width: 0, x: 0, y: 0 };\nconst POSITIONS = /(top|right|bottom|left)-(start|middle|end)/;\ntype Toggle = Event & { newState?: string };\n\nif (IS_BROWSER) observe(document);\n\n// Not exposed as a hook, as it is nice to allow consuming components to use it as a callback\nexport function anchorPosition(anchor: HTMLElement, popover: HTMLElement) {\n const position = (popover.getAttribute('data-position') || 'bottom-start') as NanoPopPosition;\n if (!POSITIONS.test(position)) return console.error(`Found invalid data-position=\"${position}\"\\n- It must be [top|right|bottom|left]-[start|middle|end]\\n- Found on element:`, popover);\n\n const update = () =>\n reposition(anchor, popover, {\n container: { ...CONTAINER, bottom: window.innerHeight, right: window.innerWidth },\n margin: 4, // Margin between the popper element and the reference\n padding: 16, // Minimum space between the popper and the container\n position // [top|right|bottom|left]-[start|middle|end]\n });\n\n const removeEvent = ({ newState }: Toggle) => {\n if (newState === 'open') return;\n off(document, 'DOMContentReady', update);\n off(popover, 'toggle', removeEvent);\n off(window, 'load,resize,scroll', update, true);\n }\n \n\n document.fonts.ready.then(update); // Inital render and when fonts load\n on(document, 'DOMContentReady', update);\n on(popover, 'toggle', removeEvent);\n on(window, 'load,resize,scroll', update, true); // Use capture to also listen for elements with overflow\n}\n\nfunction process ({ target: el, newState }: Toggle){\n const isPopping = newState === 'open' && el instanceof HTMLElement && el.classList.contains(CSS_POPOVER);\n const anchor = isPopping && (el.getRootNode() as ShadowRoot)?.querySelector<HTMLElement>(`[popovertarget=\"${el.id}\"]`);\n\n if (anchor) anchorPosition(anchor, el);\n}\n\nexport function observe(el: Node) {\n el.addEventListener('toggle', process, true); // Use capture since toggle does not bubble\n}\nexport function unobserve(el: Node) {\n el.removeEventListener('toggle', process, true); // Use capture since toggle does not bubble\n}"],"names":["CSS_POPOVER","styles","CONTAINER","POSITIONS","IS_BROWSER","anchorPosition","anchor","popover","position","update","reposition","removeEvent","newState","off","on","process","el","_a","observe","unobserve"],"mappings":";;;AAIA,MAAMA,IAAcC,EAAO,QAAQ,MAAM,GAAG,EAAE,CAAC,GACzCC,IAAY,EAAE,QAAQ,MAAM,IAAI,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,GACtGC,IAAY;AAGdC,OAAoB,QAAQ;AAGhB,SAAAC,EAAeC,GAAqBC,GAAsB;AACxE,QAAMC,IAAYD,EAAQ,aAAa,eAAe,KAAK;AACvD,MAAA,CAACJ,EAAU,KAAKK,CAAQ,EAAU,QAAA,QAAQ,MAAM,gCAAgCA,CAAQ;AAAA;AAAA,sBAAmFD,CAAO;AAEtL,QAAME,IAAS,MACbC,EAAWJ,GAAQC,GAAS;AAAA,IAC1B,WAAW,EAAE,GAAGL,GAAW,QAAQ,OAAO,aAAa,OAAO,OAAO,WAAW;AAAA,IAChF,QAAQ;AAAA;AAAA,IACR,SAAS;AAAA;AAAA,IACT,UAAAM;AAAA;AAAA,EAAA,CACD,GAEGG,IAAc,CAAC,EAAE,UAAAC,QAAuB;AAC5C,IAAIA,MAAa,WACbC,EAAA,UAAU,mBAAmBJ,CAAM,GACnCI,EAAAN,GAAS,UAAUI,CAAW,GAC9BE,EAAA,QAAQ,sBAAsBJ,GAAQ,EAAI;AAAA,EAChD;AAGS,WAAA,MAAM,MAAM,KAAKA,CAAM,GAC7BK,EAAA,UAAU,mBAAmBL,CAAM,GACnCK,EAAAP,GAAS,UAAUI,CAAW,GAC9BG,EAAA,QAAQ,sBAAsBL,GAAQ,EAAI;AAC/C;AAEA,SAASM,EAAS,EAAE,QAAQC,GAAI,UAAAJ,KAAmB;;AAE3C,QAAAN,IADYM,MAAa,UAAUI,aAAc,eAAeA,EAAG,UAAU,SAAShB,CAAW,OAC1EiB,IAAAD,EAAG,kBAAH,gBAAAC,EAAiC,cAA2B,mBAAmBD,EAAG,EAAE;AAE7G,EAAAV,KAAuBD,EAAAC,GAAQU,CAAE;AACvC;AAEO,SAASE,EAAQF,GAAU;AAC7B,EAAAA,EAAA,iBAAiB,UAAUD,GAAS,EAAI;AAC7C;AACO,SAASI,EAAUH,GAAU;AAC/B,EAAAA,EAAA,oBAAoB,UAAUD,GAAS,EAAI;AAChD;"}
1
+ {"version":3,"file":"popover.js","sources":["../../designsystem/popover/popover.ts"],"sourcesContent":["import { type NanoPopPosition, reposition } from 'nanopop';\nimport styles from '../styles.module.css';\nimport { IS_BROWSER, QUICK_EVENT, off, on } from '../utils';\n\nconst CSS_POPOVER = styles.popover.split(' ')[0];\nconst CONTAINER = { toJSON: () => '', bottom: 0, height: 0, left: 0, right: 0, top: 0, width: 0, x: 0, y: 0 };\nconst POSITIONS = /(top|right|bottom|left)-(start|middle|end)/;\ntype Toggle = Event & { newState?: string };\n\nif (IS_BROWSER) observe(document);\n\n// Not exposed as a hook, as it is nice to allow consuming components to use it as a callback\nexport function anchorPosition(anchor: HTMLElement, popover: HTMLElement) {\n const position = (popover.getAttribute('data-position') || 'bottom-start') as NanoPopPosition;\n if (!POSITIONS.test(position)) return console.error(`Found invalid data-position=\"${position}\"\\n- It must be [top|right|bottom|left]-[start|middle|end]\\n- Found on element:`, popover);\n\n const update = () =>\n reposition(anchor, popover, {\n container: { ...CONTAINER, bottom: window.innerHeight, right: window.innerWidth },\n margin: 4, // Margin between the popper element and the reference\n padding: 16, // Minimum space between the popper and the container\n position // [top|right|bottom|left]-[start|middle|end]\n });\n\n const removeEvent = ({ newState }: Toggle) => {\n if (newState === 'open') return;\n off(document, 'DOMContentReady', update, QUICK_EVENT);\n off(popover, 'toggle', removeEvent, QUICK_EVENT);\n off(window, 'load,resize,scroll', update, QUICK_EVENT);\n }\n \n\n document.fonts.ready.then(update); // Inital render and when fonts load\n on(document, 'DOMContentReady', update, QUICK_EVENT);\n on(popover, 'toggle', removeEvent, QUICK_EVENT);\n on(window, 'load,resize,scroll', update, QUICK_EVENT);\n}\n\nfunction handleToggle ({ target: el, newState }: Toggle){\n const isPopping = newState === 'open' && el instanceof HTMLElement && el.classList.contains(CSS_POPOVER);\n const anchor = isPopping && (el.getRootNode() as ShadowRoot)?.querySelector<HTMLElement>(`[popovertarget=\"${el.id}\"]`);\n\n if (anchor) anchorPosition(anchor, el);\n}\n\nexport function observe(el: Node) {\n on(el, 'toggle', handleToggle, QUICK_EVENT); // Use capture since toggle does not bubble\n}\nexport function unobserve(el: Node) {\n off(el, 'toggle', handleToggle, QUICK_EVENT); // Use capture since toggle does not bubble\n}"],"names":["CSS_POPOVER","styles","CONTAINER","POSITIONS","IS_BROWSER","anchorPosition","anchor","popover","position","update","reposition","removeEvent","newState","off","QUICK_EVENT","on","handleToggle","el","_a","observe","unobserve"],"mappings":";;;AAIA,MAAMA,IAAcC,EAAO,QAAQ,MAAM,GAAG,EAAE,CAAC,GACzCC,IAAY,EAAE,QAAQ,MAAM,IAAI,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,GACtGC,IAAY;AAGdC,OAAoB,QAAQ;AAGhB,SAAAC,EAAeC,GAAqBC,GAAsB;AACxE,QAAMC,IAAYD,EAAQ,aAAa,eAAe,KAAK;AACvD,MAAA,CAACJ,EAAU,KAAKK,CAAQ,EAAU,QAAA,QAAQ,MAAM,gCAAgCA,CAAQ;AAAA;AAAA,sBAAmFD,CAAO;AAEtL,QAAME,IAAS,MACbC,EAAWJ,GAAQC,GAAS;AAAA,IAC1B,WAAW,EAAE,GAAGL,GAAW,QAAQ,OAAO,aAAa,OAAO,OAAO,WAAW;AAAA,IAChF,QAAQ;AAAA;AAAA,IACR,SAAS;AAAA;AAAA,IACT,UAAAM;AAAA;AAAA,EAAA,CACD,GAEGG,IAAc,CAAC,EAAE,UAAAC,QAAuB;AAC5C,IAAIA,MAAa,WACbC,EAAA,UAAU,mBAAmBJ,GAAQK,CAAW,GAChDD,EAAAN,GAAS,UAAUI,GAAaG,CAAW,GAC3CD,EAAA,QAAQ,sBAAsBJ,GAAQK,CAAW;AAAA,EACvD;AAGS,WAAA,MAAM,MAAM,KAAKL,CAAM,GAC7BM,EAAA,UAAU,mBAAmBN,GAAQK,CAAW,GAChDC,EAAAR,GAAS,UAAUI,GAAaG,CAAW,GAC3CC,EAAA,QAAQ,sBAAsBN,GAAQK,CAAW;AACtD;AAEA,SAASE,EAAc,EAAE,QAAQC,GAAI,UAAAL,KAAmB;;AAEhD,QAAAN,IADYM,MAAa,UAAUK,aAAc,eAAeA,EAAG,UAAU,SAASjB,CAAW,OAC1EkB,IAAAD,EAAG,kBAAH,gBAAAC,EAAiC,cAA2B,mBAAmBD,EAAG,EAAE;AAE7G,EAAAX,KAAuBD,EAAAC,GAAQW,CAAE;AACvC;AAEO,SAASE,EAAQF,GAAU;AAC7B,EAAAF,EAAAE,GAAI,UAAUD,GAAcF,CAAW;AAC5C;AACO,SAASM,EAAUH,GAAU;AAC9B,EAAAJ,EAAAI,GAAI,UAAUD,GAAcF,CAAW;AAC7C;"}
@@ -0,0 +1,10 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ };
5
+ export default meta;
6
+ type Story = StoryObj<typeof meta>;
7
+ export declare const Dropdown: Story;
8
+ export declare const Position: Story;
9
+ export declare const Close: Story;
10
+ export declare const Arrow: Story;