@triptease/design-system-mcp 1.2.11 → 1.2.12

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 (2) hide show
  1. package/dist/index.js +117 -16
  2. package/package.json +4 -3
package/dist/index.js CHANGED
@@ -7656,11 +7656,11 @@ function datetimeRegex(args) {
7656
7656
  regex = `${regex}(${opts.join("|")})`;
7657
7657
  return new RegExp(`^${regex}$`);
7658
7658
  }
7659
- function isValidIP(ip, version9) {
7660
- if ((version9 === "v4" || !version9) && ipv4Regex.test(ip)) {
7659
+ function isValidIP(ip, version10) {
7660
+ if ((version10 === "v4" || !version10) && ipv4Regex.test(ip)) {
7661
7661
  return true;
7662
7662
  }
7663
- if ((version9 === "v6" || !version9) && ipv6Regex.test(ip)) {
7663
+ if ((version10 === "v6" || !version10) && ipv6Regex.test(ip)) {
7664
7664
  return true;
7665
7665
  }
7666
7666
  return false;
@@ -7687,11 +7687,11 @@ function isValidJWT(jwt2, alg) {
7687
7687
  return false;
7688
7688
  }
7689
7689
  }
7690
- function isValidCidr(ip, version9) {
7691
- if ((version9 === "v4" || !version9) && ipv4CidrRegex.test(ip)) {
7690
+ function isValidCidr(ip, version10) {
7691
+ if ((version10 === "v4" || !version10) && ipv4CidrRegex.test(ip)) {
7692
7692
  return true;
7693
7693
  }
7694
- if ((version9 === "v6" || !version9) && ipv6CidrRegex.test(ip)) {
7694
+ if ((version10 === "v6" || !version10) && ipv6CidrRegex.test(ip)) {
7695
7695
  return true;
7696
7696
  }
7697
7697
  return false;
@@ -11644,10 +11644,10 @@ var nanoid = /^[a-zA-Z0-9_-]{21}$/;
11644
11644
  var duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;
11645
11645
  var extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
11646
11646
  var guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
11647
- var uuid = (version9) => {
11648
- if (!version9)
11647
+ var uuid = (version10) => {
11648
+ if (!version10)
11649
11649
  return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
11650
- return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version9}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
11650
+ return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version10}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
11651
11651
  };
11652
11652
  var uuid4 = /* @__PURE__ */ uuid(4);
11653
11653
  var uuid6 = /* @__PURE__ */ uuid(6);
@@ -23302,7 +23302,7 @@ var StdioServerTransport = class {
23302
23302
  // package.json
23303
23303
  var package_default = {
23304
23304
  name: "@triptease/design-system-mcp",
23305
- version: "1.2.11",
23305
+ version: "1.2.12",
23306
23306
  description: "MCP server for Triptease design system documentation",
23307
23307
  type: "module",
23308
23308
  main: "dist/index.js",
@@ -23323,7 +23323,7 @@ var package_default = {
23323
23323
  node: ">=18.0.0"
23324
23324
  },
23325
23325
  componentVersions: {
23326
- "@triptease/stylesheet": "2.1.4",
23326
+ "@triptease/stylesheet": "2.1.9",
23327
23327
  "@triptease/tt-bar-chart": "1.1.3",
23328
23328
  "@triptease/tt-combobox": "5.7.4",
23329
23329
  "@triptease/tt-data-point": "1.1.1",
@@ -23337,10 +23337,11 @@ var package_default = {
23337
23337
  "@triptease/tt-paginator": "1.0.7",
23338
23338
  "@triptease/tt-table-wrapper": "1.0.6",
23339
23339
  "@triptease/tt-tabs": "1.1.0",
23340
+ "@triptease/tt-repeat-date-picker": "1.0.0",
23340
23341
  "@triptease/tt-weekday-picker": "1.0.1"
23341
23342
  },
23342
23343
  dependencies: {
23343
- "@triptease/stylesheet": "2.1.8"
23344
+ "@triptease/stylesheet": "2.1.9"
23344
23345
  },
23345
23346
  devDependencies: {
23346
23347
  "@modelcontextprotocol/sdk": "1.26.0",
@@ -24016,10 +24017,10 @@ var card_default = {
24016
24017
  };
24017
24018
 
24018
24019
  // src/utils/buildCDNUrls.ts
24019
- var buildCDNUrl = (componentName, version9) => {
24020
- return `https://cdn.design-system.triptease.io/${componentName}/${version9}/${componentName}.js`;
24020
+ var buildCDNUrl = (componentName, version10) => {
24021
+ return `https://cdn.design-system.triptease.io/${componentName}/${version10}/${componentName}.js`;
24021
24022
  };
24022
- var buildMajorVersion = (version9) => `${version9.split(".")[0]}.x.x`;
24023
+ var buildMajorVersion = (version10) => `${version10.split(".")[0]}.x.x`;
24023
24024
 
24024
24025
  // src/manifests/components/entries/table.ts
24025
24026
  var tableWrapperVersion = package_default.componentVersions["@triptease/tt-table-wrapper"];
@@ -25635,6 +25636,105 @@ var weekdayPicker_default = {
25635
25636
  }
25636
25637
  };
25637
25638
 
25639
+ // src/manifests/components/entries/repeatDatePicker.ts
25640
+ var version9 = package_default.componentVersions["@triptease/tt-repeat-date-picker"];
25641
+ var repeatDatePicker_default = {
25642
+ "repeat-date-picker": {
25643
+ name: "Repeat Date Picker",
25644
+ description: "A repeat date picker lets users define a date range and optionally schedule it to repeat on a regular basis. The form value is a JSON-encoded { dates, infinite } object. infinite is true only when repeat is on with no defined end condition; it is false when repeat is off or a finite list of occurrences has been set.",
25645
+ ssrSafe: true,
25646
+ element: "tt-repeat-date-picker",
25647
+ usageGuidance: {
25648
+ whenToUse: [
25649
+ "A user needs to schedule a recurring campaign, promotion, or event across multiple date ranges",
25650
+ "A booking offer or rate plan applies to several periods that follow a predictable pattern"
25651
+ ],
25652
+ avoid: [
25653
+ "A single, one-off date range is needed \u2014 use the Date Range Picker instead",
25654
+ "Only a single date (not a range) is needed \u2014 use the Date Picker instead"
25655
+ ],
25656
+ accessibility: [
25657
+ 'Always associate a visible label using a <label for="..."> element \u2014 the component does not render its own label',
25658
+ "The repeat option groups are wrapped in fieldset and legend elements, which screen readers announce as named groups"
25659
+ ]
25660
+ },
25661
+ installationOptions: {
25662
+ npm: [{ name: "@triptease/tt-repeat-date-picker", includesTypes: true, optional: false }],
25663
+ cdn: [
25664
+ {
25665
+ name: "@triptease/tt-repeat-date-picker",
25666
+ includesTypes: false,
25667
+ optional: false,
25668
+ moduleFormat: "esm",
25669
+ latestVersionUrl: buildCDNUrl("tt-repeat-date-picker", "latest"),
25670
+ pinnedMajorVersionUrl: buildCDNUrl("tt-repeat-date-picker", buildMajorVersion(version9)),
25671
+ pinnedVersionUrl: buildCDNUrl("tt-repeat-date-picker", version9),
25672
+ guidance: "Prefer pinned major version URL to avoid unexpected breaking changes. Do not use latest version URL in production code."
25673
+ }
25674
+ ]
25675
+ },
25676
+ attributes: {
25677
+ name: { type: "string", description: "Form field name used in form data submission" },
25678
+ mindate: { type: "string", description: "Earliest selectable date in YYYY-MM-DD format. Passed through to the internal date range picker." },
25679
+ maxdate: { type: "string", description: "Latest selectable date in YYYY-MM-DD format. Passed through to the internal date range picker." },
25680
+ required: {
25681
+ type: "boolean",
25682
+ description: "Marks the field as required. Reports valueMissing when no date range has been selected"
25683
+ },
25684
+ disabled: { type: "boolean", description: "Disables the date range picker and the repeat checkbox" }
25685
+ },
25686
+ events: {
25687
+ change: {
25688
+ description: "Fired whenever the selected range, repeat settings, or end condition changes. Read the value property to get the updated { dates, infinite } object.",
25689
+ bubbles: true
25690
+ }
25691
+ },
25692
+ examples: [
25693
+ {
25694
+ title: "Basic usage",
25695
+ code: `<label for="promo-dates">Promotional period</label>
25696
+ <tt-repeat-date-picker id="promo-dates" name="repeat-dates"></tt-repeat-date-picker>`
25697
+ },
25698
+ {
25699
+ title: "Date constraints",
25700
+ description: "Use mindate and maxdate to restrict which dates the user can select. Set mindate when the range cannot start before a certain date \u2014 for example, today for a future-only promotion. Set maxdate when the range must end before a certain date \u2014 for example, the end of a campaign window.",
25701
+ code: `<label for="promo-dates">Promotional period</label>
25702
+ <tt-repeat-date-picker id="promo-dates" name="repeat-dates" mindate="2026-01-01" maxdate="2026-12-31"></tt-repeat-date-picker>`
25703
+ },
25704
+ {
25705
+ title: "Disabled",
25706
+ description: "Use the disabled state when scheduling is temporarily unavailable. If scheduling will never be available to this user, consider hiding the component entirely rather than disabling it.",
25707
+ code: `<label for="promo-dates">Promotional period</label>
25708
+ <tt-repeat-date-picker id="promo-dates" name="repeat-dates" disabled></tt-repeat-date-picker>`
25709
+ },
25710
+ {
25711
+ title: "Required",
25712
+ description: "Use required when a schedule must be provided before the form can be submitted. Like a native required input, the component sets a browser validation message, but this produces a disruptive tooltip. Always provide a visible inline error message instead and associate it using aria-describedby.",
25713
+ code: `<form id="required-form" novalidate>
25714
+ <label for="promo-dates">Promotional period</label>
25715
+ <tt-repeat-date-picker id="promo-dates" name="repeat-dates" required aria-describedby="repeat-dates-error"></tt-repeat-date-picker>
25716
+ <span id="repeat-dates-error" hidden>Please select a date range</span>
25717
+ <button type="submit">Submit</button>
25718
+ </form>
25719
+
25720
+ <script>
25721
+ document.getElementById('required-form').addEventListener('submit', (e) => {
25722
+ e.preventDefault();
25723
+ const errorEl = document.getElementById('repeat-dates-error');
25724
+ if (!e.currentTarget.checkValidity()) {
25725
+ errorEl.hidden = false;
25726
+ return;
25727
+ }
25728
+ errorEl.hidden = true;
25729
+ const value = JSON.parse(new FormData(e.currentTarget).get('repeat-dates'));
25730
+ console.log(value); // { dates: [...], infinite: false }
25731
+ });
25732
+ </script>`
25733
+ }
25734
+ ]
25735
+ }
25736
+ };
25737
+
25638
25738
  // src/manifests/components/index.ts
25639
25739
  var componentManifest = {
25640
25740
  ...button_default,
@@ -25659,7 +25759,8 @@ var componentManifest = {
25659
25759
  ...banner_default,
25660
25760
  ...tabs_default,
25661
25761
  ...paginator_default,
25662
- ...weekdayPicker_default
25762
+ ...weekdayPicker_default,
25763
+ ...repeatDatePicker_default
25663
25764
  };
25664
25765
 
25665
25766
  // src/resources/components/list.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triptease/design-system-mcp",
3
- "version": "1.2.11",
3
+ "version": "1.2.12",
4
4
  "description": "MCP server for Triptease design system documentation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,7 +21,7 @@
21
21
  "node": ">=18.0.0"
22
22
  },
23
23
  "componentVersions": {
24
- "@triptease/stylesheet": "2.1.4",
24
+ "@triptease/stylesheet": "2.1.9",
25
25
  "@triptease/tt-bar-chart": "1.1.3",
26
26
  "@triptease/tt-combobox": "5.7.4",
27
27
  "@triptease/tt-data-point": "1.1.1",
@@ -35,10 +35,11 @@
35
35
  "@triptease/tt-paginator": "1.0.7",
36
36
  "@triptease/tt-table-wrapper": "1.0.6",
37
37
  "@triptease/tt-tabs": "1.1.0",
38
+ "@triptease/tt-repeat-date-picker": "1.0.0",
38
39
  "@triptease/tt-weekday-picker": "1.0.1"
39
40
  },
40
41
  "dependencies": {
41
- "@triptease/stylesheet": "2.1.8"
42
+ "@triptease/stylesheet": "2.1.9"
42
43
  },
43
44
  "devDependencies": {
44
45
  "@modelcontextprotocol/sdk": "1.26.0",