Skip to content

Commit 6751c4b

Browse files
committed
various updates
1 parent e1ba0c5 commit 6751c4b

File tree

9 files changed

+55
-21
lines changed

9 files changed

+55
-21
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"private": true,
33
"name": "@pictogrammers/components",
44
"type": "module",
5-
"version": "0.4.4",
5+
"version": "0.4.6",
66
"license": "MIT",
77
"author": "Austin Andrews",
88
"scripts": {

src/pg/app/app.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
[part=grid] {
66
display: grid;
7-
grid-template-columns: auto 0.5rem 1fr;
8-
grid-template-rows: auto 1fr;
7+
grid-template-columns: auto 0.5rem minmax(0, 1fr);
8+
grid-template-rows: auto minmax(0, 1fr);
99
height: 100%;
1010
}
1111

src/pg/inputPixelEditor/__examples__/basic/basic.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ export default class XPgInputPixelEditorBasic extends HTMLElement {
142142
const size = content.match(/viewBox="\d+ \d+ (\d+) (\d+)"/) as string[];
143143
const width = parseInt(size[1], 10);
144144
const height = parseInt(size[2], 10);
145-
const path = (content.match(/d="([^"]+)"/) as string[])[1];
145+
const path = (content.match(/\sd="([^"]+)"/) as string[])[1];
146146
// Render path
147147
console.log(path, size[1], size[2]);
148148
this.$input.applyTemplate(maskToBitmap(path, width, height));

src/pg/inputPixelEditor/inputPixelEditor.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -447,15 +447,6 @@ export default class PgInputPixelEditor extends HTMLElement {
447447
}
448448

449449
#pointerOutside = false;
450-
handlePointerUpGlobal() {
451-
if (this.#pointerOutside) {
452-
this.handlePointerUp({
453-
clientX: 100,
454-
clientY: 100
455-
} as any);
456-
this.cleanupPointerGlobal();
457-
}
458-
}
459450

460451
cleanupPointerGlobal() {
461452
document.removeEventListener('pointermove', this.#handlePointerMoveCache);
@@ -513,6 +504,13 @@ export default class PgInputPixelEditor extends HTMLElement {
513504
this.#y = -1;
514505
this.#isPressed = false;
515506
this.cleanupPointerGlobal();
507+
if (this.#pointerOutside) {
508+
this.#isEditing = false;
509+
// base layer to main canvas
510+
this.#context.drawImage(this.#baseLayer, 0, 0);
511+
// editing layer to main canvas
512+
this.#context.drawImage(this.#isEditing ? this.#editLayer : this.#noEditLayer, 0, 0);
513+
}
516514
}
517515

518516
handlePointerMove(event: PointerEvent) {

src/pg/menu/__examples__/basic/basic.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ export default class XPgMenuBasic extends HTMLElement {
2727
},
2828
{
2929
label: 'Item 3',
30-
value: 'item3'
30+
value: 'item3',
31+
items: [{
32+
label: 'Item 4',
33+
value: 'item4'
34+
}]
3135
}];
3236
this.$menu.addEventListener('select', this.#handleSelect.bind(this));
3337
}

src/pg/menuItem/menuItem.css

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,13 @@
7777
background: var(--pg-focus-background-color, rgb(79, 143, 249, 0.1));
7878
}
7979

80+
[part=label].more {
81+
padding-right: 1.5rem;
82+
}
8083

8184
[part=label].more::after {
8285
position: absolute;
83-
translate: -0.5rem 0;
86+
translate: -0.25rem 0;
8487
right: 0;
8588
content: var(--pg-menu-item-check, url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' fill='rgb(69, 60, 79)' /></svg>"));
8689
width: 1.5rem;

src/pg/menuItem/menuItem.ts

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import { Component, Prop, Part, forEach } from '@pictogrammers/element';
22

3+
import PgOverlaySubMenu from '../overlaySubMenu/overlaySubMenu';
4+
35
import template from './menuItem.html';
46
import style from './menuItem.css';
57

@@ -36,13 +38,41 @@ export default class PgMenuItem extends HTMLElement {
3638
this.dispatchEvent(new CustomEvent('hasCheck', { bubbles: true }));
3739
}
3840
}
41+
if (changes.items) {
42+
this.$label.classList.toggle('more', this.items.length > 0);
43+
}
3944
}
4045

4146
connectedCallback() {
42-
this.$label.addEventListener('click', () => {
43-
this.dispatchEvent(new CustomEvent('select', {
44-
detail: { index: this.index }
45-
}));
47+
this.$label.addEventListener('click', async () => {
48+
if (this.items.length > 0) {
49+
const result = await PgOverlaySubMenu.open({
50+
source: this.$label,
51+
x: 0,
52+
y: 0,
53+
value: this.items[0],
54+
items: this.items
55+
});
56+
if (result === null) {
57+
this.focus();
58+
} else if (result) {
59+
this.dispatchEvent(new CustomEvent('select', {
60+
detail: {
61+
item: result
62+
}
63+
}));
64+
} else {
65+
this.dispatchEvent(new CustomEvent('close', {
66+
detail: {
67+
depth: -1
68+
}
69+
}));
70+
}
71+
} else {
72+
this.dispatchEvent(new CustomEvent('select', {
73+
detail: { index: this.index }
74+
}));
75+
}
4676
});
4777
this.$label.addEventListener('keydown', (e: KeyboardEvent) => {
4878
switch (e.key) {

src/pg/menuItemIcon/menuItemIcon.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, Prop, Part } from '@pictogrammers/element';
22

3-
import PgOverlaySubMenu from '../overlaySubMenu/overlaySubMenu'
3+
import PgOverlaySubMenu from '../overlaySubMenu/overlaySubMenu';
44
import PgIcon from '../icon/icon';
55

66
import template from './menuItemIcon.html';

src/pg/overlaySubMenu/overlaySubMenu.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
--pg-menu-box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.25);
1212
top: calc(anchor(top) - 0.25rem);
1313
left: calc(anchor(right) - 0.25rem);
14-
min-width: 10rem;
1514
translate: var(--pg-overlay-menu-_x, 0) var(--pg-overlay-menu-_y, 0);
1615
position-try-fallbacks: --custom-right, --custom-left;
1716
}

0 commit comments

Comments
 (0)