@genesislcap/foundation-ui 14.383.1 → 14.384.0

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.
@@ -1263,6 +1263,37 @@
1263
1263
  }
1264
1264
  ]
1265
1265
  },
1266
+ {
1267
+ "kind": "javascript-module",
1268
+ "path": "src/_config/index.ts",
1269
+ "declarations": [],
1270
+ "exports": [
1271
+ {
1272
+ "kind": "js",
1273
+ "name": "*",
1274
+ "declaration": {
1275
+ "name": "*",
1276
+ "package": "./styles"
1277
+ }
1278
+ },
1279
+ {
1280
+ "kind": "js",
1281
+ "name": "*",
1282
+ "declaration": {
1283
+ "name": "*",
1284
+ "package": "./tokens"
1285
+ }
1286
+ },
1287
+ {
1288
+ "kind": "js",
1289
+ "name": "*",
1290
+ "declaration": {
1291
+ "name": "*",
1292
+ "package": "./values"
1293
+ }
1294
+ }
1295
+ ]
1296
+ },
1266
1297
  {
1267
1298
  "kind": "javascript-module",
1268
1299
  "path": "src/accordion-item/accordion-item.styles.ts",
@@ -1657,6 +1688,188 @@
1657
1688
  }
1658
1689
  ]
1659
1690
  },
1691
+ {
1692
+ "kind": "javascript-module",
1693
+ "path": "src/accordion/accordion.styles.ts",
1694
+ "declarations": [
1695
+ {
1696
+ "kind": "function",
1697
+ "name": "foundationAccordionStyles",
1698
+ "return": {
1699
+ "type": {
1700
+ "text": "ElementStyles"
1701
+ }
1702
+ },
1703
+ "parameters": [
1704
+ {
1705
+ "name": "context",
1706
+ "type": {
1707
+ "text": "ElementDefinitionContext"
1708
+ }
1709
+ },
1710
+ {
1711
+ "name": "definition",
1712
+ "type": {
1713
+ "text": "FoundationElementDefinition"
1714
+ }
1715
+ }
1716
+ ]
1717
+ }
1718
+ ],
1719
+ "exports": [
1720
+ {
1721
+ "kind": "js",
1722
+ "name": "foundationAccordionStyles",
1723
+ "declaration": {
1724
+ "name": "foundationAccordionStyles",
1725
+ "module": "src/accordion/accordion.styles.ts"
1726
+ }
1727
+ }
1728
+ ]
1729
+ },
1730
+ {
1731
+ "kind": "javascript-module",
1732
+ "path": "src/accordion/accordion.template.ts",
1733
+ "declarations": [
1734
+ {
1735
+ "kind": "function",
1736
+ "name": "foundationAccordionTemplate",
1737
+ "return": {
1738
+ "type": {
1739
+ "text": "ViewTemplate<Accordion>"
1740
+ }
1741
+ },
1742
+ "parameters": [
1743
+ {
1744
+ "name": "context",
1745
+ "type": {
1746
+ "text": "ElementDefinitionContext"
1747
+ }
1748
+ },
1749
+ {
1750
+ "name": "definition",
1751
+ "type": {
1752
+ "text": "FoundationElementDefinition"
1753
+ }
1754
+ }
1755
+ ]
1756
+ }
1757
+ ],
1758
+ "exports": [
1759
+ {
1760
+ "kind": "js",
1761
+ "name": "foundationAccordionTemplate",
1762
+ "declaration": {
1763
+ "name": "foundationAccordionTemplate",
1764
+ "module": "src/accordion/accordion.template.ts"
1765
+ }
1766
+ }
1767
+ ]
1768
+ },
1769
+ {
1770
+ "kind": "javascript-module",
1771
+ "path": "src/accordion/accordion.ts",
1772
+ "declarations": [
1773
+ {
1774
+ "kind": "class",
1775
+ "description": "",
1776
+ "name": "Accordion",
1777
+ "superclass": {
1778
+ "name": "FASTAccordion",
1779
+ "package": "@microsoft/fast-foundation"
1780
+ },
1781
+ "tagName": "%%prefix%%-accordion",
1782
+ "customElement": true
1783
+ },
1784
+ {
1785
+ "kind": "variable",
1786
+ "name": "foundationAccordionShadowOptions",
1787
+ "type": {
1788
+ "text": "ShadowRootInit"
1789
+ },
1790
+ "default": "{\n delegatesFocus: true,\n mode: 'open',\n}"
1791
+ },
1792
+ {
1793
+ "kind": "variable",
1794
+ "name": "defaultAccordionConfig",
1795
+ "type": {
1796
+ "text": "object"
1797
+ },
1798
+ "default": "{}"
1799
+ },
1800
+ {
1801
+ "kind": "variable",
1802
+ "name": "foundationAccordion",
1803
+ "description": "The Foundation Accordion",
1804
+ "privacy": "public"
1805
+ }
1806
+ ],
1807
+ "exports": [
1808
+ {
1809
+ "kind": "js",
1810
+ "name": "Accordion",
1811
+ "declaration": {
1812
+ "name": "Accordion",
1813
+ "module": "src/accordion/accordion.ts"
1814
+ }
1815
+ },
1816
+ {
1817
+ "kind": "js",
1818
+ "name": "foundationAccordionShadowOptions",
1819
+ "declaration": {
1820
+ "name": "foundationAccordionShadowOptions",
1821
+ "module": "src/accordion/accordion.ts"
1822
+ }
1823
+ },
1824
+ {
1825
+ "kind": "js",
1826
+ "name": "defaultAccordionConfig",
1827
+ "declaration": {
1828
+ "name": "defaultAccordionConfig",
1829
+ "module": "src/accordion/accordion.ts"
1830
+ }
1831
+ },
1832
+ {
1833
+ "kind": "js",
1834
+ "name": "foundationAccordion",
1835
+ "declaration": {
1836
+ "name": "foundationAccordion",
1837
+ "module": "src/accordion/accordion.ts"
1838
+ }
1839
+ }
1840
+ ]
1841
+ },
1842
+ {
1843
+ "kind": "javascript-module",
1844
+ "path": "src/accordion/index.ts",
1845
+ "declarations": [],
1846
+ "exports": [
1847
+ {
1848
+ "kind": "js",
1849
+ "name": "*",
1850
+ "declaration": {
1851
+ "name": "*",
1852
+ "package": "./accordion.template"
1853
+ }
1854
+ },
1855
+ {
1856
+ "kind": "js",
1857
+ "name": "*",
1858
+ "declaration": {
1859
+ "name": "*",
1860
+ "package": "./accordion.styles"
1861
+ }
1862
+ },
1863
+ {
1864
+ "kind": "js",
1865
+ "name": "*",
1866
+ "declaration": {
1867
+ "name": "*",
1868
+ "package": "./accordion"
1869
+ }
1870
+ }
1871
+ ]
1872
+ },
1660
1873
  {
1661
1874
  "kind": "javascript-module",
1662
1875
  "path": "src/actions-menu/actions-menu.styles.ts",
@@ -4326,219 +4539,6 @@
4326
4539
  }
