@duskmoon-dev/el-bottom-sheet 0.4.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.
@@ -0,0 +1,79 @@
1
+ /**
2
+ * DuskMoon Bottom Sheet Element
3
+ *
4
+ * A mobile bottom panel/sheet component for displaying content that slides up from the bottom.
5
+ * Supports snap points, swipe gestures, and modal mode.
6
+ *
7
+ * @element el-dm-bottom-sheet
8
+ *
9
+ * @attr {boolean} open - Whether the bottom sheet is open
10
+ * @attr {boolean} modal - Whether to show backdrop and trap focus
11
+ * @attr {boolean} persistent - Prevent dismiss by outside click or swipe down
12
+ * @attr {string} snap-points - Comma-separated list of snap point heights (e.g., "25%,50%,100%")
13
+ *
14
+ * @slot - Default slot for sheet content
15
+ * @slot header - Header content above the drag handle
16
+ *
17
+ * @csspart sheet - The sheet container
18
+ * @csspart backdrop - The backdrop overlay (modal mode)
19
+ * @csspart handle - The drag handle
20
+ * @csspart content - The content wrapper
21
+ * @csspart header - The header section
22
+ *
23
+ * @fires open - Fired when sheet opens
24
+ * @fires close - Fired when sheet closes
25
+ * @fires snap - Fired when sheet snaps to a point, detail contains { height, index }
26
+ */
27
+ import { BaseElement } from '@duskmoon-dev/el-core';
28
+ export declare class ElDmBottomSheet extends BaseElement {
29
+ static properties: {
30
+ open: {
31
+ type: BooleanConstructor;
32
+ reflect: boolean;
33
+ };
34
+ modal: {
35
+ type: BooleanConstructor;
36
+ reflect: boolean;
37
+ };
38
+ persistent: {
39
+ type: BooleanConstructor;
40
+ reflect: boolean;
41
+ };
42
+ snapPoints: {
43
+ type: StringConstructor;
44
+ reflect: boolean;
45
+ attribute: string;
46
+ };
47
+ };
48
+ open: boolean;
49
+ modal: boolean;
50
+ persistent: boolean;
51
+ snapPoints: string;
52
+ private _startY;
53
+ private _currentY;
54
+ private _sheetHeight;
55
+ private _isDragging;
56
+ private _parsedSnapPoints;
57
+ private _currentSnapIndex;
58
+ private _focusableElements;
59
+ private _previouslyFocused;
60
+ constructor();
61
+ connectedCallback(): void;
62
+ private _parseSnapPoints;
63
+ private _handleBackdropClick;
64
+ private _handleKeyDown;
65
+ private _trapFocus;
66
+ private _handleTouchStart;
67
+ private _handleTouchMove;
68
+ private _handleTouchEnd;
69
+ private _handleMouseDown;
70
+ private _handleMouseMove;
71
+ private _handleMouseUp;
72
+ private _snapToNearestPoint;
73
+ show(): void;
74
+ hide(): void;
75
+ disconnectedCallback(): void;
76
+ render(): string;
77
+ update(): void;
78
+ }
79
+ //# sourceMappingURL=el-dm-bottom-sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"el-dm-bottom-sheet.d.ts","sourceRoot":"","sources":["../../src/el-dm-bottom-sheet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,WAAW,EAAO,MAAM,uBAAuB,CAAC;AA4HzD,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;MAKf;IAEM,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,kBAAkB,CAA4B;;IAOtD,iBAAiB,IAAI,IAAI;IAKzB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,oBAAoB,CAI1B;IAEF,OAAO,CAAC,cAAc,CASpB;IAEF,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,iBAAiB,CAUvB;IAEF,OAAO,CAAC,gBAAgB,CActB;IAEF,OAAO,CAAC,eAAe,CAsBrB;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF,OAAO,CAAC,cAAc,CAyBpB;IAEF,OAAO,CAAC,mBAAmB;IA8B3B,IAAI,IAAI,IAAI;IAyBZ,IAAI,IAAI,IAAI;IAaZ,oBAAoB,IAAI,IAAI;IAQ5B,MAAM,IAAI,MAAM;IAyBhB,MAAM,IAAI,IAAI;CAgBf"}
@@ -0,0 +1,4 @@
1
+ import { ElDmBottomSheet } from './el-dm-bottom-sheet.js';
2
+ export { ElDmBottomSheet };
3
+ export declare function register(): void;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,wBAAgB,QAAQ,IAAI,IAAI,CAI/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@duskmoon-dev/el-bottom-sheet",
3
+ "version": "0.4.0",
4
+ "type": "module",
5
+ "main": "./dist/cjs/index.js",
6
+ "module": "./dist/esm/index.js",
7
+ "types": "./dist/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/types/index.d.ts",
11
+ "import": "./dist/esm/index.js",
12
+ "require": "./dist/cjs/index.js"
13
+ },
14
+ "./register": {
15
+ "types": "./dist/types/register.d.ts",
16
+ "import": "./dist/esm/register.js",
17
+ "require": "./dist/cjs/register.js"
18
+ }
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "scripts": {
24
+ "prebuild": "bun run clean",
25
+ "build": "bun run build:esm && bun run build:cjs && bun run build:types",
26
+ "build:esm": "bun build ./src/index.ts ./src/register.ts --outdir ./dist/esm --format esm --sourcemap --external @duskmoon-dev/el-core --external @duskmoon-dev/core",
27
+ "build:cjs": "bun build ./src/index.ts ./src/register.ts --outdir ./dist/cjs --format cjs --sourcemap --external @duskmoon-dev/el-core --external @duskmoon-dev/core",
28
+ "build:types": "tsc --emitDeclarationOnly --outDir ./dist/types",
29
+ "dev": "bun build ./src/index.ts --outdir ./dist/esm --format esm --sourcemap --external @duskmoon-dev/el-core --watch",
30
+ "clean": "del-cli dist",
31
+ "test": "bun test",
32
+ "typecheck": "tsc --noEmit",
33
+ "format": "prettier --write 'src/**/*.ts' '*.json'",
34
+ "format:check": "prettier --check 'src/**/*.ts' '*.json'",
35
+ "lint": "eslint src",
36
+ "lint:check": "eslint src --max-warnings 0",
37
+ "lint:fix": "eslint src --fix",
38
+ "release": "bun publish",
39
+ "release:dry-run": "bun publish --dry-run"
40
+ },
41
+ "dependencies": {
42
+ "@duskmoon-dev/el-core": "0.3.0",
43
+ "@duskmoon-dev/core": "^1.1.1"
44
+ },
45
+ "devDependencies": {
46
+ "typescript": "^5.7.2"
47
+ },
48
+ "publishConfig": {
49
+ "access": "public"
50
+ },
51
+ "customElements": "custom-elements.json",
52
+ "keywords": [
53
+ "duskmoon-dev",
54
+ "duskmoon",
55
+ "custom-elements",
56
+ "customelements",
57
+ "web-components",
58
+ "webcomponents",
59
+ "html",
60
+ "bottom-sheet",
61
+ "mobile"
62
+ ]
63
+ }