@planningcenter/tapestry 3.0.0-rc.8 → 3.0.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.
Files changed (149) hide show
  1. package/dist/components/Banner/Banner.js +1 -1
  2. package/dist/components/button/BaseButton.d.ts +1 -1
  3. package/dist/components/button/BaseButton.d.ts.map +1 -1
  4. package/dist/components/button/BaseButton.js +5 -4
  5. package/dist/components/button/BaseButton.js.map +1 -1
  6. package/dist/components/button/DropdownButton.d.ts +1 -0
  7. package/dist/components/button/DropdownButton.d.ts.map +1 -1
  8. package/dist/components/button/DropdownButton.js.map +1 -1
  9. package/dist/components/button/IconButton.js +1 -1
  10. package/dist/components/button/IconButton.js.map +1 -1
  11. package/dist/components/button/PageHeaderActionsDropdownButton.d.ts +1 -0
  12. package/dist/components/button/PageHeaderActionsDropdownButton.d.ts.map +1 -1
  13. package/dist/components/button/PageHeaderActionsDropdownButton.js +1 -1
  14. package/dist/components/button/PageHeaderActionsDropdownButton.js.map +1 -1
  15. package/dist/components/button/index.d.ts +5 -0
  16. package/dist/components/button/index.d.ts.map +1 -1
  17. package/dist/components/checkbox/Checkbox.d.ts +27 -7
  18. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  19. package/dist/components/checkbox/Checkbox.js +19 -16
  20. package/dist/components/checkbox/Checkbox.js.map +1 -1
  21. package/dist/components/checkbox/index.d.ts +1 -1
  22. package/dist/components/checkbox/index.d.ts.map +1 -1
  23. package/dist/components/input/Input.d.ts +44 -0
  24. package/dist/components/input/Input.d.ts.map +1 -0
  25. package/dist/components/input/Input.js +44 -0
  26. package/dist/components/input/Input.js.map +1 -0
  27. package/dist/components/input/index.d.ts +4 -0
  28. package/dist/components/input/index.d.ts.map +1 -0
  29. package/dist/components/internal/index.d.ts.map +1 -1
  30. package/dist/components/link/BaseLink.d.ts +1 -1
  31. package/dist/components/link/BaseLink.d.ts.map +1 -1
  32. package/dist/components/link/BaseLink.js +6 -6
  33. package/dist/components/link/BaseLink.js.map +1 -1
  34. package/dist/components/link/index.d.ts +2 -0
  35. package/dist/components/link/index.d.ts.map +1 -1
  36. package/dist/components/page-header/PageHeader.d.ts.map +1 -1
  37. package/dist/components/page-header/PageHeader.js +39 -7
  38. package/dist/components/page-header/PageHeader.js.map +1 -1
  39. package/dist/components/page-header/index.js +1 -1
  40. package/dist/components/radio/Radio.d.ts +42 -0
  41. package/dist/components/radio/Radio.d.ts.map +1 -0
  42. package/dist/components/radio/Radio.js +32 -0
  43. package/dist/components/radio/Radio.js.map +1 -0
  44. package/dist/components/radio/index.d.ts +4 -0
  45. package/dist/components/radio/index.d.ts.map +1 -0
  46. package/dist/components/radio-group/RadioGroup.d.ts +23 -0
  47. package/dist/components/radio-group/RadioGroup.d.ts.map +1 -0
  48. package/dist/components/radio-group/RadioGroup.js +29 -0
  49. package/dist/components/radio-group/RadioGroup.js.map +1 -0
  50. package/dist/components/radio-group/index.d.ts +4 -0
  51. package/dist/components/radio-group/index.d.ts.map +1 -0
  52. package/dist/components/sidenav/index.js +1 -1
  53. package/dist/components/textarea/TextArea.d.ts +38 -0
  54. package/dist/components/textarea/TextArea.d.ts.map +1 -0
  55. package/dist/components/textarea/TextArea.js +27 -0
  56. package/dist/components/textarea/TextArea.js.map +1 -0
  57. package/dist/components/textarea/index.d.ts +4 -0
  58. package/dist/components/textarea/index.d.ts.map +1 -0
  59. package/dist/components/toggle-switch/ToggleSwitch.d.ts +50 -0
  60. package/dist/components/toggle-switch/ToggleSwitch.d.ts.map +1 -0
  61. package/dist/components/toggle-switch/ToggleSwitch.js +31 -0
  62. package/dist/components/toggle-switch/ToggleSwitch.js.map +1 -0
  63. package/dist/components/toggle-switch/index.d.ts +4 -0
  64. package/dist/components/toggle-switch/index.d.ts.map +1 -0
  65. package/dist/index.css +704 -221
  66. package/dist/index.css.map +1 -1
  67. package/dist/index.d.ts +6 -12
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +4 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/jsTokens.d.ts +1 -1
  72. package/dist/jsTokens.d.ts.map +1 -1
  73. package/dist/jsTokens.js +1 -1
  74. package/dist/jsTokens.js.map +1 -1
  75. package/dist/print-no-media-queries.css +2 -2
  76. package/dist/print.css +2 -2
  77. package/dist/reactRender.css +2483 -1796
  78. package/dist/reactRender.css.map +1 -1
  79. package/dist/reactRenderLegacy.css +2483 -1796
  80. package/dist/reactRenderLegacy.css.map +1 -1
  81. package/dist/tapestry-render/dist/{buildComponent-D0S78fIn.js → buildComponent-Dr2UOgFa.js} +20 -20
  82. package/dist/tapestry-render/dist/{buildComponent-D0S78fIn.js.map → buildComponent-Dr2UOgFa.js.map} +1 -1
  83. package/dist/tapestry-render/dist/index.js +1 -1
  84. package/dist/tapestry-render/dist/index.js.map +1 -1
  85. package/dist/tapestry-render/dist/legacy.js +6 -6
  86. package/dist/tapestry-render/dist/legacy.js.map +1 -1
  87. package/dist/tapestry-reset.css +186 -0
  88. package/dist/tapestry-reset.css.map +1 -0
  89. package/dist/tapestry-reset.js +3 -0
  90. package/dist/tapestry-wc/dist/components/{p-5-Cvrlgk.js → p-BF5btZ2U.js} +2 -2
  91. package/dist/tapestry-wc/dist/components/{p-5-Cvrlgk.js.map → p-BF5btZ2U.js.map} +1 -1
  92. package/dist/tapestry-wc/dist/components/{p-74Cc2nEh.js → p-BO35mzk2.js} +2 -2
  93. package/dist/tapestry-wc/dist/components/{p-74Cc2nEh.js.map → p-BO35mzk2.js.map} +1 -1
  94. package/dist/tapestry-wc/dist/components/{p-D1rzJeWl.js → p-Bdkqq_Bn.js} +3 -3
  95. package/dist/tapestry-wc/dist/components/{p-D1rzJeWl.js.map → p-Bdkqq_Bn.js.map} +1 -1
  96. package/dist/tapestry-wc/dist/components/{p-D0G2xpOq.js → p-DhuhrZb1.js} +3 -3
  97. package/dist/tapestry-wc/dist/components/{p-D0G2xpOq.js.map → p-DhuhrZb1.js.map} +1 -1
  98. package/dist/tapestry-wc/dist/components/{p-DmP02I4b.js → p-gTgcP9lI.js} +3 -3
  99. package/dist/tapestry-wc/dist/components/{p-DmP02I4b.js.map → p-gTgcP9lI.js.map} +1 -1
  100. package/dist/tapestry-wc/dist/components/tds-page-header-nav.js +2 -2
  101. package/dist/tapestry-wc/dist/components/tds-page-header-nav.js.map +1 -1
  102. package/dist/tapestry-wc/dist/components/tds-page-header.js +5 -5
  103. package/dist/tapestry-wc/dist/components/tds-page-header.js.map +1 -1
  104. package/dist/tapestry-wc/dist/components/tds-sidenav-item.js +3 -3
  105. package/dist/tapestry-wc/dist/components/tds-sidenav-item.js.map +1 -1
  106. package/dist/tapestry-wc/dist/components/tds-sidenav-responsive-header.js +2 -2
  107. package/dist/tapestry-wc/dist/components/tds-sidenav-responsive-header.js.map +1 -1
  108. package/dist/tapestry-wc/dist/components/tds-sidenav-section.js +3 -3
  109. package/dist/tapestry-wc/dist/components/tds-sidenav-section.js.map +1 -1
  110. package/dist/tapestry-wc/dist/components/tds-sidenav.js +6 -6
  111. package/dist/tapestry-wc/dist/components/tds-sidenav.js.map +1 -1
  112. package/dist/tokens/tokens-deprecated.json +13 -166
  113. package/dist/tokens-dark.css +6 -4
  114. package/dist/tokens-dark.css.map +1 -1
  115. package/dist/tokens-dark.js +2 -0
  116. package/dist/tokens-deprecated.css +4 -102
  117. package/dist/tokens-deprecated.css.map +1 -1
  118. package/dist/tokens-deprecated.js +2 -0
  119. package/dist/tokens.css +35 -17
  120. package/dist/tokens.css.map +1 -1
  121. package/dist/tokens.js +2 -0
  122. package/dist/unstable.css +1149 -462
  123. package/dist/unstable.css.map +1 -1
  124. package/dist/unstable.d.ts +3 -3
  125. package/dist/unstable.d.ts.map +1 -1
  126. package/dist/unstable.js +10 -2
  127. package/dist/unstable.js.map +1 -1
  128. package/dist/utilities/Icon.d.ts.map +1 -1
  129. package/dist/utilities/Icon.js +12 -19
  130. package/dist/utilities/Icon.js.map +1 -1
  131. package/dist/utilities/useId.d.ts +2 -0
  132. package/dist/utilities/useId.d.ts.map +1 -0
  133. package/dist/utilities/useId.js +14 -0
  134. package/dist/utilities/useId.js.map +1 -0
  135. package/package.json +23 -19
  136. package/react-types/index.d.ts +8 -8
  137. package/react-types/popover.d.ts +7 -0
  138. package/dist/tokens/ts/react-native-tokens.d.ts +0 -1765
  139. package/dist/tokens/ts/react-native-tokens.d.ts.map +0 -1
  140. package/dist/tokens/ts/react-native-tokens.js +0 -455
  141. package/dist/tokens/ts/react-native-tokens.js.map +0 -1
  142. package/dist/tokens/ts/tokens.d.ts +0 -453
  143. package/dist/tokens/ts/tokens.d.ts.map +0 -1
  144. package/dist/tokens/ts/tokens.js +0 -455
  145. package/dist/tokens/ts/tokens.js.map +0 -1
  146. package/dist/tokens-deprecated.d.ts +0 -4
  147. package/dist/tokens-deprecated.d.ts.map +0 -1
  148. package/dist/tokens.d.ts +0 -4
  149. package/dist/tokens.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/utilities/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAmB7C,iBAAS,IAAI,CAAC,EACZ,MAAM,EAAE,CAAC,EACT,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAAC,aAAa,CAAC,qBAgBpD;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/utilities/Icon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAc7C,iBAAS,IAAI,CAAC,EACZ,MAAM,EAAE,CAAC,EACT,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAAC,aAAa,CAAC,qBAiBpD;AAED,eAAe,IAAI,CAAA"}