4327
4540
  ]
4328
4541
  },
4329
- {
4330
- "kind": "javascript-module",
4331
- "path": "src/_config/index.ts",
4332
- "declarations": [],
4333
- "exports": [
4334
- {
4335
- "kind": "js",
4336
- "name": "*",
4337
- "declaration": {
4338
- "name": "*",
4339
- "package": "./styles"
4340
- }
4341
- },
4342
- {
4343
- "kind": "js",
4344
- "name": "*",
4345
- "declaration": {
4346
- "name": "*",
4347
- "package": "./tokens"
4348
- }
4349
- },
4350
- {
4351
- "kind": "js",
4352
- "name": "*",
4353
- "declaration": {
4354
- "name": "*",
4355
- "package": "./values"
4356
- }
4357
- }
4358
- ]
4359
- },
4360
- {
4361
- "kind": "javascript-module",
4362
- "path": "src/accordion/accordion.styles.ts",
4363
- "declarations": [
4364
- {
4365
- "kind": "function",
4366
- "name": "foundationAccordionStyles",
4367
- "return": {
4368
- "type": {
4369
- "text": "ElementStyles"
4370
- }
4371
- },
4372
- "parameters": [
4373
- {
4374
- "name": "context",
4375
- "type": {
4376
- "text": "ElementDefinitionContext"
4377
- }
4378
- },
4379
- {
4380
- "name": "definition",
4381
- "type": {
4382
- "text": "FoundationElementDefinition"
4383
- }
4384
- }
4385
- ]
4386
- }
4387
- ],
4388
- "exports": [
4389
- {
4390
- "kind": "js",
4391
- "name": "foundationAccordionStyles",
4392
- "declaration": {
4393
- "name": "foundationAccordionStyles",
4394
- "module": "src/accordion/accordion.styles.ts"
4395
- }
4396
- }
4397
- ]
4398
- },
4399
- {
4400
- "kind": "javascript-module",
4401
- "path": "src/accordion/accordion.template.ts",
4402
- "declarations": [
4403
- {
4404
- "kind": "function",
4405
- "name": "foundationAccordionTemplate",
4406
- "return": {
4407
- "type": {
4408
- "text": "ViewTemplate<Accordion>"
4409
- }
4410
- },
4411
- "parameters": [
4412
- {
4413
- "name": "context",
4414
- "type": {
4415
- "text": "ElementDefinitionContext"
4416
- }
4417
- },
4418
- {
4419
- "name": "definition",
4420
- "type": {
4421
- "text": "FoundationElementDefinition"
4422
- }
4423
- }
4424
- ]
4425
- }
4426
- ],
4427
- "exports": [
4428
- {
4429
- "kind": "js",
4430
- "name": "foundationAccordionTemplate",
4431
- "declaration": {
4432
- "name": "foundationAccordionTemplate",
4433
- "module": "src/accordion/accordion.template.ts"
4434
- }
4435
- }
4436
- ]
4437
- },
4438
- {
4439
- "kind": "javascript-module",
4440
- "path": "src/accordion/accordion.ts",
4441
- "declarations": [
4442
- {
4443
- "kind": "class",
4444
- "description": "",
4445
- "name": "Accordion",
4446
- "superclass": {
4447
- "name": "FASTAccordion",
4448
- "package": "@microsoft/fast-foundation"
4449
- },
4450
- "tagName": "%%prefix%%-accordion",
4451
- "customElement": true
4452
- },
4453
- {
4454
- "kind": "variable",
4455
- "name": "foundationAccordionShadowOptions",
4456
- "type": {
4457
- "text": "ShadowRootInit"
4458
- },
4459
- "default": "{\n delegatesFocus: true,\n mode: 'open',\n}"
4460
- },
4461
- {
4462
- "kind": "variable",
4463
- "name": "defaultAccordionConfig",
4464
- "type": {
4465
- "text": "object"
4466
- },
4467
- "default": "{}"
4468
- },
4469
- {
4470
- "kind": "variable",
4471
- "name": "foundationAccordion",
4472
- "description": "The Foundation Accordion",
4473
- "privacy": "public"
4474
- }
4475
- ],
4476
- "exports": [
4477
- {
4478
- "kind": "js",
4479
- "name": "Accordion",
4480
- "declaration": {
4481
- "name": "Accordion",
4482
- "module": "src/accordion/accordion.ts"
4483
- }
4484
- },
4485
- {
4486
- "kind": "js",
4487
- "name": "foundationAccordionShadowOptions",
4488
- "declaration": {
4489
- "name": "foundationAccordionShadowOptions",
4490
- "module": "src/accordion/accordion.ts"
4491
- }
4492
- },
4493
- {
4494
- "kind": "js",
4495
- "name": "defaultAccordionConfig",
4496
- "declaration": {
4497
- "name": "defaultAccordionConfig",
4498
- "module": "src/accordion/accordion.ts"
4499
- }
4500
- },
4501
- {
4502
- "kind": "js",
4503
- "name": "foundationAccordion",
4504
- "declaration": {
4505
- "name": "foundationAccordion",
4506
- "module": "src/accordion/accordion.ts"
4507
- }
4508
- }
4509
- ]
4510
- },
4511
- {
4512
- "kind": "javascript-module",
4513
- "path": "src/accordion/index.ts",
4514
- "declarations": [],
4515
- "exports": [
4516
- {
4517
- "kind": "js",
4518
- "name": "*",
4519
- "declaration": {
4520
- "name": "*",
4521
- "package": "./accordion.template"
4522
- }
4523
- },
4524
- {
4525
- "kind": "js",
4526
- "name": "*",
4527
- "declaration": {
4528
- "name": "*",
4529
- "package": "./accordion.styles"
4530
- }
4531
- },
4532
- {
4533
- "kind": "js",
4534
- "name": "*",
4535
- "declaration": {
4536
- "name": "*",
4537
- "package": "./accordion"
4538
- }
4539
- }
4540
- ]
4541
- },
4542
4542
  {
4543
4543
  "kind": "javascript-module",
4544
4544
  "path": "src/avatar/avatar.styles.ts",
@@ -36744,7 +36744,7 @@
36744
36744
  {
36745
36745
  "kind": "variable",
36746
36746
  "name": "inputControls",
36747
- "default": "css`\n .input-container {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .label {\n color: var(--neutral-foreground-hint);\n display: block;\n cursor: pointer;\n font-size: var(--type-ramp-base-font-size);\n line-height: var(--type-ramp-base-line-height);\n font-style: normal;\n }\n\n .row {\n display: flex;\n width: 100%;\n flex-wrap: wrap;\n align-items: center;\n gap: calc(var(--design-unit) * 4px);\n }\n\n .minutes-options-row {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: calc(var(--design-unit) * 4px);\n }\n`"
36747
+ "default": "css`\n .input-container {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .label {\n color: var(--neutral-foreground-hint);\n display: block;\n cursor: pointer;\n font-size: var(--type-ramp-base-font-size);\n line-height: var(--type-ramp-base-line-height);\n font-style: normal;\n }\n\n .row {\n display: flex;\n width: 100%;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: calc(var(--design-unit) * 4px);\n }\n\n .minutes-options-row {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: calc(var(--design-unit) * 4px);\n }\n\n .break {\n width: 100%;\n height: 0;\n }\n`"
36748
36748
  },
36749
36749
  {
36750
36750
  "kind": "variable",
@@ -36836,6 +36836,11 @@
36836
36836
  "name": "MINUTES_DURING_TOOLTIP",
36837
36837
  "default": "`\n <p>Which hours in the day to run this schedule for:</p>\n <ul>\n <li><strong>Every hour:</strong> runs the minute schedule during every hour of the day.</li>\n <li><strong>Specific hours:</strong> specify which hours the minute schedule runs for. For example, just trading hours. Selecting every hour will configure the schedule as <strong>Every hour</strong>.</li>\n </ul>\n`"
36838
36838
  },
36839
+ {
36840
+ "kind": "variable",
36841
+ "name": "HOURLY_MODE_TOOLTIP",
36842
+ "default": "`\n <p>Select the type of hourly recurrence:</p>\n <ul>\n <li><strong>Interval:</strong> runs at a repeating interval of hours (e.g. every 2 hours).</li>\n <li><strong>Selected Hours:</strong> allows you to choose specific hours of the day (e.g. 9, 10, and 14).</li>\n </ul>\n`"
36843
+ },
36839
36844
  {
36840
36845
  "kind": "variable",
36841
36846
  "name": "DAILY_OF_TOOLTIP",
@@ -36869,6 +36874,14 @@
36869
36874
  "module": "src/scheduler-cron-builder/scheduler-cron-builder.tooltips.ts"
36870
36875
  }
36871
36876
  },
