@fremtind/jokul 0.33.1 → 0.33.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/TestHelper-BVq1XrAt.cjs +2 -0
- package/build/TestHelper-BVq1XrAt.cjs.map +1 -0
- package/build/TestHelper-CT9BmbYb.js +2 -0
- package/build/TestHelper-CT9BmbYb.js.map +1 -0
- package/build/build-stats.html +1 -1
- package/build/cjs/components/accordion/integration/accordion.spec.cjs +2 -0
- package/build/cjs/components/accordion/integration/accordion.spec.cjs.map +1 -0
- package/build/cjs/components/accordion/integration/accordion.spec.d.cts +1 -0
- package/build/cjs/components/accordion/vite-env.d.cjs +2 -0
- package/build/cjs/components/accordion/vite-env.d.cjs.map +1 -0
- package/build/cjs/components/breadcrumb/integration/breadcrumb.spec.cjs +2 -0
- package/build/cjs/components/breadcrumb/integration/breadcrumb.spec.cjs.map +1 -0
- package/build/cjs/components/breadcrumb/integration/breadcrumb.spec.d.cts +1 -0
- package/build/cjs/components/button/integration/button.spec.cjs +2 -0
- package/build/cjs/components/button/integration/button.spec.cjs.map +1 -0
- package/build/cjs/components/button/integration/button.spec.d.cts +1 -0
- package/build/cjs/components/card/integration/card.spec.cjs +2 -0
- package/build/cjs/components/card/integration/card.spec.cjs.map +1 -0
- package/build/cjs/components/card/integration/card.spec.d.cts +1 -0
- package/build/cjs/components/checkbox/integration/checkbox.spec.cjs +2 -0
- package/build/cjs/components/checkbox/integration/checkbox.spec.cjs.map +1 -0
- package/build/cjs/components/checkbox/integration/checkbox.spec.d.cts +1 -0
- package/build/cjs/components/combobox/integration/combobox.spec.cjs +2 -0
- package/build/cjs/components/combobox/integration/combobox.spec.cjs.map +1 -0
- package/build/cjs/components/combobox/integration/combobox.spec.d.cts +1 -0
- package/build/cjs/components/cookie-consent/integration/cookie-consent.spec.cjs +2 -0
- package/build/cjs/components/cookie-consent/integration/cookie-consent.spec.cjs.map +1 -0
- package/build/cjs/components/cookie-consent/integration/cookie-consent.spec.d.cts +1 -0
- package/build/cjs/components/datepicker/integration/datepicker.spec.cjs +2 -0
- package/build/cjs/components/datepicker/integration/datepicker.spec.cjs.map +1 -0
- package/build/cjs/components/datepicker/integration/datepicker.spec.d.cts +1 -0
- package/build/cjs/components/description-list/integration/description-list.spec.cjs +2 -0
- package/build/cjs/components/description-list/integration/description-list.spec.cjs.map +1 -0
- package/build/cjs/components/description-list/integration/description-list.spec.d.cts +1 -0
- package/build/cjs/components/feedback/integration/feedback.spec.cjs +2 -0
- package/build/cjs/components/feedback/integration/feedback.spec.cjs.map +1 -0
- package/build/cjs/components/feedback/integration/feedback.spec.d.cts +1 -0
- package/build/cjs/components/file-input/integration/file-input.spec.cjs +2 -0
- package/build/cjs/components/file-input/integration/file-input.spec.cjs.map +1 -0
- package/build/cjs/components/file-input/integration/file-input.spec.d.cts +1 -0
- package/build/cjs/components/icon/integration/icon.spec.cjs +2 -0
- package/build/cjs/components/icon/integration/icon.spec.cjs.map +1 -0
- package/build/cjs/components/icon/integration/icon.spec.d.cts +1 -0
- package/build/cjs/components/icon-button/integration/icon-button.spec.cjs +2 -0
- package/build/cjs/components/icon-button/integration/icon-button.spec.cjs.map +1 -0
- package/build/cjs/components/icon-button/integration/icon-button.spec.d.cts +1 -0
- package/build/cjs/components/image/integration/image.spec.cjs +2 -0
- package/build/cjs/components/image/integration/image.spec.cjs.map +1 -0
- package/build/cjs/components/image/integration/image.spec.d.cts +1 -0
- package/build/cjs/components/input-group/integration/input-group.spec.cjs +2 -0
- package/build/cjs/components/input-group/integration/input-group.spec.cjs.map +1 -0
- package/build/cjs/components/input-group/integration/input-group.spec.d.cts +1 -0
- package/build/cjs/components/input-panel/integration/input-panel.spec.cjs +2 -0
- package/build/cjs/components/input-panel/integration/input-panel.spec.cjs.map +1 -0
- package/build/cjs/components/input-panel/integration/input-panel.spec.d.cts +1 -0
- package/build/cjs/components/link/integration/link.spec.cjs +2 -0
- package/build/cjs/components/link/integration/link.spec.cjs.map +1 -0
- package/build/cjs/components/link/integration/link.spec.d.cts +1 -0
- package/build/cjs/components/link-list/integration/link-list.spec.cjs +2 -0
- package/build/cjs/components/link-list/integration/link-list.spec.cjs.map +1 -0
- package/build/cjs/components/link-list/integration/link-list.spec.d.cts +1 -0
- package/build/cjs/components/list/integration/list.spec.cjs +2 -0
- package/build/cjs/components/list/integration/list.spec.cjs.map +1 -0
- package/build/cjs/components/list/integration/list.spec.d.cts +1 -0
- package/build/cjs/components/menu/integration/menu.spec.cjs +2 -0
- package/build/cjs/components/menu/integration/menu.spec.cjs.map +1 -0
- package/build/cjs/components/menu/integration/menu.spec.d.cts +1 -0
- package/build/cjs/components/message/integration/message.spec.cjs +2 -0
- package/build/cjs/components/message/integration/message.spec.cjs.map +1 -0
- package/build/cjs/components/message/integration/message.spec.d.cts +1 -0
- package/build/cjs/components/modal/integration/modal.spec.cjs +2 -0
- package/build/cjs/components/modal/integration/modal.spec.cjs.map +1 -0
- package/build/cjs/components/modal/integration/modal.spec.d.cts +1 -0
- package/build/cjs/components/pagination/integration/pagination.spec.cjs +2 -0
- package/build/cjs/components/pagination/integration/pagination.spec.cjs.map +1 -0
- package/build/cjs/components/pagination/integration/pagination.spec.d.cts +1 -0
- package/build/cjs/components/popover/integration/popover.spec.cjs +2 -0
- package/build/cjs/components/popover/integration/popover.spec.cjs.map +1 -0
- package/build/cjs/components/popover/integration/popover.spec.d.cts +1 -0
- package/build/cjs/components/progress-bar/integration/progress-bar.spec.cjs +2 -0
- package/build/cjs/components/progress-bar/integration/progress-bar.spec.cjs.map +1 -0
- package/build/cjs/components/progress-bar/integration/progress-bar.spec.d.cts +1 -0
- package/build/cjs/components/radio-button/integration/radio-button.spec.cjs +2 -0
- package/build/cjs/components/radio-button/integration/radio-button.spec.cjs.map +1 -0
- package/build/cjs/components/radio-button/integration/radio-button.spec.d.cts +1 -0
- package/build/cjs/components/select/integration/select.spec.cjs +2 -0
- package/build/cjs/components/select/integration/select.spec.cjs.map +1 -0
- package/build/cjs/components/select/integration/select.spec.d.cts +1 -0
- package/build/cjs/components/summary-table/integration/summary-table.spec.cjs +2 -0
- package/build/cjs/components/summary-table/integration/summary-table.spec.cjs.map +1 -0
- package/build/cjs/components/summary-table/integration/summary-table.spec.d.cts +1 -0
- package/build/cjs/components/system-message/integration/system-message.spec.cjs +2 -0
- package/build/cjs/components/system-message/integration/system-message.spec.cjs.map +1 -0
- package/build/cjs/components/system-message/integration/system-message.spec.d.cts +1 -0
- package/build/cjs/components/table/integration/table.spec.cjs +2 -0
- package/build/cjs/components/table/integration/table.spec.cjs.map +1 -0
- package/build/cjs/components/table/integration/table.spec.d.cts +1 -0
- package/build/cjs/components/tabs/integration/tabs.spec.cjs +2 -0
- package/build/cjs/components/tabs/integration/tabs.spec.cjs.map +1 -0
- package/build/cjs/components/tabs/integration/tabs.spec.d.cts +1 -0
- package/build/cjs/components/tag/integration/tag.spec.cjs +2 -0
- package/build/cjs/components/tag/integration/tag.spec.cjs.map +1 -0
- package/build/cjs/components/tag/integration/tag.spec.d.cts +1 -0
- package/build/cjs/components/text-input/integration/text-input.spec.cjs +2 -0
- package/build/cjs/components/text-input/integration/text-input.spec.cjs.map +1 -0
- package/build/cjs/components/text-input/integration/text-input.spec.d.cts +1 -0
- package/build/cjs/components/toast/integration/toast.spec.cjs +2 -0
- package/build/cjs/components/toast/integration/toast.spec.cjs.map +1 -0
- package/build/cjs/components/toast/integration/toast.spec.d.cts +1 -0
- package/build/cjs/components/toggle-switch/integration/toggle-switch.spec.cjs +2 -0
- package/build/cjs/components/toggle-switch/integration/toggle-switch.spec.cjs.map +1 -0
- package/build/cjs/components/toggle-switch/integration/toggle-switch.spec.d.cts +1 -0
- package/build/cjs/components/tooltip/integration/tooltip.spec.cjs +2 -0
- package/build/cjs/components/tooltip/integration/tooltip.spec.cjs.map +1 -0
- package/build/cjs/components/tooltip/integration/tooltip.spec.d.cts +1 -0
- package/build/es/components/accordion/integration/accordion.spec.d.ts +1 -0
- package/build/es/components/accordion/integration/accordion.spec.js +2 -0
- package/build/es/components/accordion/integration/accordion.spec.js.map +1 -0
- package/build/es/components/accordion/vite-env.d.js +2 -0
- package/build/es/components/accordion/vite-env.d.js.map +1 -0
- package/build/es/components/breadcrumb/integration/breadcrumb.spec.d.ts +1 -0
- package/build/es/components/breadcrumb/integration/breadcrumb.spec.js +2 -0
- package/build/es/components/breadcrumb/integration/breadcrumb.spec.js.map +1 -0
- package/build/es/components/button/integration/button.spec.d.ts +1 -0
- package/build/es/components/button/integration/button.spec.js +2 -0
- package/build/es/components/button/integration/button.spec.js.map +1 -0
- package/build/es/components/card/integration/card.spec.d.ts +1 -0
- package/build/es/components/card/integration/card.spec.js +2 -0
- package/build/es/components/card/integration/card.spec.js.map +1 -0
- package/build/es/components/checkbox/integration/checkbox.spec.d.ts +1 -0
- package/build/es/components/checkbox/integration/checkbox.spec.js +2 -0
- package/build/es/components/checkbox/integration/checkbox.spec.js.map +1 -0
- package/build/es/components/combobox/integration/combobox.spec.d.ts +1 -0
- package/build/es/components/combobox/integration/combobox.spec.js +2 -0
- package/build/es/components/combobox/integration/combobox.spec.js.map +1 -0
- package/build/es/components/cookie-consent/integration/cookie-consent.spec.d.ts +1 -0
- package/build/es/components/cookie-consent/integration/cookie-consent.spec.js +2 -0
- package/build/es/components/cookie-consent/integration/cookie-consent.spec.js.map +1 -0
- package/build/es/components/datepicker/integration/datepicker.spec.d.ts +1 -0
- package/build/es/components/datepicker/integration/datepicker.spec.js +2 -0
- package/build/es/components/datepicker/integration/datepicker.spec.js.map +1 -0
- package/build/es/components/description-list/integration/description-list.spec.d.ts +1 -0
- package/build/es/components/description-list/integration/description-list.spec.js +2 -0
- package/build/es/components/description-list/integration/description-list.spec.js.map +1 -0
- package/build/es/components/feedback/integration/feedback.spec.d.ts +1 -0
- package/build/es/components/feedback/integration/feedback.spec.js +2 -0
- package/build/es/components/feedback/integration/feedback.spec.js.map +1 -0
- package/build/es/components/file-input/integration/file-input.spec.d.ts +1 -0
- package/build/es/components/file-input/integration/file-input.spec.js +2 -0
- package/build/es/components/file-input/integration/file-input.spec.js.map +1 -0
- package/build/es/components/icon/integration/icon.spec.d.ts +1 -0
- package/build/es/components/icon/integration/icon.spec.js +2 -0
- package/build/es/components/icon/integration/icon.spec.js.map +1 -0
- package/build/es/components/icon-button/integration/icon-button.spec.d.ts +1 -0
- package/build/es/components/icon-button/integration/icon-button.spec.js +2 -0
- package/build/es/components/icon-button/integration/icon-button.spec.js.map +1 -0
- package/build/es/components/image/integration/image.spec.d.ts +1 -0
- package/build/es/components/image/integration/image.spec.js +2 -0
- package/build/es/components/image/integration/image.spec.js.map +1 -0
- package/build/es/components/input-group/integration/input-group.spec.d.ts +1 -0
- package/build/es/components/input-group/integration/input-group.spec.js +2 -0
- package/build/es/components/input-group/integration/input-group.spec.js.map +1 -0
- package/build/es/components/input-panel/integration/input-panel.spec.d.ts +1 -0
- package/build/es/components/input-panel/integration/input-panel.spec.js +2 -0
- package/build/es/components/input-panel/integration/input-panel.spec.js.map +1 -0
- package/build/es/components/link/integration/link.spec.d.ts +1 -0
- package/build/es/components/link/integration/link.spec.js +2 -0
- package/build/es/components/link/integration/link.spec.js.map +1 -0
- package/build/es/components/link-list/integration/link-list.spec.d.ts +1 -0
- package/build/es/components/link-list/integration/link-list.spec.js +2 -0
- package/build/es/components/link-list/integration/link-list.spec.js.map +1 -0
- package/build/es/components/list/integration/list.spec.d.ts +1 -0
- package/build/es/components/list/integration/list.spec.js +2 -0
- package/build/es/components/list/integration/list.spec.js.map +1 -0
- package/build/es/components/menu/integration/menu.spec.d.ts +1 -0
- package/build/es/components/menu/integration/menu.spec.js +2 -0
- package/build/es/components/menu/integration/menu.spec.js.map +1 -0
- package/build/es/components/message/integration/message.spec.d.ts +1 -0
- package/build/es/components/message/integration/message.spec.js +2 -0
- package/build/es/components/message/integration/message.spec.js.map +1 -0
- package/build/es/components/modal/integration/modal.spec.d.ts +1 -0
- package/build/es/components/modal/integration/modal.spec.js +2 -0
- package/build/es/components/modal/integration/modal.spec.js.map +1 -0
- package/build/es/components/pagination/integration/pagination.spec.d.ts +1 -0
- package/build/es/components/pagination/integration/pagination.spec.js +2 -0
- package/build/es/components/pagination/integration/pagination.spec.js.map +1 -0
- package/build/es/components/popover/integration/popover.spec.d.ts +1 -0
- package/build/es/components/popover/integration/popover.spec.js +2 -0
- package/build/es/components/popover/integration/popover.spec.js.map +1 -0
- package/build/es/components/progress-bar/integration/progress-bar.spec.d.ts +1 -0
- package/build/es/components/progress-bar/integration/progress-bar.spec.js +2 -0
- package/build/es/components/progress-bar/integration/progress-bar.spec.js.map +1 -0
- package/build/es/components/radio-button/integration/radio-button.spec.d.ts +1 -0
- package/build/es/components/radio-button/integration/radio-button.spec.js +2 -0
- package/build/es/components/radio-button/integration/radio-button.spec.js.map +1 -0
- package/build/es/components/select/integration/select.spec.d.ts +1 -0
- package/build/es/components/select/integration/select.spec.js +2 -0
- package/build/es/components/select/integration/select.spec.js.map +1 -0
- package/build/es/components/summary-table/integration/summary-table.spec.d.ts +1 -0
- package/build/es/components/summary-table/integration/summary-table.spec.js +2 -0
- package/build/es/components/summary-table/integration/summary-table.spec.js.map +1 -0
- package/build/es/components/system-message/integration/system-message.spec.d.ts +1 -0
- package/build/es/components/system-message/integration/system-message.spec.js +2 -0
- package/build/es/components/system-message/integration/system-message.spec.js.map +1 -0
- package/build/es/components/table/integration/table.spec.d.ts +1 -0
- package/build/es/components/table/integration/table.spec.js +2 -0
- package/build/es/components/table/integration/table.spec.js.map +1 -0
- package/build/es/components/tabs/integration/tabs.spec.d.ts +1 -0
- package/build/es/components/tabs/integration/tabs.spec.js +2 -0
- package/build/es/components/tabs/integration/tabs.spec.js.map +1 -0
- package/build/es/components/tag/integration/tag.spec.d.ts +1 -0
- package/build/es/components/tag/integration/tag.spec.js +2 -0
- package/build/es/components/tag/integration/tag.spec.js.map +1 -0
- package/build/es/components/text-input/integration/text-input.spec.d.ts +1 -0
- package/build/es/components/text-input/integration/text-input.spec.js +2 -0
- package/build/es/components/text-input/integration/text-input.spec.js.map +1 -0
- package/build/es/components/toast/integration/toast.spec.d.ts +1 -0
- package/build/es/components/toast/integration/toast.spec.js +2 -0
- package/build/es/components/toast/integration/toast.spec.js.map +1 -0
- package/build/es/components/toggle-switch/integration/toggle-switch.spec.d.ts +1 -0
- package/build/es/components/toggle-switch/integration/toggle-switch.spec.js +2 -0
- package/build/es/components/toggle-switch/integration/toggle-switch.spec.js.map +1 -0
- package/build/es/components/tooltip/integration/tooltip.spec.d.ts +1 -0
- package/build/es/components/tooltip/integration/tooltip.spec.js +2 -0
- package/build/es/components/tooltip/integration/tooltip.spec.js.map +1 -0
- package/package.json +2 -2
- package/styles/components/button/button.css +2 -2
- package/styles/components/button/button.min.css +1 -1
- package/styles/components/checkbox/checkbox.css +4 -4
- package/styles/components/checkbox/checkbox.min.css +1 -1
- package/styles/components/feedback/feedback.css +2 -2
- package/styles/components/feedback/feedback.min.css +1 -1
- package/styles/components/input-group/input-group.css +2 -2
- package/styles/components/input-group/input-group.min.css +1 -1
- package/styles/components/input-panel/checkbox-panel.css +2 -2
- package/styles/components/input-panel/checkbox-panel.min.css +1 -1
- package/styles/components/input-panel/radio-panel.css +2 -2
- package/styles/components/input-panel/radio-panel.min.css +1 -1
- package/styles/components/loader/loader.css +6 -6
- package/styles/components/loader/loader.min.css +1 -1
- package/styles/components/loader/skeleton-loader.css +5 -5
- package/styles/components/loader/skeleton-loader.min.css +1 -1
- package/styles/components/message/message.css +2 -2
- package/styles/components/message/message.min.css +1 -1
- package/styles/components/progress-bar/progress-bar.css +2 -2
- package/styles/components/progress-bar/progress-bar.min.css +1 -1
- package/styles/components/radio-button/radio-button.css +2 -2
- package/styles/components/radio-button/radio-button.min.css +1 -1
- package/styles/components/system-message/system-message.css +2 -2
- package/styles/components/system-message/system-message.min.css +1 -1
- package/styles/components/toast/toast.css +4 -4
- package/styles/components/toast/toast.min.css +1 -1
- package/styles/styles.css +37 -37
- package/styles/styles.min.css +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=Object.defineProperty,t=(t,a,i)=>((t,a,i)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[a]=i)(t,"symbol"!=typeof a?a+"":a,i);const a=require("@playwright/test"),i=require("@vitejs/plugin-react-swc"),s=require("node:path"),o=require("node:url"),n=require("vite"),r=require("node:fs");var c=typeof document<"u"?document.currentScript:null;function l(e){return{name:"setup-dev",buildStart(){r.cpSync(s.resolve(o.fileURLToPath(new URL("data:text/javascript;base64,ZXhwb3J0ICogZnJvbSAiLi9jb3B5LWprbC1mb250cy5tanMiOwpleHBvcnQgKiBmcm9tICIuL3NldHVwLWRldi5tanMiOwo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("TestHelper-BVq1XrAt.cjs",document.baseURI).href)),"index.html"),s.resolve(e,"index.html")),r.cpSync(s.resolve(o.fileURLToPath(new URL("data:text/javascript;base64,ZXhwb3J0ICogZnJvbSAiLi9jb3B5LWprbC1mb250cy5tanMiOwpleHBvcnQgKiBmcm9tICIuL3NldHVwLWRldi5tanMiOwo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("TestHelper-BVq1XrAt.cjs",document.baseURI).href)),"main.tsx"),s.resolve(e,"main.tsx")),console.log(`Copied index.html and main.tsx into "${e}"`)},buildEnd(){r.rmSync(s.resolve(e,"index.html")),r.rmSync(s.resolve(e,"main.tsx")),console.log(`Deleted index.html and main.tsx from "${e}"`)}}}exports.TestHelper=class{constructor(e){t(this,"server"),t(this,"page"),t(this,"package"),t(this,"projectName"),this.page=e.page,this.package=e.package,this.projectName=e.projectName}async init(){return this.server=await n.createServer({mode:"production",configFile:!1,plugins:[i(),(e=s.resolve(o.fileURLToPath(new URL("data:application/octet-stream;base64,ZXhwb3J0IHsgVGVzdEhlbHBlciB9IGZyb20gIi4vVGVzdEhlbHBlci5tdHMiOwo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("TestHelper-BVq1XrAt.cjs",document.baseURI).href)),"..","..","packages","jokul","src","components",this.package,"documentation","public","fonts"),{name:"copy-jkl-fonts",configResolved(){const t=s.resolve(o.fileURLToPath(new URL("data:text/javascript;base64,ZXhwb3J0ICogZnJvbSAiLi9jb3B5LWprbC1mb250cy5tanMiOwpleHBvcnQgKiBmcm9tICIuL3NldHVwLWRldi5tanMiOwo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("TestHelper-BVq1XrAt.cjs",document.baseURI).href)),"..","..","packages","webfonts","fonts");r.existsSync(e)||(r.cpSync(t,e,{recursive:!0}),console.log(`Copied font files into "${e}"`))}}),l(s.resolve(o.fileURLToPath(new URL("data:application/octet-stream;base64,ZXhwb3J0IHsgVGVzdEhlbHBlciB9IGZyb20gIi4vVGVzdEhlbHBlci5tdHMiOwo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("TestHelper-BVq1XrAt.cjs",document.baseURI).href)),"..","..","packages","jokul","src","components",this.package,"documentation"))],resolve:{alias:{"doc-utils":s.resolve(o.fileURLToPath(new URL("data:application/octet-stream;base64,ZXhwb3J0IHsgVGVzdEhlbHBlciB9IGZyb20gIi4vVGVzdEhlbHBlci5tdHMiOwo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("TestHelper-BVq1XrAt.cjs",document.baseURI).href)),"..","dev-example")}},root:s.resolve(o.fileURLToPath(new URL("data:application/octet-stream;base64,ZXhwb3J0IHsgVGVzdEhlbHBlciB9IGZyb20gIi4vVGVzdEhlbHBlci5tdHMiOwo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.src||new URL("TestHelper-BVq1XrAt.cjs",document.baseURI).href)),"..","..","packages","jokul","src","components",this.package,"documentation"),define:{__CI__:"true"}}),await this.server.listen(),this.server.config.server.port;var e}async close(){var e;await(null==(e=this.server)?void 0:e.close())}async open(e="/"){var t;await this.page.goto(`http://localhost:${null==(t=this.server)?void 0:t.config.server.port}${e}`)}async clickElement(e){await this.page.click(e)}async pressKey(e){await this.page.keyboard.press(e)}async checkProp(e){return await this.page.getByTestId(e).first().check({force:!0}),this}async setDensity(e){return await this.page.getByTestId(`density-${e}`).first().check({force:!0}),this}async setTheme(e){return await this.page.getByTestId(`theme-${e}`).first().check({force:!0}),this}async snapshot(e,t){await this.page.evaluate((()=>document.fonts.ready)),await this.page.evaluate((()=>new Promise((e=>setTimeout(e,600)))));const i=await this.page.locator(t||"[data-testid='component-example']").first().boundingBox();if(!i)return;const s=`${`packages/jokul/src/components/${this.package}/integration/__screenshots__`}/${a.test.info().title.replaceAll(" ","-")}-${this.projectName}-${e}.png`;r.existsSync(s)?await a.expect(await this.page.screenshot({animations:"disabled",caret:"hide",clip:{...i}})).toMatchSnapshot(`${this.projectName}-${e}`):await this.page.screenshot({animations:"disabled",caret:"hide",clip:{...i},path:s})}async snapshots({before:e,after:t,selector:a}={}){await this.setDensity("default"),await this.setTheme("light"),await(null==e?void 0:e()),await this.snapshot("default",a),await(null==t?void 0:t()),await this.setDensity("default"),await this.setTheme("dark"),await(null==e?void 0:e()),await this.snapshot("default-dark",a),await(null==t?void 0:t()),await this.setDensity("compact"),await this.setTheme("light"),await(null==e?void 0:e()),await this.snapshot("compact-light",a),await(null==t?void 0:t()),await this.setDensity("compact"),await this.setTheme("dark"),await(null==e?void 0:e()),await this.snapshot("compact-dark",a),await(null==t?void 0:t())}};
|
|
2
|
+
//# sourceMappingURL=TestHelper-BVq1XrAt.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestHelper-BVq1XrAt.cjs","sources":["../../../utils/vite/setup-dev.mjs","../../../utils/playwright/TestHelper.mts","../../../utils/vite/copy-jkl-fonts.mjs"],"sourcesContent":["import { cpSync, rmSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nfunction setupDev(destination) {\n return {\n name: \"setup-dev\",\n buildStart() {\n cpSync(\n resolve(fileURLToPath(new URL(\".\", import.meta.url)), \"index.html\"),\n resolve(destination, \"index.html\"),\n );\n cpSync(resolve(fileURLToPath(new URL(\".\", import.meta.url)), \"main.tsx\"), resolve(destination, \"main.tsx\"));\n console.log(`Copied index.html and main.tsx into \"${destination}\"`);\n },\n buildEnd() {\n rmSync(resolve(destination, \"index.html\"));\n rmSync(resolve(destination, \"main.tsx\"));\n console.log(`Deleted index.html and main.tsx from \"${destination}\"`);\n },\n };\n}\n\nexport { setupDev };\n","import { expect, Page, test } from \"@playwright/test\";\nimport react from \"@vitejs/plugin-react-swc\";\nimport { resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { createServer, ViteDevServer } from \"vite\";\n/* @ts-ignore */\nimport { copyJklFonts } from \"../vite/copy-jkl-fonts.mjs\";\nimport { existsSync } from \"node:fs\";\n/* @ts-ignore */\nimport { setupDev } from \"../vite/setup-dev.mjs\";\n\nexport class TestHelper {\n private server?: ViteDevServer;\n private page: Page;\n private package: string;\n private projectName: string;\n\n constructor(args: { page: Page; package: string; projectName: string }) {\n this.page = args.page;\n this.package = args.package;\n this.projectName = args.projectName;\n }\n\n async init() {\n this.server = await createServer({\n mode: \"production\",\n configFile: false,\n plugins: [\n react(),\n copyJklFonts(\n resolve(\n fileURLToPath(new URL(\".\", import.meta.url)),\n \"..\",\n \"..\",\n \"packages\",\n \"jokul\",\n \"src\",\n \"components\",\n this.package,\n \"documentation\",\n \"public\",\n \"fonts\",\n ),\n ),\n setupDev(\n resolve(\n fileURLToPath(new URL(\".\", import.meta.url)),\n \"..\",\n \"..\",\n \"packages\",\n \"jokul\",\n \"src\",\n \"components\",\n this.package,\n \"documentation\",\n ),\n ),\n ],\n resolve: {\n alias: {\n \"doc-utils\": resolve(\n fileURLToPath(new URL(\".\", import.meta.url)),\n \"..\",\n \"dev-example\",\n ),\n },\n },\n root: resolve(\n fileURLToPath(new URL(\".\", import.meta.url)),\n \"..\",\n \"..\",\n \"packages\",\n \"jokul\",\n \"src\",\n \"components\",\n this.package,\n \"documentation\",\n ),\n define: {\n __CI__: \"true\",\n },\n });\n await this.server.listen();\n return this.server.config.server.port as number;\n }\n\n async close() {\n await this.server?.close();\n }\n\n async open(path: string = \"/\") {\n await this.page.goto(\n `http://localhost:${this.server?.config.server.port}${path}`,\n );\n }\n\n async clickElement(selector: string) {\n await this.page.click(selector);\n }\n\n async pressKey(key: string) {\n await this.page.keyboard.press(key);\n }\n\n async checkProp(testid: string) {\n await this.page.getByTestId(testid).first().check({ force: true });\n return this;\n }\n\n async setDensity(value: \"compact\" | \"default\") {\n await this.page\n .getByTestId(`density-${value}`)\n .first()\n .check({ force: true });\n return this;\n }\n\n async setTheme(value: \"light\" | \"dark\") {\n await this.page\n .getByTestId(`theme-${value}`)\n .first()\n .check({ force: true });\n return this;\n }\n\n private async snapshot(name: string, selector?: string) {\n await this.page.evaluate(() => document.fonts.ready);\n\n await this.page.evaluate(() => {\n return new Promise((resolve) => setTimeout(resolve, 600));\n });\n\n const locator = this.page\n .locator(selector || \"[data-testid='component-example']\")\n .first();\n const box = await locator.boundingBox();\n\n if (!box) {\n return;\n }\n\n const screenshotRoot = `packages/jokul/src/components/${this.package}/integration/__screenshots__`;\n const testName = test.info().title.replaceAll(\" \", \"-\");\n const screenshotPath = `${screenshotRoot}/${testName}-${this.projectName}-${name}.png`;\n\n const hasScreenshot = existsSync(screenshotPath);\n\n if (hasScreenshot) {\n await expect(\n await this.page.screenshot({\n animations: \"disabled\",\n caret: \"hide\",\n clip: { ...box },\n }),\n ).toMatchSnapshot(`${this.projectName}-${name}`);\n } else {\n await this.page.screenshot({\n animations: \"disabled\",\n caret: \"hide\",\n clip: { ...box },\n path: screenshotPath,\n });\n }\n }\n\n async snapshots({\n before,\n after,\n selector,\n }: {\n before?: () => Promise<any>;\n after?: () => Promise<any>;\n selector?: string;\n } = {}) {\n await this.setDensity(\"default\");\n await this.setTheme(\"light\");\n await before?.();\n await this.snapshot(\"default\", selector);\n await after?.();\n\n await this.setDensity(\"default\");\n await this.setTheme(\"dark\");\n await before?.();\n await this.snapshot(\"default-dark\", selector);\n await after?.();\n\n await this.setDensity(\"compact\");\n await this.setTheme(\"light\");\n await before?.();\n await this.snapshot(\"compact-light\", selector);\n await after?.();\n\n await this.setDensity(\"compact\");\n await this.setTheme(\"dark\");\n await before?.();\n await this.snapshot(\"compact-dark\", selector);\n await after?.();\n }\n}\n","import { cpSync, existsSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nfunction copyJklFonts(destination) {\n return {\n name: \"copy-jkl-fonts\",\n configResolved() {\n const source = resolve(\n fileURLToPath(new URL(\".\", import.meta.url)),\n \"..\",\n \"..\",\n \"packages\",\n \"webfonts\",\n \"fonts\",\n );\n if (!existsSync(destination)) {\n cpSync(source, destination, {\n recursive: true,\n });\n console.log(`Copied font files into \"${destination}\"`);\n }\n },\n };\n}\n\nexport { copyJklFonts };\n"],"names":["setupDev","destination","name","buildStart","cpSync","resolve","fileURLToPath","URL","document","require","pathToFileURL","__filename","href","_documentCurrentScript","src","baseURI","console","log","buildEnd","rmSync","constructor","args","__publicField","this","page","package","projectName","async","server","createServer","mode","configFile","plugins","react","configResolved","source","existsSync","recursive","alias","root","define","__CI__","listen","config","port","_a","close","path","goto","selector","click","key","keyboard","press","testid","getByTestId","first","check","force","value","evaluate","fonts","ready","Promise","setTimeout","box","locator","boundingBox","screenshotPath","test","info","title","replaceAll","expect","screenshot","animations","caret","clip","toMatchSnapshot","before","after","setDensity","setTheme","snapshot"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var t=Object.defineProperty,a=(a,e,i)=>((a,e,i)=>e in a?t(a,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[e]=i)(a,"symbol"!=typeof e?e+"":e,i);import{test as e,expect as i}from"@playwright/test";import s from"@vitejs/plugin-react-swc";import{resolve as o}from"node:path";import{fileURLToPath as n}from"node:url";import{createServer as c}from"vite";import{existsSync as r,cpSync as l,rmSync as p}from"node:fs";function h(t){return{name:"setup-dev",buildStart(){l(o(n(new URL("data:text/javascript;base64,ZXhwb3J0ICogZnJvbSAiLi9jb3B5LWprbC1mb250cy5tanMiOwpleHBvcnQgKiBmcm9tICIuL3NldHVwLWRldi5tanMiOwo=",import.meta.url)),"index.html"),o(t,"index.html")),l(o(n(new URL("data:text/javascript;base64,ZXhwb3J0ICogZnJvbSAiLi9jb3B5LWprbC1mb250cy5tanMiOwpleHBvcnQgKiBmcm9tICIuL3NldHVwLWRldi5tanMiOwo=",import.meta.url)),"main.tsx"),o(t,"main.tsx")),console.log(`Copied index.html and main.tsx into "${t}"`)},buildEnd(){p(o(t,"index.html")),p(o(t,"main.tsx")),console.log(`Deleted index.html and main.tsx from "${t}"`)}}}class m{constructor(t){a(this,"server"),a(this,"page"),a(this,"package"),a(this,"projectName"),this.page=t.page,this.package=t.package,this.projectName=t.projectName}async init(){return this.server=await c({mode:"production",configFile:!1,plugins:[s(),(t=o(n(new URL("data:application/octet-stream;base64,ZXhwb3J0IHsgVGVzdEhlbHBlciB9IGZyb20gIi4vVGVzdEhlbHBlci5tdHMiOwo=",import.meta.url)),"..","..","packages","jokul","src","components",this.package,"documentation","public","fonts"),{name:"copy-jkl-fonts",configResolved(){const a=o(n(new URL("data:text/javascript;base64,ZXhwb3J0ICogZnJvbSAiLi9jb3B5LWprbC1mb250cy5tanMiOwpleHBvcnQgKiBmcm9tICIuL3NldHVwLWRldi5tanMiOwo=",import.meta.url)),"..","..","packages","webfonts","fonts");r(t)||(l(a,t,{recursive:!0}),console.log(`Copied font files into "${t}"`))}}),h(o(n(new URL("data:application/octet-stream;base64,ZXhwb3J0IHsgVGVzdEhlbHBlciB9IGZyb20gIi4vVGVzdEhlbHBlci5tdHMiOwo=",import.meta.url)),"..","..","packages","jokul","src","components",this.package,"documentation"))],resolve:{alias:{"doc-utils":o(n(new URL("data:application/octet-stream;base64,ZXhwb3J0IHsgVGVzdEhlbHBlciB9IGZyb20gIi4vVGVzdEhlbHBlci5tdHMiOwo=",import.meta.url)),"..","dev-example")}},root:o(n(new URL("data:application/octet-stream;base64,ZXhwb3J0IHsgVGVzdEhlbHBlciB9IGZyb20gIi4vVGVzdEhlbHBlci5tdHMiOwo=",import.meta.url)),"..","..","packages","jokul","src","components",this.package,"documentation"),define:{__CI__:"true"}}),await this.server.listen(),this.server.config.server.port;var t}async close(){var t;await(null==(t=this.server)?void 0:t.close())}async open(t="/"){var a;await this.page.goto(`http://localhost:${null==(a=this.server)?void 0:a.config.server.port}${t}`)}async clickElement(t){await this.page.click(t)}async pressKey(t){await this.page.keyboard.press(t)}async checkProp(t){return await this.page.getByTestId(t).first().check({force:!0}),this}async setDensity(t){return await this.page.getByTestId(`density-${t}`).first().check({force:!0}),this}async setTheme(t){return await this.page.getByTestId(`theme-${t}`).first().check({force:!0}),this}async snapshot(t,a){await this.page.evaluate((()=>document.fonts.ready)),await this.page.evaluate((()=>new Promise((t=>setTimeout(t,600)))));const s=await this.page.locator(a||"[data-testid='component-example']").first().boundingBox();if(!s)return;const o=`${`packages/jokul/src/components/${this.package}/integration/__screenshots__`}/${e.info().title.replaceAll(" ","-")}-${this.projectName}-${t}.png`;r(o)?await i(await this.page.screenshot({animations:"disabled",caret:"hide",clip:{...s}})).toMatchSnapshot(`${this.projectName}-${t}`):await this.page.screenshot({animations:"disabled",caret:"hide",clip:{...s},path:o})}async snapshots({before:t,after:a,selector:e}={}){await this.setDensity("default"),await this.setTheme("light"),await(null==t?void 0:t()),await this.snapshot("default",e),await(null==a?void 0:a()),await this.setDensity("default"),await this.setTheme("dark"),await(null==t?void 0:t()),await this.snapshot("default-dark",e),await(null==a?void 0:a()),await this.setDensity("compact"),await this.setTheme("light"),await(null==t?void 0:t()),await this.snapshot("compact-light",e),await(null==a?void 0:a()),await this.setDensity("compact"),await this.setTheme("dark"),await(null==t?void 0:t()),await this.snapshot("compact-dark",e),await(null==a?void 0:a())}}export{m as T};
|
|
2
|
+
//# sourceMappingURL=TestHelper-CT9BmbYb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestHelper-CT9BmbYb.js","sources":["../../../utils/vite/setup-dev.mjs","../../../utils/playwright/TestHelper.mts","../../../utils/vite/copy-jkl-fonts.mjs"],"sourcesContent":["import { cpSync, rmSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nfunction setupDev(destination) {\n return {\n name: \"setup-dev\",\n buildStart() {\n cpSync(\n resolve(fileURLToPath(new URL(\".\", import.meta.url)), \"index.html\"),\n resolve(destination, \"index.html\"),\n );\n cpSync(resolve(fileURLToPath(new URL(\".\", import.meta.url)), \"main.tsx\"), resolve(destination, \"main.tsx\"));\n console.log(`Copied index.html and main.tsx into \"${destination}\"`);\n },\n buildEnd() {\n rmSync(resolve(destination, \"index.html\"));\n rmSync(resolve(destination, \"main.tsx\"));\n console.log(`Deleted index.html and main.tsx from \"${destination}\"`);\n },\n };\n}\n\nexport { setupDev };\n","import { expect, Page, test } from \"@playwright/test\";\nimport react from \"@vitejs/plugin-react-swc\";\nimport { resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { createServer, ViteDevServer } from \"vite\";\n/* @ts-ignore */\nimport { copyJklFonts } from \"../vite/copy-jkl-fonts.mjs\";\nimport { existsSync } from \"node:fs\";\n/* @ts-ignore */\nimport { setupDev } from \"../vite/setup-dev.mjs\";\n\nexport class TestHelper {\n private server?: ViteDevServer;\n private page: Page;\n private package: string;\n private projectName: string;\n\n constructor(args: { page: Page; package: string; projectName: string }) {\n this.page = args.page;\n this.package = args.package;\n this.projectName = args.projectName;\n }\n\n async init() {\n this.server = await createServer({\n mode: \"production\",\n configFile: false,\n plugins: [\n react(),\n copyJklFonts(\n resolve(\n fileURLToPath(new URL(\".\", import.meta.url)),\n \"..\",\n \"..\",\n \"packages\",\n \"jokul\",\n \"src\",\n \"components\",\n this.package,\n \"documentation\",\n \"public\",\n \"fonts\",\n ),\n ),\n setupDev(\n resolve(\n fileURLToPath(new URL(\".\", import.meta.url)),\n \"..\",\n \"..\",\n \"packages\",\n \"jokul\",\n \"src\",\n \"components\",\n this.package,\n \"documentation\",\n ),\n ),\n ],\n resolve: {\n alias: {\n \"doc-utils\": resolve(\n fileURLToPath(new URL(\".\", import.meta.url)),\n \"..\",\n \"dev-example\",\n ),\n },\n },\n root: resolve(\n fileURLToPath(new URL(\".\", import.meta.url)),\n \"..\",\n \"..\",\n \"packages\",\n \"jokul\",\n \"src\",\n \"components\",\n this.package,\n \"documentation\",\n ),\n define: {\n __CI__: \"true\",\n },\n });\n await this.server.listen();\n return this.server.config.server.port as number;\n }\n\n async close() {\n await this.server?.close();\n }\n\n async open(path: string = \"/\") {\n await this.page.goto(\n `http://localhost:${this.server?.config.server.port}${path}`,\n );\n }\n\n async clickElement(selector: string) {\n await this.page.click(selector);\n }\n\n async pressKey(key: string) {\n await this.page.keyboard.press(key);\n }\n\n async checkProp(testid: string) {\n await this.page.getByTestId(testid).first().check({ force: true });\n return this;\n }\n\n async setDensity(value: \"compact\" | \"default\") {\n await this.page\n .getByTestId(`density-${value}`)\n .first()\n .check({ force: true });\n return this;\n }\n\n async setTheme(value: \"light\" | \"dark\") {\n await this.page\n .getByTestId(`theme-${value}`)\n .first()\n .check({ force: true });\n return this;\n }\n\n private async snapshot(name: string, selector?: string) {\n await this.page.evaluate(() => document.fonts.ready);\n\n await this.page.evaluate(() => {\n return new Promise((resolve) => setTimeout(resolve, 600));\n });\n\n const locator = this.page\n .locator(selector || \"[data-testid='component-example']\")\n .first();\n const box = await locator.boundingBox();\n\n if (!box) {\n return;\n }\n\n const screenshotRoot = `packages/jokul/src/components/${this.package}/integration/__screenshots__`;\n const testName = test.info().title.replaceAll(\" \", \"-\");\n const screenshotPath = `${screenshotRoot}/${testName}-${this.projectName}-${name}.png`;\n\n const hasScreenshot = existsSync(screenshotPath);\n\n if (hasScreenshot) {\n await expect(\n await this.page.screenshot({\n animations: \"disabled\",\n caret: \"hide\",\n clip: { ...box },\n }),\n ).toMatchSnapshot(`${this.projectName}-${name}`);\n } else {\n await this.page.screenshot({\n animations: \"disabled\",\n caret: \"hide\",\n clip: { ...box },\n path: screenshotPath,\n });\n }\n }\n\n async snapshots({\n before,\n after,\n selector,\n }: {\n before?: () => Promise<any>;\n after?: () => Promise<any>;\n selector?: string;\n } = {}) {\n await this.setDensity(\"default\");\n await this.setTheme(\"light\");\n await before?.();\n await this.snapshot(\"default\", selector);\n await after?.();\n\n await this.setDensity(\"default\");\n await this.setTheme(\"dark\");\n await before?.();\n await this.snapshot(\"default-dark\", selector);\n await after?.();\n\n await this.setDensity(\"compact\");\n await this.setTheme(\"light\");\n await before?.();\n await this.snapshot(\"compact-light\", selector);\n await after?.();\n\n await this.setDensity(\"compact\");\n await this.setTheme(\"dark\");\n await before?.();\n await this.snapshot(\"compact-dark\", selector);\n await after?.();\n }\n}\n","import { cpSync, existsSync } from \"node:fs\";\nimport { resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nfunction copyJklFonts(destination) {\n return {\n name: \"copy-jkl-fonts\",\n configResolved() {\n const source = resolve(\n fileURLToPath(new URL(\".\", import.meta.url)),\n \"..\",\n \"..\",\n \"packages\",\n \"webfonts\",\n \"fonts\",\n );\n if (!existsSync(destination)) {\n cpSync(source, destination, {\n recursive: true,\n });\n console.log(`Copied font files into \"${destination}\"`);\n }\n },\n };\n}\n\nexport { copyJklFonts };\n"],"names":["setupDev","destination","name","buildStart","cpSync","resolve","fileURLToPath","URL","url","console","log","buildEnd","rmSync","TestHelper","constructor","args","__publicField","this","page","package","projectName","async","server","createServer","mode","configFile","plugins","react","configResolved","source","existsSync","recursive","alias","root","define","__CI__","listen","config","port","_a","close","path","goto","selector","click","key","keyboard","press","testid","getByTestId","first","check","force","value","evaluate","document","fonts","ready","Promise","setTimeout","box","locator","boundingBox","screenshotRoot","screenshotPath","test","info","title","replaceAll","expect","screenshot","animations","caret","clip","toMatchSnapshot","before","after","setDensity","setTheme","snapshot"],"mappings":"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"}
|