juxscript 1.1.398 → 1.1.399

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/bin/cli.js CHANGED
@@ -4,7 +4,6 @@ import path from 'path';
4
4
  import fs from 'fs';
5
5
  import { fileURLToPath } from 'url';
6
6
  import { spawn } from 'child_process';
7
- import { createInterface } from 'readline';
8
7
 
9
8
  const __filename = fileURLToPath(import.meta.url);
10
9
  const __dirname = path.dirname(__filename);
@@ -34,94 +33,6 @@ function copyDirRecursive(src, dest) {
34
33
  }
35
34
  }
36
35
 
37
- function resolveProjectSrcDir() {
38
- const projectRoot = process.cwd();
39
- const configPath = path.join(projectRoot, 'juxconfig.js');
40
-
41
- if (fs.existsSync(configPath)) {
42
- try {
43
- const configContent = fs.readFileSync(configPath, 'utf8');
44
- const srcDirMatch = configContent.match(/srcDir\s*:\s*['"]([^'"]+)['"]/);
45
- if (srcDirMatch) {
46
- return path.resolve(projectRoot, srcDirMatch[1]);
47
- }
48
- } catch (_) { }
49
- }
50
-
51
- return path.resolve(projectRoot, 'jux');
52
- }
53
-
54
- function resolveDestFolderName(parentDir, baseName) {
55
- const first = path.join(parentDir, baseName);
56
- if (!fs.existsSync(first)) return baseName;
57
-
58
- const juxName = baseName + '-jux';
59
- const second = path.join(parentDir, juxName);
60
- if (!fs.existsSync(second)) return juxName;
61
-
62
- for (let i = 1; i <= 99; i++) {
63
- const numbered = `${baseName}-${i}`;
64
- if (!fs.existsSync(path.join(parentDir, numbered))) return numbered;
65
- }
66
-
67
- return `${baseName}-${Date.now()}`;
68
- }
69
-
70
- function listFilesRecursive(dir, base = '') {
71
- const results = [];
72
- const entries = fs.readdirSync(dir, { withFileTypes: true });
73
-
74
- for (const entry of entries) {
75
- if (entry.name.startsWith('.')) continue;
76
- const rel = base ? path.join(base, entry.name) : entry.name;
77
-
78
- if (entry.isDirectory()) {
79
- results.push(...listFilesRecursive(path.join(dir, entry.name), rel));
80
- } else {
81
- results.push(rel);
82
- }
83
- }
84
-
85
- return results;
86
- }
87
-
88
- function promptPresetSelection(presets) {
89
- return new Promise((resolve) => {
90
- console.log('\nšŸ“¦ Available components:\n');
91
- presets.forEach((p, i) => {
92
- const presetDir = path.join(PACKAGE_ROOT, 'components', p);
93
- const files = fs.readdirSync(presetDir).filter(f => !f.startsWith('.'));
94
- console.log(` ${i + 1}) ${p} (${files.join(', ')})`);
95
- });
96
- console.log(` 0) Cancel\n`);
97
-
98
- const rl = createInterface({ input: process.stdin, output: process.stdout });
99
- rl.question('Select a preset (number or name): ', (answer) => {
100
- rl.close();
101
- const trimmed = answer.trim();
102
-
103
- const num = parseInt(trimmed, 10);
104
- if (num === 0) return resolve(null);
105
- if (num >= 1 && num <= presets.length) return resolve(presets[num - 1]);
106
-
107
- if (presets.includes(trimmed)) return resolve(trimmed);
108
-
109
- console.error(`āŒ Invalid selection: "${trimmed}"`);
110
- resolve(null);
111
- });
112
- });
113
- }
114
-
115
- function promptYesNo(question) {
116
- return new Promise((resolve) => {
117
- const rl = createInterface({ input: process.stdin, output: process.stdout });
118
- rl.question(`${question} (y/N): `, (answer) => {
119
- rl.close();
120
- resolve(answer.trim().toLowerCase() === 'y');
121
- });
122
- });
123
- }
124
-
125
36
  function showHelp() {
126
37
  console.log(`
127
38
  JUX CLI
@@ -132,12 +43,9 @@ Usage:
132
43
  jux build Build for production
133
44
  jux serve Start production server
134
45
  jux serve --hot Start dev server with hot reload
135
- jux comp [name] Add a component preset to your project
136
- jux comp [name] -f Force overwrite (backs up existing files)
137
46
 
138
47
  Options:
139
48
  --help, -h Show this help message
140
- --force, -f Overwrite existing files (creates .bak backups)
141
49
  `);
142
50
  }
