@operato/property-panel 9.0.0-beta.14

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.
Files changed (156) hide show
  1. package/.editorconfig +29 -0
  2. package/.storybook/main.js +5 -0
  3. package/.storybook/preview.js +52 -0
  4. package/.storybook/server.mjs +8 -0
  5. package/CHANGELOG.md +11 -0
  6. package/LICENSE +21 -0
  7. package/README.md +76 -0
  8. package/demo/index.html +30 -0
  9. package/dist/src/graphql/board.d.ts +6 -0
  10. package/dist/src/graphql/board.js +130 -0
  11. package/dist/src/graphql/board.js.map +1 -0
  12. package/dist/src/graphql/data-subscription.d.ts +5 -0
  13. package/dist/src/graphql/data-subscription.js +24 -0
  14. package/dist/src/graphql/data-subscription.js.map +1 -0
  15. package/dist/src/graphql/favorite-board.d.ts +1 -0
  16. package/dist/src/graphql/favorite-board.js +23 -0
  17. package/dist/src/graphql/favorite-board.js.map +1 -0
  18. package/dist/src/graphql/group.d.ts +7 -0
  19. package/dist/src/graphql/group.js +125 -0
  20. package/dist/src/graphql/group.js.map +1 -0
  21. package/dist/src/graphql/index.d.ts +4 -0
  22. package/dist/src/graphql/index.js +5 -0
  23. package/dist/src/graphql/index.js.map +1 -0
  24. package/dist/src/graphql/play-group.d.ts +13 -0
  25. package/dist/src/graphql/play-group.js +205 -0
  26. package/dist/src/graphql/play-group.js.map +1 -0
  27. package/dist/src/graphql/scenario.d.ts +6 -0
  28. package/dist/src/graphql/scenario.js +69 -0
  29. package/dist/src/graphql/scenario.js.map +1 -0
  30. package/dist/src/index.d.ts +7 -0
  31. package/dist/src/index.js +8 -0
  32. package/dist/src/index.js.map +1 -0
  33. package/dist/src/ox-property-panel.d.ts +46 -0
  34. package/dist/src/ox-property-panel.js +346 -0
  35. package/dist/src/ox-property-panel.js.map +1 -0
  36. package/dist/src/property-panel/abstract-property.d.ts +10 -0
  37. package/dist/src/property-panel/abstract-property.js +53 -0
  38. package/dist/src/property-panel/abstract-property.js.map +1 -0
  39. package/dist/src/property-panel/data-binding/data-binding-mapper.d.ts +58 -0
  40. package/dist/src/property-panel/data-binding/data-binding-mapper.js +380 -0
  41. package/dist/src/property-panel/data-binding/data-binding-mapper.js.map +1 -0
  42. package/dist/src/property-panel/data-binding/data-binding-value-map.d.ts +6 -0
  43. package/dist/src/property-panel/data-binding/data-binding-value-map.js +20 -0
  44. package/dist/src/property-panel/data-binding/data-binding-value-map.js.map +1 -0
  45. package/dist/src/property-panel/data-binding/data-binding-value-range.d.ts +6 -0
  46. package/dist/src/property-panel/data-binding/data-binding-value-range.js +20 -0
  47. package/dist/src/property-panel/data-binding/data-binding-value-range.js.map +1 -0
  48. package/dist/src/property-panel/data-binding/data-binding.d.ts +44 -0
  49. package/dist/src/property-panel/data-binding/data-binding.js +442 -0
  50. package/dist/src/property-panel/data-binding/data-binding.js.map +1 -0
  51. package/dist/src/property-panel/effects/effects.d.ts +24 -0
  52. package/dist/src/property-panel/effects/effects.js +72 -0
  53. package/dist/src/property-panel/effects/effects.js.map +1 -0
  54. package/dist/src/property-panel/effects/property-animation.d.ts +23 -0
  55. package/dist/src/property-panel/effects/property-animation.js +147 -0
  56. package/dist/src/property-panel/effects/property-animation.js.map +1 -0
  57. package/dist/src/property-panel/effects/property-animations.d.ts +22 -0
  58. package/dist/src/property-panel/effects/property-animations.js +70 -0
  59. package/dist/src/property-panel/effects/property-animations.js.map +1 -0
  60. package/dist/src/property-panel/effects/property-event-hover.d.ts +21 -0
  61. package/dist/src/property-panel/effects/property-event-hover.js +193 -0
  62. package/dist/src/property-panel/effects/property-event-hover.js.map +1 -0
  63. package/dist/src/property-panel/effects/property-event-tap.d.ts +36 -0
  64. package/dist/src/property-panel/effects/property-event-tap.js +262 -0
  65. package/dist/src/property-panel/effects/property-event-tap.js.map +1 -0
  66. package/dist/src/property-panel/effects/property-event.d.ts +22 -0
  67. package/dist/src/property-panel/effects/property-event.js +64 -0
  68. package/dist/src/property-panel/effects/property-event.js.map +1 -0
  69. package/dist/src/property-panel/effects/property-shadow.d.ts +23 -0
  70. package/dist/src/property-panel/effects/property-shadow.js +66 -0
  71. package/dist/src/property-panel/effects/property-shadow.js.map +1 -0
  72. package/dist/src/property-panel/effects/value-converter.d.ts +1 -0
  73. package/dist/src/property-panel/effects/value-converter.js +17 -0
  74. package/dist/src/property-panel/effects/value-converter.js.map +1 -0
  75. package/dist/src/property-panel/inspector/inspector.d.ts +27 -0
  76. package/dist/src/property-panel/inspector/inspector.js +357 -0
  77. package/dist/src/property-panel/inspector/inspector.js.map +1 -0
  78. package/dist/src/property-panel/shapes/shapes.d.ts +26 -0
  79. package/dist/src/property-panel/shapes/shapes.js +312 -0
  80. package/dist/src/property-panel/shapes/shapes.js.map +1 -0
  81. package/dist/src/property-panel/specifics/specific-properties-builder.d.ts +16 -0
  82. package/dist/src/property-panel/specifics/specific-properties-builder.js +138 -0
  83. package/dist/src/property-panel/specifics/specific-properties-builder.js.map +1 -0
  84. package/dist/src/property-panel/specifics/specifics.d.ts +25 -0
  85. package/dist/src/property-panel/specifics/specifics.js +84 -0
  86. package/dist/src/property-panel/specifics/specifics.js.map +1 -0
  87. package/dist/src/property-panel/styles/styles.d.ts +23 -0
  88. package/dist/src/property-panel/styles/styles.js +269 -0
  89. package/dist/src/property-panel/styles/styles.js.map +1 -0
  90. package/dist/src/types.d.ts +43 -0
  91. package/dist/src/types.js +2 -0
  92. package/dist/src/types.js.map +1 -0
  93. package/dist/stories/index.stories.d.ts +22 -0
  94. package/dist/stories/index.stories.js +121 -0
  95. package/dist/stories/index.stories.js.map +1 -0
  96. package/dist/stories/input-table-property.stories.d.ts +21 -0
  97. package/dist/stories/input-table-property.stories.js +84 -0
  98. package/dist/stories/input-table-property.stories.js.map +1 -0
  99. package/dist/test/ox-property-panel.test.d.ts +1 -0
  100. package/dist/test/ox-property-panel.test.js +24 -0
  101. package/dist/test/ox-property-panel.test.js.map +1 -0
  102. package/dist/tsconfig.tsbuildinfo +1 -0
  103. package/package.json +108 -0
  104. package/src/graphql/board.ts +144 -0
  105. package/src/graphql/data-subscription.ts +30 -0
  106. package/src/graphql/favorite-board.ts +25 -0
  107. package/src/graphql/group.ts +138 -0
  108. package/src/graphql/index.ts +4 -0
  109. package/src/graphql/play-group.ts +225 -0
  110. package/src/graphql/scenario.ts +79 -0
  111. package/src/index.ts +8 -0
  112. package/src/ox-property-panel.ts +347 -0
  113. package/src/property-panel/abstract-property.ts +67 -0
  114. package/src/property-panel/data-binding/data-binding-mapper.ts +412 -0
  115. package/src/property-panel/data-binding/data-binding-value-map.ts +19 -0
  116. package/src/property-panel/data-binding/data-binding-value-range.ts +19 -0
  117. package/src/property-panel/data-binding/data-binding.ts +464 -0
  118. package/src/property-panel/effects/effects.ts +77 -0
  119. package/src/property-panel/effects/property-animation.ts +155 -0
  120. package/src/property-panel/effects/property-animations.ts +74 -0
  121. package/src/property-panel/effects/property-event-hover.ts +212 -0
  122. package/src/property-panel/effects/property-event-tap.ts +269 -0
  123. package/src/property-panel/effects/property-event.ts +73 -0
  124. package/src/property-panel/effects/property-shadow.ts +77 -0
  125. package/src/property-panel/effects/value-converter.ts +17 -0
  126. package/src/property-panel/inspector/inspector.ts +407 -0
  127. package/src/property-panel/shapes/shapes.ts +321 -0
  128. package/src/property-panel/specifics/specific-properties-builder.ts +152 -0
  129. package/src/property-panel/specifics/specifics.ts +81 -0
  130. package/src/property-panel/styles/styles.ts +287 -0
  131. package/src/types.ts +63 -0
  132. package/stories/index.stories.ts +134 -0
  133. package/stories/input-table-property.stories.ts +96 -0
  134. package/test/ox-property-panel.test.ts +32 -0
  135. package/themes/app-theme.css +138 -0
  136. package/themes/calendar-theme.css +61 -0
  137. package/themes/dark.css +51 -0
  138. package/themes/grist-theme.css +175 -0
  139. package/themes/help-theme.css +57 -0
  140. package/themes/layout-theme.css +94 -0
  141. package/themes/light.css +51 -0
  142. package/themes/material-theme.css +23 -0
  143. package/themes/md-typescale-styles.css +100 -0
  144. package/themes/oops-theme.css +22 -0
  145. package/themes/report-theme.css +47 -0
  146. package/themes/spacing.css +23 -0
  147. package/themes/state-color.css +6 -0
  148. package/themes/tooltip-theme.css +11 -0
  149. package/translations/en.json +723 -0
  150. package/translations/ja.json +727 -0
  151. package/translations/ko.json +727 -0
  152. package/translations/ms.json +609 -0
  153. package/translations/zh.json +726 -0
  154. package/tsconfig.json +25 -0
  155. package/web-dev-server.config.mjs +27 -0
  156. package/web-test-runner.config.mjs +41 -0
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+ import '@operato/help/ox-title-with-help.js';
5
+ import '@operato/popup/ox-popup-list.js';
6
+ import '@operato/input/ox-input-range.js';
7
+ import '@operato/input/ox-input-color.js';
8
+ import '@operato/input/ox-select.js';
9
+ import '@operato/font/ox-font-selector.js';
10
+ import '@operato/i18n/ox-i18n.js';
11
+ import '../../input/ox-input-fill-style.js';
12
+ import { Component } from '@hatiolab/things-scene';
13
+ import { AbstractProperty } from '../abstract-property.js';
14
+ export declare class PropertyStyles extends AbstractProperty {
15
+ static styles: import("lit").CSSResult[];
16
+ value: any;
17
+ selected: Component[];
18
+ fonts: any[];
19
+ isLine: boolean;
20
+ connectedCallback(): void;
21
+ onButtonGroupClick(e: Event): void;
22
+ render(): import("lit-html").TemplateResult<1>;
23
+ }
@@ -0,0 +1,269 @@
1
+ /**
2
+ * @license Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+ import { __decorate } from "tslib";
5
+ import '@operato/help/ox-title-with-help.js';
6
+ import '@operato/popup/ox-popup-list.js';
7
+ import '@operato/input/ox-input-range.js';
8
+ import '@operato/input/ox-input-color.js';
9
+ import '@operato/input/ox-select.js';
10
+ import '@operato/font/ox-font-selector.js';
11
+ import '@operato/i18n/ox-i18n.js';
12
+ import '../../input/ox-input-fill-style.js';
13
+ import { css, html, nothing } from 'lit';
14
+ import { property } from 'lit/decorators.js';
15
+ import { PropertyGridStyles } from '@operato/styles/property-grid-styles.js';
16
+ import { LineStyles } from '@operato/styles/line-styles.js';
17
+ import { AbstractProperty } from '../abstract-property.js';
18
+ export class PropertyStyles extends AbstractProperty {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.value = {};
22
+ this.selected = [];
23
+ this.fonts = [];
24
+ this.isLine = false;
25
+ }
26
+ connectedCallback() {
27
+ super.connectedCallback();
28
+ this.renderRoot.addEventListener('change', this.onValueChange.bind(this));
29
+ }
30
+ onButtonGroupClick(e) {
31
+ const target = e.target;
32
+ if (target.hasAttribute('value-key')) {
33
+ target.toggleAttribute('active');
34
+ target.dispatchEvent(new CustomEvent('change', {
35
+ bubbles: true,
36
+ composed: true
37
+ }));
38
+ }
39
+ }
40
+ render() {
41
+ var { alpha = 1, fontFamily, fontSize, lineHeight, fontColor, letterSpacing, bold, italic, fillStyle, lineWidth, strokeStyle, lineDash = 'solid', lineCap, lineJoin, begin = 'none', beginSize = 'size1', end = 'none', endSize = 'size1' } = this.value || {};
42
+ return html `
43
+ <fieldset>
44
+ <legend>
45
+ <ox-title-with-help topic="board-modeller/styles/opacity" msgid="label.opacity">opacity</ox-title-with-help>
46
+ </legend>
47
+ <ox-input-range min="0" max="1" step="0.1" value-key="alpha" .value=${alpha} editable> </ox-input-range>
48
+ </fieldset>
49
+
50
+ <fieldset>
51
+ <legend>
52
+ <ox-title-with-help topic="board-modeller/styles/text-style" msgid="label.text-style"
53
+ >text style</ox-title-with-help
54
+ >
55
+ </legend>
56
+
57
+ <div class="property-grid">
58
+ <label>
59
+ <ox-i18n msgid="label.font-family">Font Family</ox-i18n>
60
+ </label>
61
+
62
+ <ox-font-selector class="custom-editor" value-key="fontFamily" .value=${fontFamily}></ox-font-selector>
63
+
64
+ <label class="property-onethird-label icon-only-label"><md-icon>format_size</md-icon></label>
65
+ <input type="number" value-key="fontSize" .value=${fontSize} class="property-onethird-input" />
66
+
67
+ <label class="property-onethird-label icon-only-label"><md-icon>format_line_spacing</md-icon></label>
68
+ <input type="number" value-key="lineHeight" .value=${lineHeight} class="property-onethird-input" />
69
+
70
+ <label class="property-onethird-label icon-only-label"><md-icon>format_letter_spacing</md-icon></label>
71
+ <input type="number" value-key="letterSpacing" .value=${letterSpacing} class="property-onethird-input" />
72
+
73
+ <label class="property-half-label icon-only-label"><md-icon>format_color_text</md-icon></label>
74
+ <ox-input-color value-key="fontColor" .value=${fontColor} class="property-half-input"> </ox-input-color>
75
+
76
+ <label class="property-half-label"><md-icon>format_shapes</md-icon></label>
77
+ <div class="property-half-input btn-group" @click=${this.onButtonGroupClick}>
78
+ <md-icon value-key="bold" ?active=${bold}>format_bold</md-icon>
79
+ <md-icon value-key="italic" ?active=${italic}>format_italic</md-icon>
80
+ </div>
81
+ </div>
82
+ </fieldset>
83
+
84
+ <fieldset>
85
+ <legend>
86
+ <ox-title-with-help topic="board-modeller/styles/fill-style" msgid="label.fill-style"
87
+ >fill style</ox-title-with-help
88
+ >
89
+ </legend>
90
+
91
+ <ox-input-fill-style value-key="fillStyle" .value=${fillStyle}> </ox-input-fill-style>
92
+ </fieldset>
93
+
94
+ <fieldset>
95
+ <legend>
96
+ <ox-title-with-help msgid="label.line-style" topic="board-modeller/styles/line-style"></ox-title-with-help>
97
+ </legend>
98
+
99
+ <div class="property-grid">
100
+ <label class="property-half-label icon-only-label"><md-icon>line_weight</md-icon></label>
101
+ <input type="number" value-key="lineWidth" .value=${lineWidth} class="property-half-input" />
102
+
103
+ <label class="property-half-label icon-only-label"><md-icon>border_color</md-icon></label>
104
+ <ox-input-color value-key="strokeStyle" .value=${strokeStyle} class="property-half-input"> </ox-input-color>
105
+
106
+ <label>
107
+ <ox-i18n msgid="label.line-type">line type</ox-i18n>
108
+ </label>
109
+ <ox-select value-key="lineDash" .value=${lineDash} class="custom-editor">
110
+ <div class="line-type ${lineDash}" slot="label"></div>
111
+ <ox-popup-list align-left nowrap>
112
+ <style>
113
+ ${LineStyles.cssText}
114
+ </style>
115
+ <div class="line-type solid" value="solid" option></div>
116
+ <div class="line-type round-dot" value="round-dot" option></div>
117
+ <div class="line-type square-dot" value="square-dot" option></div>
118
+ <div class="line-type dash" value="dash" option></div>
119
+ <div class="line-type dash-dot" value="dash-dot" option></div>
120
+ <div class="line-type long-dash" value="long-dash" option></div>
121
+ <div class="line-type long-dash-dot" value="long-dash-dot" option></div>
122
+ <div class="line-type long-dash-dot-dot" value="long-dash-dot-dot" option></div>
123
+ </ox-popup-list>
124
+ </ox-select>
125
+
126
+ <label>
127
+ <ox-i18n msgid="label.cap-type">cap type</ox-i18n>
128
+ </label>
129
+ <select value-key="lineCap" .value=${lineCap}>
130
+ <option value="butt"><ox-i18n msgid="label.square">square</ox-i18n></option>
131
+ <option value="round"><ox-i18n msgid="label.round">round</ox-i18n></option>
132
+ </select>
133
+
134
+ <label>
135
+ <ox-i18n msgid="label.join-type">join type</ox-i18n>
136
+ </label>
137
+ <select value-key="lineJoin" .value=${lineJoin}>
138
+ <option value="miter"><ox-i18n msgid="label.miter">miter</ox-i18n></option>
139
+ <option value="round"><ox-i18n msgid="label.round">round</ox-i18n></option>
140
+ <option value="bevel"><ox-i18n msgid="label.bevel">bevel</ox-i18n></option>
141
+ </select>
142
+
143
+ ${this.isLine
144
+ ? html `
145
+ <label>
146
+ <ox-i18n msgid="label.begin-type">begin type</ox-i18n>
147
+ </label>
148
+ <ox-select value-key="begin" .value=${begin} class="custom-editor">
149
+ <div class="arrow-type ${begin ? `begin-${begin}` : nothing}" slot="label"></div>
150
+ <ox-popup-list align-left nowrap>
151
+ <style>
152
+ ${LineStyles.cssText}
153
+ </style>
154
+ <div class="arrow-type begin-none" value="none" option></div>
155
+ <div class="arrow-type begin-arrow" value="arrow" option></div>
156
+ <div class="arrow-type begin-open-arrow" value="open-arrow" option></div>
157
+ <div class="arrow-type begin-sharp-arrow" value="sharp-arrow" option></div>
158
+ <div class="arrow-type begin-diamond" value="diamond" option></div>
159
+ <div class="arrow-type begin-oval" value="oval" option></div>
160
+ </ox-popup-list>
161
+ </ox-select>
162
+
163
+ <label>
164
+ <ox-i18n msgid="label.begin-size">begin size</ox-i18n>
165
+ </label>
166
+ <ox-select value-key="beginSize" .value=${beginSize} class="custom-editor">
167
+ <div class="arrow-type ${beginSize ? `begin-${beginSize}` : nothing}" slot="label"></div>
168
+ <ox-popup-list align-left nowrap>
169
+ <style>
170
+ ${LineStyles.cssText}
171
+ </style>
172
+ <div class="arrow-type begin-size1" value="size1" option></div>
173
+ <div class="arrow-type begin-size2" value="size2" option></div>
174
+ <div class="arrow-type begin-size3" value="size3" option></div>
175
+ <div class="arrow-type begin-size4" value="size4" option></div>
176
+ <div class="arrow-type begin-size5" value="size5" option></div>
177
+ <div class="arrow-type begin-size6" value="size6" option></div>
178
+ <div class="arrow-type begin-size7" value="size7" option></div>
179
+ <div class="arrow-type begin-size8" value="size8" option></div>
180
+ <div class="arrow-type begin-size9" value="size9" option></div>
181
+ </ox-popup-list>
182
+ </ox-select>
183
+
184
+ <label>
185
+ <ox-i18n msgid="label.end-type">end type</ox-i18n>
186
+ </label>
187
+ <ox-select value-key="end" .value=${end} class="custom-editor">
188
+ <div class="arrow-type ${end ? `end-${end}` : nothing}" slot="label"></div>
189
+ <ox-popup-list align-left nowrap>
190
+ <style>
191
+ ${LineStyles.cssText}
192
+ </style>
193
+ <div class="arrow-type end-none" value="none" option></div>
194
+ <div class="arrow-type end-arrow" value="arrow" option></div>
195
+ <div class="arrow-type end-open-arrow" value="open-arrow" option></div>
196
+ <div class="arrow-type end-sharp-arrow" value="sharp-arrow" option></div>
197
+ <div class="arrow-type end-diamond" value="diamond" option></div>
198
+ <div class="arrow-type end-oval" value="oval" option></div>
199
+ </ox-popup-list>
200
+ </ox-select>
201
+
202
+ <label>
203
+ <ox-i18n msgid="label.end-size">end size</ox-i18n>
204
+ </label>
205
+ <ox-select value-key="endSize" .value=${endSize} class="custom-editor">
206
+ <div class="arrow-type ${endSize ? `end-${endSize}` : nothing}" slot="label"></div>
207
+ <ox-popup-list align-left nowrap>
208
+ <style>
209
+ ${LineStyles.cssText}
210
+ </style>
211
+ <div class="arrow-type end-size1" value="size1" option></div>
212
+ <div class="arrow-type end-size2" value="size2" option></div>
213
+ <div class="arrow-type end-size3" value="size3" option></div>
214
+ <div class="arrow-type end-size4" value="size4" option></div>
215
+ <div class="arrow-type end-size5" value="size5" option></div>
216
+ <div class="arrow-type end-size6" value="size6" option></div>
217
+ <div class="arrow-type end-size7" value="size7" option></div>
218
+ <div class="arrow-type end-size8" value="size8" option></div>
219
+ <div class="arrow-type end-size9" value="size9" option></div>
220
+ </ox-popup-list>
221
+ </ox-select>
222
+ `
223
+ : html ``}
224
+ </div>
225
+ </fieldset>
226
+ `;
227
+ }
228
+ }
229
+ PropertyStyles.styles = [
230
+ PropertyGridStyles,
231
+ LineStyles,
232
+ css `
233
+ ox-input-range {
234
+ width: 100%;
235
+ }
236
+
237
+ .btn-group {
238
+ display: flex;
239
+ align-items: center;
240
+ justify-content: center;
241
+ gap: 4px;
242
+ }
243
+
244
+ .btn-group * {
245
+ width: 30px;
246
+ height: 24px;
247
+ min-width: initial;
248
+ border-radius: 0;
249
+ border-bottom: 2px solid #fff;
250
+ }
251
+
252
+ .btn-group [active] {
253
+ border-bottom: 2px solid #f2471c;
254
+ }
255
+ `
256
+ ];
257
+ __decorate([
258
+ property({ type: Object })
259
+ ], PropertyStyles.prototype, "value", void 0);
260
+ __decorate([
261
+ property({ type: Array })
262
+ ], PropertyStyles.prototype, "selected", void 0);
263
+ __decorate([
264
+ property({ type: Array })
265
+ ], PropertyStyles.prototype, "fonts", void 0);
266
+ __decorate([
267
+ property({ type: Boolean })
268
+ ], PropertyStyles.prototype, "isLine", void 0);
269
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/property-panel/styles/styles.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport '@operato/help/ox-title-with-help.js'\nimport '@operato/popup/ox-popup-list.js'\nimport '@operato/input/ox-input-range.js'\nimport '@operato/input/ox-input-color.js'\nimport '@operato/input/ox-select.js'\nimport '@operato/font/ox-font-selector.js'\nimport '@operato/i18n/ox-i18n.js'\nimport '../../input/ox-input-fill-style.js'\n\nimport { css, html, nothing } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport { Component } from '@hatiolab/things-scene'\nimport { PropertyGridStyles } from '@operato/styles/property-grid-styles.js'\nimport { LineStyles } from '@operato/styles/line-styles.js'\n\nimport { AbstractProperty } from '../abstract-property.js'\n\nexport class PropertyStyles extends AbstractProperty {\n static styles = [\n PropertyGridStyles,\n LineStyles,\n css`\n ox-input-range {\n width: 100%;\n }\n\n .btn-group {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n }\n\n .btn-group * {\n width: 30px;\n height: 24px;\n min-width: initial;\n border-radius: 0;\n border-bottom: 2px solid #fff;\n }\n\n .btn-group [active] {\n border-bottom: 2px solid #f2471c;\n }\n `\n ]\n\n @property({ type: Object }) value: any = {}\n @property({ type: Array }) selected: Component[] = []\n @property({ type: Array }) fonts: any[] = []\n @property({ type: Boolean }) isLine: boolean = false\n\n connectedCallback() {\n super.connectedCallback()\n\n this.renderRoot.addEventListener('change', this.onValueChange.bind(this))\n }\n\n onButtonGroupClick(e: Event) {\n const target = e.target as HTMLElement\n\n if (target.hasAttribute('value-key')) {\n target.toggleAttribute('active')\n\n target.dispatchEvent(\n new CustomEvent('change', {\n bubbles: true,\n composed: true\n })\n )\n }\n }\n\n render() {\n var {\n alpha = 1,\n fontFamily,\n fontSize,\n lineHeight,\n fontColor,\n letterSpacing,\n bold,\n italic,\n fillStyle,\n lineWidth,\n strokeStyle,\n lineDash = 'solid',\n lineCap,\n lineJoin,\n begin = 'none',\n beginSize = 'size1',\n end = 'none',\n endSize = 'size1'\n } = this.value || {}\n\n return html`\n <fieldset>\n <legend>\n <ox-title-with-help topic=\"board-modeller/styles/opacity\" msgid=\"label.opacity\">opacity</ox-title-with-help>\n </legend>\n <ox-input-range min=\"0\" max=\"1\" step=\"0.1\" value-key=\"alpha\" .value=${alpha} editable> </ox-input-range>\n </fieldset>\n\n <fieldset>\n <legend>\n <ox-title-with-help topic=\"board-modeller/styles/text-style\" msgid=\"label.text-style\"\n >text style</ox-title-with-help\n >\n </legend>\n\n <div class=\"property-grid\">\n <label>\n <ox-i18n msgid=\"label.font-family\">Font Family</ox-i18n>\n </label>\n\n <ox-font-selector class=\"custom-editor\" value-key=\"fontFamily\" .value=${fontFamily}></ox-font-selector>\n\n <label class=\"property-onethird-label icon-only-label\"><md-icon>format_size</md-icon></label>\n <input type=\"number\" value-key=\"fontSize\" .value=${fontSize} class=\"property-onethird-input\" />\n\n <label class=\"property-onethird-label icon-only-label\"><md-icon>format_line_spacing</md-icon></label>\n <input type=\"number\" value-key=\"lineHeight\" .value=${lineHeight} class=\"property-onethird-input\" />\n\n <label class=\"property-onethird-label icon-only-label\"><md-icon>format_letter_spacing</md-icon></label>\n <input type=\"number\" value-key=\"letterSpacing\" .value=${letterSpacing} class=\"property-onethird-input\" />\n\n <label class=\"property-half-label icon-only-label\"><md-icon>format_color_text</md-icon></label>\n <ox-input-color value-key=\"fontColor\" .value=${fontColor} class=\"property-half-input\"> </ox-input-color>\n\n <label class=\"property-half-label\"><md-icon>format_shapes</md-icon></label>\n <div class=\"property-half-input btn-group\" @click=${this.onButtonGroupClick}>\n <md-icon value-key=\"bold\" ?active=${bold}>format_bold</md-icon>\n <md-icon value-key=\"italic\" ?active=${italic}>format_italic</md-icon>\n </div>\n </div>\n </fieldset>\n\n <fieldset>\n <legend>\n <ox-title-with-help topic=\"board-modeller/styles/fill-style\" msgid=\"label.fill-style\"\n >fill style</ox-title-with-help\n >\n </legend>\n\n <ox-input-fill-style value-key=\"fillStyle\" .value=${fillStyle}> </ox-input-fill-style>\n </fieldset>\n\n <fieldset>\n <legend>\n <ox-title-with-help msgid=\"label.line-style\" topic=\"board-modeller/styles/line-style\"></ox-title-with-help>\n </legend>\n\n <div class=\"property-grid\">\n <label class=\"property-half-label icon-only-label\"><md-icon>line_weight</md-icon></label>\n <input type=\"number\" value-key=\"lineWidth\" .value=${lineWidth} class=\"property-half-input\" />\n\n <label class=\"property-half-label icon-only-label\"><md-icon>border_color</md-icon></label>\n <ox-input-color value-key=\"strokeStyle\" .value=${strokeStyle} class=\"property-half-input\"> </ox-input-color>\n\n <label>\n <ox-i18n msgid=\"label.line-type\">line type</ox-i18n>\n </label>\n <ox-select value-key=\"lineDash\" .value=${lineDash} class=\"custom-editor\">\n <div class=\"line-type ${lineDash}\" slot=\"label\"></div>\n <ox-popup-list align-left nowrap>\n <style>\n ${LineStyles.cssText}\n </style>\n <div class=\"line-type solid\" value=\"solid\" option></div>\n <div class=\"line-type round-dot\" value=\"round-dot\" option></div>\n <div class=\"line-type square-dot\" value=\"square-dot\" option></div>\n <div class=\"line-type dash\" value=\"dash\" option></div>\n <div class=\"line-type dash-dot\" value=\"dash-dot\" option></div>\n <div class=\"line-type long-dash\" value=\"long-dash\" option></div>\n <div class=\"line-type long-dash-dot\" value=\"long-dash-dot\" option></div>\n <div class=\"line-type long-dash-dot-dot\" value=\"long-dash-dot-dot\" option></div>\n </ox-popup-list>\n </ox-select>\n\n <label>\n <ox-i18n msgid=\"label.cap-type\">cap type</ox-i18n>\n </label>\n <select value-key=\"lineCap\" .value=${lineCap}>\n <option value=\"butt\"><ox-i18n msgid=\"label.square\">square</ox-i18n></option>\n <option value=\"round\"><ox-i18n msgid=\"label.round\">round</ox-i18n></option>\n </select>\n\n <label>\n <ox-i18n msgid=\"label.join-type\">join type</ox-i18n>\n </label>\n <select value-key=\"lineJoin\" .value=${lineJoin}>\n <option value=\"miter\"><ox-i18n msgid=\"label.miter\">miter</ox-i18n></option>\n <option value=\"round\"><ox-i18n msgid=\"label.round\">round</ox-i18n></option>\n <option value=\"bevel\"><ox-i18n msgid=\"label.bevel\">bevel</ox-i18n></option>\n </select>\n\n ${this.isLine\n ? html`\n <label>\n <ox-i18n msgid=\"label.begin-type\">begin type</ox-i18n>\n </label>\n <ox-select value-key=\"begin\" .value=${begin} class=\"custom-editor\">\n <div class=\"arrow-type ${begin ? `begin-${begin}` : nothing}\" slot=\"label\"></div>\n <ox-popup-list align-left nowrap>\n <style>\n ${LineStyles.cssText}\n </style>\n <div class=\"arrow-type begin-none\" value=\"none\" option></div>\n <div class=\"arrow-type begin-arrow\" value=\"arrow\" option></div>\n <div class=\"arrow-type begin-open-arrow\" value=\"open-arrow\" option></div>\n <div class=\"arrow-type begin-sharp-arrow\" value=\"sharp-arrow\" option></div>\n <div class=\"arrow-type begin-diamond\" value=\"diamond\" option></div>\n <div class=\"arrow-type begin-oval\" value=\"oval\" option></div>\n </ox-popup-list>\n </ox-select>\n\n <label>\n <ox-i18n msgid=\"label.begin-size\">begin size</ox-i18n>\n </label>\n <ox-select value-key=\"beginSize\" .value=${beginSize} class=\"custom-editor\">\n <div class=\"arrow-type ${beginSize ? `begin-${beginSize}` : nothing}\" slot=\"label\"></div>\n <ox-popup-list align-left nowrap>\n <style>\n ${LineStyles.cssText}\n </style>\n <div class=\"arrow-type begin-size1\" value=\"size1\" option></div>\n <div class=\"arrow-type begin-size2\" value=\"size2\" option></div>\n <div class=\"arrow-type begin-size3\" value=\"size3\" option></div>\n <div class=\"arrow-type begin-size4\" value=\"size4\" option></div>\n <div class=\"arrow-type begin-size5\" value=\"size5\" option></div>\n <div class=\"arrow-type begin-size6\" value=\"size6\" option></div>\n <div class=\"arrow-type begin-size7\" value=\"size7\" option></div>\n <div class=\"arrow-type begin-size8\" value=\"size8\" option></div>\n <div class=\"arrow-type begin-size9\" value=\"size9\" option></div>\n </ox-popup-list>\n </ox-select>\n\n <label>\n <ox-i18n msgid=\"label.end-type\">end type</ox-i18n>\n </label>\n <ox-select value-key=\"end\" .value=${end} class=\"custom-editor\">\n <div class=\"arrow-type ${end ? `end-${end}` : nothing}\" slot=\"label\"></div>\n <ox-popup-list align-left nowrap>\n <style>\n ${LineStyles.cssText}\n </style>\n <div class=\"arrow-type end-none\" value=\"none\" option></div>\n <div class=\"arrow-type end-arrow\" value=\"arrow\" option></div>\n <div class=\"arrow-type end-open-arrow\" value=\"open-arrow\" option></div>\n <div class=\"arrow-type end-sharp-arrow\" value=\"sharp-arrow\" option></div>\n <div class=\"arrow-type end-diamond\" value=\"diamond\" option></div>\n <div class=\"arrow-type end-oval\" value=\"oval\" option></div>\n </ox-popup-list>\n </ox-select>\n\n <label>\n <ox-i18n msgid=\"label.end-size\">end size</ox-i18n>\n </label>\n <ox-select value-key=\"endSize\" .value=${endSize} class=\"custom-editor\">\n <div class=\"arrow-type ${endSize ? `end-${endSize}` : nothing}\" slot=\"label\"></div>\n <ox-popup-list align-left nowrap>\n <style>\n ${LineStyles.cssText}\n </style>\n <div class=\"arrow-type end-size1\" value=\"size1\" option></div>\n <div class=\"arrow-type end-size2\" value=\"size2\" option></div>\n <div class=\"arrow-type end-size3\" value=\"size3\" option></div>\n <div class=\"arrow-type end-size4\" value=\"size4\" option></div>\n <div class=\"arrow-type end-size5\" value=\"size5\" option></div>\n <div class=\"arrow-type end-size6\" value=\"size6\" option></div>\n <div class=\"arrow-type end-size7\" value=\"size7\" option></div>\n <div class=\"arrow-type end-size8\" value=\"size8\" option></div>\n <div class=\"arrow-type end-size9\" value=\"size9\" option></div>\n </ox-popup-list>\n </ox-select>\n `\n : html``}\n </div>\n </fieldset>\n `\n }\n}\n"]}
@@ -0,0 +1,43 @@
1
+ import { Model } from '@hatiolab/things-scene';
2
+ export interface PalletItem {
3
+ type: string;
4
+ description: string;
5
+ icon: HTMLImageElement;
6
+ group: string | string[];
7
+ model: Model;
8
+ }
9
+ export interface Pallet {
10
+ name: string;
11
+ templates: PalletItem[];
12
+ }
13
+ export type ComponentTemplate = {
14
+ type: string;
15
+ description: string;
16
+ group: 'line' | 'shape' | 'textAndMedia' | 'chartAndGauge' | 'table' | 'container' | 'dataSource' | 'IoT' | '3D' | 'warehouse' | 'form' | 'etc' | string;
17
+ icon: any;
18
+ model: Model;
19
+ };
20
+ export type ComponentGroup = {
21
+ name: string;
22
+ description: string;
23
+ icon: string;
24
+ templates: ComponentTemplate[];
25
+ };
26
+ export type Board = {
27
+ id?: string;
28
+ name?: string;
29
+ description?: string;
30
+ model?: any;
31
+ groupId?: string;
32
+ thumbnail?: string;
33
+ };
34
+ export type BoardGroup = {
35
+ id?: string;
36
+ name?: string;
37
+ description?: string;
38
+ };
39
+ export type PlayGroup = {
40
+ id?: string;
41
+ name?: string;
42
+ description?: string;
43
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Model } from '@hatiolab/things-scene'\n\nexport interface PalletItem {\n type: string\n description: string\n icon: HTMLImageElement\n group: string | string[]\n model: Model\n}\n\nexport interface Pallet {\n name: string\n templates: PalletItem[]\n}\n\nexport type ComponentTemplate = {\n type: string\n description: string\n group:\n | 'line'\n | 'shape'\n | 'textAndMedia'\n | 'chartAndGauge'\n | 'table'\n | 'container'\n | 'dataSource'\n | 'IoT'\n | '3D'\n | 'warehouse'\n | 'form'\n | 'etc'\n | string\n icon: any\n model: Model\n}\n\nexport type ComponentGroup = {\n name: string\n description: string\n icon: string\n templates: ComponentTemplate[]\n}\n\nexport type Board = {\n id?: string\n name?: string\n description?: string\n model?: any\n groupId?: string\n thumbnail?: string\n}\n\nexport type BoardGroup = {\n id?: string\n name?: string\n description?: string\n}\n\nexport type PlayGroup = {\n id?: string\n name?: string\n description?: string\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import { TemplateResult } from 'lit';
2
+ import '../src/ox-property-panel.js';
3
+ declare const _default: {
4
+ title: string;
5
+ component: string;
6
+ argTypes: {
7
+ model: {
8
+ control: string;
9
+ };
10
+ };
11
+ };
12
+ export default _default;
13
+ interface Story<T> {
14
+ (args: T): TemplateResult;
15
+ args?: Partial<T>;
16
+ argTypes?: Record<string, unknown>;
17
+ }
18
+ interface ArgTypes {
19
+ model?: any;
20
+ }
21
+ export declare const Regular: Story<ArgTypes>;
22
+ export declare const Custom: Story<ArgTypes>;
@@ -0,0 +1,121 @@
1
+ import { html } from 'lit';
2
+ import '../src/ox-property-panel.js';
3
+ import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles.js';
4
+ export default {
5
+ title: 'OxPropertyPanel',
6
+ component: 'ox-property-panel',
7
+ argTypes: {
8
+ model: { control: 'object' }
9
+ }
10
+ };
11
+ const Template = ({ model }) => html `
12
+ <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
13
+
14
+ <link href="/themes/light.css" rel="stylesheet" />
15
+ <link href="/themes/dark.css" rel="stylesheet" />
16
+ <link href="/themes/spacing.css" rel="stylesheet" />
17
+ <link href="/themes/help-theme.css" rel="stylesheet" />
18
+
19
+ <link
20
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
21
+ rel="stylesheet"
22
+ />
23
+ <link
24
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
25
+ rel="stylesheet"
26
+ />
27
+ <link
28
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
29
+ rel="stylesheet"
30
+ />
31
+
32
+ <style>
33
+ ${MDTypeScaleStyles.cssText}
34
+ </style>
35
+
36
+ <style>
37
+ #place {
38
+ width: 100%;
39
+ height: 500px;
40
+ text-align: center;
41
+
42
+ background-color: var(--md-sys-color-primary-container);
43
+ color: var(--md-sys-color-on-primary-container);
44
+ }
45
+ </style>
46
+
47
+ <ox-property-panel .model=${model}> </ox-property-panel>
48
+ `;
49
+ export const Regular = Template.bind({});
50
+ Regular.args = {
51
+ model: {
52
+ type: 'progress-circle',
53
+ cy: 100,
54
+ cx: 100,
55
+ rx: 100,
56
+ ry: 100,
57
+ value: '#{data}',
58
+ startAngle: 0,
59
+ endAngle: 360,
60
+ fontSize: 70,
61
+ strokeStyle: 'rgb(82, 199, 255)',
62
+ blankStrokeStyle: 'rgba(0,0,0,.2)',
63
+ fontFamily: 'digital',
64
+ fontColor: '#fff',
65
+ text: '#{data}',
66
+ alpha: 1,
67
+ hidden: false,
68
+ lineWidth: 20,
69
+ lineDash: 'solid',
70
+ lineCap: 'butt',
71
+ rotation: 0,
72
+ paddingTop: 50,
73
+ shadow: {
74
+ left: 4,
75
+ top: 4,
76
+ blurSize: 4,
77
+ color: 'rgba(0,0,0,.3)'
78
+ },
79
+ paddingRight: 15,
80
+ textAlign: 'center',
81
+ textFormat: '#,##0.0',
82
+ data: 99,
83
+ mappings: [],
84
+ locked: false,
85
+ fillStyle: 'rgba(76, 187, 250, 0.2)',
86
+ paddingLeft: 0,
87
+ textBaseline: null,
88
+ packmanStyle: true,
89
+ animFromBase: true,
90
+ bold: true,
91
+ refid: 45
92
+ }
93
+ };
94
+ export const Custom = Template.bind({});
95
+ Custom.args = {
96
+ model: {
97
+ type: 'rect',
98
+ left: 95.56740614334475,
99
+ top: 30.973680756104017,
100
+ width: 239.5904436860068,
101
+ height: 47.098976109215045,
102
+ fillStyle: 'red',
103
+ strokeStyle: '#000',
104
+ alpha: 1,
105
+ hidden: false,
106
+ lineWidth: 1,
107
+ lineDash: 'solid',
108
+ lineCap: 'butt',
109
+ refid: 8,
110
+ rotation: 0,
111
+ id: 'a',
112
+ mappings: [
113
+ {
114
+ rule: 'value',
115
+ target: '(self)',
116
+ property: 'text'
117
+ }
118
+ ]
119
+ }
120
+ };
121
+ //# sourceMappingURL=index.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../stories/index.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAA;AAC1C,OAAO,6BAA6B,CAAA;AACpC,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,iDAAiD,CAAA;AAE7F,eAAe;IACb,KAAK,EAAE,iBAAiB;IACxB,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;KAC7B;CACF,CAAA;AAYD,MAAM,QAAQ,GAAoB,CAAC,EAAE,KAAK,EAAY,EAAE,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;MAsBzD,iBAAiB,CAAC,OAAO;;;;;;;;;;;;;;8BAcD,KAAK;CAClC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,KAAK,EAAE;QACL,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,EAAE,EAAE,GAAG;QACP,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,mBAAmB;QAChC,gBAAgB,EAAE,gBAAgB;QAClC,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,EAAE;QACd,MAAM,EAAE;YACN,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,gBAAgB;SACxB;QACD,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,yBAAyB;QACpC,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,IAAI;QAClB,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,EAAE;KACV;CACF,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvC,MAAM,CAAC,IAAI,GAAG;IACZ,KAAK,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iBAAiB;QACvB,GAAG,EAAE,kBAAkB;QACvB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,kBAAkB;QAC1B,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,MAAM;QACnB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,EAAE,EAAE,GAAG;QACP,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,MAAM;aACjB;SACF;KACF;CACF,CAAA","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport '../src/ox-property-panel.js'\nimport { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles.js'\n\nexport default {\n title: 'OxPropertyPanel',\n component: 'ox-property-panel',\n argTypes: {\n model: { control: 'object' }\n }\n}\n\ninterface Story<T> {\n (args: T): TemplateResult\n args?: Partial<T>\n argTypes?: Record<string, unknown>\n}\n\ninterface ArgTypes {\n model?: any\n}\n\nconst Template: Story<ArgTypes> = ({ model }: ArgTypes) => html`\n <link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap\" rel=\"stylesheet\" />\n\n <link href=\"/themes/light.css\" rel=\"stylesheet\" />\n <link href=\"/themes/dark.css\" rel=\"stylesheet\" />\n <link href=\"/themes/spacing.css\" rel=\"stylesheet\" />\n <link href=\"/themes/help-theme.css\" rel=\"stylesheet\" />\n\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1\"\n rel=\"stylesheet\"\n />\n\n <style>\n ${MDTypeScaleStyles.cssText}\n </style>\n\n <style>\n #place {\n width: 100%;\n height: 500px;\n text-align: center;\n\n background-color: var(--md-sys-color-primary-container);\n color: var(--md-sys-color-on-primary-container);\n }\n </style>\n\n <ox-property-panel .model=${model}> </ox-property-panel>\n`\n\nexport const Regular = Template.bind({})\nRegular.args = {\n model: {\n type: 'progress-circle',\n cy: 100,\n cx: 100,\n rx: 100,\n ry: 100,\n value: '#{data}',\n startAngle: 0,\n endAngle: 360,\n fontSize: 70,\n strokeStyle: 'rgb(82, 199, 255)',\n blankStrokeStyle: 'rgba(0,0,0,.2)',\n fontFamily: 'digital',\n fontColor: '#fff',\n text: '#{data}',\n alpha: 1,\n hidden: false,\n lineWidth: 20,\n lineDash: 'solid',\n lineCap: 'butt',\n rotation: 0,\n paddingTop: 50,\n shadow: {\n left: 4,\n top: 4,\n blurSize: 4,\n color: 'rgba(0,0,0,.3)'\n },\n paddingRight: 15,\n textAlign: 'center',\n textFormat: '#,##0.0',\n data: 99,\n mappings: [],\n locked: false,\n fillStyle: 'rgba(76, 187, 250, 0.2)',\n paddingLeft: 0,\n textBaseline: null,\n packmanStyle: true,\n animFromBase: true,\n bold: true,\n refid: 45\n }\n}\n\nexport const Custom = Template.bind({})\nCustom.args = {\n model: {\n type: 'rect',\n left: 95.56740614334475,\n top: 30.973680756104017,\n width: 239.5904436860068,\n height: 47.098976109215045,\n fillStyle: 'red',\n strokeStyle: '#000',\n alpha: 1,\n hidden: false,\n lineWidth: 1,\n lineDash: 'solid',\n lineCap: 'butt',\n refid: 8,\n rotation: 0,\n id: 'a',\n mappings: [\n {\n rule: 'value',\n target: '(self)',\n property: 'text'\n }\n ]\n }\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import { TemplateResult } from 'lit';
2
+ import '../src/input/ox-input-table.js';
3
+ declare const _default: {
4
+ title: string;
5
+ component: string;
6
+ argTypes: {
7
+ value: {
8
+ control: string;
9
+ };
10
+ };
11
+ };
12
+ export default _default;
13
+ interface Story<T> {
14
+ (args: T): TemplateResult;
15
+ args?: Partial<T>;
16
+ argTypes?: Record<string, unknown>;
17
+ }
18
+ interface ArgTypes {
19
+ value?: any;
20
+ }
21
+ export declare const Regular: Story<ArgTypes>;
@@ -0,0 +1,84 @@
1
+ import { html } from 'lit';
2
+ import '../src/input/ox-input-table.js';
3
+ import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles.js';
4
+ export default {
5
+ title: 'OxInputTableProperty',
6
+ component: 'ox-input-table',
7
+ argTypes: {
8
+ value: { control: 'object' }
9
+ }
10
+ };
11
+ const Template = ({ value }) => html `
12
+ <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
13
+
14
+ <link href="/themes/light.css" rel="stylesheet" />
15
+ <link href="/themes/dark.css" rel="stylesheet" />
16
+ <link href="/themes/spacing.css" rel="stylesheet" />
17
+ <link href="/themes/help-theme.css" rel="stylesheet" />
18
+
19
+ <link
20
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
21
+ rel="stylesheet"
22
+ />
23
+ <link
24
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
25
+ rel="stylesheet"
26
+ />
27
+ <link
28
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
29
+ rel="stylesheet"
30
+ />
31
+
32
+ <style>
33
+ ${MDTypeScaleStyles.cssText}
34
+ </style>
35
+
36
+ <style>
37
+ #place {
38
+ width: 100%;
39
+ height: 500px;
40
+ text-align: center;
41
+
42
+ background-color: var(--md-sys-color-primary-container);
43
+ color: var(--md-sys-color-on-primary-container);
44
+ }
45
+ </style>
46
+
47
+ <ox-input-table .value=${value}> </ox-input-table>
48
+ `;
49
+ export const Regular = Template.bind({});
50
+ Regular.args = {
51
+ value: {
52
+ type: 'table-cell',
53
+ left: 290.42944785276075,
54
+ top: 0,
55
+ width: 96.80981595092024,
56
+ height: 62.02453987730057,
57
+ textWrap: true,
58
+ border: {
59
+ top: {
60
+ strokeStyle: '#999',
61
+ lineDash: 'solid',
62
+ lineWidth: 1
63
+ },
64
+ left: {
65
+ strokeStyle: '#999',
66
+ lineDash: 'solid',
67
+ lineWidth: 1
68
+ },
69
+ bottom: {
70
+ strokeStyle: '#999',
71
+ lineDash: 'solid',
72
+ lineWidth: 1
73
+ },
74
+ right: {
75
+ strokeStyle: '#999',
76
+ lineDash: 'solid',
77
+ lineWidth: 1
78
+ }
79
+ },
80
+ refid: 12,
81
+ dataIndex: 0
82
+ }
83
+ };
84
+ //# sourceMappingURL=input-table-property.stories.js.map