@@ -1,29 +1,22 @@
1
- import classNames from 'classnames';
1
+ import general from '@planningcenter/icons/sprites/general.svg';
2
+ import { Symbol } from '@planningcenter/icons/symbol';
2
3
  import React from 'react';
3
4
 
4
- const icons = {
5
- general: {
6
- "check-circle": "M8,0c2.1217,0 4.1566,0.84286 5.6569,2.34315c1.5002,1.50029 2.3431,3.53512 2.3431,5.65685c0,1.58225 -0.4692,3.129 -1.3482,4.4446c-0.8791,1.3156 -2.1285,2.3409 -3.5903,2.9464c-1.46184,0.6055 -3.07037,0.764 -4.62222,0.4553c-1.55185,-0.3087 -2.97731,-1.0706 -4.09613,-2.1894c-1.11882,-1.1189 -1.88075,-2.5443 -2.18943,-4.09618c-0.30868,-1.55185 -0.15025,-3.16038 0.45525,-4.62219c0.6055,-1.46181 1.63088,-2.71124 2.94647,-3.59029c1.31559,-0.87905 2.86231,-1.34824 4.44456,-1.34824zM12.57,6.07l-1.14,-1.14l-4.43,4.44l-2.43,-2.44l-1.14,1.14l3.57,3.56z",
7
- "down-caret": "M13,6l-5,5l-5,-5z",
8
- "exclamation-triangle": "M15.7713,14.0548c0.0002,0.133 -0.0347,0.2638 -0.1011,0.3791c-0.0664,0.1153 -0.162,0.211 -0.2772,0.2776c-0.1152,0.0665 -0.246,0.1015 -0.379,0.1015h-14.02801c-0.13305,0 -0.26377,-0.035 -0.37898,-0.1015c-0.11521,-0.0666 -0.21084,-0.1623 -0.27725,-0.2776c-0.06642,-0.1153 -0.10127,-0.2461 -0.10106,-0.3791c0.00022,-0.1331 0.0355,-0.2637 0.10229,-0.3788l7.014,-12.11501c0.06631,-0.11506 0.16176,-0.21062 0.27675,-0.27707c0.11498,-0.06644 0.24544,-0.10142 0.37825,-0.10142c0.1328,0 0.26326,0.03498 0.37824,0.10142c0.11499,0.06645 0.21044,0.16201 0.27676,0.27707l7.01401,12.11501c0.0668,0.1151 0.1021,0.2457 0.1023,0.3788zM8.75699,11.028h-1.514v1.514h1.514zM8.75699,6.48499h-1.514v3.029h1.514z",
9
- "info-circle": "M8.8,4h-1.6v1.6h1.6zM8.8,7.2h-1.6v4.8h1.6zM8,0c2.1217,0 4.1566,0.84286 5.6569,2.34315c1.5002,1.50029 2.3431,3.53512 2.3431,5.65685c0,1.58225 -0.4692,3.129 -1.3482,4.4446c-0.8791,1.3156 -2.1285,2.3409 -3.5903,2.9464c-1.46184,0.6055 -3.07037,0.764 -4.62222,0.4553c-1.55185,-0.3087 -2.97731,-1.0706 -4.09613,-2.1894c-1.11882,-1.1189 -1.88075,-2.5443 -2.18943,-4.09618c-0.30868,-1.55185 -0.15025,-3.16038 0.45525,-4.62219c0.6055,-1.46181 1.63088,-2.71124 2.94647,-3.59029c1.31559,-0.87905 2.86231,-1.34824 4.44456,-1.34824z",
10
- },
5
+ // Registry of valid sprite sheet collections
6
+ // We will add the other collections here when we / if we make this more publicly available
7
+ const validCollections = {
8
+ general,
11
9
  };
12
- // ATTENTION: This is a temporary solution to load the icons.
13
- // This should use the Symbol component from @planningcenter/icons/symbol
14
- // once we have a way to load the SVGs in a way that doesn't break in
15
- // other projects.
10
+ function isValidCollection(collection) {
11
+ return collection in validCollections;
12
+ }
16
13
  function Icon({ symbol: s, className, ...props }) {
17
14
  const [collection, symbol] = s.split("#");
18
15
  if (!isValidCollection(collection)) {
19
- throw new Error(`Unknown icon collection: ${collection}`);
16
+ throw new Error(`Unknown icon collection: ${collection}. Available collections: ${Object.keys(validCollections).join(", ")}`);
20
17
  }
21
- const fullPath = icons[collection][symbol];
22
- return (React.createElement("svg", { role: "img", className: classNames("symbol", className), ...props },
23
- React.createElement("path", { d: fullPath })));
24
- }
25
- function isValidCollection(collection) {
26
- return collection in icons;
18
+ const spriteSheet = validCollections[collection];
19
+ return (React.createElement(Symbol, { symbol: `${spriteSheet}#${symbol}`, className: className, ...props }));
27
20
  }
28
21
 
29
22
  export { Icon as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sources":["../../src/utilities/Icon.tsx"],"sourcesContent":["import classNames from \"classnames\"\nimport React, { HTMLAttributes } from \"react\"\n\nconst icons = {\n general: {\n \"check-circle\":\n \"M8,0c2.1217,0 4.1566,0.84286 5.6569,2.34315c1.5002,1.50029 2.3431,3.53512 2.3431,5.65685c0,1.58225 -0.4692,3.129 -1.3482,4.4446c-0.8791,1.3156 -2.1285,2.3409 -3.5903,2.9464c-1.46184,0.6055 -3.07037,0.764 -4.62222,0.4553c-1.55185,-0.3087 -2.97731,-1.0706 -4.09613,-2.1894c-1.11882,-1.1189 -1.88075,-2.5443 -2.18943,-4.09618c-0.30868,-1.55185 -0.15025,-3.16038 0.45525,-4.62219c0.6055,-1.46181 1.63088,-2.71124 2.94647,-3.59029c1.31559,-0.87905 2.86231,-1.34824 4.44456,-1.34824zM12.57,6.07l-1.14,-1.14l-4.43,4.44l-2.43,-2.44l-1.14,1.14l3.57,3.56z\",\n \"down-caret\": \"M13,6l-5,5l-5,-5z\",\n \"exclamation-triangle\":\n \"M15.7713,14.0548c0.0002,0.133 -0.0347,0.2638 -0.1011,0.3791c-0.0664,0.1153 -0.162,0.211 -0.2772,0.2776c-0.1152,0.0665 -0.246,0.1015 -0.379,0.1015h-14.02801c-0.13305,0 -0.26377,-0.035 -0.37898,-0.1015c-0.11521,-0.0666 -0.21084,-0.1623 -0.27725,-0.2776c-0.06642,-0.1153 -0.10127,-0.2461 -0.10106,-0.3791c0.00022,-0.1331 0.0355,-0.2637 0.10229,-0.3788l7.014,-12.11501c0.06631,-0.11506 0.16176,-0.21062 0.27675,-0.27707c0.11498,-0.06644 0.24544,-0.10142 0.37825,-0.10142c0.1328,0 0.26326,0.03498 0.37824,0.10142c0.11499,0.06645 0.21044,0.16201 0.27676,0.27707l7.01401,12.11501c0.0668,0.1151 0.1021,0.2457 0.1023,0.3788zM8.75699,11.028h-1.514v1.514h1.514zM8.75699,6.48499h-1.514v3.029h1.514z\",\n \"info-circle\":\n \"M8.8,4h-1.6v1.6h1.6zM8.8,7.2h-1.6v4.8h1.6zM8,0c2.1217,0 4.1566,0.84286 5.6569,2.34315c1.5002,1.50029 2.3431,3.53512 2.3431,5.65685c0,1.58225 -0.4692,3.129 -1.3482,4.4446c-0.8791,1.3156 -2.1285,2.3409 -3.5903,2.9464c-1.46184,0.6055 -3.07037,0.764 -4.62222,0.4553c-1.55185,-0.3087 -2.97731,-1.0706 -4.09613,-2.1894c-1.11882,-1.1189 -1.88075,-2.5443 -2.18943,-4.09618c-0.30868,-1.55185 -0.15025,-3.16038 0.45525,-4.62219c0.6055,-1.46181 1.63088,-2.71124 2.94647,-3.59029c1.31559,-0.87905 2.86231,-1.34824 4.44456,-1.34824z\",\n },\n}\n\n// ATTENTION: This is a temporary solution to load the icons.\n// This should use the Symbol component from @planningcenter/icons/symbol\n// once we have a way to load the SVGs in a way that doesn't break in\n// other projects.\n\nfunction Icon({\n symbol: s,\n className,\n ...props\n}: { symbol: string } & HTMLAttributes<SVGSVGElement>) {\n const [collection, symbol] = s.split(\"#\") as [\n keyof typeof icons,\n keyof typeof icons.general,\n ]\n if (!isValidCollection(collection)) {\n throw new Error(`Unknown icon collection: ${collection}`)\n }\n\n const fullPath = icons[collection][symbol]\n\n return (\n <svg role=\"img\" className={classNames(\"symbol\", className)} {...props}>\n <path d={fullPath} />\n </svg>\n )\n}\n\nexport default Icon\n\nfunction isValidCollection(\n collection: string\n): collection is keyof typeof icons {\n return collection in icons\n}\n"],"names":[],"mappings":";;;AAGA,MAAM,KAAK,GAAG;AACZ,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EACZ,miBAAmiB;AACriB,QAAA,YAAY,EAAE,mBAAmB;AACjC,QAAA,sBAAsB,EACpB,grBAAgrB;AAClrB,QAAA,aAAa,EACX,ygBAAygB;AAC5gB,KAAA;CACF;AAED;AACA;AACA;AACA;AAEA,SAAS,IAAI,CAAC,EACZ,MAAM,EAAE,CAAC,EACT,SAAS,EACT,GAAG,KAAK,EAC2C,EAAA;AACnD,IAAA,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAGvC;AACD,IAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE;AAClC,QAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,CAAA,CAAE,CAAC;IAC3D;IAEA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;AAE1C,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,IAAI,EAAC,KAAK,EAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA;AACnE,QAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAE,QAAQ,EAAA,CAAI,CACjB;AAEV;AAIA,SAAS,iBAAiB,CACxB,UAAkB,EAAA;IAElB,OAAO,UAAU,IAAI,KAAK;AAC5B;;;;"}