143
51
 
@@ -174,7 +82,7 @@ async function createProject(projectName) {
174
82
  fs.mkdirSync(juxDir, { recursive: true });
175
83
  fs.writeFileSync(
176
84
  path.join(juxDir, 'index.jux'),
177
- `import { jux } from 'juxscript';\n\njux.element('h1', { id: 'welcome' })\n .text('Welcome to JUX!')\n .render('app');\n`
85
+ `import { jux } from 'juxscript';\n\njux.h1('welcome').content('Welcome to JUX!');\njux.p('intro').content('Edit jux/index.jux to get started.');\n`
178
86
  );
179
87
  console.log(' āœ“ Created starter file');
180
88
  }
@@ -279,7 +187,7 @@ async function initProject() {
279
187
  } else {
280
188
  fs.writeFileSync(
281
189
  path.join(juxDir, 'index.jux'),
282
- `import { jux } from 'juxscript';\n\njux.element('h1', { id: 'welcome' })\n .text('Welcome to JUX!')\n .render('app');\n`
190
+ `import { jux } from 'juxscript';\n\njux.h1('welcome').content('Welcome to JUX!');\njux.p('intro').content('Edit jux/index.jux to get started.');\n`
283
191
  );
284
192
  console.log(' āœ“ Created starter file');
285
193
  }
@@ -385,118 +293,6 @@ function runServe() {
385
293
  child.on('close', (code) => process.exit(code || 0));
386
294
  }
387
295
 
388
- // ═══════════════════════════════════════════════════════════════
389
- // COMMAND: comp [name]
390
- // Copies a preset component into the project's jux directory
391
- // ═══════════════════════════════════════════════════════════════
392
- async function runComp(compName) {
393
- const presetsDir = path.join(PACKAGE_ROOT, 'components');
394
- const forceFlag = args.includes('--force') || args.includes('-f');
395
-
396
- if (!fs.existsSync(presetsDir)) {
397
- console.error('āŒ No components directory found in juxscript package.');
398
- process.exit(1);
399
- }
400
-
401
- // Discover available presets (each subfolder is a preset)
402
- const available = fs.readdirSync(presetsDir, { withFileTypes: true })
403
- .filter(d => d.isDirectory())
404
- .map(d => d.name);
405
-
406
- if (available.length === 0) {
407
- console.error('āŒ No components available.');
408
- process.exit(1);
409
- }
410
-
411
- // If no name given, show interactive list
412
- if (!compName) {
413
- compName = await promptPresetSelection(available);
414
- if (!compName) {
415
- console.log('Cancelled.');
416
- process.exit(0);
417
- }
418
- }
419
-
420
- // Validate preset exists
421
- const presetDir = path.join(presetsDir, compName);
422
- if (!fs.existsSync(presetDir)) {
423
- console.error(`āŒ Component "${compName}" not found.`);
424
- console.log(`\nAvailable components:`);
425
- available.forEach(p => console.log(` • ${p}`));
426
- process.exit(1);
427
- }
428
-
429
- // Resolve target directory from juxconfig.js or default 'jux'
430
- const targetSrcDir = resolveProjectSrcDir();
431
-
432
- if (!fs.existsSync(targetSrcDir)) {
433
- fs.mkdirSync(targetSrcDir, { recursive: true });
434
- }
435
-
436
- // Resolve a safe destination folder name
437
- const destFolderName = resolveDestFolderName(targetSrcDir, compName);
438
- const destDir = path.join(targetSrcDir, destFolderName);
439
-
440
- // List what will be copied
441
- const presetFiles = listFilesRecursive(presetDir);
442
-
443
- console.log(`\nšŸ“¦ Component: ${compName}`);
444
- console.log(` Source: components/${compName}/`);
445
- console.log(` Target: ${path.relative(process.cwd(), destDir)}/\n`);
446
-
447
- if (destFolderName !== compName) {
448
- console.log(` āš ļø "${compName}" already exists, using "${destFolderName}" instead.\n`);
449
- }
450
-
451
- console.log(` Files to copy:`);
452
- presetFiles.forEach(f => console.log(` šŸ“„ ${f}`));
453
- console.log('');
454
-
455
- // If dest exists (shouldn't with our naming, but just in case with --force)
456
- if (fs.existsSync(destDir) && !forceFlag) {
457
- const proceed = await promptYesNo(` Directory "${destFolderName}" exists. Overwrite contents?`);
458
- if (!proceed) {
459
- console.log(' Cancelled.\n');
460
- process.exit(0);
461
- }
462
- }
463
-
464
- // Copy the entire preset folder
465
- fs.mkdirSync(destDir, { recursive: true });
466
- let copied = 0;
467
- let backed = 0;
468
-
469
- for (const relFile of presetFiles) {
470
- const srcPath = path.join(presetDir, relFile);
471
- const destPath = path.join(destDir, relFile);
472
-
473
- // Ensure subdirectory exists
474
- const destFileDir = path.dirname(destPath);
475
- if (!fs.existsSync(destFileDir)) {
476
- fs.mkdirSync(destFileDir, { recursive: true });
477
- }
478
-
479
- if (fs.existsSync(destPath)) {
480
- // Backup existing
481
- const backupPath = destPath + '.bak';
482
- fs.copyFileSync(destPath, backupPath);
483
- backed++;
484
- console.log(` šŸ”„ ${relFile} (backed up to ${relFile}.bak)`);
485
- } else {
486
- console.log(` āœ… ${relFile}`);
487
- }
488
-
489
- fs.copyFileSync(srcPath, destPath);
490
- copied++;
491
- }
492
-
493
- console.log(`\nāœ… Done: ${copied} file(s) copied to ${path.relative(process.cwd(), destDir)}/`);
494
- if (backed > 0) {
495
- console.log(` ${backed} existing file(s) backed up with .bak extension`);
496
- }
497
- console.log('');
498
- }
499
-
500
296
  // ═══════════════════════════════════════════════════════════════
