Skip to content

Commit

Permalink
Merge branch 'main' into temp/16668
Browse files Browse the repository at this point in the history
  • Loading branch information
EmanuelGustafzon authored Oct 18, 2024
2 parents 37070d6 + 6bde8a2 commit 75eca63
Show file tree
Hide file tree
Showing 361 changed files with 13,501 additions and 18,040 deletions.
18 changes: 11 additions & 7 deletions .storybook/main.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { dirname, join } from 'path';
import { StorybookConfig } from '@storybook/web-components-vite';
import remarkGfm from 'remark-gfm';

const config: StorybookConfig = {
stories: ['../@(src|libs|apps|storybook)/**/*.mdx', '../@(src|libs|apps|storybook)/**/*.stories.@(js|jsx|ts|tsx)'],
addons: [
'@storybook/addon-links',
'@storybook/addon-essentials',
'@storybook/addon-a11y',
getAbsolutePath('@storybook/addon-links'),
getAbsolutePath('@storybook/addon-essentials'),
getAbsolutePath('@storybook/addon-a11y'),
{
name: '@storybook/addon-docs',
options: {
Expand All @@ -19,12 +20,13 @@ const config: StorybookConfig = {
},
],
framework: {
name: '@storybook/web-components-vite',
name: getAbsolutePath('@storybook/web-components-vite'),
options: {},
},
staticDirs: [
'../public-assets',
'../public',
'../src/assets',
{
from: '../src/packages/core/icon-registry/icons',
to: 'assets/icons',
Expand All @@ -33,9 +35,7 @@ const config: StorybookConfig = {
typescript: {
check: true,
},
docs: {
autodocs: true,
},
docs: {},
managerHead(head, { configType }) {
const base = process.env.VITE_BASE_PATH || '/';
const injections = [
Expand All @@ -51,3 +51,7 @@ const config: StorybookConfig = {
},
};
export default config;

function getAbsolutePath(value: string): any {
return dirname(require.resolve(join(value, 'package.json')));
}
2 changes: 1 addition & 1 deletion .storybook/manager.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { addons } from '@storybook/addons';
import { addons } from '@storybook/manager-api';

addons.setConfig({
enableShortcuts: false,
Expand Down
8 changes: 7 additions & 1 deletion .storybook/preview.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,12 @@ const documentTreeStoreProvider = (story) => html`
export const decorators = [documentStoreProvider, documentTreeStoreProvider, dataTypeStoreProvider, storybookProvider];

export const parameters = {
docs: {
source: {
excludeDecorators: true,
format: 'html', // see storybook docs for more info on this format https://storybook.js.org/docs/api/doc-blocks/doc-block-source#format
},
},
options: {
storySort: {
method: 'alphabetical',
Expand Down Expand Up @@ -116,7 +122,6 @@ export const parameters = {
],
},
},
actions: { argTypesRegex: '^on.*' },
controls: {
expanded: true,
matchers: {
Expand All @@ -140,3 +145,4 @@ export const parameters = {
};

setCustomElements(customElementManifests);
export const tags = ['autodocs'];
28 changes: 14 additions & 14 deletions .vscode/lit.code-snippets
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
{
"Create Lit Component": {
"prefix": "lit new",
"UmbNewLitElement": {
"prefix": "new umb element",
"scope": "typescript",
"body": [
"import { UmbTextStyles } from '@umbraco-ui/backoffice/style';",
"import { css, html } from 'lit';",
"import { customElement } from 'lit/decorators.js';",
"import { css, customElement, html } from '@umbraco-cms/backoffice/external/lit';",
"import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';",
"import { UmbTextStyles } from '@umbraco-cms/backoffice/style';",
"",
"@customElement('umb-${TM_FILENAME_BASE/(.*)\\..+$/$1/}')",
"export class Umb${TM_FILENAME_BASE/(.*)\\..+$/${1:/pascalcase}/}Element extends UmbLitElement {",
"\trender() {",
"\t\treturn html`${0:umb-${TM_FILENAME_BASE/(.*)\\..+$/$1/}}`;",
"export class Umb${TM_FILENAME_BASE/(.*)$/${1:/pascalcase}/}Element extends UmbLitElement {",
"\toverride render() {",
"\t\treturn html`$0`;",
"\t}",
"",
"\tstatic styles = [UmbTextStyles, css``];",
"\tstatic override readonly styles = [UmbTextStyles, css``];",
"}",
"",
"export default Umb${TM_FILENAME_BASE/(.*)\\..+$/${1:/pascalcase}/}Element",
"export { Umb${TM_FILENAME_BASE/(.*)$/${1:/pascalcase}/}Element as element };",
"",
"declare global {",
"\tinterface HTMLElementTagNameMap {",
"\t\t'umb-${TM_FILENAME_BASE/(.*)\\..+$/$1/}': Umb${TM_FILENAME_BASE/(.*)\\..+$/${1:/pascalcase}/}Element;",
"\t\t'umb-${TM_FILENAME_BASE/(.*)\\..+$/$1/}': Umb${TM_FILENAME_BASE/(.*)$/${1:/pascalcase}/}Element;",
"\t}",
"}"
"}",
"",
],
"description": "Create a new Lit Component"
}
"description": "Create a new Umbraco Lit element",
},
}
25 changes: 25 additions & 0 deletions devops/build/global-types.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { createImportMap } from '../importmap/index.js';
import { writeFileWithDir } from '../utils/index.js';

const tsPath = './dist-cms/packages/extension-types/index.d.ts';

const importmap = createImportMap({
rootDir: './src',
replaceModuleExtensions: true,
});

const paths = Object.keys(importmap.imports);

const content = `
${paths.map((path) => `import '${path}';`).join('\n')}
`;

writeFileWithDir(tsPath, content, (err) => {
if (err) {
// eslint-disable-next-line no-undef
console.log(err);
}

// eslint-disable-next-line no-undef
console.log(`global-types file generated`);
});
4 changes: 2 additions & 2 deletions devops/importmap/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ export const createImportMap = (args) => {
// Iterate over the exports in package.json
for (const [key, value] of Object.entries(packageJsonExports || {})) {
// remove leading ./
if (value) {
if (value && value.endsWith('.js')) {
const moduleName = key.replace(/^\.\//, '');

// replace ./dist-cms with src and remove /index.js
let modulePath = value;
if (typeof args.rootDir !== 'undefined') modulePath = modulePath.replace(/^\.\/dist-cms/, args.rootDir);
if (args.replaceModuleExtensions) modulePath = modulePath.replace('.js', '.ts');
console.log('replacing', value, 'with', modulePath)
console.log('replacing', value, 'with', modulePath);
const importAlias = `${packageJsonName}/${moduleName}`;

imports[importAlias] = modulePath;
Expand Down
13 changes: 13 additions & 0 deletions devops/utils/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { writeFile, mkdir } from 'fs';
import * as pathModule from 'path';

const path = pathModule.default;
const getDirName = path.dirname;

export const writeFileWithDir = (path, contents, cb) => {
mkdir(getDirName(path), { recursive: true }, function (err) {
if (err) return cb(err);

writeFile(path, contents, cb);
});
};
6 changes: 4 additions & 2 deletions examples/manifest-picker/manifest-picker-dashboard.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import { css, html, customElement, state, when, nothing } from '@umbraco-cms/backoffice/external/lit';
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
import { UmbInputManifestElement } from '@umbraco-cms/backoffice/components';
import type { UmbInputManifestElement } from '@umbraco-cms/backoffice/components';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import { UUISelectEvent } from '@umbraco-cms/backoffice/external/uui';
import type { UUISelectEvent } from '@umbraco-cms/backoffice/external/uui';

// eslint-disable-next-line local-rules/enforce-umb-prefix-on-element-name
@customElement('example-manifest-picker-dashboard')
// eslint-disable-next-line local-rules/enforce-element-suffix-on-element-class-name, local-rules/umb-class-prefix
export class ExampleManifestPickerDashboard extends UmbLitElement {
#options: Array<Option> = [];

Expand Down
8 changes: 5 additions & 3 deletions examples/workspace-context-counter/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { UMB_WORKSPACE_CONDITION_ALIAS } from '@umbraco-cms/backoffice/workspace';

export const manifests: Array<UmbExtensionManifest> = [
{
type: 'workspaceContext',
Expand All @@ -6,7 +8,7 @@ export const manifests: Array<UmbExtensionManifest> = [
api: () => import('./counter-workspace-context.js'),
conditions: [
{
alias: 'Umb.Condition.WorkspaceAlias',
alias: UMB_WORKSPACE_CONDITION_ALIAS,
match: 'Umb.Workspace.Document',
},
],
Expand All @@ -25,7 +27,7 @@ export const manifests: Array<UmbExtensionManifest> = [
},
conditions: [
{
alias: 'Umb.Condition.WorkspaceAlias',
alias: UMB_WORKSPACE_CONDITION_ALIAS,
match: 'Umb.Workspace.Document',
},
],
Expand All @@ -43,7 +45,7 @@ export const manifests: Array<UmbExtensionManifest> = [
},
conditions: [
{
alias: 'Umb.Condition.WorkspaceAlias',
alias: UMB_WORKSPACE_CONDITION_ALIAS,
match: 'Umb.Workspace.Document',
},
],
Expand Down
Loading

0 comments on commit 75eca63

Please sign in to comment.