1
+ {"version":3,"file":"Icon.js","sources":["../../src/utilities/Icon.tsx"],"sourcesContent":["import general from \"@planningcenter/icons/sprites/general.svg\"\nimport { Symbol } from \"@planningcenter/icons/symbol\"\nimport React, { HTMLAttributes } from \"react\"\n\n// Registry of valid sprite sheet collections\n// We will add the other collections here when we / if we make this more publicly available\nconst validCollections = {\n general,\n} as const\n\ntype CollectionName = keyof typeof validCollections\n\nfunction isValidCollection(collection: string): collection is CollectionName {\n return collection in validCollections\n}\n\nfunction Icon({\n symbol: s,\n className,\n ...props\n}: { symbol: string } & HTMLAttributes<SVGSVGElement>) {\n const [collection, symbol] = s.split(\"#\") as [CollectionName, string]\n\n if (!isValidCollection(collection)) {\n throw new Error(\n `Unknown icon collection: ${collection}. Available collections: ${Object.keys(validCollections).join(\", \")}`\n )\n }\n\n const spriteSheet = validCollections[collection]\n return (\n <Symbol\n symbol={`${spriteSheet}#${symbol}`}\n className={className}\n {...props}\n />\n )\n}\n\nexport default Icon\n"],"names":[],"mappings":";;;;AAIA;AACA;AACA,MAAM,gBAAgB,GAAG;IACvB,OAAO;CACC;AAIV,SAAS,iBAAiB,CAAC,UAAkB,EAAA;IAC3C,OAAO,UAAU,IAAI,gBAAgB;AACvC;AAEA,SAAS,IAAI,CAAC,EACZ,MAAM,EAAE,CAAC,EACT,SAAS,EACT,GAAG,KAAK,EAC2C,EAAA;AACnD,IAAA,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAA6B;AAErE,IAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE;AAClC,QAAA,MAAM,IAAI,KAAK,CACb,4BAA4B,UAAU,CAAA,yBAAA,EAA4B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CAC7G;IACH;AAEA,IAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC;AAChD,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,MAAM,IACL,MAAM,EAAE,GAAG,WAAW,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,EAClC,SAAS,EAAE,SAAS,KAChB,KAAK,EAAA,CACT;AAEN;;;;"}
@@ -0,0 +1,2 @@
1
+ export declare function useId(): number;
2
+ //# sourceMappingURL=useId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useId.d.ts","sourceRoot":"","sources":["../../src/utilities/useId.ts"],"names":[],"mappings":"AAKA,wBAAgB,KAAK,WAMpB"}
@@ -0,0 +1,14 @@
1
+ import { useRef } from 'react';
2
+
3
+ let idCounter = 0;
4
+ // Switch to React.useId when all products are on React 18
5
+ function useId() {
6
+ const idRef = useRef(null);
7
+ if (idRef.current === null) {
8
+ idRef.current = idCounter++;
9
+ }
10
+ return idRef.current;
11
+ }
12
+
13
+ export { useId };
14
+ //# sourceMappingURL=useId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useId.js","sources":["../../src/utilities/useId.ts"],"sourcesContent":["import { useRef } from \"react\"\n\nlet idCounter = 0\n\n// Switch to React.useId when all products are on React 18\nexport function useId() {\n const idRef = useRef<number | null>(null)\n if (idRef.current === null) {\n idRef.current = idCounter++\n }\n return idRef.current\n}\n"],"names":[],"mappings":";;AAEA,IAAI,SAAS,GAAG,CAAC;AAEjB;SACgB,KAAK,GAAA;AACnB,IAAA,MAAM,KAAK,GAAG,MAAM,CAAgB,IAAI,CAAC;AACzC,IAAA,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE;AAC1B,QAAA,KAAK,CAAC,OAAO,GAAG,SAAS,EAAE;IAC7B;IACA,OAAO,KAAK,CAAC,OAAO;AACtB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planningcenter/tapestry",
3
- "version": "3.0.0-rc.8",
3
+ "version": "3.0.0",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,16 +8,15 @@
8
8
  "directory": "packages/tapestry"