36877
+ {
36878
+ "kind": "js",
36879
+ "name": "HOURLY_MODE_TOOLTIP",
36880
+ "declaration": {
36881
+ "name": "HOURLY_MODE_TOOLTIP",
36882
+ "module": "src/scheduler-cron-builder/scheduler-cron-builder.tooltips.ts"
36883
+ }
36884
+ },
36872
36885
  {
36873
36886
  "kind": "js",
36874
36887
  "name": "DAILY_OF_TOOLTIP",
@@ -236,6 +236,7 @@ export declare function parseCronExpression(cron: string, methods: GetConfigs):
236
236
  minutes: string;
237
237
  seconds: string;
238
238
  type: RecurrenceType.HOURLY;
239
+ during?: "every_hour" | "specific_hours";
239
240
  } | {
240
241
  type: RecurrenceType.DAILY;
241
242
  weekType: WeekType;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-cron-builder.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/scheduler-cron-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAuB/D,OAAO,EACL,UAAU,EAEV,UAAU,EASV,cAAc,EAIf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,UAAU,CAOhB;IACF;;;;;OAKG;IACS,UAAU,EAAE,cAAc,CAAwB;IAC9D;;;;;OAKG;IACS,IAAI,EAAE,MAAM,CAAM;IAC9B,WAAW;IA6BX;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAa;IAE1B;;;;OAIG;IAES,UAAU,EAAE,UAAU,CAMhC;IAEF;;;;;;;;OAQG;IACS,SAAS,EAAE,MAAM,CAAO;IAExB,MAAM,EAAE,YAAY,GAAG,gBAAgB,CAAgB;IAEnE,IACI,aAAa;;;QAKhB;IAED;;;OAGG;IACS,KAAK,EAAE,MAAM,CAAO;IAChC;;;OAGG;IACS,OAAO,EAAE,MAAM,CAAO;IAElC;;;OAGG;IACS,OAAO,EAAE,MAAM,CAAO;IAElC;;;;;OAKG;IACH,IACI,eAAe,IAAI,MAAM,CAa5B;IAED;;;;;OAKG;IACH,IACI,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,CAkBjC;IAED,IACI,WAAW;;;QAKd;IAED,IACI,aAAa,IAAI,MAAM,EAAE,CAmB5B;IAED,iBAAiB,CAAC,CAAC,EAAE,WAAW;IAeY,iBAAiB,EAAE,MAAM,CAAC;IAEZ,eAAe,EAAE,OAAO,CAAS;IAE3F,IACI,0BAA0B,IAAI,OAAO,CAGxC;IAED,IACI,eAAe,IAAI,OAAO,CAE7B;IAED,IACI,wBAAwB,IAAI,OAAO,CAKtC;IAED,wBAAwB;IASlB,QAAQ,EAAE,MAAM,CAAM;IAE5B,iBAAiB;IAKjB,oBAAoB;IAIpB,mBAAmB,IAAI,UAAU;IASjC;;;OAGG;IACH,sBAAsB;IAiFtB;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM;IAQ9B,kBAAkB;IAalB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW;IAQ9C;;;OAGG;IACH,gCAAgC,CAAC,MAAM,EAAE,UAAU;IAkCnD;;;OAGG;IACH,oBAAoB;CAmBrB;AAGD,eAAO,MAAM,2CAA2C,EAAE,cAA0B,CAAC;AAErF,eAAO,MAAM,wBAAwB,IAAK,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;+BAMzC,CAAC"}
1
+ {"version":3,"file":"scheduler-cron-builder.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/scheduler-cron-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAuB/D,OAAO,EACL,UAAU,EAEV,UAAU,EASV,cAAc,EAIf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,UAAU,CAOhB;IACF;;;;;OAKG;IACS,UAAU,EAAE,cAAc,CAAwB;IAC9D;;;;;OAKG;IACS,IAAI,EAAE,MAAM,CAAM;IAC9B,WAAW;IA6BX;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAa;IAE1B;;;;OAIG;IAES,UAAU,EAAE,UAAU,CAMhC;IAEF;;;;;;;;OAQG;IACS,SAAS,EAAE,MAAM,CAAO;IAExB,MAAM,EAAE,YAAY,GAAG,gBAAgB,CAAgB;IAEnE,IACI,aAAa;;;QAKhB;IAED;;;OAGG;IACS,KAAK,EAAE,MAAM,CAAO;IAChC;;;OAGG;IACS,OAAO,EAAE,MAAM,CAAO;IAElC;;;OAGG;IACS,OAAO,EAAE,MAAM,CAAO;IAElC;;;;;OAKG;IACH,IACI,eAAe,IAAI,MAAM,CAa5B;IAED;;;;;OAKG;IACH,IACI,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,CAoBjC;IAED,IACI,WAAW;;;QAKd;IAED,IACI,aAAa,IAAI,MAAM,EAAE,CAmB5B;IAED,iBAAiB,CAAC,CAAC,EAAE,WAAW;IAiBY,iBAAiB,EAAE,MAAM,CAAC;IAEZ,eAAe,EAAE,OAAO,CAAS;IAE3F,IACI,0BAA0B,IAAI,OAAO,CAGxC;IAED,IACI,eAAe,IAAI,OAAO,CAE7B;IAED,IACI,wBAAwB,IAAI,OAAO,CAKtC;IAED,wBAAwB;IASlB,QAAQ,EAAE,MAAM,CAAM;IAE5B,iBAAiB;IAKjB,oBAAoB;IAIpB,mBAAmB,IAAI,UAAU;IASjC;;;OAGG;IACH,sBAAsB;IAmGtB;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM;IAQ9B,kBAAkB;IAgBlB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW;IAQ9C;;;OAGG;IACH,gCAAgC,CAAC,MAAM,EAAE,UAAU;IAkCnD;;;OAGG;IACH,oBAAoB;CAmBrB;AAGD,eAAO,MAAM,2CAA2C,EAAE,cAA0B,CAAC;AAErF,eAAO,MAAM,wBAAwB,IAAK,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;+BAMzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-cron-builder.styles.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/scheduler-cron-builder.styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,aAAa,eA+BzB,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aA6DxC,CAAC"}
1
+ {"version":3,"file":"scheduler-cron-builder.styles.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/scheduler-cron-builder.styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,aAAa,eAoCzB,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aA6DxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-cron-builder.template.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/scheduler-cron-builder.template.ts"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAoCrE,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,8EA2MpD,CAAC;AACF,eAAO,MAAM,sCAAsC,2EAElD,CAAC"}
1
+ {"version":3,"file":"scheduler-cron-builder.template.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/scheduler-cron-builder.template.ts"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAwPrE,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,8EA2DpD,CAAC;AACF,eAAO,MAAM,sCAAsC,2EAElD,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export declare const RECURRENCE_TOOLTIP: (showMinutes: boolean) => string;
2
2
  export declare const MINUTES_DURING_TOOLTIP = "\n <p>Which hours in the day to run this schedule for:</p>\n <ul>\n <li><strong>Every hour:</strong> runs the minute schedule during every hour of the day.</li>\n <li><strong>Specific hours:</strong> specify which hours the minute schedule runs for. For example, just trading hours. Selecting every hour will configure the schedule as <strong>Every hour</strong>.</li>\n </ul>\n";
3
+ export declare const HOURLY_MODE_TOOLTIP = "\n <p>Select the type of hourly recurrence:</p>\n <ul>\n <li><strong>Interval:</strong> runs at a repeating interval of hours (e.g. every 2 hours).</li>\n <li><strong>Selected Hours:</strong> allows you to choose specific hours of the day (e.g. 9, 10, and 14).</li>\n </ul>\n";
3
4
  export declare const DAILY_OF_TOOLTIP = "\n <p>Controls the daily frequency:</p>\n <ul>\n <li><strong>Week:</strong> allows you to configure the frequency of repeating days, including both weekdays and weekends.</li>\n <li><strong>Work week:</strong> runs the schedule at the specified time on every weekday (Monday - Friday). When this option is selected you cannot change the day frequency, it's every weekday.</li>\n </ul>\n";
4
5
  export declare const WEEKLY_ON_TOOLTIP = "\n <p>Select which days to run this recurrence on. It's not valid to select no days, so if there is only a single day selected then its checkbox is disabled. </p>\n <p>If you need to change the day you can enable other days which will allow you to disable days until you only have a single day selected again.</p>\n";
5
6
  export declare const HOURS_MULTISELECT_TOOLTIP = "\n <p>Select one or more hours.</p>\n";
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-cron-builder.tooltips.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/scheduler-cron-builder.tooltips.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,GAAI,aAAa,OAAO,WAUtD,CAAC;AAEF,eAAO,MAAM,sBAAsB,wYAMlC,CAAC;AAEF,eAAO,MAAM,gBAAgB,gZAM5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,kUAG7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,2CAErC,CAAC"}
1
+ {"version":3,"file":"scheduler-cron-builder.tooltips.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/scheduler-cron-builder.tooltips.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,GAAI,aAAa,OAAO,WAUtD,CAAC;AAEF,eAAO,MAAM,sBAAsB,wYAMlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,iSAM/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,gZAM5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,kUAG7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,2CAErC,CAAC"}
@@ -75,6 +75,7 @@ export type YearlyDateDay = {
75
75
  };
76
76
  export type HourlyConfig = baseConfig & {
77
77
  type: RecurrenceType.HOURLY;
78
+ during?: 'every_hour' | 'specific_hours';
78
79
  };
79
80
  export type MinutesConfig = Omit<baseConfig, 'minutes'> & {
80
81
  type: RecurrenceType.MINUTES;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/scheduler-cron-builder/types.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export const formatFrequency = (freq) => {
19
19
  * @internal
20
20
  */
21
21
  export function getCronExpressionForHourly(config) {
22
- if (config.hours && config.hours !== '*') {
22
+ if (config.during === 'specific_hours' && config.hours && config.hours !== '*') {
23
23
  return `${config.seconds} ${config.minutes} ${config.hours} ? * *`;
24
24
  }
25
25
  return `${config.seconds} ${config.minutes} 0/${config.frequency} ? * *`;
@@ -278,6 +278,7 @@ export function buildConfigForHourlyRecurrence(hours) {
278
278
  return {
279
279
  type: RecurrenceType.HOURLY,
280
280
  frequency: isStep ? hours.split('/')[1] : '1',
281
+ during: isStep ? 'every_hour' : 'specific_hours',
281
282
  hours: isStep ? undefined : hours,
282
283
  };
283
284
  }
@@ -153,6 +153,8 @@ export class SchedulerCronBuilder extends FoundationElement {
153
153
  return Array.from({ length: MAX_MONTHS }, (_, i) => i + 1);
154
154
  case RecurrenceType.YEARLY:
155
155
  return Array.from({ length: MAX_MONTHS }, (_, i) => i + 1);
156
+ case RecurrenceType.WEEKLY:
157
+ return [1];
156
158
  default:
157
159
  return [];
158
160
  }
@@ -188,6 +190,8 @@ export class SchedulerCronBuilder extends FoundationElement {
188
190
  // If all selected, maybe set to '*'?
189
191
  if (selected.length === MAX_HOURS) {
190
192
  this.hours = '*';
193
+ this.frequency = '1';
194
+ this.cronConfig.frequency = '1';
191
195
  }
192
196
  else if (!selected || selected.length === 0) {
193
197
  // If none selected, default to '0' to avoid invalid cron?
@@ -238,27 +242,41 @@ export class SchedulerCronBuilder extends FoundationElement {
238
242
  handleRecurrenceChange() {
239
243
  switch (this.recurrence) {
240
244
  case RecurrenceType.MINUTES:
241
- const _a = this.getBaseConfigFields(), { minutes } = _a, minutesBaseConfig = __rest(_a, ["minutes"]);
245
+ const _a = this.getBaseConfigFields(), { minutes: _ } = _a, minutesBaseConfig = __rest(_a, ["minutes"]);
242
246
  this.during = 'every_hour';
243
247
  this.hours = '*';
244
- this.cronConfig = Object.assign(Object.assign({ type: RecurrenceType.MINUTES }, minutesBaseConfig), { frequency: this.frequencyList[0].toString(), during: 'every_hour', hours: '*' });
248
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
249
+ const validMinutes = [1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30];
250
+ const min = this.minMinuteInterval ? Number(this.minMinuteInterval) : 1;
251
+ const defaultFreq = validMinutes.find((m) => m >= min) || 1;
252
+ this.cronConfig = Object.assign(Object.assign({ type: RecurrenceType.MINUTES }, minutesBaseConfig), { frequency: defaultFreq.toString(), during: 'every_hour', hours: '*' });
245
253
  this.generateCronExpressionFromConfig(this.cronConfig);
246
254
  break;
247
255
  case RecurrenceType.HOURLY:
248
256
  const _b = this.getBaseConfigFields(), { hours } = _b, baseConfigFields = __rest(_b, ["hours"]);
257
+ this.during = 'every_hour';
249
258
  this.hours = '0';
250
- this.cronConfig = Object.assign(Object.assign({ type: RecurrenceType.HOURLY }, baseConfigFields), { frequency: '1', hours: '0' });
259
+ this.cronConfig = Object.assign(Object.assign({ type: RecurrenceType.HOURLY }, baseConfigFields), { frequency: '1', during: 'every_hour', hours: '0' });
251
260
  this.generateCronExpressionFromConfig(this.cronConfig);
252
261
  break;
253
262
  case RecurrenceType.DAILY:
263
+ if (this.hours === '*' || this.hours.includes(',')) {
264
+ this.hours = '0';
265
+ }
254
266
  this.cronConfig = Object.assign(Object.assign({ type: RecurrenceType.DAILY }, this.getBaseConfigFields()), { frequency: '1', weekType: WeekType.WEEK });
255
267
  this.generateCronExpressionFromConfig(this.cronConfig);
256
268
  break;
257
269
  case RecurrenceType.WEEKLY:
270
+ if (this.hours === '*' || this.hours.includes(',')) {
271
+ this.hours = '0';
272
+ }
258
273
  this.cronConfig = Object.assign(Object.assign({ type: RecurrenceType.WEEKLY }, this.getBaseConfigFields()), { frequency: '1', selectedDays: new Set(['2']) });
259
274
  this.generateCronExpressionFromConfig(this.cronConfig);
260
275
  break;
261
276
  case RecurrenceType.MONTHLY:
277
+ if (this.hours === '*' || this.hours.includes(',')) {
278
+ this.hours = '0';
279
+ }
262
280
  this.cronConfig = Object.assign(Object.assign({ type: RecurrenceType.MONTHLY }, this.getBaseConfigFields()), { frequency: '1', dateOrDay: {
263
281
  type: DateOrDay.DATE,
264
282
  dayDate: '1',
@@ -266,6 +284,9 @@ export class SchedulerCronBuilder extends FoundationElement {
266
284
  this.generateCronExpressionFromConfig(this.cronConfig);
267
285
  break;
268
286
  case RecurrenceType.YEARLY:
287
+ if (this.hours === '*' || this.hours.includes(',')) {
288
+ this.hours = '0';
289
+ }
269
290
  this.cronConfig = Object.assign(Object.assign({ type: RecurrenceType.YEARLY }, this.getBaseConfigFields()), { frequency: '1', dateOrDay: {
270
291
  type: DateOrDay.DATE,
271
292
  dayDate: '1',
@@ -299,7 +320,8 @@ export class SchedulerCronBuilder extends FoundationElement {
299
320
  else if (this.hours === '*') {
300
321
  this.hours = '0';
301
322
  }
302
- if (this.cronConfig.type === RecurrenceType.MINUTES) {
323
+ if (this.cronConfig.type === RecurrenceType.MINUTES ||
324
+ this.cronConfig.type === RecurrenceType.HOURLY) {
303
325
  this.cronConfig.during = this.during;
304
326
  this.cronConfig.hours = this.hours;
305
327
  }
@@ -359,7 +381,7 @@ export class SchedulerCronBuilder extends FoundationElement {
359
381
  if ('minutes' in config) {
360
382
  this.minutes = config.minutes;
361
383
  }
362
- if (config.type === RecurrenceType.MINUTES) {
384
+ if (config.type === RecurrenceType.MINUTES || config.type === RecurrenceType.HOURLY) {
363
385
  this.during = config.during || 'every_hour';
364
386
  if (config.hours) {
365
387
  this.hours = config.hours;
@@ -19,7 +19,7 @@ export const inputControls = css `
19
19
  display: flex;
20
20
  width: 100%;
21
21
  flex-wrap: wrap;
22
- align-items: center;
22
+ align-items: flex-start;
23
23
  gap: calc(var(--design-unit) * 4px);
24
24
  }
25
25
 
@@ -27,9 +27,14 @@ export const inputControls = css `
27
27
  width: 100%;
28
28
  display: flex;
29
29
  flex-wrap: wrap;
30
- align-items: center;
30
+ align-items: flex-start;
31
31
  gap: calc(var(--design-unit) * 4px);
32
32
  }
33
+
34
+ .break {
35
+ width: 100%;
36
+ height: 0;
37
+ }
33
38
  `;
34
39
  export const schedulerCronBuilderStyles = css `
35
40
  ${inputControls}
@@ -4,37 +4,199 @@ import '../multiselect';
4
4
  import { getPrefix, tooltip } from '../utils';
5
5
  import { DailyRecurrence } from './daily-recurrence/daily-recurrence';
6
6
  import { MonthlyYearlyRecurrence } from './monthly-yearly-recurrence/monthly-yearly-recurrence';
7
- import { HOURS_MULTISELECT_TOOLTIP, MINUTES_DURING_TOOLTIP, RECURRENCE_TOOLTIP, } from './scheduler-cron-builder.tooltips';
7
+ import { HOURS_MULTISELECT_TOOLTIP, HOURLY_MODE_TOOLTIP, MINUTES_DURING_TOOLTIP, RECURRENCE_TOOLTIP, } from './scheduler-cron-builder.tooltips';
8
8
  import { MAX_HOURS, MAX_MINS_SEC, MAX_MINUTE_RECURRENCE, RecurrenceType } from './types';
9
9
  import { WeeklyRecurrence } from './weekly-recurrence/weekly-recurrence';
10
10
  DailyRecurrence;
11
11
  WeeklyRecurrence;
12
12
  MonthlyYearlyRecurrence;
13
- const dailyTemplate = (prefix) => html `
13
+ const dailyTemplate = (prefix, model) => html `
14
14
  <daily-recurrence
15
15
  :prefix=${() => prefix}
16
- :config=${(x) => x.cronConfig}
17
- ?disable-tooltips=${(x) => x.disableTooltips}
16
+ :config=${() => model.cronConfig}
17
+ ?disable-tooltips=${() => model.disableTooltips}
18
18
  ></daily-recurrence>
19
19
  `;
20
- const weeklyTemplate = (prefix) => html `
20
+ const weeklyTemplate = (prefix, model) => html `
21
21
  <weekly-recurrence
22
22
  :prefix=${() => prefix}
23
- :config=${(x) => x.cronConfig}
24
- ?disable-tooltips=${(x) => x.disableTooltips}
23
+ :config=${() => model.cronConfig}
24
+ ?disable-tooltips=${() => model.disableTooltips}
25
25
  ></weekly-recurrence>
26
26
  `;
27
- const monthlyOrYearlyTemplate = (prefix) => html `
27
+ const monthlyOrYearlyTemplate = (prefix, model) => html `
28
28
  <monthly-yearly-recurrence
29
29
  :prefix=${() => prefix}
30
- :config=${(x) => x.cronConfig}
30
+ :config=${() => model.cronConfig}
31
31
  ></monthly-yearly-recurrence>
32
32
  `;
33
+ const partialFrequencySelect = (prefix, model, label) => html `
34
+ <div class="input-container">
35
+ ${when(() => label, html `
36
+ <label class="label">${label}</label>
37
+ `)}
38
+ <${prefix}-select
39
+ class="frequency-select"
40
+ ?disabled=${() => model.isDailyFrequencyDisabled}
41
+ data-test-id="frequency-dropdown"
42
+ :value=${sync(() => model.frequency)}
43
+ @change="${() => model.handleChange('frequency')}"
44
+ >
45
+ ${repeat(() => model.frequencyList, html `
46
+ <${prefix}-option value="${(x) => x}"> ${(x) => x} </${prefix}-option>
47
+ `)}
48
+ <div slot="end" class="suffix-label">${() => model.frequencySuffix}</div>
49
+ </${prefix}-select>
50
+ </div>
51
+ `;
52
+ const partialTimeSelect = (prefix, model, showHours, showMinutes) => html `
53
+ <div class="input-container">
54
+ <label class="label">Time </label>
55
+ <div class="flex-row">
56
+ ${when(() => showHours, html `
57
+ <${prefix}-select class="time-select" data-test-id="hours-dropdown" :value=${sync(() => model.hours)} @change="${() => model.handleChange('hours')}" >
58
+ ${repeat(() => Array.from({ length: MAX_HOURS }, (_, i) => i), html `
59
+ <${prefix}-option value="${(x) => x}"> ${(x) => x} </${prefix}-option>
60
+ `)}
61
+ <div slot="end" class="suffix-label">hr</div>
62
+ </${prefix}-select>`)}
63
+ ${when(() => showMinutes, html `
64
+ <${prefix}-select class="time-select" data-test-id="mins-dropdown" :value=${sync(() => model.minutes)} @change="${() => model.handleChange('minutes')}" >
65
+ ${repeat(() => Array.from({ length: MAX_MINS_SEC }, (_, i) => i), html `
66
+ <${prefix}-option value="${(x) => x}"> ${(x) => x} </${prefix}-option>
67
+ `)}
68
+ <div slot="end" class="suffix-label">min</div>
69
+ </${prefix}-select>`)}
70
+ <${prefix}-select class="time-select" data-test-id="seconds-dropdown" :value=${sync(() => model.seconds)} @change="${() => model.handleChange('seconds')}" >
71
+ ${repeat(() => Array.from({ length: MAX_MINS_SEC }, (_, i) => i), html `
72
+ <${prefix}-option value="${(x) => x}"> ${(x) => x} </${prefix}-option>
73
+ `)}
74
+ <div slot="end" class="suffix-label">sec</div>
75
+ </${prefix}-select>
76
+ </div>
77
+ </div>
78
+ `;
79
+ const recurrenceTemplateSwitcher = (recurrence, prefix, model) => {
80
+ switch (recurrence) {
81
+ case RecurrenceType.MINUTES:
82
+ return html `
83
+ <div class="minutes-options-row">
84
+ <div class="input-container">
85
+ <label class="label"
86
+ >During
87
+ ${() => !model.disableTooltips ? tooltip(MINUTES_DURING_TOOLTIP, prefix) : ''}</label
88
+ >
89
+ <${prefix}-select
90
+ data-test-id="during-select"
91
+ :value=${sync(() => model.during)}
92
+ @change="${() => model.handleDuringChange()}"
93
+ >
94
+ ${repeat(() => model.duringOptions, html `
95
+ <${prefix}-option
96
+ value="${(x) => x.value}"
97
+ ?selected=${(x) => model.during === x.value}
98
+ >
99
+ ${(x) => x.label}
100
+ </${prefix}-option>
101
+ `)}
102
+ </${prefix}-select>
103
+ </div>
104
+ ${when(() => model.isSpecificHours, html `
105
+ <div class="input-container">
106
+ <label class="label"
107
+ >Hours ${tooltip(HOURS_MULTISELECT_TOOLTIP, prefix)}</label
108
+ >
109
+ <${prefix}-multiselect
110
+ class="time-select"
111
+ data-test-id="hours-multiselect"
112
+ name="Hours"
113
+ :options=${() => model.hourOptions}
114
+ :selectedOptions=${() => model.selectedHours}
115
+ @selectionChange="${(x, c) => model.handleHoursChange(c.event)}"
116
+ :all=${() => false}
117
+ ></${prefix}-multiselect>
118
+ </div>
119
+ `)}
120
+ </div>
121
+ <div class="row">
122
+ ${partialFrequencySelect(prefix, model, 'Every')}
123
+ ${partialTimeSelect(prefix, model, false, false)}
124
+ </div>
125
+ `;
126
+ case RecurrenceType.HOURLY:
127
+ return html `
128
+ <div class="row">
129
+ <div class="input-container">
130
+ <label class="label"
131
+ >Mode
132
+ ${() => (!model.disableTooltips ? tooltip(HOURLY_MODE_TOOLTIP, prefix) : '')}</label
133
+ >
134
+ <${prefix}-select
135
+ data-test-id="hourly-during-select"
136
+ :value=${sync(() => model.during)}
137
+ @change="${() => model.handleDuringChange()}"
138
+ >
139
+ <${prefix}-option value="every_hour">Interval</${prefix}-option>
140
+ <${prefix}-option value="specific_hours">Selected Hours</${prefix}-option>
141
+ </${prefix}-select>
142
+ </div>
143
+ ${when(() => model.during === 'every_hour', partialFrequencySelect(prefix, model, 'Every'))}
144
+ ${when(() => model.isSpecificHours, html `
145
+ <div class="break"></div>
146
+ <div class="input-container">
147
+ <label class="label">
148
+ Hours ${tooltip(HOURS_MULTISELECT_TOOLTIP, prefix)}
149
+ </label>
150
+ <${prefix}-multiselect
151
+ class="time-select"
152
+ data-test-id="hours-multiselect"
153
+ name="Hours"
154
+ :options=${() => model.hourOptions}
155
+ :selectedOptions=${() => model.selectedHours}
156
+ @selectionChange="${(x, c) => model.handleHoursChange(c.event)}"
157
+ ></${prefix}-multiselect>
158
+ </div>
159
+ `)}
160
+ ${partialTimeSelect(prefix, model, false, true)}
161
+ </div>
162
+ `;
163
+ case RecurrenceType.DAILY:
164
+ return html `
165
+ ${dailyTemplate(prefix, model)}
166
+ <div class="row">
167
+ ${partialFrequencySelect(prefix, model, 'Every')}
168
+ ${partialTimeSelect(prefix, model, true, true)}
169
+ </div>
170
+ `;
171
+ case RecurrenceType.WEEKLY:
172
+ return html `
173
+ <div class="row">
174
+ ${weeklyTemplate(prefix, model)} ${partialTimeSelect(prefix, model, true, true)}
175
+ </div>
176
+ `;
177
+ case RecurrenceType.MONTHLY:
178
+ return html `
179
+ <div class="row">
180
+ ${partialFrequencySelect(prefix, model, 'Every')}
181
+ ${partialTimeSelect(prefix, model, true, true)}
182
+ </div>
183
+ ${monthlyOrYearlyTemplate(prefix, model)}
184
+ `;
185
+ case RecurrenceType.YEARLY:
186
+ return html `
187
+ <div class="row">${partialTimeSelect(prefix, model, true, true)}</div>
188
+ ${monthlyOrYearlyTemplate(prefix, model)}
189
+ `;
190
+ default:
191
+ return html ``;
192
+ }
193
+ };
33
194
  export const getPrefixedCronBuilder = (prefix) => html `
34
195
  <template>
35
196
  <div class="container">
36
197
  <div class="input-container">
37
- <label class="label">Recurrence
198
+ <label class="label"
199
+ >Recurrence
38
200
  ${when((x) => !x.disableTooltips, html `
39
201
  ${(x) => tooltip(RECURRENCE_TOOLTIP(!x.minMinuteInterval || x.minMinuteInterval < MAX_MINUTE_RECURRENCE), prefix)}
40
202
  `)}
@@ -67,117 +229,10 @@ export const getPrefixedCronBuilder = (prefix) => html `
67
229
  </${prefix}-select>
68
230
  </div>
69
231
 
70
- ${when((x) => x.recurrence === RecurrenceType.DAILY, dailyTemplate(prefix))}
71
-
72
- <div class="row">
73
- ${repeat(
74
- // using a repeat with recycle false here forces FAST to dispose of the select options,
75
- // so they're not appended to the options when switching between the recurrence types
76
- (x) => x.recurrence !== RecurrenceType.WEEKLY && x.recurrence !== RecurrenceType.YEARLY
77
- ? [x.recurrence]
78
- : [], html `
79
- <div class="input-container">
80
- <label class="label">
81
- ${(x, c) => x === RecurrenceType.HOURLY
82
- ? html `
83
- Hours ${tooltip(HOURS_MULTISELECT_TOOLTIP, prefix)}
84
- `
85
- : `Frequency in ${c.parent.frequencySuffix}`}
86
- </label>
87
- ${when((x) => x === RecurrenceType.HOURLY, html `
88
- <${prefix}-multiselect
89
- class="time-select"
90
- data-test-id="hours-multiselect"
91
- name="Hours"
92
- :options=${(_, c) => c.parent.hourOptions}
93
- :selectedOptions=${(_, c) => c.parent.selectedHours}
94
- @selectionChange="${(_, c) => c.parent.handleHoursChange(c.event)}"
95
- ></${prefix}-multiselect>
96
- `)}
97
- ${when((x) => x !== RecurrenceType.HOURLY, html `
98
- <${prefix}-select class="frequency-select" ?disabled=${(_, c) => c.parent.isDailyFrequencyDisabled} data-test-id="frequency-dropdown" :value=${sync((_, c) => c.parent.frequency)} @change="${(_, c) => c.parent.handleChange('frequency')}" >
99
- ${repeat((_, c) => c.parent.frequencyList, html `
100
- <${prefix}-option value="${(x) => x}">
101
- ${(x) => x}
102
- </${prefix}-option>
103
- `)}
104
- <div slot="end" class="suffix-label">${(_, c) => c.parent.frequencySuffix}</div>
105
- </${prefix}-select>
106
- `)}
107
- </div>
232
+ ${repeat((x) => [`${x.recurrence}-${x.during}`], html `
233
+ ${(_, c) => recurrenceTemplateSwitcher(c.parent.recurrence, prefix, c.parent)}
108
234
  `, { recycle: false })}
109
- <div class="input-container">
110
- <label class="label">Time </label>
111
- <div class="flex-row">
112
- ${when((x) => x.recurrence !== RecurrenceType.HOURLY && x.recurrence !== RecurrenceType.MINUTES, html `
113
- <${prefix}-select class="time-select" data-test-id="hours-dropdown" :value=${sync((x) => x.hours)} @change="${(x) => x.handleChange('hours')}" >
114
- ${repeat(() => Array.from({ length: MAX_HOURS }, (_, i) => i), html `
115
- <${prefix}-option value="${(x) => x}">
116
- ${(x) => x}
117
- </${prefix}-option>
118
- `)}
119
- <div slot="end" class="suffix-label">hr</div>
120
- </${prefix}-select>`)}
121
- ${when((x) => x.recurrence !== RecurrenceType.MINUTES, html `
122
- <${prefix}-select class="time-select" data-test-id="mins-dropdown" :value=${sync((x) => x.minutes)} @change="${(x) => x.handleChange('minutes')}" >
123
- ${repeat(() => Array.from({ length: MAX_MINS_SEC }, (_, i) => i), html `
124
- <${prefix}-option value="${(x) => x}">
125
- ${(x) => x}
126
- </${prefix}-option>
127
- `)}
128
- <div slot="end" class="suffix-label">min</div>
129
- </${prefix}-select>`)}
130
- <${prefix}-select class="time-select" data-test-id="seconds-dropdown" :value=${sync((x) => x.seconds)} @change="${(x) => x.handleChange('seconds')}" >
131
- ${repeat(() => Array.from({ length: MAX_MINS_SEC }, (_, i) => i), html `
132
- <${prefix}-option value="${(x) => x}">
133
- ${(x) => x}
134
- </${prefix}-option>
135
- `)}
136
- <div slot="end" class="suffix-label">sec</div>
137
- </${prefix}-select>
138
- </div>
139
- </div>
140
- ${repeat(
141
- // Same trick as earlier
142
- (x) => (x.recurrence === RecurrenceType.MINUTES ? [x.recurrence] : []), html `
143
- <div class="minutes-options-row">
144
- <div class="input-container">
145
- <label class="label">During ${(_, c) => (!c.parent.disableTooltips ? tooltip(MINUTES_DURING_TOOLTIP, prefix) : '')}</label>
146
- <${prefix}-select
147
- data-test-id="during-select"
148
- :value=${sync((_, c) => c.parent.during)}
149
- @change="${(_, c) => c.parent.handleDuringChange()}"
150
- >
151
- ${repeat((_, c) => c.parent.duringOptions, html `
152
- <${prefix}-option value="${(x) => x.value}" ?selected=${(x, c) => c.parentContext.parent.during === x.value}>
153
- ${(x) => x.label}
154
- </${prefix}-option>
155
- `)}
156
- </${prefix}-select>
157
- </div>
158
- ${when((_, c) => c.parent.isSpecificHours, html `
159
- <div class="input-container">
160
- <label class="label">Hours ${tooltip(HOURS_MULTISELECT_TOOLTIP, prefix)}</label>
161
- <${prefix}-multiselect
162
- class="time-select"
163
- data-test-id="hours-multiselect"
164
- name="Hours"
165
- :options=${(_, c) => c.parent.hourOptions}
166
- :selectedOptions=${(_, c) => c.parent.selectedHours}
167
- @selectionChange="${(_, c) => c.parent.handleHoursChange(c.event)}"
168
- :all=${() => false}
169
- ></${prefix}-multiselect>
170
- </div>
171
- `)}
172
- </div>
173
- `, { recycle: false })}
174
- </div>
175
-
176
- ${when((x) => x.recurrence === RecurrenceType.WEEKLY, weeklyTemplate(prefix))}
177
- ${when((x) => x.recurrence === RecurrenceType.MONTHLY || x.recurrence === RecurrenceType.YEARLY, monthlyOrYearlyTemplate(prefix))}
178
-
179
235
  </div>
180
-
181
236
  </template>
182
237
  `;
183
238
  export const foundationSchedulerCronBuilderTemplate = html `
@@ -16,6 +16,13 @@ export const MINUTES_DURING_TOOLTIP = `
16
16
  <li><strong>Specific hours:</strong> specify which hours the minute schedule runs for. For example, just trading hours. Selecting every hour will configure the schedule as <strong>Every hour</strong>.</li>
17
17
  </ul>
18
18
  `;
19
+ export const HOURLY_MODE_TOOLTIP = `
20
+ <p>Select the type of hourly recurrence:</p>
21
+ <ul>
22
+ <li><strong>Interval:</strong> runs at a repeating interval of hours (e.g. every 2 hours).</li>
23
+ <li><strong>Selected Hours:</strong> allows you to choose specific hours of the day (e.g. 9, 10, and 14).</li>
24
+ </ul>
25
+ `;
19
26
  export const DAILY_OF_TOOLTIP = `
20
27
  <p>Controls the daily frequency:</p>
21
28
  <ul>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-ui",
3
3
  "description": "Genesis Foundation UI",
4
- "version": "14.383.1",
4
+ "version": "14.384.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -83,13 +83,13 @@
83
83
  }
84
84
  },
85
85
  "devDependencies": {
86
- "@genesislcap/foundation-testing": "14.383.1",
87
- "@genesislcap/genx": "14.383.1",
88
- "@genesislcap/rollup-builder": "14.383.1",
89
- "@genesislcap/ts-builder": "14.383.1",
90
- "@genesislcap/uvu-playwright-builder": "14.383.1",
91
- "@genesislcap/vite-builder": "14.383.1",
92
- "@genesislcap/webpack-builder": "14.383.1",
86
+ "@genesislcap/foundation-testing": "14.384.0",
87
+ "@genesislcap/genx": "14.384.0",
88
+ "@genesislcap/rollup-builder": "14.384.0",
89
+ "@genesislcap/ts-builder": "14.384.0",
90
+ "@genesislcap/uvu-playwright-builder": "14.384.0",
91
+ "@genesislcap/vite-builder": "14.384.0",
92
+ "@genesislcap/webpack-builder": "14.384.0",
93
93
  "copyfiles": "^2.4.1"
94
94
  },
95
95
  "dependencies": {
@@ -98,15 +98,15 @@
98
98
  "@fortawesome/free-regular-svg-icons": "^6.2.1",
99
99
  "@fortawesome/free-solid-svg-icons": "^6.2.1",
100
100
  "@genesiscommunitysuccess/analyzer-import-alias-plugin": "^5.0.3",
101
- "@genesislcap/expression-builder": "14.383.1",
102
- "@genesislcap/foundation-comms": "14.383.1",
103
- "@genesislcap/foundation-criteria": "14.383.1",
104
- "@genesislcap/foundation-errors": "14.383.1",
105
- "@genesislcap/foundation-events": "14.383.1",
106
- "@genesislcap/foundation-logger": "14.383.1",
107
- "@genesislcap/foundation-notifications": "14.383.1",
108
- "@genesislcap/foundation-user": "14.383.1",
109
- "@genesislcap/foundation-utils": "14.383.1",
101
+ "@genesislcap/expression-builder": "14.384.0",
102
+ "@genesislcap/foundation-comms": "14.384.0",
103
+ "@genesislcap/foundation-criteria": "14.384.0",
104
+ "@genesislcap/foundation-errors": "14.384.0",
105
+ "@genesislcap/foundation-events": "14.384.0",
106
+ "@genesislcap/foundation-logger": "14.384.0",
107
+ "@genesislcap/foundation-notifications": "14.384.0",
108
+ "@genesislcap/foundation-user": "14.384.0",
109
+ "@genesislcap/foundation-utils": "14.384.0",
110
110
  "@microsoft/fast-colors": "5.3.1",
111
111
  "@microsoft/fast-components": "2.30.6",
112
112
  "@microsoft/fast-element": "1.14.0",
@@ -128,5 +128,5 @@
128
128
  "access": "public"
129
129
  },
130
130
  "customElements": "dist/custom-elements.json",
131
- "gitHead": "acb9cb25f94b70acefdbf23fb34449e0d1c47e6b"
131
+ "gitHead": "694c91c06a80aecb828db5fa2627379c5b29a033"
132
132
  }