@rettangoli/ui 1.0.6 → 1.0.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rettangoli/ui",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "A UI component library for building web interfaces.",
5
5
  "main": "dist/rettangoli-esm.min.js",
6
6
  "type": "module",
@@ -19,7 +19,8 @@
19
19
  "module": "./src/index.js",
20
20
  "repository": {
21
21
  "type": "git",
22
- "url": "git+https://github.com/yuusoft-org/rettangoli.git"
22
+ "url": "https://github.com/yuusoft-org/rettangoli",
23
+ "directory": "packages/rettangoli-ui"
23
24
  },
24
25
  "author": {
25
26
  "name": "Luciano Hanyon Wu",
@@ -36,7 +37,7 @@
36
37
  "build": "rtgl fe build -o ./.generated/fe-entry.js && bun run esbuild.js && bun run esbuild-dev.js && npm run copy:css",
37
38
  "prepack": "npm run build",
38
39
  "vt:generate": "bun run build:dev && rtgl vt generate",
39
- "vt:docker": "bun run build:dev && bash -lc 'IMAGE=\"han4wluc/rtgl:playwright-v1.57.0-rtgl-v1.0.0-rc27\"; docker pull \"$IMAGE\" >/dev/null 2>&1 || IMAGE=\"han4wluc/rtgl:playwright-v1.57.0-rtgl-v1.0.0-rc26\"; docker run --rm --user $(id -u):$(id -g) -v \"$PWD:/app\" -w /app \"$IMAGE\" rtgl vt screenshot'",
40
+ "vt:docker": "bun run build:dev && bash -lc 'IMAGE=\"han4wluc/rtgl:playwright-v1.57.0-rtgl-v1.0.5\"; docker pull \"$IMAGE\" >/dev/null 2>&1 || IMAGE=\"han4wluc/rtgl:playwright-v1.57.0-rtgl-v1.0.0-rc27\"; docker run --rm --user $(id -u):$(id -g) -v \"$PWD:/app\" -w /app \"$IMAGE\" rtgl vt screenshot'",
40
41
  "vt:report": "bun run vt:docker && rtgl vt report",
41
42
  "vt:accept": "rtgl vt accept",
42
43
  "serve": "bunx serve .rettangoli/vt/_site"
@@ -61,12 +62,7 @@
61
62
  },
62
63
  "homepage": "https://github.com/yuusoft-org/rettangoli#readme",
63
64
  "dependencies": {
64
- "@floating-ui/dom": "^1.6.13",
65
- "@rettangoli/fe": "1.0.3",
66
- "commander": "^13.1.0",
67
- "jempl": "1.0.0",
68
- "js-yaml": "^4.1.0",
69
- "liquidjs": "^10.21.0",
70
- "snabbdom": "^3.6.2"
65
+ "@rettangoli/fe": "1.0.4",
66
+ "jempl": "1.0.1"
71
67
  }
72
68
  }
@@ -0,0 +1,15 @@
1
+ componentName: rtgl-card
2
+ propsSchema:
3
+ type: object
4
+ properties:
5
+ head:
6
+ type: string
7
+ desc:
8
+ type: string
9
+ size:
10
+ type: string
11
+ enum: [sm, md, lg]
12
+ events: []
13
+ methods:
14
+ type: object
15
+ properties: {}
@@ -0,0 +1,87 @@
1
+ const blacklistedProps = [
2
+ 'id',
3
+ 'class',
4
+ 'style',
5
+ 'slot',
6
+ 'head',
7
+ 'desc',
8
+ 'size',
9
+ 'd',
10
+ 'ah',
11
+ 'av',
12
+ 'wrap',
13
+ 'noWrap',
14
+ 'g',
15
+ 'gh',
16
+ 'gv',
17
+ 'p',
18
+ 'pt',
19
+ 'pr',
20
+ 'pb',
21
+ 'pl',
22
+ 'pv',
23
+ 'ph',
24
+ 'bw',
25
+ 'bwt',
26
+ 'bwr',
27
+ 'bwb',
28
+ 'bwl',
29
+ 'bc',
30
+ 'br',
31
+ 'shadow',
32
+ 'bgc',
33
+ 'href',
34
+ 'newTab',
35
+ 'rel',
36
+ 'cur',
37
+ 'sv',
38
+ 'sh',
39
+ 'overflow',
40
+ ];
41
+
42
+ const sizePresets = {
43
+ sm: {
44
+ cardAttrString: 'p=md sm-p=sm g=md sm-g=sm',
45
+ headerAttrString: 'g=xs',
46
+ headingSize: 'lg',
47
+ subheadingSize: 'sm',
48
+ },
49
+ md: {
50
+ cardAttrString: 'p=lg md-p=md sm-p=md g=lg md-g=md sm-g=md',
51
+ headerAttrString: 'g=sm',
52
+ headingSize: 'h4',
53
+ subheadingSize: 'sm',
54
+ },
55
+ lg: {
56
+ cardAttrString: 'p=xl lg-p=lg md-p=md sm-p=md g=lg md-g=md sm-g=md',
57
+ headerAttrString: 'g=sm',
58
+ headingSize: 'h3',
59
+ subheadingSize: 'md',
60
+ },
61
+ };
62
+
63
+ const stringifyProps = (props = {}) => {
64
+ return Object.entries(props)
65
+ .filter(([key]) => !blacklistedProps.includes(key))
66
+ .map(([key, value]) => `${key}=${value}`)
67
+ .join(' ');
68
+ };
69
+
70
+ export const createInitialState = () => Object.freeze({});
71
+
72
+ export const selectViewData = ({ props = {} }) => {
73
+ const size = sizePresets[props.size] ? props.size : 'md';
74
+ const preset = sizePresets[size];
75
+
76
+ return {
77
+ containerAttrString: stringifyProps(props),
78
+ cardAttrString: preset.cardAttrString,
79
+ headerAttrString: preset.headerAttrString,
80
+ headingSize: preset.headingSize,
81
+ subheadingSize: preset.subheadingSize,
82
+ head: props.head || '',
83
+ desc: props.desc || '',
84
+ hasHeader: !!(props.head || props.desc),
85
+ size,
86
+ };
87
+ };
@@ -0,0 +1,18 @@
1
+ styles:
2
+ :host:
3
+ display: block
4
+ slot:
5
+ display: block
6
+ min-width: 0
7
+ .rtgl-card-body:
8
+ min-width: 0
9
+ template:
10
+ - 'rtgl-view class="rtgl-card" d=v w=f bgc=bg bw=xs bc=bo br=xl shadow=sm ${cardAttrString} ${containerAttrString}':
11
+ - $if hasHeader:
12
+ - 'rtgl-view class="rtgl-card-header" d=v w=f ${headerAttrString}':
13
+ - $if head:
14
+ - rtgl-text class="rtgl-card-heading" s=${headingSize} w=f: ${head}
15
+ - $if desc:
16
+ - rtgl-text class="rtgl-card-desc" s=${subheadingSize} c=mu-fg w=f: ${desc}
17
+ - div class=rtgl-card-body:
18
+ - slot: null