9
9
  },
10
10
  "scripts": {
11
- "prepare": "yarn build:tokens && yarn build",
11
+ "prepare": "[ -d dist ] || yarn build",
12
12
  "prebuild": "rimraf dist",
13
- "build": "yarn build:tokens && rollup -c",
13
+ "build": "rollup -c && tsc-alias -p tsconfig.build.json",
14
14
  "build:storybook": "storybook build",
15
- "build:tokens": "node ./src/tokens/style-dictionary.build.js",
16
15
  "storybook": "storybook dev -p 6006",
17
16
  "test": "vitest run",
18
- "test:visual": "npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn storybook --quiet\" \"npx wait-on tcp:127.0.0.1:6006 && yarn test-storybook\"",
17
+ "test:visual": "bash scripts/docker-visual-test.sh",
19
18
  "test:visual:clean": "node scripts/clean-unused-snapshots.js",
20
- "test:visual:update": "npm run test:visual:clean && npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn storybook --quiet\" \"npx wait-on tcp:127.0.0.1:6006 && yarn test-storybook -u\""
19
+ "test:visual:update": "bash scripts/docker-visual-test.sh --update"
21
20
  },
22
21
  "peerDependencies": {
23
22
  "react": "^17 || ^18 || ^19",
@@ -39,26 +38,28 @@
39
38
  "./unstable.css": "./dist/unstable.css",
40
39
  "./tokens.css": "./dist/tokens.css",
41
40
  "./tokens-dark.css": "./dist/tokens-dark.css",
41
+ "./tokens-deprecated.css": "./dist/tokens-deprecated.css",
42
42
  "./deprecated.css": "./dist/deprecated.css",
43
43
  "./tokens-deprecated.json": "./dist/tokens/tokens-deprecated.json",
44
44
  "./product-tokens/*": "./dist/product-tokens/*",
45
45
  "./print.css": "./dist/print.css",
46
- "./print-no-media-queries.css": "./dist/print-no-media-queries.css"
46
+ "./print-no-media-queries.css": "./dist/print-no-media-queries.css",
47
+ "./tapestry-reset.css": "./dist/tapestry-reset.css"
47
48
  },