501
297
  // MAIN ROUTER
502
298
  // ═══════════════════════════════════════════════════════════════
@@ -519,12 +315,6 @@ switch (command) {
519
315
  runServe();
520
316
  break;
521
317
 
522
- case 'comp':
523
- case 'component':
524
- case 'preset':
525
- runComp(args[0]);
526
- break;
527
-
528
318
  case '--help':
529
319
  case '-h':
530
320
  case undefined:
package/dist/index.d.ts CHANGED
@@ -16,10 +16,13 @@ import { tabs } from "./components/tabs.js";
16
16
  import { button, btn } from "./components/button.js";
17
17
  import { link, a } from "./components/link.js";
18
18
  import { routes } from "./components/routes.js";
19
+ import { flex, flexRow, flexCol } from './shapes/flex.js';
19
20
  import { barChart } from './charts/barChart.js';
20
21
  import { lineChart } from './charts/lineChart.js';
21
22
  import { pieChart } from './charts/pieChart.js';
22
23
  import { gateway } from "./components/gateway.js";
24
+ import { sidebar } from "./widgets/sidebar.js";
25
+ import { calendar } from "./widgets/calendar.js";
23
26
  import { PALETTES, palette, colors, GREEN, BLUE, PURPLE, ORANGE, RED, TEAL, AMBER, ROSE, INDIGO, SLATE, CYAN, LIME, MULTI, MULTI_WARM, MULTI_COOL, MULTI_PASTEL, MULTI_VIVID } from "./utils/colors.js";
24
27
  export interface Jux {
25
28
  tag: typeof tag;
@@ -74,14 +77,22 @@ export interface Jux {
74
77
  barChart: typeof barChart;
75
78
  lineChart: typeof lineChart;
76
79
  pieChart: typeof pieChart;
80
+ sidebar: typeof sidebar;
81
+ calendar: typeof calendar;
82
+ flex: typeof flex;
83
+ flexRow: typeof flexRow;
84
+ flexCol: typeof flexCol;
77
85
  }
78
86
  export declare const jux: Jux;
79
87
  export { pageState };
80
88
  export { routes };
81
89
  export { c, container } from "./shapes/c.js";
82
90
  export { g, group } from './shapes/g.js';
91
+ export { flex, flexRow, flexCol } from './shapes/flex.js';
83
92
  export { barChart } from './charts/barChart.js';
84
93
  export { lineChart } from './charts/lineChart.js';
85
94
  export { pieChart } from './charts/pieChart.js';
95
+ export { sidebar } from './widgets/sidebar.js';
96
+ export { calendar } from './widgets/calendar.js';
86
97
  export { PALETTES, palette, colors, GREEN, BLUE, PURPLE, ORANGE, RED, TEAL, AMBER, ROSE, INDIGO, SLATE, CYAN, LIME, MULTI, MULTI_WARM, MULTI_COOL, MULTI_PASTEL, MULTI_VIVID };
87
98
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,10 +16,13 @@ import { tabs } from "./components/tabs.js";
16
16
  import { button, btn } from "./components/button.js";
17
17
  import { link, a } from "./components/link.js";
18
18
  import { routes } from "./components/routes.js";
19
+ import { flex, flexRow, flexCol } from './shapes/flex.js';
19
20
  import { barChart } from './charts/barChart.js';
20
21
  import { lineChart } from './charts/lineChart.js';
21
22
  import { pieChart } from './charts/pieChart.js';
22
23
  import { gateway } from "./components/gateway.js";
24
+ import { sidebar } from "./widgets/sidebar.js";
25
+ import { calendar } from "./widgets/calendar.js";
23
26
  import { PALETTES, palette, colors, GREEN, BLUE, PURPLE, ORANGE, RED, TEAL, AMBER, ROSE, INDIGO, SLATE, CYAN, LIME, MULTI, MULTI_WARM, MULTI_COOL, MULTI_PASTEL, MULTI_VIVID } from "./utils/colors.js";
24
27
  export const jux = {
25
28
  tag,
@@ -69,13 +72,21 @@ export const jux = {
69
72
  barChart,
70
73
  lineChart,
71
74
  pieChart,
75
+ sidebar,
76
+ calendar,
77
+ flex,
78
+ flexRow,
79
+ flexCol,
72
80
  };
73
81
  export { pageState };
74
82
  export { routes };
75
83
  export { c, container } from "./shapes/c.js";
76
84
  export { g, group } from './shapes/g.js';
85
+ export { flex, flexRow, flexCol } from './shapes/flex.js';
77
86
  export { barChart } from './charts/barChart.js';
78
87
  export { lineChart } from './charts/lineChart.js';
79
88
  export { pieChart } from './charts/pieChart.js';
89
+ export { sidebar } from './widgets/sidebar.js';
90
+ export { calendar } from './widgets/calendar.js';
80
91
  export { PALETTES, palette, colors, GREEN, BLUE, PURPLE, ORANGE, RED, TEAL, AMBER, ROSE, INDIGO, SLATE, CYAN, LIME, MULTI, MULTI_WARM, MULTI_COOL, MULTI_PASTEL, MULTI_VIVID };
81
92
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { C } from "./c.js";
2
+ type FlexDirection = 'row' | 'column';
3
+ type FlexJustify = 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
4
+ type FlexAlign = 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline';
5
+ type FlexWrap = 'nowrap' | 'wrap' | 'wrap-reverse';
6
+ interface FlexOptions {
7
+ id?: string;
8
+ class?: string;
9
+ style?: string;
10
+ target?: string;
11
+ [key: string]: any;
12
+ }
13
+ declare class Flex {
14
+ id: string;
15
+ private _element;
16
+ constructor(direction?: FlexDirection, gap?: string, justify?: FlexJustify, align?: FlexAlign, wrap?: FlexWrap, padding?: string, radius?: string, margin?: string, border?: string, overflow?: string, options?: FlexOptions);
17
+ get element(): HTMLElement;
18
+ getElement(): HTMLElement;
19
+ direction(val: FlexDirection): this;
20
+ gap(val: string): this;
21
+ justify(val: FlexJustify): this;
22
+ align(val: FlexAlign): this;
23
+ wrap(val: FlexWrap): this;
24
+ width(val: string): this;
25
+ height(val: string): this;
26
+ padding(val: string): this;
27
+ radius(val: string): this;
28
+ margin(val: string): this;
29
+ border(val: string): this;
30
+ overflow(val: string): this;
31
+ class(val: string): this;
32
+ style(css: string): this;
33
+ append(...children: (Flex | C | HTMLElement | {
34
+ element: HTMLElement;
35
+ })[]): this;
36
+ private _resolveNode;
37
+ render(target?: string | HTMLElement | C | Flex | {
38
+ element: HTMLElement;
39
+ }): this;
40
+ into(target?: string | HTMLElement | C | Flex | {
41
+ element: HTMLElement;
42
+ }): this;
43
+ }
44
+ export declare function flex(direction?: FlexDirection, gap?: string, justify?: FlexJustify, align?: FlexAlign, wrap?: FlexWrap, padding?: string, radius?: string, margin?: string, border?: string, overflow?: string, options?: FlexOptions): Flex;
45
+ export declare function flexRow(gap?: string, justify?: FlexJustify, align?: FlexAlign, options?: FlexOptions): Flex;
46
+ export declare function flexCol(gap?: string, justify?: FlexJustify, align?: FlexAlign, options?: FlexOptions): Flex;
47
+ export { Flex, FlexOptions, FlexDirection, FlexJustify, FlexAlign, FlexWrap };
48
+ export default flex;
49
+ //# sourceMappingURL=flex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flex.d.ts","sourceRoot":"","sources":["../../lib/shapes/flex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import generateId from "../utils/idgen.js";
2
+ import { C } from "./c.js";
3
+ class Flex {
4
+ constructor(direction = 'row', gap, justify, align, wrap, padding, radius, margin, border, overflow, options = {}) {
5
+ this.id = options.id || generateId('flex');
6
+ this._element = document.createElement('div');
7
+ this._element.id = this.id;
8
+ this._element.style.display = 'flex';
9
+ this._element.style.flexDirection = direction;
10
+ this._element.style.boxSizing = 'border-box';
11
+ this._element.style.width = '100%';
12
+ this._element.style.height = '100%';
13
+ if (gap)
14
+ this._element.style.gap = gap;
15
+ this._element.style.justifyContent = justify || (direction === 'row' ? 'flex-start' : 'flex-start');
16
+ this._element.style.alignItems = align || (direction === 'row' ? 'stretch' : 'stretch');
17
+ if (wrap)
18
+ this._element.style.flexWrap = wrap;
19
+ if (padding)
20
+ this._element.style.padding = padding;
21
+ if (radius)
22
+ this._element.style.borderRadius = radius;
23
+ if (margin)
24
+ this._element.style.margin = margin;
25
+ if (border)
26
+ this._element.style.border = border;
27
+ if (overflow)
28
+ this._element.style.overflow = overflow;
29
+ if (options.class)
30
+ this._element.className = options.class;
31
+ if (options.style) {
32
+ const existing = this._element.getAttribute('style') || '';
33
+ this._element.setAttribute('style', existing + ';' + options.style);
34
+ }
35
+ if (options.target) {
36
+ this.render(options.target);
37
+ }
38
+ }
39
+ // ═══════════════════════════════════════════════════════════
40
+ // ELEMENT ACCESS
41
+ // ═══════════════════════════════════════════════════════════
42
+ get element() { return this._element; }
43
+ getElement() { return this._element; }
44
+ // ═══════════════════════════════════════════════════════════
45
+ // FLUENT API
46
+ // ═══════════════════════════════════════════════════════════
47
+ direction(val) { this._element.style.flexDirection = val; return this; }
48
+ gap(val) { this._element.style.gap = val; return this; }
49
+ justify(val) { this._element.style.justifyContent = val; return this; }
50
+ align(val) { this._element.style.alignItems = val; return this; }
51
+ wrap(val) { this._element.style.flexWrap = val; return this; }
52
+ width(val) { this._element.style.width = val; return this; }
53
+ height(val) { this._element.style.height = val; return this; }
54
+ padding(val) { this._element.style.padding = val; return this; }
55
+ radius(val) { this._element.style.borderRadius = val; return this; }
56
+ margin(val) { this._element.style.margin = val; return this; }
57
+ border(val) { this._element.style.border = val; return this; }
58
+ overflow(val) { this._element.style.overflow = val; return this; }
59
+ class(val) { this._element.className = val; return this; }
60
+ style(css) {
61
+ const existing = this._element.getAttribute('style') || '';
62
+ this._element.setAttribute('style', existing + ';' + css);
63
+ return this;
64
+ }
65
+ // ═══════════════════════════════════════════════════════════
66
+ // CHILDREN
67
+ // ═══════════════════════════════════════════════════════════
68
+ append(...children) {
69
+ for (const child of children) {
70
+ const node = this._resolveNode(child);
71
+ this._element.appendChild(node);
72
+ }
73
+ return this;
74
+ }
75
+ _resolveNode(child) {
76
+ if (child instanceof Flex)
77
+ return child.element;
78
+ if (child instanceof C)
79
+ return child.element;
80
+ if (child instanceof HTMLElement)
81
+ return child;
82
+ if (child && typeof child === 'object' && 'element' in child)
83
+ return child.element;
84
+ throw new Error('Flex: child is not a valid node');
85
+ }
86
+ // ═══════════════════════════════════════════════════════════
87
+ // RENDER
88
+ // ═══════════════════════════════════════════════════════════
89
+ render(target) {
90
+ let parent = null;
91
+ if (target instanceof C || target instanceof Flex)
92
+ parent = target.element;
93
+ else if (target instanceof HTMLElement)
94
+ parent = target;
95
+ else if (typeof target === 'string')
96
+ parent = document.getElementById(target) || document.querySelector(target);
97
+ else if (target && typeof target === 'object' && 'element' in target)
98
+ parent = target.element;
99
+ else
100
+ parent = document.getElementById('app');
101
+ parent?.appendChild(this._element);
102
+ return this;
103
+ }
104
+ into(target) {
105
+ return this.render(target);
106
+ }
107
+ }
108
+ // ═══════════════════════════════════════════════════════════
109
+ // FACTORIES
110
+ // ═══════════════════════════════════════════════════════════
111
+ export function flex(direction = 'row', gap, justify, align, wrap, padding, radius, margin, border, overflow, options) {
112
+ return new Flex(direction, gap, justify, align, wrap, padding, radius, margin, border, overflow, options);
113
+ }
114
+ export function flexRow(gap, justify, align, options) {
115
+ return new Flex('row', gap, justify, align, undefined, undefined, undefined, undefined, undefined, undefined, options);
116
+ }
117
+ export function flexCol(gap, justify, align, options) {
118
+ return new Flex('column', gap, justify, align, undefined, undefined, undefined, undefined, undefined, undefined, options);
119
+ }
120
+ export { Flex };
121
+ export default flex;
122
+ //# sourceMappingURL=flex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flex.js","sourceRoot":"","sources":["../../lib/shapes/flex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ interface CalendarOptions {
2
+ value?: string;
3
+ min?: string;
4
+ max?: string;
5
+ title?: string;
6
+ subtitle?: string;
7
+ showHeader?: boolean;
8
+ showWeekNumbers?: boolean;
9
+ firstDayOfWeek?: 0 | 1;
10
+ class?: string;
11
+ style?: string;
12
+ disabled?: boolean;
13
+ onChange?: (date: string) => void;
14
+ }
15
+ declare class Calendar {
16
+ id: string;
17
+ private _opts;
18
+ private _el;
19
+ private _viewYear;
20
+ private _viewMonth;
21
+ private _selectedDate;
22
+ private _onChange;
23
+ constructor(id: string, options?: CalendarOptions);
24
+ title(val: string): this;
25
+ subtitle(val: string): this;
26
+ value(val: string): this;
27
+ min(val: string): this;
28
+ max(val: string): this;
29
+ disabled(val?: boolean): this;
30
+ style(val: string): this;
31
+ class(val: string): this;
32
+ onChange(fn: (date: string) => void): this;
33
+ getValue(): string | null;
34
+ setValue(val: string): this;
35
+ getElement(): HTMLElement | null;
36
+ getTitle(): string;
37
+ getSubtitle(): string;
38
+ getDisabled(): boolean;
39
+ getMin(): string;
40
+ getMax(): string;
41
+ getClass(): string;
42
+ getStyle(): string;
43
+ setTitle(val: string): this;
44
+ setSubtitle(val: string): this;
45
+ setDisabled(val: boolean): this;
46
+ setMin(val: string): this;
47
+ setMax(val: string): this;
48
+ setClass(val: string): this;
49
+ setStyle(val: string): this;
50
+ setContent(val: string): this;
51
+ get state(): any;
52
+ prevMonth(): this;
53
+ nextMonth(): this;
54
+ prevYear(): this;
55
+ nextYear(): this;
56
+ today(): this;
57
+ render(target?: string | HTMLElement | {
58
+ element: HTMLElement;
59
+ }): this;
60
+ into(target?: string | HTMLElement | {
61
+ element: HTMLElement;
62
+ }): this;
63
+ destroy(): void;
64
+ private _rebuild;
65
+ private _toISO;
66
+ private _isDisabledDate;
67
+ private _getWeekNumber;
68
+ private _buildDOM;
69
+ private _injectStyles;
70
+ }
71
+ export declare function calendar(id: string, options?: CalendarOptions): Calendar;
72
+ export { Calendar, CalendarOptions };
73
+ export default calendar;
74
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../lib/widgets/calendar.ts"],"names":[],"mappings":"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"}