@operato/input 9.0.13 → 9.0.17

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/CHANGELOG.md CHANGED
@@ -3,6 +3,24 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ### [9.0.17](https://github.com/hatiolab/operato/compare/v9.0.16...v9.0.17) (2025-08-02)
7
+
8
+
9
+ ### :bug: Bug Fix
10
+
11
+ * add ox-input-secret, ox-property-editor-secret, ox-grist-secret ([8afbeae](https://github.com/hatiolab/operato/commit/8afbeae2c8eee9c3983d35ce5a709e25329eb6a7))
12
+
13
+
14
+
15
+ ### [9.0.14](https://github.com/hatiolab/operato/compare/v9.0.13...v9.0.14) (2025-07-27)
16
+
17
+
18
+ ### :bug: Bug Fix
19
+
20
+ * help popup style for ox-input-formula ([a2fec19](https://github.com/hatiolab/operato/commit/a2fec1918584b85329566f5df80dac3864d104f3))
21
+
22
+
23
+
6
24
  ### [9.0.13](https://github.com/hatiolab/operato/compare/v9.0.12...v9.0.13) (2025-07-27)
7
25
 
8
26
 
@@ -28,4 +28,5 @@ export * from './ox-input-textarea.js';
28
28
  export * from './ox-input-direction.js';
29
29
  export * from './ox-input-table-column-config.js';
30
30
  export * from './ox-input-search.js';
31
+ export * from './ox-input-secret.js';
31
32
  export * from './ox-input-signature.js';
package/dist/src/index.js CHANGED
@@ -28,5 +28,6 @@ export * from './ox-input-textarea.js';
28
28
  export * from './ox-input-direction.js';
29
29
  export * from './ox-input-table-column-config.js';
30
30
  export * from './ox-input-search.js';
31
+ export * from './ox-input-secret.js';
31
32
  export * from './ox-input-signature.js';
32
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mCAAmC,CAAA;AACjD,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nexport * from './ox-form-field.js'\nexport * from './ox-buttons-radio.js'\nexport * from './ox-checkbox.js'\nexport * from './ox-select.js'\nexport * from './ox-input-switch.js'\nexport * from './ox-input-angle.js'\nexport * from './ox-input-3dish.js'\nexport * from './ox-input-3axis.js'\nexport * from './ox-input-stack.js'\nexport * from './ox-input-barcode.js'\nexport * from './ox-input-code.js'\nexport * from './ox-input-color.js'\nexport * from './ox-input-multiple-colors.js'\nexport * from './ox-input-file.js'\nexport * from './ox-input-image.js'\nexport * from './ox-input-value-ranges.js'\nexport * from './ox-input-value-map.js'\nexport * from './ox-input-scene-component-id.js'\nexport * from './ox-input-crontab.js'\nexport * from './ox-input-partition-keys.js'\nexport * from './ox-input-duration.js'\nexport * from './ox-input-quantifier.js'\nexport * from './ox-input-select-buttons.js'\nexport * from './ox-input-textarea.js'\nexport * from './ox-input-direction.js'\nexport * from './ox-input-table-column-config.js'\nexport * from './ox-input-search.js'\nexport * from './ox-input-signature.js'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mCAAmC,CAAA;AACjD,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nexport * from './ox-form-field.js'\nexport * from './ox-buttons-radio.js'\nexport * from './ox-checkbox.js'\nexport * from './ox-select.js'\nexport * from './ox-input-switch.js'\nexport * from './ox-input-angle.js'\nexport * from './ox-input-3dish.js'\nexport * from './ox-input-3axis.js'\nexport * from './ox-input-stack.js'\nexport * from './ox-input-barcode.js'\nexport * from './ox-input-code.js'\nexport * from './ox-input-color.js'\nexport * from './ox-input-multiple-colors.js'\nexport * from './ox-input-file.js'\nexport * from './ox-input-image.js'\nexport * from './ox-input-value-ranges.js'\nexport * from './ox-input-value-map.js'\nexport * from './ox-input-scene-component-id.js'\nexport * from './ox-input-crontab.js'\nexport * from './ox-input-partition-keys.js'\nexport * from './ox-input-duration.js'\nexport * from './ox-input-quantifier.js'\nexport * from './ox-input-select-buttons.js'\nexport * from './ox-input-textarea.js'\nexport * from './ox-input-direction.js'\nexport * from './ox-input-table-column-config.js'\nexport * from './ox-input-search.js'\nexport * from './ox-input-secret.js'\nexport * from './ox-input-signature.js'\n"]}
@@ -0,0 +1,18 @@
1
+ import '@material/web/icon/icon.js';
2
+ import { LitElement } from 'lit';
3
+ export type HelpContent = {
4
+ title: string;
5
+ sections: Array<{
6
+ title: string;
7
+ content: string;
8
+ type?: 'text' | 'code' | 'parameter' | 'example';
9
+ }>;
10
+ };
11
+ export declare class OxInputFormulaHelpPopup extends LitElement {
12
+ static styles: import("lit").CSSResult[];
13
+ content?: HelpContent;
14
+ onClose?: () => void;
15
+ render(): import("lit-html").TemplateResult<1>;
16
+ private _renderSectionContent;
17
+ private _onClose;
18
+ }
@@ -0,0 +1,166 @@
1
+ import { __decorate } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import { css, html, LitElement } from 'lit';
4
+ import { customElement, property } from 'lit/decorators.js';
5
+ import { ScrollbarStyles } from '@operato/styles';
6
+ let OxInputFormulaHelpPopup = class OxInputFormulaHelpPopup extends LitElement {
7
+ static { this.styles = [
8
+ ScrollbarStyles,
9
+ css `
10
+ :host {
11
+ display: block;
12
+ }
13
+
14
+ .help-popup {
15
+ max-width: 500px;
16
+ max-height: 400px;
17
+ overflow-y: auto;
18
+ background: white;
19
+ border-radius: 8px;
20
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
21
+ }
22
+
23
+ .help-title {
24
+ font-size: 20px;
25
+ font-weight: 600;
26
+ margin-bottom: 16px;
27
+ color: #1976d2;
28
+ padding: 20px 20px 16px 20px;
29
+ background: #f8f9fa;
30
+ border-bottom: 1px solid #e0e0e0;
31
+ border-radius: 8px 8px 0 0;
32
+ }
33
+
34
+ .help-content {
35
+ padding: 0 20px;
36
+ }
37
+
38
+ .help-section {
39
+ margin-bottom: 16px;
40
+ }
41
+
42
+ .help-section-title {
43
+ font-weight: 600;
44
+ margin-bottom: 8px;
45
+ color: #333;
46
+ font-size: 14px;
47
+ border-bottom: 1px solid #e0e0e0;
48
+ padding-bottom: 4px;
49
+ }
50
+
51
+ .help-section-content {
52
+ font-size: 14px;
53
+ line-height: 1.6;
54
+ color: #555;
55
+ padding: 4px 0;
56
+ }
57
+
58
+ .help-code {
59
+ background: #f5f5f5;
60
+ border: 1px solid #e0e0e0;
61
+ border-radius: 4px;
62
+ padding: 12px;
63
+ font-family: 'Courier New', monospace;
64
+ font-size: 13px;
65
+ color: #333;
66
+ margin: 8px 0;
67
+ }
68
+
69
+ .help-example {
70
+ background: #f0f8ff;
71
+ border: 1px solid #c8e6c9;
72
+ border-radius: 4px;
73
+ padding: 12px;
74
+ font-family: 'Courier New', monospace;
75
+ font-size: 13px;
76
+ color: #2e7d32;
77
+ margin: 8px 0;
78
+ }
79
+
80
+ .help-parameter {
81
+ background: #f8f9fa;
82
+ border-left: 3px solid #1976d2;
83
+ border-radius: 4px;
84
+ padding: 8px 12px;
85
+ margin-bottom: 4px;
86
+ font-size: 13px;
87
+ color: #555;
88
+ }
89
+
90
+ .help-footer {
91
+ display: flex;
92
+ justify-content: flex-end;
93
+ padding: 16px 20px;
94
+ border-top: 1px solid #e0e0e0;
95
+ background: #f8f9fa;
96
+ border-radius: 0 0 8px 8px;
97
+ }
98
+
99
+ .close-btn {
100
+ padding: 8px 16px;
101
+ border: 1px solid #1976d2;
102
+ border-radius: 4px;
103
+ background-color: #1976d2;
104
+ color: white;
105
+ cursor: pointer;
106
+ font-size: 14px;
107
+ font-weight: 500;
108
+ transition: all 0.2s ease;
109
+ }
110
+
111
+ .close-btn:hover {
112
+ background-color: #1565c0;
113
+ border-color: #1565c0;
114
+ }
115
+ `
116
+ ]; }
117
+ render() {
118
+ if (!this.content) {
119
+ return html ``;
120
+ }
121
+ return html `
122
+ <div class="help-popup">
123
+ <div class="help-title">${this.content.title}</div>
124
+
125
+ <div class="help-content">
126
+ ${this.content.sections.map(section => html `
127
+ <div class="help-section">
128
+ <div class="help-section-title">${section.title}</div>
129
+ ${this._renderSectionContent(section)}
130
+ </div>
131
+ `)}
132
+ </div>
133
+
134
+ <div class="help-footer">
135
+ <button class="close-btn" @click=${this._onClose}>닫기</button>
136
+ </div>
137
+ </div>
138
+ `;
139
+ }
140
+ _renderSectionContent(section) {
141
+ switch (section.type) {
142
+ case 'code':
143
+ return html `<div class="help-code">${section.content}</div>`;
144
+ case 'parameter':
145
+ return html `<div class="help-parameter">${section.content}</div>`;
146
+ case 'example':
147
+ return html `<div class="help-example">${section.content}</div>`;
148
+ default:
149
+ return html `<div class="help-section-content">${section.content}</div>`;
150
+ }
151
+ }
152
+ _onClose() {
153
+ this.onClose?.();
154
+ }
155
+ };
156
+ __decorate([
157
+ property({ type: Object })
158
+ ], OxInputFormulaHelpPopup.prototype, "content", void 0);
159
+ __decorate([
160
+ property({ type: Object })
161
+ ], OxInputFormulaHelpPopup.prototype, "onClose", void 0);
162
+ OxInputFormulaHelpPopup = __decorate([
163
+ customElement('ox-input-formula-help-popup')
164
+ ], OxInputFormulaHelpPopup);
165
+ export { OxInputFormulaHelpPopup };
166
+ //# sourceMappingURL=ox-input-formula-help-popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-input-formula-help-popup.js","sourceRoot":"","sources":["../../src/ox-input-formula-help-popup.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAY1C,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAU;aAC9C,WAAM,GAAG;QACd,eAAe;QACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0GF;KACF,AA7GY,CA6GZ;IAKD,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA,EAAE,CAAA;QACf,CAAC;QAED,OAAO,IAAI,CAAA;;kCAEmB,IAAI,CAAC,OAAO,CAAC,KAAK;;;YAGxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CACzB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAA;;kDAEuB,OAAO,CAAC,KAAK;kBAC7C,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;;aAExC,CACF;;;;6CAIkC,IAAI,CAAC,QAAQ;;;KAGrD,CAAA;IACH,CAAC;IAEO,qBAAqB,CAAC,OAAY;QACxC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,IAAI,CAAA,0BAA0B,OAAO,CAAC,OAAO,QAAQ,CAAA;YAC9D,KAAK,WAAW;gBACd,OAAO,IAAI,CAAA,+BAA+B,OAAO,CAAC,OAAO,QAAQ,CAAA;YACnE,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAA,6BAA6B,OAAO,CAAC,OAAO,QAAQ,CAAA;YACjE;gBACE,OAAO,IAAI,CAAA,qCAAqC,OAAO,CAAC,OAAO,QAAQ,CAAA;QAC3E,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,OAAO,EAAE,EAAE,CAAA;IAClB,CAAC;;AA7C2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDAAsB;AACrB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDAAqB;AAjHrC,uBAAuB;IADnC,aAAa,CAAC,6BAA6B,CAAC;GAChC,uBAAuB,CA8JnC","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { ScrollbarStyles } from '@operato/styles'\n\nexport type HelpContent = {\n title: string\n sections: Array<{\n title: string\n content: string\n type?: 'text' | 'code' | 'parameter' | 'example'\n }>\n}\n\n@customElement('ox-input-formula-help-popup')\nexport class OxInputFormulaHelpPopup extends LitElement {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: block;\n }\n\n .help-popup {\n max-width: 500px;\n max-height: 400px;\n overflow-y: auto;\n background: white;\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n }\n\n .help-title {\n font-size: 20px;\n font-weight: 600;\n margin-bottom: 16px;\n color: #1976d2;\n padding: 20px 20px 16px 20px;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e0e0;\n border-radius: 8px 8px 0 0;\n }\n\n .help-content {\n padding: 0 20px;\n }\n\n .help-section {\n margin-bottom: 16px;\n }\n\n .help-section-title {\n font-weight: 600;\n margin-bottom: 8px;\n color: #333;\n font-size: 14px;\n border-bottom: 1px solid #e0e0e0;\n padding-bottom: 4px;\n }\n\n .help-section-content {\n font-size: 14px;\n line-height: 1.6;\n color: #555;\n padding: 4px 0;\n }\n\n .help-code {\n background: #f5f5f5;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n padding: 12px;\n font-family: 'Courier New', monospace;\n font-size: 13px;\n color: #333;\n margin: 8px 0;\n }\n\n .help-example {\n background: #f0f8ff;\n border: 1px solid #c8e6c9;\n border-radius: 4px;\n padding: 12px;\n font-family: 'Courier New', monospace;\n font-size: 13px;\n color: #2e7d32;\n margin: 8px 0;\n }\n\n .help-parameter {\n background: #f8f9fa;\n border-left: 3px solid #1976d2;\n border-radius: 4px;\n padding: 8px 12px;\n margin-bottom: 4px;\n font-size: 13px;\n color: #555;\n }\n\n .help-footer {\n display: flex;\n justify-content: flex-end;\n padding: 16px 20px;\n border-top: 1px solid #e0e0e0;\n background: #f8f9fa;\n border-radius: 0 0 8px 8px;\n }\n\n .close-btn {\n padding: 8px 16px;\n border: 1px solid #1976d2;\n border-radius: 4px;\n background-color: #1976d2;\n color: white;\n cursor: pointer;\n font-size: 14px;\n font-weight: 500;\n transition: all 0.2s ease;\n }\n\n .close-btn:hover {\n background-color: #1565c0;\n border-color: #1565c0;\n }\n `\n ]\n\n @property({ type: Object }) content?: HelpContent\n @property({ type: Object }) onClose?: () => void\n\n render() {\n if (!this.content) {\n return html``\n }\n\n return html`\n <div class=\"help-popup\">\n <div class=\"help-title\">${this.content.title}</div>\n\n <div class=\"help-content\">\n ${this.content.sections.map(\n section => html`\n <div class=\"help-section\">\n <div class=\"help-section-title\">${section.title}</div>\n ${this._renderSectionContent(section)}\n </div>\n `\n )}\n </div>\n\n <div class=\"help-footer\">\n <button class=\"close-btn\" @click=${this._onClose}>닫기</button>\n </div>\n </div>\n `\n }\n\n private _renderSectionContent(section: any) {\n switch (section.type) {\n case 'code':\n return html`<div class=\"help-code\">${section.content}</div>`\n case 'parameter':\n return html`<div class=\"help-parameter\">${section.content}</div>`\n case 'example':\n return html`<div class=\"help-example\">${section.content}</div>`\n default:\n return html`<div class=\"help-section-content\">${section.content}</div>`\n }\n }\n\n private _onClose() {\n this.onClose?.()\n }\n}\n"]}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import '@material/web/icon/icon.js';
5
5
  import '@material/web/button/elevated-button.js';
6
+ import './ox-input-formula-help-popup.js';
6
7
  import '@operato/i18n/ox-i18n.js';
7
8
  import { OxFormField } from '@operato/input';
8
9
  type FormulaVariable = {
@@ -65,6 +66,7 @@ export declare class KpiFormulaEditor extends OxFormField {
65
66
  _insertFunction(template: string): void;
66
67
  _showVariableHelp(e: Event, variable: FormulaVariable): void;
67
68
  _showFunctionHelp(e: Event, func: FormulaFunction): void;
69
+ private _showHelpPopup;
68
70
  _validateFormula(): void;
69
71
  _updateValue(): void;
70
72
  }