48
49
  "types": "./dist/index.d.ts",
49
50
  "devDependencies": {
50
- "@planningcenter/tapestry-render": "^2.6.0",
51
+ "@planningcenter/tapestry-render": "^3.0.0",
51
52
  "@rollup/plugin-commonjs": "^26.0.1",
52
53
  "@rollup/plugin-node-resolve": "^16.0.3",
53
54
  "@rollup/plugin-typescript": "^12.3.0",
54
- "@storybook/addon-a11y": "^9.1.10",
55
- "@storybook/addon-docs": "^9.1.10",
56
- "@storybook/addon-links": "^9.1.10",
57
- "@storybook/addon-onboarding": "^9.1.10",
58
- "@storybook/cli": "^9.1.10",
59
- "@storybook/react-vite": "^9.1.10",
55
+ "@storybook/addon-a11y": "9.1.17",
56
+ "@storybook/addon-docs": "9.1.17",
57
+ "@storybook/addon-links": "9.1.17",
58
+ "@storybook/addon-onboarding": "9.1.17",
59
+ "@storybook/cli": "9.1.19",
60
+ "@storybook/react-vite": "9.1.17",
60
61
  "@storybook/test-runner": "^0.23.0",
61
- "@storybook/web-components-vite": "^9.1.10",
62
+ "@storybook/web-components-vite": "9.1.17",
62
63
  "@testing-library/dom": "^10.4.0",
63
64
  "@testing-library/jest-dom": "^6.5.0",
64
65
  "@testing-library/react": "^16.0.1",
@@ -70,6 +71,7 @@
70
71
  "@vitejs/plugin-react-swc": "^3.5.0",
71
72
  "autoprefixer": "^10.4.21",
72
73
  "bootstrap": "5.3.0",
74
+ "glob": "^13.0.0",
73
75
  "jest-image-snapshot": "^6.4.0",
74
76
  "jsdom": "^25.0.0",
75
77
  "playwright": "^1.51.1",
@@ -91,17 +93,19 @@
91
93
  "rollup-plugin-postcss": "^4.0.2",
92
94
  "rollup-plugin-rename-node-modules": "^1.3.1",
93
95
  "shadow-dom-testing-library": "^1.11.3",
94
- "storybook": "^9.1.10",
96
+ "storybook": "9.1.19",
95
97
  "style-dictionary": "^4.2.0",
96
- "tapestry-wc": "^2.4.0",
98
+ "tapestry-wc": "^3.0.0",
99
+ "tsc-alias": "^1.8.16",
97
100
  "typescript": "^5.5.3",
98
101
  "vite": "^6.4.1",
99
102
  "vitest": "^3.0.0"
100
103
  },
