@nimbus-ds/collapsible 1.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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # Changelog
2
+
3
+ The Collapsible is a component that can hid and show another component when a event is triggered from a button or a link.
4
+
5
+ ## 2024-02-28 `1.0.0`
6
+
7
+ ### 🎉 New features
8
+
9
+ - Created new `Collapsible.Body` and `Collapsible.Item` subcomponents. ([#19](https://github.com/TiendaNube/nimbus-design-system/pull/222) by [@vrlopess](https://github.com/vrlopess))
10
+
11
+ - Added stories on Component `Collapsible`. ([#19](https://github.com/TiendaNube/nimbus-design-system/pull/222) by [@juniorconquista](https://github.com/vrlopess))
12
+
13
+ - Created new `Collapsible` component. ([#19](https://github.com/TiendaNube/nimbus-design-system/pull/222) by [@vrlopess](https://github.com/vrlopess))
package/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # `@nimbus-ds/collapsible`
2
+
3
+ [![@nimbus-ds/collapsible](https://img.shields.io/npm/v/@nimbus-ds/collapsible?label=%40nimbus-ds%2Fcollapsible)](https://www.npmjs.com/package/@nimbus-ds/collapsible)
4
+
5
+ The Collapsible is a component that can hid and show another component when a event is triggered from a button or a link.
6
+
7
+ ## Installation
8
+
9
+ ```sh
10
+ $ yarn add @nimbus-ds/collapsible
11
+ # or
12
+ $ npm install @nimbus-ds/collapsible
13
+ ```
14
+
15
+ ### Component Anatomy
16
+
17
+ The component consists of a Item, Body and a container that can encapsulate the logic of hide and show some stuff.
18
+
19
+ ## Guidelines
20
+
21
+ We use Collapsible to hide some content and show it only when a open event is triggered
22
+
23
+ ### Recommendations for use
24
+
25
+ - Hide and show a component
26
+ - Display a hint of a text and hide the bigger part of it until the user click on a button
27
+
28
+ ### Related components
29
+
30
+ - Accordion - It is a component allows us to compress content into containers that can be opened or closed.
31
+
32
+ ## Usage
33
+
34
+ View docs [here](https://nimbus.nuvemshop.com.br/documentation/atomic-components/collapsible).
35
+
36
+ <img alt="Nimbus" style="margin-bottom: 30px;" src="https://tiendanube.github.io/design-system-nimbus/static/media/nimbus-logo.ab60bd79.png" height="30" />
@@ -0,0 +1,48 @@
1
+ // Generated by dts-bundle-generator v7.2.0
2
+
3
+ import React from 'react';
4
+ import { HTMLAttributes, ReactNode } from 'react';
5
+
6
+ export interface CollapsibleBodyProperties {
7
+ /**
8
+ * The content of the collapsible body.
9
+ * @TJS-type React.ReactNode
10
+ */
11
+ children: ReactNode;
12
+ /**
13
+ * Show Collapsible.Body when state is open or closed.
14
+ * @default open
15
+ */
16
+ visibleWhen?: "open" | "closed";
17
+ /**
18
+ * Set the direction that Collapsible.Body going to open
19
+ * @default none
20
+ */
21
+ direction?: "top" | "bottom" | "none";
22
+ }
23
+ export type CollapsibleBodyProps = CollapsibleBodyProperties & HTMLAttributes<HTMLElement>;
24
+ declare const CollapsibleBody: React.FC<CollapsibleBodyProps>;
25
+ export interface CollapsibleItemProperties {
26
+ /**
27
+ * The content of the collapsible body.
28
+ * @TJS-type React.ReactNode
29
+ */
30
+ children: ReactNode;
31
+ }
32
+ export type CollapsibleItemProps = CollapsibleItemProperties;
33
+ declare const CollapsibleItem: React.FC<CollapsibleItemProps>;
34
+ export interface CollapsibleComponents {
35
+ Body: typeof CollapsibleBody;
36
+ Item: typeof CollapsibleItem;
37
+ }
38
+ export interface CollapsibleProperties {
39
+ children?: ReactNode;
40
+ open?: boolean;
41
+ }
42
+ export declare const Collapsible: React.FC<CollapsibleProperties> & CollapsibleComponents;
43
+
44
+ export {
45
+ Collapsible as default,
46
+ };
47
+
48
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@nimbus-ds/styles")):"function"==typeof define&&define.amd?define(["react","@nimbus-ds/styles"],t):"object"==typeof exports?exports["@nimbus-ds/collapsible"]=t(require("react"),require("@nimbus-ds/styles")):e["@nimbus-ds/collapsible"]=t(e.react,e["@nimbus-ds/styles"])}(global,((e,t)=>(()=>{"use strict";var r={197:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Collapsible=void 0;const n=r(15).__importStar(r(156)),o=r(209),a=r(79),l=r(596),i=({className:e,style:t,open:r,children:o,...a})=>{const[i,c]=(0,n.useState)(!1);(0,n.useEffect)((()=>{"boolean"==typeof r&&c(r)}),[r]);const s=(0,n.useMemo)((()=>({open:i,onOpen:c})),[i,c]);return n.default.createElement(l.CollapsibleContext.Provider,{value:s},n.default.createElement("div",{...a},o))};t.Collapsible=i,i.Body=o.CollapsibleBody,i.Item=a.CollapsibleItem,i.displayName="Collapsible"},209:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CollapsibleBody=void 0;const n=r(15).__importDefault(r(156)),o=r(990),a=r(337);t.CollapsibleBody=({className:e,style:t,children:r,visibleWhen:l="open",direction:i="none",...c})=>{const{open:s}=(0,a.useCollapsible)(),u=s&&"open"===l||!s&&"closed"===l,f={top:o.collapsible.classnames.bodyReversalAnimation,bottom:o.collapsible.classnames.bodyAnimation,none:o.collapsible.classnames.body};return u?n.default.createElement("div",{...c,className:f[i]},r):null}},79:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CollapsibleItem=void 0;const n=r(15).__importDefault(r(156));t.CollapsibleItem=({children:e,...t})=>n.default.createElement("div",{...t},e)},31:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CollapsibleContext=void 0;const n=r(156);t.CollapsibleContext=(0,n.createContext)({})},856:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CollapsibleContext=void 0;const n=r(31);var o=r(31);Object.defineProperty(t,"CollapsibleContext",{enumerable:!0,get:function(){return o.CollapsibleContext}}),t.default=n.CollapsibleContext},596:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});r(15).__exportStar(r(856),t)},337:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useCollapsible=void 0;var n=r(945);Object.defineProperty(t,"useCollapsible",{enumerable:!0,get:function(){return n.useCollapsible}})},945:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useCollapsible=void 0;const n=r(156),o=r(596);t.useCollapsible=()=>{const e=(0,n.useContext)(o.CollapsibleContext);if(null==e||0===Object.keys(e).length)throw new Error("CollapsibleBody components must be wrapped in <Collapsible />");return e}},15:(e,t,r)=>{r.r(t),r.d(t,{__assign:()=>a,__asyncDelegator:()=>C,__asyncGenerator:()=>P,__asyncValues:()=>x,__await:()=>j,__awaiter:()=>y,__classPrivateFieldGet:()=>M,__classPrivateFieldIn:()=>D,__classPrivateFieldSet:()=>A,__createBinding:()=>_,__decorate:()=>i,__esDecorate:()=>s,__exportStar:()=>v,__extends:()=>o,__generator:()=>b,__importDefault:()=>I,__importStar:()=>T,__makeTemplateObject:()=>S,__metadata:()=>d,__param:()=>c,__propKey:()=>f,__read:()=>h,__rest:()=>l,__runInitializers:()=>u,__setFunctionName:()=>p,__spread:()=>w,__spreadArray:()=>g,__spreadArrays:()=>O,__values:()=>m,default:()=>k});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function l(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function i(e,t,r,n){var o,a=arguments.length,l=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(l=(a<3?o(l):a>3?o(t,r,l):o(t,r))||l);return a>3&&l&&Object.defineProperty(t,r,l),l}function c(e,t){return function(r,n){t(r,n,e)}}function s(e,t,r,n,o,a){function l(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var i,c=n.kind,s="getter"===c?"get":"setter"===c?"set":"value",u=!t&&e?n.static?e:e.prototype:null,f=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),p=!1,d=r.length-1;d>=0;d--){var y={};for(var b in n)y[b]="access"===b?{}:n[b];for(var b in n.access)y.access[b]=n.access[b];y.addInitializer=function(e){if(p)throw new TypeError("Cannot add initializers after decoration has completed");a.push(l(e||null))};var _=(0,r[d])("accessor"===c?{get:f.get,set:f.set}:f[s],y);if("accessor"===c){if(void 0===_)continue;if(null===_||"object"!=typeof _)throw new TypeError("Object expected");(i=l(_.get))&&(f.get=i),(i=l(_.set))&&(f.set=i),(i=l(_.init))&&o.unshift(i)}else(i=l(_))&&("field"===c?o.unshift(i):f[s]=i)}u&&Object.defineProperty(u,n.name,f),p=!0}function u(e,t,r){for(var n=arguments.length>2,o=0;o<t.length;o++)r=n?t[o].call(e,r):t[o].call(e);return n?r:void 0}function f(e){return"symbol"==typeof e?e:"".concat(e)}function p(e,t,r){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:r?"".concat(r," ",t):t})}function d(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function y(e,t,r,n){return new(r||(r=Promise))((function(o,a){function l(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(l,i)}c((n=n.apply(e,t||[])).next())}))}function b(e,t){var r,n,o,a,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(i){return function(c){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,i[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(o=l.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){l=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){l.label=i[1];break}if(6===i[0]&&l.label<o[1]){l.label=o[1],o=i;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(i);break}o[2]&&l.ops.pop(),l.trys.pop();continue}i=t.call(e,l)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}var _=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]};function v(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||_(t,e,r)}function m(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)l.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return l}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}function O(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var a=arguments[t],l=0,i=a.length;l<i;l++,o++)n[o]=a[l];return n}function g(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))}function j(e){return this instanceof j?(this.v=e,this):new j(e)}function P(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,o=r.apply(e,t||[]),a=[];return n={},l("next"),l("throw"),l("return"),n[Symbol.asyncIterator]=function(){return this},n;function l(e){o[e]&&(n[e]=function(t){return new Promise((function(r,n){a.push([e,t,r,n])>1||i(e,t)}))})}function i(e,t){try{(r=o[e](t)).value instanceof j?Promise.resolve(r.value.v).then(c,s):u(a[0][2],r)}catch(e){u(a[0][3],e)}var r}function c(e){i("next",e)}function s(e){i("throw",e)}function u(e,t){e(t),a.shift(),a.length&&i(a[0][0],a[0][1])}}function C(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:j(e[n](t)),done:!1}:o?o(t):t}:o}}function x(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=m(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,o,(t=e[r](t)).done,t.value)}))}}}function S(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var E=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function T(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&_(t,e,r);return E(t,e),t}function I(e){return e&&e.__esModule?e:{default:e}}function M(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function A(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function D(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}const k={__extends:o,__assign:a,__rest:l,__decorate:i,__param:c,__metadata:d,__awaiter:y,__generator:b,__createBinding:_,__exportStar:v,__values:m,__read:h,__spread:w,__spreadArrays:O,__spreadArray:g,__await:j,__asyncGenerator:P,__asyncDelegator:C,__asyncValues:x,__makeTemplateObject:S,__importStar:T,__importDefault:I,__classPrivateFieldGet:M,__classPrivateFieldSet:A,__classPrivateFieldIn:D}},990:e=>{e.exports=t},156:t=>{t.exports=e}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={exports:{}};return r[e](a,a.exports,o),a.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{var e=a;Object.defineProperty(e,"__esModule",{value:!0}),e.Collapsible=void 0;const t=o(197);var r=o(197);Object.defineProperty(e,"Collapsible",{enumerable:!0,get:function(){return r.Collapsible}}),e.default=t.Collapsible})(),a})()));
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@nimbus-ds/collapsible",
3
+ "version": "1.0.0",
4
+ "license": "MIT",
5
+ "main": "dist/index.js",
6
+ "files": [
7
+ "dist",
8
+ "README.md"
9
+ ],
10
+ "sideEffects": false,
11
+ "scripts": {
12
+ "build": "yarn g:webpack",
13
+ "clean": "rm -rf dist",
14
+ "version": "yarn version"
15
+ },
16
+ "peerDependencies": {
17
+ "react": "^16.8 || ^17.0 || ^18.0",
18
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
19
+ },
20
+ "homepage": "https://nimbus.nuvemshop.com.br/documentation",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/TiendaNube/nimbus-design-system.git"
24
+ },
25
+ "bugs": {
26
+ "url": "https://github.com/TiendaNube/nimbus-design-system/issues"
27
+ },
28
+ "devDependencies": {
29
+ "@nimbus-ds/webpack": "^1.4.0",
30
+ "@vanilla-extract/dynamic": "^2.0.3"
31
+ }
32
+ }