sliced-areas 1.0.3 → 1.0.4

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/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Blender-like resizable and splittable areas layout system. Available as a Web Component with optional Vue 3 wrapper.
4
4
 
5
+ 📚 **[Documentation & Examples](https://pavel-voronin.github.io/sliced-areas/)**
6
+
5
7
  ## Installation
6
8
 
7
9
  ```sh
package/dist/vue.d.ts CHANGED
@@ -31,4 +31,5 @@ declare const SlicedAreas: import("vue").DefineComponent<import("vue").ExtractPr
31
31
  export declare const SlicedAreasPlugin: {
32
32
  install(app: App): void;
33
33
  };
34
+ export { SlicedAreas };
34
35
  export default SlicedAreas;
package/dist/vue.js CHANGED
@@ -43,6 +43,6 @@ const SlicedAreasPlugin = { install(e) {
43
43
  e.component("SlicedAreas", SlicedAreas);
44
44
  } };
45
45
  var vue_default = SlicedAreas;
46
- export { SlicedAreasPlugin, vue_default as default };
46
+ export { SlicedAreas, SlicedAreasPlugin, vue_default as default };
47
47
 
48
48
  //# sourceMappingURL=vue.js.map
package/dist/vue.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vue.js","names":[],"sources":["../src/plugin/vue.ts"],"sourcesContent":["import {\n defineComponent,\n h,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs,\n watch,\n type App,\n type PropType,\n} from 'vue'\n\nimport { registerSlicedAreasElement } from './sliced-areas'\nimport type { AreaResolver, AreasLayout, CornerClickDetail, SlicedAreasElement } from './sliced-areas'\n\nexport type {\n AreaId,\n AreaRect,\n AreaTag,\n AreasGraph,\n AreasLayout,\n AreaResolver,\n CornerClickDetail,\n GraphArea,\n GraphEdge,\n GraphVert,\n SlicedAreasElement,\n} from './sliced-areas'\n\nregisterSlicedAreasElement()\n\nconst SlicedAreas = defineComponent({\n name: 'SlicedAreas',\n inheritAttrs: false,\n props: {\n layout: {\n type: Object as PropType<AreasLayout | null>,\n default: null,\n },\n resolver: {\n type: Function as unknown as PropType<AreaResolver | null>,\n default: null,\n },\n },\n emits: ['layoutchange', 'cornerclick'],\n setup(props, { emit, slots }) {\n const attrs = useAttrs()\n const elementRef = ref<SlicedAreasElement | null>(null)\n\n const onLayoutChange = (event: Event) => {\n const customEvent = event as CustomEvent<{ layout: AreasLayout }>\n emit('layoutchange', customEvent.detail)\n }\n\n const onCornerClick = (event: Event) => {\n const customEvent = event as CustomEvent<CornerClickDetail>\n emit('cornerclick', customEvent.detail)\n }\n\n onMounted(() => {\n const element = elementRef.value!\n element.addEventListener('sliced-areas:layoutchange', onLayoutChange)\n element.addEventListener('sliced-areas:cornerclick', onCornerClick)\n })\n\n onBeforeUnmount(() => {\n const element = elementRef.value!\n element.removeEventListener('sliced-areas:layoutchange', onLayoutChange)\n element.removeEventListener('sliced-areas:cornerclick', onCornerClick)\n })\n\n watch(\n [() => elementRef.value, () => props.resolver, () => props.layout],\n ([element, resolver, layout]) => {\n if (!element) return\n element.setResolver(resolver)\n element.layout = layout\n },\n { immediate: true },\n )\n\n return () =>\n h(\n 'sliced-areas',\n {\n ...attrs,\n ref: elementRef,\n },\n slots.default?.(),\n )\n },\n})\n\nexport const SlicedAreasPlugin = {\n install(app: App) {\n app.component('SlicedAreas', SlicedAreas)\n },\n}\n\nexport default SlicedAreas\n"],"mappings":";;AA6BA,4BAA4B;AAE5B,IAAM,cAAc,gBAAgB;CAClC,MAAM;CACN,cAAc;CACd,OAAO;EACL,QAAQ;GACN,MAAM;GACN,SAAS;GACV;EACD,UAAU;GACR,MAAM;GACN,SAAS;GACV;EACF;CACD,OAAO,CAAC,gBAAgB,cAAc;CACtC,MAAM,GAAO,EAAE,SAAM,YAAS;EAC5B,IAAM,IAAQ,UAAU,EAClB,IAAa,IAA+B,KAAK,EAEjD,KAAkB,MAAiB;AAEvC,KAAK,gBADe,EACa,OAAO;KAGpC,KAAiB,MAAiB;AAEtC,KAAK,eADe,EACY,OAAO;;AAyBzC,SAtBA,gBAAgB;GACd,IAAM,IAAU,EAAW;AAE3B,GADA,EAAQ,iBAAiB,6BAA6B,EAAe,EACrE,EAAQ,iBAAiB,4BAA4B,EAAc;IACnE,EAEF,sBAAsB;GACpB,IAAM,IAAU,EAAW;AAE3B,GADA,EAAQ,oBAAoB,6BAA6B,EAAe,EACxE,EAAQ,oBAAoB,4BAA4B,EAAc;IACtE,EAEF,MACE;SAAO,EAAW;SAAa,EAAM;SAAgB,EAAM;GAAO,GACjE,CAAC,GAAS,GAAU,OAAY;AAC1B,SACL,EAAQ,YAAY,EAAS,EAC7B,EAAQ,SAAS;KAEnB,EAAE,WAAW,IAAM,CACpB,QAGC,EACE,gBACA;GACE,GAAG;GACH,KAAK;GACN,EACD,EAAM,WAAW,CAClB;;CAEN,CAAC;AAEF,MAAa,oBAAoB,EAC/B,QAAQ,GAAU;AAChB,GAAI,UAAU,eAAe,YAAY;GAE5C;AAED,IAAA,cAAe"}
1
+ {"version":3,"file":"vue.js","names":[],"sources":["../src/plugin/vue.ts"],"sourcesContent":["import {\n defineComponent,\n h,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs,\n watch,\n type App,\n type PropType,\n} from 'vue'\n\nimport { registerSlicedAreasElement } from './sliced-areas'\nimport type { AreaResolver, AreasLayout, CornerClickDetail, SlicedAreasElement } from './sliced-areas'\n\nexport type {\n AreaId,\n AreaRect,\n AreaTag,\n AreasGraph,\n AreasLayout,\n AreaResolver,\n CornerClickDetail,\n GraphArea,\n GraphEdge,\n GraphVert,\n SlicedAreasElement,\n} from './sliced-areas'\n\nregisterSlicedAreasElement()\n\nconst SlicedAreas = defineComponent({\n name: 'SlicedAreas',\n inheritAttrs: false,\n props: {\n layout: {\n type: Object as PropType<AreasLayout | null>,\n default: null,\n },\n resolver: {\n type: Function as unknown as PropType<AreaResolver | null>,\n default: null,\n },\n },\n emits: ['layoutchange', 'cornerclick'],\n setup(props, { emit, slots }) {\n const attrs = useAttrs()\n const elementRef = ref<SlicedAreasElement | null>(null)\n\n const onLayoutChange = (event: Event) => {\n const customEvent = event as CustomEvent<{ layout: AreasLayout }>\n emit('layoutchange', customEvent.detail)\n }\n\n const onCornerClick = (event: Event) => {\n const customEvent = event as CustomEvent<CornerClickDetail>\n emit('cornerclick', customEvent.detail)\n }\n\n onMounted(() => {\n const element = elementRef.value!\n element.addEventListener('sliced-areas:layoutchange', onLayoutChange)\n element.addEventListener('sliced-areas:cornerclick', onCornerClick)\n })\n\n onBeforeUnmount(() => {\n const element = elementRef.value!\n element.removeEventListener('sliced-areas:layoutchange', onLayoutChange)\n element.removeEventListener('sliced-areas:cornerclick', onCornerClick)\n })\n\n watch(\n [() => elementRef.value, () => props.resolver, () => props.layout],\n ([element, resolver, layout]) => {\n if (!element) return\n element.setResolver(resolver)\n element.layout = layout\n },\n { immediate: true },\n )\n\n return () =>\n h(\n 'sliced-areas',\n {\n ...attrs,\n ref: elementRef,\n },\n slots.default?.(),\n )\n },\n})\n\nexport const SlicedAreasPlugin = {\n install(app: App) {\n app.component('SlicedAreas', SlicedAreas)\n },\n}\n\nexport { SlicedAreas }\nexport default SlicedAreas\n"],"mappings":";;AA6BA,4BAA4B;AAE5B,IAAM,cAAc,gBAAgB;CAClC,MAAM;CACN,cAAc;CACd,OAAO;EACL,QAAQ;GACN,MAAM;GACN,SAAS;GACV;EACD,UAAU;GACR,MAAM;GACN,SAAS;GACV;EACF;CACD,OAAO,CAAC,gBAAgB,cAAc;CACtC,MAAM,GAAO,EAAE,SAAM,YAAS;EAC5B,IAAM,IAAQ,UAAU,EAClB,IAAa,IAA+B,KAAK,EAEjD,KAAkB,MAAiB;AAEvC,KAAK,gBADe,EACa,OAAO;KAGpC,KAAiB,MAAiB;AAEtC,KAAK,eADe,EACY,OAAO;;AAyBzC,SAtBA,gBAAgB;GACd,IAAM,IAAU,EAAW;AAE3B,GADA,EAAQ,iBAAiB,6BAA6B,EAAe,EACrE,EAAQ,iBAAiB,4BAA4B,EAAc;IACnE,EAEF,sBAAsB;GACpB,IAAM,IAAU,EAAW;AAE3B,GADA,EAAQ,oBAAoB,6BAA6B,EAAe,EACxE,EAAQ,oBAAoB,4BAA4B,EAAc;IACtE,EAEF,MACE;SAAO,EAAW;SAAa,EAAM;SAAgB,EAAM;GAAO,GACjE,CAAC,GAAS,GAAU,OAAY;AAC1B,SACL,EAAQ,YAAY,EAAS,EAC7B,EAAQ,SAAS;KAEnB,EAAE,WAAW,IAAM,CACpB,QAGC,EACE,gBACA;GACE,GAAG;GACH,KAAK;GACN,EACD,EAAM,WAAW,CAClB;;CAEN,CAAC;AAEF,MAAa,oBAAoB,EAC/B,QAAQ,GAAU;AAChB,GAAI,UAAU,eAAe,YAAY;GAE5C;AAGD,IAAA,cAAe"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "tiling",
12
12
  "blender"
13
13
  ],
14
- "version": "1.0.3",
14
+ "version": "1.0.4",
15
15
  "type": "module",
16
16
  "license": "MIT",
17
17
  "author": "Pavel Voronin",
@@ -19,7 +19,7 @@
19
19
  "type": "git",
20
20
  "url": "https://github.com/pavel-voronin/sliced-areas.git"
21
21
  },
22
- "homepage": "https://github.com/pavel-voronin/sliced-areas#readme",
22
+ "homepage": "https://pavel-voronin.github.io/sliced-areas/",
23
23
  "bugs": {
24
24
  "url": "https://github.com/pavel-voronin/sliced-areas/issues"
25
25
  },
@@ -61,7 +61,10 @@
61
61
  "lint:oxlint": "oxlint . --fix -D correctness --ignore-path .gitignore",
62
62
  "lint:eslint": "eslint . --fix --cache",
63
63
  "lint": "run-s lint:*",
64
- "format": "prettier --write --experimental-cli src/"
64
+ "format": "prettier --write --experimental-cli src/",
65
+ "docs:dev": "vitepress dev docs",
66
+ "docs:build": "vitepress build docs",
67
+ "docs:preview": "vitepress preview docs"
65
68
  },
66
69
  "peerDependencies": {
67
70
  "vue": "^3.5.25"
@@ -71,10 +74,9 @@
71
74
  "optional": true
72
75
  }
73
76
  },
74
- "dependencies": {},
75
77
  "devDependencies": {
76
- "@tailwindcss/vite": "^4.1.18",
77
78
  "@prettier/plugin-oxc": "^0.0.5",
79
+ "@tailwindcss/vite": "^4.1.18",
78
80
  "@tsconfig/node24": "^24.0.3",
79
81
  "@types/jsdom": "^27.0.0",
80
82
  "@types/node": "^24.10.1",
@@ -95,6 +97,7 @@
95
97
  "typescript": "~5.9.0",
96
98
  "vite": "npm:rolldown-vite@latest",
97
99
  "vite-plugin-vue-devtools": "^8.0.5",
100
+ "vitepress": "^1.6.4",
98
101
  "vitest": "^4.0.14",
99
102
  "vue": "^3.5.25",
100
103
  "vue-tsc": "^3.1.5"