diff --git a/README.md b/README.md
index e061721..ef5721b 100644
--- a/README.md
+++ b/README.md
@@ -20,25 +20,25 @@ Existing conversations (please notify if this needs an update):
## Install
```shell
-npm install custom-attributes --save
+npm install @lume/custom-attributes --save
```
Add as a script tag:
```html
-
+
```
Or import as an ES module:
```js
-import customAttributes from 'custom-attributes'
+import {customAttributes} from '@lume/custom-attributes'
```
Or you can just import the CustomAttributeRegistry and create your own instance:
```js
-import {CustomAttributeRegistry} from 'custom-attributes'
+import {CustomAttributeRegistry} from '@lume/custom-attributes'
const customAttributes = new CustomAttributeRegistry(document)
```
diff --git a/dist/CustomAttributeRegistry.js b/dist/CustomAttributeRegistry.js
index af4033d..ef7c1d8 100644
--- a/dist/CustomAttributeRegistry.js
+++ b/dist/CustomAttributeRegistry.js
@@ -112,14 +112,4 @@ export class CustomAttributeRegistry {
}
}
}
-// Avoid errors trying to use DOM APIs in non-DOM environments (f.e. server-side rendering).
-if (globalThis.window?.document) {
- const original = Element.prototype.attachShadow;
- Element.prototype.attachShadow = function attachShadow(options) {
- const root = original.call(this, options);
- if (!root.customAttributes)
- root.customAttributes = new CustomAttributeRegistry(root);
- return root;
- };
-}
//# sourceMappingURL=CustomAttributeRegistry.js.map
\ No newline at end of file
diff --git a/dist/CustomAttributeRegistry.js.map b/dist/CustomAttributeRegistry.js.map
index e450257..b2a0507 100644
--- a/dist/CustomAttributeRegistry.js.map
+++ b/dist/CustomAttributeRegistry.js.map
@@ -1 +1 @@
-{"version":3,"file":"CustomAttributeRegistry.js","sourceRoot":"","sources":["../src/CustomAttributeRegistry.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"CustomAttributeRegistry.js","sourceRoot":"","sources":["../src/CustomAttributeRegistry.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/index.d.ts b/dist/index.d.ts
index afd94ab..24fa211 100644
--- a/dist/index.d.ts
+++ b/dist/index.d.ts
@@ -10,5 +10,5 @@ declare global {
customAttributes: CustomAttributeRegistry;
}
}
-export declare const version = "0.2.4";
+export declare const version = "0.3.0";
//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map
index 570e251..03f1c7c 100644
--- a/dist/index.d.ts.map
+++ b/dist/index.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAA;AAEpE,cAAc,8BAA8B,CAAA;AAE5C,eAAO,IAAI,gBAAgB,EAAE,uBAAuB,CAAA;AAKpD,OAAO,CAAC,MAAM,CAAC;IAMd,IAAI,gBAAgB,EAAE,uBAAuB,CAAA;IAE7C,UAAU,UAAU;QACnB,gBAAgB,EAAE,uBAAuB,CAAA;KACzC;IAED,UAAU,MAAM;QACf,gBAAgB,EAAE,uBAAuB,CAAA;KACzC;CACD;AAED,eAAO,MAAM,OAAO,UAAU,CAAA"}
\ No newline at end of file
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAA;AAEpE,cAAc,8BAA8B,CAAA;AAE5C,eAAO,IAAI,gBAAgB,EAAE,uBAAuB,CAAA;AAiBpD,OAAO,CAAC,MAAM,CAAC;IAMd,IAAI,gBAAgB,EAAE,uBAAuB,CAAA;IAE7C,UAAU,UAAU;QACnB,gBAAgB,EAAE,uBAAuB,CAAA;KACzC;IAED,UAAU,MAAM;QACf,gBAAgB,EAAE,uBAAuB,CAAA;KACzC;CACD;AAED,eAAO,MAAM,OAAO,UAAU,CAAA"}
\ No newline at end of file
diff --git a/dist/index.js b/dist/index.js
index d2b1e36..8cf9ac6 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -5,7 +5,15 @@ import { CustomAttributeRegistry } from './CustomAttributeRegistry.js';
export * from './CustomAttributeRegistry.js';
export let customAttributes;
// Avoid errors trying to use DOM APIs in non-DOM environments (f.e. server-side rendering).
-if (globalThis.window?.document)
+if (globalThis.window?.document) {
customAttributes = globalThis.customAttributes = new CustomAttributeRegistry(document);
-export const version = '0.2.4';
+ const originalAttachShadow = Element.prototype.attachShadow;
+ Element.prototype.attachShadow = function attachShadow(options) {
+ const root = originalAttachShadow.call(this, options);
+ if (!root.customAttributes)
+ root.customAttributes = new CustomAttributeRegistry(root);
+ return root;
+ };
+}
+export const version = '0.3.0';
//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/dist/index.js.map b/dist/index.js.map
index 2a47348..e20426e 100644
--- a/dist/index.js.map
+++ b/dist/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,cAAc;AAEd,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAA;AAEpE,cAAc,8BAA8B,CAAA;AAE5C,MAAM,CAAC,IAAI,gBAAyC,CAAA;AAEpD,4FAA4F;AAC5F,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ;IAAE,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,GAAG,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;AAmBvH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,cAAc;AAEd,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAA;AAEpE,cAAc,8BAA8B,CAAA;AAE5C,MAAM,CAAC,IAAI,gBAAyC,CAAA;AAEpD,4FAA4F;AAC5F,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACjC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,GAAG,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IAEtF,MAAM,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAA;IAE3D,OAAO,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,OAAO;QAC7D,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAErD,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAA;QAErF,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;AACF,CAAC;AAmBD,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA"}
\ No newline at end of file
diff --git a/package.json b/package.json
index 6276cde..18f4ffd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@lume/custom-attributes",
- "version": "0.2.4",
+ "version": "0.3.0",
"description": "Custom attributes: like custom elements, but for attributes",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -24,7 +24,7 @@
},
"repository": {
"type": "git",
- "url": "git+https://github.com/matthewp/custom-attributes.git"
+ "url": "git+https://github.com/lume/custom-attributes.git"
},
"keywords": [
"web",
@@ -33,11 +33,11 @@
"author": "Matthew Phillips",
"license": "BSD-2-Clause",
"bugs": {
- "url": "https://github.com/matthewp/custom-attributes/issues"
+ "url": "https://github.com/lume/custom-attributes/issues"
},
- "homepage": "https://github.com/matthewp/custom-attributes#readme",
+ "homepage": "https://github.com/lume/custom-attributes#readme",
"devDependencies": {
- "@lume/cli": "^0.13.0",
+ "@lume/cli": "^0.14.0",
"prettier": "3.0.3",
"rollup": "^0.41.4",
"typescript": "^5.0.0"
diff --git a/src/CustomAttributeRegistry.ts b/src/CustomAttributeRegistry.ts
index 05644c1..a548740 100644
--- a/src/CustomAttributeRegistry.ts
+++ b/src/CustomAttributeRegistry.ts
@@ -136,16 +136,3 @@ export interface CustomAttribute {
disconnectedCallback?(): void
changedCallback?(oldValue: string, newValue: string): void
}
-
-// Avoid errors trying to use DOM APIs in non-DOM environments (f.e. server-side rendering).
-if (globalThis.window?.document) {
- const original = Element.prototype.attachShadow
-
- Element.prototype.attachShadow = function attachShadow(options) {
- const root = original.call(this, options)
-
- if (!root.customAttributes) root.customAttributes = new CustomAttributeRegistry(root)
-
- return root
- }
-}
diff --git a/src/index.ts b/src/index.ts
index 5d766f1..692252b 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -9,7 +9,19 @@ export * from './CustomAttributeRegistry.js'
export let customAttributes: CustomAttributeRegistry
// Avoid errors trying to use DOM APIs in non-DOM environments (f.e. server-side rendering).
-if (globalThis.window?.document) customAttributes = globalThis.customAttributes = new CustomAttributeRegistry(document)
+if (globalThis.window?.document) {
+ customAttributes = globalThis.customAttributes = new CustomAttributeRegistry(document)
+
+ const originalAttachShadow = Element.prototype.attachShadow
+
+ Element.prototype.attachShadow = function attachShadow(options) {
+ const root = originalAttachShadow.call(this, options)
+
+ if (!root.customAttributes) root.customAttributes = new CustomAttributeRegistry(root)
+
+ return root
+ }
+}
declare global {
// const doesn't always work (TS bug). At time of writing this, it doesn't work in this TS playground example:
@@ -28,4 +40,4 @@ declare global {
}
}
-export const version = '0.2.4'
+export const version = '0.3.0'