101
104
  "dependencies": {
102
- "@planningcenter/icons": "^15.24.1",
105
+ "@planningcenter/icons": "^15.29.0",
106
+ "@planningcenter/tapestry-tokens": "^3.0.0",
103
107
  "classnames": "^2.5.1",
104
108
  "lodash": "^4.17.21"
105
109
  },
106
- "gitHead": "146786a4a3e8e70db7030824e97c8472fbc977fb"
110
+ "gitHead": "1168860ff16c9ebb3429e377890b2df78deeee2f"
107
111
  }
@@ -28,24 +28,24 @@ declare global {
28
28
  * @cssprop --tds-page-header-nav-background - Background color of the navigation, gradient on mobile. Overrides are not recommended.
29
29
  * @cssprop --tds-page-header-nav-item-padding-x: {var(--t-spacing-1)} - Horizontal padding for the tab.
30
30
  * @cssprop --tds-page-header-nav-item-padding-y: {var(--t-spacing-1)} - Vertical padding for the tab.
31
- * @cssprop --tds-page-header-nav-item-color: {var(--t-text-color-default-primary)} - Text color for the tab.
31
+ * @cssprop --tds-page-header-nav-item-color: {var(--t-text-color)} - Text color for the tab.
32
32
  * @cssprop --tds-page-header-nav-item-background-color: {var(--t-fill-color-transparency-light-060)} - Background color for the tab.
33
33
  * @cssprop --tds-page-header-nav-item-border-width: {0} - Border width for the tab.
34
34
  * @cssprop --tds-page-header-nav-item-border-color: {var(--tds-page-header-nav-item-background-color)} - Border color for the tab.
35
- * @cssprop --tds-page-header-nav-item-border-bottom-color: {var(--t-border-color-default-base)} - Border bottom color for the tab.
35
+ * @cssprop --tds-page-header-nav-item-border-bottom-color: {var(--t-border-color)} - Border bottom color for the tab.
36
36
  * @cssprop --tds-page-header-nav-item-color-hover: {var(--tds-page-header-nav-item-color)} - Text color for the tab on hover.
37
37
  * @cssprop --tds-page-header-nav-item-background-color-hover: {var(--t-fill-color-neutral-080)} - Background color for the tab on hover.
38
38
  * @cssprop --tds-page-header-nav-item-border-color-hover: {var(--tds-page-header-nav-item-background-color-hover)} - Border color for the tab on hover.
39
39
  * @cssprop --tds-page-header-nav-item-background-color-active: {var(--t-fill-color-neutral-060)} - Background color for the tab on active.
40
40
  * @cssprop --tds-page-header-nav-item-border-color-active: {var(--tds-page-header-nav-item-background-color-hover)} - Border color for the tab on active.
41
- * @cssprop --tds-page-header-nav-item-color-disabled: {var(--t-text-color-default-disabled)} - Text color for the tab on disabled.
41
+ * @cssprop --tds-page-header-nav-item-color-disabled: {var(--t-text-color-disabled)} - Text color for the tab on disabled.
42
42
  * @cssprop --tds-page-header-nav-item-background-color-disabled: {var(--t-fill-color-neutral-080)} - Background color for the tab on disabled.
43
43
  * @cssprop --tds-page-header-nav-item-border-color-disabled: {var(--tds-page-header-nav-item-background-color-disabled)} - Border color for the tab on disabled.
44
- * @cssprop --tds-page-header-nav-item-color-selected: {var(--t-text-color-default-primary)} - Text color for the tab on selected.
45
- * @cssprop --tds-page-header-nav-item-border-color-selected: {var(--t-border-color-default-base)} - Border color for the tab on selected.
44
+ * @cssprop --tds-page-header-nav-item-color-selected: {var(--t-text-color)} - Text color for the tab on selected.
45
+ * @cssprop --tds-page-header-nav-item-border-color-selected: {var(--t-border-color)} - Border color for the tab on selected.
46
46
  * @cssprop --tds-page-header-nav-item-background-color-selected: {var(--t-fill-color-neutral-100)} - Background color for the tab on selected.
47
47
  * @cssprop --tds-page-header-nav-item-border-bottom-color-selected: {var(--tds-page-header-nav-item-background-color-selected)} - Border bottom color for the tab on selected.
48
- * @cssprop --tds-page-header-nav-item-indicator-color: {var(--t-icon-color-status-warning-primary)} - Color for the indicator.
48
+ * @cssprop --tds-page-header-nav-item-indicator-color: {var(--t-icon-color-status-warning)} - Color for the indicator.
49
49
  */
50
50
  "tds-page-header": {
51
51
  /**
@@ -101,8 +101,8 @@ Please refer to each component's documentation for more information on how to us
101
101
  * @cssprop --tds-sidenav-item-nested-border-color - Border color for nested items (default: var(--t-fill-color-neutral-050))
102
102
  * @cssprop --tds-sidenav-item-nested-border-color-hover - Border color for nested items in hover state (default: var(--t-fill-color-neutral-010))
103
103
  * @cssprop --tds-sidenav-item-nested-border-color-selected - Border color for nested items in selected state (default: var(--t-fill-color-neutral-010))
104
- * @cssprop --tds-sidenav-item-icon-color - Color for item icons (default: var(--t-icon-color-default-secondary))
105
- * @cssprop --tds-sidenav-item-icon-color-selected - Color for selected item icons (default: var(--t-icon-color-default-primary))
104
+ * @cssprop --tds-sidenav-item-icon-color - Color for item icons (default: var(--t-icon-color-secondary))
105
+ * @cssprop --tds-sidenav-item-icon-color-selected - Color for selected item icons (default: var(--t-icon-color))
106
106
  * @cssprop --tds-sidenav-indent - Internal: The indentation spacing for nested items (default: 12px)
107
107
  * @cssprop --tds-sidenav-item-depth - Internal: The current nesting depth of items (default: 0)
108
108
  * @cssprop --tds-sidenav-item-transition - Internal: The transition timing for item state changes (default: background-color .2s cubic-bezier(.19, .91, .38, 1))
@@ -0,0 +1,7 @@
1
+ import "react"
2
+
3
+ declare module "react" {
4
+ interface HTMLAttributes<T> {
5
+ popover?: "auto" | "manual" | "" | null
6
+ }
7
+ }